@murphai/hosted-execution 0.1.15 → 0.1.17

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,649 @@
1
+ import path from "node:path";
2
+ import { allergyFrontmatterSchema, assessmentResponseSchema, conditionFrontmatterSchema, auditRecordSchema, coreFrontmatterSchema, eventRecordSchema, experimentFrontmatterSchema, familyMemberFrontmatterSchema, foodFrontmatterSchema, geneticVariantFrontmatterSchema, goalFrontmatterSchema, journalDayFrontmatterSchema, profileCurrentFrontmatterSchema, profileSnapshotSchema, rawImportManifestSchema, recipeFrontmatterSchema, protocolFrontmatterSchema, safeParseContract, sampleRecordSchema, vaultMetadataSchema, workoutFormatFrontmatterSchema, } from "@murphai/contracts";
3
+ import { DEFAULT_TIMEZONE, REQUIRED_DIRECTORIES, VAULT_LAYOUT, } from "./constants.js";
4
+ import { emitAuditRecord } from "./audit.js";
5
+ import { ensureDirectory, ensureVaultDirectory, pathExists, readJsonFile, readUtf8File, walkVaultFiles, } from "./fs.js";
6
+ import { VaultError } from "./errors.js";
7
+ import { parseFrontmatterDocument } from "./frontmatter.js";
8
+ import { generateVaultId } from "./ids.js";
9
+ import { readJsonlRecords } from "./jsonl.js";
10
+ import { normalizeVaultRoot, resolveVaultPath } from "./path-safety.js";
11
+ import { isTerminalWriteOperationStatus, listWriteOperationMetadataPaths, readStoredWriteOperation, runCanonicalWrite, } from "./operations/write-batch.js";
12
+ import { buildCurrentProfileMarkdown, listProfileSnapshots, readCurrentProfileMarkdown, stageCurrentProfileMaterialization, } from "./profile/storage.js";
13
+ import { toIsoTimestamp } from "./time.js";
14
+ import { buildVaultCoreDocument } from "./vault-core-document.js";
15
+ import { buildVaultMetadata, loadVaultMetadata, } from "./vault-metadata.js";
16
+ import { isPlainRecord } from "./types.js";
17
+ function assertContractShape(schema, value, code, message) {
18
+ const result = safeParseContract(schema, value);
19
+ if (!result.success) {
20
+ throw new VaultError(code, message, { errors: result.errors });
21
+ }
22
+ }
23
+ function validationIssue(code, message, path, severity = "error") {
24
+ return path ? { code, message, path, severity } : { code, message, severity };
25
+ }
26
+ export async function initializeVault({ vaultRoot, title = "Murph Vault", timezone = DEFAULT_TIMEZONE, createdAt = new Date(), } = {}) {
27
+ const absoluteRoot = normalizeVaultRoot(vaultRoot);
28
+ const metadataPath = resolveVaultPath(absoluteRoot, VAULT_LAYOUT.metadata);
29
+ if (await pathExists(metadataPath.absolutePath)) {
30
+ throw new VaultError("VAULT_ALREADY_EXISTS", "Vault already exists at the requested root.");
31
+ }
32
+ await ensureDirectory(absoluteRoot);
33
+ for (const relativeDirectory of REQUIRED_DIRECTORIES) {
34
+ await ensureVaultDirectory(absoluteRoot, relativeDirectory);
35
+ }
36
+ const createdTimestamp = toIsoTimestamp(createdAt, "createdAt");
37
+ const metadata = buildVaultMetadata({
38
+ vaultId: generateVaultId(),
39
+ createdAt: createdTimestamp,
40
+ title,
41
+ timezone,
42
+ });
43
+ assertContractShape(vaultMetadataSchema, metadata, "VAULT_INVALID_METADATA", "Generated vault metadata failed contract validation.");
44
+ const coreDocument = buildVaultCoreDocument({
45
+ vaultId: metadata.vaultId,
46
+ title,
47
+ timezone,
48
+ updatedAt: createdTimestamp,
49
+ });
50
+ const auditPath = await runCanonicalWrite({
51
+ vaultRoot: absoluteRoot,
52
+ operationType: "vault_init",
53
+ summary: `Initialize vault ${metadata.vaultId}`,
54
+ occurredAt: createdTimestamp,
55
+ mutate: async ({ batch }) => {
56
+ await batch.stageTextWrite(VAULT_LAYOUT.metadata, `${JSON.stringify(metadata, null, 2)}\n`, {
57
+ overwrite: false,
58
+ });
59
+ await batch.stageTextWrite(VAULT_LAYOUT.coreDocument, coreDocument, {
60
+ overwrite: false,
61
+ });
62
+ const audit = await emitAuditRecord({
63
+ vaultRoot: absoluteRoot,
64
+ batch,
65
+ action: "vault_init",
66
+ commandName: "core.initializeVault",
67
+ summary: "Initialized vault metadata and core document.",
68
+ occurredAt: createdTimestamp,
69
+ files: [VAULT_LAYOUT.metadata, VAULT_LAYOUT.coreDocument],
70
+ targetIds: [metadata.vaultId],
71
+ });
72
+ return audit.relativePath;
73
+ },
74
+ });
75
+ const vault = await loadVault({ vaultRoot: absoluteRoot });
76
+ return {
77
+ ...vault,
78
+ created: true,
79
+ auditPath,
80
+ };
81
+ }
82
+ export async function loadVault({ vaultRoot } = {}) {
83
+ const absoluteRoot = normalizeVaultRoot(vaultRoot);
84
+ const { metadata } = await loadVaultMetadata(absoluteRoot, "VAULT_INVALID_METADATA", "Vault metadata failed contract validation.");
85
+ return {
86
+ vaultRoot: absoluteRoot,
87
+ metadata,
88
+ layout: {
89
+ ...VAULT_LAYOUT,
90
+ },
91
+ };
92
+ }
93
+ export async function repairVault({ vaultRoot } = {}) {
94
+ const absoluteRoot = normalizeVaultRoot(vaultRoot);
95
+ const { metadata } = await loadVaultMetadata(absoluteRoot, "VAULT_INVALID_METADATA", "Vault metadata failed contract validation.");
96
+ const createdDirectories = await ensureMissingRequiredDirectories(absoluteRoot);
97
+ const currentState = await readCurrentProfileMarkdown(absoluteRoot);
98
+ let latestSnapshot;
99
+ try {
100
+ latestSnapshot = (await listProfileSnapshots({ vaultRoot: absoluteRoot })).at(-1) ?? null;
101
+ }
102
+ catch {
103
+ latestSnapshot = undefined;
104
+ }
105
+ const currentProfileNeedsRepair = latestSnapshot === undefined
106
+ ? false
107
+ : latestSnapshot === null
108
+ ? currentState.exists
109
+ : currentState.markdown !== buildCurrentProfileMarkdown(latestSnapshot);
110
+ if (createdDirectories.length === 0 && !currentProfileNeedsRepair) {
111
+ return {
112
+ metadataFile: VAULT_LAYOUT.metadata,
113
+ title: metadata.title,
114
+ timezone: metadata.timezone,
115
+ createdDirectories,
116
+ updated: false,
117
+ auditPath: null,
118
+ };
119
+ }
120
+ let auditPath = null;
121
+ const occurredAt = new Date().toISOString();
122
+ auditPath = await runCanonicalWrite({
123
+ vaultRoot: absoluteRoot,
124
+ operationType: "vault_repair",
125
+ summary: `Repair vault ${metadata.vaultId}`,
126
+ occurredAt,
127
+ mutate: async ({ batch }) => {
128
+ const repairSummaries = [];
129
+ const repairFiles = [...createdDirectories];
130
+ const repairTargetIds = [metadata.vaultId];
131
+ if (createdDirectories.length > 0) {
132
+ repairSummaries.push("Created missing required scaffold directories.");
133
+ }
134
+ if (latestSnapshot !== undefined) {
135
+ const materialized = await stageCurrentProfileMaterialization(batch, currentState, latestSnapshot);
136
+ if (materialized.updated) {
137
+ const rebuildAudit = materialized.rebuildAudit;
138
+ const rebuildChanges = rebuildAudit.changes ?? [];
139
+ const rebuildTargetIds = rebuildAudit.targetIds ?? [];
140
+ repairSummaries.push(rebuildAudit.summary ?? "Rebuilt current profile from snapshot.");
141
+ if (rebuildChanges.length > 0) {
142
+ repairFiles.push(...rebuildChanges.map((change) => change.path));
143
+ }
144
+ if (rebuildTargetIds.length > 0) {
145
+ repairTargetIds.push(...rebuildTargetIds);
146
+ }
147
+ }
148
+ }
149
+ const audit = await emitAuditRecord({
150
+ vaultRoot: absoluteRoot,
151
+ batch,
152
+ action: "vault_repair",
153
+ commandName: "core.repairVault",
154
+ summary: repairSummaries.join(" "),
155
+ occurredAt,
156
+ files: repairFiles,
157
+ targetIds: repairTargetIds,
158
+ });
159
+ return audit.relativePath;
160
+ },
161
+ });
162
+ return {
163
+ metadataFile: VAULT_LAYOUT.metadata,
164
+ title: metadata.title,
165
+ timezone: metadata.timezone,
166
+ createdDirectories,
167
+ updated: true,
168
+ auditPath,
169
+ };
170
+ }
171
+ async function ensureMissingRequiredDirectories(vaultRoot) {
172
+ const createdDirectories = [];
173
+ for (const relativeDirectory of REQUIRED_DIRECTORIES) {
174
+ const directoryPath = resolveVaultPath(vaultRoot, relativeDirectory);
175
+ if (await pathExists(directoryPath.absolutePath)) {
176
+ continue;
177
+ }
178
+ await ensureVaultDirectory(vaultRoot, relativeDirectory);
179
+ createdDirectories.push(relativeDirectory);
180
+ }
181
+ return createdDirectories;
182
+ }
183
+ async function validateFrontmatterFile({ vaultRoot, relativePath, schema, code, }) {
184
+ try {
185
+ const content = await readUtf8File(vaultRoot, relativePath);
186
+ const parsed = parseFrontmatterDocument(content);
187
+ const result = safeParseContract(schema, parsed.attributes);
188
+ if (!result.success) {
189
+ return [validationIssue(code, result.errors.join("; "), relativePath)];
190
+ }
191
+ }
192
+ catch (error) {
193
+ return [
194
+ validationIssue(error instanceof VaultError && error.code === "VAULT_FILE_MISSING" ? error.code : code, error instanceof Error ? error.message : String(error), relativePath),
195
+ ];
196
+ }
197
+ return [];
198
+ }
199
+ async function validateFrontmatterDirectory({ vaultRoot, relativeDirectory, schema, code, }) {
200
+ const relativePaths = await walkVaultFiles(vaultRoot, relativeDirectory, {
201
+ extension: ".md",
202
+ });
203
+ const issues = [];
204
+ for (const relativePath of relativePaths) {
205
+ issues.push(...(await validateFrontmatterFile({
206
+ vaultRoot,
207
+ relativePath,
208
+ schema,
209
+ code,
210
+ })));
211
+ }
212
+ return issues;
213
+ }
214
+ async function validateJsonlFamily({ vaultRoot, relativeDirectory, schema, code, postValidateRecord, }) {
215
+ const jsonlFiles = await walkVaultFiles(vaultRoot, relativeDirectory, {
216
+ extension: ".jsonl",
217
+ });
218
+ const issues = [];
219
+ for (const relativePath of jsonlFiles) {
220
+ let records;
221
+ try {
222
+ records = await readJsonlRecords({
223
+ vaultRoot,
224
+ relativePath,
225
+ });
226
+ }
227
+ catch (error) {
228
+ issues.push(validationIssue(error instanceof VaultError ? error.code : code, error instanceof Error ? error.message : String(error), relativePath));
229
+ continue;
230
+ }
231
+ for (const [index, record] of records.entries()) {
232
+ const result = safeParseContract(schema, record);
233
+ if (!result.success) {
234
+ issues.push(validationIssue(code, `record ${index + 1}: ${result.errors.join("; ")}`, relativePath));
235
+ continue;
236
+ }
237
+ if (postValidateRecord) {
238
+ issues.push(...(await postValidateRecord(result.data, {
239
+ relativePath,
240
+ index,
241
+ })));
242
+ }
243
+ }
244
+ }
245
+ return issues;
246
+ }
247
+ function rawManifestPathForArtifact(relativePath) {
248
+ return path.posix.join(path.posix.dirname(relativePath), "manifest.json");
249
+ }
250
+ function isEnvelopeBasedInboxRawPath(relativePath) {
251
+ return relativePath.startsWith(`${VAULT_LAYOUT.rawDirectory}/inbox/`);
252
+ }
253
+ function inboxCaptureRootForRawPath(relativePath) {
254
+ if (!isEnvelopeBasedInboxRawPath(relativePath)) {
255
+ return null;
256
+ }
257
+ if (path.posix.basename(relativePath) === "envelope.json") {
258
+ return path.posix.dirname(relativePath);
259
+ }
260
+ const attachmentsMarker = "/attachments/";
261
+ const attachmentIndex = relativePath.indexOf(attachmentsMarker);
262
+ if (attachmentIndex !== -1) {
263
+ return relativePath.slice(0, attachmentIndex);
264
+ }
265
+ return null;
266
+ }
267
+ function inboxAttachmentManifestPathForCaptureDirectory(captureDirectory) {
268
+ return path.posix.join(captureDirectory, "attachments", "manifest.json");
269
+ }
270
+ async function validateExistingVaultFile(vaultRoot, relativePath, code, message) {
271
+ try {
272
+ const resolved = resolveVaultPath(vaultRoot, relativePath);
273
+ if (!(await pathExists(resolved.absolutePath))) {
274
+ return [validationIssue(code, message, relativePath)];
275
+ }
276
+ }
277
+ catch (error) {
278
+ return [
279
+ validationIssue(error instanceof VaultError ? error.code : code, error instanceof Error ? error.message : String(error), relativePath),
280
+ ];
281
+ }
282
+ return [];
283
+ }
284
+ async function validateAssessmentRecordReferences(vaultRoot, record) {
285
+ const issues = await validateExistingVaultFile(vaultRoot, record.rawPath, "RAW_REFERENCE_MISSING", `Assessment raw payload "${record.rawPath}" is missing.`);
286
+ issues.push(...(await validateExistingVaultFile(vaultRoot, rawManifestPathForArtifact(record.rawPath), "RAW_MANIFEST_INVALID", `Raw import manifest is missing for "${record.rawPath}".`)));
287
+ return issues;
288
+ }
289
+ async function validateEventRecordReferences(vaultRoot, record) {
290
+ const referencedPaths = new Set();
291
+ if (Array.isArray(record.rawRefs)) {
292
+ for (const rawRef of record.rawRefs) {
293
+ if (typeof rawRef === "string") {
294
+ referencedPaths.add(rawRef);
295
+ }
296
+ }
297
+ }
298
+ if (typeof record.documentPath === "string") {
299
+ referencedPaths.add(record.documentPath);
300
+ }
301
+ if (Array.isArray(record.photoPaths)) {
302
+ for (const photoPath of record.photoPaths) {
303
+ if (typeof photoPath === "string") {
304
+ referencedPaths.add(photoPath);
305
+ }
306
+ }
307
+ }
308
+ if (Array.isArray(record.audioPaths)) {
309
+ for (const audioPath of record.audioPaths) {
310
+ if (typeof audioPath === "string") {
311
+ referencedPaths.add(audioPath);
312
+ }
313
+ }
314
+ }
315
+ const mediaLists = [
316
+ Array.isArray(record.media)
317
+ ? (record.media)
318
+ : [],
319
+ Array.isArray(record.workout?.media)
320
+ ? ((record.workout.media))
321
+ : [],
322
+ ];
323
+ for (const mediaList of mediaLists) {
324
+ for (const media of mediaList) {
325
+ if (media &&
326
+ typeof media === "object" &&
327
+ typeof media.relativePath === "string") {
328
+ referencedPaths.add(media.relativePath);
329
+ }
330
+ }
331
+ }
332
+ const issues = [];
333
+ const manifestPaths = new Set();
334
+ for (const referencedPath of [...referencedPaths].sort()) {
335
+ issues.push(...(await validateExistingVaultFile(vaultRoot, referencedPath, "RAW_REFERENCE_MISSING", `Referenced raw artifact "${referencedPath}" is missing.`)));
336
+ if (referencedPath.startsWith(`${VAULT_LAYOUT.rawDirectory}/`) &&
337
+ !isEnvelopeBasedInboxRawPath(referencedPath)) {
338
+ manifestPaths.add(rawManifestPathForArtifact(referencedPath));
339
+ }
340
+ }
341
+ for (const manifestPath of [...manifestPaths].sort()) {
342
+ issues.push(...(await validateExistingVaultFile(vaultRoot, manifestPath, "RAW_MANIFEST_INVALID", `Raw import manifest is missing for "${manifestPath}".`)));
343
+ }
344
+ return issues;
345
+ }
346
+ async function validateRawManifestFile(vaultRoot, relativePath) {
347
+ let manifest;
348
+ try {
349
+ manifest = await readJsonFile(vaultRoot, relativePath);
350
+ }
351
+ catch (error) {
352
+ return [
353
+ validationIssue(error instanceof VaultError ? error.code : "RAW_MANIFEST_INVALID", error instanceof Error ? error.message : String(error), relativePath),
354
+ ];
355
+ }
356
+ if (!isPlainRecord(manifest)) {
357
+ return [validationIssue("RAW_MANIFEST_INVALID", "Raw import manifest must be a JSON object.", relativePath)];
358
+ }
359
+ const issues = [];
360
+ const expectedRawDirectory = path.posix.dirname(relativePath);
361
+ const contractResult = safeParseContract(rawImportManifestSchema, manifest);
362
+ if (!contractResult.success) {
363
+ issues.push(...contractResult.errors.map((error) => validationIssue("RAW_MANIFEST_INVALID", `Raw import manifest ${error}.`, relativePath)));
364
+ }
365
+ if (typeof manifest.schemaVersion !== "string" || manifest.schemaVersion.trim().length === 0) {
366
+ issues.push(validationIssue("RAW_MANIFEST_INVALID", "Raw import manifest is missing schemaVersion.", relativePath));
367
+ }
368
+ if (manifest.rawDirectory !== expectedRawDirectory) {
369
+ issues.push(validationIssue("RAW_MANIFEST_INVALID", `Raw import manifest rawDirectory must equal "${expectedRawDirectory}".`, relativePath));
370
+ }
371
+ if (!Array.isArray(manifest.artifacts)) {
372
+ issues.push(validationIssue("RAW_MANIFEST_INVALID", "Raw import manifest must provide an artifacts array.", relativePath));
373
+ return issues;
374
+ }
375
+ for (const [index, artifact] of manifest.artifacts.entries()) {
376
+ if (!isPlainRecord(artifact) || typeof artifact.relativePath !== "string") {
377
+ issues.push(validationIssue("RAW_MANIFEST_INVALID", `artifact ${index + 1} is missing a valid relativePath.`, relativePath));
378
+ continue;
379
+ }
380
+ if (path.posix.dirname(artifact.relativePath) !== expectedRawDirectory) {
381
+ issues.push(validationIssue("RAW_MANIFEST_INVALID", `artifact ${index + 1} must remain inside "${expectedRawDirectory}".`, relativePath));
382
+ }
383
+ issues.push(...(await validateExistingVaultFile(vaultRoot, artifact.relativePath, "RAW_REFERENCE_MISSING", `Manifest artifact "${artifact.relativePath}" is missing.`)));
384
+ }
385
+ return issues;
386
+ }
387
+ async function validateRawImportManifests(vaultRoot) {
388
+ const rawFiles = await walkVaultFiles(vaultRoot, VAULT_LAYOUT.rawDirectory);
389
+ const artifactDirectories = new Set();
390
+ const inboxCaptureDirectories = new Set();
391
+ const inboxAttachmentManifestFiles = new Set();
392
+ const manifestFiles = [];
393
+ for (const relativePath of rawFiles) {
394
+ const inboxCaptureDirectory = inboxCaptureRootForRawPath(relativePath);
395
+ if (inboxCaptureDirectory !== null) {
396
+ inboxCaptureDirectories.add(inboxCaptureDirectory);
397
+ }
398
+ if (path.posix.basename(relativePath) === "manifest.json") {
399
+ if (isEnvelopeBasedInboxRawPath(relativePath)) {
400
+ if (relativePath === inboxAttachmentManifestPathForCaptureDirectory(path.posix.dirname(path.posix.dirname(relativePath)))) {
401
+ inboxAttachmentManifestFiles.add(relativePath);
402
+ }
403
+ continue;
404
+ }
405
+ manifestFiles.push(relativePath);
406
+ continue;
407
+ }
408
+ const directory = path.posix.dirname(relativePath);
409
+ if (isEnvelopeBasedInboxRawPath(directory)) {
410
+ continue;
411
+ }
412
+ artifactDirectories.add(directory);
413
+ }
414
+ const issues = [];
415
+ for (const captureDirectory of [...inboxCaptureDirectories].sort()) {
416
+ const envelopePath = path.posix.join(captureDirectory, "envelope.json");
417
+ const attachmentManifestPath = inboxAttachmentManifestPathForCaptureDirectory(captureDirectory);
418
+ const hasEnvelope = await pathExists(resolveVaultPath(vaultRoot, envelopePath).absolutePath);
419
+ const hasAttachmentManifest = await pathExists(resolveVaultPath(vaultRoot, attachmentManifestPath).absolutePath);
420
+ if (!hasEnvelope && !hasAttachmentManifest) {
421
+ issues.push(validationIssue("RAW_REFERENCE_MISSING", `Inbox capture directory "${captureDirectory}" is missing envelope.json and has no attachment recovery manifest.`, envelopePath));
422
+ }
423
+ }
424
+ for (const directory of [...artifactDirectories].sort()) {
425
+ const manifestPath = path.posix.join(directory, "manifest.json");
426
+ if (!(await pathExists(resolveVaultPath(vaultRoot, manifestPath).absolutePath))) {
427
+ issues.push(validationIssue("RAW_MANIFEST_INVALID", `Raw import directory "${directory}" is missing manifest.json.`, manifestPath));
428
+ }
429
+ }
430
+ for (const manifestPath of manifestFiles.sort()) {
431
+ issues.push(...(await validateRawManifestFile(vaultRoot, manifestPath)));
432
+ }
433
+ for (const manifestPath of [...inboxAttachmentManifestFiles].sort()) {
434
+ issues.push(...(await validateRawManifestFile(vaultRoot, manifestPath)));
435
+ }
436
+ return issues;
437
+ }
438
+ async function validateCurrentProfileConsistency(vaultRoot) {
439
+ let snapshots;
440
+ try {
441
+ snapshots = await listProfileSnapshots({ vaultRoot });
442
+ }
443
+ catch {
444
+ return [];
445
+ }
446
+ const latestSnapshot = snapshots.at(-1) ?? null;
447
+ const currentProfilePath = resolveVaultPath(vaultRoot, VAULT_LAYOUT.profileCurrentDocument);
448
+ const exists = await pathExists(currentProfilePath.absolutePath);
449
+ if (!latestSnapshot) {
450
+ return exists
451
+ ? [
452
+ validationIssue("PROFILE_CURRENT_STALE", "Current profile exists even though no profile snapshots are present.", VAULT_LAYOUT.profileCurrentDocument),
453
+ ]
454
+ : [];
455
+ }
456
+ if (!exists) {
457
+ return [
458
+ validationIssue("PROFILE_CURRENT_STALE", "Current profile is missing for the latest profile snapshot.", VAULT_LAYOUT.profileCurrentDocument),
459
+ ];
460
+ }
461
+ try {
462
+ const currentMarkdown = await readUtf8File(vaultRoot, VAULT_LAYOUT.profileCurrentDocument);
463
+ const expectedMarkdown = buildCurrentProfileMarkdown(latestSnapshot);
464
+ if (currentMarkdown !== expectedMarkdown) {
465
+ return [
466
+ validationIssue("PROFILE_CURRENT_STALE", "Current profile markdown does not match the latest profile snapshot.", VAULT_LAYOUT.profileCurrentDocument),
467
+ ];
468
+ }
469
+ }
470
+ catch (error) {
471
+ return [
472
+ validationIssue(error instanceof VaultError ? error.code : "PROFILE_CURRENT_STALE", error instanceof Error ? error.message : String(error), VAULT_LAYOUT.profileCurrentDocument),
473
+ ];
474
+ }
475
+ return [];
476
+ }
477
+ async function validateWriteOperations(vaultRoot) {
478
+ const operationPaths = await listWriteOperationMetadataPaths(vaultRoot);
479
+ const issues = [];
480
+ for (const relativePath of operationPaths.sort()) {
481
+ try {
482
+ const operation = await readStoredWriteOperation(vaultRoot, relativePath);
483
+ if (isTerminalWriteOperationStatus(operation.status)) {
484
+ continue;
485
+ }
486
+ const errorSuffix = operation.error?.message ? ` Last error: ${operation.error.message}` : "";
487
+ issues.push(validationIssue("OPERATION_UNRESOLVED", `Write operation "${operation.operationId}" is ${operation.status}.${errorSuffix}`, relativePath));
488
+ }
489
+ catch (error) {
490
+ issues.push(validationIssue(error instanceof VaultError ? error.code : "OPERATION_INVALID", error instanceof Error ? error.message : String(error), relativePath));
491
+ }
492
+ }
493
+ return issues;
494
+ }
495
+ export async function validateVault({ vaultRoot } = {}) {
496
+ const absoluteRoot = normalizeVaultRoot(vaultRoot);
497
+ const issues = [];
498
+ let metadata = null;
499
+ try {
500
+ const loadedVault = await loadVaultMetadata(absoluteRoot, "VAULT_INVALID_METADATA", "Vault metadata failed contract validation.");
501
+ metadata = loadedVault.metadata;
502
+ }
503
+ catch (error) {
504
+ issues.push(validationIssue(error instanceof VaultError ? error.code : "VAULT_LOAD_FAILED", error instanceof Error ? error.message : String(error), VAULT_LAYOUT.metadata));
505
+ return {
506
+ valid: false,
507
+ issues,
508
+ metadata,
509
+ };
510
+ }
511
+ for (const relativeDirectory of REQUIRED_DIRECTORIES) {
512
+ const directoryPath = resolveVaultPath(absoluteRoot, relativeDirectory);
513
+ if (!(await pathExists(directoryPath.absolutePath))) {
514
+ issues.push(validationIssue("VAULT_MISSING_DIRECTORY", `Missing required directory "${relativeDirectory}".`, relativeDirectory));
515
+ }
516
+ }
517
+ issues.push(...(await validateFrontmatterFile({
518
+ vaultRoot: absoluteRoot,
519
+ relativePath: VAULT_LAYOUT.coreDocument,
520
+ schema: coreFrontmatterSchema,
521
+ code: "FRONTMATTER_INVALID",
522
+ })));
523
+ const experimentFiles = await walkVaultFiles(absoluteRoot, VAULT_LAYOUT.experimentsDirectory, {
524
+ extension: ".md",
525
+ });
526
+ for (const relativePath of experimentFiles) {
527
+ issues.push(...(await validateFrontmatterFile({
528
+ vaultRoot: absoluteRoot,
529
+ relativePath,
530
+ schema: experimentFrontmatterSchema,
531
+ code: "FRONTMATTER_INVALID",
532
+ })));
533
+ }
534
+ const journalFiles = await walkVaultFiles(absoluteRoot, VAULT_LAYOUT.journalDirectory, {
535
+ extension: ".md",
536
+ });
537
+ for (const relativePath of journalFiles) {
538
+ issues.push(...(await validateFrontmatterFile({
539
+ vaultRoot: absoluteRoot,
540
+ relativePath,
541
+ schema: journalDayFrontmatterSchema,
542
+ code: "FRONTMATTER_INVALID",
543
+ })));
544
+ }
545
+ issues.push(...(await validateFrontmatterDirectory({
546
+ vaultRoot: absoluteRoot,
547
+ relativeDirectory: VAULT_LAYOUT.goalsDirectory,
548
+ schema: goalFrontmatterSchema,
549
+ code: "FRONTMATTER_INVALID",
550
+ })));
551
+ issues.push(...(await validateFrontmatterDirectory({
552
+ vaultRoot: absoluteRoot,
553
+ relativeDirectory: VAULT_LAYOUT.conditionsDirectory,
554
+ schema: conditionFrontmatterSchema,
555
+ code: "FRONTMATTER_INVALID",
556
+ })));
557
+ issues.push(...(await validateFrontmatterDirectory({
558
+ vaultRoot: absoluteRoot,
559
+ relativeDirectory: VAULT_LAYOUT.allergiesDirectory,
560
+ schema: allergyFrontmatterSchema,
561
+ code: "FRONTMATTER_INVALID",
562
+ })));
563
+ issues.push(...(await validateFrontmatterDirectory({
564
+ vaultRoot: absoluteRoot,
565
+ relativeDirectory: VAULT_LAYOUT.protocolsDirectory,
566
+ schema: protocolFrontmatterSchema,
567
+ code: "FRONTMATTER_INVALID",
568
+ })));
569
+ issues.push(...(await validateFrontmatterDirectory({
570
+ vaultRoot: absoluteRoot,
571
+ relativeDirectory: VAULT_LAYOUT.foodsDirectory,
572
+ schema: foodFrontmatterSchema,
573
+ code: "FRONTMATTER_INVALID",
574
+ })));
575
+ issues.push(...(await validateFrontmatterDirectory({
576
+ vaultRoot: absoluteRoot,
577
+ relativeDirectory: VAULT_LAYOUT.recipesDirectory,
578
+ schema: recipeFrontmatterSchema,
579
+ code: "FRONTMATTER_INVALID",
580
+ })));
581
+ issues.push(...(await validateFrontmatterDirectory({
582
+ vaultRoot: absoluteRoot,
583
+ relativeDirectory: VAULT_LAYOUT.workoutFormatsDirectory,
584
+ schema: workoutFormatFrontmatterSchema,
585
+ code: "FRONTMATTER_INVALID",
586
+ })));
587
+ issues.push(...(await validateFrontmatterDirectory({
588
+ vaultRoot: absoluteRoot,
589
+ relativeDirectory: VAULT_LAYOUT.familyDirectory,
590
+ schema: familyMemberFrontmatterSchema,
591
+ code: "FRONTMATTER_INVALID",
592
+ })));
593
+ issues.push(...(await validateFrontmatterDirectory({
594
+ vaultRoot: absoluteRoot,
595
+ relativeDirectory: VAULT_LAYOUT.geneticsDirectory,
596
+ schema: geneticVariantFrontmatterSchema,
597
+ code: "FRONTMATTER_INVALID",
598
+ })));
599
+ const currentProfilePath = resolveVaultPath(absoluteRoot, VAULT_LAYOUT.profileCurrentDocument);
600
+ if (await pathExists(currentProfilePath.absolutePath)) {
601
+ issues.push(...(await validateFrontmatterFile({
602
+ vaultRoot: absoluteRoot,
603
+ relativePath: VAULT_LAYOUT.profileCurrentDocument,
604
+ schema: profileCurrentFrontmatterSchema,
605
+ code: "FRONTMATTER_INVALID",
606
+ })));
607
+ }
608
+ issues.push(...(await validateJsonlFamily({
609
+ vaultRoot: absoluteRoot,
610
+ relativeDirectory: VAULT_LAYOUT.assessmentLedgerDirectory,
611
+ schema: assessmentResponseSchema,
612
+ code: "CONTRACT_INVALID",
613
+ postValidateRecord: async (record) => validateAssessmentRecordReferences(absoluteRoot, record),
614
+ })));
615
+ issues.push(...(await validateJsonlFamily({
616
+ vaultRoot: absoluteRoot,
617
+ relativeDirectory: VAULT_LAYOUT.eventLedgerDirectory,
618
+ schema: eventRecordSchema,
619
+ code: "EVENT_INVALID",
620
+ postValidateRecord: async (record) => validateEventRecordReferences(absoluteRoot, record),
621
+ })));
622
+ issues.push(...(await validateJsonlFamily({
623
+ vaultRoot: absoluteRoot,
624
+ relativeDirectory: VAULT_LAYOUT.profileSnapshotsDirectory,
625
+ schema: profileSnapshotSchema,
626
+ code: "CONTRACT_INVALID",
627
+ })));
628
+ issues.push(...(await validateJsonlFamily({
629
+ vaultRoot: absoluteRoot,
630
+ relativeDirectory: VAULT_LAYOUT.sampleLedgerDirectory,
631
+ schema: sampleRecordSchema,
632
+ code: "SAMPLE_INVALID",
633
+ })));
634
+ issues.push(...(await validateJsonlFamily({
635
+ vaultRoot: absoluteRoot,
636
+ relativeDirectory: VAULT_LAYOUT.auditDirectory,
637
+ schema: auditRecordSchema,
638
+ code: "AUDIT_INVALID",
639
+ })));
640
+ issues.push(...(await validateRawImportManifests(absoluteRoot)));
641
+ issues.push(...(await validateCurrentProfileConsistency(absoluteRoot)));
642
+ issues.push(...(await validateWriteOperations(absoluteRoot)));
643
+ return {
644
+ valid: issues.every((issue) => issue.severity !== "error"),
645
+ issues,
646
+ metadata,
647
+ };
648
+ }
649
+ //# sourceMappingURL=vault.js.map