@murphai/murph 0.2.13 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1069) hide show
  1. package/CHANGELOG.md +752 -0
  2. package/config.schema.json +1294 -333
  3. package/dist/cli-entry.d.ts.map +1 -1
  4. package/dist/cli-entry.js +12 -1
  5. package/dist/cli-entry.js.map +1 -1
  6. package/dist/commands/automation.d.ts +4 -12
  7. package/dist/commands/automation.d.ts.map +1 -1
  8. package/dist/commands/capture.d.ts +12 -0
  9. package/dist/commands/capture.d.ts.map +1 -0
  10. package/dist/commands/capture.js +198 -0
  11. package/dist/commands/capture.js.map +1 -0
  12. package/dist/commands/device.d.ts.map +1 -1
  13. package/dist/commands/device.js +7 -6
  14. package/dist/commands/device.js.map +1 -1
  15. package/dist/commands/entity-command-groups.d.ts +1 -0
  16. package/dist/commands/entity-command-groups.d.ts.map +1 -1
  17. package/dist/commands/entity-command-groups.js +1 -0
  18. package/dist/commands/entity-command-groups.js.map +1 -1
  19. package/dist/commands/experiment.d.ts.map +1 -1
  20. package/dist/commands/experiment.js +244 -108
  21. package/dist/commands/experiment.js.map +1 -1
  22. package/dist/commands/export-intake-read-helpers.d.ts +2 -2
  23. package/dist/commands/food.d.ts.map +1 -1
  24. package/dist/commands/food.js +22 -2
  25. package/dist/commands/food.js.map +1 -1
  26. package/dist/commands/inbox.d.ts.map +1 -1
  27. package/dist/commands/inbox.js +88 -16
  28. package/dist/commands/inbox.js.map +1 -1
  29. package/dist/commands/meal.d.ts.map +1 -1
  30. package/dist/commands/meal.js +12 -1
  31. package/dist/commands/meal.js.map +1 -1
  32. package/dist/commands/measurement.d.ts +12 -0
  33. package/dist/commands/measurement.d.ts.map +1 -0
  34. package/dist/commands/measurement.js +205 -0
  35. package/dist/commands/measurement.js.map +1 -0
  36. package/dist/commands/model.d.ts.map +1 -1
  37. package/dist/commands/model.js +14 -3
  38. package/dist/commands/model.js.map +1 -1
  39. package/dist/commands/sample-import-command-helpers.d.ts +30 -3
  40. package/dist/commands/sample-import-command-helpers.d.ts.map +1 -1
  41. package/dist/commands/sample-import-command-helpers.js +37 -10
  42. package/dist/commands/sample-import-command-helpers.js.map +1 -1
  43. package/dist/commands/samples.js +5 -5
  44. package/dist/commands/samples.js.map +1 -1
  45. package/dist/commands/scheduled-log.d.ts +639 -0
  46. package/dist/commands/scheduled-log.d.ts.map +1 -0
  47. package/dist/commands/scheduled-log.js +185 -0
  48. package/dist/commands/scheduled-log.js.map +1 -0
  49. package/dist/commands/sync.d.ts +17 -0
  50. package/dist/commands/sync.d.ts.map +1 -0
  51. package/dist/commands/sync.js +156 -0
  52. package/dist/commands/sync.js.map +1 -0
  53. package/dist/commands/wearables.d.ts +10607 -0
  54. package/dist/commands/wearables.d.ts.map +1 -1
  55. package/dist/commands/wearables.js +285 -3
  56. package/dist/commands/wearables.js.map +1 -1
  57. package/dist/commands/workout.d.ts.map +1 -1
  58. package/dist/commands/workout.js +4 -129
  59. package/dist/commands/workout.js.map +1 -1
  60. package/dist/incur.generated.d.ts +314 -53
  61. package/dist/incur.generated.d.ts.map +1 -1
  62. package/dist/mapbox-route-directions.d.ts.map +1 -1
  63. package/dist/mapbox-route-directions.js +36 -2
  64. package/dist/mapbox-route-directions.js.map +1 -1
  65. package/dist/vault-cli-command-manifest.d.ts +10779 -56
  66. package/dist/vault-cli-command-manifest.d.ts.map +1 -1
  67. package/dist/vault-cli-command-manifest.js +170 -21
  68. package/dist/vault-cli-command-manifest.js.map +1 -1
  69. package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.d.ts.map +1 -1
  70. package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.js +1 -0
  71. package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.js.map +1 -1
  72. package/node_modules/@murphai/assistant-cli/dist/assistant/doctor-security.js.map +1 -1
  73. package/node_modules/@murphai/assistant-cli/dist/assistant/doctor.js.map +1 -1
  74. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +5 -27
  75. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
  76. package/node_modules/@murphai/assistant-cli/dist/assistant/service.js.map +1 -1
  77. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.d.ts.map +1 -1
  78. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js +1 -0
  79. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js.map +1 -1
  80. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts +2 -0
  81. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts.map +1 -1
  82. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js +9 -1
  83. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
  84. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.d.ts +1 -1
  85. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.d.ts.map +1 -1
  86. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.js +1 -1
  87. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.js.map +1 -1
  88. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.d.ts +3 -2
  89. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.d.ts.map +1 -1
  90. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js +7 -3
  91. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js.map +1 -1
  92. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.d.ts.map +1 -1
  93. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js +84 -46
  94. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
  95. package/node_modules/@murphai/assistant-cli/package.json +1 -12
  96. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.d.ts +5 -0
  97. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.d.ts.map +1 -0
  98. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.js +135 -0
  99. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.js.map +1 -0
  100. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts +2 -0
  101. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts.map +1 -1
  102. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js +7 -1
  103. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js.map +1 -1
  104. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.d.ts +1 -0
  105. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.d.ts.map +1 -1
  106. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.js +33 -5
  107. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.js.map +1 -1
  108. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +4 -0
  109. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts.map +1 -1
  110. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js +13 -14
  111. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js.map +1 -1
  112. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js +1 -1
  113. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js.map +1 -1
  114. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts +4 -0
  115. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
  116. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +157 -58
  117. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
  118. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/routing.d.ts.map +1 -1
  119. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/routing.js +21 -3
  120. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/routing.js.map +1 -1
  121. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts +3 -1
  122. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
  123. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +17 -3
  124. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
  125. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts +2 -0
  126. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts.map +1 -1
  127. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js +4 -0
  128. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js.map +1 -1
  129. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +4 -0
  130. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
  131. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js +5 -2
  132. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
  133. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts +2 -0
  134. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts.map +1 -1
  135. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js +1 -0
  136. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js.map +1 -1
  137. package/node_modules/@murphai/assistant-engine/dist/assistant/automation-state.d.ts.map +1 -1
  138. package/node_modules/@murphai/assistant-engine/dist/assistant/automation-state.js +1 -0
  139. package/node_modules/@murphai/assistant-engine/dist/assistant/automation-state.js.map +1 -1
  140. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts +1 -0
  141. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts.map +1 -1
  142. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js +1 -0
  143. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js.map +1 -1
  144. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts +1 -1
  145. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts.map +1 -1
  146. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js +1 -1
  147. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js.map +1 -1
  148. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.d.ts.map +1 -1
  149. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js +120 -9
  150. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js.map +1 -1
  151. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts +9 -0
  152. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts.map +1 -1
  153. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js +32 -1
  154. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js.map +1 -1
  155. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.d.ts +2 -2
  156. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.d.ts.map +1 -1
  157. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js +2 -2
  158. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js.map +1 -1
  159. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts.map +1 -1
  160. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js +91 -10
  161. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js.map +1 -1
  162. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts +14 -1
  163. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts.map +1 -1
  164. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.js.map +1 -1
  165. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.d.ts +2 -2
  166. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.d.ts.map +1 -1
  167. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.js +44 -8
  168. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.js.map +1 -1
  169. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts +32 -1
  170. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts.map +1 -1
  171. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js +33 -7
  172. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js.map +1 -1
  173. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.d.ts +20 -0
  174. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.d.ts.map +1 -0
  175. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.js +117 -0
  176. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.js.map +1 -0
  177. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js +1 -1
  178. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js.map +1 -1
  179. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts +3 -38
  180. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts.map +1 -1
  181. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js +6 -147
  182. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js.map +1 -1
  183. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.d.ts +22 -0
  184. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.d.ts.map +1 -0
  185. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.js +45 -0
  186. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.js.map +1 -0
  187. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +13 -2
  188. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts.map +1 -1
  189. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js +67 -3
  190. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js.map +1 -1
  191. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
  192. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +154 -197
  193. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js.map +1 -1
  194. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +2 -2
  195. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
  196. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +8 -5
  197. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
  198. package/node_modules/@murphai/assistant-engine/dist/assistant/diagnostics.js.map +1 -1
  199. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +20 -0
  200. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts.map +1 -1
  201. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js +70 -0
  202. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
  203. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.d.ts.map +1 -1
  204. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js +1 -2
  205. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js.map +1 -1
  206. package/node_modules/@murphai/assistant-engine/dist/assistant/failover.d.ts.map +1 -1
  207. package/node_modules/@murphai/assistant-engine/dist/assistant/failover.js +14 -8
  208. package/node_modules/@murphai/assistant-engine/dist/assistant/failover.js.map +1 -1
  209. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.d.ts.map +1 -1
  210. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.js +2 -7
  211. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.js.map +1 -1
  212. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact.js.map +1 -1
  213. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts +33 -0
  214. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts.map +1 -0
  215. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js +225 -0
  216. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js.map +1 -0
  217. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts +1 -2
  218. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
  219. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +46 -12
  220. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
  221. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js +5 -5
  222. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -1
  223. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +22 -1
  224. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
  225. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +248 -18
  226. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
  227. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +33 -0
  228. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts.map +1 -1
  229. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js +158 -7
  230. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -1
  231. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts +5 -1
  232. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts.map +1 -1
  233. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js +5 -0
  234. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js.map +1 -1
  235. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts +3 -0
  236. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts.map +1 -1
  237. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js +16 -0
  238. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js.map +1 -1
  239. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts +9 -1
  240. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
  241. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +68 -16
  242. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
  243. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +63 -3
  244. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
  245. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +271 -94
  246. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
  247. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts +5 -5
  248. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts.map +1 -1
  249. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js +6 -11
  250. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js.map +1 -1
  251. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts +3 -3
  252. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts.map +1 -1
  253. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js +7 -6
  254. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js.map +1 -1
  255. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.d.ts +2 -2
  256. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.d.ts.map +1 -1
  257. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js +20 -12
  258. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js.map +1 -1
  259. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts +1 -4
  260. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts.map +1 -1
  261. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js +2 -13
  262. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js.map +1 -1
  263. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts +15 -2
  264. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts.map +1 -1
  265. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js +140 -32
  266. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js.map +1 -1
  267. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
  268. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +19 -12
  269. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
  270. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts.map +1 -1
  271. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js +60 -18
  272. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js.map +1 -1
  273. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.d.ts +34 -0
  274. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.d.ts.map +1 -1
  275. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js +268 -48
  276. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js.map +1 -1
  277. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.d.ts +5 -5
  278. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.d.ts.map +1 -1
  279. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js +15 -9
  280. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js.map +1 -1
  281. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +4 -0
  282. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
  283. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js.map +1 -1
  284. package/node_modules/@murphai/assistant-engine/dist/assistant/quarantine.js.map +1 -1
  285. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts.map +1 -1
  286. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js +0 -6
  287. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js.map +1 -1
  288. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts.map +1 -1
  289. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js +2 -8
  290. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js.map +1 -1
  291. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.d.ts.map +1 -1
  292. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.js +30 -1
  293. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.js.map +1 -1
  294. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +15 -6
  295. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
  296. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts +1 -1
  297. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts.map +1 -1
  298. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +5 -0
  299. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js.map +1 -1
  300. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
  301. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +8 -1
  302. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
  303. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts +7 -31
  304. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts.map +1 -1
  305. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js +2 -8
  306. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js.map +1 -1
  307. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.d.ts.map +1 -1
  308. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js +38 -24
  309. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
  310. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
  311. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js.map +1 -1
  312. package/node_modules/@murphai/assistant-engine/dist/assistant/status.js.map +1 -1
  313. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts +4 -1
  314. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts.map +1 -1
  315. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.js +38 -0
  316. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.js.map +1 -1
  317. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts +6 -0
  318. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts.map +1 -1
  319. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js +102 -12
  320. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js.map +1 -1
  321. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +1 -1
  322. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
  323. package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
  324. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +4 -8
  325. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js.map +1 -1
  326. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +7 -1
  327. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
  328. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +103 -40
  329. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
  330. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
  331. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +1 -14
  332. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
  333. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts +60 -0
  334. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.map +1 -0
  335. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.js +124 -0
  336. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.js.map +1 -0
  337. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.d.ts +18 -0
  338. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.d.ts.map +1 -1
  339. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.js +56 -10
  340. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.js.map +1 -1
  341. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts.map +1 -1
  342. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js +6 -2
  343. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js.map +1 -1
  344. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts +45 -0
  345. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts.map +1 -0
  346. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js +136 -0
  347. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js.map +1 -0
  348. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-overview.js +3 -1
  349. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-overview.js.map +1 -1
  350. package/node_modules/@murphai/assistant-engine/dist/assistant/web-search/http.js +1 -1
  351. package/node_modules/@murphai/assistant-engine/dist/assistant/web-search/http.js.map +1 -1
  352. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts +3 -0
  353. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts.map +1 -0
  354. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js +2 -0
  355. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js.map +1 -0
  356. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts +47 -429
  357. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts.map +1 -1
  358. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js +12 -1049
  359. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js.map +1 -1
  360. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.d.ts +17 -0
  361. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.d.ts.map +1 -0
  362. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.js +75 -0
  363. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.js.map +1 -0
  364. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.d.ts +78 -0
  365. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.d.ts.map +1 -0
  366. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.js +95 -0
  367. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.js.map +1 -0
  368. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.d.ts +25 -0
  369. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.d.ts.map +1 -0
  370. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.js +117 -0
  371. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.js.map +1 -0
  372. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.d.ts +5 -0
  373. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.d.ts.map +1 -0
  374. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.js +109 -0
  375. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.js.map +1 -0
  376. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.d.ts +82 -0
  377. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.d.ts.map +1 -0
  378. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.js +355 -0
  379. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.js.map +1 -0
  380. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.d.ts +150 -0
  381. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.d.ts.map +1 -0
  382. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.js +399 -0
  383. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.js.map +1 -0
  384. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.d.ts +40 -0
  385. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.d.ts.map +1 -0
  386. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.js +105 -0
  387. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.js.map +1 -0
  388. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.d.ts.map +1 -1
  389. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js +67 -10
  390. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js.map +1 -1
  391. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
  392. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts +2 -0
  393. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts.map +1 -1
  394. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js +2 -0
  395. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js.map +1 -1
  396. package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js +1 -0
  397. package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js.map +1 -1
  398. package/node_modules/@murphai/assistant-engine/dist/inbox-multimodal.js +5 -0
  399. package/node_modules/@murphai/assistant-engine/dist/inbox-multimodal.js.map +1 -1
  400. package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts +9 -0
  401. package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts.map +1 -1
  402. package/node_modules/@murphai/assistant-engine/dist/model-harness.js +135 -41
  403. package/node_modules/@murphai/assistant-engine/dist/model-harness.js.map +1 -1
  404. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts +3 -2
  405. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts.map +1 -1
  406. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js +20 -4
  407. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js.map +1 -1
  408. package/node_modules/@murphai/assistant-engine/package.json +5 -19
  409. package/node_modules/@murphai/assistantd/dist/client.js.map +1 -1
  410. package/node_modules/@murphai/assistantd/dist/http-protocol.d.ts.map +1 -1
  411. package/node_modules/@murphai/assistantd/dist/http-protocol.js +23 -5
  412. package/node_modules/@murphai/assistantd/dist/http-protocol.js.map +1 -1
  413. package/node_modules/@murphai/assistantd/dist/service.d.ts +1 -1
  414. package/node_modules/@murphai/assistantd/dist/service.d.ts.map +1 -1
  415. package/node_modules/@murphai/assistantd/dist/service.js +1 -1
  416. package/node_modules/@murphai/assistantd/dist/service.js.map +1 -1
  417. package/node_modules/@murphai/assistantd/package.json +1 -9
  418. package/node_modules/@murphai/core/dist/assessment/storage.js.map +1 -1
  419. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
  420. package/node_modules/@murphai/core/dist/automation.js +9 -17
  421. package/node_modules/@murphai/core/dist/automation.js.map +1 -1
  422. package/node_modules/@murphai/core/dist/bank/allergies.d.ts.map +1 -1
  423. package/node_modules/@murphai/core/dist/bank/allergies.js +4 -1
  424. package/node_modules/@murphai/core/dist/bank/allergies.js.map +1 -1
  425. package/node_modules/@murphai/core/dist/bank/conditions.d.ts.map +1 -1
  426. package/node_modules/@murphai/core/dist/bank/conditions.js +4 -1
  427. package/node_modules/@murphai/core/dist/bank/conditions.js.map +1 -1
  428. package/node_modules/@murphai/core/dist/bank/goals.d.ts.map +1 -1
  429. package/node_modules/@murphai/core/dist/bank/goals.js +4 -1
  430. package/node_modules/@murphai/core/dist/bank/goals.js.map +1 -1
  431. package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts.map +1 -1
  432. package/node_modules/@murphai/core/dist/bank/workout-formats.js +18 -16
  433. package/node_modules/@murphai/core/dist/bank/workout-formats.js.map +1 -1
  434. package/node_modules/@murphai/core/dist/constants.d.ts +8 -2
  435. package/node_modules/@murphai/core/dist/constants.d.ts.map +1 -1
  436. package/node_modules/@murphai/core/dist/constants.js +3 -0
  437. package/node_modules/@murphai/core/dist/constants.js.map +1 -1
  438. package/node_modules/@murphai/core/dist/domains/events.d.ts +37 -3
  439. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
  440. package/node_modules/@murphai/core/dist/domains/events.js +239 -15
  441. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
  442. package/node_modules/@murphai/core/dist/domains/experiments.d.ts +8 -1
  443. package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -1
  444. package/node_modules/@murphai/core/dist/domains/experiments.js +13 -0
  445. package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -1
  446. package/node_modules/@murphai/core/dist/event-attachments.d.ts +3 -12
  447. package/node_modules/@murphai/core/dist/event-attachments.d.ts.map +1 -1
  448. package/node_modules/@murphai/core/dist/event-attachments.js +1 -26
  449. package/node_modules/@murphai/core/dist/event-attachments.js.map +1 -1
  450. package/node_modules/@murphai/core/dist/fs.js.map +1 -1
  451. package/node_modules/@murphai/core/dist/history/event-spine.d.ts +1 -0
  452. package/node_modules/@murphai/core/dist/history/event-spine.d.ts.map +1 -1
  453. package/node_modules/@murphai/core/dist/history/event-spine.js +1 -0
  454. package/node_modules/@murphai/core/dist/history/event-spine.js.map +1 -1
  455. package/node_modules/@murphai/core/dist/index.d.ts +6 -3
  456. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
  457. package/node_modules/@murphai/core/dist/index.js +4 -2
  458. package/node_modules/@murphai/core/dist/index.js.map +1 -1
  459. package/node_modules/@murphai/core/dist/mutations.d.ts +6 -2
  460. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
  461. package/node_modules/@murphai/core/dist/mutations.js +26 -4
  462. package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
  463. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +1 -0
  464. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
  465. package/node_modules/@murphai/core/dist/operations/write-batch.js +50 -26
  466. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
  467. package/node_modules/@murphai/core/dist/public-mutations.d.ts +3 -1
  468. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
  469. package/node_modules/@murphai/core/dist/public-mutations.js +11 -1
  470. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
  471. package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -1
  472. package/node_modules/@murphai/core/dist/raw.js +17 -0
  473. package/node_modules/@murphai/core/dist/raw.js.map +1 -1
  474. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts +74 -0
  475. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts.map +1 -0
  476. package/node_modules/@murphai/core/dist/scheduled-logs.js +488 -0
  477. package/node_modules/@murphai/core/dist/scheduled-logs.js.map +1 -0
  478. package/node_modules/@murphai/core/dist/vault-sync.d.ts +104 -0
  479. package/node_modules/@murphai/core/dist/vault-sync.d.ts.map +1 -0
  480. package/node_modules/@murphai/core/dist/vault-sync.js +702 -0
  481. package/node_modules/@murphai/core/dist/vault-sync.js.map +1 -0
  482. package/node_modules/@murphai/core/package.json +2 -6
  483. package/node_modules/@murphai/device-syncd/README.md +46 -6
  484. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
  485. package/node_modules/@murphai/device-syncd/dist/config/env-keys.d.ts +18 -0
  486. package/node_modules/@murphai/device-syncd/dist/config/env-keys.d.ts.map +1 -0
  487. package/node_modules/@murphai/device-syncd/dist/config/env-keys.js +38 -0
  488. package/node_modules/@murphai/device-syncd/dist/config/env-keys.js.map +1 -0
  489. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.d.ts +11 -0
  490. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.d.ts.map +1 -0
  491. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.js +63 -0
  492. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.js.map +1 -0
  493. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts +17 -0
  494. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts.map +1 -0
  495. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js +32 -0
  496. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js.map +1 -0
  497. package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts +65 -0
  498. package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts.map +1 -0
  499. package/node_modules/@murphai/device-syncd/dist/config/provider-env.js +148 -0
  500. package/node_modules/@murphai/device-syncd/dist/config/provider-env.js.map +1 -0
  501. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.d.ts +9 -0
  502. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.d.ts.map +1 -0
  503. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.js +28 -0
  504. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.js.map +1 -0
  505. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +64 -0
  506. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts.map +1 -0
  507. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js +511 -0
  508. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js.map +1 -0
  509. package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts +22 -0
  510. package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts.map +1 -0
  511. package/node_modules/@murphai/device-syncd/dist/config/provider-types.js +2 -0
  512. package/node_modules/@murphai/device-syncd/dist/config/provider-types.js.map +1 -0
  513. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.d.ts +11 -0
  514. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.d.ts.map +1 -0
  515. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js +47 -0
  516. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js.map +1 -0
  517. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts +7 -0
  518. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts.map +1 -0
  519. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js +116 -0
  520. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js.map +1 -0
  521. package/node_modules/@murphai/device-syncd/dist/config.d.ts +11 -17
  522. package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
  523. package/node_modules/@murphai/device-syncd/dist/config.js +24 -244
  524. package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
  525. package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts.map +1 -1
  526. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +2 -83
  527. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -1
  528. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +0 -1
  529. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
  530. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +41 -34
  531. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
  532. package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -1
  533. package/node_modules/@murphai/device-syncd/dist/http.js +45 -8
  534. package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -1
  535. package/node_modules/@murphai/device-syncd/dist/index.d.ts +8 -5
  536. package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -1
  537. package/node_modules/@murphai/device-syncd/dist/index.js +5 -3
  538. package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -1
  539. package/node_modules/@murphai/device-syncd/dist/metadata.d.ts +4 -0
  540. package/node_modules/@murphai/device-syncd/dist/metadata.d.ts.map +1 -0
  541. package/node_modules/@murphai/device-syncd/dist/metadata.js +61 -0
  542. package/node_modules/@murphai/device-syncd/dist/metadata.js.map +1 -0
  543. package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts +3 -0
  544. package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts.map +1 -0
  545. package/node_modules/@murphai/device-syncd/dist/provider-label.js +19 -0
  546. package/node_modules/@murphai/device-syncd/dist/provider-label.js.map +1 -0
  547. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js +5 -2
  548. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js.map +1 -1
  549. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts +5 -3
  550. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
  551. package/node_modules/@murphai/device-syncd/dist/providers/oura.js +27 -12
  552. package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
  553. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +2 -0
  554. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -1
  555. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +9 -9
  556. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -1
  557. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.d.ts +32 -0
  558. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.d.ts.map +1 -0
  559. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.js +189 -0
  560. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.js.map +1 -0
  561. package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts +21 -0
  562. package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts.map +1 -0
  563. package/node_modules/@murphai/device-syncd/dist/providers/strava.js +667 -0
  564. package/node_modules/@murphai/device-syncd/dist/providers/strava.js.map +1 -0
  565. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
  566. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +2 -8
  567. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
  568. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +4 -2
  569. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
  570. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +15 -10
  571. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
  572. package/node_modules/@murphai/device-syncd/dist/runtime-config.d.ts +3 -0
  573. package/node_modules/@murphai/device-syncd/dist/runtime-config.d.ts.map +1 -0
  574. package/node_modules/@murphai/device-syncd/dist/runtime-config.js +2 -0
  575. package/node_modules/@murphai/device-syncd/dist/runtime-config.js.map +1 -0
  576. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
  577. package/node_modules/@murphai/device-syncd/dist/service.js +60 -18
  578. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
  579. package/node_modules/@murphai/device-syncd/dist/shared.d.ts +2 -3
  580. package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -1
  581. package/node_modules/@murphai/device-syncd/dist/shared.js +8 -58
  582. package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -1
  583. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +9 -0
  584. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
  585. package/node_modules/@murphai/device-syncd/dist/store/jobs.js +35 -0
  586. package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -1
  587. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +0 -1
  588. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -1
  589. package/node_modules/@murphai/device-syncd/dist/store/schema.js +0 -7
  590. package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -1
  591. package/node_modules/@murphai/device-syncd/dist/store.d.ts +1 -0
  592. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
  593. package/node_modules/@murphai/device-syncd/dist/store.js +115 -18
  594. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
  595. package/node_modules/@murphai/device-syncd/dist/types.d.ts +12 -5
  596. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
  597. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts +7 -10
  598. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts.map +1 -1
  599. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js +26 -13
  600. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js.map +1 -1
  601. package/node_modules/@murphai/device-syncd/package.json +13 -5
  602. package/node_modules/@murphai/gateway-local/dist/store/permissions.d.ts.map +1 -1
  603. package/node_modules/@murphai/gateway-local/dist/store/permissions.js +39 -7
  604. package/node_modules/@murphai/gateway-local/dist/store/permissions.js.map +1 -1
  605. package/node_modules/@murphai/gateway-local/dist/store/source-sync.d.ts.map +1 -1
  606. package/node_modules/@murphai/gateway-local/dist/store/source-sync.js +130 -8
  607. package/node_modules/@murphai/gateway-local/dist/store/source-sync.js.map +1 -1
  608. package/node_modules/@murphai/gateway-local/package.json +1 -6
  609. package/node_modules/@murphai/importers/README.md +9 -1
  610. package/node_modules/@murphai/importers/dist/core-port.d.ts +9 -2
  611. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -1
  612. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -1
  613. package/node_modules/@murphai/importers/dist/create-importers.d.ts +1 -1
  614. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts +79 -0
  615. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts.map +1 -0
  616. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js +576 -0
  617. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js.map +1 -0
  618. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts +4 -16
  619. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts.map +1 -1
  620. package/node_modules/@murphai/importers/dist/csv-sample-importer.js +91 -143
  621. package/node_modules/@murphai/importers/dist/csv-sample-importer.js.map +1 -1
  622. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.d.ts +68 -0
  623. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.d.ts.map +1 -0
  624. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.js +261 -0
  625. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.js.map +1 -0
  626. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts +2 -2
  627. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts.map +1 -1
  628. package/node_modules/@murphai/importers/dist/device-providers/defaults.js +4 -2
  629. package/node_modules/@murphai/importers/dist/device-providers/defaults.js.map +1 -1
  630. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +16 -0
  631. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -1
  632. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +114 -1
  633. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -1
  634. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +9 -2
  635. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
  636. package/node_modules/@murphai/importers/dist/device-providers/index.js +5 -1
  637. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
  638. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.d.ts +48 -0
  639. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.d.ts.map +1 -0
  640. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.js +104 -0
  641. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.js.map +1 -0
  642. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts +93 -0
  643. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts.map +1 -1
  644. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js +49 -0
  645. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js.map +1 -1
  646. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.d.ts +47 -0
  647. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.d.ts.map +1 -0
  648. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.js +62 -0
  649. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.js.map +1 -0
  650. package/node_modules/@murphai/importers/dist/device-providers/strava.d.ts +12 -0
  651. package/node_modules/@murphai/importers/dist/device-providers/strava.d.ts.map +1 -0
  652. package/node_modules/@murphai/importers/dist/device-providers/strava.js +290 -0
  653. package/node_modules/@murphai/importers/dist/device-providers/strava.js.map +1 -0
  654. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +19 -1
  655. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -1
  656. package/node_modules/@murphai/importers/dist/index.d.ts +1 -0
  657. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
  658. package/node_modules/@murphai/importers/dist/index.js.map +1 -1
  659. package/node_modules/@murphai/importers/dist/meal-importer.d.ts +2 -1
  660. package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -1
  661. package/node_modules/@murphai/importers/dist/meal-importer.js +11 -0
  662. package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -1
  663. package/node_modules/@murphai/importers/package.json +16 -6
  664. package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.d.ts.map +1 -1
  665. package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.js +3 -0
  666. package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.js.map +1 -1
  667. package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.js.map +1 -1
  668. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts +1 -0
  669. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts.map +1 -1
  670. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.d.ts +1 -0
  671. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.d.ts.map +1 -1
  672. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.js +1 -0
  673. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.js.map +1 -1
  674. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.d.ts.map +1 -1
  675. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js +1 -0
  676. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js.map +1 -1
  677. package/node_modules/@murphai/inbox-services/package.json +1 -12
  678. package/node_modules/@murphai/inboxd/dist/connectors/email/connector.js.map +1 -1
  679. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js +0 -1
  680. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js.map +1 -1
  681. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.d.ts +12 -0
  682. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.d.ts.map +1 -0
  683. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.js +17 -0
  684. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.js.map +1 -0
  685. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.d.ts +29 -0
  686. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.d.ts.map +1 -1
  687. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js +116 -3
  688. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js.map +1 -1
  689. package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.d.ts.map +1 -1
  690. package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.js +97 -4
  691. package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.js.map +1 -1
  692. package/node_modules/@murphai/inboxd/dist/contracts/search.d.ts +1 -0
  693. package/node_modules/@murphai/inboxd/dist/contracts/search.d.ts.map +1 -1
  694. package/node_modules/@murphai/inboxd/dist/index.d.ts +2 -2
  695. package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
  696. package/node_modules/@murphai/inboxd/dist/index.js +1 -1
  697. package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
  698. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.d.ts +1 -23
  699. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.d.ts.map +1 -1
  700. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.js +1 -66
  701. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.js.map +1 -1
  702. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.d.ts.map +1 -1
  703. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js +36 -0
  704. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js.map +1 -1
  705. package/node_modules/@murphai/inboxd/dist/kernel/sqlite/parse-jobs.d.ts.map +1 -1
  706. package/node_modules/@murphai/inboxd/dist/kernel/sqlite/parse-jobs.js +1 -0
  707. package/node_modules/@murphai/inboxd/dist/kernel/sqlite/parse-jobs.js.map +1 -1
  708. package/node_modules/@murphai/inboxd/dist/kernel/sqlite.d.ts.map +1 -1
  709. package/node_modules/@murphai/inboxd/dist/kernel/sqlite.js +40 -4
  710. package/node_modules/@murphai/inboxd/dist/kernel/sqlite.js.map +1 -1
  711. package/node_modules/@murphai/inboxd/package.json +5 -9
  712. package/node_modules/@murphai/messaging-ingress/package.json +1 -3
  713. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +10 -0
  714. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
  715. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js +2 -3
  716. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js.map +1 -1
  717. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts +71 -15
  718. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts.map +1 -1
  719. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js +267 -109
  720. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
  721. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +43 -0
  722. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts.map +1 -1
  723. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js +74 -18
  724. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js.map +1 -1
  725. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts +3 -2
  726. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts.map +1 -1
  727. package/node_modules/@murphai/operator-config/dist/assistant-backend.js +28 -18
  728. package/node_modules/@murphai/operator-config/dist/assistant-backend.js.map +1 -1
  729. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +122 -433
  730. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
  731. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +40 -49
  732. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
  733. package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts +6 -0
  734. package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts.map +1 -1
  735. package/node_modules/@murphai/operator-config/dist/command-helpers.js +77 -1
  736. package/node_modules/@murphai/operator-config/dist/command-helpers.js.map +1 -1
  737. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts +5 -0
  738. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts.map +1 -1
  739. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js +21 -4
  740. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js.map +1 -1
  741. package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts.map +1 -1
  742. package/node_modules/@murphai/operator-config/dist/device-sync-client.js +26 -1
  743. package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
  744. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts +16 -0
  745. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts.map +1 -0
  746. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js +56 -0
  747. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js.map +1 -0
  748. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts +2 -14
  749. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts.map +1 -1
  750. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js +89 -54
  751. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js.map +1 -1
  752. package/node_modules/@murphai/operator-config/dist/http-json-retry.js.map +1 -1
  753. package/node_modules/@murphai/operator-config/dist/http-retry.d.ts +5 -0
  754. package/node_modules/@murphai/operator-config/dist/http-retry.d.ts.map +1 -1
  755. package/node_modules/@murphai/operator-config/dist/http-retry.js +17 -0
  756. package/node_modules/@murphai/operator-config/dist/http-retry.js.map +1 -1
  757. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts +3 -0
  758. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts.map +1 -1
  759. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js +2 -0
  760. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js.map +1 -1
  761. package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts.map +1 -1
  762. package/node_modules/@murphai/operator-config/dist/linq-runtime.js +47 -5
  763. package/node_modules/@murphai/operator-config/dist/linq-runtime.js.map +1 -1
  764. package/node_modules/@murphai/operator-config/dist/operator-config/cli-vault-defaults.d.ts.map +1 -1
  765. package/node_modules/@murphai/operator-config/dist/operator-config/cli-vault-defaults.js +11 -3
  766. package/node_modules/@murphai/operator-config/dist/operator-config/cli-vault-defaults.js.map +1 -1
  767. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts +2 -2
  768. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts.map +1 -1
  769. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js +4 -4
  770. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js.map +1 -1
  771. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +5 -3
  772. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
  773. package/node_modules/@murphai/operator-config/dist/operator-config.js.map +1 -1
  774. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts +5 -2
  775. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
  776. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js +12 -9
  777. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js.map +1 -1
  778. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.d.ts +1 -0
  779. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.d.ts.map +1 -1
  780. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js +50 -3
  781. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js.map +1 -1
  782. package/node_modules/@murphai/operator-config/dist/telegram-runtime.d.ts +1 -0
  783. package/node_modules/@murphai/operator-config/dist/telegram-runtime.d.ts.map +1 -1
  784. package/node_modules/@murphai/operator-config/dist/telegram-runtime.js +25 -13
  785. package/node_modules/@murphai/operator-config/dist/telegram-runtime.js.map +1 -1
  786. package/node_modules/@murphai/operator-config/dist/text/shared.js.map +1 -1
  787. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +136 -25
  788. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
  789. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +69 -6
  790. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
  791. package/node_modules/@murphai/operator-config/package.json +6 -10
  792. package/node_modules/@murphai/parsers/README.md +1 -0
  793. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.d.ts +36 -0
  794. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.d.ts.map +1 -0
  795. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.js +152 -0
  796. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.js.map +1 -0
  797. package/node_modules/@murphai/parsers/dist/index.d.ts +4 -0
  798. package/node_modules/@murphai/parsers/dist/index.d.ts.map +1 -1
  799. package/node_modules/@murphai/parsers/dist/index.js +3 -0
  800. package/node_modules/@murphai/parsers/dist/index.js.map +1 -1
  801. package/node_modules/@murphai/parsers/dist/toolchain/discover.d.ts.map +1 -1
  802. package/node_modules/@murphai/parsers/dist/toolchain/discover.js +2 -0
  803. package/node_modules/@murphai/parsers/dist/toolchain/discover.js.map +1 -1
  804. package/node_modules/@murphai/parsers/package.json +1 -5
  805. package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
  806. package/node_modules/@murphai/query/dist/automation.js +7 -15
  807. package/node_modules/@murphai/query/dist/automation.js.map +1 -1
  808. package/node_modules/@murphai/query/dist/browser-replica.d.ts +266 -0
  809. package/node_modules/@murphai/query/dist/browser-replica.d.ts.map +1 -0
  810. package/node_modules/@murphai/query/dist/browser-replica.js +986 -0
  811. package/node_modules/@murphai/query/dist/browser-replica.js.map +1 -0
  812. package/node_modules/@murphai/query/dist/browser.d.ts +12 -0
  813. package/node_modules/@murphai/query/dist/browser.d.ts.map +1 -0
  814. package/node_modules/@murphai/query/dist/browser.js +6 -0
  815. package/node_modules/@murphai/query/dist/browser.js.map +1 -0
  816. package/node_modules/@murphai/query/dist/experiments.d.ts +112 -0
  817. package/node_modules/@murphai/query/dist/experiments.d.ts.map +1 -0
  818. package/node_modules/@murphai/query/dist/experiments.js +663 -0
  819. package/node_modules/@murphai/query/dist/experiments.js.map +1 -0
  820. package/node_modules/@murphai/query/dist/health/loaders.js.map +1 -1
  821. package/node_modules/@murphai/query/dist/health/projectors/history.d.ts +1 -1
  822. package/node_modules/@murphai/query/dist/health/supplements.d.ts.map +1 -1
  823. package/node_modules/@murphai/query/dist/health/supplements.js +1 -17
  824. package/node_modules/@murphai/query/dist/health/supplements.js.map +1 -1
  825. package/node_modules/@murphai/query/dist/health-library.d.ts +7 -1
  826. package/node_modules/@murphai/query/dist/health-library.d.ts.map +1 -1
  827. package/node_modules/@murphai/query/dist/health-library.js +18 -11
  828. package/node_modules/@murphai/query/dist/health-library.js.map +1 -1
  829. package/node_modules/@murphai/query/dist/index.d.ts +12 -5
  830. package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
  831. package/node_modules/@murphai/query/dist/index.js +8 -4
  832. package/node_modules/@murphai/query/dist/index.js.map +1 -1
  833. package/node_modules/@murphai/query/dist/model.d.ts +2 -133
  834. package/node_modules/@murphai/query/dist/model.d.ts.map +1 -1
  835. package/node_modules/@murphai/query/dist/model.js +2 -332
  836. package/node_modules/@murphai/query/dist/model.js.map +1 -1
  837. package/node_modules/@murphai/query/dist/overview.d.ts +20 -2
  838. package/node_modules/@murphai/query/dist/overview.d.ts.map +1 -1
  839. package/node_modules/@murphai/query/dist/overview.js +55 -30
  840. package/node_modules/@murphai/query/dist/overview.js.map +1 -1
  841. package/node_modules/@murphai/query/dist/query-projection.d.ts.map +1 -1
  842. package/node_modules/@murphai/query/dist/query-projection.js +72 -5
  843. package/node_modules/@murphai/query/dist/query-projection.js.map +1 -1
  844. package/node_modules/@murphai/query/dist/query-record-data.d.ts +2 -0
  845. package/node_modules/@murphai/query/dist/query-record-data.d.ts.map +1 -0
  846. package/node_modules/@murphai/query/dist/query-record-data.js +2 -0
  847. package/node_modules/@murphai/query/dist/query-record-data.js.map +1 -0
  848. package/node_modules/@murphai/query/dist/read-model.d.ts +132 -0
  849. package/node_modules/@murphai/query/dist/read-model.d.ts.map +1 -0
  850. package/node_modules/@murphai/query/dist/read-model.js +315 -0
  851. package/node_modules/@murphai/query/dist/read-model.js.map +1 -0
  852. package/node_modules/@murphai/query/dist/scheduled-logs.d.ts +28 -0
  853. package/node_modules/@murphai/query/dist/scheduled-logs.d.ts.map +1 -0
  854. package/node_modules/@murphai/query/dist/scheduled-logs.js +126 -0
  855. package/node_modules/@murphai/query/dist/scheduled-logs.js.map +1 -0
  856. package/node_modules/@murphai/query/dist/search.d.ts +1 -1
  857. package/node_modules/@murphai/query/dist/search.d.ts.map +1 -1
  858. package/node_modules/@murphai/query/dist/summaries.d.ts +2 -1
  859. package/node_modules/@murphai/query/dist/summaries.d.ts.map +1 -1
  860. package/node_modules/@murphai/query/dist/summaries.js +2 -0
  861. package/node_modules/@murphai/query/dist/summaries.js.map +1 -1
  862. package/node_modules/@murphai/query/dist/timeline.d.ts +1 -1
  863. package/node_modules/@murphai/query/dist/timeline.d.ts.map +1 -1
  864. package/node_modules/@murphai/query/dist/timeline.js +1 -1
  865. package/node_modules/@murphai/query/dist/timeline.js.map +1 -1
  866. package/node_modules/@murphai/query/dist/vault-reader.d.ts +4 -0
  867. package/node_modules/@murphai/query/dist/vault-reader.d.ts.map +1 -0
  868. package/node_modules/@murphai/query/dist/vault-reader.js +20 -0
  869. package/node_modules/@murphai/query/dist/vault-reader.js.map +1 -0
  870. package/node_modules/@murphai/query/dist/vault-source.d.ts +2 -1
  871. package/node_modules/@murphai/query/dist/vault-source.d.ts.map +1 -1
  872. package/node_modules/@murphai/query/dist/vault-source.js.map +1 -1
  873. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts +1 -1
  874. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
  875. package/node_modules/@murphai/query/dist/wearables/candidates.js +134 -25
  876. package/node_modules/@murphai/query/dist/wearables/candidates.js.map +1 -1
  877. package/node_modules/@murphai/query/dist/wearables/canonical-records.d.ts +4 -0
  878. package/node_modules/@murphai/query/dist/wearables/canonical-records.d.ts.map +1 -0
  879. package/node_modules/@murphai/query/dist/wearables/canonical-records.js +155 -0
  880. package/node_modules/@murphai/query/dist/wearables/canonical-records.js.map +1 -0
  881. package/node_modules/@murphai/query/dist/wearables/provider-policy.d.ts.map +1 -1
  882. package/node_modules/@murphai/query/dist/wearables/provider-policy.js +9 -54
  883. package/node_modules/@murphai/query/dist/wearables/provider-policy.js.map +1 -1
  884. package/node_modules/@murphai/query/dist/wearables/shared.js +1 -1
  885. package/node_modules/@murphai/query/dist/wearables/shared.js.map +1 -1
  886. package/node_modules/@murphai/query/dist/wearables/types.d.ts +71 -6
  887. package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
  888. package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
  889. package/node_modules/@murphai/query/dist/wearables.d.ts +8 -3
  890. package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
  891. package/node_modules/@murphai/query/dist/wearables.js +295 -0
  892. package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
  893. package/node_modules/@murphai/query/package.json +6 -7
  894. package/node_modules/@murphai/runtime-state/README.md +2 -2
  895. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -1
  896. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +3 -1
  897. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -1
  898. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts +51 -0
  899. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts.map +1 -0
  900. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js +302 -0
  901. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js.map +1 -0
  902. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts +2 -0
  903. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts.map +1 -1
  904. package/node_modules/@murphai/runtime-state/dist/assistant-state.js +3 -0
  905. package/node_modules/@murphai/runtime-state/dist/assistant-state.js.map +1 -1
  906. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +8 -0
  907. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -1
  908. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +60 -1
  909. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -1
  910. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.d.ts +31 -0
  911. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.d.ts.map +1 -0
  912. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.js +180 -0
  913. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.js.map +1 -0
  914. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts +1 -1
  915. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts.map +1 -1
  916. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +4 -1
  917. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js.map +1 -1
  918. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +0 -2
  919. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -1
  920. package/node_modules/@murphai/runtime-state/dist/hosted-email.js +32 -7
  921. package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -1
  922. package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts +37 -0
  923. package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts.map +1 -0
  924. package/node_modules/@murphai/runtime-state/dist/hosted-storage.js +157 -0
  925. package/node_modules/@murphai/runtime-state/dist/hosted-storage.js.map +1 -0
  926. package/node_modules/@murphai/runtime-state/dist/index.d.ts +2 -1
  927. package/node_modules/@murphai/runtime-state/dist/index.d.ts.map +1 -1
  928. package/node_modules/@murphai/runtime-state/dist/index.js +2 -1
  929. package/node_modules/@murphai/runtime-state/dist/index.js.map +1 -1
  930. package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -1
  931. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.d.ts +3 -0
  932. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.d.ts.map +1 -0
  933. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.js +3 -0
  934. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.js.map +1 -0
  935. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +1 -1
  936. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -1
  937. package/node_modules/@murphai/runtime-state/dist/node/index.js +1 -1
  938. package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -1
  939. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js.map +1 -1
  940. package/node_modules/@murphai/runtime-state/package.json +9 -1
  941. package/node_modules/@murphai/setup-cli/dist/setup-assistant-account.js.map +1 -1
  942. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js +2 -2
  943. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
  944. package/node_modules/@murphai/setup-cli/dist/setup-assistant.d.ts.map +1 -1
  945. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js +7 -5
  946. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js.map +1 -1
  947. package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts.map +1 -1
  948. package/node_modules/@murphai/setup-cli/dist/setup-cli.js +13 -1
  949. package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
  950. package/node_modules/@murphai/setup-cli/dist/setup-services/shell.d.ts.map +1 -1
  951. package/node_modules/@murphai/setup-cli/dist/setup-services/shell.js +2 -69
  952. package/node_modules/@murphai/setup-cli/dist/setup-services/shell.js.map +1 -1
  953. package/node_modules/@murphai/setup-cli/dist/setup-services/wearables.js +2 -0
  954. package/node_modules/@murphai/setup-cli/dist/setup-services/wearables.js.map +1 -1
  955. package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
  956. package/node_modules/@murphai/setup-cli/dist/setup-services.js +7 -7
  957. package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
  958. package/node_modules/@murphai/setup-cli/dist/setup-wizard-app.d.ts.map +1 -1
  959. package/node_modules/@murphai/setup-cli/dist/setup-wizard-app.js +47 -0
  960. package/node_modules/@murphai/setup-cli/dist/setup-wizard-app.js.map +1 -1
  961. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.d.ts.map +1 -1
  962. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js +7 -0
  963. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js.map +1 -1
  964. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.d.ts +13 -1
  965. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.d.ts.map +1 -1
  966. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.js +214 -21
  967. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.js.map +1 -1
  968. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.d.ts +1 -5
  969. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.d.ts.map +1 -1
  970. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.js +8 -2
  971. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.js.map +1 -1
  972. package/node_modules/@murphai/setup-cli/dist/setup-wizard.d.ts +1 -1
  973. package/node_modules/@murphai/setup-cli/dist/setup-wizard.d.ts.map +1 -1
  974. package/node_modules/@murphai/setup-cli/dist/setup-wizard.js +1 -1
  975. package/node_modules/@murphai/setup-cli/dist/setup-wizard.js.map +1 -1
  976. package/node_modules/@murphai/setup-cli/package.json +1 -10
  977. package/node_modules/@murphai/vault-usecases/dist/captures.d.ts +2 -0
  978. package/node_modules/@murphai/vault-usecases/dist/captures.d.ts.map +1 -0
  979. package/node_modules/@murphai/vault-usecases/dist/captures.js +2 -0
  980. package/node_modules/@murphai/vault-usecases/dist/captures.js.map +1 -0
  981. package/node_modules/@murphai/vault-usecases/dist/index.d.ts +3 -0
  982. package/node_modules/@murphai/vault-usecases/dist/index.d.ts.map +1 -1
  983. package/node_modules/@murphai/vault-usecases/dist/index.js +3 -0
  984. package/node_modules/@murphai/vault-usecases/dist/index.js.map +1 -1
  985. package/node_modules/@murphai/vault-usecases/dist/measurements.d.ts +3 -0
  986. package/node_modules/@murphai/vault-usecases/dist/measurements.d.ts.map +1 -0
  987. package/node_modules/@murphai/vault-usecases/dist/measurements.js +3 -0
  988. package/node_modules/@murphai/vault-usecases/dist/measurements.js.map +1 -0
  989. package/node_modules/@murphai/vault-usecases/dist/preferences.d.ts +2 -2
  990. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts +115 -2
  991. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts.map +1 -1
  992. package/node_modules/@murphai/vault-usecases/dist/query-runtime.js.map +1 -1
  993. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts +174 -0
  994. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -0
  995. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +485 -0
  996. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js.map +1 -0
  997. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts +8 -5
  998. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
  999. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +14 -52
  1000. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
  1001. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +272 -9
  1002. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
  1003. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +417 -2
  1004. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
  1005. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
  1006. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts +2 -2
  1007. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
  1008. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +166 -21
  1009. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
  1010. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts +114 -0
  1011. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -0
  1012. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +92 -0
  1013. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -0
  1014. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts +95 -0
  1015. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts.map +1 -0
  1016. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js +217 -0
  1017. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js.map +1 -0
  1018. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +3 -1
  1019. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
  1020. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +33 -0
  1021. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
  1022. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.d.ts.map +1 -1
  1023. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js +6 -1
  1024. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js.map +1 -1
  1025. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts +2 -1
  1026. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
  1027. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +34 -0
  1028. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
  1029. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +153 -14
  1030. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts.map +1 -1
  1031. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts +3 -1
  1032. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts.map +1 -1
  1033. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js +30 -3
  1034. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js.map +1 -1
  1035. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts +14 -1
  1036. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts.map +1 -1
  1037. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.js.map +1 -1
  1038. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +1 -1
  1039. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts +0 -37
  1040. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts.map +1 -1
  1041. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.js +9 -185
  1042. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.js.map +1 -1
  1043. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts +5 -53
  1044. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
  1045. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +4 -60
  1046. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
  1047. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts +2 -2
  1048. package/node_modules/@murphai/vault-usecases/package.json +9 -10
  1049. package/package.json +21 -20
  1050. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.d.ts +0 -17
  1051. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.d.ts.map +0 -1
  1052. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.js +0 -213
  1053. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.js.map +0 -1
  1054. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-turn-metadata.d.ts +0 -6
  1055. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-turn-metadata.d.ts.map +0 -1
  1056. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-turn-metadata.js +0 -26
  1057. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-turn-metadata.js.map +0 -1
  1058. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.d.ts +0 -8
  1059. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.d.ts.map +0 -1
  1060. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.js +0 -93
  1061. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.js.map +0 -1
  1062. package/node_modules/@murphai/messaging-ingress/dist/index.d.ts +0 -2
  1063. package/node_modules/@murphai/messaging-ingress/dist/index.d.ts.map +0 -1
  1064. package/node_modules/@murphai/messaging-ingress/dist/index.js +0 -2
  1065. package/node_modules/@murphai/messaging-ingress/dist/index.js.map +0 -1
  1066. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts +0 -14
  1067. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts.map +0 -1
  1068. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js +0 -59
  1069. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js.map +0 -1
@@ -0,0 +1,667 @@
1
+ import { resolveDeviceProviderDescriptor, requireDeviceProviderOAuthDescriptor, requireDeviceProviderSyncDescriptor, requireDeviceProviderWebhookDescriptor, } from "@murphai/importers/device-providers/provider-descriptors";
2
+ import { deviceSyncError } from "../errors.js";
3
+ import { addMilliseconds, coerceRecord, normalizeIdentifier, normalizeString, sha256Text, subtractDays, } from "../shared.js";
4
+ import { formatDeviceSyncAccountLabel } from "../provider-label.js";
5
+ import { buildOAuthConnectUrl, buildProviderApiError, buildScheduledReconcileJobs, createRefreshingApiSession, fetchBearerJson, isoFromExpiresIn, isTokenNearExpiry, parseResponseBody, postOAuthTokenRequest, refreshOAuthTokens, requireRefreshToken, tokenResponseToAuthTokens as sharedTokenResponseToAuthTokens, } from "./shared-oauth.js";
6
+ import { createStravaWebhookSubscriptionClient } from "./strava-webhooks.js";
7
+ const STRAVA_AUTH_BASE_URL = "https://www.strava.com";
8
+ const STRAVA_API_BASE_URL = "https://www.strava.com/api/v3";
9
+ const STRAVA_AUTHORIZE_PATH = "/oauth/authorize";
10
+ const STRAVA_TOKEN_PATH = "/oauth/token";
11
+ const STRAVA_DEAUTHORIZE_PATH = "/oauth/deauthorize";
12
+ const STRAVA_PROVIDER_DESCRIPTOR = resolveDeviceProviderDescriptor("strava") ??
13
+ (() => {
14
+ throw new TypeError("Strava provider descriptor is not registered.");
15
+ })();
16
+ const STRAVA_OAUTH = requireDeviceProviderOAuthDescriptor(STRAVA_PROVIDER_DESCRIPTOR);
17
+ const STRAVA_WEBHOOK = requireDeviceProviderWebhookDescriptor(STRAVA_PROVIDER_DESCRIPTOR);
18
+ const STRAVA_SYNC = requireDeviceProviderSyncDescriptor(STRAVA_PROVIDER_DESCRIPTOR);
19
+ const STRAVA_WEBHOOK_PATH = STRAVA_WEBHOOK.path;
20
+ const DEFAULT_TIMEOUT_MS = 15_000;
21
+ const DEFAULT_BACKFILL_DAYS = STRAVA_SYNC.windows.backfillDays;
22
+ const DEFAULT_RECONCILE_DAYS = STRAVA_SYNC.windows.reconcileDays;
23
+ const DEFAULT_RECONCILE_INTERVAL_MS = STRAVA_SYNC.windows.reconcileIntervalMs;
24
+ const STRAVA_DEFAULT_SCOPES = Object.freeze([...STRAVA_OAUTH.defaultScopes]);
25
+ const STRAVA_PAGED_ACTIVITY_SIZE = 200;
26
+ const STRAVA_REFRESH_SKEW_MS = 60 * 60_000;
27
+ const STRAVA_ACTIVITY_WEBHOOK_PRIORITY = 90;
28
+ const STRAVA_DELETE_WEBHOOK_PRIORITY = 95;
29
+ const STRAVA_DEAUTHORIZE_WEBHOOK_PRIORITY = 100;
30
+ function normalizeStravaScopes(value) {
31
+ if (!Array.isArray(value) && typeof value !== "string") {
32
+ return [];
33
+ }
34
+ const rawScopes = Array.isArray(value) ? value : [value];
35
+ const deduped = new Set();
36
+ for (const entry of rawScopes) {
37
+ if (typeof entry !== "string") {
38
+ continue;
39
+ }
40
+ for (const scope of entry.split(/[\s,]+/u)) {
41
+ const normalized = scope.trim();
42
+ if (normalized) {
43
+ deduped.add(normalized);
44
+ }
45
+ }
46
+ }
47
+ return [...deduped];
48
+ }
49
+ function buildStravaScopes(input) {
50
+ const scopes = normalizeStravaScopes(input);
51
+ return scopes.length > 0 ? scopes : [...STRAVA_DEFAULT_SCOPES];
52
+ }
53
+ function epochSecondsToIso(value) {
54
+ const numeric = typeof value === "number" ? value : Number(value);
55
+ if (!Number.isFinite(numeric)) {
56
+ return undefined;
57
+ }
58
+ const milliseconds = numeric >= 10_000_000_000 ? numeric : numeric * 1000;
59
+ const timestamp = new Date(milliseconds);
60
+ return Number.isFinite(timestamp.valueOf()) ? timestamp.toISOString() : undefined;
61
+ }
62
+ function buildStravaApiError(code, message, response, body, options = {}) {
63
+ return buildProviderApiError(code, message, response, body, options);
64
+ }
65
+ function tokenResponseToAuthTokens(payload) {
66
+ const tokens = sharedTokenResponseToAuthTokens(payload, () => deviceSyncError({
67
+ code: "STRAVA_ACCESS_TOKEN_MISSING",
68
+ message: "Strava token response did not include an access token.",
69
+ retryable: false,
70
+ httpStatus: 502,
71
+ }));
72
+ tokens.accessTokenExpiresAt = epochSecondsToIso(payload.expires_at) ?? isoFromExpiresIn(payload.expires_in);
73
+ return tokens;
74
+ }
75
+ function buildWindowJobPayload(input) {
76
+ return {
77
+ windowStart: subtractDays(input.now, input.windowDays),
78
+ windowEnd: input.now,
79
+ ...(input.includeAthlete ? { includeAthlete: true } : {}),
80
+ ...(input.kind ? { windowKind: input.kind } : {}),
81
+ };
82
+ }
83
+ function buildWebhookDedupeKey(input) {
84
+ return `${input.eventType}:${sha256Text(`${input.externalAccountId}:${input.resourceType}:${input.resourceId}:${input.occurredAt ?? ""}`)}`;
85
+ }
86
+ function coerceArrayOfRecords(payload) {
87
+ if (!Array.isArray(payload)) {
88
+ return [];
89
+ }
90
+ return payload
91
+ .map((entry) => (entry && typeof entry === "object" && !Array.isArray(entry) ? coerceRecord(entry) : null))
92
+ .filter((entry) => Boolean(entry));
93
+ }
94
+ function buildRequiredActivityScopeError() {
95
+ return deviceSyncError({
96
+ code: "STRAVA_ACTIVITY_SCOPE_REQUIRED",
97
+ message: "Strava authorization must grant activity:read or activity:read_all for activity sync.",
98
+ retryable: false,
99
+ httpStatus: 400,
100
+ });
101
+ }
102
+ function hasAcceptedActivityScope(scopes) {
103
+ return scopes.includes("activity:read") || scopes.includes("activity:read_all");
104
+ }
105
+ function resolveAccountScopes(callbackGrantedScopes, tokenScopePayload) {
106
+ const scopes = normalizeStravaScopes(callbackGrantedScopes.length > 0 ? callbackGrantedScopes : tokenScopePayload);
107
+ if (!hasAcceptedActivityScope(scopes)) {
108
+ throw buildRequiredActivityScopeError();
109
+ }
110
+ return scopes;
111
+ }
112
+ function isStravaTokenNearExpiry(account) {
113
+ return isTokenNearExpiry(account, STRAVA_REFRESH_SKEW_MS);
114
+ }
115
+ function buildWebhookTraceId(payload) {
116
+ return `strava-${sha256Text(JSON.stringify(payload))}`;
117
+ }
118
+ function normalizeWebhookObjectType(value) {
119
+ const normalized = normalizeString(value)?.toLowerCase();
120
+ if (normalized === "activity" || normalized === "athlete") {
121
+ return normalized;
122
+ }
123
+ return null;
124
+ }
125
+ function normalizeWebhookAspectType(value) {
126
+ const normalized = normalizeString(value)?.toLowerCase();
127
+ if (normalized === "create" || normalized === "update" || normalized === "delete") {
128
+ return normalized;
129
+ }
130
+ return null;
131
+ }
132
+ function isAthleteDeauthorizationEvent(input) {
133
+ if (input.objectType !== "athlete" || input.aspectType !== "update") {
134
+ return false;
135
+ }
136
+ const authorized = input.updates.authorized;
137
+ if (typeof authorized === "boolean") {
138
+ return !authorized;
139
+ }
140
+ if (typeof authorized === "number") {
141
+ return authorized === 0;
142
+ }
143
+ const normalized = normalizeString(authorized)?.toLowerCase();
144
+ return normalized === "false" || normalized === "0";
145
+ }
146
+ function buildDeleteMarker(input) {
147
+ return {
148
+ resource_type: input.resourceType,
149
+ resource_id: input.resourceId,
150
+ occurred_at: input.occurredAt,
151
+ source_event_type: input.sourceEventType,
152
+ };
153
+ }
154
+ function buildStravaWebhookPreflightResponse(input) {
155
+ if (input.method.toUpperCase() !== "GET") {
156
+ return null;
157
+ }
158
+ const mode = normalizeString(input.url.searchParams.get("hub.mode"));
159
+ const challenge = normalizeString(input.url.searchParams.get("hub.challenge"));
160
+ const verifyToken = normalizeString(input.url.searchParams.get("hub.verify_token"));
161
+ if (!mode && !challenge && !verifyToken) {
162
+ return null;
163
+ }
164
+ if (mode !== "subscribe" || !challenge) {
165
+ throw deviceSyncError({
166
+ code: "STRAVA_WEBHOOK_CHALLENGE_INVALID",
167
+ message: "Strava webhook verification request was missing hub.mode=subscribe or hub.challenge.",
168
+ retryable: false,
169
+ httpStatus: 400,
170
+ });
171
+ }
172
+ if (!input.verifyToken) {
173
+ throw deviceSyncError({
174
+ code: "STRAVA_WEBHOOK_VERIFY_TOKEN_MISSING",
175
+ message: "Strava webhook verification token is not configured.",
176
+ retryable: false,
177
+ httpStatus: 500,
178
+ });
179
+ }
180
+ if (verifyToken !== input.verifyToken) {
181
+ throw deviceSyncError({
182
+ code: "STRAVA_WEBHOOK_VERIFY_TOKEN_MISMATCH",
183
+ message: "Strava webhook verification request did not include the configured verify token.",
184
+ retryable: false,
185
+ httpStatus: 400,
186
+ });
187
+ }
188
+ return {
189
+ status: 200,
190
+ body: {
191
+ "hub.challenge": challenge,
192
+ },
193
+ };
194
+ }
195
+ export function resolveStravaWebhookPreflightResponse(input) {
196
+ return buildStravaWebhookPreflightResponse({
197
+ method: input.method,
198
+ url: input.url,
199
+ verifyToken: normalizeString(input.verifyToken) ?? null,
200
+ });
201
+ }
202
+ export function createStravaDeviceSyncProvider(config) {
203
+ const fetchImpl = config.fetchImpl ?? fetch;
204
+ const authBaseUrl = (config.authBaseUrl ?? STRAVA_AUTH_BASE_URL).replace(/\/+$/u, "");
205
+ const apiBaseUrl = (config.apiBaseUrl ?? STRAVA_API_BASE_URL).replace(/\/+$/u, "");
206
+ const scopes = buildStravaScopes(config.scopes);
207
+ const backfillDays = Math.max(1, config.backfillDays ?? DEFAULT_BACKFILL_DAYS);
208
+ const reconcileDays = Math.max(1, config.reconcileDays ?? DEFAULT_RECONCILE_DAYS);
209
+ const reconcileIntervalMs = Math.max(60_000, config.reconcileIntervalMs ?? DEFAULT_RECONCILE_INTERVAL_MS);
210
+ const timeoutMs = Math.max(1_000, config.requestTimeoutMs ?? DEFAULT_TIMEOUT_MS);
211
+ const webhookVerifyToken = normalizeString(config.webhookVerifyToken) ?? null;
212
+ const descriptor = {
213
+ ...STRAVA_PROVIDER_DESCRIPTOR,
214
+ oauth: {
215
+ ...STRAVA_OAUTH,
216
+ defaultScopes: [...scopes],
217
+ },
218
+ sync: {
219
+ ...STRAVA_SYNC,
220
+ windows: {
221
+ backfillDays,
222
+ reconcileDays,
223
+ reconcileIntervalMs,
224
+ },
225
+ },
226
+ };
227
+ let webhookSubscriptionClient = null;
228
+ async function postTokenRequest(parameters) {
229
+ return postOAuthTokenRequest({
230
+ fetchImpl,
231
+ url: `${authBaseUrl}${STRAVA_TOKEN_PATH}`,
232
+ timeoutMs,
233
+ parameters,
234
+ buildError: (response, body) => buildStravaApiError("STRAVA_TOKEN_REQUEST_FAILED", "Strava token request failed.", response, body, {
235
+ retryable: response.status >= 500,
236
+ accountStatus: response.status === 401 ? "reauthorization_required" : null,
237
+ }),
238
+ });
239
+ }
240
+ async function fetchStravaJson(input) {
241
+ return fetchBearerJson({
242
+ fetchImpl,
243
+ url: `${apiBaseUrl}${input.path}`,
244
+ accessToken: input.accessToken,
245
+ timeoutMs,
246
+ optional: input.optional,
247
+ buildError: (response, body) => buildStravaApiError("STRAVA_API_REQUEST_FAILED", `Strava API request failed for ${input.path}.`, response, body, {
248
+ retryable: response.status === 429 || response.status >= 500,
249
+ accountStatus: response.status === 401 ? "reauthorization_required" : null,
250
+ }),
251
+ });
252
+ }
253
+ async function fetchAthleteProfile(accessToken) {
254
+ return coerceRecord(await fetchStravaJson({
255
+ path: "/athlete",
256
+ accessToken,
257
+ }));
258
+ }
259
+ async function listAthleteActivities(requestJson, input) {
260
+ const records = [];
261
+ let page = 1;
262
+ while (true) {
263
+ const search = new URLSearchParams({
264
+ page: String(page),
265
+ per_page: String(STRAVA_PAGED_ACTIVITY_SIZE),
266
+ });
267
+ const afterSeconds = input.after ? Math.floor(Date.parse(input.after) / 1000) : null;
268
+ const beforeSeconds = input.before ? Math.floor(Date.parse(input.before) / 1000) : null;
269
+ if (afterSeconds !== null && Number.isFinite(afterSeconds)) {
270
+ search.set("after", String(afterSeconds));
271
+ }
272
+ if (beforeSeconds !== null && Number.isFinite(beforeSeconds)) {
273
+ search.set("before", String(beforeSeconds));
274
+ }
275
+ const pageRecords = coerceArrayOfRecords(await requestJson(`/athlete/activities?${search.toString()}`));
276
+ if (pageRecords.length === 0) {
277
+ break;
278
+ }
279
+ records.push(...pageRecords);
280
+ if (pageRecords.length < STRAVA_PAGED_ACTIVITY_SIZE) {
281
+ break;
282
+ }
283
+ page += 1;
284
+ }
285
+ return records;
286
+ }
287
+ async function fetchActivityById(requestJson, activityId) {
288
+ const payload = await requestJson(`/activities/${encodeURIComponent(activityId)}`, { optional: true });
289
+ return payload ? coerceRecord(payload) : null;
290
+ }
291
+ async function deauthorize(accessToken) {
292
+ const url = new URL(`${authBaseUrl}${STRAVA_DEAUTHORIZE_PATH}`);
293
+ url.searchParams.set("access_token", accessToken);
294
+ const response = await fetchImpl(url.toString(), {
295
+ method: "POST",
296
+ headers: {
297
+ Accept: "application/json",
298
+ },
299
+ signal: AbortSignal.timeout(timeoutMs),
300
+ });
301
+ if (response.status === 401 || response.status === 404) {
302
+ return;
303
+ }
304
+ if (!response.ok) {
305
+ throw buildStravaApiError("STRAVA_DEAUTHORIZE_FAILED", "Strava deauthorization failed.", response, await parseResponseBody(response), {
306
+ retryable: response.status === 429 || response.status >= 500,
307
+ accountStatus: response.status === 401 ? "disconnected" : null,
308
+ });
309
+ }
310
+ }
311
+ function getWebhookSubscriptionClient() {
312
+ if (!webhookSubscriptionClient) {
313
+ webhookSubscriptionClient = createStravaWebhookSubscriptionClient({
314
+ clientId: config.clientId,
315
+ clientSecret: config.clientSecret,
316
+ apiBaseUrl,
317
+ fetchImpl,
318
+ timeoutMs,
319
+ });
320
+ }
321
+ return webhookSubscriptionClient;
322
+ }
323
+ const webhookAdmin = {
324
+ handleWebhookPreflight(context) {
325
+ return resolveStravaWebhookPreflightResponse({
326
+ method: context.method,
327
+ url: context.url,
328
+ verifyToken: webhookVerifyToken,
329
+ });
330
+ },
331
+ async ensureSubscriptions(context) {
332
+ if (!webhookVerifyToken) {
333
+ return;
334
+ }
335
+ const callbackUrl = new URL(STRAVA_WEBHOOK_PATH.replace(/^\/+/, ""), `${context.publicBaseUrl}/`).toString();
336
+ await getWebhookSubscriptionClient().ensure({
337
+ callbackUrl,
338
+ verifyToken: webhookVerifyToken,
339
+ });
340
+ },
341
+ };
342
+ function createApiSession(context) {
343
+ const session = createRefreshingApiSession({
344
+ context,
345
+ requestJsonWithAccessToken: (accessToken, path, options) => fetchStravaJson({
346
+ path,
347
+ accessToken,
348
+ optional: options.optional,
349
+ }),
350
+ shouldRefresh: isStravaTokenNearExpiry,
351
+ });
352
+ return {
353
+ get account() {
354
+ return session.account;
355
+ },
356
+ requestJson: session.requestJson,
357
+ fetchActivities(windowStart, windowEnd) {
358
+ return listAthleteActivities(session.requestJson, {
359
+ after: windowStart,
360
+ before: windowEnd,
361
+ });
362
+ },
363
+ fetchActivityById(activityId) {
364
+ return fetchActivityById(session.requestJson, activityId);
365
+ },
366
+ };
367
+ }
368
+ async function executeWindowImport(context, payload, fallbackWindowDays) {
369
+ const now = context.now;
370
+ const windowStart = normalizeString(payload.windowStart) ?? subtractDays(now, fallbackWindowDays);
371
+ const windowEnd = normalizeString(payload.windowEnd) ?? now;
372
+ const windowKind = normalizeString(payload.windowKind)
373
+ ?? (fallbackWindowDays === backfillDays ? "backfill" : "reconcile");
374
+ const includeAthlete = payload.includeAthlete === true;
375
+ const api = createApiSession(context);
376
+ const athlete = includeAthlete
377
+ ? coerceRecord(await api.requestJson("/athlete", {
378
+ optional: false,
379
+ }))
380
+ : null;
381
+ const activities = await api.fetchActivities(windowStart, windowEnd);
382
+ await context.importSnapshot({
383
+ accountId: api.account.externalAccountId,
384
+ importedAt: now,
385
+ ...(athlete && Object.keys(athlete).length > 0 ? { athlete } : {}),
386
+ activities,
387
+ sourceWindow: {
388
+ kind: windowKind,
389
+ windowStart,
390
+ windowEnd,
391
+ },
392
+ });
393
+ return {};
394
+ }
395
+ async function executeResourceImport(context, payload) {
396
+ const resourceType = normalizeWebhookObjectType(payload.resourceType);
397
+ const resourceId = normalizeIdentifier(payload.resourceId);
398
+ if (!resourceType || !resourceId) {
399
+ throw deviceSyncError({
400
+ code: "STRAVA_RESOURCE_JOB_INVALID",
401
+ message: "Strava resource job payload must include resourceType and resourceId.",
402
+ retryable: false,
403
+ });
404
+ }
405
+ if (resourceType !== "activity") {
406
+ return {};
407
+ }
408
+ const api = createApiSession(context);
409
+ const activity = await api.fetchActivityById(resourceId);
410
+ if (!activity) {
411
+ return {};
412
+ }
413
+ await context.importSnapshot({
414
+ accountId: api.account.externalAccountId,
415
+ importedAt: context.now,
416
+ activities: [activity],
417
+ sourceWindow: {
418
+ kind: "resource",
419
+ occurredAt: normalizeString(payload.occurredAt) ?? context.now,
420
+ resourceId,
421
+ resourceType,
422
+ },
423
+ });
424
+ return {};
425
+ }
426
+ async function executeDeleteImport(context, payload) {
427
+ const resourceType = normalizeString(payload.resourceType) ?? "activity";
428
+ const resourceId = normalizeIdentifier(payload.resourceId);
429
+ const occurredAt = normalizeString(payload.occurredAt) ?? context.now;
430
+ const sourceEventType = normalizeString(payload.eventType) ?? `strava:${resourceType}:delete`;
431
+ if (!resourceId) {
432
+ throw deviceSyncError({
433
+ code: "STRAVA_DELETE_JOB_INVALID",
434
+ message: "Strava delete job payload must include resourceId.",
435
+ retryable: false,
436
+ });
437
+ }
438
+ await context.importSnapshot({
439
+ accountId: context.account.externalAccountId,
440
+ importedAt: context.now,
441
+ deletions: [
442
+ buildDeleteMarker({
443
+ resourceId,
444
+ resourceType,
445
+ occurredAt,
446
+ sourceEventType,
447
+ }),
448
+ ],
449
+ });
450
+ return {};
451
+ }
452
+ return {
453
+ provider: descriptor.provider,
454
+ descriptor,
455
+ webhookAdmin,
456
+ buildConnectUrl(context) {
457
+ return buildOAuthConnectUrl({
458
+ baseUrl: authBaseUrl,
459
+ authorizePath: STRAVA_AUTHORIZE_PATH,
460
+ clientId: config.clientId,
461
+ callbackUrl: context.callbackUrl,
462
+ scopes: normalizeStravaScopes(context.scopes.length > 0 ? context.scopes : scopes),
463
+ state: context.state,
464
+ scopeDelimiter: ",",
465
+ extraSearchParams: {
466
+ approval_prompt: "auto",
467
+ },
468
+ });
469
+ },
470
+ async exchangeAuthorizationCode(context, code) {
471
+ const tokenPayload = await postTokenRequest({
472
+ grant_type: "authorization_code",
473
+ client_id: config.clientId,
474
+ client_secret: config.clientSecret,
475
+ code,
476
+ });
477
+ const tokens = tokenResponseToAuthTokens(tokenPayload);
478
+ tokens.refreshToken = requireRefreshToken(tokens.refreshToken, () => deviceSyncError({
479
+ code: "STRAVA_REFRESH_TOKEN_MISSING",
480
+ message: "Strava token response did not include a refresh token.",
481
+ retryable: false,
482
+ httpStatus: 502,
483
+ }));
484
+ let athlete = coerceRecord(tokenPayload.athlete);
485
+ let externalAccountId = normalizeIdentifier(athlete.id);
486
+ if (!externalAccountId) {
487
+ athlete = await fetchAthleteProfile(tokens.accessToken);
488
+ externalAccountId = normalizeIdentifier(athlete.id);
489
+ }
490
+ if (!externalAccountId) {
491
+ throw deviceSyncError({
492
+ code: "STRAVA_ATHLETE_INVALID",
493
+ message: "Strava token response did not include a stable athlete identifier.",
494
+ retryable: false,
495
+ httpStatus: 502,
496
+ });
497
+ }
498
+ const grantedScopes = resolveAccountScopes(context.grantedScopes, tokenPayload.scope);
499
+ return {
500
+ externalAccountId,
501
+ displayName: formatDeviceSyncAccountLabel(descriptor.provider, externalAccountId),
502
+ scopes: grantedScopes,
503
+ tokens,
504
+ initialJobs: [
505
+ {
506
+ kind: "backfill",
507
+ priority: 100,
508
+ payload: buildWindowJobPayload({
509
+ now: context.now,
510
+ windowDays: backfillDays,
511
+ includeAthlete: true,
512
+ kind: "backfill",
513
+ }),
514
+ },
515
+ ],
516
+ nextReconcileAt: addMilliseconds(context.now, reconcileIntervalMs),
517
+ };
518
+ },
519
+ async refreshTokens(account) {
520
+ return refreshOAuthTokens({
521
+ postTokenRequest,
522
+ account,
523
+ clientId: config.clientId,
524
+ clientSecret: config.clientSecret,
525
+ tokenResponseToAuthTokens,
526
+ buildMissingRefreshTokenError: () => deviceSyncError({
527
+ code: "STRAVA_REFRESH_TOKEN_MISSING",
528
+ message: "Strava account does not have a refresh token and must be reconnected.",
529
+ retryable: false,
530
+ accountStatus: "reauthorization_required",
531
+ }),
532
+ resolveRefreshToken: ({ responseRefreshToken }) => requireRefreshToken(responseRefreshToken, () => deviceSyncError({
533
+ code: "STRAVA_REFRESH_TOKEN_MISSING",
534
+ message: "Strava refresh response did not include a refresh token.",
535
+ retryable: false,
536
+ accountStatus: "reauthorization_required",
537
+ })),
538
+ });
539
+ },
540
+ async revokeAccess(account) {
541
+ await deauthorize(account.accessToken);
542
+ },
543
+ createScheduledJobs(account, now) {
544
+ return buildScheduledReconcileJobs({
545
+ accountId: account.id,
546
+ nextReconcileAt: account.nextReconcileAt,
547
+ now,
548
+ reconcileDays,
549
+ reconcileIntervalMs,
550
+ payload: {
551
+ windowKind: "reconcile",
552
+ },
553
+ });
554
+ },
555
+ async verifyAndParseWebhook(context) {
556
+ let payload;
557
+ try {
558
+ payload = JSON.parse(context.rawBody.toString("utf8"));
559
+ }
560
+ catch (error) {
561
+ throw deviceSyncError({
562
+ code: "STRAVA_WEBHOOK_JSON_INVALID",
563
+ message: "Strava webhook payload must be valid JSON.",
564
+ retryable: false,
565
+ httpStatus: 400,
566
+ details: {
567
+ cause: error instanceof Error ? error.message : String(error),
568
+ },
569
+ });
570
+ }
571
+ const record = coerceRecord(payload);
572
+ const objectType = normalizeWebhookObjectType(record.object_type);
573
+ const aspectType = normalizeWebhookAspectType(record.aspect_type);
574
+ const ownerId = normalizeIdentifier(record.owner_id);
575
+ const objectId = normalizeIdentifier(record.object_id);
576
+ const occurredAt = epochSecondsToIso(record.event_time) ?? context.now;
577
+ if (!objectType || !aspectType || !ownerId || !objectId) {
578
+ throw deviceSyncError({
579
+ code: "STRAVA_WEBHOOK_PAYLOAD_INVALID",
580
+ message: "Strava webhook payload was missing object_type, aspect_type, owner_id, or object_id.",
581
+ retryable: false,
582
+ httpStatus: 400,
583
+ });
584
+ }
585
+ const updates = coerceRecord(record.updates);
586
+ const deauthorization = isAthleteDeauthorizationEvent({
587
+ objectType,
588
+ aspectType,
589
+ updates,
590
+ });
591
+ const eventType = deauthorization ? "athlete.deauthorized" : `${objectType}.${aspectType}`;
592
+ const traceId = buildWebhookTraceId({
593
+ aspect_type: aspectType,
594
+ event_time: record.event_time ?? null,
595
+ object_id: objectId,
596
+ object_type: objectType,
597
+ owner_id: ownerId,
598
+ subscription_id: normalizeIdentifier(record.subscription_id) ?? null,
599
+ updates,
600
+ });
601
+ const jobs = [];
602
+ if (deauthorization) {
603
+ jobs.push({
604
+ kind: "deauthorize",
605
+ priority: STRAVA_DEAUTHORIZE_WEBHOOK_PRIORITY,
606
+ dedupeKey: `deauthorize:${ownerId}`,
607
+ payload: {
608
+ eventType,
609
+ occurredAt,
610
+ resourceId: objectId,
611
+ resourceType: objectType,
612
+ },
613
+ });
614
+ }
615
+ else if (objectType === "activity") {
616
+ const jobKind = aspectType === "delete" ? "delete" : "resource";
617
+ jobs.push({
618
+ kind: jobKind,
619
+ priority: jobKind === "delete" ? STRAVA_DELETE_WEBHOOK_PRIORITY : STRAVA_ACTIVITY_WEBHOOK_PRIORITY,
620
+ dedupeKey: buildWebhookDedupeKey({
621
+ externalAccountId: ownerId,
622
+ resourceType: objectType,
623
+ resourceId: objectId,
624
+ eventType,
625
+ occurredAt,
626
+ }),
627
+ payload: {
628
+ eventType,
629
+ occurredAt,
630
+ resourceId: objectId,
631
+ resourceType: objectType,
632
+ },
633
+ });
634
+ }
635
+ return {
636
+ externalAccountId: ownerId,
637
+ eventType,
638
+ traceId,
639
+ occurredAt,
640
+ resourceCategory: objectType,
641
+ jobs,
642
+ };
643
+ },
644
+ async executeJob(context, job) {
645
+ switch (job.kind) {
646
+ case "backfill":
647
+ return executeWindowImport(context, job.payload, backfillDays);
648
+ case "reconcile":
649
+ return executeWindowImport(context, job.payload, reconcileDays);
650
+ case "resource":
651
+ return executeResourceImport(context, job.payload);
652
+ case "delete":
653
+ return executeDeleteImport(context, job.payload);
654
+ case "deauthorize":
655
+ await context.disconnectAccount?.();
656
+ return {};
657
+ default:
658
+ throw deviceSyncError({
659
+ code: "STRAVA_JOB_KIND_UNSUPPORTED",
660
+ message: `Strava job kind ${job.kind} is not supported.`,
661
+ retryable: false,
662
+ });
663
+ }
664
+ },
665
+ };
666
+ }
667
+ //# sourceMappingURL=strava.js.map