@murphai/murph 0.2.6 → 0.2.10

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 (759) hide show
  1. package/CHANGELOG.md +185 -0
  2. package/README.md +1 -1
  3. package/config.schema.json +40 -15
  4. package/dist/cli-entry.d.ts.map +1 -1
  5. package/dist/cli-entry.js +7 -5
  6. package/dist/cli-entry.js.map +1 -1
  7. package/dist/commands/automation.d.ts +4 -8
  8. package/dist/commands/automation.d.ts.map +1 -1
  9. package/dist/commands/automation.js +2 -2
  10. package/dist/commands/automation.js.map +1 -1
  11. package/dist/commands/document.d.ts.map +1 -1
  12. package/dist/commands/document.js +1 -1
  13. package/dist/commands/document.js.map +1 -1
  14. package/dist/commands/export-intake-read-helpers.d.ts +1 -1
  15. package/dist/commands/intervention.d.ts.map +1 -1
  16. package/dist/commands/intervention.js +1 -1
  17. package/dist/commands/intervention.js.map +1 -1
  18. package/dist/commands/knowledge.js +1 -1
  19. package/dist/commands/knowledge.js.map +1 -1
  20. package/dist/commands/meal.d.ts +1 -1
  21. package/dist/commands/meal.d.ts.map +1 -1
  22. package/dist/commands/meal.js +53 -3
  23. package/dist/commands/meal.js.map +1 -1
  24. package/dist/commands/model.d.ts.map +1 -1
  25. package/dist/commands/model.js +5 -5
  26. package/dist/commands/model.js.map +1 -1
  27. package/dist/commands/route.d.ts.map +1 -1
  28. package/dist/commands/route.js +8 -8
  29. package/dist/commands/route.js.map +1 -1
  30. package/dist/commands/search.d.ts.map +1 -1
  31. package/dist/commands/search.js +2 -1
  32. package/dist/commands/search.js.map +1 -1
  33. package/dist/commands/workout.d.ts.map +1 -1
  34. package/dist/commands/workout.js +1 -1
  35. package/dist/commands/workout.js.map +1 -1
  36. package/dist/incur.generated.d.ts +9 -2
  37. package/dist/incur.generated.d.ts.map +1 -1
  38. package/dist/index.d.ts +0 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +0 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/mapbox-route-client.d.ts +17 -0
  43. package/dist/mapbox-route-client.d.ts.map +1 -0
  44. package/dist/mapbox-route-client.js +51 -0
  45. package/dist/mapbox-route-client.js.map +1 -0
  46. package/dist/mapbox-route-contracts.d.ts +277 -0
  47. package/dist/mapbox-route-contracts.d.ts.map +1 -0
  48. package/dist/mapbox-route-contracts.js +145 -0
  49. package/dist/mapbox-route-contracts.js.map +1 -0
  50. package/dist/mapbox-route-directions.d.ts +11 -0
  51. package/dist/mapbox-route-directions.d.ts.map +1 -0
  52. package/dist/mapbox-route-directions.js +55 -0
  53. package/dist/mapbox-route-directions.js.map +1 -0
  54. package/dist/mapbox-route-elevation.d.ts +10 -0
  55. package/dist/mapbox-route-elevation.d.ts.map +1 -0
  56. package/dist/mapbox-route-elevation.js +186 -0
  57. package/dist/mapbox-route-elevation.js.map +1 -0
  58. package/dist/mapbox-route-points.d.ts +14 -0
  59. package/dist/mapbox-route-points.d.ts.map +1 -0
  60. package/dist/mapbox-route-points.js +236 -0
  61. package/dist/mapbox-route-points.js.map +1 -0
  62. package/dist/mapbox-route.d.ts +13 -0
  63. package/dist/mapbox-route.d.ts.map +1 -0
  64. package/dist/mapbox-route.js +119 -0
  65. package/dist/mapbox-route.js.map +1 -0
  66. package/dist/vault-cli-bootstrap.d.ts +1 -1
  67. package/dist/vault-cli-bootstrap.d.ts.map +1 -1
  68. package/dist/vault-cli-bootstrap.js +2 -2
  69. package/dist/vault-cli-bootstrap.js.map +1 -1
  70. package/dist/vault-cli-command-manifest.d.ts +23 -13
  71. package/dist/vault-cli-command-manifest.d.ts.map +1 -1
  72. package/dist/vault-cli-command-manifest.js +8 -4
  73. package/dist/vault-cli-command-manifest.js.map +1 -1
  74. package/dist/vault-cli.d.ts +6 -0
  75. package/dist/vault-cli.d.ts.map +1 -1
  76. package/dist/vault-cli.js +20 -3
  77. package/dist/vault-cli.js.map +1 -1
  78. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +15 -3
  79. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
  80. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.d.ts.map +1 -1
  81. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js +1 -0
  82. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js.map +1 -1
  83. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.d.ts.map +1 -1
  84. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js +10 -15
  85. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
  86. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts +32 -0
  87. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts.map +1 -0
  88. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js +93 -0
  89. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js.map +1 -0
  90. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +1 -0
  91. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts.map +1 -1
  92. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js +1 -1
  93. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js.map +1 -1
  94. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
  95. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +6 -25
  96. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
  97. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts +0 -1
  98. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
  99. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +19 -23
  100. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
  101. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/runtime-lock.d.ts.map +1 -1
  102. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/runtime-lock.js +17 -11
  103. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/runtime-lock.js.map +1 -1
  104. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts +5 -2
  105. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts.map +1 -1
  106. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js +86 -48
  107. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js.map +1 -1
  108. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.d.ts.map +1 -1
  109. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js +1 -16
  110. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js.map +1 -1
  111. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts +2 -12
  112. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts.map +1 -1
  113. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js +23 -43
  114. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js.map +1 -1
  115. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.d.ts.map +1 -1
  116. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js +3 -2
  117. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js.map +1 -1
  118. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts +1 -1
  119. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts.map +1 -1
  120. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js +2 -3
  121. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js.map +1 -1
  122. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.d.ts +6 -0
  123. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.d.ts.map +1 -0
  124. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js +21 -0
  125. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js.map +1 -0
  126. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +0 -2
  127. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts.map +1 -1
  128. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js +0 -1
  129. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js.map +1 -1
  130. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
  131. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +67 -43
  132. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js.map +1 -1
  133. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
  134. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +20 -7
  135. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
  136. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +25 -0
  137. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -0
  138. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +201 -0
  139. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -0
  140. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +38 -0
  141. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts.map +1 -0
  142. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js +215 -0
  143. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -0
  144. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts.map +1 -1
  145. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js +77 -41
  146. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js.map +1 -1
  147. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
  148. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +4 -201
  149. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
  150. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts +1 -13
  151. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts.map +1 -1
  152. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js +6 -111
  153. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js.map +1 -1
  154. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts +1 -0
  155. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts.map +1 -1
  156. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js.map +1 -1
  157. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.d.ts.map +1 -1
  158. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js +18 -4
  159. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js.map +1 -1
  160. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts +0 -7
  161. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts.map +1 -1
  162. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js +13 -82
  163. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js.map +1 -1
  164. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts +9 -0
  165. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts.map +1 -1
  166. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js +84 -32
  167. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js.map +1 -1
  168. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
  169. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +1 -0
  170. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
  171. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.d.ts.map +1 -1
  172. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js +95 -32
  173. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js.map +1 -1
  174. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.d.ts.map +1 -1
  175. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js +6 -1
  176. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js.map +1 -1
  177. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +4 -0
  178. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
  179. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts +4 -8
  180. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts.map +1 -1
  181. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js +3 -37
  182. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js.map +1 -1
  183. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts +14 -0
  184. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts.map +1 -0
  185. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js +51 -0
  186. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js.map +1 -0
  187. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.js +1 -1
  188. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.js.map +1 -1
  189. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +2 -0
  190. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
  191. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts +1 -1
  192. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts.map +1 -1
  193. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +2 -0
  194. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js.map +1 -1
  195. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
  196. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +0 -4
  197. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
  198. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts +16 -1
  199. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts.map +1 -1
  200. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js +5 -0
  201. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js.map +1 -1
  202. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.d.ts.map +1 -1
  203. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js +7 -0
  204. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
  205. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -3
  206. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts.map +1 -1
  207. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js +1 -36
  208. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
  209. package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.d.ts +0 -1
  210. package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.d.ts.map +1 -1
  211. package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.js +3 -8
  212. package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.js.map +1 -1
  213. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.d.ts.map +1 -1
  214. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js +9 -15
  215. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js.map +1 -1
  216. package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.d.ts.map +1 -1
  217. package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.js +8 -9
  218. package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.js.map +1 -1
  219. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts +2 -0
  220. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts.map +1 -1
  221. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.js.map +1 -1
  222. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts +1 -1
  223. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js +1 -1
  224. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +2 -0
  225. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
  226. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +1 -1
  227. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +10 -0
  228. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
  229. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +44 -5
  230. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
  231. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts +7 -0
  232. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
  233. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +24 -18
  234. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
  235. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.d.ts +45 -0
  236. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.d.ts.map +1 -0
  237. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.js +112 -0
  238. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.js.map +1 -0
  239. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.d.ts +22 -0
  240. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.d.ts.map +1 -0
  241. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.js +136 -0
  242. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.js.map +1 -0
  243. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.d.ts +12 -0
  244. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.d.ts.map +1 -0
  245. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.js +248 -0
  246. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.js.map +1 -0
  247. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.d.ts +10 -0
  248. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.d.ts.map +1 -0
  249. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.js +280 -0
  250. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.js.map +1 -0
  251. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.d.ts +18 -0
  252. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.d.ts.map +1 -0
  253. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.js +221 -0
  254. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.js.map +1 -0
  255. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.d.ts +5 -58
  256. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.d.ts.map +1 -1
  257. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.js +11 -859
  258. package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.js.map +1 -1
  259. package/node_modules/@murphai/assistant-engine/dist/assistant/web-pdf-read.d.ts.map +1 -1
  260. package/node_modules/@murphai/assistant-engine/dist/assistant/web-pdf-read.js +5 -6
  261. package/node_modules/@murphai/assistant-engine/dist/assistant/web-pdf-read.js.map +1 -1
  262. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts +22 -28
  263. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts.map +1 -1
  264. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js +49 -24
  265. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js.map +1 -1
  266. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.d.ts +1 -0
  267. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.d.ts.map +1 -1
  268. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.js +14 -0
  269. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.js.map +1 -1
  270. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.d.ts +4 -0
  271. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.d.ts.map +1 -1
  272. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js +88 -20
  273. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js.map +1 -1
  274. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/policy-wrappers.d.ts.map +1 -1
  275. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/policy-wrappers.js +88 -3
  276. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/policy-wrappers.js.map +1 -1
  277. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.d.ts +1 -1
  278. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.d.ts.map +1 -1
  279. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.js +1 -1
  280. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.js.map +1 -1
  281. package/node_modules/@murphai/assistant-engine/dist/assistant-state.d.ts +1 -0
  282. package/node_modules/@murphai/assistant-engine/dist/assistant-state.d.ts.map +1 -1
  283. package/node_modules/@murphai/assistant-engine/dist/assistant-state.js +1 -0
  284. package/node_modules/@murphai/assistant-engine/dist/assistant-state.js.map +1 -1
  285. package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.d.ts +1 -4
  286. package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.d.ts.map +1 -1
  287. package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.js +1 -1
  288. package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.js.map +1 -1
  289. package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js +1 -1
  290. package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js.map +1 -1
  291. package/node_modules/@murphai/assistant-engine/dist/index.d.ts +0 -2
  292. package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
  293. package/node_modules/@murphai/assistant-engine/dist/index.js +0 -2
  294. package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
  295. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts +1 -2
  296. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts.map +1 -1
  297. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js +0 -1
  298. package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js.map +1 -1
  299. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.d.ts.map +1 -1
  300. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js +124 -104
  301. package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js.map +1 -1
  302. package/node_modules/@murphai/assistant-engine/dist/knowledge.d.ts +7 -3
  303. package/node_modules/@murphai/assistant-engine/dist/knowledge.d.ts.map +1 -1
  304. package/node_modules/@murphai/assistant-engine/dist/knowledge.js +7 -2
  305. package/node_modules/@murphai/assistant-engine/dist/knowledge.js.map +1 -1
  306. package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts +6 -0
  307. package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts.map +1 -1
  308. package/node_modules/@murphai/assistant-engine/dist/model-harness.js +64 -26
  309. package/node_modules/@murphai/assistant-engine/dist/model-harness.js.map +1 -1
  310. package/node_modules/@murphai/assistant-engine/package.json +2 -2
  311. package/node_modules/@murphai/assistantd/README.md +1 -1
  312. package/node_modules/@murphai/assistantd/dist/config.d.ts.map +1 -1
  313. package/node_modules/@murphai/assistantd/dist/config.js +5 -6
  314. package/node_modules/@murphai/assistantd/dist/config.js.map +1 -1
  315. package/node_modules/@murphai/assistantd/dist/http.d.ts +6 -1
  316. package/node_modules/@murphai/assistantd/dist/http.d.ts.map +1 -1
  317. package/node_modules/@murphai/assistantd/dist/http.js +28 -24
  318. package/node_modules/@murphai/assistantd/dist/http.js.map +1 -1
  319. package/node_modules/@murphai/assistantd/dist/service.d.ts.map +1 -1
  320. package/node_modules/@murphai/assistantd/dist/service.js +2 -1
  321. package/node_modules/@murphai/assistantd/dist/service.js.map +1 -1
  322. package/node_modules/@murphai/assistantd/package.json +1 -1
  323. package/node_modules/@murphai/core/dist/audit.d.ts.map +1 -1
  324. package/node_modules/@murphai/core/dist/audit.js +10 -4
  325. package/node_modules/@murphai/core/dist/audit.js.map +1 -1
  326. package/node_modules/@murphai/core/dist/automation.d.ts +1 -1
  327. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
  328. package/node_modules/@murphai/core/dist/automation.js +13 -16
  329. package/node_modules/@murphai/core/dist/automation.js.map +1 -1
  330. package/node_modules/@murphai/core/dist/bank/foods.d.ts.map +1 -1
  331. package/node_modules/@murphai/core/dist/bank/foods.js +29 -0
  332. package/node_modules/@murphai/core/dist/bank/foods.js.map +1 -1
  333. package/node_modules/@murphai/core/dist/bank/types.d.ts +3 -1
  334. package/node_modules/@murphai/core/dist/bank/types.d.ts.map +1 -1
  335. package/node_modules/@murphai/core/dist/bank/types.js.map +1 -1
  336. package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts.map +1 -1
  337. package/node_modules/@murphai/core/dist/domains/vault-summary.js +48 -38
  338. package/node_modules/@murphai/core/dist/domains/vault-summary.js.map +1 -1
  339. package/node_modules/@murphai/core/dist/index.d.ts +2 -2
  340. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
  341. package/node_modules/@murphai/core/dist/index.js +1 -1
  342. package/node_modules/@murphai/core/dist/index.js.map +1 -1
  343. package/node_modules/@murphai/core/dist/jsonl.d.ts +0 -5
  344. package/node_modules/@murphai/core/dist/jsonl.d.ts.map +1 -1
  345. package/node_modules/@murphai/core/dist/jsonl.js +1 -12
  346. package/node_modules/@murphai/core/dist/jsonl.js.map +1 -1
  347. package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -1
  348. package/node_modules/@murphai/core/dist/memory.js +83 -63
  349. package/node_modules/@murphai/core/dist/memory.js.map +1 -1
  350. package/node_modules/@murphai/core/dist/mutations.d.ts +3 -2
  351. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
  352. package/node_modules/@murphai/core/dist/mutations.js +6 -3
  353. package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
  354. package/node_modules/@murphai/core/dist/nutrition.d.ts +6 -0
  355. package/node_modules/@murphai/core/dist/nutrition.d.ts.map +1 -0
  356. package/node_modules/@murphai/core/dist/nutrition.js +69 -0
  357. package/node_modules/@murphai/core/dist/nutrition.js.map +1 -0
  358. package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.d.ts +38 -0
  359. package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.d.ts.map +1 -0
  360. package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.js +221 -0
  361. package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.js.map +1 -0
  362. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts +1 -0
  363. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts.map +1 -1
  364. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js +48 -2
  365. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -1
  366. package/node_modules/@murphai/core/dist/operations/index.d.ts +3 -1
  367. package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -1
  368. package/node_modules/@murphai/core/dist/operations/index.js +2 -1
  369. package/node_modules/@murphai/core/dist/operations/index.js.map +1 -1
  370. package/node_modules/@murphai/core/dist/operations/write-batch.js +2 -2
  371. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
  372. package/node_modules/@murphai/core/dist/preferences.d.ts.map +1 -1
  373. package/node_modules/@murphai/core/dist/preferences.js +71 -86
  374. package/node_modules/@murphai/core/dist/preferences.js.map +1 -1
  375. package/node_modules/@murphai/core/dist/public-mutations.d.ts +3 -3
  376. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
  377. package/node_modules/@murphai/core/dist/public-mutations.js +103 -65
  378. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
  379. package/node_modules/@murphai/core/dist/raw.d.ts +1 -1
  380. package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -1
  381. package/node_modules/@murphai/core/package.json +1 -1
  382. package/node_modules/@murphai/device-syncd/README.md +6 -2
  383. package/node_modules/@murphai/device-syncd/dist/bin.js +73 -15
  384. package/node_modules/@murphai/device-syncd/dist/bin.js.map +1 -1
  385. package/node_modules/@murphai/device-syncd/dist/callback-redirect.d.ts +11 -0
  386. package/node_modules/@murphai/device-syncd/dist/callback-redirect.d.ts.map +1 -0
  387. package/node_modules/@murphai/device-syncd/dist/callback-redirect.js +51 -0
  388. package/node_modules/@murphai/device-syncd/dist/callback-redirect.js.map +1 -0
  389. package/node_modules/@murphai/device-syncd/dist/client.d.ts +21 -0
  390. package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -1
  391. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
  392. package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
  393. package/node_modules/@murphai/device-syncd/dist/config.js +18 -9
  394. package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
  395. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +2 -26
  396. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -1
  397. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +5 -0
  398. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
  399. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +27 -6
  400. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
  401. package/node_modules/@murphai/device-syncd/dist/http.d.ts +1 -6
  402. package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -1
  403. package/node_modules/@murphai/device-syncd/dist/http.js +75 -78
  404. package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -1
  405. package/node_modules/@murphai/device-syncd/dist/index.d.ts +1 -0
  406. package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -1
  407. package/node_modules/@murphai/device-syncd/dist/index.js +1 -0
  408. package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -1
  409. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
  410. package/node_modules/@murphai/device-syncd/dist/providers/oura.js +1 -9
  411. package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
  412. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
  413. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +1 -12
  414. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
  415. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +3 -3
  416. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
  417. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +105 -60
  418. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
  419. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
  420. package/node_modules/@murphai/device-syncd/dist/service.js +5 -3
  421. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
  422. package/node_modules/@murphai/device-syncd/dist/shared.d.ts +1 -0
  423. package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -1
  424. package/node_modules/@murphai/device-syncd/dist/shared.js +3 -0
  425. package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -1
  426. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +31 -0
  427. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -0
  428. package/node_modules/@murphai/device-syncd/dist/store/jobs.js +207 -0
  429. package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -0
  430. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.d.ts +2 -2
  431. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.d.ts.map +1 -1
  432. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js +20 -4
  433. package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js.map +1 -1
  434. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +9 -0
  435. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -0
  436. package/node_modules/@murphai/device-syncd/dist/store/schema.js +116 -0
  437. package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -0
  438. package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.d.ts +10 -0
  439. package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.d.ts.map +1 -0
  440. package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js +90 -0
  441. package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js.map +1 -0
  442. package/node_modules/@murphai/device-syncd/dist/store.d.ts +4 -8
  443. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
  444. package/node_modules/@murphai/device-syncd/dist/store.js +31 -365
  445. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
  446. package/node_modules/@murphai/device-syncd/dist/types.d.ts +31 -28
  447. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
  448. package/node_modules/@murphai/device-syncd/dist/types.js +4 -1
  449. package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
  450. package/node_modules/@murphai/device-syncd/package.json +4 -0
  451. package/node_modules/@murphai/gateway-local/dist/store/schema.d.ts +1 -1
  452. package/node_modules/@murphai/gateway-local/dist/store/schema.js +1 -1
  453. package/node_modules/@murphai/gateway-local/package.json +1 -1
  454. package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts.map +1 -1
  455. package/node_modules/@murphai/importers/dist/device-providers/garmin.js +9 -4
  456. package/node_modules/@murphai/importers/dist/device-providers/garmin.js.map +1 -1
  457. package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts.map +1 -1
  458. package/node_modules/@murphai/importers/dist/device-providers/oura.js +10 -6
  459. package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -1
  460. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts +8 -1
  461. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -1
  462. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +94 -3
  463. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -1
  464. package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts.map +1 -1
  465. package/node_modules/@murphai/importers/dist/device-providers/whoop.js +9 -3
  466. package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -1
  467. package/node_modules/@murphai/importers/package.json +1 -1
  468. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.d.ts.map +1 -1
  469. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js +4 -4
  470. package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js.map +1 -1
  471. package/node_modules/@murphai/inbox-services/package.json +1 -1
  472. package/node_modules/@murphai/inboxd/README.md +2 -1
  473. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.d.ts.map +1 -1
  474. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js +2 -1
  475. package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js.map +1 -1
  476. package/node_modules/@murphai/inboxd/dist/index.d.ts +1 -1
  477. package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
  478. package/node_modules/@murphai/inboxd/dist/index.js +1 -1
  479. package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
  480. package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts +2 -26
  481. package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts.map +1 -1
  482. package/node_modules/@murphai/inboxd/dist/indexing/persist.js +269 -263
  483. package/node_modules/@murphai/inboxd/dist/indexing/persist.js.map +1 -1
  484. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js +1 -1
  485. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js.map +1 -1
  486. package/node_modules/@murphai/inboxd/package.json +1 -1
  487. package/node_modules/@murphai/messaging-ingress/README.md +6 -0
  488. package/node_modules/@murphai/messaging-ingress/dist/index.d.ts +0 -1
  489. package/node_modules/@murphai/messaging-ingress/dist/index.d.ts.map +1 -1
  490. package/node_modules/@murphai/messaging-ingress/dist/index.js +0 -1
  491. package/node_modules/@murphai/messaging-ingress/dist/index.js.map +1 -1
  492. package/node_modules/@murphai/messaging-ingress/dist/telegram-types.d.ts +116 -0
  493. package/node_modules/@murphai/messaging-ingress/dist/telegram-types.d.ts.map +1 -0
  494. package/node_modules/@murphai/messaging-ingress/dist/telegram-types.js +2 -0
  495. package/node_modules/@murphai/messaging-ingress/dist/telegram-types.js.map +1 -0
  496. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts +1 -1
  497. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts.map +1 -1
  498. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.d.ts +2 -116
  499. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.d.ts.map +1 -1
  500. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.js +21 -10
  501. package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.js.map +1 -1
  502. package/node_modules/@murphai/messaging-ingress/package.json +4 -4
  503. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +68 -0
  504. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
  505. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js +1 -0
  506. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js.map +1 -1
  507. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts +13 -1
  508. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts.map +1 -1
  509. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js +62 -14
  510. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
  511. package/node_modules/@murphai/operator-config/dist/assistant/redaction.d.ts +1 -0
  512. package/node_modules/@murphai/operator-config/dist/assistant/redaction.d.ts.map +1 -1
  513. package/node_modules/@murphai/operator-config/dist/assistant/redaction.js +8 -2
  514. package/node_modules/@murphai/operator-config/dist/assistant/redaction.js.map +1 -1
  515. package/node_modules/@murphai/operator-config/dist/assistant/shared.d.ts.map +1 -1
  516. package/node_modules/@murphai/operator-config/dist/assistant/shared.js +5 -13
  517. package/node_modules/@murphai/operator-config/dist/assistant/shared.js.map +1 -1
  518. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +45 -0
  519. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts.map +1 -0
  520. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js +203 -0
  521. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js.map +1 -0
  522. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts +26 -0
  523. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts.map +1 -1
  524. package/node_modules/@murphai/operator-config/dist/assistant-backend.js +6 -0
  525. package/node_modules/@murphai/operator-config/dist/assistant-backend.js.map +1 -1
  526. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +742 -42
  527. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
  528. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +86 -30
  529. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
  530. package/node_modules/@murphai/operator-config/dist/device-daemon/paths.d.ts.map +1 -1
  531. package/node_modules/@murphai/operator-config/dist/device-daemon/paths.js +43 -5
  532. package/node_modules/@murphai/operator-config/dist/device-daemon/paths.js.map +1 -1
  533. package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts +1 -22
  534. package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts.map +1 -1
  535. package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
  536. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts +2 -0
  537. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts.map +1 -1
  538. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js +50 -5
  539. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js.map +1 -1
  540. package/node_modules/@murphai/operator-config/dist/index.d.ts +0 -1
  541. package/node_modules/@murphai/operator-config/dist/index.d.ts.map +1 -1
  542. package/node_modules/@murphai/operator-config/dist/index.js +0 -1
  543. package/node_modules/@murphai/operator-config/dist/index.js.map +1 -1
  544. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +53 -1
  545. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
  546. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts +40 -2
  547. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
  548. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js +2 -1
  549. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js.map +1 -1
  550. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +53 -33
  551. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
  552. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +26 -42
  553. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
  554. package/node_modules/@murphai/operator-config/package.json +12 -7
  555. package/node_modules/@murphai/parsers/dist/shared.d.ts +1 -0
  556. package/node_modules/@murphai/parsers/dist/shared.d.ts.map +1 -1
  557. package/node_modules/@murphai/parsers/dist/shared.js +44 -3
  558. package/node_modules/@murphai/parsers/dist/shared.js.map +1 -1
  559. package/node_modules/@murphai/query/README.md +2 -0
  560. package/node_modules/@murphai/query/dist/automation.d.ts +1 -1
  561. package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
  562. package/node_modules/@murphai/query/dist/automation.js +7 -8
  563. package/node_modules/@murphai/query/dist/automation.js.map +1 -1
  564. package/node_modules/@murphai/query/dist/entity-families.d.ts +2 -0
  565. package/node_modules/@murphai/query/dist/entity-families.d.ts.map +1 -0
  566. package/node_modules/@murphai/query/dist/entity-families.js +20 -0
  567. package/node_modules/@murphai/query/dist/entity-families.js.map +1 -0
  568. package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.d.ts +1 -3
  569. package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.d.ts.map +1 -1
  570. package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.js +1 -4
  571. package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.js.map +1 -1
  572. package/node_modules/@murphai/query/dist/health/registries.d.ts +6 -1
  573. package/node_modules/@murphai/query/dist/health/registries.d.ts.map +1 -1
  574. package/node_modules/@murphai/query/dist/health/registries.js.map +1 -1
  575. package/node_modules/@murphai/query/dist/index.d.ts +5 -2
  576. package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
  577. package/node_modules/@murphai/query/dist/index.js +4 -2
  578. package/node_modules/@murphai/query/dist/index.js.map +1 -1
  579. package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts +1 -1
  580. package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts.map +1 -1
  581. package/node_modules/@murphai/query/dist/knowledge-graph.d.ts +0 -29
  582. package/node_modules/@murphai/query/dist/knowledge-graph.d.ts.map +1 -1
  583. package/node_modules/@murphai/query/dist/knowledge-graph.js +1 -7
  584. package/node_modules/@murphai/query/dist/knowledge-graph.js.map +1 -1
  585. package/node_modules/@murphai/query/dist/knowledge-search.d.ts +29 -1
  586. package/node_modules/@murphai/query/dist/knowledge-search.d.ts.map +1 -1
  587. package/node_modules/@murphai/query/dist/knowledge-search.js +5 -0
  588. package/node_modules/@murphai/query/dist/knowledge-search.js.map +1 -1
  589. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts +31 -0
  590. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -0
  591. package/node_modules/@murphai/query/dist/meal-nutrition.js +127 -0
  592. package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -0
  593. package/node_modules/@murphai/query/dist/model.d.ts +0 -1
  594. package/node_modules/@murphai/query/dist/model.d.ts.map +1 -1
  595. package/node_modules/@murphai/query/dist/model.js +1 -19
  596. package/node_modules/@murphai/query/dist/model.js.map +1 -1
  597. package/node_modules/@murphai/query/package.json +6 -1
  598. package/node_modules/@murphai/runtime-state/README.md +2 -1
  599. package/node_modules/@murphai/runtime-state/dist/assistant-ids.d.ts +3 -0
  600. package/node_modules/@murphai/runtime-state/dist/assistant-ids.d.ts.map +1 -0
  601. package/node_modules/@murphai/runtime-state/dist/assistant-ids.js +14 -0
  602. package/node_modules/@murphai/runtime-state/dist/assistant-ids.js.map +1 -0
  603. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +0 -4
  604. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -1
  605. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +0 -4
  606. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -1
  607. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts +1 -1
  608. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +1 -1
  609. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts +1 -1
  610. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js +1 -1
  611. package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts.map +1 -1
  612. package/node_modules/@murphai/runtime-state/dist/local-state-files.js +20 -8
  613. package/node_modules/@murphai/runtime-state/dist/local-state-files.js.map +1 -1
  614. package/node_modules/@murphai/runtime-state/dist/locks.d.ts.map +1 -1
  615. package/node_modules/@murphai/runtime-state/dist/locks.js +234 -87
  616. package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -1
  617. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts +19 -0
  618. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts.map +1 -1
  619. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js +106 -9
  620. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js.map +1 -1
  621. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +1 -0
  622. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -1
  623. package/node_modules/@murphai/runtime-state/dist/node/index.js +1 -0
  624. package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -1
  625. package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.d.ts +3 -0
  626. package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.d.ts.map +1 -0
  627. package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.js +20 -0
  628. package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.js.map +1 -0
  629. package/node_modules/@murphai/runtime-state/package.json +4 -0
  630. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.d.ts.map +1 -1
  631. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js +2 -0
  632. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
  633. package/node_modules/@murphai/setup-cli/dist/setup-assistant.d.ts.map +1 -1
  634. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js +34 -14
  635. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js.map +1 -1
  636. package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts.map +1 -1
  637. package/node_modules/@murphai/setup-cli/dist/setup-cli.js +8 -17
  638. package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
  639. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.d.ts.map +1 -1
  640. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js +30 -97
  641. package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js.map +1 -1
  642. package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.d.ts +27 -0
  643. package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.d.ts.map +1 -0
  644. package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.js +92 -0
  645. package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.js.map +1 -0
  646. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.d.ts +29 -0
  647. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.d.ts.map +1 -0
  648. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.js +306 -0
  649. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.js.map +1 -0
  650. package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
  651. package/node_modules/@murphai/setup-cli/dist/setup-services.js +27 -406
  652. package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
  653. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts +11 -1
  654. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts.map +1 -1
  655. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js +18 -3
  656. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js.map +1 -1
  657. package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts +5 -5
  658. package/node_modules/@murphai/vault-usecases/dist/health-cli-method-types.d.ts +2 -2
  659. package/node_modules/@murphai/vault-usecases/dist/health-cli-method-types.d.ts.map +1 -1
  660. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts +10 -3
  661. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts.map +1 -1
  662. package/node_modules/@murphai/vault-usecases/dist/query-runtime.js +1 -2
  663. package/node_modules/@murphai/vault-usecases/dist/query-runtime.js.map +1 -1
  664. package/node_modules/@murphai/vault-usecases/dist/runtime.d.ts +1 -1
  665. package/node_modules/@murphai/vault-usecases/dist/runtime.d.ts.map +1 -1
  666. package/node_modules/@murphai/vault-usecases/dist/runtime.js +1 -1
  667. package/node_modules/@murphai/vault-usecases/dist/runtime.js.map +1 -1
  668. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts +5 -5
  669. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
  670. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +5 -2
  671. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
  672. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +2 -36
  673. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
  674. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +15 -3
  675. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
  676. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
  677. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js +86 -5
  678. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js.map +1 -1
  679. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts +50 -26
  680. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
  681. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +23 -7
  682. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
  683. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
  684. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +21 -2
  685. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
  686. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.d.ts +2 -1
  687. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.d.ts.map +1 -1
  688. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.js.map +1 -1
  689. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +2 -34
  690. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
  691. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +18 -4
  692. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
  693. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts +1 -14
  694. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts.map +1 -1
  695. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +3 -3
  696. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js.map +1 -1
  697. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts +10 -11
  698. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
  699. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +44 -2
  700. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
  701. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +30 -9
  702. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts.map +1 -1
  703. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +1 -44
  704. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
  705. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.js +28 -2
  706. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.js.map +1 -1
  707. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts +2 -2
  708. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts.map +1 -1
  709. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.js.map +1 -1
  710. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts +5 -5
  711. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
  712. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +5 -2
  713. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
  714. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts +2 -2
  715. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
  716. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +73 -1
  717. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js.map +1 -1
  718. package/node_modules/@murphai/vault-usecases/package.json +1 -1
  719. package/package.json +4 -4
  720. package/dist/knowledge-cli-contracts.d.ts +0 -3
  721. package/dist/knowledge-cli-contracts.d.ts.map +0 -1
  722. package/dist/knowledge-cli-contracts.js +0 -2
  723. package/dist/knowledge-cli-contracts.js.map +0 -1
  724. package/dist/runner-vault-cli-bin.d.ts +0 -3
  725. package/dist/runner-vault-cli-bin.d.ts.map +0 -1
  726. package/dist/runner-vault-cli-bin.js +0 -8
  727. package/dist/runner-vault-cli-bin.js.map +0 -1
  728. package/dist/runner-vault-cli-command-manifest.d.ts +0 -9
  729. package/dist/runner-vault-cli-command-manifest.d.ts.map +0 -1
  730. package/dist/runner-vault-cli-command-manifest.js +0 -71
  731. package/dist/runner-vault-cli-command-manifest.js.map +0 -1
  732. package/dist/runner-vault-cli.d.ts +0 -10
  733. package/dist/runner-vault-cli.d.ts.map +0 -1
  734. package/dist/runner-vault-cli.js +0 -22
  735. package/dist/runner-vault-cli.js.map +0 -1
  736. package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.d.ts +0 -2
  737. package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.d.ts.map +0 -1
  738. package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.js +0 -2
  739. package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.js.map +0 -1
  740. package/node_modules/@murphai/assistant-engine/dist/mapbox-route.d.ts +0 -142
  741. package/node_modules/@murphai/assistant-engine/dist/mapbox-route.d.ts.map +0 -1
  742. package/node_modules/@murphai/assistant-engine/dist/mapbox-route.js +0 -670
  743. package/node_modules/@murphai/assistant-engine/dist/mapbox-route.js.map +0 -1
  744. package/node_modules/@murphai/core/dist/storage-spine.d.ts +0 -3
  745. package/node_modules/@murphai/core/dist/storage-spine.d.ts.map +0 -1
  746. package/node_modules/@murphai/core/dist/storage-spine.js +0 -3
  747. package/node_modules/@murphai/core/dist/storage-spine.js.map +0 -1
  748. package/node_modules/@murphai/operator-config/dist/assistant/state-ids.d.ts +0 -2
  749. package/node_modules/@murphai/operator-config/dist/assistant/state-ids.d.ts.map +0 -1
  750. package/node_modules/@murphai/operator-config/dist/assistant/state-ids.js +0 -7
  751. package/node_modules/@murphai/operator-config/dist/assistant/state-ids.js.map +0 -1
  752. package/node_modules/@murphai/operator-config/dist/knowledge-contracts.d.ts +0 -86
  753. package/node_modules/@murphai/operator-config/dist/knowledge-contracts.d.ts.map +0 -1
  754. package/node_modules/@murphai/operator-config/dist/knowledge-contracts.js +0 -2
  755. package/node_modules/@murphai/operator-config/dist/knowledge-contracts.js.map +0 -1
  756. package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.d.ts +0 -3
  757. package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.d.ts.map +0 -1
  758. package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.js +0 -2
  759. package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import { NUTRITION_CONFIDENCE_LEVELS, NUTRITION_PROVENANCE_SOURCES, } from "@murphai/contracts";
2
+ import { optionalEnum, optionalString } from "./history/shared.js";
3
+ import { requireObject, optionalFiniteNumber, stripUndefined } from "./bank/shared.js";
4
+ import { VaultError } from "./errors.js";
5
+ export function normalizeNutritionData(value, fieldName) {
6
+ if (value === undefined || value === null) {
7
+ return undefined;
8
+ }
9
+ const object = requireObject(value, fieldName);
10
+ if (Object.keys(object).length === 0) {
11
+ return undefined;
12
+ }
13
+ const normalized = stripUndefined({
14
+ calories: optionalFiniteNumber(object.calories, `${fieldName}.calories`, 0),
15
+ proteinGrams: optionalFiniteNumber(object.proteinGrams, `${fieldName}.proteinGrams`, 0),
16
+ carbsGrams: optionalFiniteNumber(object.carbsGrams, `${fieldName}.carbsGrams`, 0),
17
+ fatGrams: optionalFiniteNumber(object.fatGrams, `${fieldName}.fatGrams`, 0),
18
+ fiberGrams: optionalFiniteNumber(object.fiberGrams, `${fieldName}.fiberGrams`, 0),
19
+ });
20
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
21
+ }
22
+ export function normalizeNutritionProvenance(value, fieldName) {
23
+ if (value === undefined || value === null) {
24
+ return undefined;
25
+ }
26
+ const object = requireObject(value, fieldName);
27
+ if (Object.keys(object).length === 0) {
28
+ return undefined;
29
+ }
30
+ const source = optionalEnum(object.source, NUTRITION_PROVENANCE_SOURCES, `${fieldName}.source`);
31
+ if (!source) {
32
+ throw new VaultError("VAULT_INVALID_INPUT", `${fieldName}.source is required.`);
33
+ }
34
+ const normalized = stripUndefined({
35
+ source,
36
+ confidence: optionalEnum(object.confidence, NUTRITION_CONFIDENCE_LEVELS, `${fieldName}.confidence`),
37
+ sourceDetail: optionalString(object.sourceDetail, `${fieldName}.sourceDetail`, 240),
38
+ });
39
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
40
+ }
41
+ function normalizeWrappedNutrition(value, fieldName, metricField) {
42
+ if (value === undefined || value === null) {
43
+ return undefined;
44
+ }
45
+ const object = requireObject(value, fieldName);
46
+ if (Object.keys(object).length === 0) {
47
+ return undefined;
48
+ }
49
+ const provenance = normalizeNutritionProvenance(object.provenance, `${fieldName}.provenance`);
50
+ if (metricField === "perServing") {
51
+ const normalized = stripUndefined({
52
+ perServing: normalizeNutritionData(object.perServing, `${fieldName}.perServing`),
53
+ provenance,
54
+ });
55
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
56
+ }
57
+ const normalized = stripUndefined({
58
+ totals: normalizeNutritionData(object.totals, `${fieldName}.totals`),
59
+ provenance,
60
+ });
61
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
62
+ }
63
+ export function normalizeFoodNutrition(value, fieldName) {
64
+ return normalizeWrappedNutrition(value, fieldName, "perServing");
65
+ }
66
+ export function normalizeMealNutrition(value, fieldName) {
67
+ return normalizeWrappedNutrition(value, fieldName, "totals");
68
+ }
69
+ //# sourceMappingURL=nutrition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nutrition.js","sourceRoot":"","sources":["../src/nutrition.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,2BAA2B,EAC3B,4BAA4B,GAK7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,SAAiB;IAEjB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,EAAE,CAAC,CAAC;QAC3E,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,EAAE,CAAC,CAAC;QACvF,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,EAAE,CAAC,CAAC;QACjF,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,EAAE,CAAC,CAAC;QAC3E,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,EAAE,CAAC,CAAC;KAClF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAc,EACd,SAAiB;IAEjB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,CAAC,MAAM,EACb,4BAA4B,EAC5B,GAAG,SAAS,SAAS,CACmB,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,UAAU,CAAC,qBAAqB,EAAE,GAAG,SAAS,sBAAsB,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,MAAM;QACN,UAAU,EAAE,YAAY,CACtB,MAAM,CAAC,UAAU,EACjB,2BAA2B,EAC3B,GAAG,SAAS,aAAa,CACc;QACzC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,EAAE,GAAG,CAAC;KACpF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAYD,SAAS,yBAAyB,CAChC,KAAc,EACd,SAAiB,EACjB,WAAoC;IAEpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,4BAA4B,CAC7C,MAAM,CAAC,UAAU,EACjB,GAAG,SAAS,aAAa,CAC1B,CAAC;IAEF,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,cAAc,CAAC;YAChC,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,CAAC;YAChF,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,CAAC;QACpE,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,SAAiB;IAEjB,OAAO,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,SAAiB;IAEjB,OAAO,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,38 @@
1
+ export declare const CANONICAL_RESOURCE_LOCK_DIRECTORY = ".runtime/locks/canonical-resources";
2
+ export declare const CANONICAL_RESOURCE_LOCK_METADATA_BASENAME = "owner.json";
3
+ export interface CanonicalMutationResource {
4
+ key: string;
5
+ label: string;
6
+ }
7
+ export interface CanonicalResourceLockMetadata {
8
+ command: string;
9
+ host: string;
10
+ pid: number;
11
+ resourceKey: string;
12
+ resourceLabel: string;
13
+ startedAt: string;
14
+ }
15
+ export interface CanonicalResourceLockHandle {
16
+ readonly metadata: CanonicalResourceLockMetadata;
17
+ readonly resource: CanonicalMutationResource;
18
+ release(): Promise<void>;
19
+ }
20
+ interface AcquireCanonicalResourceLockInput {
21
+ ownerToken?: string;
22
+ timeoutMs?: number;
23
+ resource: CanonicalMutationResource;
24
+ vaultRoot: string;
25
+ }
26
+ export declare function canonicalPathResource(relativePath: string): CanonicalMutationResource;
27
+ export declare function canonicalLogicalResource(key: string, label?: string): CanonicalMutationResource;
28
+ export declare function dedupeCanonicalResources(resources: readonly CanonicalMutationResource[]): CanonicalMutationResource[];
29
+ export declare function isCanonicalResourceLockScopeActive(vaultRoot: string): boolean;
30
+ export declare function withCanonicalResourceLocks<TResult>(input: {
31
+ vaultRoot: string;
32
+ timeoutMs?: number;
33
+ resources: readonly CanonicalMutationResource[];
34
+ run: () => Promise<TResult>;
35
+ }): Promise<TResult>;
36
+ export declare function acquireCanonicalResourceLock(input: AcquireCanonicalResourceLockInput): Promise<CanonicalResourceLockHandle>;
37
+ export {};
38
+ //# sourceMappingURL=canonical-resource-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-resource-lock.d.ts","sourceRoot":"","sources":["../../src/operations/canonical-resource-lock.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,yCAAyC,eAAe,CAAC;AAMtE,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,UAAU,iCAAiC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,yBAAyB,CAMrF;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,yBAAyB,CAc5F;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,yBAAyB,EAAE,GAC9C,yBAAyB,EAAE,CAS7B;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG7E;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAChD,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCnB;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,2BAA2B,CAAC,CAqFtC"}
@@ -0,0 +1,221 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import { createHash, randomUUID } from "node:crypto";
3
+ import { setTimeout as sleep } from "node:timers/promises";
4
+ import { acquireDirectoryLock, buildProcessCommand, DirectoryLockHeldError, fingerprintHost, hashVaultRoot, isProcessRunning, } from "@murphai/runtime-state/node";
5
+ import { VaultError } from "../errors.js";
6
+ import { normalizeRelativeVaultPath, normalizeVaultRoot, resolveVaultPath, } from "../path-safety.js";
7
+ import { toIsoTimestamp } from "../time.js";
8
+ export const CANONICAL_RESOURCE_LOCK_DIRECTORY = ".runtime/locks/canonical-resources";
9
+ export const CANONICAL_RESOURCE_LOCK_METADATA_BASENAME = "owner.json";
10
+ const DEFAULT_CANONICAL_RESOURCE_LOCK_TIMEOUT_MS = 30_000;
11
+ const MAX_CANONICAL_RESOURCE_LOCK_WAIT_MS = 250;
12
+ const CANONICAL_RESOURCE_LOCK_CLEANUP_RETRIES = 8;
13
+ const CANONICAL_RESOURCE_LOCK_CLEANUP_RETRY_DELAY_MS = 25;
14
+ const canonicalResourceLockContextStorage = new AsyncLocalStorage();
15
+ const processCanonicalResourceQueues = new Map();
16
+ export function canonicalPathResource(relativePath) {
17
+ const normalizedRelativePath = normalizeRelativeVaultPath(relativePath);
18
+ return {
19
+ key: `path:${normalizedRelativePath}`,
20
+ label: normalizedRelativePath,
21
+ };
22
+ }
23
+ export function canonicalLogicalResource(key, label = key) {
24
+ const normalizedKey = String(key).trim();
25
+ const normalizedLabel = String(label).trim();
26
+ if (normalizedKey.length === 0 || normalizedLabel.length === 0) {
27
+ throw new VaultError("CANONICAL_RESOURCE_INVALID", "Canonical logical resource keys and labels must be non-empty.");
28
+ }
29
+ return {
30
+ key: `logical:${normalizedKey}`,
31
+ label: normalizedLabel,
32
+ };
33
+ }
34
+ export function dedupeCanonicalResources(resources) {
35
+ const unique = new Map();
36
+ for (const resource of resources) {
37
+ if (!unique.has(resource.key)) {
38
+ unique.set(resource.key, resource);
39
+ }
40
+ }
41
+ return [...unique.values()].sort((left, right) => left.key.localeCompare(right.key));
42
+ }
43
+ export function isCanonicalResourceLockScopeActive(vaultRoot) {
44
+ const context = canonicalResourceLockContextStorage.getStore();
45
+ return context?.vaultRoot === normalizeVaultRoot(vaultRoot);
46
+ }
47
+ export async function withCanonicalResourceLocks(input) {
48
+ const vaultRoot = normalizeVaultRoot(input.vaultRoot);
49
+ const resources = dedupeCanonicalResources(input.resources);
50
+ if (resources.length === 0) {
51
+ return await input.run();
52
+ }
53
+ const parentContext = canonicalResourceLockContextStorage.getStore();
54
+ const ownerToken = parentContext?.vaultRoot === vaultRoot ? parentContext.ownerToken : randomUUID().replace(/-/g, "");
55
+ const context = parentContext?.vaultRoot === vaultRoot
56
+ ? parentContext
57
+ : {
58
+ ownerToken,
59
+ vaultRoot,
60
+ };
61
+ const acquiredHandles = [];
62
+ try {
63
+ for (const resource of resources) {
64
+ acquiredHandles.push(await acquireCanonicalResourceLock({
65
+ vaultRoot,
66
+ resource,
67
+ timeoutMs: input.timeoutMs,
68
+ ownerToken,
69
+ }));
70
+ }
71
+ if (parentContext?.vaultRoot === vaultRoot) {
72
+ return await input.run();
73
+ }
74
+ return await canonicalResourceLockContextStorage.run(context, input.run);
75
+ }
76
+ finally {
77
+ await releaseCanonicalResourceLocks(acquiredHandles);
78
+ }
79
+ }
80
+ export async function acquireCanonicalResourceLock(input) {
81
+ const vaultRoot = normalizeVaultRoot(input.vaultRoot);
82
+ const context = canonicalResourceLockContextStorage.getStore();
83
+ const ownerToken = input.ownerToken ??
84
+ context?.ownerToken ??
85
+ randomUUID().replace(/-/g, "");
86
+ const isReentrantOwner = context?.vaultRoot === vaultRoot && context.ownerToken === ownerToken;
87
+ const metadata = buildCanonicalResourceLockMetadata(input.resource);
88
+ const ownerKey = `canonical-resource:${hashVaultRoot(vaultRoot)}:${input.resource.key}:${ownerToken}`;
89
+ const { lockPath, metadataPath } = resolveCanonicalResourceLockPaths(vaultRoot, input.resource);
90
+ const queueKey = `${hashVaultRoot(vaultRoot)}:${input.resource.key}`;
91
+ const releaseQueue = isReentrantOwner
92
+ ? null
93
+ : await acquireCanonicalResourceQueueSlot(queueKey);
94
+ const startedAt = Date.now();
95
+ let attempt = 0;
96
+ try {
97
+ while (true) {
98
+ try {
99
+ const handle = await acquireDirectoryLock({
100
+ ownerKey,
101
+ lockPath,
102
+ metadataPath,
103
+ metadata,
104
+ cleanupRetries: CANONICAL_RESOURCE_LOCK_CLEANUP_RETRIES,
105
+ cleanupRetryDelayMs: CANONICAL_RESOURCE_LOCK_CLEANUP_RETRY_DELAY_MS,
106
+ parseMetadata(value) {
107
+ return isCanonicalResourceLockMetadata(value) ? value : null;
108
+ },
109
+ invalidMetadataReason: "Canonical resource lock metadata is malformed.",
110
+ inspectStale(lockMetadata) {
111
+ if (lockMetadata.host === fingerprintHost() && !isProcessRunning(lockMetadata.pid)) {
112
+ return `Process ${lockMetadata.pid} is no longer running.`;
113
+ }
114
+ return null;
115
+ },
116
+ });
117
+ let released = false;
118
+ return {
119
+ metadata: handle.metadata,
120
+ resource: input.resource,
121
+ async release() {
122
+ if (released) {
123
+ return;
124
+ }
125
+ released = true;
126
+ try {
127
+ await handle.release();
128
+ }
129
+ finally {
130
+ releaseQueue?.();
131
+ }
132
+ },
133
+ };
134
+ }
135
+ catch (error) {
136
+ if (!(error instanceof DirectoryLockHeldError)) {
137
+ throw error;
138
+ }
139
+ if (Date.now() - startedAt >= (input.timeoutMs ?? DEFAULT_CANONICAL_RESOURCE_LOCK_TIMEOUT_MS)) {
140
+ throw new VaultError("CANONICAL_RESOURCE_LOCKED", buildCanonicalResourceLockTimeoutMessage(input.resource, error.inspection.metadata), {
141
+ resourceKey: input.resource.key,
142
+ resourceLabel: input.resource.label,
143
+ metadata: error.inspection.metadata ?? null,
144
+ });
145
+ }
146
+ const waitMs = Math.min(MAX_CANONICAL_RESOURCE_LOCK_WAIT_MS, 25 * 2 ** Math.min(attempt, 3));
147
+ attempt += 1;
148
+ await sleep(waitMs);
149
+ }
150
+ }
151
+ }
152
+ catch (error) {
153
+ releaseQueue?.();
154
+ throw error;
155
+ }
156
+ }
157
+ async function acquireCanonicalResourceQueueSlot(queueKey) {
158
+ const prior = processCanonicalResourceQueues.get(queueKey) ?? Promise.resolve();
159
+ let releaseQueue;
160
+ const queued = new Promise((resolve) => {
161
+ releaseQueue = resolve;
162
+ });
163
+ const tail = prior.then(() => queued, () => queued);
164
+ processCanonicalResourceQueues.set(queueKey, tail);
165
+ await prior.catch(() => undefined);
166
+ return () => {
167
+ releaseQueue();
168
+ if (processCanonicalResourceQueues.get(queueKey) === tail) {
169
+ processCanonicalResourceQueues.delete(queueKey);
170
+ }
171
+ };
172
+ }
173
+ async function releaseCanonicalResourceLocks(handles) {
174
+ for (const handle of [...handles].reverse()) {
175
+ await handle.release();
176
+ }
177
+ }
178
+ function buildCanonicalResourceLockMetadata(resource) {
179
+ return {
180
+ command: buildProcessCommand(),
181
+ host: fingerprintHost(),
182
+ pid: process.pid,
183
+ resourceKey: resource.key,
184
+ resourceLabel: resource.label,
185
+ startedAt: toIsoTimestamp(new Date(), "startedAt"),
186
+ };
187
+ }
188
+ function resolveCanonicalResourceLockPaths(vaultRoot, resource) {
189
+ const resourceHash = createHash("sha1").update(resource.key).digest("hex");
190
+ const lockRelativePath = `${CANONICAL_RESOURCE_LOCK_DIRECTORY}/${resourceHash}`;
191
+ const lockPath = resolveVaultPath(vaultRoot, lockRelativePath).absolutePath;
192
+ const metadataPath = resolveVaultPath(vaultRoot, `${lockRelativePath}/${CANONICAL_RESOURCE_LOCK_METADATA_BASENAME}`).absolutePath;
193
+ return {
194
+ lockPath,
195
+ metadataPath,
196
+ };
197
+ }
198
+ function buildCanonicalResourceLockTimeoutMessage(resource, metadata) {
199
+ if (!metadata) {
200
+ return `Timed out waiting for canonical resource "${resource.label}".`;
201
+ }
202
+ return `Timed out waiting for canonical resource "${resource.label}" held by pid=${metadata.pid}, startedAt=${metadata.startedAt}, command=${metadata.command}.`;
203
+ }
204
+ function isCanonicalResourceLockMetadata(value) {
205
+ return Boolean(value &&
206
+ typeof value === "object" &&
207
+ "command" in value &&
208
+ typeof value.command === "string" &&
209
+ "host" in value &&
210
+ typeof value.host === "string" &&
211
+ "pid" in value &&
212
+ typeof value.pid === "number" &&
213
+ Number.isInteger(value.pid) &&
214
+ "resourceKey" in value &&
215
+ typeof value.resourceKey === "string" &&
216
+ "resourceLabel" in value &&
217
+ typeof value.resourceLabel === "string" &&
218
+ "startedAt" in value &&
219
+ typeof value.startedAt === "string");
220
+ }
221
+ //# sourceMappingURL=canonical-resource-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-resource-lock.js","sourceRoot":"","sources":["../../src/operations/canonical-resource-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,iCAAiC,GAAG,oCAAoC,CAAC;AACtF,MAAM,CAAC,MAAM,yCAAyC,GAAG,YAAY,CAAC;AACtE,MAAM,0CAA0C,GAAG,MAAM,CAAC;AAC1D,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAClD,MAAM,8CAA8C,GAAG,EAAE,CAAC;AAkC1D,MAAM,mCAAmC,GAAG,IAAI,iBAAiB,EAAgC,CAAC;AAClG,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAyB,CAAC;AAExE,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IACxD,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACxE,OAAO;QACL,GAAG,EAAE,QAAQ,sBAAsB,EAAE;QACrC,KAAK,EAAE,sBAAsB;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW,EAAE,KAAK,GAAG,GAAG;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,UAAU,CAClB,4BAA4B,EAC5B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,WAAW,aAAa,EAAE;QAC/B,KAAK,EAAE,eAAe;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAA+C;IAE/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC5D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,SAAiB;IAClE,MAAM,OAAO,GAAG,mCAAmC,CAAC,QAAQ,EAAE,CAAC;IAC/D,OAAO,OAAO,EAAE,SAAS,KAAK,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAU,KAKzD;IACC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,mCAAmC,CAAC,QAAQ,EAAE,CAAC;IACrE,MAAM,UAAU,GACd,aAAa,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrG,MAAM,OAAO,GACX,aAAa,EAAE,SAAS,KAAK,SAAS;QACpC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC;YACE,UAAU;YACV,SAAS;SACV,CAAC;IACR,MAAM,eAAe,GAAkC,EAAE,CAAC;IAE1D,IAAI,CAAC;QACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,eAAe,CAAC,IAAI,CAAC,MAAM,4BAA4B,CAAC;gBACtD,SAAS;gBACT,QAAQ;gBACR,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU;aACX,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,aAAa,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,MAAM,mCAAmC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,MAAM,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAwC;IAExC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,mCAAmC,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,UAAU,GACd,KAAK,CAAC,UAAU;QAChB,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,gBAAgB,GAAG,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC;IAC/F,MAAM,QAAQ,GAAG,kCAAkC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,sBAAsB,aAAa,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;IACtG,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,iCAAiC,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrE,MAAM,YAAY,GAAG,gBAAgB;QACnC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;oBACxC,QAAQ;oBACR,QAAQ;oBACR,YAAY;oBACZ,QAAQ;oBACR,cAAc,EAAE,uCAAuC;oBACvD,mBAAmB,EAAE,8CAA8C;oBACnE,aAAa,CAAC,KAAK;wBACjB,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/D,CAAC;oBACD,qBAAqB,EAAE,gDAAgD;oBACvE,YAAY,CAAC,YAAY;wBACvB,IAAI,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;4BACnF,OAAO,WAAW,YAAY,CAAC,GAAG,wBAAwB,CAAC;wBAC7D,CAAC;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,OAAO;oBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,CAAC,OAAO;wBACX,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO;wBACT,CAAC;wBAED,QAAQ,GAAG,IAAI,CAAC;wBAEhB,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;wBACzB,CAAC;gCAAS,CAAC;4BACT,YAAY,EAAE,EAAE,CAAC;wBACnB,CAAC;oBACH,CAAC;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC,EAAE,CAAC;oBAC/C,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,0CAA0C,CAAC,EAAE,CAAC;oBAC9F,MAAM,IAAI,UAAU,CAClB,2BAA2B,EAC3B,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EACnF;wBACE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;wBAC/B,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;wBACnC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI;qBAC5C,CACF,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7F,OAAO,IAAI,CAAC,CAAC;gBACb,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,QAAgB;IAC/D,MAAM,KAAK,GAAG,8BAA8B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAChF,IAAI,YAAyB,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC3C,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,GAAG,EAAE,CAAC,MAAM,EACZ,GAAG,EAAE,CAAC,MAAM,CACb,CAAC;IACF,8BAA8B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEnD,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnC,OAAO,GAAG,EAAE;QACV,YAAY,EAAE,CAAC;QACf,IAAI,8BAA8B,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1D,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,OAA+C;IAC1F,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CACzC,QAAmC;IAEnC,OAAO;QACL,OAAO,EAAE,mBAAmB,EAAE;QAC9B,IAAI,EAAE,eAAe,EAAE;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,QAAQ,CAAC,GAAG;QACzB,aAAa,EAAE,QAAQ,CAAC,KAAK;QAC7B,SAAS,EAAE,cAAc,CAAC,IAAI,IAAI,EAAE,EAAE,WAAW,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,SAAiB,EACjB,QAAmC;IAKnC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GAAG,GAAG,iCAAiC,IAAI,YAAY,EAAE,CAAC;IAChF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,YAAY,CAAC;IAC5E,MAAM,YAAY,GAAG,gBAAgB,CACnC,SAAS,EACT,GAAG,gBAAgB,IAAI,yCAAyC,EAAE,CACnE,CAAC,YAAY,CAAC;IAEf,OAAO;QACL,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,wCAAwC,CAC/C,QAAmC,EACnC,QAA8C;IAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,6CAA6C,QAAQ,CAAC,KAAK,IAAI,CAAC;IACzE,CAAC;IAED,OAAO,6CAA6C,QAAQ,CAAC,KAAK,iBAAiB,QAAQ,CAAC,GAAG,eAAe,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,OAAO,GAAG,CAAC;AACnK,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAc;IACrD,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,OAAQ,KAA+B,CAAC,OAAO,KAAK,QAAQ;QAC5D,MAAM,IAAI,KAAK;QACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,KAAK,IAAI,KAAK;QACd,OAAQ,KAA2B,CAAC,GAAG,KAAK,QAAQ;QACpD,MAAM,CAAC,SAAS,CAAE,KAAyB,CAAC,GAAG,CAAC;QAChD,aAAa,IAAI,KAAK;QACtB,OAAQ,KAAmC,CAAC,WAAW,KAAK,QAAQ;QACpE,eAAe,IAAI,KAAK;QACxB,OAAQ,KAAqC,CAAC,aAAa,KAAK,QAAQ;QACxE,WAAW,IAAI,KAAK;QACpB,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ,CACnE,CAAC;AACJ,CAAC"}
@@ -25,5 +25,6 @@ export type CanonicalWriteLockInspection = {
25
25
  reason: string;
26
26
  };
27
27
  export declare function inspectCanonicalWriteLock(vaultRoot: string): Promise<CanonicalWriteLockInspection>;
28
+ export declare function withCanonicalWriteLockScope<TResult>(vaultRoot: string, run: () => Promise<TResult>): Promise<TResult>;
28
29
  export declare function acquireCanonicalWriteLock(vaultRoot: string): Promise<CanonicalWriteLockHandle>;
29
30
  //# sourceMappingURL=canonical-write-lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-write-lock.d.ts","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAC/E,eAAO,MAAM,kCAAkC,8CAAiD,CAAC;AAEjG,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,OAAO,8BAA8B,CAAC;IAC7D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,OAAO,8BAA8B,CAAC;CACrD,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,YAAY,EAAE,OAAO,8BAA8B,CAAC;IACpD,QAAQ,EAAE,0BAA0B,CAAC;CACtC,GACD;IACE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,8BAA8B,CAAC;IACpD,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAkEN,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA0CxG;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA6EpG"}
1
+ {"version":3,"file":"canonical-write-lock.d.ts","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAC/E,eAAO,MAAM,kCAAkC,8CAAiD,CAAC;AAEjG,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,OAAO,8BAA8B,CAAC;IAC7D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,MAAM,MAAM,4BAA4B,GACpC;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,OAAO,8BAA8B,CAAC;CACrD,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,YAAY,EAAE,OAAO,8BAA8B,CAAC;IACpD,QAAQ,EAAE,0BAA0B,CAAC;CACtC,GACD;IACE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,8BAA8B,CAAC;IACpD,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAqEN,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA0CxG;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EACvD,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC1B,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA4FpG"}
@@ -1,3 +1,5 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import { randomUUID } from "node:crypto";
1
3
  import path from "node:path";
2
4
  import { acquireDirectoryLock, buildProcessCommand, DirectoryLockHeldError, fingerprintHost, inspectDirectoryLock, isProcessRunning, } from "@murphai/runtime-state/node";
3
5
  import { VaultError } from "../errors.js";
@@ -6,6 +8,8 @@ import { toIsoTimestamp } from "../time.js";
6
8
  import { isErrnoException, isPlainRecord } from "../types.js";
7
9
  export const CANONICAL_WRITE_LOCK_DIRECTORY = ".runtime/locks/canonical-write";
8
10
  export const CANONICAL_WRITE_LOCK_METADATA_PATH = `${CANONICAL_WRITE_LOCK_DIRECTORY}/owner.json`;
11
+ const canonicalWriteLockContextStorage = new AsyncLocalStorage();
12
+ const processCanonicalWriteQueues = new Map();
9
13
  function buildMetadata() {
10
14
  return {
11
15
  pid: process.pid,
@@ -90,13 +94,30 @@ export async function inspectCanonicalWriteLock(vaultRoot) {
90
94
  metadata: inspection.metadata,
91
95
  };
92
96
  }
97
+ export async function withCanonicalWriteLockScope(vaultRoot, run) {
98
+ const absoluteRoot = normalizeVaultRoot(vaultRoot);
99
+ const parentContext = canonicalWriteLockContextStorage.getStore();
100
+ if (parentContext?.vaultRoot === absoluteRoot) {
101
+ return await run();
102
+ }
103
+ return await canonicalWriteLockContextStorage.run({
104
+ ownerToken: randomUUID().replace(/-/g, ""),
105
+ vaultRoot: absoluteRoot,
106
+ }, run);
107
+ }
93
108
  export async function acquireCanonicalWriteLock(vaultRoot) {
94
109
  const absoluteRoot = normalizeVaultRoot(vaultRoot);
110
+ const context = canonicalWriteLockContextStorage.getStore();
111
+ const ownerToken = context?.vaultRoot === absoluteRoot
112
+ ? context.ownerToken
113
+ : randomUUID().replace(/-/g, "");
114
+ const isReentrantOwner = context?.vaultRoot === absoluteRoot && context.ownerToken === ownerToken;
115
+ const releaseQueue = isReentrantOwner ? null : await acquireCanonicalWriteQueueSlot(absoluteRoot);
95
116
  const lockPath = resolveVaultPath(absoluteRoot, CANONICAL_WRITE_LOCK_DIRECTORY);
96
117
  const metadataPath = resolveVaultPath(absoluteRoot, CANONICAL_WRITE_LOCK_METADATA_PATH);
97
118
  try {
98
119
  const handle = await acquireDirectoryLock({
99
- ownerKey: `canonical-write:${absoluteRoot}`,
120
+ ownerKey: `canonical-write:${absoluteRoot}:${ownerToken}`,
100
121
  lockPath: lockPath.absolutePath,
101
122
  metadataPath: metadataPath.absolutePath,
102
123
  metadata: buildMetadata(),
@@ -115,10 +136,18 @@ export async function acquireCanonicalWriteLock(vaultRoot) {
115
136
  return {
116
137
  metadata: handle.metadata,
117
138
  relativePath: CANONICAL_WRITE_LOCK_DIRECTORY,
118
- release: handle.release,
139
+ async release() {
140
+ try {
141
+ await handle.release();
142
+ }
143
+ finally {
144
+ releaseQueue?.();
145
+ }
146
+ },
119
147
  };
120
148
  }
121
149
  catch (error) {
150
+ releaseQueue?.();
122
151
  if (error instanceof DirectoryLockHeldError) {
123
152
  const inspection = mapDirectoryLockInspection(error.inspection.state === "active"
124
153
  ? {
@@ -161,4 +190,21 @@ export async function acquireCanonicalWriteLock(vaultRoot) {
161
190
  throw error;
162
191
  }
163
192
  }
193
+ async function acquireCanonicalWriteQueueSlot(vaultRoot) {
194
+ const queueKey = `canonical-write:${vaultRoot}`;
195
+ const prior = processCanonicalWriteQueues.get(queueKey) ?? Promise.resolve();
196
+ let releaseQueue;
197
+ const queued = new Promise((resolve) => {
198
+ releaseQueue = resolve;
199
+ });
200
+ const tail = prior.then(() => queued, () => queued);
201
+ processCanonicalWriteQueues.set(queueKey, tail);
202
+ await prior.catch(() => undefined);
203
+ return () => {
204
+ releaseQueue();
205
+ if (processCanonicalWriteQueues.get(queueKey) === tail) {
206
+ processCanonicalWriteQueues.delete(queueKey);
207
+ }
208
+ };
209
+ }
164
210
  //# sourceMappingURL=canonical-write-lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-write-lock.js","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-write-lock.js","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- export { acquireCanonicalWriteLock, CANONICAL_WRITE_LOCK_DIRECTORY, CANONICAL_WRITE_LOCK_METADATA_PATH, inspectCanonicalWriteLock, } from "./canonical-write-lock.ts";
1
+ export { acquireCanonicalResourceLock, CANONICAL_RESOURCE_LOCK_DIRECTORY, CANONICAL_RESOURCE_LOCK_METADATA_BASENAME, canonicalLogicalResource, canonicalPathResource, dedupeCanonicalResources, isCanonicalResourceLockScopeActive, withCanonicalResourceLocks, } from "./canonical-resource-lock.ts";
2
+ export type { CanonicalMutationResource, CanonicalResourceLockHandle, CanonicalResourceLockMetadata, } from "./canonical-resource-lock.ts";
3
+ export { acquireCanonicalWriteLock, CANONICAL_WRITE_LOCK_DIRECTORY, CANONICAL_WRITE_LOCK_METADATA_PATH, inspectCanonicalWriteLock, withCanonicalWriteLockScope, } from "./canonical-write-lock.ts";
2
4
  export type { CanonicalWriteLockHandle, CanonicalWriteLockInspection, CanonicalWriteLockMetadata, } from "./canonical-write-lock.ts";
3
5
  export { isProtectedCanonicalPath, listProtectedCanonicalPaths, readRecoverableStoredWriteOperation, isTerminalWriteOperationStatus, listWriteOperationMetadataPaths, readStoredWriteOperation, runCanonicalWrite, WriteBatch, WRITE_OPERATION_DIRECTORY, WRITE_OPERATION_SCHEMA_VERSION, } from "./write-batch.ts";
4
6
  export type { RecoverableStoredWriteOperation } from "./write-batch.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,yCAAyC,EACzC,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,kCAAkC,EAClC,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +1,4 @@
1
- export { acquireCanonicalWriteLock, CANONICAL_WRITE_LOCK_DIRECTORY, CANONICAL_WRITE_LOCK_METADATA_PATH, inspectCanonicalWriteLock, } from "./canonical-write-lock.js";
1
+ export { acquireCanonicalResourceLock, CANONICAL_RESOURCE_LOCK_DIRECTORY, CANONICAL_RESOURCE_LOCK_METADATA_BASENAME, canonicalLogicalResource, canonicalPathResource, dedupeCanonicalResources, isCanonicalResourceLockScopeActive, withCanonicalResourceLocks, } from "./canonical-resource-lock.js";
2
+ export { acquireCanonicalWriteLock, CANONICAL_WRITE_LOCK_DIRECTORY, CANONICAL_WRITE_LOCK_METADATA_PATH, inspectCanonicalWriteLock, withCanonicalWriteLockScope, } from "./canonical-write-lock.js";
2
3
  export { isProtectedCanonicalPath, listProtectedCanonicalPaths, readRecoverableStoredWriteOperation, isTerminalWriteOperationStatus, listWriteOperationMetadataPaths, readStoredWriteOperation, runCanonicalWrite, WriteBatch, WRITE_OPERATION_DIRECTORY, WRITE_OPERATION_SCHEMA_VERSION, } from "./write-batch.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,yCAAyC,EACzC,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,kCAAkC,EAClC,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC"}
@@ -657,7 +657,7 @@ export class WriteBatch {
657
657
  throw error;
658
658
  }
659
659
  finally {
660
- await lock.release();
660
+ await lock?.release();
661
661
  }
662
662
  }
663
663
  async rollback() {
@@ -672,7 +672,7 @@ export class WriteBatch {
672
672
  await this.cleanupStageArtifacts();
673
673
  }
674
674
  finally {
675
- await lock.release();
675
+ await lock?.release();
676
676
  }
677
677
  }
678
678
  assertMutable() {