@murphai/hosted-execution 0.1.15 → 0.1.18

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 (656) hide show
  1. package/LICENSE +201 -674
  2. package/README.md +15 -14
  3. package/dist/auth.d.ts +11 -25
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js +32 -76
  6. package/dist/auth.js.map +1 -1
  7. package/dist/builders.d.ts +3 -4
  8. package/dist/builders.d.ts.map +1 -1
  9. package/dist/builders.js +24 -24
  10. package/dist/builders.js.map +1 -1
  11. package/dist/bundles.d.ts +3 -13
  12. package/dist/bundles.d.ts.map +1 -1
  13. package/dist/bundles.js +1 -16
  14. package/dist/bundles.js.map +1 -1
  15. package/dist/client.d.ts +2 -26
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +38 -212
  18. package/dist/client.js.map +1 -1
  19. package/dist/contracts.d.ts +49 -118
  20. package/dist/contracts.d.ts.map +1 -1
  21. package/dist/contracts.js +15 -58
  22. package/dist/contracts.js.map +1 -1
  23. package/dist/dispatch-ref.d.ts +1 -2
  24. package/dist/dispatch-ref.d.ts.map +1 -1
  25. package/dist/dispatch-ref.js +16 -30
  26. package/dist/dispatch-ref.js.map +1 -1
  27. package/dist/env.d.ts +0 -38
  28. package/dist/env.d.ts.map +1 -1
  29. package/dist/env.js +1 -87
  30. package/dist/env.js.map +1 -1
  31. package/dist/index.d.ts +0 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +0 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/observability.d.ts +3 -1
  36. package/dist/observability.d.ts.map +1 -1
  37. package/dist/observability.js +76 -53
  38. package/dist/observability.js.map +1 -1
  39. package/dist/outbox-payload.d.ts +7 -5
  40. package/dist/outbox-payload.d.ts.map +1 -1
  41. package/dist/outbox-payload.js +75 -38
  42. package/dist/outbox-payload.js.map +1 -1
  43. package/dist/parsers.d.ts +10 -10
  44. package/dist/parsers.d.ts.map +1 -1
  45. package/dist/parsers.js +192 -139
  46. package/dist/parsers.js.map +1 -1
  47. package/dist/routes.d.ts +4 -9
  48. package/dist/routes.d.ts.map +1 -1
  49. package/dist/routes.js +7 -18
  50. package/dist/routes.js.map +1 -1
  51. package/node_modules/@murphai/core/README.md +3 -0
  52. package/node_modules/@murphai/core/dist/assessment/index.d.ts +5 -0
  53. package/node_modules/@murphai/core/dist/assessment/index.d.ts.map +1 -0
  54. package/node_modules/@murphai/core/dist/assessment/index.js +4 -0
  55. package/node_modules/@murphai/core/dist/assessment/index.js.map +1 -0
  56. package/node_modules/@murphai/core/dist/assessment/project.d.ts +9 -0
  57. package/node_modules/@murphai/core/dist/assessment/project.d.ts.map +1 -0
  58. package/node_modules/@murphai/core/dist/assessment/project.js +353 -0
  59. package/node_modules/@murphai/core/dist/assessment/project.js.map +1 -0
  60. package/node_modules/@murphai/core/dist/assessment/storage.d.ts +13 -0
  61. package/node_modules/@murphai/core/dist/assessment/storage.d.ts.map +1 -0
  62. package/node_modules/@murphai/core/dist/assessment/storage.js +202 -0
  63. package/node_modules/@murphai/core/dist/assessment/storage.js.map +1 -0
  64. package/node_modules/@murphai/core/dist/assessment/types.d.ts +112 -0
  65. package/node_modules/@murphai/core/dist/assessment/types.d.ts.map +1 -0
  66. package/node_modules/@murphai/core/dist/assessment/types.js +5 -0
  67. package/node_modules/@murphai/core/dist/assessment/types.js.map +1 -0
  68. package/node_modules/@murphai/core/dist/atomic-write.d.ts +5 -0
  69. package/node_modules/@murphai/core/dist/atomic-write.d.ts.map +1 -0
  70. package/node_modules/@murphai/core/dist/atomic-write.js +120 -0
  71. package/node_modules/@murphai/core/dist/atomic-write.js.map +1 -0
  72. package/node_modules/@murphai/core/dist/audit.d.ts +27 -0
  73. package/node_modules/@murphai/core/dist/audit.d.ts.map +1 -0
  74. package/node_modules/@murphai/core/dist/audit.js +94 -0
  75. package/node_modules/@murphai/core/dist/audit.js.map +1 -0
  76. package/node_modules/@murphai/core/dist/automation.d.ts +55 -0
  77. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -0
  78. package/node_modules/@murphai/core/dist/automation.js +411 -0
  79. package/node_modules/@murphai/core/dist/automation.js.map +1 -0
  80. package/node_modules/@murphai/core/dist/bank/allergies.d.ts +5 -0
  81. package/node_modules/@murphai/core/dist/bank/allergies.d.ts.map +1 -0
  82. package/node_modules/@murphai/core/dist/bank/allergies.js +209 -0
  83. package/node_modules/@murphai/core/dist/bank/allergies.js.map +1 -0
  84. package/node_modules/@murphai/core/dist/bank/conditions.d.ts +5 -0
  85. package/node_modules/@murphai/core/dist/bank/conditions.d.ts.map +1 -0
  86. package/node_modules/@murphai/core/dist/bank/conditions.js +249 -0
  87. package/node_modules/@murphai/core/dist/bank/conditions.js.map +1 -0
  88. package/node_modules/@murphai/core/dist/bank/foods.d.ts +8 -0
  89. package/node_modules/@murphai/core/dist/bank/foods.d.ts.map +1 -0
  90. package/node_modules/@murphai/core/dist/bank/foods.js +255 -0
  91. package/node_modules/@murphai/core/dist/bank/foods.js.map +1 -0
  92. package/node_modules/@murphai/core/dist/bank/goals.d.ts +5 -0
  93. package/node_modules/@murphai/core/dist/bank/goals.d.ts.map +1 -0
  94. package/node_modules/@murphai/core/dist/bank/goals.js +289 -0
  95. package/node_modules/@murphai/core/dist/bank/goals.js.map +1 -0
  96. package/node_modules/@murphai/core/dist/bank/index.d.ts +10 -0
  97. package/node_modules/@murphai/core/dist/bank/index.d.ts.map +1 -0
  98. package/node_modules/@murphai/core/dist/bank/index.js +10 -0
  99. package/node_modules/@murphai/core/dist/bank/index.js.map +1 -0
  100. package/node_modules/@murphai/core/dist/bank/protocols.d.ts +8 -0
  101. package/node_modules/@murphai/core/dist/bank/protocols.d.ts.map +1 -0
  102. package/node_modules/@murphai/core/dist/bank/protocols.js +466 -0
  103. package/node_modules/@murphai/core/dist/bank/protocols.js.map +1 -0
  104. package/node_modules/@murphai/core/dist/bank/providers.d.ts +46 -0
  105. package/node_modules/@murphai/core/dist/bank/providers.d.ts.map +1 -0
  106. package/node_modules/@murphai/core/dist/bank/providers.js +160 -0
  107. package/node_modules/@murphai/core/dist/bank/providers.js.map +1 -0
  108. package/node_modules/@murphai/core/dist/bank/recipes.d.ts +8 -0
  109. package/node_modules/@murphai/core/dist/bank/recipes.d.ts.map +1 -0
  110. package/node_modules/@murphai/core/dist/bank/recipes.js +287 -0
  111. package/node_modules/@murphai/core/dist/bank/recipes.js.map +1 -0
  112. package/node_modules/@murphai/core/dist/bank/shared.d.ts +39 -0
  113. package/node_modules/@murphai/core/dist/bank/shared.d.ts.map +1 -0
  114. package/node_modules/@murphai/core/dist/bank/shared.js +150 -0
  115. package/node_modules/@murphai/core/dist/bank/shared.js.map +1 -0
  116. package/node_modules/@murphai/core/dist/bank/types.d.ts +469 -0
  117. package/node_modules/@murphai/core/dist/bank/types.d.ts.map +1 -0
  118. package/node_modules/@murphai/core/dist/bank/types.js +35 -0
  119. package/node_modules/@murphai/core/dist/bank/types.js.map +1 -0
  120. package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts +5 -0
  121. package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts.map +1 -0
  122. package/node_modules/@murphai/core/dist/bank/workout-formats.js +204 -0
  123. package/node_modules/@murphai/core/dist/bank/workout-formats.js.map +1 -0
  124. package/node_modules/@murphai/core/dist/canonical-mutations.d.ts +54 -0
  125. package/node_modules/@murphai/core/dist/canonical-mutations.d.ts.map +1 -0
  126. package/node_modules/@murphai/core/dist/canonical-mutations.js +196 -0
  127. package/node_modules/@murphai/core/dist/canonical-mutations.js.map +1 -0
  128. package/node_modules/@murphai/core/dist/constants.d.ts +125 -0
  129. package/node_modules/@murphai/core/dist/constants.d.ts.map +1 -0
  130. package/node_modules/@murphai/core/dist/constants.js +132 -0
  131. package/node_modules/@murphai/core/dist/constants.js.map +1 -0
  132. package/node_modules/@murphai/core/dist/domains/events.d.ts +100 -0
  133. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -0
  134. package/node_modules/@murphai/core/dist/domains/events.js +593 -0
  135. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -0
  136. package/node_modules/@murphai/core/dist/domains/experiments.d.ts +71 -0
  137. package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -0
  138. package/node_modules/@murphai/core/dist/domains/experiments.js +275 -0
  139. package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -0
  140. package/node_modules/@murphai/core/dist/domains/journal.d.ts +52 -0
  141. package/node_modules/@murphai/core/dist/domains/journal.d.ts.map +1 -0
  142. package/node_modules/@murphai/core/dist/domains/journal.js +173 -0
  143. package/node_modules/@murphai/core/dist/domains/journal.js.map +1 -0
  144. package/node_modules/@murphai/core/dist/domains/shared.d.ts +37 -0
  145. package/node_modules/@murphai/core/dist/domains/shared.d.ts.map +1 -0
  146. package/node_modules/@murphai/core/dist/domains/shared.js +101 -0
  147. package/node_modules/@murphai/core/dist/domains/shared.js.map +1 -0
  148. package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts +15 -0
  149. package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts.map +1 -0
  150. package/node_modules/@murphai/core/dist/domains/vault-summary.js +58 -0
  151. package/node_modules/@murphai/core/dist/domains/vault-summary.js.map +1 -0
  152. package/node_modules/@murphai/core/dist/errors.d.ts +8 -0
  153. package/node_modules/@murphai/core/dist/errors.d.ts.map +1 -0
  154. package/node_modules/@murphai/core/dist/errors.js +14 -0
  155. package/node_modules/@murphai/core/dist/errors.js.map +1 -0
  156. package/node_modules/@murphai/core/dist/event-attachments.d.ts +69 -0
  157. package/node_modules/@murphai/core/dist/event-attachments.d.ts.map +1 -0
  158. package/node_modules/@murphai/core/dist/event-attachments.js +202 -0
  159. package/node_modules/@murphai/core/dist/event-attachments.js.map +1 -0
  160. package/node_modules/@murphai/core/dist/event-links.d.ts +15 -0
  161. package/node_modules/@murphai/core/dist/event-links.d.ts.map +1 -0
  162. package/node_modules/@murphai/core/dist/event-links.js +54 -0
  163. package/node_modules/@murphai/core/dist/event-links.js.map +1 -0
  164. package/node_modules/@murphai/core/dist/family/api.d.ts +5 -0
  165. package/node_modules/@murphai/core/dist/family/api.d.ts.map +1 -0
  166. package/node_modules/@murphai/core/dist/family/api.js +221 -0
  167. package/node_modules/@murphai/core/dist/family/api.js.map +1 -0
  168. package/node_modules/@murphai/core/dist/family/index.d.ts +3 -0
  169. package/node_modules/@murphai/core/dist/family/index.d.ts.map +1 -0
  170. package/node_modules/@murphai/core/dist/family/index.js +3 -0
  171. package/node_modules/@murphai/core/dist/family/index.js.map +1 -0
  172. package/node_modules/@murphai/core/dist/family/types.d.ts +34 -0
  173. package/node_modules/@murphai/core/dist/family/types.d.ts.map +1 -0
  174. package/node_modules/@murphai/core/dist/family/types.js +2 -0
  175. package/node_modules/@murphai/core/dist/family/types.js.map +1 -0
  176. package/node_modules/@murphai/core/dist/frontmatter.d.ts +4 -0
  177. package/node_modules/@murphai/core/dist/frontmatter.d.ts.map +1 -0
  178. package/node_modules/@murphai/core/dist/frontmatter.js +99 -0
  179. package/node_modules/@murphai/core/dist/frontmatter.js.map +1 -0
  180. package/node_modules/@murphai/core/dist/fs.d.ts +22 -0
  181. package/node_modules/@murphai/core/dist/fs.d.ts.map +1 -0
  182. package/node_modules/@murphai/core/dist/fs.js +172 -0
  183. package/node_modules/@murphai/core/dist/fs.js.map +1 -0
  184. package/node_modules/@murphai/core/dist/genetics/api.d.ts +5 -0
  185. package/node_modules/@murphai/core/dist/genetics/api.d.ts.map +1 -0
  186. package/node_modules/@murphai/core/dist/genetics/api.js +226 -0
  187. package/node_modules/@murphai/core/dist/genetics/api.js.map +1 -0
  188. package/node_modules/@murphai/core/dist/genetics/index.d.ts +3 -0
  189. package/node_modules/@murphai/core/dist/genetics/index.d.ts.map +1 -0
  190. package/node_modules/@murphai/core/dist/genetics/index.js +3 -0
  191. package/node_modules/@murphai/core/dist/genetics/index.js.map +1 -0
  192. package/node_modules/@murphai/core/dist/genetics/types.d.ts +40 -0
  193. package/node_modules/@murphai/core/dist/genetics/types.d.ts.map +1 -0
  194. package/node_modules/@murphai/core/dist/genetics/types.js +4 -0
  195. package/node_modules/@murphai/core/dist/genetics/types.js.map +1 -0
  196. package/node_modules/@murphai/core/dist/history/api.d.ts +7 -0
  197. package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -0
  198. package/node_modules/@murphai/core/dist/history/api.js +473 -0
  199. package/node_modules/@murphai/core/dist/history/api.js.map +1 -0
  200. package/node_modules/@murphai/core/dist/history/event-spine.d.ts +41 -0
  201. package/node_modules/@murphai/core/dist/history/event-spine.d.ts.map +1 -0
  202. package/node_modules/@murphai/core/dist/history/event-spine.js +111 -0
  203. package/node_modules/@murphai/core/dist/history/event-spine.js.map +1 -0
  204. package/node_modules/@murphai/core/dist/history/index.d.ts +3 -0
  205. package/node_modules/@murphai/core/dist/history/index.d.ts.map +1 -0
  206. package/node_modules/@murphai/core/dist/history/index.js +3 -0
  207. package/node_modules/@murphai/core/dist/history/index.js.map +1 -0
  208. package/node_modules/@murphai/core/dist/history/shared.d.ts +25 -0
  209. package/node_modules/@murphai/core/dist/history/shared.d.ts.map +1 -0
  210. package/node_modules/@murphai/core/dist/history/shared.js +144 -0
  211. package/node_modules/@murphai/core/dist/history/shared.js.map +1 -0
  212. package/node_modules/@murphai/core/dist/history/types.d.ts +127 -0
  213. package/node_modules/@murphai/core/dist/history/types.d.ts.map +1 -0
  214. package/node_modules/@murphai/core/dist/history/types.js +8 -0
  215. package/node_modules/@murphai/core/dist/history/types.js.map +1 -0
  216. package/node_modules/@murphai/core/dist/ids.d.ts +3 -0
  217. package/node_modules/@murphai/core/dist/ids.d.ts.map +1 -0
  218. package/node_modules/@murphai/core/dist/ids.js +20 -0
  219. package/node_modules/@murphai/core/dist/ids.js.map +1 -0
  220. package/node_modules/@murphai/core/dist/index.d.ts +30 -0
  221. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -0
  222. package/node_modules/@murphai/core/dist/index.js +23 -0
  223. package/node_modules/@murphai/core/dist/index.js.map +1 -0
  224. package/node_modules/@murphai/core/dist/jsonl.d.ts +12 -0
  225. package/node_modules/@murphai/core/dist/jsonl.d.ts.map +1 -0
  226. package/node_modules/@murphai/core/dist/jsonl.js +40 -0
  227. package/node_modules/@murphai/core/dist/jsonl.js.map +1 -0
  228. package/node_modules/@murphai/core/dist/memory.d.ts +17 -0
  229. package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -0
  230. package/node_modules/@murphai/core/dist/memory.js +72 -0
  231. package/node_modules/@murphai/core/dist/memory.js.map +1 -0
  232. package/node_modules/@murphai/core/dist/mutations.d.ts +150 -0
  233. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -0
  234. package/node_modules/@murphai/core/dist/mutations.js +1109 -0
  235. package/node_modules/@murphai/core/dist/mutations.js.map +1 -0
  236. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts +29 -0
  237. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts.map +1 -0
  238. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js +164 -0
  239. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -0
  240. package/node_modules/@murphai/core/dist/operations/index.d.ts +5 -0
  241. package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -0
  242. package/node_modules/@murphai/core/dist/operations/index.js +3 -0
  243. package/node_modules/@murphai/core/dist/operations/index.js.map +1 -0
  244. package/node_modules/@murphai/core/dist/operations/raw-manifests.d.ts +33 -0
  245. package/node_modules/@murphai/core/dist/operations/raw-manifests.d.ts.map +1 -0
  246. package/node_modules/@murphai/core/dist/operations/raw-manifests.js +105 -0
  247. package/node_modules/@murphai/core/dist/operations/raw-manifests.js.map +1 -0
  248. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +166 -0
  249. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -0
  250. package/node_modules/@murphai/core/dist/operations/write-batch.js +886 -0
  251. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -0
  252. package/node_modules/@murphai/core/dist/path-safety.d.ts +19 -0
  253. package/node_modules/@murphai/core/dist/path-safety.d.ts.map +1 -0
  254. package/node_modules/@murphai/core/dist/path-safety.js +193 -0
  255. package/node_modules/@murphai/core/dist/path-safety.js.map +1 -0
  256. package/node_modules/@murphai/core/dist/profile/index.d.ts +4 -0
  257. package/node_modules/@murphai/core/dist/profile/index.d.ts.map +1 -0
  258. package/node_modules/@murphai/core/dist/profile/index.js +3 -0
  259. package/node_modules/@murphai/core/dist/profile/index.js.map +1 -0
  260. package/node_modules/@murphai/core/dist/profile/storage.d.ts +41 -0
  261. package/node_modules/@murphai/core/dist/profile/storage.d.ts.map +1 -0
  262. package/node_modules/@murphai/core/dist/profile/storage.js +225 -0
  263. package/node_modules/@murphai/core/dist/profile/storage.js.map +1 -0
  264. package/node_modules/@murphai/core/dist/profile/types.d.ts +29 -0
  265. package/node_modules/@murphai/core/dist/profile/types.d.ts.map +1 -0
  266. package/node_modules/@murphai/core/dist/profile/types.js +8 -0
  267. package/node_modules/@murphai/core/dist/profile/types.js.map +1 -0
  268. package/node_modules/@murphai/core/dist/public-mutations.d.ts +120 -0
  269. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -0
  270. package/node_modules/@murphai/core/dist/public-mutations.js +275 -0
  271. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -0
  272. package/node_modules/@murphai/core/dist/raw.d.ts +28 -0
  273. package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -0
  274. package/node_modules/@murphai/core/dist/raw.js +107 -0
  275. package/node_modules/@murphai/core/dist/raw.js.map +1 -0
  276. package/node_modules/@murphai/core/dist/registry/api.d.ts +80 -0
  277. package/node_modules/@murphai/core/dist/registry/api.d.ts.map +1 -0
  278. package/node_modules/@murphai/core/dist/registry/api.js +113 -0
  279. package/node_modules/@murphai/core/dist/registry/api.js.map +1 -0
  280. package/node_modules/@murphai/core/dist/registry/id-or-slug.d.ts +15 -0
  281. package/node_modules/@murphai/core/dist/registry/id-or-slug.d.ts.map +1 -0
  282. package/node_modules/@murphai/core/dist/registry/id-or-slug.js +9 -0
  283. package/node_modules/@murphai/core/dist/registry/id-or-slug.js.map +1 -0
  284. package/node_modules/@murphai/core/dist/registry/markdown.d.ts +101 -0
  285. package/node_modules/@murphai/core/dist/registry/markdown.d.ts.map +1 -0
  286. package/node_modules/@murphai/core/dist/registry/markdown.js +136 -0
  287. package/node_modules/@murphai/core/dist/registry/markdown.js.map +1 -0
  288. package/node_modules/@murphai/core/dist/shares.d.ts +36 -0
  289. package/node_modules/@murphai/core/dist/shares.d.ts.map +1 -0
  290. package/node_modules/@murphai/core/dist/shares.js +333 -0
  291. package/node_modules/@murphai/core/dist/shares.js.map +1 -0
  292. package/node_modules/@murphai/core/dist/storage-spine.d.ts +3 -0
  293. package/node_modules/@murphai/core/dist/storage-spine.d.ts.map +1 -0
  294. package/node_modules/@murphai/core/dist/storage-spine.js +3 -0
  295. package/node_modules/@murphai/core/dist/storage-spine.js.map +1 -0
  296. package/node_modules/@murphai/core/dist/time.d.ts +11 -0
  297. package/node_modules/@murphai/core/dist/time.d.ts.map +1 -0
  298. package/node_modules/@murphai/core/dist/time.js +72 -0
  299. package/node_modules/@murphai/core/dist/time.js.map +1 -0
  300. package/node_modules/@murphai/core/dist/types.d.ts +18 -0
  301. package/node_modules/@murphai/core/dist/types.d.ts.map +1 -0
  302. package/node_modules/@murphai/core/dist/types.js +7 -0
  303. package/node_modules/@murphai/core/dist/types.js.map +1 -0
  304. package/node_modules/@murphai/core/dist/vault-core-document.d.ts +8 -0
  305. package/node_modules/@murphai/core/dist/vault-core-document.d.ts.map +1 -0
  306. package/node_modules/@murphai/core/dist/vault-core-document.js +16 -0
  307. package/node_modules/@murphai/core/dist/vault-core-document.js.map +1 -0
  308. package/node_modules/@murphai/core/dist/vault-metadata.d.ts +17 -0
  309. package/node_modules/@murphai/core/dist/vault-metadata.d.ts.map +1 -0
  310. package/node_modules/@murphai/core/dist/vault-metadata.js +44 -0
  311. package/node_modules/@murphai/core/dist/vault-metadata.js.map +1 -0
  312. package/node_modules/@murphai/core/dist/vault-upgrade.d.ts +24 -0
  313. package/node_modules/@murphai/core/dist/vault-upgrade.d.ts.map +1 -0
  314. package/node_modules/@murphai/core/dist/vault-upgrade.js +44 -0
  315. package/node_modules/@murphai/core/dist/vault-upgrade.js.map +1 -0
  316. package/node_modules/@murphai/core/dist/vault.d.ts +40 -0
  317. package/node_modules/@murphai/core/dist/vault.d.ts.map +1 -0
  318. package/node_modules/@murphai/core/dist/vault.js +649 -0
  319. package/node_modules/@murphai/core/dist/vault.js.map +1 -0
  320. package/node_modules/@murphai/core/dist/write-policy.d.ts +63 -0
  321. package/node_modules/@murphai/core/dist/write-policy.d.ts.map +1 -0
  322. package/node_modules/@murphai/core/dist/write-policy.js +146 -0
  323. package/node_modules/@murphai/core/dist/write-policy.js.map +1 -0
  324. package/node_modules/@murphai/core/package.json +27 -0
  325. package/node_modules/@murphai/device-syncd/README.md +123 -0
  326. package/node_modules/@murphai/device-syncd/dist/bin.d.ts +2 -0
  327. package/node_modules/@murphai/device-syncd/dist/bin.d.ts.map +1 -0
  328. package/node_modules/@murphai/device-syncd/dist/bin.js +29 -0
  329. package/node_modules/@murphai/device-syncd/dist/bin.js.map +1 -0
  330. package/node_modules/@murphai/device-syncd/dist/client.d.ts +124 -0
  331. package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -0
  332. package/node_modules/@murphai/device-syncd/dist/client.js +199 -0
  333. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -0
  334. package/node_modules/@murphai/device-syncd/dist/config.d.ts +18 -0
  335. package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -0
  336. package/node_modules/@murphai/device-syncd/dist/config.js +279 -0
  337. package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -0
  338. package/node_modules/@murphai/device-syncd/dist/crypto.d.ts +6 -0
  339. package/node_modules/@murphai/device-syncd/dist/crypto.d.ts.map +1 -0
  340. package/node_modules/@murphai/device-syncd/dist/crypto.js +27 -0
  341. package/node_modules/@murphai/device-syncd/dist/crypto.js.map +1 -0
  342. package/node_modules/@murphai/device-syncd/dist/errors.d.ts +21 -0
  343. package/node_modules/@murphai/device-syncd/dist/errors.d.ts.map +1 -0
  344. package/node_modules/@murphai/device-syncd/dist/errors.js +32 -0
  345. package/node_modules/@murphai/device-syncd/dist/errors.js.map +1 -0
  346. package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts +3 -0
  347. package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts.map +1 -0
  348. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +110 -0
  349. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -0
  350. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +139 -0
  351. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -0
  352. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +336 -0
  353. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -0
  354. package/node_modules/@murphai/device-syncd/dist/http.d.ts +34 -0
  355. package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -0
  356. package/node_modules/@murphai/device-syncd/dist/http.js +644 -0
  357. package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -0
  358. package/node_modules/@murphai/device-syncd/dist/index.d.ts +23 -0
  359. package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -0
  360. package/node_modules/@murphai/device-syncd/dist/index.js +15 -0
  361. package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -0
  362. package/node_modules/@murphai/device-syncd/dist/providers/garmin.d.ts +15 -0
  363. package/node_modules/@murphai/device-syncd/dist/providers/garmin.d.ts.map +1 -0
  364. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js +485 -0
  365. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js.map +1 -0
  366. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.d.ts +49 -0
  367. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.d.ts.map +1 -0
  368. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js +401 -0
  369. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js.map +1 -0
  370. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts +20 -0
  371. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -0
  372. package/node_modules/@murphai/device-syncd/dist/providers/oura.js +804 -0
  373. package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -0
  374. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +104 -0
  375. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -0
  376. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +214 -0
  377. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -0
  378. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts +15 -0
  379. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -0
  380. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +551 -0
  381. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -0
  382. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +4 -0
  383. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -0
  384. package/node_modules/@murphai/device-syncd/dist/public-account.js +13 -0
  385. package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -0
  386. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +43 -0
  387. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -0
  388. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +353 -0
  389. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -0
  390. package/node_modules/@murphai/device-syncd/dist/registry.d.ts +3 -0
  391. package/node_modules/@murphai/device-syncd/dist/registry.d.ts.map +1 -0
  392. package/node_modules/@murphai/device-syncd/dist/registry.js +5 -0
  393. package/node_modules/@murphai/device-syncd/dist/registry.js.map +1 -0
  394. package/node_modules/@murphai/device-syncd/dist/service.d.ts +61 -0
  395. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -0
  396. package/node_modules/@murphai/device-syncd/dist/service.js +496 -0
  397. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -0
  398. package/node_modules/@murphai/device-syncd/dist/shared.d.ts +26 -0
  399. package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -0
  400. package/node_modules/@murphai/device-syncd/dist/shared.js +182 -0
  401. package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -0
  402. package/node_modules/@murphai/device-syncd/dist/store.d.ts +105 -0
  403. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -0
  404. package/node_modules/@murphai/device-syncd/dist/store.js +965 -0
  405. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -0
  406. package/node_modules/@murphai/device-syncd/dist/types.d.ts +287 -0
  407. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -0
  408. package/node_modules/@murphai/device-syncd/dist/types.js +2 -0
  409. package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -0
  410. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts +14 -0
  411. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts.map +1 -0
  412. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js +16 -0
  413. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js.map +1 -0
  414. package/node_modules/@murphai/device-syncd/package.json +85 -0
  415. package/node_modules/@murphai/importers/README.md +34 -0
  416. package/node_modules/@murphai/importers/dist/assessment/core-port.d.ts +13 -0
  417. package/node_modules/@murphai/importers/dist/assessment/core-port.d.ts.map +1 -0
  418. package/node_modules/@murphai/importers/dist/assessment/core-port.js +13 -0
  419. package/node_modules/@murphai/importers/dist/assessment/core-port.js.map +1 -0
  420. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.d.ts +15 -0
  421. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.d.ts.map +1 -0
  422. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js +32 -0
  423. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js.map +1 -0
  424. package/node_modules/@murphai/importers/dist/assessment/index.d.ts +4 -0
  425. package/node_modules/@murphai/importers/dist/assessment/index.d.ts.map +1 -0
  426. package/node_modules/@murphai/importers/dist/assessment/index.js +2 -0
  427. package/node_modules/@murphai/importers/dist/assessment/index.js.map +1 -0
  428. package/node_modules/@murphai/importers/dist/core-port.d.ts +119 -0
  429. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -0
  430. package/node_modules/@murphai/importers/dist/core-port.js +22 -0
  431. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -0
  432. package/node_modules/@murphai/importers/dist/create-importers.d.ts +17 -0
  433. package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -0
  434. package/node_modules/@murphai/importers/dist/create-importers.js +68 -0
  435. package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -0
  436. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts +22 -0
  437. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts.map +1 -0
  438. package/node_modules/@murphai/importers/dist/csv-sample-importer.js +153 -0
  439. package/node_modules/@murphai/importers/dist/csv-sample-importer.js.map +1 -0
  440. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts +5 -0
  441. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts.map +1 -0
  442. package/node_modules/@murphai/importers/dist/device-providers/defaults.js +11 -0
  443. package/node_modules/@murphai/importers/dist/device-providers/defaults.js.map +1 -0
  444. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.d.ts +9 -0
  445. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.d.ts.map +1 -0
  446. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.js +172 -0
  447. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.js.map +1 -0
  448. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.d.ts +12 -0
  449. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.d.ts.map +1 -0
  450. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.js +619 -0
  451. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.js.map +1 -0
  452. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.d.ts +40 -0
  453. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.d.ts.map +1 -0
  454. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.js +295 -0
  455. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.js.map +1 -0
  456. package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts +19 -0
  457. package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts.map +1 -0
  458. package/node_modules/@murphai/importers/dist/device-providers/garmin.js +150 -0
  459. package/node_modules/@murphai/importers/dist/device-providers/garmin.js.map +1 -0
  460. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +14 -0
  461. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -0
  462. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +37 -0
  463. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -0
  464. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +10 -0
  465. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -0
  466. package/node_modules/@murphai/importers/dist/device-providers/index.js +8 -0
  467. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -0
  468. package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts +20 -0
  469. package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts.map +1 -0
  470. package/node_modules/@murphai/importers/dist/device-providers/oura.js +602 -0
  471. package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -0
  472. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts +491 -0
  473. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts.map +1 -0
  474. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js +326 -0
  475. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js.map +1 -0
  476. package/node_modules/@murphai/importers/dist/device-providers/registry.d.ts +9 -0
  477. package/node_modules/@murphai/importers/dist/device-providers/registry.d.ts.map +1 -0
  478. package/node_modules/@murphai/importers/dist/device-providers/registry.js +5 -0
  479. package/node_modules/@murphai/importers/dist/device-providers/registry.js.map +1 -0
  480. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts +81 -0
  481. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -0
  482. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +215 -0
  483. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -0
  484. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +12 -0
  485. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -0
  486. package/node_modules/@murphai/importers/dist/device-providers/types.js +2 -0
  487. package/node_modules/@murphai/importers/dist/device-providers/types.js.map +1 -0
  488. package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts +16 -0
  489. package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts.map +1 -0
  490. package/node_modules/@murphai/importers/dist/device-providers/whoop.js +410 -0
  491. package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -0
  492. package/node_modules/@murphai/importers/dist/document-importer.d.ts +15 -0
  493. package/node_modules/@murphai/importers/dist/document-importer.d.ts.map +1 -0
  494. package/node_modules/@murphai/importers/dist/document-importer.js +31 -0
  495. package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -0
  496. package/node_modules/@murphai/importers/dist/index.d.ts +10 -0
  497. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -0
  498. package/node_modules/@murphai/importers/dist/index.js +9 -0
  499. package/node_modules/@murphai/importers/dist/index.js.map +1 -0
  500. package/node_modules/@murphai/importers/dist/meal-importer.d.ts +15 -0
  501. package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -0
  502. package/node_modules/@murphai/importers/dist/meal-importer.js +39 -0
  503. package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -0
  504. package/node_modules/@murphai/importers/dist/preset-registry.d.ts +31 -0
  505. package/node_modules/@murphai/importers/dist/preset-registry.d.ts.map +1 -0
  506. package/node_modules/@murphai/importers/dist/preset-registry.js +96 -0
  507. package/node_modules/@murphai/importers/dist/preset-registry.js.map +1 -0
  508. package/node_modules/@murphai/importers/dist/shared.d.ts +31 -0
  509. package/node_modules/@murphai/importers/dist/shared.d.ts.map +1 -0
  510. package/node_modules/@murphai/importers/dist/shared.js +154 -0
  511. package/node_modules/@murphai/importers/dist/shared.js.map +1 -0
  512. package/node_modules/@murphai/importers/package.json +36 -0
  513. package/node_modules/@murphai/runtime-state/README.md +37 -0
  514. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts +3 -0
  515. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -0
  516. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +80 -0
  517. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -0
  518. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.d.ts +29 -0
  519. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.d.ts.map +1 -0
  520. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js +159 -0
  521. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js.map +1 -0
  522. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts +33 -0
  523. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts.map +1 -0
  524. package/node_modules/@murphai/runtime-state/dist/assistant-state.js +47 -0
  525. package/node_modules/@murphai/runtime-state/dist/assistant-state.js.map +1 -0
  526. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +56 -0
  527. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -0
  528. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +189 -0
  529. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -0
  530. package/node_modules/@murphai/runtime-state/dist/atomic-write.d.ts +7 -0
  531. package/node_modules/@murphai/runtime-state/dist/atomic-write.d.ts.map +1 -0
  532. package/node_modules/@murphai/runtime-state/dist/atomic-write.js +27 -0
  533. package/node_modules/@murphai/runtime-state/dist/atomic-write.js.map +1 -0
  534. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.d.ts +3 -0
  535. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.d.ts.map +1 -0
  536. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.js +12 -0
  537. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.js.map +1 -0
  538. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.d.ts +3 -0
  539. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.d.ts.map +1 -0
  540. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.js +13 -0
  541. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.js.map +1 -0
  542. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.d.ts +43 -0
  543. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.d.ts.map +1 -0
  544. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.js +203 -0
  545. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.js.map +1 -0
  546. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts +13 -0
  547. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts.map +1 -0
  548. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.js +46 -0
  549. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.js.map +1 -0
  550. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts +67 -0
  551. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts.map +1 -0
  552. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +261 -0
  553. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js.map +1 -0
  554. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +31 -0
  555. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -0
  556. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +211 -0
  557. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -0
  558. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +50 -0
  559. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -0
  560. package/node_modules/@murphai/runtime-state/dist/hosted-email.js +191 -0
  561. package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -0
  562. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts +14 -0
  563. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts.map +1 -0
  564. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js +59 -0
  565. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js.map +1 -0
  566. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts +83 -0
  567. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts.map +1 -0
  568. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js +308 -0
  569. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js.map +1 -0
  570. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.d.ts +3 -0
  571. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.d.ts.map +1 -0
  572. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.js +18 -0
  573. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.js.map +1 -0
  574. package/node_modules/@murphai/runtime-state/dist/index.d.ts +7 -0
  575. package/node_modules/@murphai/runtime-state/dist/index.d.ts.map +1 -0
  576. package/node_modules/@murphai/runtime-state/dist/index.js +7 -0
  577. package/node_modules/@murphai/runtime-state/dist/index.js.map +1 -0
  578. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.d.ts +31 -0
  579. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.d.ts.map +1 -0
  580. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js +120 -0
  581. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js.map +1 -0
  582. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts +3 -0
  583. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts.map +1 -0
  584. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js +17 -0
  585. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js.map +1 -0
  586. package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts +10 -0
  587. package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts.map +1 -0
  588. package/node_modules/@murphai/runtime-state/dist/local-state-files.js +27 -0
  589. package/node_modules/@murphai/runtime-state/dist/local-state-files.js.map +1 -0
  590. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.d.ts +29 -0
  591. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.d.ts.map +1 -0
  592. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.js +82 -0
  593. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.js.map +1 -0
  594. package/node_modules/@murphai/runtime-state/dist/locks.d.ts +46 -0
  595. package/node_modules/@murphai/runtime-state/dist/locks.d.ts.map +1 -0
  596. package/node_modules/@murphai/runtime-state/dist/locks.js +187 -0
  597. package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -0
  598. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts +4 -0
  599. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts.map +1 -0
  600. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js +35 -0
  601. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js.map +1 -0
  602. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +22 -0
  603. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -0
  604. package/node_modules/@murphai/runtime-state/dist/node/index.js +22 -0
  605. package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -0
  606. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.d.ts +3 -0
  607. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.d.ts.map +1 -0
  608. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.js +12 -0
  609. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.js.map +1 -0
  610. package/node_modules/@murphai/runtime-state/dist/process-env.d.ts +4 -0
  611. package/node_modules/@murphai/runtime-state/dist/process-env.d.ts.map +1 -0
  612. package/node_modules/@murphai/runtime-state/dist/process-env.js +124 -0
  613. package/node_modules/@murphai/runtime-state/dist/process-env.js.map +1 -0
  614. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.d.ts +3 -0
  615. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.d.ts.map +1 -0
  616. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.js +13 -0
  617. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.js.map +1 -0
  618. package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts +48 -0
  619. package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts.map +1 -0
  620. package/node_modules/@murphai/runtime-state/dist/runtime-paths.js +93 -0
  621. package/node_modules/@murphai/runtime-state/dist/runtime-paths.js.map +1 -0
  622. package/node_modules/@murphai/runtime-state/dist/shared.d.ts +14 -0
  623. package/node_modules/@murphai/runtime-state/dist/shared.d.ts.map +1 -0
  624. package/node_modules/@murphai/runtime-state/dist/shared.js +46 -0
  625. package/node_modules/@murphai/runtime-state/dist/shared.js.map +1 -0
  626. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts +26 -0
  627. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts.map +1 -0
  628. package/node_modules/@murphai/runtime-state/dist/sqlite.js +110 -0
  629. package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -0
  630. package/node_modules/@murphai/runtime-state/dist/ulid.d.ts +5 -0
  631. package/node_modules/@murphai/runtime-state/dist/ulid.d.ts.map +1 -0
  632. package/node_modules/@murphai/runtime-state/dist/ulid.js +31 -0
  633. package/node_modules/@murphai/runtime-state/dist/ulid.js.map +1 -0
  634. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.d.ts +24 -0
  635. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.d.ts.map +1 -0
  636. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js +30 -0
  637. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js.map +1 -0
  638. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.d.ts +18 -0
  639. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.d.ts.map +1 -0
  640. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.js +25 -0
  641. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.js.map +1 -0
  642. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.d.ts +3 -0
  643. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.d.ts.map +1 -0
  644. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.js +12 -0
  645. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.js.map +1 -0
  646. package/node_modules/@murphai/runtime-state/package.json +30 -0
  647. package/package.json +45 -11
  648. package/dist/.tsbuildinfo +0 -1
  649. package/dist/callback-hosts.d.ts +0 -19
  650. package/dist/callback-hosts.d.ts.map +0 -1
  651. package/dist/callback-hosts.js +0 -19
  652. package/dist/callback-hosts.js.map +0 -1
  653. package/dist/web-control-plane.d.ts +0 -105
  654. package/dist/web-control-plane.d.ts.map +0 -1
  655. package/dist/web-control-plane.js +0 -358
  656. package/dist/web-control-plane.js.map +0 -1
@@ -0,0 +1,593 @@
1
+ import { EVENT_KINDS, eventRecordSchema, } from "@murphai/contracts";
2
+ import { ID_PREFIXES, VAULT_LAYOUT } from "../constants.js";
3
+ import { buildAttachmentCompatibilityProjections, prepareEventAttachments, stagePreparedEventAttachmentsInBatch, } from "../event-attachments.js";
4
+ import { VaultError } from "../errors.js";
5
+ import { walkVaultFiles } from "../fs.js";
6
+ import { generateRecordId } from "../ids.js";
7
+ import { readJsonlRecords, toMonthlyShardRelativePath } from "../jsonl.js";
8
+ import { runCanonicalWrite } from "../operations/write-batch.js";
9
+ import { loadVault } from "../vault.js";
10
+ import { buildEventSpineEnvelope, buildEventSpineLifecycle, eventSpineRevision, isDeletedEventSpineRecord, parseEventSpineAttachments, selectLatestEventSpineEntry, } from "../history/event-spine.js";
11
+ import { compactObject, normalizeOptionalText, normalizeTimestampInput, runLoadedCanonicalWrite, uniqueTrimmedStringList, validateContract, } from "./shared.js";
12
+ const PUBLIC_EVENT_WRITE_KIND_LIST = [
13
+ "symptom",
14
+ "note",
15
+ "observation",
16
+ "medication_intake",
17
+ "supplement_intake",
18
+ "activity_session",
19
+ "body_measurement",
20
+ "sleep_session",
21
+ "intervention_session",
22
+ ];
23
+ const RESERVED_EVENT_KEYS = new Set([
24
+ "schemaVersion",
25
+ "id",
26
+ "eventId",
27
+ "kind",
28
+ "occurredAt",
29
+ "recordedAt",
30
+ "dayKey",
31
+ "timeZone",
32
+ "source",
33
+ "title",
34
+ "note",
35
+ "tags",
36
+ "links",
37
+ "relatedIds",
38
+ "rawRefs",
39
+ "lifecycle",
40
+ ]);
41
+ const PUBLIC_EVENT_WRITE_KINDS = new Set(PUBLIC_EVENT_WRITE_KIND_LIST);
42
+ const SUPPORTED_EVENT_KINDS = new Set(EVENT_KINDS);
43
+ function valueAsString(value) {
44
+ return typeof value === "string" ? value : undefined;
45
+ }
46
+ function requireText(value, message) {
47
+ const normalized = normalizeOptionalText(valueAsString(value));
48
+ if (!normalized) {
49
+ throw new VaultError("INVALID_INPUT", message);
50
+ }
51
+ return normalized;
52
+ }
53
+ function normalizeEventId(payload) {
54
+ return normalizeOptionalText(typeof payload.id === "string" ? payload.id : valueAsString(payload.eventId)) ?? undefined;
55
+ }
56
+ function normalizeDraftEventId(value) {
57
+ return typeof value === "string" ? normalizeOptionalText(value) ?? undefined : undefined;
58
+ }
59
+ function eventSpecificFields(payload) {
60
+ return Object.fromEntries(Object.entries(payload).filter(([key, value]) => !RESERVED_EVENT_KEYS.has(key) && value !== undefined));
61
+ }
62
+ function normalizeEventKind(payload) {
63
+ const kind = valueAsString(payload.kind);
64
+ if (!kind || !SUPPORTED_EVENT_KINDS.has(kind)) {
65
+ throw new VaultError("EVENT_KIND_INVALID", "Event payload requires a supported kind.");
66
+ }
67
+ return kind;
68
+ }
69
+ function buildEventRecord(payload, fallbackTimeZone, lifecycle) {
70
+ const kind = normalizeEventKind(payload);
71
+ const occurredAt = normalizeTimestampInput(payload.occurredAt);
72
+ if (!occurredAt) {
73
+ throw new VaultError("EVENT_OCCURRED_AT_MISSING", "Event payload requires occurredAt.");
74
+ }
75
+ const attachments = parseEventSpineAttachments(payload.attachments);
76
+ return validateContract(eventRecordSchema, compactObject({
77
+ ...buildEventSpineEnvelope({
78
+ id: normalizeEventId(payload),
79
+ occurredAt,
80
+ recordedAt: normalizeTimestampInput(payload.recordedAt),
81
+ dayKey: valueAsString(payload.dayKey),
82
+ timeZone: valueAsString(payload.timeZone),
83
+ fallbackTimeZone,
84
+ source: valueAsString(payload.source),
85
+ title: requireText(payload.title, "Event payload requires a title."),
86
+ note: normalizeOptionalText(valueAsString(payload.note)) ?? undefined,
87
+ tags: uniqueTrimmedStringList(payload.tags) ?? undefined,
88
+ links: payload.links,
89
+ relatedIds: payload.relatedIds,
90
+ normalizeRelationIds: uniqueTrimmedStringList,
91
+ rawRefs: uniqueTrimmedStringList(payload.rawRefs) ?? undefined,
92
+ attachments,
93
+ lifecycle,
94
+ }),
95
+ kind,
96
+ ...eventSpecificFields(payload),
97
+ }), "EVENT_CONTRACT_INVALID", `Event payload for kind "${kind}" is invalid.`);
98
+ }
99
+ function buildBaseEventContractInput(draft, fallbackTimeZone) {
100
+ const occurredAt = normalizeTimestampInput(draft.occurredAt);
101
+ if (!occurredAt) {
102
+ throw new VaultError("EVENT_OCCURRED_AT_MISSING", "Event draft requires occurredAt.");
103
+ }
104
+ return compactObject({
105
+ ...buildEventSpineEnvelope({
106
+ id: normalizeDraftEventId(draft.id),
107
+ occurredAt,
108
+ recordedAt: normalizeTimestampInput(draft.recordedAt),
109
+ dayKey: valueAsString(draft.dayKey),
110
+ timeZone: valueAsString(draft.timeZone),
111
+ fallbackTimeZone,
112
+ source: valueAsString(draft.source),
113
+ title: requireText(draft.title, "Event draft requires a title."),
114
+ note: normalizeOptionalText(valueAsString(draft.note)) ?? undefined,
115
+ tags: uniqueTrimmedStringList(draft.tags) ?? undefined,
116
+ links: draft.links,
117
+ relatedIds: draft.relatedIds,
118
+ normalizeRelationIds: uniqueTrimmedStringList,
119
+ rawRefs: uniqueTrimmedStringList(draft.rawRefs) ?? undefined,
120
+ attachments: draft.attachments,
121
+ lifecycle: undefined,
122
+ }),
123
+ externalRef: draft.externalRef,
124
+ });
125
+ }
126
+ function buildTypedEventRecord(draft, fallbackTimeZone, lifecycle) {
127
+ const base = buildBaseEventContractInput(draft, fallbackTimeZone);
128
+ const record = (() => {
129
+ switch (draft.kind) {
130
+ case "note":
131
+ return compactObject({
132
+ ...base,
133
+ kind: "note",
134
+ });
135
+ case "symptom":
136
+ return compactObject({
137
+ ...base,
138
+ kind: "symptom",
139
+ symptom: draft.symptom,
140
+ intensity: draft.intensity,
141
+ bodySite: draft.bodySite,
142
+ });
143
+ case "observation":
144
+ return compactObject({
145
+ ...base,
146
+ kind: "observation",
147
+ metric: draft.metric,
148
+ value: draft.value,
149
+ unit: draft.unit,
150
+ });
151
+ case "medication_intake":
152
+ return compactObject({
153
+ ...base,
154
+ kind: "medication_intake",
155
+ medicationName: draft.medicationName,
156
+ dose: draft.dose,
157
+ unit: draft.unit,
158
+ });
159
+ case "supplement_intake":
160
+ return compactObject({
161
+ ...base,
162
+ kind: "supplement_intake",
163
+ supplementName: draft.supplementName,
164
+ dose: draft.dose,
165
+ unit: draft.unit,
166
+ });
167
+ case "activity_session":
168
+ return compactObject({
169
+ ...base,
170
+ kind: "activity_session",
171
+ activityType: draft.activityType,
172
+ durationMinutes: draft.durationMinutes,
173
+ distanceKm: draft.distanceKm,
174
+ workout: draft.workout,
175
+ });
176
+ case "body_measurement":
177
+ return compactObject({
178
+ ...base,
179
+ kind: "body_measurement",
180
+ measurements: draft.measurements,
181
+ media: draft.media,
182
+ });
183
+ case "sleep_session":
184
+ return compactObject({
185
+ ...base,
186
+ kind: "sleep_session",
187
+ startAt: draft.startAt,
188
+ endAt: draft.endAt,
189
+ durationMinutes: draft.durationMinutes,
190
+ });
191
+ case "intervention_session":
192
+ return compactObject({
193
+ ...base,
194
+ kind: "intervention_session",
195
+ interventionType: draft.interventionType,
196
+ durationMinutes: draft.durationMinutes,
197
+ protocolId: draft.protocolId,
198
+ });
199
+ }
200
+ })();
201
+ return validateContract(eventRecordSchema, compactObject({
202
+ ...record,
203
+ lifecycle,
204
+ }), "EVENT_CONTRACT_INVALID", `Event draft for kind "${draft.kind}" is invalid.`);
205
+ }
206
+ function buildTypedEventDraft(kind, input) {
207
+ return {
208
+ kind,
209
+ ...input,
210
+ };
211
+ }
212
+ export function buildSymptomEventDraft(input) {
213
+ return buildTypedEventDraft("symptom", input);
214
+ }
215
+ export function buildNoteEventDraft(input) {
216
+ return buildTypedEventDraft("note", input);
217
+ }
218
+ export function buildObservationEventDraft(input) {
219
+ return buildTypedEventDraft("observation", input);
220
+ }
221
+ export function buildMedicationIntakeEventDraft(input) {
222
+ return buildTypedEventDraft("medication_intake", input);
223
+ }
224
+ export function buildSupplementIntakeEventDraft(input) {
225
+ return buildTypedEventDraft("supplement_intake", input);
226
+ }
227
+ export function buildActivitySessionEventDraft(input) {
228
+ return buildTypedEventDraft("activity_session", input);
229
+ }
230
+ export function buildBodyMeasurementEventDraft(input) {
231
+ return buildTypedEventDraft("body_measurement", input);
232
+ }
233
+ export function buildSleepSessionEventDraft(input) {
234
+ return buildTypedEventDraft("sleep_session", input);
235
+ }
236
+ export function buildInterventionSessionEventDraft(input) {
237
+ return buildTypedEventDraft("intervention_session", input);
238
+ }
239
+ export function buildPublicEventRecord(draft, fallbackTimeZone) {
240
+ return buildTypedEventRecord(draft, fallbackTimeZone);
241
+ }
242
+ function mergeByRelativePath(existing, next) {
243
+ const merged = new Map();
244
+ for (const entry of existing ?? []) {
245
+ merged.set(entry.relativePath, entry);
246
+ }
247
+ for (const entry of next ?? []) {
248
+ merged.set(entry.relativePath, entry);
249
+ }
250
+ return merged.size > 0 ? [...merged.values()] : undefined;
251
+ }
252
+ function mergeStringLists(existing, next) {
253
+ const merged = [...(existing ?? []), ...(next ?? [])]
254
+ .map((value) => value.trim())
255
+ .filter((value) => value.length > 0);
256
+ return merged.length > 0 ? [...new Set(merged)] : undefined;
257
+ }
258
+ function resolveRawImportSource(source, fallbackSource) {
259
+ if (source !== undefined) {
260
+ return normalizeOptionalText(source) ?? null;
261
+ }
262
+ return normalizeOptionalText(valueAsString(fallbackSource)) ?? "manual";
263
+ }
264
+ function resolveRawImportImportedAt(value) {
265
+ return normalizeTimestampInput(value) ?? new Date().toISOString();
266
+ }
267
+ function ensureSpecializedEventKind(kind, eventId, matchedShards) {
268
+ const latestMatchedEvent = selectLatestMatchedEvent(matchedShards);
269
+ if (!latestMatchedEvent) {
270
+ return;
271
+ }
272
+ if (latestMatchedEvent.record.kind !== kind) {
273
+ throw new VaultError("EVENT_KIND_INVALID", `Event "${eventId}" already exists as kind "${latestMatchedEvent.record.kind}" and cannot be rewritten as "${kind}".`);
274
+ }
275
+ }
276
+ function applyActivitySessionAttachmentProjections(draft, attachments) {
277
+ if (attachments.length === 0) {
278
+ return draft;
279
+ }
280
+ const projections = buildAttachmentCompatibilityProjections(attachments);
281
+ const mergedAttachments = mergeByRelativePath(draft.attachments, attachments);
282
+ const mergedWorkoutMedia = mergeByRelativePath(draft.workout.media, projections.media);
283
+ const mergedRawRefs = mergeStringLists(draft.rawRefs, projections.rawRefs);
284
+ return {
285
+ ...draft,
286
+ ...(mergedAttachments ? { attachments: mergedAttachments } : {}),
287
+ ...(mergedRawRefs ? { rawRefs: mergedRawRefs } : {}),
288
+ workout: {
289
+ ...draft.workout,
290
+ ...(mergedWorkoutMedia ? { media: mergedWorkoutMedia } : {}),
291
+ },
292
+ };
293
+ }
294
+ function applyBodyMeasurementAttachmentProjections(draft, attachments) {
295
+ if (attachments.length === 0) {
296
+ return draft;
297
+ }
298
+ const projections = buildAttachmentCompatibilityProjections(attachments);
299
+ const mergedAttachments = mergeByRelativePath(draft.attachments, attachments);
300
+ const mergedMedia = mergeByRelativePath(draft.media, projections.media);
301
+ const mergedRawRefs = mergeStringLists(draft.rawRefs, projections.rawRefs);
302
+ return {
303
+ ...draft,
304
+ ...(mergedAttachments ? { attachments: mergedAttachments } : {}),
305
+ ...(mergedRawRefs ? { rawRefs: mergedRawRefs } : {}),
306
+ ...(mergedMedia ? { media: mergedMedia } : {}),
307
+ };
308
+ }
309
+ export async function addActivitySession(input) {
310
+ const vault = await loadVault({ vaultRoot: input.vaultRoot });
311
+ const eventId = normalizeDraftEventId(input.draft.id) ?? generateRecordId(ID_PREFIXES.event);
312
+ const draft = {
313
+ ...input.draft,
314
+ id: eventId,
315
+ };
316
+ const matchedShards = await loadEventLedgerShardsById(input.vaultRoot, eventId);
317
+ ensureSpecializedEventKind("activity_session", eventId, matchedShards);
318
+ const latestMatchedEvent = selectLatestMatchedEvent(matchedShards);
319
+ const lifecycle = buildEventSpineLifecycle(latestMatchedEvent ? eventSpineRevision(latestMatchedEvent.record) + 1 : 1);
320
+ const preparedAttachments = prepareEventAttachments({
321
+ ownerKind: "workout",
322
+ ownerId: eventId,
323
+ occurredAt: draft.occurredAt,
324
+ attachments: input.attachments ?? [],
325
+ });
326
+ return runCanonicalWrite({
327
+ vaultRoot: input.vaultRoot,
328
+ operationType: "activity_session_write",
329
+ summary: `Write activity_session ${eventId}`,
330
+ occurredAt: draft.occurredAt,
331
+ mutate: async ({ batch }) => {
332
+ const stagedAttachments = preparedAttachments.length > 0
333
+ ? await stagePreparedEventAttachmentsInBatch({
334
+ batch,
335
+ attachments: preparedAttachments,
336
+ importId: input.rawImport?.importId ?? eventId,
337
+ importKind: input.rawImport?.importKind ?? "workout_batch",
338
+ importedAt: resolveRawImportImportedAt(input.rawImport?.importedAt),
339
+ source: resolveRawImportSource(input.rawImport?.source, draft.source),
340
+ provenance: input.rawImport?.provenance ?? {
341
+ eventId,
342
+ family: "workout",
343
+ mediaCount: preparedAttachments.length,
344
+ },
345
+ })
346
+ : null;
347
+ const projectedDraft = stagedAttachments
348
+ ? applyActivitySessionAttachmentProjections(draft, stagedAttachments.attachments)
349
+ : draft;
350
+ const eventRecord = buildTypedEventRecord({
351
+ kind: "activity_session",
352
+ ...projectedDraft,
353
+ }, vault.metadata.timezone, lifecycle);
354
+ const ledgerFile = toEventLedgerFile(eventRecord.occurredAt);
355
+ await batch.stageJsonlAppend(ledgerFile, `${JSON.stringify(eventRecord)}\n`);
356
+ return {
357
+ eventId,
358
+ ledgerFile,
359
+ created: matchedShards.length === 0,
360
+ event: eventRecord,
361
+ manifestPath: stagedAttachments?.manifestPath ?? null,
362
+ };
363
+ },
364
+ });
365
+ }
366
+ export async function addBodyMeasurement(input) {
367
+ const vault = await loadVault({ vaultRoot: input.vaultRoot });
368
+ const eventId = normalizeDraftEventId(input.draft.id) ?? generateRecordId(ID_PREFIXES.event);
369
+ const draft = {
370
+ ...input.draft,
371
+ id: eventId,
372
+ };
373
+ const matchedShards = await loadEventLedgerShardsById(input.vaultRoot, eventId);
374
+ ensureSpecializedEventKind("body_measurement", eventId, matchedShards);
375
+ const latestMatchedEvent = selectLatestMatchedEvent(matchedShards);
376
+ const lifecycle = buildEventSpineLifecycle(latestMatchedEvent ? eventSpineRevision(latestMatchedEvent.record) + 1 : 1);
377
+ const preparedAttachments = prepareEventAttachments({
378
+ ownerKind: "measurement",
379
+ ownerId: eventId,
380
+ occurredAt: draft.occurredAt,
381
+ attachments: input.attachments ?? [],
382
+ });
383
+ return runCanonicalWrite({
384
+ vaultRoot: input.vaultRoot,
385
+ operationType: "body_measurement_write",
386
+ summary: `Write body_measurement ${eventId}`,
387
+ occurredAt: draft.occurredAt,
388
+ mutate: async ({ batch }) => {
389
+ const stagedAttachments = preparedAttachments.length > 0
390
+ ? await stagePreparedEventAttachmentsInBatch({
391
+ batch,
392
+ attachments: preparedAttachments,
393
+ importId: input.rawImport?.importId ?? eventId,
394
+ importKind: input.rawImport?.importKind ?? "measurement_batch",
395
+ importedAt: resolveRawImportImportedAt(input.rawImport?.importedAt),
396
+ source: resolveRawImportSource(input.rawImport?.source, draft.source),
397
+ provenance: input.rawImport?.provenance ?? {
398
+ eventId,
399
+ family: "measurement",
400
+ mediaCount: preparedAttachments.length,
401
+ },
402
+ })
403
+ : null;
404
+ const projectedDraft = stagedAttachments
405
+ ? applyBodyMeasurementAttachmentProjections(draft, stagedAttachments.attachments)
406
+ : draft;
407
+ const eventRecord = buildTypedEventRecord({
408
+ kind: "body_measurement",
409
+ ...projectedDraft,
410
+ }, vault.metadata.timezone, lifecycle);
411
+ const ledgerFile = toEventLedgerFile(eventRecord.occurredAt);
412
+ await batch.stageJsonlAppend(ledgerFile, `${JSON.stringify(eventRecord)}\n`);
413
+ return {
414
+ eventId,
415
+ ledgerFile,
416
+ created: matchedShards.length === 0,
417
+ event: eventRecord,
418
+ manifestPath: stagedAttachments?.manifestPath ?? null,
419
+ };
420
+ },
421
+ });
422
+ }
423
+ export function buildExperimentEventRecord(input) {
424
+ return validateContract(eventRecordSchema, compactObject({
425
+ ...buildEventSpineEnvelope({
426
+ occurredAt: input.occurredAt,
427
+ timeZone: input.timeZone,
428
+ source: "manual",
429
+ title: input.title.trim(),
430
+ note: normalizeOptionalText(input.note) ?? undefined,
431
+ relatedIds: [input.experimentId],
432
+ normalizeRelationIds: uniqueTrimmedStringList,
433
+ }),
434
+ kind: "experiment_event",
435
+ experimentId: input.experimentId,
436
+ experimentSlug: input.experimentSlug,
437
+ phase: input.phase,
438
+ }), "EVENT_CONTRACT_INVALID", 'Event payload for kind "experiment_event" is invalid.');
439
+ }
440
+ function toEventLedgerFile(occurredAt) {
441
+ return toMonthlyShardRelativePath(VAULT_LAYOUT.eventLedgerDirectory, occurredAt, "occurredAt");
442
+ }
443
+ function isMatchingEventId(record, eventId) {
444
+ return (typeof record === "object" &&
445
+ record !== null &&
446
+ typeof record.id === "string" &&
447
+ record.id === eventId);
448
+ }
449
+ function validateStoredEventRecord(record) {
450
+ return validateContract(eventRecordSchema, record, "EVENT_CONTRACT_INVALID", "Stored event record is invalid.");
451
+ }
452
+ function flattenMatchedEventRecords(matchedShards) {
453
+ return matchedShards.flatMap((shard) => shard.matchingRecords.map((record) => ({
454
+ relativePath: shard.relativePath,
455
+ record,
456
+ })));
457
+ }
458
+ function selectLatestMatchedEvent(matchedShards) {
459
+ return selectLatestEventSpineEntry(flattenMatchedEventRecords(matchedShards));
460
+ }
461
+ async function loadEventLedgerShardsById(vaultRoot, eventId) {
462
+ const relativePaths = await walkVaultFiles(vaultRoot, VAULT_LAYOUT.eventLedgerDirectory, {
463
+ extension: ".jsonl",
464
+ });
465
+ const matches = [];
466
+ for (const relativePath of relativePaths) {
467
+ const records = await readJsonlRecords({
468
+ vaultRoot,
469
+ relativePath,
470
+ });
471
+ const matchingRecords = records
472
+ .filter((record) => isMatchingEventId(record, eventId))
473
+ .map((record) => validateStoredEventRecord(record));
474
+ if (matchingRecords.length > 0) {
475
+ matches.push({
476
+ relativePath,
477
+ matchingRecords,
478
+ });
479
+ }
480
+ }
481
+ return matches;
482
+ }
483
+ function extractRetainedPaths(record) {
484
+ const retained = new Set();
485
+ for (const attachment of record.attachments ?? []) {
486
+ retained.add(attachment.relativePath);
487
+ }
488
+ uniqueTrimmedStringList(record.rawRefs)?.forEach((relativePath) => retained.add(relativePath));
489
+ uniqueTrimmedStringList(record.photoPaths)?.forEach((relativePath) => retained.add(relativePath));
490
+ uniqueTrimmedStringList(record.audioPaths)?.forEach((relativePath) => retained.add(relativePath));
491
+ const documentPath = valueAsString(record.documentPath);
492
+ if (documentPath) {
493
+ retained.add(documentPath);
494
+ }
495
+ else if ((record.kind === "document" || record.kind === "meal") && (record.attachments?.length ?? 0) > 0) {
496
+ const projections = buildAttachmentCompatibilityProjections(record.attachments ?? []);
497
+ if (projections.documentPath) {
498
+ retained.add(projections.documentPath);
499
+ }
500
+ }
501
+ const mediaSources = [
502
+ record.media,
503
+ record.workout?.media,
504
+ ];
505
+ for (const mediaList of mediaSources) {
506
+ if (!Array.isArray(mediaList)) {
507
+ continue;
508
+ }
509
+ for (const entry of mediaList) {
510
+ const relativePath = valueAsString(entry?.relativePath);
511
+ if (relativePath) {
512
+ retained.add(relativePath);
513
+ }
514
+ }
515
+ }
516
+ return [...retained].sort((left, right) => left.localeCompare(right));
517
+ }
518
+ function canWriteEventKind(kind, matchedShards, allowSpecializedKindRewrite) {
519
+ if (PUBLIC_EVENT_WRITE_KINDS.has(kind)) {
520
+ return true;
521
+ }
522
+ return allowSpecializedKindRewrite === true && matchedShards.length > 0;
523
+ }
524
+ function isDraftUpsertInput(input) {
525
+ return "draft" in input;
526
+ }
527
+ export async function upsertEvent(input) {
528
+ const vault = await loadVault({ vaultRoot: input.vaultRoot });
529
+ const suppliedEventId = isDraftUpsertInput(input)
530
+ ? normalizeDraftEventId(input.draft.id)
531
+ : normalizeEventId(input.payload);
532
+ const kind = isDraftUpsertInput(input)
533
+ ? input.draft.kind
534
+ : normalizeEventKind(input.payload);
535
+ const matchedShards = suppliedEventId === undefined
536
+ ? []
537
+ : await loadEventLedgerShardsById(input.vaultRoot, suppliedEventId);
538
+ if (!canWriteEventKind(kind, matchedShards, input.allowSpecializedKindRewrite)) {
539
+ throw new VaultError("EVENT_KIND_INVALID", `Event kind "${kind}" is not supported by generic event upsert.`);
540
+ }
541
+ const latestMatchedEvent = selectLatestMatchedEvent(matchedShards);
542
+ const lifecycle = buildEventSpineLifecycle(latestMatchedEvent ? eventSpineRevision(latestMatchedEvent.record) + 1 : 1);
543
+ const eventRecord = isDraftUpsertInput(input)
544
+ ? buildTypedEventRecord(input.draft, vault.metadata.timezone, lifecycle)
545
+ : buildEventRecord(input.payload, vault.metadata.timezone, lifecycle);
546
+ const ledgerFile = toEventLedgerFile(eventRecord.occurredAt);
547
+ return runLoadedCanonicalWrite({
548
+ vaultRoot: input.vaultRoot,
549
+ operationType: "event_upsert",
550
+ summary: `Upsert event ${eventRecord.id}`,
551
+ occurredAt: eventRecord.occurredAt,
552
+ mutate: async ({ batch }) => {
553
+ await batch.stageJsonlAppend(ledgerFile, `${JSON.stringify(eventRecord)}\n`);
554
+ return {
555
+ eventId: eventRecord.id,
556
+ ledgerFile,
557
+ created: matchedShards.length === 0,
558
+ };
559
+ },
560
+ });
561
+ }
562
+ export async function deleteEvent(input) {
563
+ const matchedShards = await loadEventLedgerShardsById(input.vaultRoot, input.eventId);
564
+ if (matchedShards.length === 0) {
565
+ throw new VaultError("EVENT_MISSING", `Event "${input.eventId}" was not found.`);
566
+ }
567
+ const latestMatchedEvent = selectLatestMatchedEvent(matchedShards);
568
+ if (!latestMatchedEvent || isDeletedEventSpineRecord(latestMatchedEvent.record)) {
569
+ throw new VaultError("EVENT_MISSING", `Event "${input.eventId}" was not found.`);
570
+ }
571
+ const tombstoneRecord = validateContract(eventRecordSchema, compactObject({
572
+ ...latestMatchedEvent.record,
573
+ recordedAt: new Date().toISOString(),
574
+ lifecycle: buildEventSpineLifecycle(eventSpineRevision(latestMatchedEvent.record) + 1, "deleted"),
575
+ }), "EVENT_CONTRACT_INVALID", "Deleted event tombstone is invalid.");
576
+ const tombstoneLedgerFile = toEventLedgerFile(tombstoneRecord.occurredAt);
577
+ return runLoadedCanonicalWrite({
578
+ vaultRoot: input.vaultRoot,
579
+ operationType: "event_delete",
580
+ summary: `Delete event ${input.eventId}`,
581
+ occurredAt: new Date(),
582
+ mutate: async ({ batch }) => {
583
+ await batch.stageJsonlAppend(tombstoneLedgerFile, `${JSON.stringify(tombstoneRecord)}\n`);
584
+ return {
585
+ eventId: input.eventId,
586
+ kind: latestMatchedEvent.record.kind,
587
+ retainedPaths: extractRetainedPaths(latestMatchedEvent.record),
588
+ deleted: true,
589
+ };
590
+ },
591
+ });
592
+ }
593
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/domains/events.ts"],"names":[],"mappings":"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"}