@murphai/murph 1.3.0 → 1.3.1

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 (2199) hide show
  1. package/CHANGELOG.md +3077 -0
  2. package/config.schema.json +650 -30
  3. package/dist/cli-entry.js +1 -1
  4. package/dist/cli-entry.js.map +1 -1
  5. package/dist/commands/automation.d.ts +143 -104
  6. package/dist/commands/automation.d.ts.map +1 -1
  7. package/dist/commands/automation.js +71 -13
  8. package/dist/commands/automation.js.map +1 -1
  9. package/dist/commands/batch.d.ts +3 -0
  10. package/dist/commands/batch.d.ts.map +1 -1
  11. package/dist/commands/batch.js +18 -45
  12. package/dist/commands/batch.js.map +1 -1
  13. package/dist/commands/clinical-imports.d.ts +103 -103
  14. package/dist/commands/command-factory-primitives.d.ts +1 -1
  15. package/dist/commands/command-factory-primitives.d.ts.map +1 -1
  16. package/dist/commands/command-factory-primitives.js +1 -1
  17. package/dist/commands/command-factory-primitives.js.map +1 -1
  18. package/dist/commands/commons.d.ts +59 -0
  19. package/dist/commands/commons.d.ts.map +1 -1
  20. package/dist/commands/commons.js +81 -1
  21. package/dist/commands/commons.js.map +1 -1
  22. package/dist/commands/document.d.ts.map +1 -1
  23. package/dist/commands/document.js +31 -1
  24. package/dist/commands/document.js.map +1 -1
  25. package/dist/commands/encounter.d.ts +128 -128
  26. package/dist/commands/event.d.ts.map +1 -1
  27. package/dist/commands/event.js +7 -1
  28. package/dist/commands/event.js.map +1 -1
  29. package/dist/commands/experiment-progress-card-image.d.ts.map +1 -1
  30. package/dist/commands/experiment-progress-card-image.js +13 -4
  31. package/dist/commands/experiment-progress-card-image.js.map +1 -1
  32. package/dist/commands/experiment.d.ts.map +1 -1
  33. package/dist/commands/experiment.js +6 -0
  34. package/dist/commands/experiment.js.map +1 -1
  35. package/dist/commands/export-intake-read-helpers.d.ts.map +1 -1
  36. package/dist/commands/export-intake-read-helpers.js +7 -3
  37. package/dist/commands/export-intake-read-helpers.js.map +1 -1
  38. package/dist/commands/food.d.ts.map +1 -1
  39. package/dist/commands/food.js +12 -4
  40. package/dist/commands/food.js.map +1 -1
  41. package/dist/commands/meal.d.ts.map +1 -1
  42. package/dist/commands/meal.js +54 -3
  43. package/dist/commands/meal.js.map +1 -1
  44. package/dist/commands/measurement.d.ts +1 -0
  45. package/dist/commands/measurement.d.ts.map +1 -1
  46. package/dist/commands/measurement.js +48 -2
  47. package/dist/commands/measurement.js.map +1 -1
  48. package/dist/commands/medication.d.ts +6 -6
  49. package/dist/commands/model.js +7 -11
  50. package/dist/commands/model.js.map +1 -1
  51. package/dist/commands/occurred-at-option.d.ts.map +1 -1
  52. package/dist/commands/occurred-at-option.js +7 -41
  53. package/dist/commands/occurred-at-option.js.map +1 -1
  54. package/dist/commands/payload-schema-command.d.ts +2 -2
  55. package/dist/commands/payload-schema-command.d.ts.map +1 -1
  56. package/dist/commands/payload-schema-command.js +1 -1
  57. package/dist/commands/payload-schema-command.js.map +1 -1
  58. package/dist/commands/research.d.ts.map +1 -1
  59. package/dist/commands/research.js +26 -28
  60. package/dist/commands/research.js.map +1 -1
  61. package/dist/commands/route.d.ts.map +1 -1
  62. package/dist/commands/route.js +45 -1
  63. package/dist/commands/route.js.map +1 -1
  64. package/dist/commands/scheduled-log.d.ts +130 -124
  65. package/dist/commands/scheduled-log.d.ts.map +1 -1
  66. package/dist/commands/wearables.d.ts +1109 -20
  67. package/dist/commands/wearables.d.ts.map +1 -1
  68. package/dist/commands/wearables.js +102 -2
  69. package/dist/commands/wearables.js.map +1 -1
  70. package/dist/commands/workout-live.d.ts +3 -0
  71. package/dist/commands/workout-live.d.ts.map +1 -0
  72. package/dist/commands/workout-live.js +291 -0
  73. package/dist/commands/workout-live.js.map +1 -0
  74. package/dist/commands/workout.d.ts.map +1 -1
  75. package/dist/commands/workout.js +35 -11
  76. package/dist/commands/workout.js.map +1 -1
  77. package/dist/food-labels.d.ts +549 -277
  78. package/dist/food-labels.d.ts.map +1 -1
  79. package/dist/food-labels.js +19 -3
  80. package/dist/food-labels.js.map +1 -1
  81. package/dist/foreground-terminal-logging.js +0 -2
  82. package/dist/foreground-terminal-logging.js.map +1 -1
  83. package/dist/hosted-data-api-labels.d.ts +1683 -871
  84. package/dist/hosted-data-api-labels.d.ts.map +1 -1
  85. package/dist/hosted-data-api-labels.js +63 -1
  86. package/dist/hosted-data-api-labels.js.map +1 -1
  87. package/dist/incur.generated.d.ts +148 -2
  88. package/dist/incur.generated.d.ts.map +1 -1
  89. package/dist/mapbox-address.d.ts +41 -0
  90. package/dist/mapbox-address.d.ts.map +1 -0
  91. package/dist/mapbox-address.js +470 -0
  92. package/dist/mapbox-address.js.map +1 -0
  93. package/dist/mapbox-route-contracts.d.ts +60 -60
  94. package/dist/mapbox-route-contracts.d.ts.map +1 -1
  95. package/dist/mapbox-route-contracts.js +1 -1
  96. package/dist/mapbox-route-contracts.js.map +1 -1
  97. package/dist/mapbox-route-directions.js +1 -1
  98. package/dist/mapbox-route-directions.js.map +1 -1
  99. package/dist/research-scout-client.d.ts +3 -2
  100. package/dist/research-scout-client.d.ts.map +1 -1
  101. package/dist/research-scout-client.js +166 -37
  102. package/dist/research-scout-client.js.map +1 -1
  103. package/dist/research-scout.d.ts +1 -1
  104. package/dist/research-scout.d.ts.map +1 -1
  105. package/dist/research-scout.js +1 -1
  106. package/dist/research-scout.js.map +1 -1
  107. package/dist/supplement-labels.d.ts +545 -275
  108. package/dist/supplement-labels.d.ts.map +1 -1
  109. package/dist/supplement-labels.js +0 -1
  110. package/dist/supplement-labels.js.map +1 -1
  111. package/dist/vault-cli-command-manifest.d.ts +1878 -404
  112. package/dist/vault-cli-command-manifest.d.ts.map +1 -1
  113. package/dist/vault-cli-command-manifest.js +35 -10
  114. package/dist/vault-cli-command-manifest.js.map +1 -1
  115. package/dist/vault-cli-skill-hash.generated.d.ts +1 -1
  116. package/dist/vault-cli-skill-hash.generated.js +1 -1
  117. package/dist/vault-cli-vault-context.js +0 -1
  118. package/dist/vault-cli-vault-context.js.map +1 -1
  119. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +9 -0
  120. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
  121. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.d.ts.map +1 -1
  122. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js +0 -1
  123. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js.map +1 -1
  124. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts.map +1 -1
  125. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js +4 -6
  126. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
  127. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.d.ts.map +1 -1
  128. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js +19 -9
  129. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js.map +1 -1
  130. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.d.ts.map +1 -1
  131. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js +20 -56
  132. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
  133. package/node_modules/@murphai/assistant-engine/README.md +69 -13
  134. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts +6 -3
  135. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts.map +1 -1
  136. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js +52 -19
  137. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js.map +1 -1
  138. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.d.ts +75 -70
  139. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.d.ts.map +1 -1
  140. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js +42 -17
  141. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js.map +1 -1
  142. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts +3 -1
  143. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts.map +1 -1
  144. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js +27 -7
  145. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js.map +1 -1
  146. package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.d.ts.map +1 -1
  147. package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.js +4 -1
  148. package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.js.map +1 -1
  149. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.d.ts +77 -0
  150. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.d.ts.map +1 -0
  151. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.js +777 -0
  152. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.js.map +1 -0
  153. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +1 -0
  154. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts.map +1 -1
  155. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js +36 -4
  156. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js.map +1 -1
  157. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.d.ts.map +1 -1
  158. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.js +3 -1
  159. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.js.map +1 -1
  160. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.d.ts +3 -1
  161. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.d.ts.map +1 -1
  162. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts +10 -2
  163. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts.map +1 -1
  164. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js +33 -13
  165. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js.map +1 -1
  166. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts +12 -1
  167. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
  168. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +803 -171
  169. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
  170. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts +2 -0
  171. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
  172. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +42 -17
  173. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
  174. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts +2 -0
  175. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts.map +1 -1
  176. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js +59 -30
  177. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js.map +1 -1
  178. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +2 -1
  179. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
  180. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js +3 -0
  181. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
  182. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.d.ts +10 -1
  183. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.d.ts.map +1 -1
  184. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.js +62 -1
  185. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.js.map +1 -1
  186. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts +1 -1
  187. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts.map +1 -1
  188. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js +1 -1
  189. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js.map +1 -1
  190. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts +1 -1
  191. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts.map +1 -1
  192. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js +1 -1
  193. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js.map +1 -1
  194. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.d.ts.map +1 -1
  195. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js +107 -44
  196. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js.map +1 -1
  197. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts +3 -1
  198. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts.map +1 -1
  199. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js +34 -3
  200. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js.map +1 -1
  201. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts +22 -14
  202. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts.map +1 -1
  203. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js +352 -78
  204. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js.map +1 -1
  205. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts +43 -8
  206. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts.map +1 -1
  207. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.js.map +1 -1
  208. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.d.ts +1 -0
  209. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.d.ts.map +1 -1
  210. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js +6 -5
  211. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js.map +1 -1
  212. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-contract.generated.json +1 -1
  213. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts +1 -1
  214. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts.map +1 -1
  215. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js +14 -7
  216. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js.map +1 -1
  217. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.d.ts +17 -0
  218. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.d.ts.map +1 -1
  219. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.js +25 -19
  220. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.js.map +1 -1
  221. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.d.ts.map +1 -1
  222. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.js +9 -9
  223. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.js.map +1 -1
  224. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts +3 -7
  225. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts.map +1 -1
  226. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js +172 -48
  227. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js.map +1 -1
  228. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.d.ts +5 -3
  229. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.d.ts.map +1 -1
  230. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js +124 -25
  231. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js.map +1 -1
  232. package/node_modules/@murphai/assistant-engine/dist/assistant/content-types.d.ts +2 -0
  233. package/node_modules/@murphai/assistant-engine/dist/assistant/content-types.d.ts.map +1 -1
  234. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.d.ts +4 -1
  235. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.d.ts.map +1 -1
  236. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js +75 -19
  237. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js.map +1 -1
  238. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.d.ts +1 -1
  239. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.d.ts.map +1 -1
  240. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.js +0 -1
  241. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.js.map +1 -1
  242. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts +1 -0
  243. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts.map +1 -1
  244. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js +2 -0
  245. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js.map +1 -1
  246. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.d.ts +5 -1
  247. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.d.ts.map +1 -1
  248. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.js +178 -31
  249. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.js.map +1 -1
  250. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.d.ts +32 -1
  251. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.d.ts.map +1 -1
  252. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.js +147 -31
  253. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.js.map +1 -1
  254. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.d.ts +8 -0
  255. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.d.ts.map +1 -1
  256. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.js +73 -15
  257. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.js.map +1 -1
  258. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts +3 -1
  259. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts.map +1 -1
  260. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js +420 -112
  261. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js.map +1 -1
  262. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/mutations.d.ts.map +1 -1
  263. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/mutations.js +2 -0
  264. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/mutations.js.map +1 -1
  265. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.d.ts +11 -0
  266. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.d.ts.map +1 -0
  267. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.js +153 -0
  268. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.js.map +1 -0
  269. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts +47 -47
  270. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts.map +1 -1
  271. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js +1 -1
  272. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js.map +1 -1
  273. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts +8 -0
  274. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts.map +1 -1
  275. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js +16 -0
  276. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
  277. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +49 -39
  278. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts.map +1 -1
  279. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js +19 -1
  280. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js.map +1 -1
  281. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.d.ts.map +1 -1
  282. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.js +1 -3
  283. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.js.map +1 -1
  284. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.d.ts +2 -0
  285. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.d.ts.map +1 -0
  286. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.js +2 -0
  287. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.js.map +1 -0
  288. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts +9 -0
  289. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
  290. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +31 -2
  291. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js.map +1 -1
  292. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +3 -0
  293. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
  294. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +32 -1
  295. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
  296. package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.d.ts +2 -1
  297. package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.d.ts.map +1 -1
  298. package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.js +8 -0
  299. package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.js.map +1 -1
  300. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +91 -13
  301. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts.map +1 -1
  302. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js +48 -11
  303. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
  304. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.d.ts.map +1 -1
  305. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js +2 -8
  306. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js.map +1 -1
  307. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.d.ts.map +1 -1
  308. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js +8 -0
  309. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js.map +1 -1
  310. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.d.ts +115 -0
  311. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.d.ts.map +1 -0
  312. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.js +162 -0
  313. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.js.map +1 -0
  314. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.d.ts +3 -0
  315. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.d.ts.map +1 -0
  316. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.js +118 -0
  317. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.js.map +1 -0
  318. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.d.ts +83 -1
  319. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.d.ts.map +1 -1
  320. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.js +27 -22
  321. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.js.map +1 -1
  322. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard.js +8 -0
  323. package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard.js.map +1 -1
  324. package/node_modules/@murphai/assistant-engine/dist/assistant/group-email-outbox.d.ts +20 -0
  325. package/node_modules/@murphai/assistant-engine/dist/assistant/group-email-outbox.d.ts.map +1 -0
  326. package/node_modules/@murphai/assistant-engine/dist/assistant/{newsletter-outbox.js → group-email-outbox.js} +65 -36
  327. package/node_modules/@murphai/assistant-engine/dist/assistant/group-email-outbox.js.map +1 -0
  328. package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.d.ts +2 -48
  329. package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.d.ts.map +1 -1
  330. package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.js +14 -98
  331. package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.js.map +1 -1
  332. package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.d.ts +22 -3
  333. package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.d.ts.map +1 -1
  334. package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.js +87 -28
  335. package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.js.map +1 -1
  336. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.d.ts +2 -0
  337. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.d.ts.map +1 -0
  338. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.js +5 -0
  339. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.js.map +1 -0
  340. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.d.ts +3 -2
  341. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.d.ts.map +1 -1
  342. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.js +21 -2
  343. package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.js.map +1 -1
  344. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.d.ts +31 -0
  345. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.d.ts.map +1 -0
  346. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.js +164 -0
  347. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.js.map +1 -0
  348. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts +77 -24
  349. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts.map +1 -1
  350. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js +184 -63
  351. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js.map +1 -1
  352. package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.d.ts +1 -0
  353. package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.d.ts.map +1 -1
  354. package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.js +2 -1
  355. package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.js.map +1 -1
  356. package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.d.ts +273 -269
  357. package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.d.ts.map +1 -1
  358. package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.js +6 -1
  359. package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.js.map +1 -1
  360. package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.d.ts +3 -0
  361. package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.d.ts.map +1 -0
  362. package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.js +20 -0
  363. package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.js.map +1 -0
  364. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
  365. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +217 -84
  366. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
  367. package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.d.ts +3 -3
  368. package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.d.ts.map +1 -1
  369. package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.js +245 -6
  370. package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.js.map +1 -1
  371. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts +22 -1
  372. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts.map +1 -1
  373. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js +289 -34
  374. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js.map +1 -1
  375. package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.d.ts +13 -22
  376. package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.d.ts.map +1 -1
  377. package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.js +8 -3
  378. package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.js.map +1 -1
  379. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +3 -0
  380. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts.map +1 -1
  381. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js +40 -7
  382. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -1
  383. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +16 -14
  384. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
  385. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +205 -56
  386. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
  387. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.d.ts +14 -0
  388. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.d.ts.map +1 -0
  389. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.js +94 -0
  390. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.js.map +1 -0
  391. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.d.ts +22 -3
  392. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.d.ts.map +1 -1
  393. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.js +81 -7
  394. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.js.map +1 -1
  395. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.d.ts +1 -0
  396. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.d.ts.map +1 -1
  397. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.js +184 -83
  398. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.js.map +1 -1
  399. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js +1 -1
  400. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js.map +1 -1
  401. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/automation-authority.d.ts.map +1 -1
  402. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/automation-authority.js +24 -1
  403. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/automation-authority.js.map +1 -1
  404. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +15 -3
  405. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts.map +1 -1
  406. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js +314 -53
  407. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -1
  408. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts +2 -0
  409. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts.map +1 -1
  410. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js +1 -0
  411. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js.map +1 -1
  412. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/receipt-repair.d.ts.map +1 -1
  413. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/receipt-repair.js +5 -0
  414. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/receipt-repair.js.map +1 -1
  415. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts +4 -1
  416. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts.map +1 -1
  417. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js +33 -8
  418. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js.map +1 -1
  419. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts +37 -3
  420. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
  421. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +1031 -41
  422. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
  423. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/summary.d.ts.map +1 -1
  424. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/summary.js +7 -0
  425. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/summary.js.map +1 -1
  426. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +61 -8
  427. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
  428. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +561 -67
  429. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
  430. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.d.ts +23 -0
  431. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.d.ts.map +1 -0
  432. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js +293 -0
  433. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js.map +1 -0
  434. package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.d.ts +12 -0
  435. package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.d.ts.map +1 -0
  436. package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.js +38 -0
  437. package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.js.map +1 -0
  438. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts.map +1 -1
  439. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js +2 -2
  440. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js.map +1 -1
  441. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.d.ts +48 -0
  442. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.d.ts.map +1 -0
  443. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.js +101 -0
  444. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.js.map +1 -0
  445. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts +6 -0
  446. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
  447. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +62 -96
  448. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
  449. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts +5 -2
  450. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts.map +1 -1
  451. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js +412 -568
  452. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js.map +1 -1
  453. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +23 -1
  454. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
  455. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js.map +1 -1
  456. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts +2 -1
  457. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts.map +1 -1
  458. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js +6 -1
  459. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js.map +1 -1
  460. package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.d.ts +17 -0
  461. package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.d.ts.map +1 -0
  462. package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.js +287 -0
  463. package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.js.map +1 -0
  464. package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.d.ts +33 -1
  465. package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.d.ts.map +1 -1
  466. package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.js +173 -3
  467. package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.js.map +1 -1
  468. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts +6 -0
  469. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts.map +1 -1
  470. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js +61 -29
  471. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js.map +1 -1
  472. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +17 -3
  473. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
  474. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts +1 -1
  475. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts.map +1 -1
  476. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +18 -8
  477. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js.map +1 -1
  478. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts +1 -0
  479. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
  480. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +23 -4
  481. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
  482. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts +12 -2
  483. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts.map +1 -1
  484. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js +5 -3
  485. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js.map +1 -1
  486. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.d.ts.map +1 -1
  487. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js +71 -16
  488. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
  489. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -0
  490. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts.map +1 -1
  491. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js +1 -0
  492. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
  493. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.d.ts +1 -1
  494. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.d.ts.map +1 -1
  495. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js +0 -1
  496. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js.map +1 -1
  497. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts +11 -3
  498. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts.map +1 -1
  499. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js +410 -139
  500. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js.map +1 -1
  501. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +2 -0
  502. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
  503. package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
  504. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +48 -13
  505. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js.map +1 -1
  506. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +4 -0
  507. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
  508. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +274 -128
  509. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
  510. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts +9 -0
  511. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts.map +1 -1
  512. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js +133 -7
  513. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js.map +1 -1
  514. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts +11 -0
  515. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts.map +1 -0
  516. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js +59 -0
  517. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js.map +1 -0
  518. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
  519. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +109 -16
  520. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
  521. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts +2 -1
  522. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.map +1 -1
  523. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.js.map +1 -1
  524. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.d.ts +9 -2
  525. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.d.ts.map +1 -1
  526. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.js +49 -6
  527. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.js.map +1 -1
  528. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts +1 -0
  529. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts.map +1 -1
  530. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js +62 -22
  531. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js.map +1 -1
  532. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.d.ts +7 -0
  533. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.d.ts.map +1 -1
  534. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.js +47 -1
  535. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.js.map +1 -1
  536. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.d.ts +4 -1
  537. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.d.ts.map +1 -1
  538. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js +49 -23
  539. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js.map +1 -1
  540. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts +1 -1
  541. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts.map +1 -1
  542. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js +1 -1
  543. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js.map +1 -1
  544. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.d.ts +1 -1
  545. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.d.ts.map +1 -1
  546. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.js +1 -1
  547. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.js.map +1 -1
  548. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.d.ts.map +1 -1
  549. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js +12 -1
  550. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js.map +1 -1
  551. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.d.ts +8 -4
  552. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.d.ts.map +1 -1
  553. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.js +136 -19
  554. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.js.map +1 -1
  555. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.d.ts +5 -0
  556. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.d.ts.map +1 -0
  557. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.js +36 -0
  558. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.js.map +1 -0
  559. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts +59 -0
  560. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts.map +1 -0
  561. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js +181 -0
  562. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js.map +1 -0
  563. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts +5 -3
  564. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts.map +1 -1
  565. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js +19 -5
  566. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js.map +1 -1
  567. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts +2 -3
  568. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts.map +1 -1
  569. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js +7 -14
  570. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js.map +1 -1
  571. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/ask-grok-tool.d.ts.map +1 -1
  572. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/ask-grok-tool.js +77 -11
  573. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/ask-grok-tool.js.map +1 -1
  574. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts +17 -0
  575. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts.map +1 -0
  576. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js +200 -0
  577. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js.map +1 -0
  578. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts +3387 -0
  579. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts.map +1 -0
  580. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js +1379 -0
  581. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js.map +1 -0
  582. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.d.ts +1 -1
  583. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.d.ts.map +1 -1
  584. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.js +2 -2
  585. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.js.map +1 -1
  586. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.d.ts +15 -32
  587. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.d.ts.map +1 -1
  588. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.js +11 -7
  589. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.js.map +1 -1
  590. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts +26 -150
  591. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts.map +1 -1
  592. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js +537 -103
  593. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js.map +1 -1
  594. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/clinical-records.js +4 -4
  595. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/clinical-records.js.map +1 -1
  596. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.d.ts +10 -54
  597. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.d.ts.map +1 -1
  598. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.js +134 -109
  599. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.js.map +1 -1
  600. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts +2 -12
  601. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts.map +1 -1
  602. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js +1 -1
  603. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js.map +1 -1
  604. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts +2 -1
  605. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts.map +1 -1
  606. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.js +2 -1
  607. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.js.map +1 -1
  608. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.d.ts +9 -2
  609. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.d.ts.map +1 -1
  610. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.js +31 -3
  611. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.js.map +1 -1
  612. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.d.ts +7 -6
  613. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.d.ts.map +1 -1
  614. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.js +12 -8
  615. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.js.map +1 -1
  616. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.d.ts +10 -19
  617. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.d.ts.map +1 -1
  618. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.js +19 -7
  619. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.js.map +1 -1
  620. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.d.ts +2 -16
  621. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.d.ts.map +1 -1
  622. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.js +1 -1
  623. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.js.map +1 -1
  624. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.d.ts +65 -0
  625. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.d.ts.map +1 -0
  626. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.js +214 -0
  627. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.js.map +1 -0
  628. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.d.ts +24 -16
  629. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.d.ts.map +1 -1
  630. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.js +78 -7
  631. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.js.map +1 -1
  632. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts +91 -0
  633. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts.map +1 -0
  634. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js +199 -0
  635. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js.map +1 -0
  636. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts +108 -2427
  637. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts.map +1 -1
  638. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js +2248 -1509
  639. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js.map +1 -1
  640. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.d.ts.map +1 -1
  641. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js +39 -95
  642. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js.map +1 -1
  643. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.d.ts +5 -2
  644. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.d.ts.map +1 -1
  645. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.js +88 -101
  646. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.js.map +1 -1
  647. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.d.ts +58 -13
  648. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.d.ts.map +1 -1
  649. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.js +85 -122
  650. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.js.map +1 -1
  651. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.d.ts.map +1 -1
  652. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.js +5 -3
  653. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.js.map +1 -1
  654. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.d.ts +15 -2
  655. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.d.ts.map +1 -1
  656. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.js +99 -8
  657. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.js.map +1 -1
  658. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.d.ts +17 -0
  659. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.d.ts.map +1 -0
  660. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.js +12 -0
  661. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.js.map +1 -0
  662. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.d.ts +7 -11
  663. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.d.ts.map +1 -1
  664. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.js +237 -52
  665. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.js.map +1 -1
  666. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.d.ts +3 -0
  667. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.d.ts.map +1 -0
  668. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js +7 -0
  669. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js.map +1 -0
  670. package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.d.ts.map +1 -1
  671. package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.js +189 -486
  672. package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.js.map +1 -1
  673. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts +34 -6
  674. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
  675. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +1014 -247
  676. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
  677. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts +1 -1
  678. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts.map +1 -1
  679. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js +1 -1
  680. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js.map +1 -1
  681. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts +2 -0
  682. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts.map +1 -1
  683. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js +1 -0
  684. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js.map +1 -1
  685. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts +23 -23
  686. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts.map +1 -1
  687. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js +26 -26
  688. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js.map +1 -1
  689. package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.d.ts +27 -27
  690. package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.d.ts.map +1 -1
  691. package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.js +1 -1
  692. package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.js.map +1 -1
  693. package/node_modules/@murphai/assistant-engine/dist/index.d.ts +8 -3
  694. package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
  695. package/node_modules/@murphai/assistant-engine/dist/index.js +6 -1
  696. package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
  697. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts +1 -1
  698. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts.map +1 -1
  699. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js +5 -1
  700. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js.map +1 -1
  701. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.d.ts +1 -0
  702. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.d.ts.map +1 -1
  703. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js +16 -2
  704. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js.map +1 -1
  705. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts +5 -2
  706. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts.map +1 -1
  707. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js +4 -2
  708. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js.map +1 -1
  709. package/node_modules/@murphai/assistant-engine/skills/README.md +29 -0
  710. package/node_modules/@murphai/assistant-engine/skills/appointment-scheduling/SKILL.md +23 -0
  711. package/node_modules/@murphai/assistant-engine/skills/automatic-meal-capture/SKILL.md +130 -5
  712. package/node_modules/@murphai/assistant-engine/skills/behavior-followthrough/SKILL.md +157 -116
  713. package/node_modules/@murphai/assistant-engine/skills/body-composition/SKILL.md +137 -27
  714. package/node_modules/@murphai/assistant-engine/skills/body-composition/references/evidence.md +150 -0
  715. package/node_modules/@murphai/assistant-engine/skills/body-composition/references/fat-loss.md +132 -0
  716. package/node_modules/@murphai/assistant-engine/skills/body-composition/references/muscle-gain.md +135 -0
  717. package/node_modules/@murphai/assistant-engine/skills/body-composition/references/safety.md +171 -0
  718. package/node_modules/@murphai/assistant-engine/skills/body-composition/references/tracking-and-adjustment.md +193 -0
  719. package/node_modules/@murphai/assistant-engine/skills/cardiometabolic-health/SKILL.md +10 -1
  720. package/node_modules/@murphai/assistant-engine/skills/computer-use/SKILL.md +0 -4
  721. package/node_modules/@murphai/assistant-engine/skills/connected-apps/SKILL.md +86 -12
  722. package/node_modules/@murphai/assistant-engine/skills/connected-apps/references/provider-data-exports.md +209 -0
  723. package/node_modules/@murphai/assistant-engine/skills/daily-activity/SKILL.md +16 -0
  724. package/node_modules/@murphai/assistant-engine/skills/experiment-onboarding/SKILL.md +22 -9
  725. package/node_modules/@murphai/assistant-engine/skills/food-journal/SKILL.md +140 -15
  726. package/node_modules/@murphai/assistant-engine/skills/group-challenge/SKILL.md +17 -737
  727. package/node_modules/@murphai/assistant-engine/skills/group-challenge-scorecards/SKILL.md +17 -328
  728. package/node_modules/@murphai/assistant-engine/skills/group-chat/SKILL.md +18 -912
  729. package/node_modules/@murphai/assistant-engine/skills/group-newsletter/SKILL.md +16 -237
  730. package/node_modules/@murphai/assistant-engine/skills/groupchat-comedy/SKILL.md +19 -351
  731. package/node_modules/@murphai/assistant-engine/skills/hosted-low-usage/SKILL.md +309 -117
  732. package/node_modules/@murphai/assistant-engine/skills/micronutrients-supplements/SKILL.md +30 -8
  733. package/node_modules/@murphai/assistant-engine/skills/mobility-posture/SKILL.md +1 -1
  734. package/node_modules/@murphai/assistant-engine/skills/murph-family/SKILL.md +91 -26
  735. package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/SKILL.md +75 -751
  736. package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/references/aspiration-foundation-delegation.md +443 -0
  737. package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/references/persistence-recovery-follow-up.md +155 -0
  738. package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/references/return-launch-completion.md +246 -0
  739. package/node_modules/@murphai/assistant-engine/skills/music-generation/SKILL.md +31 -163
  740. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/SKILL.md +78 -7
  741. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-goals.md +285 -0
  742. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-safety.md +211 -0
  743. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/carnivore-animal-based.md +145 -0
  744. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/dash.md +183 -0
  745. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/intermittent-fasting.md +153 -0
  746. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/ketogenic.md +149 -0
  747. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/low-carbohydrate.md +167 -0
  748. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/mediterranean.md +141 -0
  749. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/vegan-plant-based.md +175 -0
  750. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/vegetarian-spectrum.md +131 -0
  751. package/node_modules/@murphai/assistant-engine/skills/phone-calls/SKILL.md +47 -67
  752. package/node_modules/@murphai/assistant-engine/skills/physical-notes/SKILL.md +120 -0
  753. package/node_modules/@murphai/assistant-engine/skills/physical-therapy/SKILL.md +4 -2
  754. package/node_modules/@murphai/assistant-engine/skills/self-management-experiments/SKILL.md +19 -3
  755. package/node_modules/@murphai/assistant-engine/skills/shared/exercise-catalog-runtime.md +30 -19
  756. package/node_modules/@murphai/assistant-engine/skills/signup-link/SKILL.md +30 -0
  757. package/node_modules/@murphai/assistant-engine/skills/strength-training/SKILL.md +9 -0
  758. package/node_modules/@murphai/assistant-engine/skills/tracked-table/SKILL.md +202 -0
  759. package/node_modules/@murphai/assistant-engine/skills/workout-csv-import/SKILL.md +129 -0
  760. package/node_modules/@murphai/assistantd/dist/client.d.ts +2 -0
  761. package/node_modules/@murphai/assistantd/dist/client.d.ts.map +1 -1
  762. package/node_modules/@murphai/assistantd/dist/client.js +33 -0
  763. package/node_modules/@murphai/assistantd/dist/client.js.map +1 -1
  764. package/node_modules/@murphai/assistantd/dist/http-protocol.d.ts.map +1 -1
  765. package/node_modules/@murphai/assistantd/dist/http-protocol.js +25 -1
  766. package/node_modules/@murphai/assistantd/dist/http-protocol.js.map +1 -1
  767. package/node_modules/@murphai/clinical-records/dist/index.d.ts +660 -660
  768. package/node_modules/@murphai/clinical-records/dist/index.d.ts.map +1 -1
  769. package/node_modules/@murphai/clinical-records/dist/index.js +1 -1
  770. package/node_modules/@murphai/clinical-records/dist/index.js.map +1 -1
  771. package/node_modules/@murphai/core/dist/automation-availability.d.ts +51 -0
  772. package/node_modules/@murphai/core/dist/automation-availability.d.ts.map +1 -0
  773. package/node_modules/@murphai/core/dist/automation-availability.js +226 -0
  774. package/node_modules/@murphai/core/dist/automation-availability.js.map +1 -0
  775. package/node_modules/@murphai/core/dist/automation.d.ts +9 -2
  776. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
  777. package/node_modules/@murphai/core/dist/automation.js +107 -13
  778. package/node_modules/@murphai/core/dist/automation.js.map +1 -1
  779. package/node_modules/@murphai/core/dist/bank/habitat.d.ts.map +1 -1
  780. package/node_modules/@murphai/core/dist/bank/habitat.js +8 -1
  781. package/node_modules/@murphai/core/dist/bank/habitat.js.map +1 -1
  782. package/node_modules/@murphai/core/dist/domains/events/attachment-backed.d.ts.map +1 -1
  783. package/node_modules/@murphai/core/dist/domains/events/attachment-backed.js +9 -123
  784. package/node_modules/@murphai/core/dist/domains/events/attachment-backed.js.map +1 -1
  785. package/node_modules/@murphai/core/dist/domains/events/capture-lookup.d.ts +33 -0
  786. package/node_modules/@murphai/core/dist/domains/events/capture-lookup.d.ts.map +1 -1
  787. package/node_modules/@murphai/core/dist/domains/events/capture-lookup.js +119 -0
  788. package/node_modules/@murphai/core/dist/domains/events/capture-lookup.js.map +1 -1
  789. package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.d.ts +24 -0
  790. package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.d.ts.map +1 -0
  791. package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.js +409 -0
  792. package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.js.map +1 -0
  793. package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts +13 -0
  794. package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts.map +1 -1
  795. package/node_modules/@murphai/core/dist/domains/events/ledger.js +86 -7
  796. package/node_modules/@murphai/core/dist/domains/events/ledger.js.map +1 -1
  797. package/node_modules/@murphai/core/dist/domains/events.d.ts +6 -2
  798. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
  799. package/node_modules/@murphai/core/dist/domains/events.js +3 -1
  800. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
  801. package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -1
  802. package/node_modules/@murphai/core/dist/domains/experiments.js +5 -1
  803. package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -1
  804. package/node_modules/@murphai/core/dist/history/api.d.ts +8 -5
  805. package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -1
  806. package/node_modules/@murphai/core/dist/history/api.js +253 -20
  807. package/node_modules/@murphai/core/dist/history/api.js.map +1 -1
  808. package/node_modules/@murphai/core/dist/index.d.ts +8 -5
  809. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
  810. package/node_modules/@murphai/core/dist/index.js +5 -3
  811. package/node_modules/@murphai/core/dist/index.js.map +1 -1
  812. package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -1
  813. package/node_modules/@murphai/core/dist/memory.js +1 -0
  814. package/node_modules/@murphai/core/dist/memory.js.map +1 -1
  815. package/node_modules/@murphai/core/dist/mutations.d.ts +20 -2
  816. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
  817. package/node_modules/@murphai/core/dist/mutations.js +618 -21
  818. package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
  819. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +3 -0
  820. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
  821. package/node_modules/@murphai/core/dist/operations/write-batch.js +33 -2
  822. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
  823. package/node_modules/@murphai/core/dist/public-mutations.d.ts +2 -1
  824. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
  825. package/node_modules/@murphai/core/dist/public-mutations.js +7 -2
  826. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
  827. package/node_modules/@murphai/device-syncd/README.md +143 -0
  828. package/node_modules/@murphai/device-syncd/dist/client.d.ts +1 -0
  829. package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -1
  830. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
  831. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts +25 -0
  832. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts.map +1 -1
  833. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js +54 -0
  834. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js.map +1 -1
  835. package/node_modules/@murphai/device-syncd/dist/config/connect-targets.js +1 -1
  836. package/node_modules/@murphai/device-syncd/dist/config/connect-targets.js.map +1 -1
  837. package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.d.ts +2 -1
  838. package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.d.ts.map +1 -1
  839. package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.js +2 -1
  840. package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.js.map +1 -1
  841. package/node_modules/@murphai/device-syncd/dist/config/junction-config.d.ts +1 -0
  842. package/node_modules/@murphai/device-syncd/dist/config/junction-config.d.ts.map +1 -1
  843. package/node_modules/@murphai/device-syncd/dist/config/junction-config.js +9 -1
  844. package/node_modules/@murphai/device-syncd/dist/config/junction-config.js.map +1 -1
  845. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts +2 -2
  846. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts.map +1 -1
  847. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js +2 -2
  848. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js.map +1 -1
  849. package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts +4 -2
  850. package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts.map +1 -1
  851. package/node_modules/@murphai/device-syncd/dist/config/provider-env.js +6 -0
  852. package/node_modules/@murphai/device-syncd/dist/config/provider-env.js.map +1 -1
  853. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +561 -0
  854. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts.map +1 -1
  855. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js +203 -148
  856. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js.map +1 -1
  857. package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts +11 -0
  858. package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts.map +1 -1
  859. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.d.ts.map +1 -1
  860. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js +2 -2
  861. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js.map +1 -1
  862. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts.map +1 -1
  863. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js +2 -0
  864. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js.map +1 -1
  865. package/node_modules/@murphai/device-syncd/dist/config.d.ts +1 -1
  866. package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
  867. package/node_modules/@murphai/device-syncd/dist/config.js +1 -1
  868. package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
  869. package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.d.ts +1 -1
  870. package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.d.ts.map +1 -1
  871. package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.js +1 -1
  872. package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.js.map +1 -1
  873. package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts +1 -1
  874. package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts.map +1 -1
  875. package/node_modules/@murphai/device-syncd/dist/connect-config.js +1 -1
  876. package/node_modules/@murphai/device-syncd/dist/connect-config.js.map +1 -1
  877. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +44 -0
  878. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
  879. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +167 -1
  880. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
  881. package/node_modules/@murphai/device-syncd/dist/index.d.ts +1 -1
  882. package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -1
  883. package/node_modules/@murphai/device-syncd/dist/index.js +1 -1
  884. package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -1
  885. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts +24 -0
  886. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts.map +1 -1
  887. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js +444 -9
  888. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js.map +1 -1
  889. package/node_modules/@murphai/device-syncd/dist/junction-resources.d.ts +16 -0
  890. package/node_modules/@murphai/device-syncd/dist/junction-resources.d.ts.map +1 -1
  891. package/node_modules/@murphai/device-syncd/dist/junction-resources.js +32 -0
  892. package/node_modules/@murphai/device-syncd/dist/junction-resources.js.map +1 -1
  893. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts +8 -0
  894. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts.map +1 -0
  895. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js +13 -0
  896. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js.map +1 -0
  897. package/node_modules/@murphai/device-syncd/dist/prepared-webhook.d.ts +29 -0
  898. package/node_modules/@murphai/device-syncd/dist/prepared-webhook.d.ts.map +1 -0
  899. package/node_modules/@murphai/device-syncd/dist/prepared-webhook.js +263 -0
  900. package/node_modules/@murphai/device-syncd/dist/prepared-webhook.js.map +1 -0
  901. package/node_modules/@murphai/device-syncd/dist/provider-configs.d.ts +1 -1
  902. package/node_modules/@murphai/device-syncd/dist/provider-configs.d.ts.map +1 -1
  903. package/node_modules/@murphai/device-syncd/dist/provider-configs.js +1 -1
  904. package/node_modules/@murphai/device-syncd/dist/provider-configs.js.map +1 -1
  905. package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts +1 -0
  906. package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts.map +1 -1
  907. package/node_modules/@murphai/device-syncd/dist/provider-label.js +4 -2
  908. package/node_modules/@murphai/device-syncd/dist/provider-label.js.map +1 -1
  909. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts +23 -1
  910. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts.map +1 -1
  911. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js +765 -192
  912. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js.map +1 -1
  913. package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts +2 -2
  914. package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts.map +1 -1
  915. package/node_modules/@murphai/device-syncd/dist/providers/junction.js +3250 -205
  916. package/node_modules/@murphai/device-syncd/dist/providers/junction.js.map +1 -1
  917. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
  918. package/node_modules/@murphai/device-syncd/dist/providers/oura.js +2 -1
  919. package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
  920. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +12 -3
  921. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -1
  922. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +50 -12
  923. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -1
  924. package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts +3 -1
  925. package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts.map +1 -1
  926. package/node_modules/@murphai/device-syncd/dist/providers/strava.js +51 -38
  927. package/node_modules/@murphai/device-syncd/dist/providers/strava.js.map +1 -1
  928. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
  929. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +11 -1
  930. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
  931. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +52 -2
  932. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -1
  933. package/node_modules/@murphai/device-syncd/dist/public-account.js +147 -1
  934. package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -1
  935. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +9 -2
  936. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
  937. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +632 -199
  938. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
  939. package/node_modules/@murphai/device-syncd/dist/service.d.ts +17 -4
  940. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
  941. package/node_modules/@murphai/device-syncd/dist/service.js +362 -43
  942. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
  943. package/node_modules/@murphai/device-syncd/dist/store/accounts.d.ts +3 -1
  944. package/node_modules/@murphai/device-syncd/dist/store/accounts.d.ts.map +1 -1
  945. package/node_modules/@murphai/device-syncd/dist/store/accounts.js +25 -2
  946. package/node_modules/@murphai/device-syncd/dist/store/accounts.js.map +1 -1
  947. package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.d.ts.map +1 -1
  948. package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.js +7 -1
  949. package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.js.map +1 -1
  950. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +13 -3
  951. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
  952. package/node_modules/@murphai/device-syncd/dist/store/jobs.js +171 -20
  953. package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -1
  954. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.d.ts +3 -1
  955. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.d.ts.map +1 -1
  956. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js +62 -4
  957. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js.map +1 -1
  958. package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts +1 -0
  959. package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts.map +1 -1
  960. package/node_modules/@murphai/device-syncd/dist/store/sources.js +56 -55
  961. package/node_modules/@murphai/device-syncd/dist/store/sources.js.map +1 -1
  962. package/node_modules/@murphai/device-syncd/dist/store/sync-state.d.ts +7 -2
  963. package/node_modules/@murphai/device-syncd/dist/store/sync-state.d.ts.map +1 -1
  964. package/node_modules/@murphai/device-syncd/dist/store/sync-state.js +82 -28
  965. package/node_modules/@murphai/device-syncd/dist/store/sync-state.js.map +1 -1
  966. package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js +2 -2
  967. package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js.map +1 -1
  968. package/node_modules/@murphai/device-syncd/dist/store.d.ts +19 -4
  969. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
  970. package/node_modules/@murphai/device-syncd/dist/store.js +62 -11
  971. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
  972. package/node_modules/@murphai/device-syncd/dist/types.d.ts +169 -4
  973. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
  974. package/node_modules/@murphai/device-syncd/dist/types.js +3 -0
  975. package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
  976. package/node_modules/@murphai/device-syncd/package.json +8 -0
  977. package/node_modules/@murphai/health-commons/content/biomarkers/bilirubin.md +18 -0
  978. package/node_modules/@murphai/health-commons/content/biomarkers/carbon-dioxide.md +18 -0
  979. package/node_modules/@murphai/health-commons/content/biomarkers/potassium.md +18 -0
  980. package/node_modules/@murphai/health-commons/content/biomarkers/sodium.md +18 -0
  981. package/node_modules/@murphai/health-commons/content/families/general-eye-health.md +190 -0
  982. package/node_modules/@murphai/health-commons/content/families/photobiomodulation.md +97 -0
  983. package/node_modules/@murphai/health-commons/content/families/recovery-modalities.md +73 -0
  984. package/node_modules/@murphai/health-commons/content/protocols/whole-body-photobiomodulation/whole-body-red-and-near-infrared-light-exposure.md +1 -1
  985. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cdc-contact-lens-infection-symptoms.md +20 -0
  986. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cdc-contact-lens-prevention.md +20 -0
  987. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cdc-stroke-signs.md +20 -0
  988. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cochrane-blue-light-filtering-lenses.md +21 -0
  989. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/fda-buying-contact-lenses.md +20 -0
  990. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/fda-eye-drops.md +20 -0
  991. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/imi-myopia-interventions.md +20 -0
  992. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/medlineplus-eye-emergencies.md +20 -0
  993. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/medlineplus-eye-pain.md +20 -0
  994. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-angle-closure-glaucoma.md +20 -0
  995. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-areds2-faq.md +20 -0
  996. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-contact-lenses.md +20 -0
  997. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-dry-eye.md +20 -0
  998. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-healthy-vision.md +21 -0
  999. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-myopia.md +20 -0
  1000. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-retinal-detachment.md +20 -0
  1001. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nih-dream-omega3-dry-eye.md +21 -0
  1002. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/osha-computer-monitors.md +20 -0
  1003. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmc-9840372.md +22 -0
  1004. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmid-35597519.md +21 -0
  1005. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmid-36473088.md +21 -0
  1006. package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmid-37062428.md +21 -0
  1007. package/node_modules/@murphai/health-commons/content/sources/whole-body-photobiomodulation/clinicaltrials-gov-nct07047248-2026-04-23.md +0 -1
  1008. package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.d.ts +3 -0
  1009. package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.d.ts.map +1 -0
  1010. package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.js +2 -0
  1011. package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.js.map +1 -0
  1012. package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.d.ts +17 -0
  1013. package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.d.ts.map +1 -0
  1014. package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.js +16 -0
  1015. package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.js.map +1 -0
  1016. package/node_modules/@murphai/health-commons/dist/build.d.ts.map +1 -1
  1017. package/node_modules/@murphai/health-commons/dist/build.js +41 -7
  1018. package/node_modules/@murphai/health-commons/dist/build.js.map +1 -1
  1019. package/node_modules/@murphai/health-commons/dist/index.d.ts +1 -0
  1020. package/node_modules/@murphai/health-commons/dist/index.d.ts.map +1 -1
  1021. package/node_modules/@murphai/health-commons/dist/index.js +1 -0
  1022. package/node_modules/@murphai/health-commons/dist/index.js.map +1 -1
  1023. package/node_modules/@murphai/health-commons/dist/knowledge-index.d.ts +44 -0
  1024. package/node_modules/@murphai/health-commons/dist/knowledge-index.d.ts.map +1 -0
  1025. package/node_modules/@murphai/health-commons/dist/knowledge-index.js +540 -0
  1026. package/node_modules/@murphai/health-commons/dist/knowledge-index.js.map +1 -0
  1027. package/node_modules/@murphai/health-commons/dist/runtime.d.ts +17 -1
  1028. package/node_modules/@murphai/health-commons/dist/runtime.d.ts.map +1 -1
  1029. package/node_modules/@murphai/health-commons/dist/runtime.js +58 -4
  1030. package/node_modules/@murphai/health-commons/dist/runtime.js.map +1 -1
  1031. package/node_modules/@murphai/health-commons/generated/biomarker-desired-directions.json +410 -0
  1032. package/node_modules/@murphai/health-commons/generated/catalog.hash +1 -1
  1033. package/node_modules/@murphai/health-commons/generated/knowledge.sqlite +0 -0
  1034. package/node_modules/@murphai/health-commons/generated/protocol-family-graph.json +187 -46
  1035. package/node_modules/@murphai/health-commons/generated/protocol-index.json +47 -47
  1036. package/node_modules/@murphai/health-commons/generated/protocol-run-specs.json +967 -967
  1037. package/node_modules/@murphai/health-commons/generated/source-artifact-index.json +1 -1
  1038. package/node_modules/@murphai/health-commons/generated/source-identities.ndjson +28 -0
  1039. package/node_modules/@murphai/health-commons/generated/source-index.json +694 -2
  1040. package/node_modules/@murphai/health-commons/generated/web/browse/biomarkers.json +77 -9
  1041. package/node_modules/@murphai/health-commons/generated/web/browse/experiments.json +37 -37
  1042. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-basophils.json +1 -1
  1043. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-eosinophils.json +1 -1
  1044. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-immature-granulocytes.json +1 -1
  1045. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-lymphocytes.json +1 -1
  1046. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-monocytes.json +1 -1
  1047. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-neutrophils.json +1 -1
  1048. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/added-sugar-intake.json +1 -1
  1049. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/adherence.json +1 -1
  1050. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/adjusted-calcium.json +1 -1
  1051. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/adverse-symptoms.json +1 -1
  1052. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alanine-aminotransferase.json +1 -1
  1053. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/albumin-globulin-ratio.json +1 -1
  1054. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/albumin.json +1 -1
  1055. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-craving.json +1 -1
  1056. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-free-days.json +1 -1
  1057. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-intake.json +1 -1
  1058. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-withdrawal-symptoms.json +1 -1
  1059. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alkaline-phosphatase.json +1 -1
  1060. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ana-screen.json +1 -1
  1061. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/anion-gap.json +1 -1
  1062. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ankle-knee-to-wall-distance.json +1 -1
  1063. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/apolipoprotein-b.json +1 -1
  1064. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/arachidonic-acid-epa-ratio.json +1 -1
  1065. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/arachidonic-acid.json +1 -1
  1066. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/aspartate-aminotransferase.json +1 -1
  1067. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/basophil-percentage.json +1 -1
  1068. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/bedtime-delay.json +1 -1
  1069. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/bilirubin.json +3 -3
  1070. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-glucose.json +1 -1
  1071. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-ketones-beta-hydroxybutyrate.json +1 -1
  1072. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-oxygen-spo2.json +1 -1
  1073. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-pressure.json +1 -1
  1074. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-urea-nitrogen.json +1 -1
  1075. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/body-fat-percent.json +1 -1
  1076. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/body-weight.json +1 -1
  1077. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/bun-creatinine-ratio.json +1 -1
  1078. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/c-peptide.json +1 -1
  1079. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/calcium.json +1 -1
  1080. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/carbon-dioxide.json +3 -3
  1081. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/chloride.json +1 -1
  1082. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/cholesterol-hdl-ratio.json +1 -1
  1083. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/chosen-primary-outcome-score.json +1 -1
  1084. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/continuous-glucose.json +1 -1
  1085. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/cortisol.json +1 -1
  1086. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/creatine-kinase.json +1 -1
  1087. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-energy-intake-kcal.json +1 -1
  1088. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-protein-g-per-kg.json +1 -1
  1089. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-protein-grams.json +1 -1
  1090. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-step-count.json +1 -1
  1091. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daytime-sleepiness.json +1 -1
  1092. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/deep-sleep-minutes.json +4 -4
  1093. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dha.json +1 -1
  1094. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dhea-sulfate.json +1 -1
  1095. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dietary-fiber-g-day.json +1 -1
  1096. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/digestive-comfort.json +1 -1
  1097. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dpa.json +1 -1
  1098. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/egfr-ckd-epi.json +1 -1
  1099. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/egfr.json +1 -1
  1100. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/eosinophil-percentage.json +1 -1
  1101. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/epa.json +1 -1
  1102. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/estimated-gfr.json +1 -1
  1103. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/estimated-vo2max.json +1 -1
  1104. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/estradiol.json +1 -1
  1105. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/fasting-triglycerides.json +1 -1
  1106. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ferritin.json +1 -1
  1107. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/fib4.json +1 -1
  1108. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/follicle-stimulating-hormone.json +1 -1
  1109. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/free-t3.json +1 -1
  1110. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/free-t4.json +1 -1
  1111. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/free-testosterone.json +1 -1
  1112. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gfr-mdrd-af-amer.json +1 -1
  1113. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gfr-mdrd-non-af-amer.json +1 -1
  1114. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ggt.json +1 -1
  1115. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gi-symptom-score.json +1 -1
  1116. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gi-tolerance.json +1 -1
  1117. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hba1c.json +1 -1
  1118. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hbot-session-tolerability.json +1 -1
  1119. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hdl-c.json +1 -1
  1120. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hematocrit.json +1 -1
  1121. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hemoglobin.json +1 -1
  1122. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/homocysteine.json +1 -1
  1123. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hrv-rmssd.json +4 -4
  1124. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hs-crp.json +1 -1
  1125. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/immature-granulocyte-percentage.json +1 -1
  1126. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/insulin.json +1 -1
  1127. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/iron-saturation.json +1 -1
  1128. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/iron.json +1 -1
  1129. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lateral-knee-pain.json +1 -1
  1130. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldh.json +1 -1
  1131. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-c.json +1 -1
  1132. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-calculated.json +1 -1
  1133. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-chol-calc-nih.json +1 -1
  1134. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-cholesterol.json +1 -1
  1135. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-large-particles.json +1 -1
  1136. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-medium-particles.json +1 -1
  1137. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-particle-number.json +1 -1
  1138. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-pattern.json +1 -1
  1139. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-peak-size.json +1 -1
  1140. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-small-particles.json +1 -1
  1141. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lead.json +1 -1
  1142. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lean-body-mass.json +1 -1
  1143. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lean-mass.json +1 -1
  1144. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/leg-heaviness-score.json +1 -1
  1145. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/linoleic-acid.json +1 -1
  1146. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lipoprotein-a.json +1 -1
  1147. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/liver-enzyme-panel.json +1 -1
  1148. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/luteinizing-hormone.json +1 -1
  1149. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lymphocyte-percentage.json +1 -1
  1150. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/macular-health-safety.json +1 -1
  1151. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/magnesium-rbc.json +1 -1
  1152. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-corpuscular-hemoglobin-concentration.json +1 -1
  1153. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-corpuscular-hemoglobin.json +1 -1
  1154. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-corpuscular-volume.json +1 -1
  1155. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-platelet-volume.json +1 -1
  1156. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mercury.json +1 -1
  1157. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/methylmalonic-acid.json +1 -1
  1158. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/moderate-to-vigorous-activity-minutes.json +1 -1
  1159. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/monocyte-percentage.json +1 -1
  1160. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mood-affect.json +1 -1
  1161. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/morning-blood-pressure.json +1 -1
  1162. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/muscle-soreness-score.json +1 -1
  1163. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/musculoskeletal-pain.json +1 -1
  1164. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/neutrophil-percentage.json +1 -1
  1165. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/non-hdl-c.json +1 -1
  1166. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/non-hdl-cholesterol.json +1 -1
  1167. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-3-index.json +1 -1
  1168. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-3-total-omegacheck.json +1 -1
  1169. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-6-3-ratio.json +1 -1
  1170. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-6-total.json +1 -1
  1171. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omegacheck-total.json +1 -1
  1172. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-recovery-score.json +1 -1
  1173. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-recovery.json +1 -1
  1174. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-stiffness.json +1 -1
  1175. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-stress.json +1 -1
  1176. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/periocular-wrinkle-score.json +1 -1
  1177. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/phosphate.json +1 -1
  1178. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/platelet-count.json +1 -1
  1179. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/poc-troponin-i.json +1 -1
  1180. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/postprandial-glucose-excursion.json +1 -1
  1181. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/potassium.json +3 -3
  1182. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/pre-sleep-arousal.json +1 -1
  1183. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/prolactin.json +1 -1
  1184. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/psa-free.json +1 -1
  1185. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/psa-percent-free.json +1 -1
  1186. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/psa-total.json +1 -1
  1187. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/red-blood-cell-count.json +1 -1
  1188. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/red-cell-distribution-width.json +1 -1
  1189. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/rem-sleep-minutes.json +1 -1
  1190. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/resting-heart-rate.json +4 -4
  1191. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/rheumatoid-factor.json +1 -1
  1192. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/running-tolerance.json +1 -1
  1193. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/saturated-fat-g-day.json +1 -1
  1194. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sedentary-time.json +1 -1
  1195. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/self-reported-mood.json +1 -1
  1196. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/serum-25-hydroxyvitamin-d.json +1 -1
  1197. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/serum-creatinine.json +1 -1
  1198. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/serum-uric-acid.json +1 -1
  1199. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sex-hormone-binding-globulin.json +1 -1
  1200. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/shoulder-reach-distance.json +1 -1
  1201. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sit-and-reach-distance.json +1 -1
  1202. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/skin-texture-roughness-score.json +1 -1
  1203. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/skin-tolerability-symptoms.json +1 -1
  1204. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sleep-efficiency.json +4 -4
  1205. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sleep-onset-latency.json +1 -1
  1206. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sleep-quality.json +1 -1
  1207. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sodium.json +3 -3
  1208. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/standardized-skin-photo-score.json +1 -1
  1209. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/step-floor-days.json +1 -1
  1210. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/stretching-adherence-sessions.json +1 -1
  1211. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/stretching-session-burden.json +1 -1
  1212. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/stretching-symptoms.json +1 -1
  1213. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/subjective-eye-strain.json +1 -1
  1214. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/subjective-satiety.json +1 -1
  1215. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/supplement-adherence.json +1 -1
  1216. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/task-performance.json +1 -1
  1217. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/thyroglobulin-antibodies.json +1 -1
  1218. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/thyroid-peroxidase-antibodies.json +1 -1
  1219. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/thyroid-stimulating-hormone.json +1 -1
  1220. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/toe-touch-distance.json +1 -1
  1221. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-cholesterol.json +1 -1
  1222. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-globulin.json +1 -1
  1223. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-iron-binding-capacity.json +1 -1
  1224. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-protein.json +1 -1
  1225. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-sleep-time.json +1 -1
  1226. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-testosterone.json +1 -1
  1227. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/training-performance.json +1 -1
  1228. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/training-volume.json +1 -1
  1229. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/triglycerides.json +1 -1
  1230. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/urine-albumin-creatinine-ratio.json +1 -1
  1231. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/urine-albumin-random-without-creatinine.json +1 -1
  1232. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/urine-protein.json +1 -1
  1233. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/visual-fatigue.json +1 -1
  1234. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/visual-performance.json +1 -1
  1235. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/vldl-cholesterol-calculated.json +1 -1
  1236. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/waist-circumference.json +1 -1
  1237. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/wake-after-sleep-onset.json +1 -1
  1238. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/wake-time-variability.json +1 -1
  1239. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/walking-bout-minutes.json +1 -1
  1240. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/walking-cadence.json +1 -1
  1241. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/walking-safety-events.json +1 -1
  1242. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/white-blood-cell-count.json +1 -1
  1243. package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/zinc.json +1 -1
  1244. package/node_modules/@murphai/health-commons/generated/web/bundles/measurement_method/clinic-imaging-upgrade.json +1 -1
  1245. package/node_modules/@murphai/health-commons/generated/web/bundles/measurement_method/home-standardized-photo-roi-analysis.json +1 -1
  1246. package/node_modules/@murphai/health-commons/generated/web/bundles/measurement_method/standardized-photo-score-workflow.json +1 -1
  1247. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/bryan-johnson-blueprint.json +1 -1
  1248. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/cold-plunge.json +1 -1
  1249. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/consistent-wake-time.json +1 -1
  1250. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/daily-step-floor.json +1 -1
  1251. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/finnish-sauna.json +1 -1
  1252. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/five-minute-tomorrow-list.json +1 -1
  1253. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/hyperbaric-oxygen-therapy.json +1 -1
  1254. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/morning-outdoor-light-exposure.json +1 -1
  1255. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/no-added-sugar-diet.json +1 -1
  1256. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/norwegian-4x4.json +1 -1
  1257. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/pneumatic-compression-pants.json +1 -1
  1258. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/protein-floor-high-protein-intake.json +3 -3
  1259. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/tabata-20-10-interval-training.json +1 -1
  1260. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/time-restricted-eating-18-6.json +1 -1
  1261. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/walking-after-every-meal.json +1 -1
  1262. package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/whole-body-red-and-near-infrared-light-exposure.json +7 -8
  1263. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/blood-oxygen-spo2/overview.json +1 -1
  1264. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/blood-oxygen-spo2/research.json +1 -1
  1265. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/deep-sleep-minutes/overview.json +2 -2
  1266. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/deep-sleep-minutes/research.json +1 -1
  1267. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/estimated-vo2max/overview.json +1 -1
  1268. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/estimated-vo2max/research.json +1 -1
  1269. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/hrv-rmssd/overview.json +2 -2
  1270. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/hrv-rmssd/research.json +1 -1
  1271. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/rem-sleep-minutes/overview.json +1 -1
  1272. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/rem-sleep-minutes/research.json +1 -1
  1273. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/resting-heart-rate/overview.json +2 -2
  1274. package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/resting-heart-rate/research.json +1 -1
  1275. package/node_modules/@murphai/health-commons/generated/web/routes/index.json +1 -1
  1276. package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/blood-oxygen-spo2.json +1 -1
  1277. package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/deep-sleep-minutes.json +1 -1
  1278. package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/estimated-vo2max.json +1 -1
  1279. package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/hrv-rmssd.json +1 -1
  1280. package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/rem-sleep-minutes.json +1 -1
  1281. package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/resting-heart-rate.json +1 -1
  1282. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/bryan-johnson-blueprint.json +1 -1
  1283. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/cold-plunge.json +1 -1
  1284. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/consistent-wake-time.json +1 -1
  1285. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/daily-step-floor.json +1 -1
  1286. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/finnish-sauna.json +1 -1
  1287. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/five-minute-tomorrow-list.json +1 -1
  1288. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/hyperbaric-oxygen-therapy.json +1 -1
  1289. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/morning-outdoor-light-exposure.json +1 -1
  1290. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/no-added-sugar-diet.json +1 -1
  1291. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/norwegian-4x4.json +1 -1
  1292. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/pneumatic-compression-pants.json +1 -1
  1293. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/protein-floor-high-protein-intake.json +1 -1
  1294. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/tabata-20-10-interval-training.json +1 -1
  1295. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/time-restricted-eating-18-6.json +1 -1
  1296. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/walking-after-every-meal.json +1 -1
  1297. package/node_modules/@murphai/health-commons/generated/web/shell/experiments/whole-body-red-and-near-infrared-light-exposure.json +3 -3
  1298. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/bryan-johnson-blueprint/protocol.json +1 -1
  1299. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/bryan-johnson-blueprint/research.json +1 -1
  1300. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/bryan-johnson-blueprint/results-public.json +2 -2
  1301. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/cold-plunge/protocol.json +1 -1
  1302. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/cold-plunge/research.json +1 -1
  1303. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/cold-plunge/results-public.json +2 -2
  1304. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/consistent-wake-time/protocol.json +1 -1
  1305. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/consistent-wake-time/research.json +1 -1
  1306. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/consistent-wake-time/results-public.json +2 -2
  1307. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/daily-step-floor/protocol.json +1 -1
  1308. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/daily-step-floor/research.json +1 -1
  1309. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/daily-step-floor/results-public.json +2 -2
  1310. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/finnish-sauna/protocol.json +1 -1
  1311. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/finnish-sauna/research.json +1 -1
  1312. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/finnish-sauna/results-public.json +2 -2
  1313. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/five-minute-tomorrow-list/protocol.json +1 -1
  1314. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/five-minute-tomorrow-list/research.json +1 -1
  1315. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/five-minute-tomorrow-list/results-public.json +2 -2
  1316. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/hyperbaric-oxygen-therapy/protocol.json +1 -1
  1317. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/hyperbaric-oxygen-therapy/research.json +1 -1
  1318. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/hyperbaric-oxygen-therapy/results-public.json +2 -2
  1319. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/morning-outdoor-light-exposure/protocol.json +1 -1
  1320. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/morning-outdoor-light-exposure/research.json +1 -1
  1321. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/morning-outdoor-light-exposure/results-public.json +2 -2
  1322. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/no-added-sugar-diet/protocol.json +1 -1
  1323. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/no-added-sugar-diet/research.json +1 -1
  1324. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/no-added-sugar-diet/results-public.json +2 -2
  1325. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/norwegian-4x4/protocol.json +1 -1
  1326. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/norwegian-4x4/research.json +1 -1
  1327. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/norwegian-4x4/results-public.json +2 -2
  1328. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pneumatic-compression-pants/protocol.json +1 -1
  1329. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pneumatic-compression-pants/research.json +1 -1
  1330. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pneumatic-compression-pants/results-public.json +2 -2
  1331. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/protein-floor-high-protein-intake/protocol.json +1 -1
  1332. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/protein-floor-high-protein-intake/research.json +1 -1
  1333. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/protein-floor-high-protein-intake/results-public.json +2 -2
  1334. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/tabata-20-10-interval-training/protocol.json +1 -1
  1335. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/tabata-20-10-interval-training/research.json +1 -1
  1336. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/tabata-20-10-interval-training/results-public.json +2 -2
  1337. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/time-restricted-eating-18-6/protocol.json +1 -1
  1338. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/time-restricted-eating-18-6/research.json +1 -1
  1339. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/time-restricted-eating-18-6/results-public.json +2 -2
  1340. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/walking-after-every-meal/protocol.json +1 -1
  1341. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/walking-after-every-meal/research.json +1 -1
  1342. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/walking-after-every-meal/results-public.json +2 -2
  1343. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/protocol.json +3 -3
  1344. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/research.json +3 -3
  1345. package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/results-public.json +5 -5
  1346. package/node_modules/@murphai/health-commons/package.json +5 -0
  1347. package/node_modules/@murphai/health-metrics/dist/catalog.d.ts.map +1 -1
  1348. package/node_modules/@murphai/health-metrics/dist/catalog.js +22 -2
  1349. package/node_modules/@murphai/health-metrics/dist/catalog.js.map +1 -1
  1350. package/node_modules/@murphai/health-metrics/dist/definitions/activity.d.ts.map +1 -1
  1351. package/node_modules/@murphai/health-metrics/dist/definitions/activity.js +99 -0
  1352. package/node_modules/@murphai/health-metrics/dist/definitions/activity.js.map +1 -1
  1353. package/node_modules/@murphai/health-metrics/dist/definitions/body.d.ts.map +1 -1
  1354. package/node_modules/@murphai/health-metrics/dist/definitions/body.js +69 -2
  1355. package/node_modules/@murphai/health-metrics/dist/definitions/body.js.map +1 -1
  1356. package/node_modules/@murphai/health-metrics/dist/definitions/physiology.d.ts +55 -0
  1357. package/node_modules/@murphai/health-metrics/dist/definitions/physiology.d.ts.map +1 -0
  1358. package/node_modules/@murphai/health-metrics/dist/definitions/physiology.js +92 -0
  1359. package/node_modules/@murphai/health-metrics/dist/definitions/physiology.js.map +1 -0
  1360. package/node_modules/@murphai/health-metrics/dist/definitions/vitals.d.ts +1 -1
  1361. package/node_modules/@murphai/health-metrics/dist/index.d.ts +1 -0
  1362. package/node_modules/@murphai/health-metrics/dist/index.d.ts.map +1 -1
  1363. package/node_modules/@murphai/health-metrics/dist/index.js +1 -0
  1364. package/node_modules/@murphai/health-metrics/dist/index.js.map +1 -1
  1365. package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.d.ts +45 -0
  1366. package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.d.ts.map +1 -0
  1367. package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.js +502 -0
  1368. package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.js.map +1 -0
  1369. package/node_modules/@murphai/health-metrics/dist/normalize.d.ts.map +1 -1
  1370. package/node_modules/@murphai/health-metrics/dist/normalize.js +2 -0
  1371. package/node_modules/@murphai/health-metrics/dist/normalize.js.map +1 -1
  1372. package/node_modules/@murphai/health-metrics/dist/selectors.d.ts +3 -0
  1373. package/node_modules/@murphai/health-metrics/dist/selectors.d.ts.map +1 -1
  1374. package/node_modules/@murphai/health-metrics/dist/selectors.js +52 -6
  1375. package/node_modules/@murphai/health-metrics/dist/selectors.js.map +1 -1
  1376. package/node_modules/@murphai/health-metrics/dist/types.d.ts +1 -0
  1377. package/node_modules/@murphai/health-metrics/dist/types.d.ts.map +1 -1
  1378. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts +10 -1
  1379. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts.map +1 -1
  1380. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js +29 -0
  1381. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js.map +1 -1
  1382. package/node_modules/@murphai/importers/README.md +2 -0
  1383. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js +1 -1
  1384. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js.map +1 -1
  1385. package/node_modules/@murphai/importers/dist/core-port.d.ts +1 -0
  1386. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -1
  1387. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -1
  1388. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts +1 -0
  1389. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts.map +1 -1
  1390. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js +1 -1
  1391. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js.map +1 -1
  1392. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +1 -1
  1393. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -1
  1394. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +1 -1
  1395. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
  1396. package/node_modules/@murphai/importers/dist/device-providers/index.js +1 -1
  1397. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
  1398. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts +27 -0
  1399. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts.map +1 -0
  1400. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js +403 -0
  1401. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js.map +1 -0
  1402. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts +4 -12
  1403. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts.map +1 -1
  1404. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js +18 -107
  1405. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js.map +1 -1
  1406. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.d.ts +285 -0
  1407. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.d.ts.map +1 -0
  1408. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.js +870 -0
  1409. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.js.map +1 -0
  1410. package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts +38 -0
  1411. package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts.map +1 -1
  1412. package/node_modules/@murphai/importers/dist/device-providers/junction.js +2682 -259
  1413. package/node_modules/@murphai/importers/dist/device-providers/junction.js.map +1 -1
  1414. package/node_modules/@murphai/importers/dist/device-providers/oura.js +1 -1
  1415. package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -1
  1416. package/node_modules/@murphai/importers/dist/device-providers/whoop.js +1 -1
  1417. package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -1
  1418. package/node_modules/@murphai/importers/dist/document-importer.d.ts +1 -0
  1419. package/node_modules/@murphai/importers/dist/document-importer.d.ts.map +1 -1
  1420. package/node_modules/@murphai/importers/dist/document-importer.js +3 -1
  1421. package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -1
  1422. package/node_modules/@murphai/importers/dist/index.d.ts +1 -0
  1423. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
  1424. package/node_modules/@murphai/importers/dist/index.js +1 -0
  1425. package/node_modules/@murphai/importers/dist/index.js.map +1 -1
  1426. package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -1
  1427. package/node_modules/@murphai/importers/dist/meal-importer.js +2 -1
  1428. package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -1
  1429. package/node_modules/@murphai/importers/dist/preset-registry.js +1 -1
  1430. package/node_modules/@murphai/importers/dist/preset-registry.js.map +1 -1
  1431. package/node_modules/@murphai/importers/dist/shared.d.ts +1 -1
  1432. package/node_modules/@murphai/importers/dist/shared.d.ts.map +1 -1
  1433. package/node_modules/@murphai/importers/dist/shared.js +1 -1
  1434. package/node_modules/@murphai/importers/dist/shared.js.map +1 -1
  1435. package/node_modules/@murphai/importers/dist/workout-csv-planner.d.ts +49 -0
  1436. package/node_modules/@murphai/importers/dist/workout-csv-planner.d.ts.map +1 -0
  1437. package/node_modules/@murphai/importers/dist/workout-csv-planner.js +860 -0
  1438. package/node_modules/@murphai/importers/dist/workout-csv-planner.js.map +1 -0
  1439. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.d.ts +2 -5
  1440. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.d.ts.map +1 -1
  1441. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.js +3 -50
  1442. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.js.map +1 -1
  1443. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.d.ts.map +1 -1
  1444. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.js +9 -11
  1445. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.js.map +1 -1
  1446. package/node_modules/@murphai/inbox-services/dist/inbox-app/environment.d.ts.map +1 -1
  1447. package/node_modules/@murphai/inbox-services/dist/inbox-app/environment.js +0 -160
  1448. package/node_modules/@murphai/inbox-services/dist/inbox-app/environment.js.map +1 -1
  1449. package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.d.ts.map +1 -1
  1450. package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.js +2 -4
  1451. package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.js.map +1 -1
  1452. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.d.ts +1 -1
  1453. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.d.ts.map +1 -1
  1454. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js +2 -32
  1455. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js.map +1 -1
  1456. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts +2 -79
  1457. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts.map +1 -1
  1458. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.js +0 -1
  1459. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.js.map +1 -1
  1460. package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.d.ts +1 -2
  1461. package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.d.ts.map +1 -1
  1462. package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.js +15 -37
  1463. package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.js.map +1 -1
  1464. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts +21 -21
  1465. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts.map +1 -1
  1466. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.js +1 -1
  1467. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.js.map +1 -1
  1468. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.d.ts +1 -1
  1469. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.d.ts.map +1 -1
  1470. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js +0 -1
  1471. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js.map +1 -1
  1472. package/node_modules/@murphai/inbox-services/dist/index.d.ts +1 -1
  1473. package/node_modules/@murphai/inbox-services/dist/index.d.ts.map +1 -1
  1474. package/node_modules/@murphai/inboxd/README.md +3 -3
  1475. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.d.ts.map +1 -1
  1476. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js +56 -5
  1477. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js.map +1 -1
  1478. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js +8 -0
  1479. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js.map +1 -1
  1480. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.d.ts +1 -0
  1481. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.d.ts.map +1 -1
  1482. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js +1 -0
  1483. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js.map +1 -1
  1484. package/node_modules/@murphai/inboxd/dist/index.d.ts +0 -5
  1485. package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
  1486. package/node_modules/@murphai/inboxd/dist/index.js +0 -2
  1487. package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
  1488. package/node_modules/@murphai/inboxd/dist/indexing/attachment-storage-normalizer.d.ts.map +1 -1
  1489. package/node_modules/@murphai/inboxd/dist/indexing/attachment-storage-normalizer.js +141 -4
  1490. package/node_modules/@murphai/inboxd/dist/indexing/attachment-storage-normalizer.js.map +1 -1
  1491. package/node_modules/@murphai/messaging-ingress/README.md +5 -1
  1492. package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.d.ts +27 -1
  1493. package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.d.ts.map +1 -1
  1494. package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.js +164 -17
  1495. package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.js.map +1 -1
  1496. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts +1 -0
  1497. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts.map +1 -1
  1498. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.js +2 -0
  1499. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.js.map +1 -1
  1500. package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.d.ts +3 -3
  1501. package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.d.ts.map +1 -1
  1502. package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.js +1 -1
  1503. package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.js.map +1 -1
  1504. package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.d.ts +1 -1
  1505. package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.d.ts.map +1 -1
  1506. package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.js +7 -19
  1507. package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.js.map +1 -1
  1508. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +31 -33
  1509. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
  1510. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js +5 -8
  1511. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js.map +1 -1
  1512. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts +1 -15
  1513. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts.map +1 -1
  1514. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js +52 -84
  1515. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
  1516. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +31 -48
  1517. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts.map +1 -1
  1518. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js +33 -56
  1519. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js.map +1 -1
  1520. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts +11 -11
  1521. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts.map +1 -1
  1522. package/node_modules/@murphai/operator-config/dist/assistant-backend.js +33 -45
  1523. package/node_modules/@murphai/operator-config/dist/assistant-backend.js.map +1 -1
  1524. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +1713 -1566
  1525. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
  1526. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +193 -23
  1527. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
  1528. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts +445 -0
  1529. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts.map +1 -0
  1530. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js +1030 -0
  1531. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js.map +1 -0
  1532. package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts +4 -2
  1533. package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts.map +1 -1
  1534. package/node_modules/@murphai/operator-config/dist/command-helpers.js +36 -1
  1535. package/node_modules/@murphai/operator-config/dist/command-helpers.js.map +1 -1
  1536. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts +181 -181
  1537. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts.map +1 -1
  1538. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js +1 -1
  1539. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js.map +1 -1
  1540. package/node_modules/@murphai/operator-config/dist/device-sync-client.js +1 -1
  1541. package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
  1542. package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.d.ts +3 -0
  1543. package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.d.ts.map +1 -1
  1544. package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.js +301 -63
  1545. package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.js.map +1 -1
  1546. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts +3 -2
  1547. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts.map +1 -1
  1548. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js +3 -0
  1549. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js.map +1 -1
  1550. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts.map +1 -1
  1551. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js +2 -6
  1552. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js.map +1 -1
  1553. package/node_modules/@murphai/operator-config/dist/http-json-retry.d.ts +7 -2
  1554. package/node_modules/@murphai/operator-config/dist/http-json-retry.d.ts.map +1 -1
  1555. package/node_modules/@murphai/operator-config/dist/http-json-retry.js +33 -14
  1556. package/node_modules/@murphai/operator-config/dist/http-json-retry.js.map +1 -1
  1557. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts +427 -462
  1558. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts.map +1 -1
  1559. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js +2 -14
  1560. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js.map +1 -1
  1561. package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts +35 -1
  1562. package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts.map +1 -1
  1563. package/node_modules/@murphai/operator-config/dist/linq-runtime.js +1115 -180
  1564. package/node_modules/@murphai/operator-config/dist/linq-runtime.js.map +1 -1
  1565. package/node_modules/@murphai/operator-config/dist/message-formatting.d.ts +1 -0
  1566. package/node_modules/@murphai/operator-config/dist/message-formatting.d.ts.map +1 -1
  1567. package/node_modules/@murphai/operator-config/dist/message-formatting.js +3 -1
  1568. package/node_modules/@murphai/operator-config/dist/message-formatting.js.map +1 -1
  1569. package/node_modules/@murphai/operator-config/dist/message-table-fallback.d.ts +7 -0
  1570. package/node_modules/@murphai/operator-config/dist/message-table-fallback.d.ts.map +1 -0
  1571. package/node_modules/@murphai/operator-config/dist/message-table-fallback.js +109 -0
  1572. package/node_modules/@murphai/operator-config/dist/message-table-fallback.js.map +1 -0
  1573. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts +12 -12
  1574. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts.map +1 -1
  1575. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js +1 -1
  1576. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js.map +1 -1
  1577. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +50 -53
  1578. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
  1579. package/node_modules/@murphai/operator-config/dist/operator-config.js +4 -5
  1580. package/node_modules/@murphai/operator-config/dist/operator-config.js.map +1 -1
  1581. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts +225 -226
  1582. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
  1583. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js +2 -2
  1584. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js.map +1 -1
  1585. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.d.ts.map +1 -1
  1586. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js +0 -19
  1587. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js.map +1 -1
  1588. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +336 -294
  1589. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
  1590. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +36 -8
  1591. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
  1592. package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts +5 -0
  1593. package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts.map +1 -0
  1594. package/node_modules/@murphai/operator-config/dist/workout-action-binding.js +84 -0
  1595. package/node_modules/@murphai/operator-config/dist/workout-action-binding.js.map +1 -0
  1596. package/node_modules/@murphai/operator-config/package.json +10 -5
  1597. package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.d.ts +2 -0
  1598. package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.d.ts.map +1 -1
  1599. package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.js +18 -0
  1600. package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.js.map +1 -1
  1601. package/node_modules/@murphai/query/README.md +9 -0
  1602. package/node_modules/@murphai/query/dist/automation.d.ts +5 -2
  1603. package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
  1604. package/node_modules/@murphai/query/dist/automation.js +33 -8
  1605. package/node_modules/@murphai/query/dist/automation.js.map +1 -1
  1606. package/node_modules/@murphai/query/dist/browser-biomarkers.d.ts +2 -2
  1607. package/node_modules/@murphai/query/dist/browser-biomarkers.d.ts.map +1 -1
  1608. package/node_modules/@murphai/query/dist/browser-biomarkers.js +1 -1
  1609. package/node_modules/@murphai/query/dist/browser-biomarkers.js.map +1 -1
  1610. package/node_modules/@murphai/query/dist/browser-experiments.d.ts +2 -2
  1611. package/node_modules/@murphai/query/dist/browser-experiments.d.ts.map +1 -1
  1612. package/node_modules/@murphai/query/dist/browser-experiments.js +1 -1
  1613. package/node_modules/@murphai/query/dist/browser-experiments.js.map +1 -1
  1614. package/node_modules/@murphai/query/dist/browser-murph-age.d.ts +1 -1
  1615. package/node_modules/@murphai/query/dist/browser-murph-age.d.ts.map +1 -1
  1616. package/node_modules/@murphai/query/dist/browser-overview.d.ts +2 -1
  1617. package/node_modules/@murphai/query/dist/browser-overview.d.ts.map +1 -1
  1618. package/node_modules/@murphai/query/dist/browser-replica/biomarker-panel.d.ts +2 -2
  1619. package/node_modules/@murphai/query/dist/browser-replica/biomarker-panel.d.ts.map +1 -1
  1620. package/node_modules/@murphai/query/dist/browser-replica/build.d.ts.map +1 -1
  1621. package/node_modules/@murphai/query/dist/browser-replica/build.js +45 -27
  1622. package/node_modules/@murphai/query/dist/browser-replica/build.js.map +1 -1
  1623. package/node_modules/@murphai/query/dist/browser-replica/client-overview.d.ts +3 -3
  1624. package/node_modules/@murphai/query/dist/browser-replica/client-overview.d.ts.map +1 -1
  1625. package/node_modules/@murphai/query/dist/browser-replica/client-overview.js +3 -0
  1626. package/node_modules/@murphai/query/dist/browser-replica/client-overview.js.map +1 -1
  1627. package/node_modules/@murphai/query/dist/browser-replica/device-metrics.d.ts +2 -2
  1628. package/node_modules/@murphai/query/dist/browser-replica/device-metrics.d.ts.map +1 -1
  1629. package/node_modules/@murphai/query/dist/browser-replica/device-metrics.js.map +1 -1
  1630. package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.d.ts +8 -0
  1631. package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.d.ts.map +1 -0
  1632. package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.js +548 -0
  1633. package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.js.map +1 -0
  1634. package/node_modules/@murphai/query/dist/browser-replica/experiments.d.ts +22 -2
  1635. package/node_modules/@murphai/query/dist/browser-replica/experiments.d.ts.map +1 -1
  1636. package/node_modules/@murphai/query/dist/browser-replica/experiments.js +209 -63
  1637. package/node_modules/@murphai/query/dist/browser-replica/experiments.js.map +1 -1
  1638. package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.d.ts +11 -0
  1639. package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.d.ts.map +1 -0
  1640. package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.js +233 -0
  1641. package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.js.map +1 -0
  1642. package/node_modules/@murphai/query/dist/browser-replica/lab-results.d.ts +4 -3
  1643. package/node_modules/@murphai/query/dist/browser-replica/lab-results.d.ts.map +1 -1
  1644. package/node_modules/@murphai/query/dist/browser-replica/lab-results.js +24 -5
  1645. package/node_modules/@murphai/query/dist/browser-replica/lab-results.js.map +1 -1
  1646. package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.d.ts +14 -0
  1647. package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.d.ts.map +1 -0
  1648. package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.js +25 -0
  1649. package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.js.map +1 -0
  1650. package/node_modules/@murphai/query/dist/browser-replica/murph-age.d.ts +2 -2
  1651. package/node_modules/@murphai/query/dist/browser-replica/murph-age.d.ts.map +1 -1
  1652. package/node_modules/@murphai/query/dist/browser-replica/murph-age.js.map +1 -1
  1653. package/node_modules/@murphai/query/dist/browser-replica/parse.d.ts +8 -0
  1654. package/node_modules/@murphai/query/dist/browser-replica/parse.d.ts.map +1 -1
  1655. package/node_modules/@murphai/query/dist/browser-replica/parse.js +327 -7
  1656. package/node_modules/@murphai/query/dist/browser-replica/parse.js.map +1 -1
  1657. package/node_modules/@murphai/query/dist/browser-replica/query.d.ts +24 -1
  1658. package/node_modules/@murphai/query/dist/browser-replica/query.d.ts.map +1 -1
  1659. package/node_modules/@murphai/query/dist/browser-replica/query.js +246 -41
  1660. package/node_modules/@murphai/query/dist/browser-replica/query.js.map +1 -1
  1661. package/node_modules/@murphai/query/dist/browser-replica/search-row.d.ts +3 -0
  1662. package/node_modules/@murphai/query/dist/browser-replica/search-row.d.ts.map +1 -0
  1663. package/node_modules/@murphai/query/dist/browser-replica/search-row.js +16 -0
  1664. package/node_modules/@murphai/query/dist/browser-replica/search-row.js.map +1 -0
  1665. package/node_modules/@murphai/query/dist/browser-replica/shards.d.ts +76 -0
  1666. package/node_modules/@murphai/query/dist/browser-replica/shards.d.ts.map +1 -0
  1667. package/node_modules/@murphai/query/dist/browser-replica/shards.js +232 -0
  1668. package/node_modules/@murphai/query/dist/browser-replica/shards.js.map +1 -0
  1669. package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts +143 -9
  1670. package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts.map +1 -1
  1671. package/node_modules/@murphai/query/dist/browser-replica/shared.js +1 -0
  1672. package/node_modules/@murphai/query/dist/browser-replica/shared.js.map +1 -1
  1673. package/node_modules/@murphai/query/dist/browser-replica/tracked-experiments.d.ts +3 -3
  1674. package/node_modules/@murphai/query/dist/browser-replica/tracked-experiments.d.ts.map +1 -1
  1675. package/node_modules/@murphai/query/dist/browser-replica/tracked-experiments.js.map +1 -1
  1676. package/node_modules/@murphai/query/dist/browser-replica/training.d.ts +7 -0
  1677. package/node_modules/@murphai/query/dist/browser-replica/training.d.ts.map +1 -0
  1678. package/node_modules/@murphai/query/dist/browser-replica/training.js +241 -0
  1679. package/node_modules/@murphai/query/dist/browser-replica/training.js.map +1 -0
  1680. package/node_modules/@murphai/query/dist/browser-replica/views.d.ts +5 -5
  1681. package/node_modules/@murphai/query/dist/browser-replica/views.d.ts.map +1 -1
  1682. package/node_modules/@murphai/query/dist/browser-replica/views.js +3 -0
  1683. package/node_modules/@murphai/query/dist/browser-replica/views.js.map +1 -1
  1684. package/node_modules/@murphai/query/dist/browser-replica-client.d.ts +11 -4
  1685. package/node_modules/@murphai/query/dist/browser-replica-client.d.ts.map +1 -1
  1686. package/node_modules/@murphai/query/dist/browser-replica-client.js +7 -3
  1687. package/node_modules/@murphai/query/dist/browser-replica-client.js.map +1 -1
  1688. package/node_modules/@murphai/query/dist/browser-replica-server.d.ts +5 -0
  1689. package/node_modules/@murphai/query/dist/browser-replica-server.d.ts.map +1 -0
  1690. package/node_modules/@murphai/query/dist/browser-replica-server.js +5 -0
  1691. package/node_modules/@murphai/query/dist/browser-replica-server.js.map +1 -0
  1692. package/node_modules/@murphai/query/dist/browser-replica.d.ts +13 -5
  1693. package/node_modules/@murphai/query/dist/browser-replica.d.ts.map +1 -1
  1694. package/node_modules/@murphai/query/dist/browser-replica.js +9 -4
  1695. package/node_modules/@murphai/query/dist/browser-replica.js.map +1 -1
  1696. package/node_modules/@murphai/query/dist/browser.d.ts +2 -2
  1697. package/node_modules/@murphai/query/dist/browser.d.ts.map +1 -1
  1698. package/node_modules/@murphai/query/dist/browser.js +1 -1
  1699. package/node_modules/@murphai/query/dist/browser.js.map +1 -1
  1700. package/node_modules/@murphai/query/dist/canonical-observation-metrics.d.ts +16 -0
  1701. package/node_modules/@murphai/query/dist/canonical-observation-metrics.d.ts.map +1 -0
  1702. package/node_modules/@murphai/query/dist/canonical-observation-metrics.js +70 -0
  1703. package/node_modules/@murphai/query/dist/canonical-observation-metrics.js.map +1 -0
  1704. package/node_modules/@murphai/query/dist/experiment-adherence.d.ts +20 -0
  1705. package/node_modules/@murphai/query/dist/experiment-adherence.d.ts.map +1 -1
  1706. package/node_modules/@murphai/query/dist/experiment-adherence.js +175 -29
  1707. package/node_modules/@murphai/query/dist/experiment-adherence.js.map +1 -1
  1708. package/node_modules/@murphai/query/dist/experiment-progress-card.d.ts +1 -0
  1709. package/node_modules/@murphai/query/dist/experiment-progress-card.d.ts.map +1 -1
  1710. package/node_modules/@murphai/query/dist/experiment-progress-card.js +1 -0
  1711. package/node_modules/@murphai/query/dist/experiment-progress-card.js.map +1 -1
  1712. package/node_modules/@murphai/query/dist/experiments.d.ts.map +1 -1
  1713. package/node_modules/@murphai/query/dist/experiments.js +46 -22
  1714. package/node_modules/@murphai/query/dist/experiments.js.map +1 -1
  1715. package/node_modules/@murphai/query/dist/group-weekly.d.ts.map +1 -1
  1716. package/node_modules/@murphai/query/dist/group-weekly.js +52 -1
  1717. package/node_modules/@murphai/query/dist/group-weekly.js.map +1 -1
  1718. package/node_modules/@murphai/query/dist/health/shared.js +1 -1
  1719. package/node_modules/@murphai/query/dist/health/shared.js.map +1 -1
  1720. package/node_modules/@murphai/query/dist/index.d.ts +21 -4
  1721. package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
  1722. package/node_modules/@murphai/query/dist/index.js +14 -3
  1723. package/node_modules/@murphai/query/dist/index.js.map +1 -1
  1724. package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts +78 -75
  1725. package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts.map +1 -1
  1726. package/node_modules/@murphai/query/dist/knowledge-contracts.js +2 -1
  1727. package/node_modules/@murphai/query/dist/knowledge-contracts.js.map +1 -1
  1728. package/node_modules/@murphai/query/dist/knowledge-graph.d.ts +1 -0
  1729. package/node_modules/@murphai/query/dist/knowledge-graph.d.ts.map +1 -1
  1730. package/node_modules/@murphai/query/dist/knowledge-graph.js +17 -1
  1731. package/node_modules/@murphai/query/dist/knowledge-graph.js.map +1 -1
  1732. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts +26 -0
  1733. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -1
  1734. package/node_modules/@murphai/query/dist/meal-nutrition.js +111 -5
  1735. package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -1
  1736. package/node_modules/@murphai/query/dist/metrics/index.d.ts.map +1 -1
  1737. package/node_modules/@murphai/query/dist/metrics/index.js +14 -1
  1738. package/node_modules/@murphai/query/dist/metrics/index.js.map +1 -1
  1739. package/node_modules/@murphai/query/dist/metrics/projection.d.ts.map +1 -1
  1740. package/node_modules/@murphai/query/dist/metrics/projection.js +110 -3
  1741. package/node_modules/@murphai/query/dist/metrics/projection.js.map +1 -1
  1742. package/node_modules/@murphai/query/dist/personal-patterns.d.ts +55 -0
  1743. package/node_modules/@murphai/query/dist/personal-patterns.d.ts.map +1 -0
  1744. package/node_modules/@murphai/query/dist/personal-patterns.js +401 -0
  1745. package/node_modules/@murphai/query/dist/personal-patterns.js.map +1 -0
  1746. package/node_modules/@murphai/query/dist/projection/schema.d.ts +1 -1
  1747. package/node_modules/@murphai/query/dist/projection/schema.d.ts.map +1 -1
  1748. package/node_modules/@murphai/query/dist/projection/schema.js +3 -1
  1749. package/node_modules/@murphai/query/dist/projection/schema.js.map +1 -1
  1750. package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js +4 -0
  1751. package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js.map +1 -1
  1752. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.d.ts.map +1 -1
  1753. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js +2 -2
  1754. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js.map +1 -1
  1755. package/node_modules/@murphai/query/dist/projection/wearable-summary-stored-codec.js +1 -1
  1756. package/node_modules/@murphai/query/dist/projection/wearable-summary-stored-codec.js.map +1 -1
  1757. package/node_modules/@murphai/query/dist/query-projection.d.ts +14 -0
  1758. package/node_modules/@murphai/query/dist/query-projection.d.ts.map +1 -1
  1759. package/node_modules/@murphai/query/dist/query-projection.js +31 -0
  1760. package/node_modules/@murphai/query/dist/query-projection.js.map +1 -1
  1761. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
  1762. package/node_modules/@murphai/query/dist/wearables/candidates.js +6 -0
  1763. package/node_modules/@murphai/query/dist/wearables/candidates.js.map +1 -1
  1764. package/node_modules/@murphai/query/dist/wearables/public-output.d.ts.map +1 -1
  1765. package/node_modules/@murphai/query/dist/wearables/public-output.js +37 -2
  1766. package/node_modules/@murphai/query/dist/wearables/public-output.js.map +1 -1
  1767. package/node_modules/@murphai/query/dist/wearables/sleep-pattern.d.ts +5 -1
  1768. package/node_modules/@murphai/query/dist/wearables/sleep-pattern.d.ts.map +1 -1
  1769. package/node_modules/@murphai/query/dist/wearables/sleep-pattern.js +16 -3
  1770. package/node_modules/@murphai/query/dist/wearables/sleep-pattern.js.map +1 -1
  1771. package/node_modules/@murphai/query/dist/wearables/source-health.d.ts.map +1 -1
  1772. package/node_modules/@murphai/query/dist/wearables/source-health.js +27 -4
  1773. package/node_modules/@murphai/query/dist/wearables/source-health.js.map +1 -1
  1774. package/node_modules/@murphai/query/dist/wearables/types.d.ts +17 -4
  1775. package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
  1776. package/node_modules/@murphai/query/dist/wearables/types.js +34 -0
  1777. package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
  1778. package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
  1779. package/node_modules/@murphai/query/dist/wearables.js +55 -4
  1780. package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
  1781. package/node_modules/@murphai/query/package.json +10 -0
  1782. package/node_modules/@murphai/runtime-state/README.md +2 -2
  1783. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -1
  1784. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +15 -2
  1785. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -1
  1786. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +1 -0
  1787. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -1
  1788. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +45 -20
  1789. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -1
  1790. package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.d.ts +32 -1
  1791. package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.d.ts.map +1 -1
  1792. package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.js +327 -0
  1793. package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.js.map +1 -1
  1794. package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.d.ts +3 -1
  1795. package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.d.ts.map +1 -1
  1796. package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.js +23 -3
  1797. package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.js.map +1 -1
  1798. package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts +1 -1
  1799. package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts.map +1 -1
  1800. package/node_modules/@murphai/runtime-state/dist/hosted-storage.js +1 -0
  1801. package/node_modules/@murphai/runtime-state/dist/hosted-storage.js.map +1 -1
  1802. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts.map +1 -1
  1803. package/node_modules/@murphai/runtime-state/dist/sqlite.js +22 -6
  1804. package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -1
  1805. package/node_modules/@murphai/setup-cli/README.md +1 -1
  1806. package/node_modules/@murphai/setup-cli/dist/index.d.ts +0 -1
  1807. package/node_modules/@murphai/setup-cli/dist/index.d.ts.map +1 -1
  1808. package/node_modules/@murphai/setup-cli/dist/index.js +0 -1
  1809. package/node_modules/@murphai/setup-cli/dist/index.js.map +1 -1
  1810. package/node_modules/@murphai/setup-cli/dist/setup-assistant-account.js +1 -1
  1811. package/node_modules/@murphai/setup-cli/dist/setup-assistant-account.js.map +1 -1
  1812. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.d.ts.map +1 -1
  1813. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js +14 -24
  1814. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
  1815. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js +1 -1
  1816. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js.map +1 -1
  1817. package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts +1 -2
  1818. package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts.map +1 -1
  1819. package/node_modules/@murphai/setup-cli/dist/setup-cli.js +2 -4
  1820. package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
  1821. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.d.ts +0 -4
  1822. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.d.ts.map +1 -1
  1823. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js +126 -420
  1824. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js.map +1 -1
  1825. package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts +0 -3
  1826. package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
  1827. package/node_modules/@murphai/setup-cli/dist/setup-services.js +0 -7
  1828. package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
  1829. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.d.ts.map +1 -1
  1830. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js +0 -7
  1831. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js.map +1 -1
  1832. package/node_modules/@murphai/vault-usecases/dist/clinical-records.js +1 -1
  1833. package/node_modules/@murphai/vault-usecases/dist/clinical-records.js.map +1 -1
  1834. package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.d.ts +3 -3
  1835. package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.d.ts.map +1 -1
  1836. package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.js +1 -1
  1837. package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.js.map +1 -1
  1838. package/node_modules/@murphai/vault-usecases/dist/export-packs.d.ts +7 -0
  1839. package/node_modules/@murphai/vault-usecases/dist/export-packs.d.ts.map +1 -0
  1840. package/node_modules/@murphai/vault-usecases/dist/export-packs.js +45 -0
  1841. package/node_modules/@murphai/vault-usecases/dist/export-packs.js.map +1 -0
  1842. package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts +28 -28
  1843. package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts.map +1 -1
  1844. package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.js +1 -1
  1845. package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.js.map +1 -1
  1846. package/node_modules/@murphai/vault-usecases/dist/json-input.d.ts +1 -1
  1847. package/node_modules/@murphai/vault-usecases/dist/json-input.d.ts.map +1 -1
  1848. package/node_modules/@murphai/vault-usecases/dist/json-input.js +1 -1
  1849. package/node_modules/@murphai/vault-usecases/dist/json-input.js.map +1 -1
  1850. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts +5 -1
  1851. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts.map +1 -1
  1852. package/node_modules/@murphai/vault-usecases/dist/query-runtime.js.map +1 -1
  1853. package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.d.ts +1 -1
  1854. package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.d.ts.map +1 -1
  1855. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts +21 -21
  1856. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -1
  1857. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +1 -1
  1858. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js.map +1 -1
  1859. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts +193 -193
  1860. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts.map +1 -1
  1861. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js +1 -1
  1862. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js.map +1 -1
  1863. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts +12 -12
  1864. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
  1865. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +1 -1
  1866. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
  1867. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.d.ts +130 -130
  1868. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.d.ts.map +1 -1
  1869. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js +1 -1
  1870. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js.map +1 -1
  1871. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts +1 -0
  1872. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts.map +1 -1
  1873. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js +22 -0
  1874. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js.map +1 -1
  1875. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +28 -5
  1876. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
  1877. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +225 -37
  1878. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
  1879. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.d.ts +1 -1
  1880. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.d.ts.map +1 -1
  1881. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.js +1 -1
  1882. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.js.map +1 -1
  1883. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
  1884. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +0 -1
  1885. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
  1886. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
  1887. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +77 -9
  1888. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
  1889. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts +95 -13
  1890. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -1
  1891. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +136 -3
  1892. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -1
  1893. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts.map +1 -1
  1894. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js +3 -1
  1895. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js.map +1 -1
  1896. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +4 -4
  1897. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
  1898. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +1 -1
  1899. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
  1900. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts +3 -3
  1901. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts.map +1 -1
  1902. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +1 -1
  1903. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js.map +1 -1
  1904. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.d.ts.map +1 -1
  1905. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js +2 -0
  1906. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js.map +1 -1
  1907. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +44 -1
  1908. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts.map +1 -1
  1909. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts +7 -1
  1910. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts.map +1 -1
  1911. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.js.map +1 -1
  1912. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +2 -0
  1913. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
  1914. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.d.ts +60 -7
  1915. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.d.ts.map +1 -1
  1916. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.js +1282 -494
  1917. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.js.map +1 -1
  1918. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts +84 -0
  1919. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts.map +1 -0
  1920. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js +195 -0
  1921. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js.map +1 -0
  1922. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts +36 -0
  1923. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts.map +1 -0
  1924. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js +285 -0
  1925. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js.map +1 -0
  1926. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts +122 -0
  1927. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts.map +1 -0
  1928. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js +507 -0
  1929. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js.map +1 -0
  1930. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.d.ts +1 -1
  1931. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.d.ts.map +1 -1
  1932. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.js +2 -0
  1933. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.js.map +1 -1
  1934. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts +13 -13
  1935. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
  1936. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +3 -2
  1937. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
  1938. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts +25 -1
  1939. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
  1940. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +118 -3
  1941. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js.map +1 -1
  1942. package/node_modules/@murphai/vault-usecases/dist/vault-services.d.ts.map +1 -1
  1943. package/node_modules/@murphai/vault-usecases/dist/vault-services.js +3 -0
  1944. package/node_modules/@murphai/vault-usecases/dist/vault-services.js.map +1 -1
  1945. package/node_modules/@murphai/vault-usecases/dist/workouts.d.ts +1 -0
  1946. package/node_modules/@murphai/vault-usecases/dist/workouts.d.ts.map +1 -1
  1947. package/node_modules/@murphai/vault-usecases/dist/workouts.js +1 -0
  1948. package/node_modules/@murphai/vault-usecases/dist/workouts.js.map +1 -1
  1949. package/node_modules/@murphai/vault-usecases/package.json +4 -0
  1950. package/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
  1951. package/node_modules/ink/build/ansi-tokenizer.js +316 -0
  1952. package/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
  1953. package/node_modules/ink/build/apply-styles.js +175 -0
  1954. package/node_modules/ink/build/build-layout.js +77 -0
  1955. package/node_modules/ink/build/calculate-wrapped-text.js +53 -0
  1956. package/node_modules/ink/build/colorize.d.ts +3 -0
  1957. package/node_modules/ink/build/colorize.js +48 -0
  1958. package/node_modules/ink/build/colorize.js.map +1 -0
  1959. package/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
  1960. package/node_modules/ink/build/components/AccessibilityContext.js +5 -0
  1961. package/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
  1962. package/node_modules/ink/build/components/App.d.ts +18 -0
  1963. package/node_modules/ink/build/components/App.js +351 -0
  1964. package/node_modules/ink/build/components/App.js.map +1 -0
  1965. package/node_modules/ink/build/components/AppContext.d.ts +15 -0
  1966. package/node_modules/ink/build/components/AppContext.js +11 -0
  1967. package/node_modules/ink/build/components/AppContext.js.map +1 -0
  1968. package/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
  1969. package/node_modules/ink/build/components/BackgroundContext.js +3 -0
  1970. package/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
  1971. package/node_modules/ink/build/components/Box.d.ts +117 -0
  1972. package/node_modules/ink/build/components/Box.js +34 -0
  1973. package/node_modules/ink/build/components/Box.js.map +1 -0
  1974. package/node_modules/ink/build/components/Color.js +62 -0
  1975. package/node_modules/ink/build/components/Cursor.d.ts +83 -0
  1976. package/node_modules/ink/build/components/Cursor.js +53 -0
  1977. package/node_modules/ink/build/components/Cursor.js.map +1 -0
  1978. package/node_modules/ink/build/components/CursorContext.d.ts +11 -0
  1979. package/node_modules/ink/build/components/CursorContext.js +8 -0
  1980. package/node_modules/ink/build/components/CursorContext.js.map +1 -0
  1981. package/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
  1982. package/node_modules/ink/build/components/ErrorBoundary.js +23 -0
  1983. package/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
  1984. package/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
  1985. package/node_modules/ink/build/components/ErrorOverview.js +84 -0
  1986. package/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
  1987. package/node_modules/ink/build/components/FocusContext.d.ts +16 -0
  1988. package/node_modules/ink/build/components/FocusContext.js +17 -0
  1989. package/node_modules/ink/build/components/FocusContext.js.map +1 -0
  1990. package/node_modules/ink/build/components/Newline.d.ts +13 -0
  1991. package/node_modules/ink/build/components/Newline.js +8 -0
  1992. package/node_modules/ink/build/components/Newline.js.map +1 -0
  1993. package/node_modules/ink/build/components/Spacer.d.ts +7 -0
  1994. package/node_modules/ink/build/components/Spacer.js +11 -0
  1995. package/node_modules/ink/build/components/Spacer.js.map +1 -0
  1996. package/node_modules/ink/build/components/Static.d.ts +24 -0
  1997. package/node_modules/ink/build/components/Static.js +28 -0
  1998. package/node_modules/ink/build/components/Static.js.map +1 -0
  1999. package/node_modules/ink/build/components/StderrContext.d.ts +15 -0
  2000. package/node_modules/ink/build/components/StderrContext.js +13 -0
  2001. package/node_modules/ink/build/components/StderrContext.js.map +1 -0
  2002. package/node_modules/ink/build/components/StdinContext.d.ts +22 -0
  2003. package/node_modules/ink/build/components/StdinContext.js +19 -0
  2004. package/node_modules/ink/build/components/StdinContext.js.map +1 -0
  2005. package/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
  2006. package/node_modules/ink/build/components/StdoutContext.js +13 -0
  2007. package/node_modules/ink/build/components/StdoutContext.js.map +1 -0
  2008. package/node_modules/ink/build/components/Text.d.ts +55 -0
  2009. package/node_modules/ink/build/components/Text.js +50 -0
  2010. package/node_modules/ink/build/components/Text.js.map +1 -0
  2011. package/node_modules/ink/build/components/Transform.d.ts +16 -0
  2012. package/node_modules/ink/build/components/Transform.js +15 -0
  2013. package/node_modules/ink/build/components/Transform.js.map +1 -0
  2014. package/node_modules/ink/build/cursor-helpers.d.ts +38 -0
  2015. package/node_modules/ink/build/cursor-helpers.js +56 -0
  2016. package/node_modules/ink/build/cursor-helpers.js.map +1 -0
  2017. package/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
  2018. package/node_modules/ink/build/devtools-window-polyfill.js +65 -0
  2019. package/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
  2020. package/node_modules/ink/build/devtools.d.ts +1 -0
  2021. package/node_modules/ink/build/devtools.js +11 -0
  2022. package/node_modules/ink/build/devtools.js.map +1 -0
  2023. package/node_modules/ink/build/dom.d.ts +56 -0
  2024. package/node_modules/ink/build/dom.js +124 -0
  2025. package/node_modules/ink/build/dom.js.map +1 -0
  2026. package/node_modules/ink/build/experimental/apply-style.js +140 -0
  2027. package/node_modules/ink/build/experimental/dom.js +123 -0
  2028. package/node_modules/ink/build/experimental/output.js +91 -0
  2029. package/node_modules/ink/build/experimental/reconciler.js +141 -0
  2030. package/node_modules/ink/build/experimental/renderer.js +81 -0
  2031. package/node_modules/ink/build/get-max-width.d.ts +3 -0
  2032. package/node_modules/ink/build/get-max-width.js +10 -0
  2033. package/node_modules/ink/build/get-max-width.js.map +1 -0
  2034. package/node_modules/ink/build/hooks/use-app.d.ts +5 -0
  2035. package/node_modules/ink/build/hooks/use-app.js +8 -0
  2036. package/node_modules/ink/build/hooks/use-app.js.map +1 -0
  2037. package/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
  2038. package/node_modules/ink/build/hooks/use-cursor.js +29 -0
  2039. package/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
  2040. package/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
  2041. package/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
  2042. package/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
  2043. package/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
  2044. package/node_modules/ink/build/hooks/use-focus.js +42 -0
  2045. package/node_modules/ink/build/hooks/use-focus.js.map +1 -0
  2046. package/node_modules/ink/build/hooks/use-input.d.ts +131 -0
  2047. package/node_modules/ink/build/hooks/use-input.js +124 -0
  2048. package/node_modules/ink/build/hooks/use-input.js.map +1 -0
  2049. package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  2050. package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  2051. package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  2052. package/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
  2053. package/node_modules/ink/build/hooks/use-stderr.js +8 -0
  2054. package/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
  2055. package/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
  2056. package/node_modules/ink/build/hooks/use-stdin.js +8 -0
  2057. package/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
  2058. package/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
  2059. package/node_modules/ink/build/hooks/use-stdout.js +8 -0
  2060. package/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
  2061. package/node_modules/ink/build/hooks/useInput.js +38 -0
  2062. package/node_modules/ink/build/index.d.ts +34 -0
  2063. package/node_modules/ink/build/index.js +20 -0
  2064. package/node_modules/ink/build/index.js.map +1 -0
  2065. package/node_modules/ink/build/ink.d.ts +90 -0
  2066. package/node_modules/ink/build/ink.js +637 -0
  2067. package/node_modules/ink/build/ink.js.map +1 -0
  2068. package/node_modules/ink/build/input-parser.d.ts +7 -0
  2069. package/node_modules/ink/build/input-parser.js +154 -0
  2070. package/node_modules/ink/build/input-parser.js.map +1 -0
  2071. package/node_modules/ink/build/instance.js +205 -0
  2072. package/node_modules/ink/build/instances.d.ts +3 -0
  2073. package/node_modules/ink/build/instances.js +8 -0
  2074. package/node_modules/ink/build/instances.js.map +1 -0
  2075. package/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
  2076. package/node_modules/ink/build/kitty-keyboard.js +32 -0
  2077. package/node_modules/ink/build/kitty-keyboard.js.map +1 -0
  2078. package/node_modules/ink/build/layout.d.ts +7 -0
  2079. package/node_modules/ink/build/layout.js +33 -0
  2080. package/node_modules/ink/build/layout.js.map +1 -0
  2081. package/node_modules/ink/build/log-update.d.ts +19 -0
  2082. package/node_modules/ink/build/log-update.js +242 -0
  2083. package/node_modules/ink/build/log-update.js.map +1 -0
  2084. package/node_modules/ink/build/measure-element.d.ts +16 -0
  2085. package/node_modules/ink/build/measure-element.js +9 -0
  2086. package/node_modules/ink/build/measure-element.js.map +1 -0
  2087. package/node_modules/ink/build/measure-text.d.ts +6 -0
  2088. package/node_modules/ink/build/measure-text.js +21 -0
  2089. package/node_modules/ink/build/measure-text.js.map +1 -0
  2090. package/node_modules/ink/build/options.d.ts +52 -0
  2091. package/node_modules/ink/build/options.js +2 -0
  2092. package/node_modules/ink/build/options.js.map +1 -0
  2093. package/node_modules/ink/build/output.d.ts +35 -0
  2094. package/node_modules/ink/build/output.js +183 -0
  2095. package/node_modules/ink/build/output.js.map +1 -0
  2096. package/node_modules/ink/build/parse-keypress.d.ts +22 -0
  2097. package/node_modules/ink/build/parse-keypress.js +493 -0
  2098. package/node_modules/ink/build/parse-keypress.js.map +1 -0
  2099. package/node_modules/ink/build/reconciler.d.ts +4 -0
  2100. package/node_modules/ink/build/reconciler.js +274 -0
  2101. package/node_modules/ink/build/reconciler.js.map +1 -0
  2102. package/node_modules/ink/build/render-background.d.ts +4 -0
  2103. package/node_modules/ink/build/render-background.js +25 -0
  2104. package/node_modules/ink/build/render-background.js.map +1 -0
  2105. package/node_modules/ink/build/render-border.d.ts +4 -0
  2106. package/node_modules/ink/build/render-border.js +73 -0
  2107. package/node_modules/ink/build/render-border.js.map +1 -0
  2108. package/node_modules/ink/build/render-node-to-output.d.ts +14 -0
  2109. package/node_modules/ink/build/render-node-to-output.js +147 -0
  2110. package/node_modules/ink/build/render-node-to-output.js.map +1 -0
  2111. package/node_modules/ink/build/render-to-string.d.ts +38 -0
  2112. package/node_modules/ink/build/render-to-string.js +115 -0
  2113. package/node_modules/ink/build/render-to-string.js.map +1 -0
  2114. package/node_modules/ink/build/render.d.ts +121 -0
  2115. package/node_modules/ink/build/render.js +55 -0
  2116. package/node_modules/ink/build/render.js.map +1 -0
  2117. package/node_modules/ink/build/renderer.d.ts +8 -0
  2118. package/node_modules/ink/build/renderer.js +55 -0
  2119. package/node_modules/ink/build/renderer.js.map +1 -0
  2120. package/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
  2121. package/node_modules/ink/build/sanitize-ansi.js +27 -0
  2122. package/node_modules/ink/build/sanitize-ansi.js.map +1 -0
  2123. package/node_modules/ink/build/screen-reader-update.d.ts +13 -0
  2124. package/node_modules/ink/build/screen-reader-update.js +38 -0
  2125. package/node_modules/ink/build/screen-reader-update.js.map +1 -0
  2126. package/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
  2127. package/node_modules/ink/build/squash-text-nodes.js +36 -0
  2128. package/node_modules/ink/build/squash-text-nodes.js.map +1 -0
  2129. package/node_modules/ink/build/styles.d.ts +240 -0
  2130. package/node_modules/ink/build/styles.js +232 -0
  2131. package/node_modules/ink/build/styles.js.map +1 -0
  2132. package/node_modules/ink/build/utils.d.ts +2 -0
  2133. package/node_modules/ink/build/utils.js +4 -0
  2134. package/node_modules/ink/build/utils.js.map +1 -0
  2135. package/node_modules/ink/build/wrap-text.d.ts +3 -0
  2136. package/node_modules/ink/build/wrap-text.js +31 -0
  2137. package/node_modules/ink/build/wrap-text.js.map +1 -0
  2138. package/node_modules/ink/build/write-synchronized.d.ts +4 -0
  2139. package/node_modules/ink/build/write-synchronized.js +7 -0
  2140. package/node_modules/ink/build/write-synchronized.js.map +1 -0
  2141. package/node_modules/ink/package.json +126 -0
  2142. package/package.json +35 -5
  2143. package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.d.ts +0 -24
  2144. package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.d.ts.map +0 -1
  2145. package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.js +0 -125
  2146. package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.js.map +0 -1
  2147. package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.d.ts +0 -19
  2148. package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.d.ts.map +0 -1
  2149. package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.js.map +0 -1
  2150. package/node_modules/@murphai/assistant-engine/skills/general-eye-health/SKILL.md +0 -77
  2151. package/node_modules/@murphai/assistant-engine/skills/general-eye-health/references/evidence-register.md +0 -34
  2152. package/node_modules/@murphai/assistant-engine/skills/general-eye-health/references/triage-and-contact-lenses.md +0 -103
  2153. package/node_modules/@murphai/assistant-engine/skills/recovery-modalities/SKILL.md +0 -57
  2154. package/node_modules/@murphai/assistant-engine/skills/red-light-therapy/SKILL.md +0 -145
  2155. package/node_modules/@murphai/assistant-engine/skills/red-light-therapy/device-seeds.json +0 -259
  2156. package/node_modules/@murphai/inboxd/dist/connectors/email/connector.d.ts +0 -57
  2157. package/node_modules/@murphai/inboxd/dist/connectors/email/connector.d.ts.map +0 -1
  2158. package/node_modules/@murphai/inboxd/dist/connectors/email/connector.js +0 -259
  2159. package/node_modules/@murphai/inboxd/dist/connectors/email/connector.js.map +0 -1
  2160. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.d.ts +0 -44
  2161. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.d.ts.map +0 -1
  2162. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.js +0 -212
  2163. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.js.map +0 -1
  2164. package/node_modules/@murphai/inboxd/dist/connectors/email/types.d.ts +0 -69
  2165. package/node_modules/@murphai/inboxd/dist/connectors/email/types.d.ts.map +0 -1
  2166. package/node_modules/@murphai/inboxd/dist/connectors/email/types.js +0 -2
  2167. package/node_modules/@murphai/inboxd/dist/connectors/email/types.js.map +0 -1
  2168. package/node_modules/@murphai/operator-config/dist/agentmail-runtime.d.ts +0 -194
  2169. package/node_modules/@murphai/operator-config/dist/agentmail-runtime.d.ts.map +0 -1
  2170. package/node_modules/@murphai/operator-config/dist/agentmail-runtime.js +0 -385
  2171. package/node_modules/@murphai/operator-config/dist/agentmail-runtime.js.map +0 -1
  2172. package/node_modules/@murphai/setup-cli/dist/setup-agentmail.d.ts +0 -30
  2173. package/node_modules/@murphai/setup-cli/dist/setup-agentmail.d.ts.map +0 -1
  2174. package/node_modules/@murphai/setup-cli/dist/setup-agentmail.js +0 -135
  2175. package/node_modules/@murphai/setup-cli/dist/setup-agentmail.js.map +0 -1
  2176. package/node_modules/incur/src/Cli.test.ts +0 -4808
  2177. package/node_modules/incur/src/Completions.test.ts +0 -543
  2178. package/node_modules/incur/src/Errors.test.ts +0 -100
  2179. package/node_modules/incur/src/Fetch.test.ts +0 -285
  2180. package/node_modules/incur/src/Filter.test.ts +0 -237
  2181. package/node_modules/incur/src/Formatter.test.ts +0 -326
  2182. package/node_modules/incur/src/Help.test.ts +0 -414
  2183. package/node_modules/incur/src/Mcp.test.ts +0 -413
  2184. package/node_modules/incur/src/Openapi.test.ts +0 -389
  2185. package/node_modules/incur/src/Parser.test.ts +0 -378
  2186. package/node_modules/incur/src/Schema.test.ts +0 -167
  2187. package/node_modules/incur/src/Skill.test.ts +0 -441
  2188. package/node_modules/incur/src/Skillgen.test.ts +0 -77
  2189. package/node_modules/incur/src/SyncMcp.test.ts +0 -136
  2190. package/node_modules/incur/src/SyncSkills.test.ts +0 -301
  2191. package/node_modules/incur/src/Typegen.test.ts +0 -205
  2192. package/node_modules/incur/src/bun-compile.test.ts +0 -84
  2193. package/node_modules/incur/src/e2e.test.ts +0 -3441
  2194. package/node_modules/incur/src/internal/configSchema.test.ts +0 -193
  2195. package/node_modules/incur/src/internal/dereference.test.ts +0 -695
  2196. package/node_modules/incur/src/internal/helpers.test.ts +0 -75
  2197. package/node_modules/incur/src/internal/pm.test.ts +0 -38
  2198. package/node_modules/incur/src/internal/utils.test.ts +0 -50
  2199. package/node_modules/incur/src/middleware.test.ts +0 -6
@@ -1,19 +1,27 @@
1
+ import { createHash } from 'node:crypto';
1
2
  import { isIP } from 'node:net';
3
+ import LinqAPIV3, { APIConnectionError, APIConnectionTimeoutError, APIError, APIUserAbortError, } from '@linqapp/sdk';
4
+ import { containsHttpUrlText, splitTrailingHttpsLink, } from '@murphai/contracts';
2
5
  import { createTimeoutAbortController, waitForRetryDelay, } from './http-retry.js';
3
- import { fetchJsonResponse, readJsonErrorResponse, requestJsonWithRetry, } from './http-json-retry.js';
6
+ import { readJsonErrorResponse, requestJsonWithRetry, } from './http-json-retry.js';
4
7
  import { errorMessage, normalizeNullableString, } from './text/shared.js';
5
8
  import { normalizeAssistantResponseMediaUrl } from './assistant-cli-contracts.js';
6
- import { renderMarkdownMessageText, } from './message-formatting.js';
9
+ import { renderMarkdownMessageText, sanitizeUserFacingMessageLinks, } from './message-formatting.js';
7
10
  import { VaultCliError } from './vault-cli-errors.js';
8
11
  import { createAssistantDeliveryBlockedError, } from './assistant/delivery-failure.js';
12
+ import { buildLinqIMessageAppFallbackText, buildLinqIMessageAppCardUrl, buildLinqIMessageAppLayout, } from './assistant-response-cards.js';
9
13
  const DEFAULT_LINQ_API_BASE_URL = 'https://api.linqapp.com/api/partner/v3';
10
14
  const LINQ_HTTP_TIMEOUT_MS = 30_000;
15
+ const LINQ_IMESSAGE_CAPABILITY_TIMEOUT_MS = 2_500;
11
16
  const LINQ_HTTP_MAX_ATTEMPTS = 3;
12
17
  const LINQ_HTTP_RETRY_DELAYS_MS = Object.freeze([1_000, 3_000]);
18
+ const LINQ_SDK_BASE_URL = 'https://linq-sdk.invalid';
19
+ const LINQ_SDK_RESPONSE_MAX_BYTES = 256 * 1024;
13
20
  const LINQ_CHAT_NOT_FOUND_CODES = new Set(['CHAT_NOT_FOUND', 'chat_not_found']);
14
21
  const LINQ_CHAT_NOT_FOUND_MESSAGES = new Set(['Chat not found']);
15
22
  const LINQ_MAX_MESSAGE_PARTS = 100;
16
23
  const LINQ_MAX_MEDIA_PARTS = 40;
24
+ const LINQ_MAX_TEXT_PART_LENGTH = 10_000;
17
25
  const LINQ_SUPPORTED_ATTACHMENT_CONTENT_TYPES = [
18
26
  'image/jpeg',
19
27
  'image/png',
@@ -121,7 +129,7 @@ export function resolveLinqWebhookSecret(env) {
121
129
  }
122
130
  export async function probeLinqApi(dependencies = {}) {
123
131
  const env = dependencies.env ?? process.env;
124
- const response = await requestLinqJson({
132
+ const response = await requestLinqSdk({
125
133
  details: {
126
134
  operation: 'list_phone_numbers',
127
135
  provider: 'linq',
@@ -130,6 +138,7 @@ export async function probeLinqApi(dependencies = {}) {
130
138
  fetchImplementation: dependencies.fetchImplementation,
131
139
  method: 'GET',
132
140
  path: '/phone_numbers',
141
+ request: (client, signal) => client.phoneNumbers.list({ signal }),
133
142
  signal: dependencies.signal,
134
143
  });
135
144
  return {
@@ -150,7 +159,75 @@ export function isLinqChatNotFoundSendMessageError(error) {
150
159
  && error.context?.failureStage === 'http'
151
160
  && error.context?.linqFailureKind === 'chat_not_found';
152
161
  }
162
+ export function isDefinitiveLinqIMessageAppCardRejection(error) {
163
+ const status = error instanceof VaultCliError ? error.context?.status : null;
164
+ return error instanceof VaultCliError
165
+ && error.code === 'LINQ_API_REQUEST_FAILED'
166
+ && error.context?.provider === 'linq'
167
+ && error.context?.operation === 'send_imessage_app_card'
168
+ && error.context?.method === 'POST'
169
+ && error.context?.path === '/chats/[chat]/messages'
170
+ && error.context?.failureStage === 'http'
171
+ && error.context?.retryable === false
172
+ && (status === 400
173
+ || status === 415
174
+ || status === 422
175
+ || (status === 404
176
+ && error.context?.linqFailureKind === 'chat_not_found'));
177
+ }
153
178
  export async function sendLinqChatMessage(input, dependencies = {}) {
179
+ const split = splitTrailingHttpsLink(sanitizeUserFacingMessageLinks(input.message));
180
+ if (!split.linkUrl) {
181
+ return sendLinqChatMessageParts(input, dependencies);
182
+ }
183
+ const hasPrimaryMessage = split.message.trim().length > 0 || (input.media?.length ?? 0) > 0;
184
+ if (!hasPrimaryMessage) {
185
+ if (input.nativeReplyRequested === true) {
186
+ return sendLinqChatMessageParts({
187
+ ...input,
188
+ message: split.linkUrl,
189
+ }, dependencies);
190
+ }
191
+ return sendLinqChatRichLinkWithTextFallback({
192
+ chatId: input.chatId,
193
+ idempotencyKey: input.idempotencyKey,
194
+ linkUrl: split.linkUrl,
195
+ }, dependencies);
196
+ }
197
+ const primaryResponse = await sendLinqChatMessageParts({
198
+ ...input,
199
+ message: split.message,
200
+ }, dependencies);
201
+ const primaryMessageId = requireLinqPrimaryMessageIdForRichLink({
202
+ messageId: primaryResponse.message?.id,
203
+ operation: 'send_message',
204
+ });
205
+ let linkResponse;
206
+ try {
207
+ linkResponse = await sendLinqChatRichLinkWithTextFallback({
208
+ chatId: input.chatId,
209
+ idempotencyKey: buildLinqRichLinkIdempotencyKey(input.idempotencyKey),
210
+ linkUrl: split.linkUrl,
211
+ }, dependencies);
212
+ }
213
+ catch (error) {
214
+ throw createLinqRichLinkPartialDeliveryFailure(error, input.idempotencyKey ?? null, primaryResponse.providerMessageEffects ?? [], collectLinqProviderMessageIds(primaryMessageId), input.chatId);
215
+ }
216
+ const providerMessageIds = collectLinqProviderMessageIds(primaryMessageId, linkResponse.message?.id);
217
+ const providerMessageEffects = [
218
+ ...(primaryResponse.providerMessageEffects ?? []),
219
+ ...(linkResponse.providerMessageEffects ?? []),
220
+ ];
221
+ if (providerMessageIds.length !== 2) {
222
+ throw createLinqRichLinkPartialDeliveryFailure(new Error('Linq did not return an identity for every accepted rich-link message.'), input.idempotencyKey ?? null, providerMessageEffects, providerMessageIds, input.chatId);
223
+ }
224
+ return {
225
+ ...linkResponse,
226
+ ...(providerMessageEffects.length > 0 ? { providerMessageEffects } : {}),
227
+ providerMessageIds,
228
+ };
229
+ }
230
+ async function sendLinqChatMessageParts(input, dependencies) {
154
231
  const chatId = normalizeRequiredString(input.chatId, 'chat id');
155
232
  const message = normalizeNullableString(input.message) ?? '';
156
233
  const idempotencyKey = normalizeNullableString(input.idempotencyKey);
@@ -159,21 +236,151 @@ export async function sendLinqChatMessage(input, dependencies = {}) {
159
236
  idempotencyKey: input.idempotencyKey,
160
237
  media: input.media ?? [],
161
238
  message,
239
+ operation: 'send_message',
162
240
  ...(input.nativeReplyRequested === true ? { nativeReplyRequested: true } : {}),
163
241
  replyToMessageId,
164
242
  });
165
- return requestLinqJson({
243
+ const response = await sendLinqChatMessageBody({
244
+ body,
245
+ chatId,
246
+ idempotencyKey,
247
+ replyToMessageId: input.nativeReplyRequested === true ? replyToMessageId : null,
248
+ }, dependencies);
249
+ const providerMessageEffects = buildLinqProviderMessageEffects({
250
+ body,
251
+ providerMessageId: response.message?.id,
252
+ });
253
+ return {
254
+ ...response,
255
+ ...(providerMessageEffects.length > 0 ? { providerMessageEffects } : {}),
256
+ };
257
+ }
258
+ async function sendLinqChatRichLink(input, dependencies) {
259
+ const chatId = normalizeRequiredString(input.chatId, 'chat id');
260
+ const idempotencyKey = normalizeNullableString(input.idempotencyKey);
261
+ const replyToMessageId = input.nativeReplyRequested === true
262
+ ? normalizeRequiredString(input.replyToMessageId, 'native reply target message id')
263
+ : null;
264
+ const body = buildLinqRichLinkMessageBody({
265
+ idempotencyKey,
266
+ linkUrl: input.linkUrl,
267
+ replyToMessageId,
268
+ });
269
+ const response = await sendLinqChatMessageBody({
270
+ body,
271
+ chatId,
272
+ idempotencyKey,
273
+ replyToMessageId,
274
+ }, dependencies);
275
+ const providerMessageEffects = buildLinqProviderMessageEffects({
276
+ body,
277
+ providerMessageId: response.message?.id,
278
+ });
279
+ return {
280
+ ...response,
281
+ ...(providerMessageEffects.length > 0 ? { providerMessageEffects } : {}),
282
+ };
283
+ }
284
+ async function sendLinqChatRichLinkWithTextFallback(input, dependencies) {
285
+ try {
286
+ return await sendLinqChatRichLink(input, dependencies);
287
+ }
288
+ catch (error) {
289
+ if (!isDefinitiveLinqRichLinkRejection(error)) {
290
+ throw error;
291
+ }
292
+ }
293
+ return sendLinqChatMessageParts({
294
+ chatId: input.chatId,
295
+ idempotencyKey: buildLinqRichLinkFallbackIdempotencyKey(input.idempotencyKey),
296
+ message: input.linkUrl,
297
+ }, dependencies);
298
+ }
299
+ function isDefinitiveLinqRichLinkRejection(error) {
300
+ const status = error instanceof VaultCliError ? error.context?.status : null;
301
+ return error instanceof VaultCliError
302
+ && error.code === 'LINQ_API_REQUEST_FAILED'
303
+ && error.context?.failureStage === 'http'
304
+ && error.context?.retryable === false
305
+ && (status === 400 || status === 415 || status === 422);
306
+ }
307
+ async function sendLinqChatMessageBody(input, dependencies) {
308
+ return requestLinqSdk({
309
+ body: input.body,
166
310
  details: {
167
- hasIdempotencyKey: idempotencyKey !== null,
168
- hasReplyToMessageId: input.nativeReplyRequested === true && replyToMessageId !== null,
311
+ hasIdempotencyKey: input.idempotencyKey !== null,
312
+ hasReplyToMessageId: input.replyToMessageId !== null,
169
313
  operation: 'send_message',
170
314
  provider: 'linq',
171
315
  },
172
316
  env: dependencies.env ?? process.env,
173
317
  fetchImplementation: dependencies.fetchImplementation,
174
318
  method: 'POST',
175
- path: `/chats/${encodeURIComponent(chatId)}/messages`,
319
+ path: `/chats/${encodeURIComponent(input.chatId)}/messages`,
320
+ request: (client, signal) => client.chats.messages.send(input.chatId, input.body, { signal }),
321
+ signal: dependencies.signal,
322
+ });
323
+ }
324
+ export async function checkLinqIMessageCapability(input, dependencies = {}) {
325
+ const address = normalizeRequiredString(input.address, 'capability address');
326
+ const from = normalizeNullableString(input.from);
327
+ const body = {
328
+ address,
329
+ };
330
+ if (from)
331
+ body.from = from;
332
+ const response = await requestLinqSdk({
333
+ allowRateLimitRetries: false,
176
334
  body,
335
+ details: {
336
+ operation: 'check_imessage_capability',
337
+ provider: 'linq',
338
+ },
339
+ env: dependencies.env ?? process.env,
340
+ fetchImplementation: dependencies.fetchImplementation,
341
+ method: 'POST',
342
+ path: '/capability/check_imessage',
343
+ request: (client, signal) => client.capability.checkIMessage(body, { signal }),
344
+ signal: dependencies.signal,
345
+ singleAttemptTimeoutMs: LINQ_IMESSAGE_CAPABILITY_TIMEOUT_MS,
346
+ });
347
+ return response?.available === true;
348
+ }
349
+ export async function sendLinqIMessageAppCard(input, dependencies = {}) {
350
+ const chatId = normalizeRequiredString(input.chatId, 'chat id');
351
+ const idempotencyKey = normalizeRequiredString(input.idempotencyKey, 'iMessage app card idempotency key');
352
+ const body = {
353
+ message: {
354
+ preferred_service: 'iMessage',
355
+ idempotency_key: idempotencyKey,
356
+ parts: [{
357
+ type: 'imessage_app',
358
+ // `app_store_id` is intentionally absent. Linq otherwise substitutes
359
+ // square artwork in app-absent static Messages cards.
360
+ app: {
361
+ name: 'Murph',
362
+ team_id: 'G9DJH2XUMK',
363
+ bundle_id: 'ai.withmurph.app.messages',
364
+ },
365
+ interactive: true,
366
+ url: buildLinqIMessageAppCardUrl(input.card),
367
+ fallback_text: buildLinqIMessageAppFallbackText(input.card),
368
+ layout: buildLinqIMessageAppLayout(input.card),
369
+ }],
370
+ },
371
+ };
372
+ return requestLinqSdk({
373
+ body,
374
+ details: {
375
+ hasIdempotencyKey: true,
376
+ operation: 'send_imessage_app_card',
377
+ provider: 'linq',
378
+ },
379
+ env: dependencies.env ?? process.env,
380
+ fetchImplementation: dependencies.fetchImplementation,
381
+ method: 'POST',
382
+ path: `/chats/${encodeURIComponent(chatId)}/messages`,
383
+ request: (client, signal) => client.chats.messages.send(chatId, body, { signal }),
177
384
  signal: dependencies.signal,
178
385
  });
179
386
  }
@@ -186,8 +393,9 @@ async function createLinqAttachmentUpload(input, dependencies = {}) {
186
393
  filename,
187
394
  size_bytes: sizeBytes,
188
395
  };
189
- const response = await requestLinqJson({
396
+ return requestLinqSdk({
190
397
  allowRateLimitRetries: false,
398
+ body,
191
399
  details: {
192
400
  operation: 'create_attachment_upload',
193
401
  provider: 'linq',
@@ -198,10 +406,23 @@ async function createLinqAttachmentUpload(input, dependencies = {}) {
198
406
  fetchImplementation: dependencies.fetchImplementation,
199
407
  method: 'POST',
200
408
  path: '/attachments',
201
- body,
409
+ request: async (client, signal) => {
410
+ const response = await client.attachments.create(body, { signal }).asResponse();
411
+ let payload;
412
+ try {
413
+ payload = await response.json();
414
+ }
415
+ catch {
416
+ throw createLinqAttachmentReservationResponseError({
417
+ message: 'Linq attachment upload response was not valid JSON.',
418
+ responseBodyKind: 'invalid_json',
419
+ status: response.status,
420
+ });
421
+ }
422
+ return parseLinqAttachmentUploadResponse(payload, response.status);
423
+ },
202
424
  signal: dependencies.signal,
203
425
  });
204
- return parseLinqAttachmentUploadResponse(response);
205
426
  }
206
427
  async function uploadLinqAttachmentBytes(input, dependencies = {}) {
207
428
  const bytes = normalizeLinqAttachmentBytes(input.bytes);
@@ -214,49 +435,96 @@ async function uploadLinqAttachmentBytes(input, dependencies = {}) {
214
435
  provider: 'linq',
215
436
  });
216
437
  }
438
+ const details = {
439
+ operation: 'create_attachment_upload',
440
+ provider: 'linq',
441
+ requestAttachmentBytes: bytes.byteLength,
442
+ requestAttachmentHeaderCount: Object.keys(headers).length,
443
+ };
444
+ const body = new Blob([copyUint8ArrayToArrayBuffer(bytes)], {
445
+ type: headers['content-type'] ?? 'application/octet-stream',
446
+ });
217
447
  const timeout = createTimeoutAbortController(dependencies.signal, LINQ_HTTP_TIMEOUT_MS);
218
- let response;
448
+ let lastRetryableFailure = null;
219
449
  try {
220
- response = await fetchImplementation(uploadUrl, {
221
- body: new Blob([copyUint8ArrayToArrayBuffer(bytes)], {
222
- type: headers['content-type'] ?? 'application/octet-stream',
223
- }),
224
- headers,
225
- method: 'PUT',
226
- redirect: 'error',
450
+ await requestJsonWithRetry({
451
+ createHttpError: async (response) => {
452
+ const failure = await createLinqHttpError(response, details, 'PUT', '[presigned-upload]', false, true);
453
+ if (isRetryableLinqRequestError(failure)) {
454
+ lastRetryableFailure = failure;
455
+ }
456
+ return failure;
457
+ },
458
+ fetchResponse: async () => {
459
+ if (timeout.signal.aborted) {
460
+ if (dependencies.signal?.aborted) {
461
+ dependencies.signal.throwIfAborted();
462
+ }
463
+ if (lastRetryableFailure) {
464
+ throw lastRetryableFailure;
465
+ }
466
+ timeout.signal.throwIfAborted();
467
+ }
468
+ try {
469
+ // provider-request-boundary-allow-next-line: linq-presigned-bytes
470
+ return await fetchImplementation(uploadUrl, {
471
+ body,
472
+ headers,
473
+ method: 'PUT',
474
+ redirect: 'error',
475
+ signal: timeout.signal,
476
+ });
477
+ }
478
+ catch (error) {
479
+ if (dependencies.signal?.aborted) {
480
+ throw error;
481
+ }
482
+ const failure = createLinqRequestError({
483
+ details,
484
+ error,
485
+ method: 'PUT',
486
+ path: '[presigned-upload]',
487
+ requestOrigin: readRequestOrigin(uploadUrl),
488
+ retryable: true,
489
+ timedOut: timeout.timedOut(),
490
+ timeoutMs: LINQ_HTTP_TIMEOUT_MS,
491
+ });
492
+ lastRetryableFailure = failure;
493
+ throw failure;
494
+ }
495
+ },
496
+ isRetryableError: isRetryableLinqRequestError,
497
+ maxAttempts: LINQ_HTTP_MAX_ATTEMPTS,
498
+ parseResponse: () => undefined,
227
499
  signal: timeout.signal,
500
+ waitForRetryDelay: async (attempt, signal, responseHeaders) => {
501
+ try {
502
+ await waitForLinqRetryDelay(attempt, signal, responseHeaders);
503
+ }
504
+ catch (error) {
505
+ if (dependencies.signal?.aborted) {
506
+ throw error;
507
+ }
508
+ if (timeout.timedOut() && lastRetryableFailure) {
509
+ throw lastRetryableFailure;
510
+ }
511
+ throw error;
512
+ }
513
+ },
228
514
  });
229
515
  }
230
516
  catch (error) {
231
- if (dependencies.signal?.aborted) {
517
+ if (!isRetryableLinqRequestError(error)) {
232
518
  throw error;
233
519
  }
234
- throw createLinqRequestError({
235
- details: {
236
- operation: 'create_attachment_upload',
237
- provider: 'linq',
238
- requestAttachmentBytes: bytes.byteLength,
239
- requestAttachmentHeaderCount: Object.keys(headers).length,
240
- },
241
- error,
242
- method: 'PUT',
243
- path: '[presigned-upload]',
244
- requestOrigin: readRequestOrigin(uploadUrl),
520
+ throw new VaultCliError(error.code, error.message, {
521
+ ...error.context,
245
522
  retryable: false,
246
- timedOut: timeout.timedOut(),
247
523
  });
248
524
  }
249
525
  finally {
250
526
  timeout.cleanup();
251
527
  }
252
- if (!response.ok) {
253
- throw await createLinqHttpError(response, {
254
- operation: 'create_attachment_upload',
255
- provider: 'linq',
256
- requestAttachmentBytes: bytes.byteLength,
257
- requestAttachmentHeaderCount: Object.keys(headers).length,
258
- }, 'PUT', '[presigned-upload]', false, false);
259
- }
260
528
  }
261
529
  export async function uploadLinqAttachment(input, dependencies = {}) {
262
530
  const bytes = normalizeLinqAttachmentBytes(input.bytes);
@@ -286,7 +554,8 @@ export async function sendLinqVoiceMemo(input, dependencies = {}) {
286
554
  const body = {
287
555
  attachment_id: attachmentId,
288
556
  };
289
- const response = await requestLinqJson({
557
+ const response = await requestLinqSdk({
558
+ body,
290
559
  details: {
291
560
  hasIdempotencyKey: false,
292
561
  operation: 'send_voice_memo',
@@ -296,7 +565,7 @@ export async function sendLinqVoiceMemo(input, dependencies = {}) {
296
565
  fetchImplementation: dependencies.fetchImplementation,
297
566
  method: 'POST',
298
567
  path: `/chats/${encodeURIComponent(chatId)}/voicememo`,
299
- body,
568
+ request: (client, signal) => client.chats.sendVoicememo(chatId, body, { signal }),
300
569
  signal: dependencies.signal,
301
570
  });
302
571
  return parseLinqVoiceMemoResponse({
@@ -308,7 +577,7 @@ export async function sendLinqVoiceMemo(input, dependencies = {}) {
308
577
  export async function deleteLinqMessage(input, dependencies = {}) {
309
578
  const messageId = normalizeRequiredString(input.messageId, 'message id');
310
579
  try {
311
- await requestLinqNoContent({
580
+ await requestLinqSdk({
312
581
  allowDeleteRetries: true,
313
582
  details: {
314
583
  operation: 'delete_message',
@@ -318,6 +587,7 @@ export async function deleteLinqMessage(input, dependencies = {}) {
318
587
  fetchImplementation: dependencies.fetchImplementation,
319
588
  method: 'DELETE',
320
589
  path: `/messages/${encodeURIComponent(messageId)}`,
590
+ request: (client, signal) => client.messages.delete(messageId, { signal }),
321
591
  signal: dependencies.signal,
322
592
  });
323
593
  }
@@ -334,7 +604,8 @@ export async function setLinqMessageReaction(input, dependencies = {}) {
334
604
  operation: 'add',
335
605
  type: resolveLinqReactionType(input.reaction),
336
606
  };
337
- await requestLinqJson({
607
+ await requestLinqSdk({
608
+ body,
338
609
  details: {
339
610
  hasIdempotencyKey: false,
340
611
  operation: 'set_message_reaction',
@@ -344,7 +615,7 @@ export async function setLinqMessageReaction(input, dependencies = {}) {
344
615
  fetchImplementation: dependencies.fetchImplementation,
345
616
  method: 'POST',
346
617
  path: `/messages/${encodeURIComponent(targetMessageId)}/reactions`,
347
- body,
618
+ request: (client, signal) => client.messages.addReaction(targetMessageId, body, { signal }),
348
619
  signal: dependencies.signal,
349
620
  });
350
621
  return {
@@ -354,7 +625,7 @@ export async function setLinqMessageReaction(input, dependencies = {}) {
354
625
  }
355
626
  export async function startLinqChatTypingIndicator(input, dependencies = {}) {
356
627
  const chatId = normalizeRequiredString(input.chatId, 'chat id');
357
- await requestLinqNoContent({
628
+ await requestLinqSdk({
358
629
  details: {
359
630
  operation: 'typing_start',
360
631
  provider: 'linq',
@@ -363,12 +634,13 @@ export async function startLinqChatTypingIndicator(input, dependencies = {}) {
363
634
  fetchImplementation: dependencies.fetchImplementation,
364
635
  method: 'POST',
365
636
  path: `/chats/${encodeURIComponent(chatId)}/typing`,
637
+ request: (client, signal) => client.chats.typing.start(chatId, { signal }),
366
638
  signal: dependencies.signal,
367
639
  });
368
640
  }
369
641
  export async function stopLinqChatTypingIndicator(input, dependencies = {}) {
370
642
  const chatId = normalizeRequiredString(input.chatId, 'chat id');
371
- await requestLinqNoContent({
643
+ await requestLinqSdk({
372
644
  details: {
373
645
  operation: 'typing_stop',
374
646
  provider: 'linq',
@@ -377,12 +649,13 @@ export async function stopLinqChatTypingIndicator(input, dependencies = {}) {
377
649
  fetchImplementation: dependencies.fetchImplementation,
378
650
  method: 'DELETE',
379
651
  path: `/chats/${encodeURIComponent(chatId)}/typing`,
652
+ request: (client, signal) => client.chats.typing.stop(chatId, { signal }),
380
653
  signal: dependencies.signal,
381
654
  });
382
655
  }
383
656
  export async function markLinqChatRead(input, dependencies = {}) {
384
657
  const chatId = normalizeRequiredString(input.chatId, 'chat id');
385
- await requestLinqNoContent({
658
+ await requestLinqSdk({
386
659
  details: {
387
660
  operation: 'mark_read',
388
661
  provider: 'linq',
@@ -391,23 +664,77 @@ export async function markLinqChatRead(input, dependencies = {}) {
391
664
  fetchImplementation: dependencies.fetchImplementation,
392
665
  method: 'POST',
393
666
  path: `/chats/${encodeURIComponent(chatId)}/read`,
667
+ request: (client, signal) => client.chats.markAsRead(chatId, { signal }),
394
668
  signal: dependencies.signal,
395
669
  });
396
670
  }
397
671
  export async function createLinqChat(input, dependencies = {}) {
672
+ const split = splitTrailingHttpsLink(sanitizeUserFacingMessageLinks(input.message));
673
+ if (!split.linkUrl) {
674
+ if (containsHttpUrlText(input.message)) {
675
+ throw new VaultCliError('LINQ_INVALID_INPUT', 'A new Linq chat cannot include URL text in its first message.');
676
+ }
677
+ return createLinqChatWithPrimaryMessage(input, dependencies);
678
+ }
679
+ if (split.message.trim().length === 0 && (input.media?.length ?? 0) === 0) {
680
+ throw new VaultCliError('LINQ_INVALID_INPUT', 'A new Linq chat with a rich link must include caller-supplied text or media.');
681
+ }
682
+ if (containsHttpUrlText(split.message)) {
683
+ throw new VaultCliError('LINQ_INVALID_INPUT', 'A new Linq chat cannot include URL text in its first message.');
684
+ }
685
+ const result = await createLinqChatWithPrimaryMessage({
686
+ ...input,
687
+ message: split.message,
688
+ }, dependencies);
689
+ const chatId = requireLinqCreatedChatIdForRichLink(result);
690
+ const primaryMessageId = requireLinqPrimaryMessageIdForRichLink({
691
+ messageId: result.messageId,
692
+ operation: 'create_chat',
693
+ });
694
+ let linkResponse;
695
+ try {
696
+ linkResponse = await sendLinqChatRichLinkWithTextFallback({
697
+ chatId,
698
+ idempotencyKey: buildLinqRichLinkIdempotencyKey(input.idempotencyKey),
699
+ linkUrl: split.linkUrl,
700
+ }, dependencies);
701
+ }
702
+ catch (error) {
703
+ throw createLinqRichLinkPartialDeliveryFailure(error, input.idempotencyKey ?? null, result.providerMessageEffects ?? [], collectLinqProviderMessageIds(primaryMessageId), chatId);
704
+ }
705
+ const linkMessageId = normalizeNullableString(linkResponse.message?.id ?? null);
706
+ const providerMessageIds = collectLinqProviderMessageIds(primaryMessageId, linkMessageId);
707
+ const providerMessageEffects = [
708
+ ...(result.providerMessageEffects ?? []),
709
+ ...(linkResponse.providerMessageEffects ?? []),
710
+ ];
711
+ if (providerMessageIds.length !== 2) {
712
+ throw createLinqRichLinkPartialDeliveryFailure(new Error('Linq did not return an identity for every accepted rich-link message.'), input.idempotencyKey ?? null, providerMessageEffects, providerMessageIds, chatId);
713
+ }
714
+ return {
715
+ ...result,
716
+ messageId: linkMessageId,
717
+ ...(providerMessageEffects.length > 0 ? { providerMessageEffects } : {}),
718
+ providerMessageIds,
719
+ };
720
+ }
721
+ async function createLinqChatWithPrimaryMessage(input, dependencies) {
398
722
  const from = normalizeRequiredString(input.from, 'from');
399
723
  const recipients = normalizeLinqStringList(input.to, 'recipient');
400
724
  const idempotencyKey = normalizeNullableString(input.idempotencyKey);
725
+ const messageBody = buildLinqMessageBody({
726
+ idempotencyKey: input.idempotencyKey,
727
+ media: input.media ?? [],
728
+ message: input.message,
729
+ operation: 'create_chat',
730
+ });
401
731
  const body = {
402
732
  from,
403
- message: buildLinqMessageBody({
404
- idempotencyKey: input.idempotencyKey,
405
- media: input.media ?? [],
406
- message: input.message,
407
- }).message,
733
+ message: messageBody.message,
408
734
  to: recipients,
409
735
  };
410
- const response = await requestLinqJson({
736
+ const response = await requestLinqSdk({
737
+ body,
411
738
  details: {
412
739
  hasIdempotencyKey: idempotencyKey !== null,
413
740
  operation: 'create_chat',
@@ -418,29 +745,108 @@ export async function createLinqChat(input, dependencies = {}) {
418
745
  fetchImplementation: dependencies.fetchImplementation,
419
746
  method: 'POST',
420
747
  path: '/chats',
421
- body,
748
+ request: (client, signal) => client.chats.create(body, { signal }),
422
749
  signal: dependencies.signal,
423
750
  });
751
+ const messageId = normalizeNullableString(response.chat?.message?.id ?? null);
752
+ const providerMessageEffects = buildLinqProviderMessageEffects({
753
+ body: messageBody,
754
+ providerMessageId: messageId,
755
+ });
424
756
  return {
425
757
  chatId: normalizeNullableString(response.chat?.id ?? null),
426
- messageId: normalizeNullableString(response.chat?.message?.id ?? null),
758
+ messageId,
759
+ ...(providerMessageEffects.length > 0 ? { providerMessageEffects } : {}),
427
760
  };
428
761
  }
762
+ function requireLinqCreatedChatIdForRichLink(result) {
763
+ const chatId = normalizeNullableString(result.chatId);
764
+ if (chatId) {
765
+ return chatId;
766
+ }
767
+ throw new VaultCliError('LINQ_API_REQUEST_FAILED', 'Linq chat create response was missing a chat id for the rich-link follow-up.', {
768
+ failureStage: 'http',
769
+ method: 'POST',
770
+ operation: 'create_chat',
771
+ path: '/chats',
772
+ provider: 'linq',
773
+ retryable: true,
774
+ });
775
+ }
776
+ function requireLinqPrimaryMessageIdForRichLink(input) {
777
+ const messageId = normalizeNullableString(typeof input.messageId === 'string' ? input.messageId : null);
778
+ if (messageId) {
779
+ return messageId;
780
+ }
781
+ throw Object.assign(new VaultCliError('LINQ_API_REQUEST_FAILED', 'Linq response was missing the primary message identity for a rich-link follow-up.', {
782
+ failureStage: 'http',
783
+ operation: input.operation,
784
+ provider: 'linq',
785
+ retryable: true,
786
+ }), { deliveryMayHaveSucceeded: true });
787
+ }
788
+ function collectLinqProviderMessageIds(...values) {
789
+ const output = [];
790
+ for (const value of values) {
791
+ const messageId = normalizeNullableString(typeof value === 'string' ? value : null);
792
+ if (messageId && !output.includes(messageId)) {
793
+ output.push(messageId);
794
+ }
795
+ }
796
+ return output;
797
+ }
798
+ function buildLinqProviderMessageEffects(input) {
799
+ const providerMessageId = normalizeNullableString(typeof input.providerMessageId === 'string'
800
+ ? input.providerMessageId
801
+ : null);
802
+ if (!providerMessageId) {
803
+ return [];
804
+ }
805
+ const textParts = (input.body.message.parts ?? []).filter((part) => part.type === 'text');
806
+ const text = textParts.length > 0
807
+ ? textParts.map((part) => part.value).join('')
808
+ : null;
809
+ return [{
810
+ ...(input.body.message.parts?.some((part) => part.type === 'media') === true
811
+ ? { carriesIntentMedia: true }
812
+ : {}),
813
+ message: typeof text === 'string' && text.length > 0 ? text : null,
814
+ providerMessageId,
815
+ }];
816
+ }
817
+ function createLinqRichLinkPartialDeliveryFailure(error, idempotencyKey, providerMessageEffects, providerMessageIds, providerThreadId) {
818
+ const failure = new VaultCliError('ASSISTANT_LINQ_RICH_LINK_PARTIAL_DELIVERY', 'iMessage rich-link delivery could not confirm both provider messages after the primary request was accepted; deterministic recovery must reuse the same provider keys.', {
819
+ idempotencyKey,
820
+ providerMessageEffects,
821
+ providerMessageIds,
822
+ providerThreadId,
823
+ target: providerThreadId,
824
+ targetKind: 'thread',
825
+ });
826
+ return Object.assign(failure, {
827
+ cause: error,
828
+ deliveryMayHaveSucceeded: true,
829
+ providerMessageId: providerMessageIds.at(-1) ?? null,
830
+ providerMessageIds,
831
+ providerThreadId,
832
+ target: providerThreadId,
833
+ targetKind: 'thread',
834
+ });
835
+ }
429
836
  export async function createLinqWebhookSubscription(input, dependencies = {}) {
430
837
  const phoneNumbers = input.phoneNumbers && input.phoneNumbers.length > 0
431
838
  ? normalizeLinqStringList(input.phoneNumbers, 'phone number')
432
839
  : null;
433
840
  const subscribedEvents = normalizeLinqWebhookEventTypeList(input.subscribedEvents);
434
841
  const body = {
435
- ...(phoneNumbers
436
- ? {
437
- phone_numbers: phoneNumbers,
438
- }
439
- : {}),
440
842
  subscribed_events: subscribedEvents,
441
843
  target_url: normalizeRequiredString(input.targetUrl, 'target url'),
442
844
  };
443
- const response = await requestLinqJson({
845
+ if (phoneNumbers) {
846
+ body.phone_numbers = phoneNumbers;
847
+ }
848
+ const response = await requestLinqSdk({
849
+ body,
444
850
  details: {
445
851
  operation: 'create_webhook_subscription',
446
852
  phoneNumberCount: phoneNumbers?.length ?? 0,
@@ -451,7 +857,7 @@ export async function createLinqWebhookSubscription(input, dependencies = {}) {
451
857
  fetchImplementation: dependencies.fetchImplementation,
452
858
  method: 'POST',
453
859
  path: '/webhook-subscriptions',
454
- body,
860
+ request: (client, signal) => client.webhookSubscriptions.create(body, { signal }),
455
861
  signal: dependencies.signal,
456
862
  });
457
863
  return {
@@ -465,68 +871,422 @@ export async function createLinqWebhookSubscription(input, dependencies = {}) {
465
871
  updatedAt: normalizeNullableString(response.updated_at ?? null),
466
872
  };
467
873
  }
468
- async function requestLinqJson(input) {
469
- return requestLinq({
470
- ...input,
471
- parseResponse: async (response) => (await response.json()),
472
- });
473
- }
474
- async function requestLinqNoContent(input) {
475
- await requestLinq({
476
- ...input,
477
- parseResponse: async () => undefined,
478
- });
874
+ class LinqSdkResponseTooLargeError extends Error {
875
+ headers;
876
+ status;
877
+ constructor(status, headers) {
878
+ super('Linq SDK response exceeded the configured byte limit.');
879
+ this.name = 'LinqSdkResponseTooLargeError';
880
+ this.headers = headers;
881
+ this.status = status;
882
+ }
479
883
  }
480
- async function requestLinq(input) {
481
- const request = resolveLinqRequest(input);
884
+ async function requestLinqSdk(input) {
885
+ const runtime = resolveLinqSdkRuntime(input);
482
886
  const diagnosticPath = sanitizeLinqPathForDiagnostics(input.path);
887
+ const serializedBody = input.body === undefined
888
+ ? undefined
889
+ : JSON.stringify(input.body);
483
890
  const details = {
484
891
  ...input.details,
485
- ...buildLinqRequestBodyDiagnostics(input.body, request.body),
892
+ ...buildLinqRequestBodyDiagnostics(input.body, serializedBody),
486
893
  path: diagnosticPath,
487
894
  };
488
- return requestJsonWithRetry({
489
- createHttpError: (response) => createLinqHttpError(response, details, input.method, diagnosticPath, input.allowDeleteRetries === true, input.allowRateLimitRetries !== false),
490
- fetchResponse: () => fetchLinqResponse({
491
- allowDeleteRetries: input.allowDeleteRetries === true,
492
- allowRateLimitRetries: input.allowRateLimitRetries !== false,
493
- body: request.body,
494
- details,
495
- fetchImplementation: request.fetchImplementation,
496
- headers: request.headers,
497
- method: input.method,
498
- path: diagnosticPath,
499
- signal: input.signal,
500
- url: request.url,
501
- }),
502
- isRetryableError: isRetryableLinqRequestError,
503
- maxAttempts: LINQ_HTTP_MAX_ATTEMPTS,
504
- parseResponse: input.parseResponse,
505
- signal: input.signal,
506
- waitForRetryDelay: waitForLinqRetryDelay,
507
- });
895
+ const timeoutMs = input.singleAttemptTimeoutMs ?? LINQ_HTTP_TIMEOUT_MS;
896
+ const maxAttempts = input.singleAttemptTimeoutMs === undefined
897
+ ? LINQ_HTTP_MAX_ATTEMPTS
898
+ : 1;
899
+ for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
900
+ input.signal?.throwIfAborted();
901
+ const state = {
902
+ errorResponse: null,
903
+ requestOrigin: null,
904
+ transportError: null,
905
+ };
906
+ const client = createLinqSdkClient({
907
+ apiRoot: runtime.apiRoot,
908
+ fetchImplementation: runtime.fetchImplementation,
909
+ state,
910
+ timeoutMs,
911
+ token: runtime.token,
912
+ });
913
+ try {
914
+ return await input.request(client, input.signal);
915
+ }
916
+ catch (error) {
917
+ if (input.signal?.aborted) {
918
+ input.signal.throwIfAborted();
919
+ }
920
+ const failure = normalizeLinqSdkRequestFailure({
921
+ allowDeleteRetries: input.allowDeleteRetries === true,
922
+ allowRateLimitRetries: input.allowRateLimitRetries !== false,
923
+ details,
924
+ error,
925
+ method: input.method,
926
+ path: diagnosticPath,
927
+ state,
928
+ timeoutMs,
929
+ });
930
+ if (!isRetryableLinqRequestError(failure) || attempt >= maxAttempts) {
931
+ throw failure;
932
+ }
933
+ await waitForLinqRetryDelay(attempt, input.signal, state.errorResponse?.headers
934
+ ?? (error instanceof APIError ? error.headers : undefined));
935
+ }
936
+ }
937
+ throw new Error('Unreachable Linq SDK retry state.');
508
938
  }
509
- function resolveLinqRequest(input) {
939
+ function resolveLinqSdkRuntime(input) {
510
940
  const token = resolveLinqApiToken(input.env);
511
941
  if (!token) {
512
942
  throw createLinqConfigurationError('LINQ_API_TOKEN_REQUIRED', 'Linq access requires LINQ_API_TOKEN.', input.details);
513
943
  }
514
- const fetchImplementation = input.fetchImplementation ?? globalThis.fetch?.bind(globalThis);
515
- if (typeof fetchImplementation !== 'function') {
944
+ const fetchImplementation = input.fetchImplementation ?? resolveDefaultLinqFetch();
945
+ if (!fetchImplementation) {
516
946
  throw createLinqConfigurationError('LINQ_UNAVAILABLE', 'Linq access requires fetch support in the current Node.js runtime.', input.details);
517
947
  }
518
- const baseUrl = normalizeLinqBaseUrl(resolveLinqApiBaseUrl(input.env) ?? DEFAULT_LINQ_API_BASE_URL);
519
- const body = input.body ? JSON.stringify(input.body) : undefined;
520
948
  return {
521
- body,
949
+ apiRoot: normalizeLinqBaseUrl(resolveLinqApiBaseUrl(input.env) ?? DEFAULT_LINQ_API_BASE_URL),
522
950
  fetchImplementation,
523
- headers: {
524
- authorization: `Bearer ${token}`,
525
- ...(body ? { 'content-type': 'application/json' } : {}),
526
- },
527
- url: buildLinqRequestUrl(baseUrl, input.path),
951
+ token,
528
952
  };
529
953
  }
954
+ function resolveDefaultLinqFetch() {
955
+ if (typeof globalThis.fetch !== 'function') {
956
+ return null;
957
+ }
958
+ return (input, init) => globalThis.fetch(input, init);
959
+ }
960
+ function createLinqSdkClient(input) {
961
+ return new LinqAPIV3({
962
+ apiKey: input.token,
963
+ baseURL: LINQ_SDK_BASE_URL,
964
+ fetch: createLinqSdkFetch(input),
965
+ logLevel: 'off',
966
+ maxRetries: 0,
967
+ timeout: input.timeoutMs,
968
+ });
969
+ }
970
+ function createLinqSdkFetch(input) {
971
+ return async (request, init) => {
972
+ const url = mapLinqSdkRequestUrl(request, input.apiRoot);
973
+ input.state.requestOrigin = readRequestOrigin(url);
974
+ let response;
975
+ try {
976
+ response = await input.fetchImplementation.call(undefined, url, {
977
+ ...(init?.body === null || init?.body === undefined
978
+ ? {}
979
+ : { body: normalizeLinqSdkRequestBody(init.body) }),
980
+ headers: normalizeLinqSdkRequestHeaders(init?.headers),
981
+ method: normalizeNullableString(init?.method) ?? 'GET',
982
+ ...(init?.signal ? { signal: init.signal } : {}),
983
+ });
984
+ }
985
+ catch (error) {
986
+ input.state.transportError = error;
987
+ throw error;
988
+ }
989
+ return await bufferLinqSdkResponse(response, input.state, LINQ_SDK_RESPONSE_MAX_BYTES);
990
+ };
991
+ }
992
+ function mapLinqSdkRequestUrl(request, apiRoot) {
993
+ const source = new URL(typeof request === 'string'
994
+ ? request
995
+ : request instanceof URL
996
+ ? request.toString()
997
+ : request.url);
998
+ const sdkBase = new URL(LINQ_SDK_BASE_URL);
999
+ if (source.origin !== sdkBase.origin
1000
+ || !/^\/v3(?:\/|$)/u.test(source.pathname)) {
1001
+ throw new TypeError('Linq SDK emitted an unexpected request URL.');
1002
+ }
1003
+ const relativePath = encodeLinqSdkPath(source.pathname.replace(/^\/v3\/?/u, ''));
1004
+ const target = new URL(buildLinqRequestUrl(apiRoot, relativePath));
1005
+ target.search = source.search;
1006
+ return target.toString();
1007
+ }
1008
+ function encodeLinqSdkPath(pathname) {
1009
+ return pathname
1010
+ .split('/')
1011
+ .map((segment) => encodeURIComponent(decodeURIComponent(segment)))
1012
+ .join('/');
1013
+ }
1014
+ function normalizeLinqSdkRequestBody(body) {
1015
+ if (typeof body === 'string' || body instanceof Blob) {
1016
+ return body;
1017
+ }
1018
+ throw new TypeError('Linq SDK emitted an unsupported control-plane request body.');
1019
+ }
1020
+ function normalizeLinqSdkRequestHeaders(headers) {
1021
+ const source = new Headers(headers);
1022
+ const normalized = {};
1023
+ for (const name of ['authorization', 'content-type', 'idempotency-key']) {
1024
+ const value = source.get(name);
1025
+ if (value !== null) {
1026
+ normalized[name] = value;
1027
+ }
1028
+ }
1029
+ return normalized;
1030
+ }
1031
+ async function bufferLinqSdkResponse(response, state, maxResponseBytes) {
1032
+ const headers = normalizeLinqSdkResponseHeaders(response.headers);
1033
+ const declaredLength = Number(headers.get('content-length'));
1034
+ if (Number.isFinite(declaredLength) && declaredLength > maxResponseBytes) {
1035
+ await response.body?.cancel().catch(() => undefined);
1036
+ state.errorResponse = {
1037
+ bodyKind: 'oversize',
1038
+ headers,
1039
+ payload: null,
1040
+ rawText: null,
1041
+ status: response.status,
1042
+ };
1043
+ throw new LinqSdkResponseTooLargeError(response.status, headers);
1044
+ }
1045
+ const bytes = response.body
1046
+ ? await readBoundedLinqSdkStream(response.body, maxResponseBytes, response.status, headers, state)
1047
+ : new Uint8Array(await response.arrayBuffer());
1048
+ if (bytes.byteLength > maxResponseBytes) {
1049
+ state.errorResponse = {
1050
+ bodyKind: 'oversize',
1051
+ headers,
1052
+ payload: null,
1053
+ rawText: null,
1054
+ status: response.status,
1055
+ };
1056
+ throw new LinqSdkResponseTooLargeError(response.status, headers);
1057
+ }
1058
+ if (!response.ok) {
1059
+ state.errorResponse = parseLinqSdkErrorResponse(bytes, response.status, headers);
1060
+ }
1061
+ if (bytes.byteLength > 0) {
1062
+ headers.set('content-type', 'application/json');
1063
+ }
1064
+ const body = bytes.byteLength === 0
1065
+ || response.status === 204
1066
+ || response.status === 205
1067
+ || response.status === 304
1068
+ ? null
1069
+ : copyLinqSdkResponseBytes(bytes);
1070
+ return new Response(body, {
1071
+ headers,
1072
+ status: response.status,
1073
+ ...(response.statusText ? { statusText: response.statusText } : {}),
1074
+ });
1075
+ }
1076
+ function copyLinqSdkResponseBytes(bytes) {
1077
+ const body = new ArrayBuffer(bytes.byteLength);
1078
+ new Uint8Array(body).set(bytes);
1079
+ return body;
1080
+ }
1081
+ async function readBoundedLinqSdkStream(stream, maxResponseBytes, status, headers, state) {
1082
+ const reader = stream.getReader();
1083
+ const chunks = [];
1084
+ let total = 0;
1085
+ while (true) {
1086
+ const next = await reader.read();
1087
+ if (next.done) {
1088
+ break;
1089
+ }
1090
+ total += next.value.byteLength;
1091
+ if (total > maxResponseBytes) {
1092
+ await reader.cancel().catch(() => undefined);
1093
+ state.errorResponse = {
1094
+ bodyKind: 'oversize',
1095
+ headers,
1096
+ payload: null,
1097
+ rawText: null,
1098
+ status,
1099
+ };
1100
+ throw new LinqSdkResponseTooLargeError(status, headers);
1101
+ }
1102
+ chunks.push(next.value);
1103
+ }
1104
+ const bytes = new Uint8Array(total);
1105
+ let offset = 0;
1106
+ for (const chunk of chunks) {
1107
+ bytes.set(chunk, offset);
1108
+ offset += chunk.byteLength;
1109
+ }
1110
+ return bytes;
1111
+ }
1112
+ function normalizeLinqSdkResponseHeaders(source) {
1113
+ if (source instanceof Headers) {
1114
+ return new Headers(source);
1115
+ }
1116
+ const headers = new Headers();
1117
+ const record = readRecord(source);
1118
+ if (record) {
1119
+ for (const [name, value] of Object.entries(record)) {
1120
+ if (typeof value === 'string') {
1121
+ headers.set(name, value);
1122
+ }
1123
+ }
1124
+ }
1125
+ if (source && typeof source.get === 'function') {
1126
+ for (const name of [
1127
+ 'content-length',
1128
+ 'content-type',
1129
+ 'retry-after',
1130
+ 'x-should-retry',
1131
+ ]) {
1132
+ const value = source.get(name);
1133
+ if (value !== null && value !== undefined) {
1134
+ headers.set(name, value);
1135
+ }
1136
+ }
1137
+ }
1138
+ return headers;
1139
+ }
1140
+ function parseLinqSdkErrorResponse(bytes, status, headers) {
1141
+ const text = new TextDecoder().decode(bytes);
1142
+ if (!text.trim()) {
1143
+ return {
1144
+ headers,
1145
+ payload: null,
1146
+ rawText: null,
1147
+ status,
1148
+ };
1149
+ }
1150
+ try {
1151
+ return {
1152
+ headers,
1153
+ payload: JSON.parse(text),
1154
+ rawText: null,
1155
+ status,
1156
+ };
1157
+ }
1158
+ catch {
1159
+ return {
1160
+ headers,
1161
+ payload: null,
1162
+ rawText: text,
1163
+ status,
1164
+ };
1165
+ }
1166
+ }
1167
+ function normalizeLinqSdkRequestFailure(input) {
1168
+ if (input.error instanceof VaultCliError) {
1169
+ return input.error;
1170
+ }
1171
+ const preProviderError = readPreProviderLinqRequestErrorFromChain(input.error);
1172
+ if (preProviderError) {
1173
+ return preProviderError;
1174
+ }
1175
+ const tooLarge = readLinqSdkResponseTooLargeError(input.error);
1176
+ if (tooLarge) {
1177
+ return createLinqSdkHttpError({
1178
+ ...input,
1179
+ errorResponse: input.state.errorResponse ?? {
1180
+ bodyKind: 'oversize',
1181
+ headers: tooLarge.headers,
1182
+ payload: null,
1183
+ rawText: null,
1184
+ status: tooLarge.status,
1185
+ },
1186
+ });
1187
+ }
1188
+ if (input.error instanceof APIError && typeof input.error.status === 'number') {
1189
+ return createLinqSdkHttpError({
1190
+ ...input,
1191
+ errorResponse: input.state.errorResponse ?? {
1192
+ headers: input.error.headers ?? new Headers(),
1193
+ payload: normalizeLinqSdkApiErrorPayload(input.error.error),
1194
+ rawText: null,
1195
+ status: input.error.status,
1196
+ },
1197
+ });
1198
+ }
1199
+ const timedOut = input.error instanceof APIConnectionTimeoutError;
1200
+ const transportCause = input.state.transportError
1201
+ ?? readLinqSdkTransportCause(input.error);
1202
+ return createLinqRequestError({
1203
+ details: input.details,
1204
+ error: transportCause,
1205
+ requestOrigin: input.state.requestOrigin,
1206
+ method: input.method,
1207
+ path: input.path,
1208
+ timedOut,
1209
+ timeoutMs: input.timeoutMs,
1210
+ retryable: shouldRetryLinqTransportFailure(input.method, input.allowDeleteRetries, input.details.hasIdempotencyKey === true),
1211
+ });
1212
+ }
1213
+ function createLinqSdkHttpError(input) {
1214
+ const responseDiagnostics = input.errorResponse.bodyKind
1215
+ ? { responseBodyKind: input.errorResponse.bodyKind }
1216
+ : buildLinqErrorResponseDiagnostics(input.errorResponse.payload, input.errorResponse.rawText);
1217
+ const responseTraceId = readSafeLinqResponseHeader(input.errorResponse.headers, 'x-trace-id');
1218
+ const linqFailureKind = classifyLinqFailureKind(input.errorResponse.payload);
1219
+ return new VaultCliError('LINQ_API_REQUEST_FAILED', `Linq request ${input.method} ${input.path} failed with HTTP ${input.errorResponse.status}.`, {
1220
+ ...input.details,
1221
+ ...responseDiagnostics,
1222
+ ...(!responseDiagnostics.providerRequestId && responseTraceId
1223
+ ? { providerRequestId: responseTraceId }
1224
+ : {}),
1225
+ failureStage: 'http',
1226
+ ...(linqFailureKind ? { linqFailureKind } : {}),
1227
+ method: input.method,
1228
+ path: input.path,
1229
+ retryable: shouldRetryLinqHttpStatus(input.method, input.errorResponse.status, input.allowDeleteRetries, input.details.hasIdempotencyKey === true, input.allowRateLimitRetries),
1230
+ status: input.errorResponse.status,
1231
+ });
1232
+ }
1233
+ function normalizeLinqSdkApiErrorPayload(value) {
1234
+ if (value === null || value === undefined) {
1235
+ return null;
1236
+ }
1237
+ return typeof value === 'string' ? { error: value } : value;
1238
+ }
1239
+ function readPreProviderLinqRequestErrorFromChain(error) {
1240
+ let current = error;
1241
+ let depth = 0;
1242
+ while (current !== null && current !== undefined && depth < 8) {
1243
+ const preProviderError = readPreProviderLinqRequestError(current);
1244
+ if (preProviderError) {
1245
+ return preProviderError;
1246
+ }
1247
+ current = readLinqSdkErrorCause(current);
1248
+ depth += 1;
1249
+ }
1250
+ return null;
1251
+ }
1252
+ function readLinqSdkResponseTooLargeError(error) {
1253
+ let current = error;
1254
+ let depth = 0;
1255
+ while (current !== null && current !== undefined && depth < 8) {
1256
+ if (current instanceof LinqSdkResponseTooLargeError) {
1257
+ return current;
1258
+ }
1259
+ current = readLinqSdkErrorCause(current);
1260
+ depth += 1;
1261
+ }
1262
+ return null;
1263
+ }
1264
+ function readLinqSdkTransportCause(error) {
1265
+ if (!(error instanceof APIConnectionError)
1266
+ && !(error instanceof APIUserAbortError)) {
1267
+ return error;
1268
+ }
1269
+ let current = error;
1270
+ let previous = error;
1271
+ let depth = 0;
1272
+ while (current !== null && current !== undefined && depth < 8) {
1273
+ previous = current;
1274
+ const next = readLinqSdkErrorCause(current);
1275
+ if (next === undefined) {
1276
+ break;
1277
+ }
1278
+ current = next;
1279
+ depth += 1;
1280
+ }
1281
+ return previous;
1282
+ }
1283
+ function readLinqSdkErrorCause(error) {
1284
+ return typeof error === 'object'
1285
+ && error !== null
1286
+ && 'cause' in error
1287
+ ? error.cause
1288
+ : undefined;
1289
+ }
530
1290
  function createLinqConfigurationError(code, message, details) {
531
1291
  return createAssistantDeliveryBlockedError(code, message, {
532
1292
  blockKind: 'linq_configuration',
@@ -537,33 +1297,17 @@ function createLinqConfigurationError(code, message, details) {
537
1297
  resume: 'deploy_or_config_change',
538
1298
  });
539
1299
  }
540
- async function fetchLinqResponse(input) {
541
- return fetchJsonResponse({
542
- body: input.body,
543
- createTransportError: ({ error, timedOut }) => createLinqRequestError({
544
- details: input.details,
545
- error,
546
- requestOrigin: readRequestOrigin(input.url),
547
- method: input.method,
548
- path: input.path,
549
- timedOut,
550
- retryable: shouldRetryLinqTransportFailure(input.method, input.allowDeleteRetries, input.details.hasIdempotencyKey === true),
551
- }),
552
- fetchImplementation: input.fetchImplementation,
553
- headers: input.headers,
554
- method: input.method,
555
- signal: input.signal,
556
- timeoutMs: LINQ_HTTP_TIMEOUT_MS,
557
- url: input.url,
558
- });
559
- }
560
1300
  async function createLinqHttpError(response, details, method, path, allowDeleteRetries, allowRateLimitRetries) {
561
1301
  const { payload, rawText } = await readJsonErrorResponse(response);
562
1302
  const responseDiagnostics = buildLinqErrorResponseDiagnostics(payload, rawText);
1303
+ const responseTraceId = readSafeLinqResponseHeader(response.headers, 'x-trace-id');
563
1304
  const linqFailureKind = classifyLinqFailureKind(payload);
564
1305
  return new VaultCliError('LINQ_API_REQUEST_FAILED', `Linq request ${method} ${path} failed with HTTP ${response.status}.`, {
565
1306
  ...details,
566
1307
  ...responseDiagnostics,
1308
+ ...(!responseDiagnostics.providerRequestId && responseTraceId
1309
+ ? { providerRequestId: responseTraceId }
1310
+ : {}),
567
1311
  failureStage: 'http',
568
1312
  ...(linqFailureKind ? { linqFailureKind } : {}),
569
1313
  method,
@@ -572,6 +1316,16 @@ async function createLinqHttpError(response, details, method, path, allowDeleteR
572
1316
  status: response.status,
573
1317
  });
574
1318
  }
1319
+ function readSafeLinqResponseHeader(headers, name) {
1320
+ if (!headers) {
1321
+ return null;
1322
+ }
1323
+ const rawValue = typeof headers.get === 'function'
1324
+ ? headers.get(name)
1325
+ : Object.entries(headers).find(([key]) => key.toLowerCase() === name)?.[1];
1326
+ const value = typeof rawValue === 'string' ? rawValue.trim() : '';
1327
+ return /^[A-Za-z0-9_.:-]{1,120}$/u.test(value) ? value : null;
1328
+ }
575
1329
  function buildLinqRequestBodyDiagnostics(body, serializedBody) {
576
1330
  if (!body || !serializedBody) {
577
1331
  return {};
@@ -582,20 +1336,27 @@ function buildLinqRequestBodyDiagnostics(body, serializedBody) {
582
1336
  }
583
1337
  const message = readRecord(record.message);
584
1338
  const parts = Array.isArray(message?.parts) ? message.parts : [];
1339
+ const partRecords = parts.map(readRecord).filter((part) => part !== null);
1340
+ const mediaParts = partRecords.filter((part) => part.type === 'media');
585
1341
  const requestMessageLength = parts.reduce((total, part) => {
586
1342
  const record = readRecord(part);
587
1343
  return total + (typeof record?.value === 'string' ? record.value.length : 0);
588
1344
  }, 0);
589
1345
  return {
1346
+ requestAttachmentMediaPartCount: mediaParts.filter((part) => typeof part.attachment_id === 'string').length,
590
1347
  requestBodyShape: summarizeLinqJsonObjectShape(record),
1348
+ requestMediaPartCount: mediaParts.length,
591
1349
  requestMessageLength,
592
1350
  requestMessagePartCount: parts.length,
1351
+ requestPublicUrlMediaPartCount: mediaParts.filter((part) => typeof part.url === 'string').length,
1352
+ requestTextPartCount: partRecords.filter((part) => part.type === 'text').length,
593
1353
  };
594
1354
  }
595
1355
  function buildLinqErrorResponseDiagnostics(payload, rawText) {
596
1356
  if (rawText !== null) {
597
1357
  return {
598
1358
  responseBodyKind: 'text',
1359
+ responseBodySha256: hashLinqDiagnosticBody(rawText),
599
1360
  responseBodyTextLength: rawText.length,
600
1361
  };
601
1362
  }
@@ -608,6 +1369,7 @@ function buildLinqErrorResponseDiagnostics(payload, rawText) {
608
1369
  if (Array.isArray(payload)) {
609
1370
  return {
610
1371
  responseBodyKind: 'json_array',
1372
+ responseBodySha256: hashLinqDiagnosticBody(serialized),
611
1373
  responseBodyTextLength: serialized.length,
612
1374
  };
613
1375
  }
@@ -615,20 +1377,48 @@ function buildLinqErrorResponseDiagnostics(payload, rawText) {
615
1377
  const record = payload;
616
1378
  const keys = Object.keys(record).sort();
617
1379
  const safeKeys = keys.filter(isSafeLinqResponseBodyKey);
1380
+ const safeStringFields = safeKeys.filter((key) => typeof record[key] === 'string');
1381
+ const providerError = readRecord(record.error);
1382
+ const providerErrorCode = readSafeLinqDiagnosticToken(providerError ?? record, ['code', 'type']);
1383
+ const providerRequestId = readSafeLinqDiagnosticToken(record, ['request_id', 'trace_id']);
618
1384
  return {
1385
+ ...(providerErrorCode ? { providerErrorCode } : {}),
1386
+ ...(providerRequestId ? { providerRequestId } : {}),
619
1387
  responseBodyKind: 'json_object',
620
1388
  responseBodyKeyCount: keys.length,
1389
+ ...(safeKeys.length > 0 ? { responseBodyKeySummary: safeKeys.join(',') } : {}),
621
1390
  responseBodyKeys: safeKeys,
1391
+ responseBodySha256: hashLinqDiagnosticBody(serialized),
622
1392
  responseBodyStringFieldCount: keys.filter((key) => typeof record[key] === 'string').length,
623
- responseBodyStringFields: safeKeys.filter((key) => typeof record[key] === 'string'),
1393
+ ...(safeStringFields.length > 0
1394
+ ? { responseBodyStringFieldSummary: safeStringFields.join(',') }
1395
+ : {}),
1396
+ responseBodyStringFields: safeStringFields,
624
1397
  responseBodyTextLength: serialized.length,
625
1398
  };
626
1399
  }
627
1400
  return {
628
1401
  responseBodyKind: `json_${typeof payload}`,
1402
+ responseBodySha256: hashLinqDiagnosticBody(serialized),
629
1403
  responseBodyTextLength: serialized.length,
630
1404
  };
631
1405
  }
1406
+ function hashLinqDiagnosticBody(value) {
1407
+ return createHash('sha256').update(value).digest('hex');
1408
+ }
1409
+ function readSafeLinqDiagnosticToken(record, keys) {
1410
+ for (const key of keys) {
1411
+ const value = readStringField(record, key)?.trim() ?? '';
1412
+ if (/^[A-Za-z0-9_.:-]{1,120}$/u.test(value)) {
1413
+ return value;
1414
+ }
1415
+ const numericValue = record[key];
1416
+ if (typeof numericValue === 'number' && Number.isSafeInteger(numericValue)) {
1417
+ return String(numericValue);
1418
+ }
1419
+ }
1420
+ return null;
1421
+ }
632
1422
  function resolveLinqReactionType(reaction) {
633
1423
  switch (reaction) {
634
1424
  case 'heart':
@@ -641,20 +1431,36 @@ function resolveLinqReactionType(reaction) {
641
1431
  }
642
1432
  function createLinqRequestError(input) {
643
1433
  const transportErrorDiagnostics = buildLinqTransportErrorDiagnostics(input.error);
1434
+ const attachmentReservationMayHaveSucceeded = readRecord(input.error)?.linqAttachmentReservationMayHaveSucceeded === true;
1435
+ const retryable = attachmentReservationMayHaveSucceeded
1436
+ ? false
1437
+ : input.retryable;
644
1438
  const baseMessage = input.timedOut
645
- ? `Linq request ${input.method} ${input.path} timed out after ${LINQ_HTTP_TIMEOUT_MS}ms.`
1439
+ ? `Linq request ${input.method} ${input.path} timed out after ${input.timeoutMs}ms.`
646
1440
  : `Linq request ${input.method} ${input.path} failed before a response was returned.`;
647
- return new VaultCliError('LINQ_API_REQUEST_FAILED', baseMessage, {
1441
+ const error = new VaultCliError('LINQ_API_REQUEST_FAILED', baseMessage, {
648
1442
  ...input.details,
649
1443
  ...transportErrorDiagnostics,
650
1444
  failureStage: 'transport',
651
1445
  method: input.method,
652
1446
  path: input.path,
653
1447
  ...(input.requestOrigin ? { requestOrigin: input.requestOrigin } : {}),
654
- retryable: input.retryable,
655
- timeoutMs: LINQ_HTTP_TIMEOUT_MS,
1448
+ retryable,
1449
+ timeoutMs: input.timeoutMs,
656
1450
  timedOut: input.timedOut,
657
1451
  });
1452
+ return attachmentReservationMayHaveSucceeded
1453
+ ? Object.assign(error, {
1454
+ linqAttachmentReservationMayHaveSucceeded: true,
1455
+ })
1456
+ : error;
1457
+ }
1458
+ function readPreProviderLinqRequestError(error) {
1459
+ return error instanceof Error
1460
+ && 'deliveryMayHaveSucceeded' in error
1461
+ && error.deliveryMayHaveSucceeded === false
1462
+ ? error
1463
+ : null;
658
1464
  }
659
1465
  function buildLinqTransportErrorDiagnostics(error) {
660
1466
  const messages = readTransportErrorMessages(error);
@@ -711,37 +1517,59 @@ function shouldRetryLinqHttpStatus(method, status, allowDeleteRetries = false, h
711
1517
  return allowRateLimitRetries && (method !== 'DELETE' || allowDeleteRetries);
712
1518
  }
713
1519
  return ((method === 'GET' ||
1520
+ method === 'PUT' ||
714
1521
  (method === 'POST' && hasIdempotencyKey) ||
715
1522
  (method === 'DELETE' && allowDeleteRetries)) &&
716
1523
  (status === 408 || status >= 500));
717
1524
  }
718
- function parseLinqAttachmentUploadResponse(value) {
1525
+ function parseLinqAttachmentUploadResponse(value, status) {
719
1526
  const record = readRecord(value);
720
1527
  const attachmentId = normalizeNullableString(readStringField(record, 'attachment_id'));
721
1528
  const rawUploadUrl = normalizeNullableString(readStringField(record, 'upload_url'));
722
1529
  const expiresAt = normalizeNullableString(readStringField(record, 'expires_at'));
723
1530
  const downloadUrl = normalizeNullableString(readStringField(record, 'download_url'));
724
1531
  const httpMethod = normalizeNullableString(readStringField(record, 'http_method'));
725
- const requiredHeaders = readStringRecord(record?.required_headers);
726
- if (!attachmentId || !rawUploadUrl || !expiresAt || !requiredHeaders) {
727
- throw new VaultCliError('LINQ_API_REQUEST_FAILED', 'Linq attachment upload response was missing required fields.', {
728
- failureStage: 'http',
729
- operation: 'create_attachment_upload',
730
- provider: 'linq',
731
- responseBodyKind: record ? 'json_object' : 'unknown',
732
- responseBodyKeys: record ? Object.keys(record).sort() : [],
733
- retryable: false,
1532
+ const rawRequiredHeaders = readStringRecord(record?.required_headers);
1533
+ if (!attachmentId || !rawUploadUrl || !expiresAt || !rawRequiredHeaders) {
1534
+ throw createLinqAttachmentReservationResponseError({
1535
+ message: 'Linq attachment upload response was missing required fields.',
1536
+ payload: value,
1537
+ status,
734
1538
  });
735
1539
  }
736
1540
  if (httpMethod && httpMethod.toUpperCase() !== 'PUT') {
737
- throw new VaultCliError('LINQ_API_REQUEST_FAILED', 'Linq attachment upload response returned an unsupported upload method.', {
738
- failureStage: 'http',
739
- operation: 'create_attachment_upload',
740
- provider: 'linq',
741
- retryable: false,
1541
+ throw createLinqAttachmentReservationResponseError({
1542
+ message: 'Linq attachment upload response returned an unsupported upload method.',
1543
+ payload: value,
1544
+ status,
1545
+ });
1546
+ }
1547
+ let requiredHeaders;
1548
+ try {
1549
+ requiredHeaders = normalizeLinqRequiredHeaders(rawRequiredHeaders);
1550
+ }
1551
+ catch (error) {
1552
+ throw createLinqAttachmentReservationResponseError({
1553
+ message: error instanceof VaultCliError
1554
+ ? error.message
1555
+ : 'Linq attachment upload response returned invalid upload headers.',
1556
+ payload: value,
1557
+ status,
1558
+ });
1559
+ }
1560
+ let uploadUrl;
1561
+ try {
1562
+ uploadUrl = normalizeLinqAttachmentUploadUrl(rawUploadUrl);
1563
+ }
1564
+ catch (error) {
1565
+ throw createLinqAttachmentReservationResponseError({
1566
+ message: error instanceof VaultCliError
1567
+ ? error.message
1568
+ : 'Linq attachment upload response returned an invalid upload URL.',
1569
+ payload: value,
1570
+ status,
742
1571
  });
743
1572
  }
744
- const uploadUrl = normalizeLinqAttachmentUploadUrl(rawUploadUrl);
745
1573
  return {
746
1574
  attachmentId,
747
1575
  downloadUrl,
@@ -750,6 +1578,23 @@ function parseLinqAttachmentUploadResponse(value) {
750
1578
  uploadUrl,
751
1579
  };
752
1580
  }
1581
+ function createLinqAttachmentReservationResponseError(input) {
1582
+ return Object.assign(new VaultCliError('LINQ_API_REQUEST_FAILED', input.message, {
1583
+ ...(input.responseBodyKind
1584
+ ? { responseBodyKind: input.responseBodyKind }
1585
+ : buildLinqErrorResponseDiagnostics(input.payload, null)),
1586
+ failureStage: 'http',
1587
+ method: 'POST',
1588
+ operation: 'create_attachment_upload',
1589
+ path: '/attachments',
1590
+ provider: 'linq',
1591
+ retryable: false,
1592
+ status: input.status,
1593
+ }), {
1594
+ deliveryMayHaveSucceeded: true,
1595
+ retryable: false,
1596
+ });
1597
+ }
753
1598
  function normalizeLinqAttachmentUploadUrl(value) {
754
1599
  let parsed;
755
1600
  try {
@@ -783,8 +1628,7 @@ function isPublicLinqAttachmentUploadHost(hostname) {
783
1628
  return isIP(ipLiteral) === 0;
784
1629
  }
785
1630
  function parseLinqVoiceMemoResponse(input) {
786
- const record = readRecord(input.response);
787
- const voiceMemoRecord = readRecord(record?.voice_memo);
1631
+ const voiceMemoRecord = readRecord(input.response.voice_memo);
788
1632
  const nestedVoiceMemo = readRecord(voiceMemoRecord?.voice_memo);
789
1633
  const chatRecord = readRecord(voiceMemoRecord?.chat);
790
1634
  return {
@@ -831,6 +1675,7 @@ function normalizeLinqRequiredHeaders(headers) {
831
1675
  }
832
1676
  function shouldRetryLinqTransportFailure(method, allowDeleteRetries = false, hasIdempotencyKey = false) {
833
1677
  return method === 'GET' ||
1678
+ method === 'PUT' ||
834
1679
  (method === 'POST' && hasIdempotencyKey) ||
835
1680
  (method === 'DELETE' && allowDeleteRetries);
836
1681
  }
@@ -933,6 +1778,31 @@ function normalizeRequiredString(value, label) {
933
1778
  }
934
1779
  return normalized;
935
1780
  }
1781
+ function buildLinqRichLinkMessageBody(input) {
1782
+ const idempotencyKey = normalizeNullableString(input.idempotencyKey);
1783
+ const replyToMessageId = normalizeNullableString(input.replyToMessageId);
1784
+ const message = {
1785
+ parts: [{
1786
+ type: 'link',
1787
+ value: normalizeRequiredString(input.linkUrl, 'rich link url'),
1788
+ }],
1789
+ };
1790
+ if (idempotencyKey) {
1791
+ message.idempotency_key = idempotencyKey;
1792
+ }
1793
+ if (replyToMessageId) {
1794
+ message.reply_to = { message_id: replyToMessageId };
1795
+ }
1796
+ return { message };
1797
+ }
1798
+ function buildLinqRichLinkIdempotencyKey(value) {
1799
+ const idempotencyKey = normalizeNullableString(value);
1800
+ return idempotencyKey ? `${idempotencyKey}:link` : null;
1801
+ }
1802
+ function buildLinqRichLinkFallbackIdempotencyKey(value) {
1803
+ const idempotencyKey = normalizeNullableString(value);
1804
+ return idempotencyKey ? `${idempotencyKey}:fallback` : null;
1805
+ }
936
1806
  function buildLinqMessageBody(input) {
937
1807
  const idempotencyKey = normalizeNullableString(input.idempotencyKey);
938
1808
  const replyToMessageId = input.nativeReplyRequested === true
@@ -940,43 +1810,108 @@ function buildLinqMessageBody(input) {
940
1810
  : null;
941
1811
  const media = normalizeLinqMediaList(input.media ?? []);
942
1812
  const normalizedMessage = normalizeNullableString(input.message);
943
- let textPart = null;
944
- if (normalizedMessage !== null) {
945
- const renderedText = renderMarkdownMessageText(normalizedMessage);
946
- textPart = {
947
- ...(renderedText.decorations.length > 0
948
- ? {
949
- text_decorations: renderedText.decorations,
950
- }
951
- : {}),
952
- type: 'text',
953
- value: renderedText.text,
954
- };
955
- }
956
- const parts = textPart ? [textPart, ...media] : media;
1813
+ const textParts = normalizedMessage === null
1814
+ ? []
1815
+ : buildLinqTextPartsWithinLimits({
1816
+ message: normalizedMessage,
1817
+ operation: input.operation,
1818
+ requestAttachmentMediaPartCount: media.filter((part) => 'attachment_id' in part).length,
1819
+ requestMediaPartCount: media.length,
1820
+ requestPublicUrlMediaPartCount: media.filter((part) => 'url' in part).length,
1821
+ });
1822
+ const parts = [...textParts, ...media];
957
1823
  if (parts.length === 0) {
958
1824
  throw new VaultCliError('LINQ_INVALID_INPUT', 'Linq messages must include text or media.');
959
1825
  }
960
1826
  if (parts.length > LINQ_MAX_MESSAGE_PARTS) {
961
1827
  throw new VaultCliError('LINQ_INVALID_INPUT', `Linq message must contain at most ${LINQ_MAX_MESSAGE_PARTS} parts.`);
962
1828
  }
963
- return {
964
- message: {
965
- parts,
966
- ...(idempotencyKey
967
- ? {
968
- idempotency_key: idempotencyKey,
969
- }
970
- : {}),
971
- ...(replyToMessageId
972
- ? {
973
- reply_to: {
974
- message_id: replyToMessageId,
975
- },
976
- }
977
- : {}),
978
- },
1829
+ const message = {
1830
+ parts,
979
1831
  };
1832
+ if (idempotencyKey) {
1833
+ message.idempotency_key = idempotencyKey;
1834
+ }
1835
+ if (replyToMessageId) {
1836
+ message.reply_to = { message_id: replyToMessageId };
1837
+ }
1838
+ return { message };
1839
+ }
1840
+ export function assertLinqMessagePartsWithinLimits(input) {
1841
+ const normalizedMessage = normalizeNullableString(input.message);
1842
+ if (normalizedMessage === null) {
1843
+ return;
1844
+ }
1845
+ buildLinqTextPartsWithinLimits({
1846
+ ...input,
1847
+ message: normalizedMessage,
1848
+ });
1849
+ }
1850
+ function buildLinqTextPartsWithinLimits(input) {
1851
+ const renderedText = renderMarkdownMessageText(input.message);
1852
+ const textParts = splitLinqTextParts(renderedText);
1853
+ const requestMessagePartCount = input.requestMediaPartCount + textParts.length;
1854
+ if (requestMessagePartCount > LINQ_MAX_MESSAGE_PARTS) {
1855
+ throw Object.assign(new VaultCliError('LINQ_INVALID_INPUT', `Linq message must contain at most ${LINQ_MAX_MESSAGE_PARTS} parts.`, {
1856
+ failureStage: 'configuration',
1857
+ operation: input.operation,
1858
+ provider: 'linq',
1859
+ requestAttachmentMediaPartCount: input.requestAttachmentMediaPartCount,
1860
+ requestMediaPartCount: input.requestMediaPartCount,
1861
+ requestMessageLength: renderedText.text.length,
1862
+ requestMessagePartCount,
1863
+ requestPublicUrlMediaPartCount: input.requestPublicUrlMediaPartCount,
1864
+ requestTextPartCount: textParts.length,
1865
+ retryable: false,
1866
+ }), {
1867
+ deliveryMayHaveSucceeded: false,
1868
+ retryable: false,
1869
+ });
1870
+ }
1871
+ return textParts;
1872
+ }
1873
+ function splitLinqTextParts(renderedText) {
1874
+ const parts = [];
1875
+ let rangeStart = 0;
1876
+ while (rangeStart < renderedText.text.length) {
1877
+ let rangeEnd = Math.min(rangeStart + LINQ_MAX_TEXT_PART_LENGTH, renderedText.text.length);
1878
+ if (rangeEnd < renderedText.text.length &&
1879
+ isHighSurrogate(renderedText.text.charCodeAt(rangeEnd - 1)) &&
1880
+ isLowSurrogate(renderedText.text.charCodeAt(rangeEnd))) {
1881
+ rangeEnd -= 1;
1882
+ }
1883
+ const decorations = renderedText.decorations
1884
+ .map((decoration) => {
1885
+ const decorationStart = Math.max(decoration.range[0], rangeStart);
1886
+ const decorationEnd = Math.min(decoration.range[1], rangeEnd);
1887
+ return decorationEnd <= decorationStart
1888
+ ? null
1889
+ : {
1890
+ range: [
1891
+ decorationStart - rangeStart,
1892
+ decorationEnd - rangeStart,
1893
+ ],
1894
+ style: decoration.style,
1895
+ };
1896
+ })
1897
+ .filter((decoration) => decoration !== null);
1898
+ const part = {
1899
+ type: 'text',
1900
+ value: renderedText.text.slice(rangeStart, rangeEnd),
1901
+ };
1902
+ if (decorations.length > 0) {
1903
+ part.text_decorations = decorations;
1904
+ }
1905
+ parts.push(part);
1906
+ rangeStart = rangeEnd;
1907
+ }
1908
+ return parts;
1909
+ }
1910
+ function isHighSurrogate(value) {
1911
+ return value >= 0xd800 && value <= 0xdbff;
1912
+ }
1913
+ function isLowSurrogate(value) {
1914
+ return value >= 0xdc00 && value <= 0xdfff;
980
1915
  }
981
1916
  function normalizeLinqMediaList(values) {
982
1917
  const parts = values