@murphai/murph 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/CHANGELOG.md +808 -0
  2. package/config.schema.json +91 -40
  3. package/dist/bin.js +6 -4
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli-entry.d.ts +8 -1
  6. package/dist/cli-entry.d.ts.map +1 -1
  7. package/dist/cli-entry.js +79 -3
  8. package/dist/cli-entry.js.map +1 -1
  9. package/dist/commands/audit-command-helpers.d.ts.map +1 -1
  10. package/dist/commands/audit-command-helpers.js +7 -5
  11. package/dist/commands/audit-command-helpers.js.map +1 -1
  12. package/dist/commands/batch.d.ts +5 -5
  13. package/dist/commands/batch.d.ts.map +1 -1
  14. package/dist/commands/batch.js +2 -21
  15. package/dist/commands/batch.js.map +1 -1
  16. package/dist/commands/commons.d.ts.map +1 -1
  17. package/dist/commands/commons.js +2 -4
  18. package/dist/commands/commons.js.map +1 -1
  19. package/dist/commands/exercise.d.ts.map +1 -1
  20. package/dist/commands/exercise.js +16 -3
  21. package/dist/commands/exercise.js.map +1 -1
  22. package/dist/commands/experiment-progress-card-image.d.ts.map +1 -1
  23. package/dist/commands/experiment-progress-card-image.js +63 -12
  24. package/dist/commands/experiment-progress-card-image.js.map +1 -1
  25. package/dist/commands/experiment.d.ts.map +1 -1
  26. package/dist/commands/experiment.js +45 -5
  27. package/dist/commands/experiment.js.map +1 -1
  28. package/dist/commands/export-intake-read-helpers.d.ts.map +1 -1
  29. package/dist/commands/export-intake-read-helpers.js +2 -3
  30. package/dist/commands/export-intake-read-helpers.js.map +1 -1
  31. package/dist/commands/food.d.ts.map +1 -1
  32. package/dist/commands/food.js +1 -7
  33. package/dist/commands/food.js.map +1 -1
  34. package/dist/commands/habitat.d.ts.map +1 -1
  35. package/dist/commands/habitat.js +120 -9
  36. package/dist/commands/habitat.js.map +1 -1
  37. package/dist/commands/health-blood-test-save.d.ts.map +1 -1
  38. package/dist/commands/health-blood-test-save.js +42 -8
  39. package/dist/commands/health-blood-test-save.js.map +1 -1
  40. package/dist/commands/meal.d.ts.map +1 -1
  41. package/dist/commands/meal.js +4 -1
  42. package/dist/commands/meal.js.map +1 -1
  43. package/dist/commands/measurement.d.ts.map +1 -1
  44. package/dist/commands/measurement.js +3 -0
  45. package/dist/commands/measurement.js.map +1 -1
  46. package/dist/commands/murph-age.d.ts +9 -1
  47. package/dist/commands/murph-age.d.ts.map +1 -1
  48. package/dist/commands/murph-age.js +132 -7
  49. package/dist/commands/murph-age.js.map +1 -1
  50. package/dist/commands/public-validation-issue.d.ts +7 -0
  51. package/dist/commands/public-validation-issue.d.ts.map +1 -0
  52. package/dist/commands/public-validation-issue.js +7 -0
  53. package/dist/commands/public-validation-issue.js.map +1 -0
  54. package/dist/commands/scheduled-log.d.ts +12 -0
  55. package/dist/commands/scheduled-log.d.ts.map +1 -1
  56. package/dist/commands/scheduled-log.js +456 -106
  57. package/dist/commands/scheduled-log.js.map +1 -1
  58. package/dist/commands/wearables.d.ts +286 -0
  59. package/dist/commands/wearables.d.ts.map +1 -1
  60. package/dist/commands/wearables.js +33 -1
  61. package/dist/commands/wearables.js.map +1 -1
  62. package/dist/commands/workout-live.d.ts.map +1 -1
  63. package/dist/commands/workout-live.js +123 -42
  64. package/dist/commands/workout-live.js.map +1 -1
  65. package/dist/commands/workout-typed-options.d.ts +38 -0
  66. package/dist/commands/workout-typed-options.d.ts.map +1 -0
  67. package/dist/commands/workout-typed-options.js +90 -0
  68. package/dist/commands/workout-typed-options.js.map +1 -0
  69. package/dist/commands/workout.d.ts.map +1 -1
  70. package/dist/commands/workout.js +80 -73
  71. package/dist/commands/workout.js.map +1 -1
  72. package/dist/hosted-data-api-labels.d.ts.map +1 -1
  73. package/dist/hosted-data-api-labels.js +161 -30
  74. package/dist/hosted-data-api-labels.js.map +1 -1
  75. package/dist/incur-error-bridge.d.ts.map +1 -1
  76. package/dist/incur-error-bridge.js +7 -15
  77. package/dist/incur-error-bridge.js.map +1 -1
  78. package/dist/incur.generated.d.ts +22 -13
  79. package/dist/incur.generated.d.ts.map +1 -1
  80. package/dist/mapbox-address.d.ts.map +1 -1
  81. package/dist/mapbox-address.js +3 -4
  82. package/dist/mapbox-address.js.map +1 -1
  83. package/dist/mapbox-route-client.d.ts +2 -2
  84. package/dist/mapbox-route-client.d.ts.map +1 -1
  85. package/dist/mapbox-route-client.js +49 -12
  86. package/dist/mapbox-route-client.js.map +1 -1
  87. package/dist/mapbox-route-directions.d.ts.map +1 -1
  88. package/dist/mapbox-route-directions.js +0 -1
  89. package/dist/mapbox-route-directions.js.map +1 -1
  90. package/dist/mapbox-route-elevation.js +0 -1
  91. package/dist/mapbox-route-elevation.js.map +1 -1
  92. package/dist/mapbox-route-points.js +0 -2
  93. package/dist/mapbox-route-points.js.map +1 -1
  94. package/dist/mapbox-route.d.ts.map +1 -1
  95. package/dist/mapbox-route.js +1 -1
  96. package/dist/mapbox-route.js.map +1 -1
  97. package/dist/vault-cli-command-manifest.d.ts +304 -6
  98. package/dist/vault-cli-command-manifest.d.ts.map +1 -1
  99. package/dist/vault-cli-skill-hash.generated.d.ts +1 -1
  100. package/dist/vault-cli-skill-hash.generated.js +1 -1
  101. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts.map +1 -1
  102. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js +6 -2
  103. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
  104. package/node_modules/@murphai/assistant-engine/README.md +4 -3
  105. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts +15 -1
  106. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts.map +1 -1
  107. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js +121 -24
  108. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js.map +1 -1
  109. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js +2 -2
  110. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js.map +1 -1
  111. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts.map +1 -1
  112. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js +1 -0
  113. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js.map +1 -1
  114. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
  115. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +55 -7
  116. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
  117. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
  118. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +9 -1
  119. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
  120. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +1 -0
  121. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
  122. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
  123. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-contract.generated.json +1 -1
  124. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts +1 -1
  125. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts.map +1 -1
  126. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js +7 -7
  127. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js.map +1 -1
  128. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts +1 -1
  129. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts.map +1 -1
  130. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js +123 -22
  131. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js.map +1 -1
  132. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.d.ts.map +1 -1
  133. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js +48 -19
  134. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js.map +1 -1
  135. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js +3 -7
  136. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js.map +1 -1
  137. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts +5 -0
  138. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts.map +1 -1
  139. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js +24 -10
  140. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js.map +1 -1
  141. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts +2 -0
  142. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts.map +1 -1
  143. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js +12 -0
  144. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
  145. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +5 -0
  146. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
  147. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +9 -10
  148. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
  149. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +41 -9
  150. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts.map +1 -1
  151. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js +9 -0
  152. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
  153. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.d.ts.map +1 -1
  154. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js +2 -0
  155. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js.map +1 -1
  156. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts +3 -0
  157. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts.map +1 -1
  158. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js +8 -0
  159. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js.map +1 -1
  160. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts +3 -0
  161. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts.map +1 -1
  162. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js +26 -1
  163. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js.map +1 -1
  164. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
  165. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +687 -370
  166. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
  167. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts.map +1 -1
  168. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js +54 -18
  169. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js.map +1 -1
  170. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +2 -3
  171. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts.map +1 -1
  172. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js +10 -9
  173. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -1
  174. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +1 -1
  175. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
  176. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +146 -18
  177. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
  178. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.d.ts +25 -0
  179. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.d.ts.map +1 -0
  180. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.js +72 -0
  181. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.js.map +1 -0
  182. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts +4 -0
  183. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts.map +1 -1
  184. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js +14 -0
  185. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js.map +1 -1
  186. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts +1 -1
  187. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
  188. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +8 -5
  189. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
  190. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +4 -0
  191. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
  192. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +8 -0
  193. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
  194. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js +1 -0
  195. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js.map +1 -1
  196. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
  197. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +25 -2
  198. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
  199. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts +11 -3
  200. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts.map +1 -1
  201. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js +67 -176
  202. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js.map +1 -1
  203. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +17 -0
  204. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
  205. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js.map +1 -1
  206. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.d.ts +1 -1
  207. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.d.ts.map +1 -1
  208. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js +10 -0
  209. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js.map +1 -1
  210. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts +19 -4
  211. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts.map +1 -1
  212. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js +76 -40
  213. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js.map +1 -1
  214. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +3 -1
  215. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
  216. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts +4 -2
  217. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
  218. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +8 -7
  219. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
  220. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -1
  221. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts.map +1 -1
  222. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js +1 -1
  223. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
  224. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +1 -0
  225. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
  226. package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
  227. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +6 -0
  228. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js.map +1 -1
  229. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +3 -0
  230. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
  231. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +57 -29
  232. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
  233. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts +1 -0
  234. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts.map +1 -1
  235. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js +17 -3
  236. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js.map +1 -1
  237. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts +4 -7
  238. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts.map +1 -1
  239. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js +21 -6
  240. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js.map +1 -1
  241. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts +1 -0
  242. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
  243. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +6 -0
  244. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
  245. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts +1 -1
  246. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.map +1 -1
  247. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts +1 -1
  248. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts.map +1 -1
  249. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js.map +1 -1
  250. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js +8 -0
  251. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js.map +1 -1
  252. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.d.ts.map +1 -1
  253. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js +1 -0
  254. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js.map +1 -1
  255. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.d.ts +49 -0
  256. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.d.ts.map +1 -0
  257. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.js +387 -0
  258. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.js.map +1 -0
  259. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts +1 -1
  260. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts.map +1 -1
  261. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js +12 -13
  262. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js.map +1 -1
  263. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts +1 -0
  264. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts.map +1 -1
  265. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js +16 -5
  266. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js.map +1 -1
  267. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts +1 -1
  268. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts.map +1 -1
  269. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js +2 -1
  270. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js.map +1 -1
  271. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts +4 -0
  272. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts.map +1 -1
  273. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js +26 -13
  274. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js.map +1 -1
  275. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts +1024 -1091
  276. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts.map +1 -1
  277. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js +354 -330
  278. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js.map +1 -1
  279. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.d.ts +50 -0
  280. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.d.ts.map +1 -0
  281. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.js +79 -0
  282. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.js.map +1 -0
  283. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.d.ts +4 -0
  284. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.d.ts.map +1 -0
  285. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.js +153 -0
  286. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.js.map +1 -0
  287. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts +4 -1
  288. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts.map +1 -1
  289. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js +29 -35
  290. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js.map +1 -1
  291. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts +4 -1
  292. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts.map +1 -1
  293. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js +43 -9
  294. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js.map +1 -1
  295. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts +6 -0
  296. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts.map +1 -1
  297. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.js.map +1 -1
  298. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.d.ts +60 -0
  299. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.d.ts.map +1 -0
  300. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.js +91 -0
  301. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.js.map +1 -0
  302. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts +41 -1
  303. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts.map +1 -1
  304. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js +85 -9
  305. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js.map +1 -1
  306. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts +25 -2
  307. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts.map +1 -1
  308. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js +280 -89
  309. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js.map +1 -1
  310. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js +1 -1
  311. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.d.ts.map +1 -1
  312. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js +1 -3
  313. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js.map +1 -1
  314. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.d.ts +19 -0
  315. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.d.ts.map +1 -0
  316. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.js +203 -0
  317. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.js.map +1 -0
  318. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts +9 -1
  319. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
  320. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +220 -130
  321. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
  322. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts +1 -1
  323. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts.map +1 -1
  324. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js +1 -1
  325. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js.map +1 -1
  326. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts +1 -1
  327. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts.map +1 -1
  328. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js +1 -1
  329. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js.map +1 -1
  330. package/node_modules/@murphai/assistant-engine/dist/index.d.ts +2 -1
  331. package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
  332. package/node_modules/@murphai/assistant-engine/dist/index.js +1 -0
  333. package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
  334. package/node_modules/@murphai/assistant-engine/skills/automatic-meal-capture/SKILL.md +111 -68
  335. package/node_modules/@murphai/assistant-engine/skills/behavior-followthrough/SKILL.md +0 -2
  336. package/node_modules/@murphai/assistant-engine/skills/daily-activity/SKILL.md +11 -4
  337. package/node_modules/@murphai/assistant-engine/skills/food-journal/SKILL.md +83 -22
  338. package/node_modules/@murphai/assistant-engine/skills/hosted-low-usage/SKILL.md +3 -3
  339. package/node_modules/@murphai/assistant-engine/skills/murph-family/SKILL.md +1 -1
  340. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/SKILL.md +17 -11
  341. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-goals.md +62 -34
  342. package/node_modules/@murphai/assistant-engine/skills/physical-notes/SKILL.md +47 -0
  343. package/node_modules/@murphai/assistant-engine/skills/shared/exercise-catalog-runtime.md +6 -0
  344. package/node_modules/@murphai/assistant-engine/skills/signup-link/SKILL.md +1 -1
  345. package/node_modules/@murphai/assistant-engine/skills/strength-training/SKILL.md +12 -5
  346. package/node_modules/@murphai/assistant-engine/skills/tracked-table/SKILL.md +156 -66
  347. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
  348. package/node_modules/@murphai/core/dist/automation.js +17 -9
  349. package/node_modules/@murphai/core/dist/automation.js.map +1 -1
  350. package/node_modules/@murphai/core/dist/bank/habitat.d.ts +2 -0
  351. package/node_modules/@murphai/core/dist/bank/habitat.d.ts.map +1 -1
  352. package/node_modules/@murphai/core/dist/bank/habitat.js +27 -0
  353. package/node_modules/@murphai/core/dist/bank/habitat.js.map +1 -1
  354. package/node_modules/@murphai/core/dist/bank/regimens.js +1 -1
  355. package/node_modules/@murphai/core/dist/bank/regimens.js.map +1 -1
  356. package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts +21 -0
  357. package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts.map +1 -1
  358. package/node_modules/@murphai/core/dist/domains/events/ledger.js +102 -8
  359. package/node_modules/@murphai/core/dist/domains/events/ledger.js.map +1 -1
  360. package/node_modules/@murphai/core/dist/domains/events.d.ts +2 -2
  361. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
  362. package/node_modules/@murphai/core/dist/domains/events.js +1 -1
  363. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
  364. package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -1
  365. package/node_modules/@murphai/core/dist/history/api.js +18 -3
  366. package/node_modules/@murphai/core/dist/history/api.js.map +1 -1
  367. package/node_modules/@murphai/core/dist/index.d.ts +4 -2
  368. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
  369. package/node_modules/@murphai/core/dist/index.js +3 -1
  370. package/node_modules/@murphai/core/dist/index.js.map +1 -1
  371. package/node_modules/@murphai/core/dist/mutations.d.ts +25 -2
  372. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
  373. package/node_modules/@murphai/core/dist/mutations.js +1588 -78
  374. package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
  375. package/node_modules/@murphai/core/dist/operations/index.d.ts +1 -1
  376. package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -1
  377. package/node_modules/@murphai/core/dist/operations/index.js +1 -1
  378. package/node_modules/@murphai/core/dist/operations/index.js.map +1 -1
  379. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +2 -0
  380. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
  381. package/node_modules/@murphai/core/dist/operations/write-batch.js +7 -0
  382. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
  383. package/node_modules/@murphai/core/dist/protocols.d.ts.map +1 -1
  384. package/node_modules/@murphai/core/dist/protocols.js +52 -9
  385. package/node_modules/@murphai/core/dist/protocols.js.map +1 -1
  386. package/node_modules/@murphai/core/dist/public-mutations.d.ts +1 -1
  387. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
  388. package/node_modules/@murphai/core/dist/public-mutations.js +2 -2
  389. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
  390. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts +3 -0
  391. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts.map +1 -1
  392. package/node_modules/@murphai/core/dist/scheduled-logs.js +65 -29
  393. package/node_modules/@murphai/core/dist/scheduled-logs.js.map +1 -1
  394. package/node_modules/@murphai/device-syncd/README.md +140 -46
  395. package/node_modules/@murphai/device-syncd/dist/client.d.ts +14 -0
  396. package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -1
  397. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
  398. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts +4 -1
  399. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts.map +1 -1
  400. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js +24 -2
  401. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js.map +1 -1
  402. package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js +2 -2
  403. package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js.map +1 -1
  404. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +53 -0
  405. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts.map +1 -1
  406. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js +13 -0
  407. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js.map +1 -1
  408. package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts +1 -1
  409. package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts.map +1 -1
  410. package/node_modules/@murphai/device-syncd/dist/connect-config.js +1 -1
  411. package/node_modules/@murphai/device-syncd/dist/connect-config.js.map +1 -1
  412. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.d.ts +57 -0
  413. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.d.ts.map +1 -0
  414. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.js +166 -0
  415. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.js.map +1 -0
  416. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +43 -0
  417. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
  418. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +129 -5
  419. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
  420. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts +3 -0
  421. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts.map +1 -1
  422. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js +36 -16
  423. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js.map +1 -1
  424. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.d.ts +17 -2
  425. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.d.ts.map +1 -1
  426. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.js +99 -40
  427. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.js.map +1 -1
  428. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.d.ts +17 -0
  429. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.d.ts.map +1 -0
  430. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.js +45 -0
  431. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.js.map +1 -0
  432. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts +8 -1
  433. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts.map +1 -1
  434. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js +12 -1
  435. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js.map +1 -1
  436. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts +7 -0
  437. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts.map +1 -1
  438. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js +285 -46
  439. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js.map +1 -1
  440. package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts +9 -0
  441. package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts.map +1 -1
  442. package/node_modules/@murphai/device-syncd/dist/providers/junction.js +2045 -367
  443. package/node_modules/@murphai/device-syncd/dist/providers/junction.js.map +1 -1
  444. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +2 -0
  445. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -1
  446. package/node_modules/@murphai/device-syncd/dist/public-account.js +96 -0
  447. package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -1
  448. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
  449. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +6 -4
  450. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
  451. package/node_modules/@murphai/device-syncd/dist/service.d.ts +6 -2
  452. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
  453. package/node_modules/@murphai/device-syncd/dist/service.js +385 -44
  454. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
  455. package/node_modules/@murphai/device-syncd/dist/source-staleness.d.ts +15 -0
  456. package/node_modules/@murphai/device-syncd/dist/source-staleness.d.ts.map +1 -1
  457. package/node_modules/@murphai/device-syncd/dist/source-staleness.js +25 -1
  458. package/node_modules/@murphai/device-syncd/dist/source-staleness.js.map +1 -1
  459. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +10 -1
  460. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
  461. package/node_modules/@murphai/device-syncd/dist/store/jobs.js +95 -1
  462. package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -1
  463. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +1 -1
  464. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -1
  465. package/node_modules/@murphai/device-syncd/dist/store/schema.js +25 -3
  466. package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -1
  467. package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts +24 -2
  468. package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts.map +1 -1
  469. package/node_modules/@murphai/device-syncd/dist/store/sources.js +223 -14
  470. package/node_modules/@murphai/device-syncd/dist/store/sources.js.map +1 -1
  471. package/node_modules/@murphai/device-syncd/dist/store.d.ts +13 -3
  472. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
  473. package/node_modules/@murphai/device-syncd/dist/store.js +104 -22
  474. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
  475. package/node_modules/@murphai/device-syncd/dist/types.d.ts +96 -9
  476. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
  477. package/node_modules/@murphai/device-syncd/dist/types.js +4 -0
  478. package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
  479. package/node_modules/@murphai/device-syncd/package.json +8 -0
  480. package/node_modules/@murphai/health-metrics/dist/definitions/activity.d.ts.map +1 -1
  481. package/node_modules/@murphai/health-metrics/dist/definitions/activity.js +66 -0
  482. package/node_modules/@murphai/health-metrics/dist/definitions/activity.js.map +1 -1
  483. package/node_modules/@murphai/health-metrics/dist/definitions/body.js +2 -2
  484. package/node_modules/@murphai/health-metrics/dist/definitions/body.js.map +1 -1
  485. package/node_modules/@murphai/health-metrics/dist/normalize.d.ts.map +1 -1
  486. package/node_modules/@murphai/health-metrics/dist/normalize.js +3 -0
  487. package/node_modules/@murphai/health-metrics/dist/normalize.js.map +1 -1
  488. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts +3 -1
  489. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts.map +1 -1
  490. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js +5 -1
  491. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js.map +1 -1
  492. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.d.ts +79 -0
  493. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.d.ts.map +1 -1
  494. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.js +19 -0
  495. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.js.map +1 -1
  496. package/node_modules/@murphai/importers/dist/core-port.d.ts +15 -1
  497. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -1
  498. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -1
  499. package/node_modules/@murphai/importers/dist/create-importers.d.ts +9 -1
  500. package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -1
  501. package/node_modules/@murphai/importers/dist/create-importers.js +12 -2
  502. package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -1
  503. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +17 -3
  504. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -1
  505. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +102 -8
  506. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -1
  507. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +5 -4
  508. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
  509. package/node_modules/@murphai/importers/dist/device-providers/index.js +4 -3
  510. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
  511. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts +11 -1
  512. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts.map +1 -1
  513. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js +420 -27
  514. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js.map +1 -1
  515. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.d.ts +1 -0
  516. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.d.ts.map +1 -1
  517. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.js +7 -2
  518. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.js.map +1 -1
  519. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts +4 -1
  520. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts.map +1 -1
  521. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js +42 -1
  522. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js.map +1 -1
  523. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.d.ts +79 -0
  524. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.d.ts.map +1 -0
  525. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.js +356 -0
  526. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.js.map +1 -0
  527. package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts +76 -3
  528. package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts.map +1 -1
  529. package/node_modules/@murphai/importers/dist/device-providers/junction.js +1676 -347
  530. package/node_modules/@murphai/importers/dist/device-providers/junction.js.map +1 -1
  531. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -1
  532. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +1 -0
  533. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -1
  534. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +9 -1
  535. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -1
  536. package/node_modules/@murphai/importers/dist/index.d.ts +2 -2
  537. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
  538. package/node_modules/@murphai/importers/dist/index.js +1 -1
  539. package/node_modules/@murphai/importers/dist/index.js.map +1 -1
  540. package/node_modules/@murphai/inboxd/README.md +1 -1
  541. package/node_modules/@murphai/inboxd/dist/indexing/retention.d.ts +6 -0
  542. package/node_modules/@murphai/inboxd/dist/indexing/retention.d.ts.map +1 -1
  543. package/node_modules/@murphai/inboxd/dist/indexing/retention.js +64 -18
  544. package/node_modules/@murphai/inboxd/dist/indexing/retention.js.map +1 -1
  545. package/node_modules/@murphai/inboxd/dist/retention.d.ts +1 -1
  546. package/node_modules/@murphai/inboxd/dist/retention.d.ts.map +1 -1
  547. package/node_modules/@murphai/inboxd/dist/retention.js +1 -1
  548. package/node_modules/@murphai/inboxd/dist/retention.js.map +1 -1
  549. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +1 -0
  550. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
  551. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +5 -0
  552. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
  553. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts +175 -152
  554. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts.map +1 -1
  555. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js +62 -41
  556. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js.map +1 -1
  557. package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts.map +1 -1
  558. package/node_modules/@murphai/operator-config/dist/device-sync-client.js +1 -5
  559. package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
  560. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +66 -0
  561. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
  562. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +58 -0
  563. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
  564. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.d.ts +24 -0
  565. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.d.ts.map +1 -0
  566. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.js +219 -0
  567. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.js.map +1 -0
  568. package/node_modules/@murphai/operator-config/dist/vault-cli-errors.d.ts.map +1 -1
  569. package/node_modules/@murphai/operator-config/dist/vault-cli-errors.js.map +1 -1
  570. package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts +9 -0
  571. package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts.map +1 -1
  572. package/node_modules/@murphai/operator-config/dist/workout-action-binding.js +48 -5
  573. package/node_modules/@murphai/operator-config/dist/workout-action-binding.js.map +1 -1
  574. package/node_modules/@murphai/operator-config/package.json +5 -0
  575. package/node_modules/@murphai/query/README.md +20 -5
  576. package/node_modules/@murphai/query/dist/browser-replica/build.d.ts +1 -1
  577. package/node_modules/@murphai/query/dist/browser-replica/build.d.ts.map +1 -1
  578. package/node_modules/@murphai/query/dist/browser-replica/build.js +25 -16
  579. package/node_modules/@murphai/query/dist/browser-replica/build.js.map +1 -1
  580. package/node_modules/@murphai/query/dist/browser-replica/json.d.ts +6 -0
  581. package/node_modules/@murphai/query/dist/browser-replica/json.d.ts.map +1 -0
  582. package/node_modules/@murphai/query/dist/browser-replica/json.js +103 -0
  583. package/node_modules/@murphai/query/dist/browser-replica/json.js.map +1 -0
  584. package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts +1 -0
  585. package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts.map +1 -1
  586. package/node_modules/@murphai/query/dist/browser-replica/source.d.ts +13 -0
  587. package/node_modules/@murphai/query/dist/browser-replica/source.d.ts.map +1 -0
  588. package/node_modules/@murphai/query/dist/browser-replica/source.js +45 -0
  589. package/node_modules/@murphai/query/dist/browser-replica/source.js.map +1 -0
  590. package/node_modules/@murphai/query/dist/browser-replica-server.d.ts +2 -0
  591. package/node_modules/@murphai/query/dist/browser-replica-server.d.ts.map +1 -1
  592. package/node_modules/@murphai/query/dist/browser-replica-server.js +2 -0
  593. package/node_modules/@murphai/query/dist/browser-replica-server.js.map +1 -1
  594. package/node_modules/@murphai/query/dist/health/blood-tests.d.ts.map +1 -1
  595. package/node_modules/@murphai/query/dist/health/blood-tests.js +3 -2
  596. package/node_modules/@murphai/query/dist/health/blood-tests.js.map +1 -1
  597. package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts +11 -1
  598. package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts.map +1 -1
  599. package/node_modules/@murphai/query/dist/health/canonical-collector.js +39 -16
  600. package/node_modules/@murphai/query/dist/health/canonical-collector.js.map +1 -1
  601. package/node_modules/@murphai/query/dist/health/entity-slices.d.ts +9 -3
  602. package/node_modules/@murphai/query/dist/health/entity-slices.d.ts.map +1 -1
  603. package/node_modules/@murphai/query/dist/health/entity-slices.js +6 -6
  604. package/node_modules/@murphai/query/dist/health/entity-slices.js.map +1 -1
  605. package/node_modules/@murphai/query/dist/health/immunizations.d.ts.map +1 -1
  606. package/node_modules/@murphai/query/dist/health/immunizations.js +14 -11
  607. package/node_modules/@murphai/query/dist/health/immunizations.js.map +1 -1
  608. package/node_modules/@murphai/query/dist/health/loaders.d.ts +21 -7
  609. package/node_modules/@murphai/query/dist/health/loaders.d.ts.map +1 -1
  610. package/node_modules/@murphai/query/dist/health/loaders.js +53 -15
  611. package/node_modules/@murphai/query/dist/health/loaders.js.map +1 -1
  612. package/node_modules/@murphai/query/dist/health/registries.d.ts +1 -0
  613. package/node_modules/@murphai/query/dist/health/registries.d.ts.map +1 -1
  614. package/node_modules/@murphai/query/dist/health/registries.js.map +1 -1
  615. package/node_modules/@murphai/query/dist/index.d.ts +4 -3
  616. package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
  617. package/node_modules/@murphai/query/dist/index.js +4 -3
  618. package/node_modules/@murphai/query/dist/index.js.map +1 -1
  619. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts +1 -1
  620. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -1
  621. package/node_modules/@murphai/query/dist/meal-nutrition.js +10 -3
  622. package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -1
  623. package/node_modules/@murphai/query/dist/metrics/projection.d.ts.map +1 -1
  624. package/node_modules/@murphai/query/dist/metrics/projection.js +19 -6
  625. package/node_modules/@murphai/query/dist/metrics/projection.js.map +1 -1
  626. package/node_modules/@murphai/query/dist/murph-age.d.ts +5 -1
  627. package/node_modules/@murphai/query/dist/murph-age.d.ts.map +1 -1
  628. package/node_modules/@murphai/query/dist/murph-age.js +22 -8
  629. package/node_modules/@murphai/query/dist/murph-age.js.map +1 -1
  630. package/node_modules/@murphai/query/dist/projection/entity-store.js +4 -4
  631. package/node_modules/@murphai/query/dist/projection/entity-store.js.map +1 -1
  632. package/node_modules/@murphai/query/dist/projection/schema.d.ts +1 -1
  633. package/node_modules/@murphai/query/dist/projection/schema.d.ts.map +1 -1
  634. package/node_modules/@murphai/query/dist/projection/schema.js +3 -1
  635. package/node_modules/@murphai/query/dist/projection/schema.js.map +1 -1
  636. package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js +4 -0
  637. package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js.map +1 -1
  638. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js +4 -0
  639. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js.map +1 -1
  640. package/node_modules/@murphai/query/dist/query-visibility.d.ts +5 -0
  641. package/node_modules/@murphai/query/dist/query-visibility.d.ts.map +1 -1
  642. package/node_modules/@murphai/query/dist/query-visibility.js +11 -5
  643. package/node_modules/@murphai/query/dist/query-visibility.js.map +1 -1
  644. package/node_modules/@murphai/query/dist/read-model.d.ts +8 -0
  645. package/node_modules/@murphai/query/dist/read-model.d.ts.map +1 -1
  646. package/node_modules/@murphai/query/dist/read-model.js +11 -1
  647. package/node_modules/@murphai/query/dist/read-model.js.map +1 -1
  648. package/node_modules/@murphai/query/dist/scheduled-logs.d.ts.map +1 -1
  649. package/node_modules/@murphai/query/dist/scheduled-logs.js +55 -79
  650. package/node_modules/@murphai/query/dist/scheduled-logs.js.map +1 -1
  651. package/node_modules/@murphai/query/dist/vault-source.d.ts +22 -4
  652. package/node_modules/@murphai/query/dist/vault-source.d.ts.map +1 -1
  653. package/node_modules/@murphai/query/dist/vault-source.js +188 -59
  654. package/node_modules/@murphai/query/dist/vault-source.js.map +1 -1
  655. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
  656. package/node_modules/@murphai/query/dist/wearables/candidates.js +26 -15
  657. package/node_modules/@murphai/query/dist/wearables/candidates.js.map +1 -1
  658. package/node_modules/@murphai/query/dist/wearables/public-output.d.ts.map +1 -1
  659. package/node_modules/@murphai/query/dist/wearables/public-output.js +6 -0
  660. package/node_modules/@murphai/query/dist/wearables/public-output.js.map +1 -1
  661. package/node_modules/@murphai/query/dist/wearables/source-health.d.ts.map +1 -1
  662. package/node_modules/@murphai/query/dist/wearables/source-health.js +4 -0
  663. package/node_modules/@murphai/query/dist/wearables/source-health.js.map +1 -1
  664. package/node_modules/@murphai/query/dist/wearables/types.d.ts +41 -4
  665. package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
  666. package/node_modules/@murphai/query/dist/wearables/types.js +2 -0
  667. package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
  668. package/node_modules/@murphai/query/dist/wearables/workout-features.d.ts +5 -0
  669. package/node_modules/@murphai/query/dist/wearables/workout-features.d.ts.map +1 -0
  670. package/node_modules/@murphai/query/dist/wearables/workout-features.js +179 -0
  671. package/node_modules/@murphai/query/dist/wearables/workout-features.js.map +1 -0
  672. package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
  673. package/node_modules/@murphai/query/dist/wearables.js +23 -6
  674. package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
  675. package/node_modules/@murphai/query/package.json +5 -0
  676. package/node_modules/@murphai/runtime-state/README.md +1 -1
  677. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts +4 -0
  678. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts.map +1 -1
  679. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js +16 -3
  680. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js.map +1 -1
  681. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +1 -0
  682. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -1
  683. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +31 -0
  684. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -1
  685. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +5 -0
  686. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -1
  687. package/node_modules/@murphai/runtime-state/dist/hosted-email.js +10 -0
  688. package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -1
  689. package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.d.ts.map +1 -1
  690. package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.js +6 -15
  691. package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.js.map +1 -1
  692. package/node_modules/@murphai/vault-usecases/README.md +9 -0
  693. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts +6 -0
  694. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts.map +1 -1
  695. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js +49 -1
  696. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js.map +1 -1
  697. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -1
  698. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +22 -12
  699. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js.map +1 -1
  700. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts.map +1 -1
  701. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js +1 -3
  702. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js.map +1 -1
  703. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
  704. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +24 -18
  705. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
  706. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.d.ts.map +1 -1
  707. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js +1 -3
  708. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js.map +1 -1
  709. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts +8 -0
  710. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts.map +1 -1
  711. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js +56 -5
  712. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js.map +1 -1
  713. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.d.ts +20 -0
  714. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.d.ts.map +1 -0
  715. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.js +72 -0
  716. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.js.map +1 -0
  717. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +1 -1
  718. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
  719. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +42 -9
  720. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
  721. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
  722. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js +158 -24
  723. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js.map +1 -1
  724. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
  725. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +98 -5
  726. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
  727. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
  728. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +20 -4
  729. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
  730. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.d.ts.map +1 -1
  731. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js +49 -24
  732. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js.map +1 -1
  733. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -1
  734. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +13 -11
  735. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -1
  736. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
  737. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +18 -11
  738. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
  739. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts.map +1 -1
  740. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +43 -1
  741. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js.map +1 -1
  742. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
  743. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +1 -3
  744. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
  745. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts +2 -0
  746. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts.map +1 -1
  747. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js +24 -1
  748. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js.map +1 -1
  749. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +2 -0
  750. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
  751. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts +36 -4
  752. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts.map +1 -1
  753. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js +48 -12
  754. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js.map +1 -1
  755. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts +14 -14
  756. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts.map +1 -1
  757. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js +84 -82
  758. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js.map +1 -1
  759. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts +16 -4
  760. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts.map +1 -1
  761. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js +316 -79
  762. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js.map +1 -1
  763. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
  764. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +19 -17
  765. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
  766. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts +20 -7
  767. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
  768. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +56 -31
  769. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js.map +1 -1
  770. package/node_modules/incur/dist/Cli.js +7 -32
  771. package/node_modules/incur/dist/Errors.d.ts +17 -0
  772. package/node_modules/incur/dist/Errors.js +23 -0
  773. package/node_modules/incur/dist/internal/command.d.ts +2 -0
  774. package/node_modules/incur/dist/internal/command.js +2 -6
  775. package/node_modules/incur/src/Cli.ts +11 -32
  776. package/node_modules/incur/src/Errors.ts +36 -0
  777. package/node_modules/incur/src/internal/command.ts +4 -6
  778. package/package.json +4 -4
  779. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-safety.md +0 -211
@@ -4,7 +4,7 @@ import { hostedRuntimeAssistantPersonalizationModelToolRequestSchema, } from '@m
4
4
  import { HOSTED_EXECUTION_ASSISTANT_ASK_QUESTION_MAX_CODE_POINTS, HOSTED_EXECUTION_ASSISTANT_ASK_TARGET_LABEL_MAX_CODE_POINTS, HOSTED_EXECUTION_DAILY_METRIC_MAX_UNIT_LENGTH, } from '@murphai/hosted-execution/contracts';
5
5
  import { HOSTED_EXECUTION_MEMBER_REPORTED_DAILY_METRIC_KEYS, } from '@murphai/hosted-execution';
6
6
  import { hostedRuntimePendingGroupSetupInputSchema, } from '@murphai/hosted-execution/pending-group-setup';
7
- import { HOSTED_FAMILY_PLAN_CODES, HOSTED_PRODUCT_FEEDBACK_KINDS, HOSTED_PRODUCT_FEEDBACK_SUMMARY_MAX_LENGTH, HOSTED_PRODUCT_SUPPORT_ESCALATION_PREFIX, isHostedProductSupportEscalationFeedback, HOSTED_RUNTIME_ASSISTANT_ASK_REQUEST_ID_MAX_CODE_POINTS, HOSTED_RUNTIME_GROUP_DISCLOSURE_PERMISSION_TEXT_MAX_CODE_POINTS, HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH, HOSTED_RUNTIME_GROUP_JOIN_OFFER_LEGACY_MESSAGE_TEMPLATE, HOSTED_RUNTIME_GROUP_EMAIL_HTML_MAX_LENGTH, HOSTED_RUNTIME_GROUP_EMAIL_SUBJECT_MAX_LENGTH, HOSTED_RUNTIME_GROUP_EMAIL_TEXT_MAX_LENGTH, HOSTED_USAGE_REFERRAL_POLICY_CODES, isHostedRuntimeAssistantAskDiagnosticCode, isHostedRuntimeAssistantAskRequestId, sanitizeHostedProductFeedbackSummary, } from '@murphai/hosted-execution/runtime-control';
7
+ import { HOSTED_FAMILY_PLAN_CODES, HOSTED_PRODUCT_FEEDBACK_KINDS, HOSTED_PRODUCT_FEEDBACK_SUMMARY_MAX_LENGTH, HOSTED_PRODUCT_SUPPORT_ESCALATION_PREFIX, isHostedProductSupportEscalationFeedback, HOSTED_RUNTIME_ASSISTANT_ASK_REQUEST_ID_MAX_CODE_POINTS, HOSTED_RUNTIME_GROUP_CONTEXT_HANDOFF_MAX_CODE_POINTS, HOSTED_RUNTIME_GROUP_DISCLOSURE_PERMISSION_TEXT_MAX_CODE_POINTS, HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH, HOSTED_RUNTIME_GROUP_JOIN_OFFER_LEGACY_MESSAGE_TEMPLATE, HOSTED_RUNTIME_GROUP_EMAIL_HTML_MAX_LENGTH, HOSTED_RUNTIME_GROUP_EMAIL_SUBJECT_MAX_LENGTH, HOSTED_RUNTIME_GROUP_EMAIL_TEXT_MAX_LENGTH, HOSTED_USAGE_REFERRAL_POLICY_CODES, isHostedRuntimeAssistantAskDiagnosticCode, isHostedRuntimeAssistantAskRequestId, sanitizeHostedProductFeedbackSummary, } from '@murphai/hosted-execution/runtime-control';
8
8
  import { HOSTED_ASSISTANT_PRODUCT_MODELS, HOSTED_ASSISTANT_PROVIDERS, HOSTED_ASSISTANT_REASONING_EFFORTS, } from '@murphai/hosted-execution/assistant-model';
9
9
  import { HOSTED_GROUP_MEMBER_PLAN_DISPLAY_NAME, HOSTED_PLAN_USAGE_DIRECT_BILLING_PLAN_CODES, } from '@murphai/hosted-execution/plan-usage';
10
10
  import { hostedRuntimeSubscriptionToolRequestSchema, } from '@murphai/hosted-execution/subscription';
@@ -38,16 +38,17 @@ import { executeDeviceDynamicTool, readDeviceDynamicToolRequest, } from './dynam
38
38
  import { executeLabsDynamicTool, readLabsDynamicToolRequest, } from './dynamic-tools/labs.js';
39
39
  import { executePendingVaultFilesDynamicTool, readPendingVaultFilesDynamicToolRequest, } from './dynamic-tools/pending-vault-files.js';
40
40
  import { executeGroupRoomModelDynamicTool, readGroupRoomModelDynamicToolRequest, } from './dynamic-tools/group-room-model.js';
41
+ import { executeMemberMemoryDynamicTool, readMemberMemoryDynamicToolRequest, } from './dynamic-tools/member-memory.js';
41
42
  import { readClinicalRecordsConnectLinkDynamicToolRequest, } from './dynamic-tools/clinical-records.js';
42
43
  import { executeConnectedAppsDynamicTool, readConnectedAppsDynamicToolRequest, } from './dynamic-tools/connected-apps.js';
43
44
  import { executeGenerateVoiceMemoDynamicTool, MURPH_GENERATE_VOICE_MEMO_TOOL, parseGenerateVoiceMemoArguments, } from './dynamic-tools/generate-voice-memo.js';
44
45
  import { createPhoneCallRequestKey, createScheduledPhoneCallRequestKey, normalizePhoneCallBriefForConversationScope, readPhoneCallDynamicToolRequest, } from './dynamic-tools/phone-calls.js';
45
46
  import { buildPhysicalNoteFailureInstruction, createPhysicalNoteRequestKey, readPhysicalNoteDynamicToolRequest, resolvePhysicalNoteExplicitOriginInputId, } from './dynamic-tools/physical-notes.js';
46
- import { buildResponseCardValidationFeedback, } from './response-card-validation-feedback.js';
47
47
  import { executeGenerateSongDynamicTool, MURPH_GENERATE_SONG_TOOL, parseGenerateSongArguments, } from './dynamic-tools/generate-song.js';
48
48
  import { executeAskGrokDynamicTool, MURPH_ASK_GROK_TOOL, parseAskGrokArguments, } from './dynamic-tools/ask-grok.js';
49
+ import { executeAnalyzeVideoDynamicTool, MURPH_ANALYZE_VIDEO_TOOL, parseAnalyzeVideoArguments, } from './dynamic-tools/analyze-video.js';
49
50
  export * from './dynamic-tool-catalog.js';
50
- import { asRecord, ASSISTANT_ACCEPTED_MESSAGE_REF_PATTERN, GENERATE_IMAGE_REFERENCE_IMAGE_REFS_DESCRIPTION, GROUP_ACCESS_FRESH_NATIVE_RESPONSE_HANDLING, HOSTED_COMPUTER_UNKNOWN_OUTCOME_TEXT, MURPH_ASSISTANT_CONFIGURATION_TOOL, MURPH_ATTACH_EXERCISE_ROUTINE_CARD_TOOL, MURPH_ATTACH_RESPONSE_CARD_TOOL, MURPH_ATTACH_TELEGRAM_RICH_CONTENT_TOOL, MURPH_ATTACH_RESPONSE_MEDIA_TOOL, MURPH_COMPUTER_ACT_TOOL, MURPH_COMPUTER_FINISH_RUN_TOOL, MURPH_COMPUTER_OPEN_TOOL, MURPH_COMPUTER_OS_CONTROL_TOOL, MURPH_COMPUTER_PAUSE_FOR_USER_TOOL, MURPH_FAMILY_PLAN_TOOL, MURPH_FINISH_WITHOUT_REPLY_TOOL, MURPH_GENERATE_IMAGE_TOOL, MURPH_GROUP_TOOL, MURPH_IMESSAGE_CONTACT_TOOL, MURPH_PERSONALIZATION_TOOL, MURPH_PLAN_USAGE_TOOL, MURPH_REACT_TO_MESSAGE_TOOL, MURPH_SELECT_REPLY_TARGET_TOOL, MURPH_SEND_PROGRESS_UPDATE_TOOL, MURPH_SEND_VAULT_FILE_TOOL, MURPH_SUBMIT_PRODUCT_FEEDBACK_TOOL, MURPH_SUBSCRIPTION_TOOL, } from './dynamic-tool-catalog.js';
51
+ import { asRecord, ASSISTANT_ACCEPTED_MESSAGE_REF_PATTERN, GENERATE_IMAGE_REFERENCE_IMAGE_REFS_DESCRIPTION, GROUP_ACCESS_FRESH_NATIVE_RESPONSE_HANDLING, HOSTED_COMPUTER_UNKNOWN_OUTCOME_TEXT, MURPH_ASSISTANT_CONFIGURATION_TOOL, MURPH_ATTACH_EXERCISE_ROUTINE_CARD_TOOL, MURPH_ATTACH_RESPONSE_CARD_TOOL, MURPH_ATTACH_TELEGRAM_RICH_CONTENT_TOOL, MURPH_ATTACH_RESPONSE_MEDIA_TOOL, MURPH_COMPUTER_ACT_TOOL, MURPH_COMPUTER_FINISH_RUN_TOOL, MURPH_COMPUTER_OPEN_TOOL, MURPH_COMPUTER_OS_CONTROL_TOOL, MURPH_COMPUTER_PAUSE_FOR_USER_TOOL, MURPH_FAMILY_PLAN_TOOL, MURPH_FINISH_WITHOUT_REPLY_TOOL, MURPH_GENERATE_IMAGE_TOOL, MURPH_GROUP_TOOL_FAMILY_ACTIONS, MURPH_GROUP_TOOL_NAME, MURPH_GROUP_TOOL_ROOT_KEYS_BY_NAME, MURPH_IMESSAGE_CONTACT_TOOL, MURPH_PERSONALIZATION_TOOL, MURPH_PLAN_USAGE_TOOL, MURPH_REACT_TO_MESSAGE_TOOL, MURPH_SELECT_REPLY_TARGET_TOOL, MURPH_SEND_PROGRESS_UPDATE_TOOL, MURPH_SEND_VAULT_FILE_TOOL, MURPH_SUBMIT_PRODUCT_FEEDBACK_TOOL, MURPH_SUBSCRIPTION_TOOL, } from './dynamic-tool-catalog.js';
51
52
  const CODEX_DYNAMIC_TOOL_CALL_METHOD = 'item/tool/call';
52
53
  function addAttachResponseCardArgumentIssues(value, context) {
53
54
  if (value.card.kind === 'compact_table' &&
@@ -158,6 +159,18 @@ const groupVaultShareProjectionScopeSchema = z.unknown().transform((value, conte
158
159
  }
159
160
  return scope;
160
161
  });
162
+ const groupLabelSchema = z
163
+ .string()
164
+ .trim()
165
+ .min(1)
166
+ .refine((value) => Array.from(value).length
167
+ <= HOSTED_EXECUTION_ASSISTANT_ASK_TARGET_LABEL_MAX_CODE_POINTS, { message: 'groupLabel exceeds the Unicode code-point limit' });
168
+ const groupHandoffContextSchema = z
169
+ .string()
170
+ .trim()
171
+ .min(1)
172
+ .refine((value) => Array.from(value).length
173
+ <= HOSTED_RUNTIME_GROUP_CONTEXT_HANDOFF_MAX_CODE_POINTS, { message: 'context exceeds the Unicode code-point limit' });
161
174
  const groupQuestionSchema = z
162
175
  .string()
163
176
  .trim()
@@ -174,16 +187,17 @@ const groupArgumentsSchema = z.discriminatedUnion('action', [
174
187
  z
175
188
  .object({
176
189
  action: z.literal('ask'),
177
- groupLabel: z
178
- .string()
179
- .trim()
180
- .min(1)
181
- .refine((value) => Array.from(value).length
182
- <= HOSTED_EXECUTION_ASSISTANT_ASK_TARGET_LABEL_MAX_CODE_POINTS, { message: 'groupLabel exceeds the Unicode code-point limit' })
183
- .optional(),
190
+ groupLabel: groupLabelSchema.optional(),
184
191
  question: groupQuestionSchema,
185
192
  })
186
193
  .strict(),
194
+ z
195
+ .object({
196
+ action: z.literal('handoff'),
197
+ context: groupHandoffContextSchema,
198
+ groupLabel: groupLabelSchema.optional(),
199
+ })
200
+ .strict(),
187
201
  z
188
202
  .object({
189
203
  action: z.literal('ask_current_sender'),
@@ -399,6 +413,10 @@ const groupArgumentsSchema = z.discriminatedUnion('action', [
399
413
  .refine((projectionScopes) => new Set(projectionScopes.map(buildHostedVaultShareProjectionScopeKey)).size === projectionScopes.length, { message: 'projectionScopes must contain unique exact scopes' })
400
414
  .optional(),
401
415
  standaloneLink: z.boolean().optional(),
416
+ message_ref: z
417
+ .string()
418
+ .regex(new RegExp(ASSISTANT_ACCEPTED_MESSAGE_REF_PATTERN, 'u'))
419
+ .optional(),
402
420
  })
403
421
  .strict(),
404
422
  z
@@ -732,6 +750,13 @@ export function readMurphDynamicToolRequest(message, input) {
732
750
  if (groupRoomModelRequest) {
733
751
  return groupRoomModelRequest;
734
752
  }
753
+ const memberMemoryRequest = readMemberMemoryDynamicToolRequest({
754
+ arguments: request.arguments,
755
+ tool: request.tool,
756
+ });
757
+ if (memberMemoryRequest) {
758
+ return memberMemoryRequest;
759
+ }
735
760
  const connectedAppsRequest = readConnectedAppsDynamicToolRequest({
736
761
  arguments: request.arguments,
737
762
  tool: request.tool,
@@ -888,6 +913,19 @@ export function readMurphDynamicToolRequest(message, input) {
888
913
  args: parsed.args,
889
914
  };
890
915
  }
916
+ case MURPH_ANALYZE_VIDEO_TOOL.name: {
917
+ const parsed = parseAnalyzeVideoArguments(request.arguments);
918
+ if (!parsed.ok) {
919
+ return {
920
+ kind: 'invalid-analyze-video-arguments',
921
+ validationDigest: parsed.validationDigest,
922
+ };
923
+ }
924
+ return {
925
+ kind: 'analyze-video',
926
+ args: parsed.args,
927
+ };
928
+ }
891
929
  case MURPH_ASK_GROK_TOOL.name: {
892
930
  const parsed = parseAskGrokArguments(request.arguments);
893
931
  if (!parsed.ok) {
@@ -1009,8 +1047,14 @@ export function readMurphDynamicToolRequest(message, input) {
1009
1047
  request: parsed.request,
1010
1048
  };
1011
1049
  }
1012
- case MURPH_GROUP_TOOL.name: {
1013
- const parsed = parseGroupArguments(request.arguments);
1050
+ case MURPH_GROUP_TOOL_NAME:
1051
+ case 'group_consult':
1052
+ case 'group_data':
1053
+ case 'group_membership':
1054
+ case 'group_usage':
1055
+ case 'group_chat':
1056
+ case 'group_email': {
1057
+ const parsed = parseGroupArguments(request.arguments, request.tool);
1014
1058
  if (!parsed.ok) {
1015
1059
  return {
1016
1060
  kind: 'invalid-group-arguments',
@@ -1191,6 +1235,12 @@ export async function executeMurphDynamicToolRequest(input) {
1191
1235
  !canExecuteComputerDynamicTools(input.hostedToolContext ?? null)) {
1192
1236
  return toolTextResult(false, 'computer tools are unavailable without hosted computer-use transport');
1193
1237
  }
1238
+ if ('validationDigest' in input.request
1239
+ && input.request.kind !== 'invalid-automation-arguments') {
1240
+ return invalidDynamicToolArgumentsResult(input.request.kind === 'invalid-progress-arguments'
1241
+ ? 'invalid_progress_update_arguments'
1242
+ : input.request.kind.replaceAll('-', '_'), input.request.validationDigest);
1243
+ }
1194
1244
  switch (input.request.kind) {
1195
1245
  case 'invalid-automation-arguments': {
1196
1246
  switch (input.request.safeFailureCode) {
@@ -1212,54 +1262,6 @@ export async function executeMurphDynamicToolRequest(input) {
1212
1262
  return invalidDynamicToolArgumentsResult('invalid_automation_arguments', input.request.validationDigest);
1213
1263
  }
1214
1264
  }
1215
- case 'invalid-device-arguments':
1216
- return toolTextResult(false, 'invalid device arguments');
1217
- case 'invalid-labs-arguments':
1218
- return toolTextResult(false, 'invalid labs arguments');
1219
- case 'invalid-pending-vault-files-arguments':
1220
- return toolTextResult(false, 'invalid pending vault-file arguments');
1221
- case 'invalid-group-room-model-arguments':
1222
- return toolTextResult(false, 'invalid group room-model arguments');
1223
- case 'invalid-connected-apps-arguments':
1224
- return toolTextResult(false, 'invalid connected-app arguments');
1225
- case 'invalid-assistant-style-arguments':
1226
- return toolTextResult(false, 'invalid assistant style arguments');
1227
- case 'invalid-generate-image-arguments':
1228
- return toolTextResult(false, 'invalid image generation arguments');
1229
- case 'invalid-computer-arguments':
1230
- return toolTextResult(false, 'invalid computer tool arguments');
1231
- case 'invalid-generate-voice-memo-arguments':
1232
- return invalidDynamicToolArgumentsResult('invalid_generate_voice_memo_arguments', input.request.validationDigest);
1233
- case 'invalid-generate-song-arguments':
1234
- return toolTextResult(false, 'invalid song generation arguments');
1235
- case 'invalid-ask-grok-arguments':
1236
- return toolTextResult(false, 'invalid ask_grok arguments');
1237
- case 'invalid-progress-arguments':
1238
- return toolTextResult(false, 'invalid progress update arguments');
1239
- case 'invalid-reaction-arguments':
1240
- return toolTextResult(false, 'invalid reaction arguments');
1241
- case 'invalid-reply-target-arguments':
1242
- return toolTextResult(false, 'invalid reply target arguments');
1243
- case 'invalid-product-feedback-arguments':
1244
- return toolTextResult(false, 'invalid product feedback arguments');
1245
- case 'invalid-family-plan-arguments':
1246
- return toolTextResult(false, 'invalid family plan arguments');
1247
- case 'invalid-personalization-arguments':
1248
- return toolTextResult(false, 'invalid personalization arguments');
1249
- case 'invalid-plan-usage-arguments':
1250
- return toolTextResult(false, 'invalid plan usage arguments');
1251
- case 'invalid-imessage-contact-arguments':
1252
- return toolTextResult(false, 'invalid iMessage contact arguments');
1253
- case 'invalid-subscription-arguments':
1254
- return toolTextResult(false, 'invalid subscription arguments');
1255
- case 'invalid-assistant-configuration-arguments':
1256
- return toolTextResult(false, 'invalid assistant configuration arguments');
1257
- case 'invalid-group-arguments':
1258
- return toolTextResult(false, 'invalid group arguments');
1259
- case 'invalid-finish-without-reply-arguments':
1260
- return toolTextResult(false, 'invalid no-reply arguments');
1261
- case 'invalid-response-card-arguments':
1262
- return toolTextResult(false, buildResponseCardValidationFeedback(input.request.validationDigest));
1263
1265
  case 'response-card-envelope-too-large':
1264
1266
  if (input.privateDirectResponseCardAllowed !== true) {
1265
1267
  return toolTextResult(false, 'response cards require a private direct conversation');
@@ -1274,16 +1276,6 @@ export async function executeMurphDynamicToolRequest(input) {
1274
1276
  ...toolTextResult(true, 'workout card envelope too large; full text recovery selected'),
1275
1277
  responseCardTextFallbackPatch: { card: input.request.card },
1276
1278
  };
1277
- case 'invalid-response-media-arguments':
1278
- return invalidDynamicToolArgumentsResult('invalid_response_media_arguments', input.request.validationDigest);
1279
- case 'invalid-send-vault-file-arguments':
1280
- return toolTextResult(false, 'invalid vault file arguments');
1281
- case 'invalid-phone-call-arguments':
1282
- return toolTextResult(false, 'invalid phone-call arguments');
1283
- case 'invalid-physical-note-arguments':
1284
- return toolTextResult(false, 'invalid physical-note arguments');
1285
- case 'invalid-clinical-records-connect-link-arguments':
1286
- return toolTextResult(false, 'invalid Clinical Records connect-link arguments');
1287
1279
  case 'unsupported-dynamic-tool':
1288
1280
  return toolTextResult(false, 'unsupported dynamic tool');
1289
1281
  case 'attach-group-challenge-response-card':
@@ -1392,12 +1384,25 @@ export async function executeMurphDynamicToolRequest(input) {
1392
1384
  userActionScope: input.hostedToolContext?.currentUserActionScope?.() ?? null,
1393
1385
  vaultRoot: input.vaultRoot ?? null,
1394
1386
  });
1387
+ case 'member-memory':
1388
+ return await executeMemberMemoryDynamicTool({
1389
+ available: input.memberMemoryAvailable === true,
1390
+ managedMaintenanceAuthorized: input.memberMemoryMaintenanceAuthorized === true,
1391
+ request: input.request,
1392
+ vaultRoot: input.vaultRoot ?? null,
1393
+ });
1395
1394
  case 'device': {
1396
1395
  const deviceTool = input.hostedToolContext?.deviceTool ?? null;
1397
1396
  if (!deviceTool) {
1398
1397
  return toolTextResult(false, 'device management is unavailable for this turn');
1399
1398
  }
1399
+ const invocationScope = input.hostedToolContext?.currentInvocationScope?.() ?? null;
1400
+ const acceptedInputAuthority = invocationScope?.conversationScope === 'direct'
1401
+ && invocationScope.origin.kind === 'accepted_input'
1402
+ ? { assistantInputId: invocationScope.origin.assistantInputId }
1403
+ : null;
1400
1404
  return await executeDeviceDynamicTool({
1405
+ acceptedInputAuthority,
1401
1406
  abortSignal: input.abortSignal ?? null,
1402
1407
  deviceTool,
1403
1408
  request: input.request,
@@ -1491,6 +1496,61 @@ export async function executeMurphDynamicToolRequest(input) {
1491
1496
  return replyRequiredResult(false, 'secure vault-file approval could not be prepared');
1492
1497
  }
1493
1498
  }
1499
+ case 'resolve-physical-note': {
1500
+ const hostedToolContext = input.hostedToolContext ?? null;
1501
+ const resolvePhysicalNote = hostedToolContext?.physicalNotes?.resolve;
1502
+ const userActionScope = hostedToolContext?.currentUserActionScope?.() ?? null;
1503
+ const explicitOriginCandidate = userActionScope
1504
+ ? resolvePhysicalNoteExplicitOriginInputId({
1505
+ acceptedInputIds: userActionScope.acceptedInputIds,
1506
+ conversationScope: userActionScope.conversationScope,
1507
+ messageRef: input.request.messageRef,
1508
+ })
1509
+ : null;
1510
+ const originAssistantInputId = explicitOriginCandidate && userActionScope
1511
+ ? await authorizeDynamicToolEffectOrigin({
1512
+ authorizer: input.authorizeAcceptedMessageTarget ?? null,
1513
+ conversationScope: userActionScope.conversationScope,
1514
+ deliveryContextOrdinal: input.deliveryContextOrdinal ?? null,
1515
+ messageRef: explicitOriginCandidate,
1516
+ })
1517
+ : null;
1518
+ if (!resolvePhysicalNote || !originAssistantInputId) {
1519
+ return toolTextResult(false, 'physical-note recovery requires the exact current authorizing Message ref and hosted recovery transport');
1520
+ }
1521
+ try {
1522
+ const result = await resolvePhysicalNote({
1523
+ originAssistantInputId,
1524
+ ...(input.request.targetMessageRef
1525
+ ? {
1526
+ targetKind: input.request.targetKind,
1527
+ targetOriginAssistantInputId: input.request.targetMessageRef,
1528
+ }
1529
+ : {}),
1530
+ }, {
1531
+ signal: input.abortSignal ?? null,
1532
+ });
1533
+ switch (result.status) {
1534
+ case 'accepted':
1535
+ return physicalNoteRecoveryToolResult(true, result.status, result.remainingUnresolved
1536
+ ? `${physicalNoteRecoveryAcceptedCopy(result.settledUsageCostUsdMicros)} A different unresolved submission remains and needs another explicit recovery request.`
1537
+ : physicalNoteRecoveryAcceptedCopy(result.settledUsageCostUsdMicros), result.remainingUnresolved, null, result.settledUsageCostUsdMicros, input.request.targetMessageRef ?? null, input.request.targetKind ?? null);
1538
+ case 'clear':
1539
+ return physicalNoteRecoveryToolResult(true, result.status, result.remainingUnresolved
1540
+ ? 'The checked earlier submission was cleared. A different unresolved submission remains and needs another explicit recovery request. This recovery sent nothing.'
1541
+ : 'The checked earlier submission was cleared. No unresolved physical-note submission remains. This recovery sent nothing; a future note needs a separate request.', result.remainingUnresolved, null, null, input.request.targetMessageRef ?? null, input.request.targetKind ?? null);
1542
+ case 'pending':
1543
+ return physicalNoteRecoveryToolResult(true, result.status, 'The earlier outcome is still unconfirmed and cannot be safely cleared. No automatic retry or follow-up is running; this recovery sent nothing.', result.remainingUnresolved, result.retryAfter, null, input.request.targetMessageRef ?? null, input.request.targetKind ?? null);
1544
+ case 'permission_denied':
1545
+ return physicalNoteRecoveryToolResult(false, result.status, 'The earlier submission was not changed because recovery is not available to the current participant.', result.remainingUnresolved, null, null, input.request.targetMessageRef ?? null, input.request.targetKind ?? null);
1546
+ case 'unavailable':
1547
+ return physicalNoteRecoveryToolResult(false, result.status, 'Physical-note recovery is currently unavailable. The earlier submission was not cleared; nothing new was sent and no automatic retry is running.', result.remainingUnresolved, null, null, input.request.targetMessageRef ?? null, input.request.targetKind ?? null);
1548
+ }
1549
+ }
1550
+ catch {
1551
+ return physicalNoteRecoveryToolResult(false, 'unavailable', 'The recovery response was lost, so the earlier submission\'s final state is unconfirmed. Do not claim it cleared or was accepted. Nothing new was sent and no automatic retry is running.', null, null, null, input.request.targetMessageRef ?? null, input.request.targetKind ?? null);
1552
+ }
1553
+ }
1494
1554
  case 'send-physical-note': {
1495
1555
  const hostedToolContext = input.hostedToolContext ?? null;
1496
1556
  const physicalNotes = hostedToolContext?.physicalNotes ?? null;
@@ -2100,6 +2160,23 @@ export async function executeMurphDynamicToolRequest(input) {
2100
2160
  voiceMemoRuntime: input.voiceMemoRuntime ?? null,
2101
2161
  });
2102
2162
  }
2163
+ case 'analyze-video': {
2164
+ const userActionScope = input.hostedToolContext?.currentUserActionScope?.() ?? null;
2165
+ if (userActionScope?.conversationScope !== 'direct') {
2166
+ return toolTextResult(false, 'video analysis requires a verified private direct conversation');
2167
+ }
2168
+ return await executeAnalyzeVideoDynamicTool({
2169
+ abortSignal: input.abortSignal ?? null,
2170
+ acceptedInputIds: userActionScope.acceptedInputIds,
2171
+ attachmentAuthorities: input.hostedToolContext
2172
+ ?.currentAnalyzeVideoAttachmentAuthorities?.() ?? null,
2173
+ args: input.request.args,
2174
+ materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts ?? null,
2175
+ runtime: input.analyzeVideoRuntime ?? null,
2176
+ turnState: input.analyzeVideoTurnState ?? null,
2177
+ vaultRoot: input.vaultRoot ?? null,
2178
+ });
2179
+ }
2103
2180
  case 'ask-grok': {
2104
2181
  return await executeAskGrokDynamicTool({
2105
2182
  abortSignal: input.abortSignal ?? null,
@@ -3056,7 +3133,7 @@ function hasExactStringEntries(actual, expected) {
3056
3133
  return actual.length === expected.length
3057
3134
  && actual.every((value, index) => value === expected[index]);
3058
3135
  }
3059
- function buildGroupAccessOfferHostRequest(request) {
3136
+ function buildGroupAccessOfferHostRequest(request, repostOriginAssistantInputId) {
3060
3137
  if (request.standaloneLink === true) {
3061
3138
  const joinLink = {
3062
3139
  ...(request.displayName === undefined
@@ -3085,6 +3162,9 @@ function buildGroupAccessOfferHostRequest(request) {
3085
3162
  ? {}
3086
3163
  : { projectionScopes: [...request.projectionScopes] }),
3087
3164
  },
3165
+ ...(repostOriginAssistantInputId === null
3166
+ ? {}
3167
+ : { repostOriginAssistantInputId }),
3088
3168
  };
3089
3169
  }
3090
3170
  async function executeGroupTool(input) {
@@ -3131,7 +3211,16 @@ async function executeGroupTool(input) {
3131
3211
  let usageDraft = null;
3132
3212
  let generatedAvatarCapture = null;
3133
3213
  if (input.request.action === 'offer_access') {
3134
- request = buildGroupAccessOfferHostRequest(input.request);
3214
+ let repostOriginAssistantInputId = null;
3215
+ if (input.request.messageRef !== undefined) {
3216
+ const userActionScope = input.hostedToolContext?.currentUserActionScope?.() ?? null;
3217
+ if (userActionScope?.conversationScope !== 'group'
3218
+ || !userActionScope.acceptedInputIds.includes(input.request.messageRef)) {
3219
+ return toolTextResult(false, 'reposting group access requires the exact current accepted Message ref from this group conversation');
3220
+ }
3221
+ repostOriginAssistantInputId = input.request.messageRef;
3222
+ }
3223
+ request = buildGroupAccessOfferHostRequest(input.request, repostOriginAssistantInputId);
3135
3224
  }
3136
3225
  else if (isPreparedContactCardRequest(input.request)) {
3137
3226
  const userActionScope = input.hostedToolContext?.currentUserActionScope?.() ?? null;
@@ -3266,6 +3355,24 @@ async function executeGroupTool(input) {
3266
3355
  question: input.request.question,
3267
3356
  };
3268
3357
  }
3358
+ else if (input.request.action === 'handoff') {
3359
+ const userActionScope = input.hostedToolContext?.currentUserActionScope?.() ?? null;
3360
+ if (userActionScope?.conversationScope !== 'direct') {
3361
+ return toolTextResult(false, 'group handoff requires a fresh user request in a personal direct conversation');
3362
+ }
3363
+ const originAssistantInputId = userActionScope.acceptedInputIds.at(-1) ?? null;
3364
+ if (!originAssistantInputId) {
3365
+ return toolTextResult(false, 'group handoff requires fresh user-sourced input for this turn');
3366
+ }
3367
+ request = {
3368
+ action: 'handoff',
3369
+ context: input.request.context,
3370
+ ...(input.request.groupLabel === undefined
3371
+ ? {}
3372
+ : { groupLabel: input.request.groupLabel }),
3373
+ originAssistantInputId,
3374
+ };
3375
+ }
3269
3376
  else if (input.request.action === 'ask_current_sender') {
3270
3377
  const userActionScope = input.hostedToolContext?.currentUserActionScope?.() ?? null;
3271
3378
  if (userActionScope?.conversationScope !== 'group'
@@ -4472,8 +4579,25 @@ function toolTextResult(success, text) {
4472
4579
  },
4473
4580
  };
4474
4581
  }
4582
+ function physicalNoteRecoveryToolResult(success, status, note, remainingUnresolved, retryAfter = null, settledUsageCostUsdMicros = null, targetMessageRef = null, targetKind = null) {
4583
+ return toolTextResult(success, JSON.stringify({
4584
+ note,
4585
+ remainingUnresolved,
4586
+ retryAfter,
4587
+ settledUsageCostUsdMicros,
4588
+ status,
4589
+ ...(targetMessageRef ? { targetMessageRef } : {}),
4590
+ ...(targetKind ? { targetKind } : {}),
4591
+ }));
4592
+ }
4593
+ function physicalNoteRecoveryAcceptedCopy(settledUsageCostUsdMicros) {
4594
+ const usage = settledUsageCostUsdMicros === null
4595
+ ? ''
4596
+ : ` The earlier accepted note used ${settledUsageCostUsdMicros} USD micros of Murph time. Recovery itself added no separate fee.`;
4597
+ return `The earlier note was accepted for printing, not delivered, and cannot be treated as canceled.${usage} This recovery sent nothing new.`;
4598
+ }
4475
4599
  function invalidDynamicToolArgumentsResult(error, validationDigest) {
4476
- return toolTextResult(false, buildToolCallValidationFeedback(validationDigest, { error }));
4600
+ return toolTextResult(false, buildToolCallValidationFeedback(validationDigest, error));
4477
4601
  }
4478
4602
  function parseDynamicToolCallRequest(message) {
4479
4603
  const request = readCodexServerRequest(message);
@@ -4741,21 +4865,32 @@ function parseAssistantConfigurationArguments(value) {
4741
4865
  request: parsed.data,
4742
4866
  };
4743
4867
  }
4744
- function parseGroupArguments(value) {
4745
- const parsed = groupArgumentsSchema.safeParse(value);
4868
+ function parseGroupArguments(value, toolName) {
4869
+ const qualifiedToolName = `murph.${toolName}`;
4870
+ const parser = toolName === MURPH_GROUP_TOOL_NAME
4871
+ ? groupArgumentsSchema
4872
+ : groupArgumentsSchema.refine((request) => {
4873
+ const acceptedActions = MURPH_GROUP_TOOL_FAMILY_ACTIONS[toolName];
4874
+ return acceptedActions.includes(request.action);
4875
+ }, {
4876
+ message: 'Action is not accepted by this group tool family.',
4877
+ path: ['action'],
4878
+ });
4879
+ const parsed = parser.safeParse(value);
4746
4880
  if (!parsed.success) {
4747
4881
  return {
4748
4882
  ok: false,
4749
4883
  validationDigest: buildDynamicToolValidationDigest({
4750
4884
  error: parsed.error,
4751
4885
  rawInput: value,
4752
- schemaName: 'murph.group.input',
4753
- schemaRootKeys: ['action', 'message_ref'],
4754
- toolName: 'murph.group',
4886
+ schemaName: `${qualifiedToolName}.input`,
4887
+ schemaRootKeys: MURPH_GROUP_TOOL_ROOT_KEYS_BY_NAME[toolName],
4888
+ toolName: qualifiedToolName,
4755
4889
  }),
4756
4890
  };
4757
4891
  }
4758
4892
  if (parsed.data.action === 'ask'
4893
+ || parsed.data.action === 'handoff'
4759
4894
  || parsed.data.action === 'ask_member'
4760
4895
  || parsed.data.action === 'post_disclosure_request'
4761
4896
  || parsed.data.action === 'revoke_disclosure_grant'
@@ -4809,7 +4944,24 @@ function parseGroupArguments(value) {
4809
4944
  return { ok: true, request: parsed.data };
4810
4945
  }
4811
4946
  if (parsed.data.action === 'offer_access') {
4812
- return { ok: true, request: parsed.data };
4947
+ return {
4948
+ ok: true,
4949
+ request: {
4950
+ action: 'offer_access',
4951
+ ...(parsed.data.displayName === undefined
4952
+ ? {}
4953
+ : { displayName: parsed.data.displayName }),
4954
+ ...(parsed.data.message_ref === undefined
4955
+ ? {}
4956
+ : { messageRef: parsed.data.message_ref }),
4957
+ ...(parsed.data.projectionScopes === undefined
4958
+ ? {}
4959
+ : { projectionScopes: parsed.data.projectionScopes }),
4960
+ ...(parsed.data.standaloneLink === undefined
4961
+ ? {}
4962
+ : { standaloneLink: parsed.data.standaloneLink }),
4963
+ },
4964
+ };
4813
4965
  }
4814
4966
  if (parsed.data.action === 'update_display_name') {
4815
4967
  return {
@@ -4866,13 +5018,14 @@ function parseGroupArguments(value) {
4866
5018
  {
4867
5019
  code: z.ZodIssueCode.custom,
4868
5020
  message: 'set_chat_avatar with avatarSource="generate" requires prompt',
5021
+ params: { murphExpectedShape: 'generated_avatar_prompt' },
4869
5022
  path: ['prompt'],
4870
5023
  },
4871
5024
  ]),
4872
5025
  rawInput: value,
4873
- schemaName: 'murph.group.input',
4874
- schemaRootKeys: ['action'],
4875
- toolName: 'murph.group',
5026
+ schemaName: `${qualifiedToolName}.input`,
5027
+ schemaRootKeys: MURPH_GROUP_TOOL_ROOT_KEYS_BY_NAME[toolName],
5028
+ toolName: qualifiedToolName,
4876
5029
  }),
4877
5030
  };
4878
5031
  }
@@ -4902,13 +5055,14 @@ function parseGroupArguments(value) {
4902
5055
  {
4903
5056
  code: z.ZodIssueCode.custom,
4904
5057
  message: 'set_chat_avatar with avatarSource="image_ref" requires imageRef',
5058
+ params: { murphExpectedShape: 'existing_avatar_image_ref' },
4905
5059
  path: ['imageRef'],
4906
5060
  },
4907
5061
  ]),
4908
5062
  rawInput: value,
4909
- schemaName: 'murph.group.input',
4910
- schemaRootKeys: ['action'],
4911
- toolName: 'murph.group',
5063
+ schemaName: `${qualifiedToolName}.input`,
5064
+ schemaRootKeys: MURPH_GROUP_TOOL_ROOT_KEYS_BY_NAME[toolName],
5065
+ toolName: qualifiedToolName,
4912
5066
  }),
4913
5067
  };
4914
5068
  }
@@ -4974,7 +5128,23 @@ function parseGroupArguments(value) {
4974
5128
  },
4975
5129
  };
4976
5130
  }
4977
- return { ok: true, request: { action: 'read_current' } };
5131
+ if (parsed.data.action === 'read_current') {
5132
+ return { ok: true, request: { action: 'read_current' } };
5133
+ }
5134
+ return {
5135
+ ok: false,
5136
+ validationDigest: buildDynamicToolValidationDigest({
5137
+ error: new z.ZodError([{
5138
+ code: z.ZodIssueCode.custom,
5139
+ message: 'Group action has no explicit normalization path.',
5140
+ path: ['action'],
5141
+ }]),
5142
+ rawInput: value,
5143
+ schemaName: `${qualifiedToolName}.input`,
5144
+ schemaRootKeys: MURPH_GROUP_TOOL_ROOT_KEYS_BY_NAME[toolName],
5145
+ toolName: qualifiedToolName,
5146
+ }),
5147
+ };
4978
5148
  }
4979
5149
  function readCurrentSenderToolDecision(action) {
4980
5150
  switch (action) {
@@ -5122,7 +5292,8 @@ function parseAttachResponseCardArguments(value, audience) {
5122
5292
  const schemaName = 'murph.attach_response_card.input';
5123
5293
  const toolName = 'murph.attach_response_card';
5124
5294
  if (audience !== 'group') {
5125
- const parsed = attachResponseCardArgumentsSchema.safeParse(value);
5295
+ const runtimeValue = stampTrackedResponseCardSnapshot(value);
5296
+ const parsed = attachResponseCardArgumentsSchema.safeParse(runtimeValue);
5126
5297
  if (parsed.success) {
5127
5298
  return {
5128
5299
  card: parsed.data.card,
@@ -5132,7 +5303,7 @@ function parseAttachResponseCardArguments(value, audience) {
5132
5303
  }
5133
5304
  if (audience === 'private'
5134
5305
  || Object.hasOwn(asRecord(value) ?? {}, 'card')) {
5135
- const semanticWorkout = attachSemanticWorkoutResponseCardArgumentsSchema.safeParse(value);
5306
+ const semanticWorkout = attachSemanticWorkoutResponseCardArgumentsSchema.safeParse(runtimeValue);
5136
5307
  if (semanticWorkout.success) {
5137
5308
  return {
5138
5309
  card: semanticWorkout.data.card,
@@ -5140,7 +5311,7 @@ function parseAttachResponseCardArguments(value, audience) {
5140
5311
  reason: 'workout-envelope-too-large',
5141
5312
  };
5142
5313
  }
5143
- const diagnosticError = readAttachResponseCardDiagnosticError(value, parsed.error);
5314
+ const diagnosticError = readAttachResponseCardDiagnosticError(runtimeValue, parsed.error);
5144
5315
  return {
5145
5316
  ok: false,
5146
5317
  validationDigest: buildDynamicToolValidationDigest({
@@ -5175,6 +5346,26 @@ function parseAttachResponseCardArguments(value, audience) {
5175
5346
  ok: true,
5176
5347
  };
5177
5348
  }
5349
+ function stampTrackedResponseCardSnapshot(value) {
5350
+ const input = asRecord(value);
5351
+ const card = asRecord(input?.card);
5352
+ const tracking = asRecord(card?.tracking);
5353
+ if (card?.kind !== 'compact_table'
5354
+ || tracking?.kind !== 'workout'
5355
+ || !Object.hasOwn(card, 'workout')) {
5356
+ return value;
5357
+ }
5358
+ return {
5359
+ ...input,
5360
+ card: {
5361
+ ...card,
5362
+ tracking: {
5363
+ ...tracking,
5364
+ snapshotAt: new Date().toISOString(),
5365
+ },
5366
+ },
5367
+ };
5368
+ }
5178
5369
  function readAttachResponseCardDiagnosticError(value, fallbackError) {
5179
5370
  const card = asRecord(asRecord(value)?.card);
5180
5371
  if (card?.kind === 'daily_nutrition') {