@murphai/hosted-execution 0.1.15 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/LICENSE +201 -674
  2. package/README.md +15 -14
  3. package/dist/auth.d.ts +11 -25
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js +32 -76
  6. package/dist/auth.js.map +1 -1
  7. package/dist/builders.d.ts +3 -4
  8. package/dist/builders.d.ts.map +1 -1
  9. package/dist/builders.js +24 -24
  10. package/dist/builders.js.map +1 -1
  11. package/dist/bundles.d.ts +3 -13
  12. package/dist/bundles.d.ts.map +1 -1
  13. package/dist/bundles.js +1 -16
  14. package/dist/bundles.js.map +1 -1
  15. package/dist/client.d.ts +2 -26
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +38 -212
  18. package/dist/client.js.map +1 -1
  19. package/dist/contracts.d.ts +49 -118
  20. package/dist/contracts.d.ts.map +1 -1
  21. package/dist/contracts.js +15 -58
  22. package/dist/contracts.js.map +1 -1
  23. package/dist/dispatch-ref.d.ts +1 -2
  24. package/dist/dispatch-ref.d.ts.map +1 -1
  25. package/dist/dispatch-ref.js +16 -30
  26. package/dist/dispatch-ref.js.map +1 -1
  27. package/dist/env.d.ts +0 -38
  28. package/dist/env.d.ts.map +1 -1
  29. package/dist/env.js +1 -87
  30. package/dist/env.js.map +1 -1
  31. package/dist/index.d.ts +0 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +0 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/observability.d.ts +3 -1
  36. package/dist/observability.d.ts.map +1 -1
  37. package/dist/observability.js +76 -53
  38. package/dist/observability.js.map +1 -1
  39. package/dist/outbox-payload.d.ts +7 -5
  40. package/dist/outbox-payload.d.ts.map +1 -1
  41. package/dist/outbox-payload.js +75 -38
  42. package/dist/outbox-payload.js.map +1 -1
  43. package/dist/parsers.d.ts +10 -10
  44. package/dist/parsers.d.ts.map +1 -1
  45. package/dist/parsers.js +192 -139
  46. package/dist/parsers.js.map +1 -1
  47. package/dist/routes.d.ts +4 -9
  48. package/dist/routes.d.ts.map +1 -1
  49. package/dist/routes.js +7 -18
  50. package/dist/routes.js.map +1 -1
  51. package/node_modules/@murphai/core/README.md +3 -0
  52. package/node_modules/@murphai/core/dist/assessment/index.d.ts +5 -0
  53. package/node_modules/@murphai/core/dist/assessment/index.d.ts.map +1 -0
  54. package/node_modules/@murphai/core/dist/assessment/index.js +4 -0
  55. package/node_modules/@murphai/core/dist/assessment/index.js.map +1 -0
  56. package/node_modules/@murphai/core/dist/assessment/project.d.ts +9 -0
  57. package/node_modules/@murphai/core/dist/assessment/project.d.ts.map +1 -0
  58. package/node_modules/@murphai/core/dist/assessment/project.js +353 -0
  59. package/node_modules/@murphai/core/dist/assessment/project.js.map +1 -0
  60. package/node_modules/@murphai/core/dist/assessment/storage.d.ts +13 -0
  61. package/node_modules/@murphai/core/dist/assessment/storage.d.ts.map +1 -0
  62. package/node_modules/@murphai/core/dist/assessment/storage.js +202 -0
  63. package/node_modules/@murphai/core/dist/assessment/storage.js.map +1 -0
  64. package/node_modules/@murphai/core/dist/assessment/types.d.ts +112 -0
  65. package/node_modules/@murphai/core/dist/assessment/types.d.ts.map +1 -0
  66. package/node_modules/@murphai/core/dist/assessment/types.js +5 -0
  67. package/node_modules/@murphai/core/dist/assessment/types.js.map +1 -0
  68. package/node_modules/@murphai/core/dist/atomic-write.d.ts +5 -0
  69. package/node_modules/@murphai/core/dist/atomic-write.d.ts.map +1 -0
  70. package/node_modules/@murphai/core/dist/atomic-write.js +120 -0
  71. package/node_modules/@murphai/core/dist/atomic-write.js.map +1 -0
  72. package/node_modules/@murphai/core/dist/audit.d.ts +27 -0
  73. package/node_modules/@murphai/core/dist/audit.d.ts.map +1 -0
  74. package/node_modules/@murphai/core/dist/audit.js +94 -0
  75. package/node_modules/@murphai/core/dist/audit.js.map +1 -0
  76. package/node_modules/@murphai/core/dist/automation.d.ts +55 -0
  77. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -0
  78. package/node_modules/@murphai/core/dist/automation.js +411 -0
  79. package/node_modules/@murphai/core/dist/automation.js.map +1 -0
  80. package/node_modules/@murphai/core/dist/bank/allergies.d.ts +5 -0
  81. package/node_modules/@murphai/core/dist/bank/allergies.d.ts.map +1 -0
  82. package/node_modules/@murphai/core/dist/bank/allergies.js +209 -0
  83. package/node_modules/@murphai/core/dist/bank/allergies.js.map +1 -0
  84. package/node_modules/@murphai/core/dist/bank/conditions.d.ts +5 -0
  85. package/node_modules/@murphai/core/dist/bank/conditions.d.ts.map +1 -0
  86. package/node_modules/@murphai/core/dist/bank/conditions.js +249 -0
  87. package/node_modules/@murphai/core/dist/bank/conditions.js.map +1 -0
  88. package/node_modules/@murphai/core/dist/bank/foods.d.ts +8 -0
  89. package/node_modules/@murphai/core/dist/bank/foods.d.ts.map +1 -0
  90. package/node_modules/@murphai/core/dist/bank/foods.js +255 -0
  91. package/node_modules/@murphai/core/dist/bank/foods.js.map +1 -0
  92. package/node_modules/@murphai/core/dist/bank/goals.d.ts +5 -0
  93. package/node_modules/@murphai/core/dist/bank/goals.d.ts.map +1 -0
  94. package/node_modules/@murphai/core/dist/bank/goals.js +289 -0
  95. package/node_modules/@murphai/core/dist/bank/goals.js.map +1 -0
  96. package/node_modules/@murphai/core/dist/bank/index.d.ts +10 -0
  97. package/node_modules/@murphai/core/dist/bank/index.d.ts.map +1 -0
  98. package/node_modules/@murphai/core/dist/bank/index.js +10 -0
  99. package/node_modules/@murphai/core/dist/bank/index.js.map +1 -0
  100. package/node_modules/@murphai/core/dist/bank/protocols.d.ts +8 -0
  101. package/node_modules/@murphai/core/dist/bank/protocols.d.ts.map +1 -0
  102. package/node_modules/@murphai/core/dist/bank/protocols.js +466 -0
  103. package/node_modules/@murphai/core/dist/bank/protocols.js.map +1 -0
  104. package/node_modules/@murphai/core/dist/bank/providers.d.ts +46 -0
  105. package/node_modules/@murphai/core/dist/bank/providers.d.ts.map +1 -0
  106. package/node_modules/@murphai/core/dist/bank/providers.js +160 -0
  107. package/node_modules/@murphai/core/dist/bank/providers.js.map +1 -0
  108. package/node_modules/@murphai/core/dist/bank/recipes.d.ts +8 -0
  109. package/node_modules/@murphai/core/dist/bank/recipes.d.ts.map +1 -0
  110. package/node_modules/@murphai/core/dist/bank/recipes.js +287 -0
  111. package/node_modules/@murphai/core/dist/bank/recipes.js.map +1 -0
  112. package/node_modules/@murphai/core/dist/bank/shared.d.ts +39 -0
  113. package/node_modules/@murphai/core/dist/bank/shared.d.ts.map +1 -0
  114. package/node_modules/@murphai/core/dist/bank/shared.js +150 -0
  115. package/node_modules/@murphai/core/dist/bank/shared.js.map +1 -0
  116. package/node_modules/@murphai/core/dist/bank/types.d.ts +469 -0
  117. package/node_modules/@murphai/core/dist/bank/types.d.ts.map +1 -0
  118. package/node_modules/@murphai/core/dist/bank/types.js +35 -0
  119. package/node_modules/@murphai/core/dist/bank/types.js.map +1 -0
  120. package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts +5 -0
  121. package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts.map +1 -0
  122. package/node_modules/@murphai/core/dist/bank/workout-formats.js +204 -0
  123. package/node_modules/@murphai/core/dist/bank/workout-formats.js.map +1 -0
  124. package/node_modules/@murphai/core/dist/canonical-mutations.d.ts +54 -0
  125. package/node_modules/@murphai/core/dist/canonical-mutations.d.ts.map +1 -0
  126. package/node_modules/@murphai/core/dist/canonical-mutations.js +196 -0
  127. package/node_modules/@murphai/core/dist/canonical-mutations.js.map +1 -0
  128. package/node_modules/@murphai/core/dist/constants.d.ts +125 -0
  129. package/node_modules/@murphai/core/dist/constants.d.ts.map +1 -0
  130. package/node_modules/@murphai/core/dist/constants.js +132 -0
  131. package/node_modules/@murphai/core/dist/constants.js.map +1 -0
  132. package/node_modules/@murphai/core/dist/domains/events.d.ts +100 -0
  133. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -0
  134. package/node_modules/@murphai/core/dist/domains/events.js +593 -0
  135. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -0
  136. package/node_modules/@murphai/core/dist/domains/experiments.d.ts +71 -0
  137. package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -0
  138. package/node_modules/@murphai/core/dist/domains/experiments.js +275 -0
  139. package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -0
  140. package/node_modules/@murphai/core/dist/domains/journal.d.ts +52 -0
  141. package/node_modules/@murphai/core/dist/domains/journal.d.ts.map +1 -0
  142. package/node_modules/@murphai/core/dist/domains/journal.js +173 -0
  143. package/node_modules/@murphai/core/dist/domains/journal.js.map +1 -0
  144. package/node_modules/@murphai/core/dist/domains/shared.d.ts +37 -0
  145. package/node_modules/@murphai/core/dist/domains/shared.d.ts.map +1 -0
  146. package/node_modules/@murphai/core/dist/domains/shared.js +101 -0
  147. package/node_modules/@murphai/core/dist/domains/shared.js.map +1 -0
  148. package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts +15 -0
  149. package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts.map +1 -0
  150. package/node_modules/@murphai/core/dist/domains/vault-summary.js +58 -0
  151. package/node_modules/@murphai/core/dist/domains/vault-summary.js.map +1 -0
  152. package/node_modules/@murphai/core/dist/errors.d.ts +8 -0
  153. package/node_modules/@murphai/core/dist/errors.d.ts.map +1 -0
  154. package/node_modules/@murphai/core/dist/errors.js +14 -0
  155. package/node_modules/@murphai/core/dist/errors.js.map +1 -0
  156. package/node_modules/@murphai/core/dist/event-attachments.d.ts +69 -0
  157. package/node_modules/@murphai/core/dist/event-attachments.d.ts.map +1 -0
  158. package/node_modules/@murphai/core/dist/event-attachments.js +202 -0
  159. package/node_modules/@murphai/core/dist/event-attachments.js.map +1 -0
  160. package/node_modules/@murphai/core/dist/event-links.d.ts +15 -0
  161. package/node_modules/@murphai/core/dist/event-links.d.ts.map +1 -0
  162. package/node_modules/@murphai/core/dist/event-links.js +54 -0
  163. package/node_modules/@murphai/core/dist/event-links.js.map +1 -0
  164. package/node_modules/@murphai/core/dist/family/api.d.ts +5 -0
  165. package/node_modules/@murphai/core/dist/family/api.d.ts.map +1 -0
  166. package/node_modules/@murphai/core/dist/family/api.js +221 -0
  167. package/node_modules/@murphai/core/dist/family/api.js.map +1 -0
  168. package/node_modules/@murphai/core/dist/family/index.d.ts +3 -0
  169. package/node_modules/@murphai/core/dist/family/index.d.ts.map +1 -0
  170. package/node_modules/@murphai/core/dist/family/index.js +3 -0
  171. package/node_modules/@murphai/core/dist/family/index.js.map +1 -0
  172. package/node_modules/@murphai/core/dist/family/types.d.ts +34 -0
  173. package/node_modules/@murphai/core/dist/family/types.d.ts.map +1 -0
  174. package/node_modules/@murphai/core/dist/family/types.js +2 -0
  175. package/node_modules/@murphai/core/dist/family/types.js.map +1 -0
  176. package/node_modules/@murphai/core/dist/frontmatter.d.ts +4 -0
  177. package/node_modules/@murphai/core/dist/frontmatter.d.ts.map +1 -0
  178. package/node_modules/@murphai/core/dist/frontmatter.js +99 -0
  179. package/node_modules/@murphai/core/dist/frontmatter.js.map +1 -0
  180. package/node_modules/@murphai/core/dist/fs.d.ts +22 -0
  181. package/node_modules/@murphai/core/dist/fs.d.ts.map +1 -0
  182. package/node_modules/@murphai/core/dist/fs.js +172 -0
  183. package/node_modules/@murphai/core/dist/fs.js.map +1 -0
  184. package/node_modules/@murphai/core/dist/genetics/api.d.ts +5 -0
  185. package/node_modules/@murphai/core/dist/genetics/api.d.ts.map +1 -0
  186. package/node_modules/@murphai/core/dist/genetics/api.js +226 -0
  187. package/node_modules/@murphai/core/dist/genetics/api.js.map +1 -0
  188. package/node_modules/@murphai/core/dist/genetics/index.d.ts +3 -0
  189. package/node_modules/@murphai/core/dist/genetics/index.d.ts.map +1 -0
  190. package/node_modules/@murphai/core/dist/genetics/index.js +3 -0
  191. package/node_modules/@murphai/core/dist/genetics/index.js.map +1 -0
  192. package/node_modules/@murphai/core/dist/genetics/types.d.ts +40 -0
  193. package/node_modules/@murphai/core/dist/genetics/types.d.ts.map +1 -0
  194. package/node_modules/@murphai/core/dist/genetics/types.js +4 -0
  195. package/node_modules/@murphai/core/dist/genetics/types.js.map +1 -0
  196. package/node_modules/@murphai/core/dist/history/api.d.ts +7 -0
  197. package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -0
  198. package/node_modules/@murphai/core/dist/history/api.js +473 -0
  199. package/node_modules/@murphai/core/dist/history/api.js.map +1 -0
  200. package/node_modules/@murphai/core/dist/history/event-spine.d.ts +41 -0
  201. package/node_modules/@murphai/core/dist/history/event-spine.d.ts.map +1 -0
  202. package/node_modules/@murphai/core/dist/history/event-spine.js +111 -0
  203. package/node_modules/@murphai/core/dist/history/event-spine.js.map +1 -0
  204. package/node_modules/@murphai/core/dist/history/index.d.ts +3 -0
  205. package/node_modules/@murphai/core/dist/history/index.d.ts.map +1 -0
  206. package/node_modules/@murphai/core/dist/history/index.js +3 -0
  207. package/node_modules/@murphai/core/dist/history/index.js.map +1 -0
  208. package/node_modules/@murphai/core/dist/history/shared.d.ts +25 -0
  209. package/node_modules/@murphai/core/dist/history/shared.d.ts.map +1 -0
  210. package/node_modules/@murphai/core/dist/history/shared.js +144 -0
  211. package/node_modules/@murphai/core/dist/history/shared.js.map +1 -0
  212. package/node_modules/@murphai/core/dist/history/types.d.ts +127 -0
  213. package/node_modules/@murphai/core/dist/history/types.d.ts.map +1 -0
  214. package/node_modules/@murphai/core/dist/history/types.js +8 -0
  215. package/node_modules/@murphai/core/dist/history/types.js.map +1 -0
  216. package/node_modules/@murphai/core/dist/ids.d.ts +3 -0
  217. package/node_modules/@murphai/core/dist/ids.d.ts.map +1 -0
  218. package/node_modules/@murphai/core/dist/ids.js +20 -0
  219. package/node_modules/@murphai/core/dist/ids.js.map +1 -0
  220. package/node_modules/@murphai/core/dist/index.d.ts +30 -0
  221. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -0
  222. package/node_modules/@murphai/core/dist/index.js +23 -0
  223. package/node_modules/@murphai/core/dist/index.js.map +1 -0
  224. package/node_modules/@murphai/core/dist/jsonl.d.ts +12 -0
  225. package/node_modules/@murphai/core/dist/jsonl.d.ts.map +1 -0
  226. package/node_modules/@murphai/core/dist/jsonl.js +40 -0
  227. package/node_modules/@murphai/core/dist/jsonl.js.map +1 -0
  228. package/node_modules/@murphai/core/dist/memory.d.ts +17 -0
  229. package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -0
  230. package/node_modules/@murphai/core/dist/memory.js +72 -0
  231. package/node_modules/@murphai/core/dist/memory.js.map +1 -0
  232. package/node_modules/@murphai/core/dist/mutations.d.ts +150 -0
  233. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -0
  234. package/node_modules/@murphai/core/dist/mutations.js +1109 -0
  235. package/node_modules/@murphai/core/dist/mutations.js.map +1 -0
  236. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts +29 -0
  237. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts.map +1 -0
  238. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js +164 -0
  239. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -0
  240. package/node_modules/@murphai/core/dist/operations/index.d.ts +5 -0
  241. package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -0
  242. package/node_modules/@murphai/core/dist/operations/index.js +3 -0
  243. package/node_modules/@murphai/core/dist/operations/index.js.map +1 -0
  244. package/node_modules/@murphai/core/dist/operations/raw-manifests.d.ts +33 -0
  245. package/node_modules/@murphai/core/dist/operations/raw-manifests.d.ts.map +1 -0
  246. package/node_modules/@murphai/core/dist/operations/raw-manifests.js +105 -0
  247. package/node_modules/@murphai/core/dist/operations/raw-manifests.js.map +1 -0
  248. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +166 -0
  249. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -0
  250. package/node_modules/@murphai/core/dist/operations/write-batch.js +886 -0
  251. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -0
  252. package/node_modules/@murphai/core/dist/path-safety.d.ts +19 -0
  253. package/node_modules/@murphai/core/dist/path-safety.d.ts.map +1 -0
  254. package/node_modules/@murphai/core/dist/path-safety.js +193 -0
  255. package/node_modules/@murphai/core/dist/path-safety.js.map +1 -0
  256. package/node_modules/@murphai/core/dist/profile/index.d.ts +4 -0
  257. package/node_modules/@murphai/core/dist/profile/index.d.ts.map +1 -0
  258. package/node_modules/@murphai/core/dist/profile/index.js +3 -0
  259. package/node_modules/@murphai/core/dist/profile/index.js.map +1 -0
  260. package/node_modules/@murphai/core/dist/profile/storage.d.ts +41 -0
  261. package/node_modules/@murphai/core/dist/profile/storage.d.ts.map +1 -0
  262. package/node_modules/@murphai/core/dist/profile/storage.js +225 -0
  263. package/node_modules/@murphai/core/dist/profile/storage.js.map +1 -0
  264. package/node_modules/@murphai/core/dist/profile/types.d.ts +29 -0
  265. package/node_modules/@murphai/core/dist/profile/types.d.ts.map +1 -0
  266. package/node_modules/@murphai/core/dist/profile/types.js +8 -0
  267. package/node_modules/@murphai/core/dist/profile/types.js.map +1 -0
  268. package/node_modules/@murphai/core/dist/public-mutations.d.ts +120 -0
  269. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -0
  270. package/node_modules/@murphai/core/dist/public-mutations.js +275 -0
  271. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -0
  272. package/node_modules/@murphai/core/dist/raw.d.ts +28 -0
  273. package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -0
  274. package/node_modules/@murphai/core/dist/raw.js +107 -0
  275. package/node_modules/@murphai/core/dist/raw.js.map +1 -0
  276. package/node_modules/@murphai/core/dist/registry/api.d.ts +80 -0
  277. package/node_modules/@murphai/core/dist/registry/api.d.ts.map +1 -0
  278. package/node_modules/@murphai/core/dist/registry/api.js +113 -0
  279. package/node_modules/@murphai/core/dist/registry/api.js.map +1 -0
  280. package/node_modules/@murphai/core/dist/registry/id-or-slug.d.ts +15 -0
  281. package/node_modules/@murphai/core/dist/registry/id-or-slug.d.ts.map +1 -0
  282. package/node_modules/@murphai/core/dist/registry/id-or-slug.js +9 -0
  283. package/node_modules/@murphai/core/dist/registry/id-or-slug.js.map +1 -0
  284. package/node_modules/@murphai/core/dist/registry/markdown.d.ts +101 -0
  285. package/node_modules/@murphai/core/dist/registry/markdown.d.ts.map +1 -0
  286. package/node_modules/@murphai/core/dist/registry/markdown.js +136 -0
  287. package/node_modules/@murphai/core/dist/registry/markdown.js.map +1 -0
  288. package/node_modules/@murphai/core/dist/shares.d.ts +36 -0
  289. package/node_modules/@murphai/core/dist/shares.d.ts.map +1 -0
  290. package/node_modules/@murphai/core/dist/shares.js +333 -0
  291. package/node_modules/@murphai/core/dist/shares.js.map +1 -0
  292. package/node_modules/@murphai/core/dist/storage-spine.d.ts +3 -0
  293. package/node_modules/@murphai/core/dist/storage-spine.d.ts.map +1 -0
  294. package/node_modules/@murphai/core/dist/storage-spine.js +3 -0
  295. package/node_modules/@murphai/core/dist/storage-spine.js.map +1 -0
  296. package/node_modules/@murphai/core/dist/time.d.ts +11 -0
  297. package/node_modules/@murphai/core/dist/time.d.ts.map +1 -0
  298. package/node_modules/@murphai/core/dist/time.js +72 -0
  299. package/node_modules/@murphai/core/dist/time.js.map +1 -0
  300. package/node_modules/@murphai/core/dist/types.d.ts +18 -0
  301. package/node_modules/@murphai/core/dist/types.d.ts.map +1 -0
  302. package/node_modules/@murphai/core/dist/types.js +7 -0
  303. package/node_modules/@murphai/core/dist/types.js.map +1 -0
  304. package/node_modules/@murphai/core/dist/vault-core-document.d.ts +8 -0
  305. package/node_modules/@murphai/core/dist/vault-core-document.d.ts.map +1 -0
  306. package/node_modules/@murphai/core/dist/vault-core-document.js +16 -0
  307. package/node_modules/@murphai/core/dist/vault-core-document.js.map +1 -0
  308. package/node_modules/@murphai/core/dist/vault-metadata.d.ts +17 -0
  309. package/node_modules/@murphai/core/dist/vault-metadata.d.ts.map +1 -0
  310. package/node_modules/@murphai/core/dist/vault-metadata.js +44 -0
  311. package/node_modules/@murphai/core/dist/vault-metadata.js.map +1 -0
  312. package/node_modules/@murphai/core/dist/vault-upgrade.d.ts +24 -0
  313. package/node_modules/@murphai/core/dist/vault-upgrade.d.ts.map +1 -0
  314. package/node_modules/@murphai/core/dist/vault-upgrade.js +44 -0
  315. package/node_modules/@murphai/core/dist/vault-upgrade.js.map +1 -0
  316. package/node_modules/@murphai/core/dist/vault.d.ts +40 -0
  317. package/node_modules/@murphai/core/dist/vault.d.ts.map +1 -0
  318. package/node_modules/@murphai/core/dist/vault.js +649 -0
  319. package/node_modules/@murphai/core/dist/vault.js.map +1 -0
  320. package/node_modules/@murphai/core/dist/write-policy.d.ts +63 -0
  321. package/node_modules/@murphai/core/dist/write-policy.d.ts.map +1 -0
  322. package/node_modules/@murphai/core/dist/write-policy.js +146 -0
  323. package/node_modules/@murphai/core/dist/write-policy.js.map +1 -0
  324. package/node_modules/@murphai/core/package.json +27 -0
  325. package/node_modules/@murphai/device-syncd/README.md +123 -0
  326. package/node_modules/@murphai/device-syncd/dist/bin.d.ts +2 -0
  327. package/node_modules/@murphai/device-syncd/dist/bin.d.ts.map +1 -0
  328. package/node_modules/@murphai/device-syncd/dist/bin.js +29 -0
  329. package/node_modules/@murphai/device-syncd/dist/bin.js.map +1 -0
  330. package/node_modules/@murphai/device-syncd/dist/client.d.ts +124 -0
  331. package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -0
  332. package/node_modules/@murphai/device-syncd/dist/client.js +199 -0
  333. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -0
  334. package/node_modules/@murphai/device-syncd/dist/config.d.ts +18 -0
  335. package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -0
  336. package/node_modules/@murphai/device-syncd/dist/config.js +279 -0
  337. package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -0
  338. package/node_modules/@murphai/device-syncd/dist/crypto.d.ts +6 -0
  339. package/node_modules/@murphai/device-syncd/dist/crypto.d.ts.map +1 -0
  340. package/node_modules/@murphai/device-syncd/dist/crypto.js +27 -0
  341. package/node_modules/@murphai/device-syncd/dist/crypto.js.map +1 -0
  342. package/node_modules/@murphai/device-syncd/dist/errors.d.ts +21 -0
  343. package/node_modules/@murphai/device-syncd/dist/errors.d.ts.map +1 -0
  344. package/node_modules/@murphai/device-syncd/dist/errors.js +32 -0
  345. package/node_modules/@murphai/device-syncd/dist/errors.js.map +1 -0
  346. package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts +3 -0
  347. package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts.map +1 -0
  348. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +110 -0
  349. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -0
  350. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +139 -0
  351. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -0
  352. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +336 -0
  353. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -0
  354. package/node_modules/@murphai/device-syncd/dist/http.d.ts +34 -0
  355. package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -0
  356. package/node_modules/@murphai/device-syncd/dist/http.js +644 -0
  357. package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -0
  358. package/node_modules/@murphai/device-syncd/dist/index.d.ts +23 -0
  359. package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -0
  360. package/node_modules/@murphai/device-syncd/dist/index.js +15 -0
  361. package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -0
  362. package/node_modules/@murphai/device-syncd/dist/providers/garmin.d.ts +15 -0
  363. package/node_modules/@murphai/device-syncd/dist/providers/garmin.d.ts.map +1 -0
  364. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js +485 -0
  365. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js.map +1 -0
  366. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.d.ts +49 -0
  367. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.d.ts.map +1 -0
  368. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js +401 -0
  369. package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js.map +1 -0
  370. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts +20 -0
  371. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -0
  372. package/node_modules/@murphai/device-syncd/dist/providers/oura.js +804 -0
  373. package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -0
  374. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +104 -0
  375. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -0
  376. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +214 -0
  377. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -0
  378. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts +15 -0
  379. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -0
  380. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +551 -0
  381. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -0
  382. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +4 -0
  383. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -0
  384. package/node_modules/@murphai/device-syncd/dist/public-account.js +13 -0
  385. package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -0
  386. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +43 -0
  387. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -0
  388. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +353 -0
  389. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -0
  390. package/node_modules/@murphai/device-syncd/dist/registry.d.ts +3 -0
  391. package/node_modules/@murphai/device-syncd/dist/registry.d.ts.map +1 -0
  392. package/node_modules/@murphai/device-syncd/dist/registry.js +5 -0
  393. package/node_modules/@murphai/device-syncd/dist/registry.js.map +1 -0
  394. package/node_modules/@murphai/device-syncd/dist/service.d.ts +61 -0
  395. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -0
  396. package/node_modules/@murphai/device-syncd/dist/service.js +496 -0
  397. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -0
  398. package/node_modules/@murphai/device-syncd/dist/shared.d.ts +26 -0
  399. package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -0
  400. package/node_modules/@murphai/device-syncd/dist/shared.js +182 -0
  401. package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -0
  402. package/node_modules/@murphai/device-syncd/dist/store.d.ts +105 -0
  403. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -0
  404. package/node_modules/@murphai/device-syncd/dist/store.js +965 -0
  405. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -0
  406. package/node_modules/@murphai/device-syncd/dist/types.d.ts +287 -0
  407. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -0
  408. package/node_modules/@murphai/device-syncd/dist/types.js +2 -0
  409. package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -0
  410. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts +14 -0
  411. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts.map +1 -0
  412. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js +16 -0
  413. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js.map +1 -0
  414. package/node_modules/@murphai/device-syncd/package.json +85 -0
  415. package/node_modules/@murphai/importers/README.md +34 -0
  416. package/node_modules/@murphai/importers/dist/assessment/core-port.d.ts +13 -0
  417. package/node_modules/@murphai/importers/dist/assessment/core-port.d.ts.map +1 -0
  418. package/node_modules/@murphai/importers/dist/assessment/core-port.js +13 -0
  419. package/node_modules/@murphai/importers/dist/assessment/core-port.js.map +1 -0
  420. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.d.ts +15 -0
  421. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.d.ts.map +1 -0
  422. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js +32 -0
  423. package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js.map +1 -0
  424. package/node_modules/@murphai/importers/dist/assessment/index.d.ts +4 -0
  425. package/node_modules/@murphai/importers/dist/assessment/index.d.ts.map +1 -0
  426. package/node_modules/@murphai/importers/dist/assessment/index.js +2 -0
  427. package/node_modules/@murphai/importers/dist/assessment/index.js.map +1 -0
  428. package/node_modules/@murphai/importers/dist/core-port.d.ts +119 -0
  429. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -0
  430. package/node_modules/@murphai/importers/dist/core-port.js +22 -0
  431. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -0
  432. package/node_modules/@murphai/importers/dist/create-importers.d.ts +17 -0
  433. package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -0
  434. package/node_modules/@murphai/importers/dist/create-importers.js +68 -0
  435. package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -0
  436. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts +22 -0
  437. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts.map +1 -0
  438. package/node_modules/@murphai/importers/dist/csv-sample-importer.js +153 -0
  439. package/node_modules/@murphai/importers/dist/csv-sample-importer.js.map +1 -0
  440. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts +5 -0
  441. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts.map +1 -0
  442. package/node_modules/@murphai/importers/dist/device-providers/defaults.js +11 -0
  443. package/node_modules/@murphai/importers/dist/device-providers/defaults.js.map +1 -0
  444. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.d.ts +9 -0
  445. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.d.ts.map +1 -0
  446. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.js +172 -0
  447. package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.js.map +1 -0
  448. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.d.ts +12 -0
  449. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.d.ts.map +1 -0
  450. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.js +619 -0
  451. package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.js.map +1 -0
  452. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.d.ts +40 -0
  453. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.d.ts.map +1 -0
  454. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.js +295 -0
  455. package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.js.map +1 -0
  456. package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts +19 -0
  457. package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts.map +1 -0
  458. package/node_modules/@murphai/importers/dist/device-providers/garmin.js +150 -0
  459. package/node_modules/@murphai/importers/dist/device-providers/garmin.js.map +1 -0
  460. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +14 -0
  461. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -0
  462. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +37 -0
  463. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -0
  464. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +10 -0
  465. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -0
  466. package/node_modules/@murphai/importers/dist/device-providers/index.js +8 -0
  467. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -0
  468. package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts +20 -0
  469. package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts.map +1 -0
  470. package/node_modules/@murphai/importers/dist/device-providers/oura.js +602 -0
  471. package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -0
  472. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts +491 -0
  473. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts.map +1 -0
  474. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js +326 -0
  475. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js.map +1 -0
  476. package/node_modules/@murphai/importers/dist/device-providers/registry.d.ts +9 -0
  477. package/node_modules/@murphai/importers/dist/device-providers/registry.d.ts.map +1 -0
  478. package/node_modules/@murphai/importers/dist/device-providers/registry.js +5 -0
  479. package/node_modules/@murphai/importers/dist/device-providers/registry.js.map +1 -0
  480. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts +81 -0
  481. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -0
  482. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +215 -0
  483. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -0
  484. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +12 -0
  485. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -0
  486. package/node_modules/@murphai/importers/dist/device-providers/types.js +2 -0
  487. package/node_modules/@murphai/importers/dist/device-providers/types.js.map +1 -0
  488. package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts +16 -0
  489. package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts.map +1 -0
  490. package/node_modules/@murphai/importers/dist/device-providers/whoop.js +410 -0
  491. package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -0
  492. package/node_modules/@murphai/importers/dist/document-importer.d.ts +15 -0
  493. package/node_modules/@murphai/importers/dist/document-importer.d.ts.map +1 -0
  494. package/node_modules/@murphai/importers/dist/document-importer.js +31 -0
  495. package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -0
  496. package/node_modules/@murphai/importers/dist/index.d.ts +10 -0
  497. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -0
  498. package/node_modules/@murphai/importers/dist/index.js +9 -0
  499. package/node_modules/@murphai/importers/dist/index.js.map +1 -0
  500. package/node_modules/@murphai/importers/dist/meal-importer.d.ts +15 -0
  501. package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -0
  502. package/node_modules/@murphai/importers/dist/meal-importer.js +39 -0
  503. package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -0
  504. package/node_modules/@murphai/importers/dist/preset-registry.d.ts +31 -0
  505. package/node_modules/@murphai/importers/dist/preset-registry.d.ts.map +1 -0
  506. package/node_modules/@murphai/importers/dist/preset-registry.js +96 -0
  507. package/node_modules/@murphai/importers/dist/preset-registry.js.map +1 -0
  508. package/node_modules/@murphai/importers/dist/shared.d.ts +31 -0
  509. package/node_modules/@murphai/importers/dist/shared.d.ts.map +1 -0
  510. package/node_modules/@murphai/importers/dist/shared.js +154 -0
  511. package/node_modules/@murphai/importers/dist/shared.js.map +1 -0
  512. package/node_modules/@murphai/importers/package.json +36 -0
  513. package/node_modules/@murphai/runtime-state/README.md +37 -0
  514. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts +3 -0
  515. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -0
  516. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +80 -0
  517. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -0
  518. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.d.ts +29 -0
  519. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.d.ts.map +1 -0
  520. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js +159 -0
  521. package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js.map +1 -0
  522. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts +33 -0
  523. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts.map +1 -0
  524. package/node_modules/@murphai/runtime-state/dist/assistant-state.js +47 -0
  525. package/node_modules/@murphai/runtime-state/dist/assistant-state.js.map +1 -0
  526. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +56 -0
  527. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -0
  528. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +189 -0
  529. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -0
  530. package/node_modules/@murphai/runtime-state/dist/atomic-write.d.ts +7 -0
  531. package/node_modules/@murphai/runtime-state/dist/atomic-write.d.ts.map +1 -0
  532. package/node_modules/@murphai/runtime-state/dist/atomic-write.js +27 -0
  533. package/node_modules/@murphai/runtime-state/dist/atomic-write.js.map +1 -0
  534. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.d.ts +3 -0
  535. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.d.ts.map +1 -0
  536. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.js +12 -0
  537. package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.js.map +1 -0
  538. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.d.ts +3 -0
  539. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.d.ts.map +1 -0
  540. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.js +13 -0
  541. package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.js.map +1 -0
  542. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.d.ts +43 -0
  543. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.d.ts.map +1 -0
  544. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.js +203 -0
  545. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.js.map +1 -0
  546. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts +13 -0
  547. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts.map +1 -0
  548. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.js +46 -0
  549. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.js.map +1 -0
  550. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts +67 -0
  551. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts.map +1 -0
  552. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +261 -0
  553. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js.map +1 -0
  554. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +31 -0
  555. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -0
  556. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +211 -0
  557. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -0
  558. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +50 -0
  559. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -0
  560. package/node_modules/@murphai/runtime-state/dist/hosted-email.js +191 -0
  561. package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -0
  562. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts +14 -0
  563. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts.map +1 -0
  564. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js +59 -0
  565. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js.map +1 -0
  566. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts +83 -0
  567. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts.map +1 -0
  568. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js +308 -0
  569. package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js.map +1 -0
  570. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.d.ts +3 -0
  571. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.d.ts.map +1 -0
  572. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.js +18 -0
  573. package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.js.map +1 -0
  574. package/node_modules/@murphai/runtime-state/dist/index.d.ts +7 -0
  575. package/node_modules/@murphai/runtime-state/dist/index.d.ts.map +1 -0
  576. package/node_modules/@murphai/runtime-state/dist/index.js +7 -0
  577. package/node_modules/@murphai/runtime-state/dist/index.js.map +1 -0
  578. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.d.ts +31 -0
  579. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.d.ts.map +1 -0
  580. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js +120 -0
  581. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js.map +1 -0
  582. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts +3 -0
  583. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts.map +1 -0
  584. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js +17 -0
  585. package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js.map +1 -0
  586. package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts +10 -0
  587. package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts.map +1 -0
  588. package/node_modules/@murphai/runtime-state/dist/local-state-files.js +27 -0
  589. package/node_modules/@murphai/runtime-state/dist/local-state-files.js.map +1 -0
  590. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.d.ts +29 -0
  591. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.d.ts.map +1 -0
  592. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.js +82 -0
  593. package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.js.map +1 -0
  594. package/node_modules/@murphai/runtime-state/dist/locks.d.ts +46 -0
  595. package/node_modules/@murphai/runtime-state/dist/locks.d.ts.map +1 -0
  596. package/node_modules/@murphai/runtime-state/dist/locks.js +187 -0
  597. package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -0
  598. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts +4 -0
  599. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts.map +1 -0
  600. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js +35 -0
  601. package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js.map +1 -0
  602. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +22 -0
  603. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -0
  604. package/node_modules/@murphai/runtime-state/dist/node/index.js +22 -0
  605. package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -0
  606. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.d.ts +3 -0
  607. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.d.ts.map +1 -0
  608. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.js +12 -0
  609. package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.js.map +1 -0
  610. package/node_modules/@murphai/runtime-state/dist/process-env.d.ts +4 -0
  611. package/node_modules/@murphai/runtime-state/dist/process-env.d.ts.map +1 -0
  612. package/node_modules/@murphai/runtime-state/dist/process-env.js +124 -0
  613. package/node_modules/@murphai/runtime-state/dist/process-env.js.map +1 -0
  614. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.d.ts +3 -0
  615. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.d.ts.map +1 -0
  616. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.js +13 -0
  617. package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.js.map +1 -0
  618. package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts +48 -0
  619. package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts.map +1 -0
  620. package/node_modules/@murphai/runtime-state/dist/runtime-paths.js +93 -0
  621. package/node_modules/@murphai/runtime-state/dist/runtime-paths.js.map +1 -0
  622. package/node_modules/@murphai/runtime-state/dist/shared.d.ts +14 -0
  623. package/node_modules/@murphai/runtime-state/dist/shared.d.ts.map +1 -0
  624. package/node_modules/@murphai/runtime-state/dist/shared.js +46 -0
  625. package/node_modules/@murphai/runtime-state/dist/shared.js.map +1 -0
  626. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts +26 -0
  627. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts.map +1 -0
  628. package/node_modules/@murphai/runtime-state/dist/sqlite.js +110 -0
  629. package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -0
  630. package/node_modules/@murphai/runtime-state/dist/ulid.d.ts +5 -0
  631. package/node_modules/@murphai/runtime-state/dist/ulid.d.ts.map +1 -0
  632. package/node_modules/@murphai/runtime-state/dist/ulid.js +31 -0
  633. package/node_modules/@murphai/runtime-state/dist/ulid.js.map +1 -0
  634. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.d.ts +24 -0
  635. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.d.ts.map +1 -0
  636. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js +30 -0
  637. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js.map +1 -0
  638. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.d.ts +18 -0
  639. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.d.ts.map +1 -0
  640. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.js +25 -0
  641. package/node_modules/@murphai/runtime-state/dist/versioned-json-state.js.map +1 -0
  642. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.d.ts +3 -0
  643. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.d.ts.map +1 -0
  644. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.js +12 -0
  645. package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.js.map +1 -0
  646. package/node_modules/@murphai/runtime-state/package.json +30 -0
  647. package/package.json +45 -11
  648. package/dist/.tsbuildinfo +0 -1
  649. package/dist/callback-hosts.d.ts +0 -19
  650. package/dist/callback-hosts.d.ts.map +0 -1
  651. package/dist/callback-hosts.js +0 -19
  652. package/dist/callback-hosts.js.map +0 -1
  653. package/dist/web-control-plane.d.ts +0 -105
  654. package/dist/web-control-plane.d.ts.map +0 -1
  655. package/dist/web-control-plane.js +0 -358
  656. package/dist/web-control-plane.js.map +0 -1
@@ -0,0 +1,159 @@
1
+ import { appendFile, chmod, lstat, mkdir, readdir } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { ASSISTANT_RUNTIME_DIRECTORY_NAME, } from "./shared.js";
4
+ export const ASSISTANT_STATE_DIRECTORY_MODE = 0o700;
5
+ export const ASSISTANT_STATE_FILE_MODE = 0o600;
6
+ export function isAssistantStatePath(targetPath) {
7
+ const absolutePath = path.resolve(targetPath);
8
+ const segments = absolutePath.split(path.sep).filter((segment) => segment.length > 0);
9
+ return hasAssistantRuntimeRootSegments(segments);
10
+ }
11
+ export async function ensureAssistantStateDirectory(directoryPath) {
12
+ await mkdir(directoryPath, { recursive: true });
13
+ if (!isAssistantStatePath(directoryPath)) {
14
+ return;
15
+ }
16
+ await applyAssistantStateDirectoryModes(directoryPath);
17
+ }
18
+ export async function ensureAssistantStateParentDirectory(filePath) {
19
+ await ensureAssistantStateDirectory(path.dirname(filePath));
20
+ }
21
+ export function resolveAssistantStateFileMode(filePath, explicitMode) {
22
+ if (typeof explicitMode === 'number') {
23
+ return explicitMode;
24
+ }
25
+ return isAssistantStatePath(filePath) ? ASSISTANT_STATE_FILE_MODE : undefined;
26
+ }
27
+ export async function appendTextFileWithMode(filePath, value, options = {}) {
28
+ const fileMode = resolveAssistantStateFileMode(filePath, options.mode);
29
+ await ensureAssistantStateParentDirectory(filePath);
30
+ await appendFile(filePath, value, 'utf8');
31
+ if (typeof fileMode === 'number') {
32
+ await chmod(filePath, fileMode);
33
+ }
34
+ }
35
+ export async function auditAssistantStatePermissions(input) {
36
+ const rootPath = path.resolve(input.rootPath);
37
+ const issues = [];
38
+ let incorrectEntries = 0;
39
+ let repairedEntries = 0;
40
+ let scannedDirectories = 0;
41
+ let scannedFiles = 0;
42
+ let scannedOtherEntries = 0;
43
+ async function visit(currentPath) {
44
+ let stats;
45
+ try {
46
+ stats = await lstat(currentPath);
47
+ }
48
+ catch (error) {
49
+ if (error &&
50
+ typeof error === 'object' &&
51
+ 'code' in error &&
52
+ error.code === 'ENOENT') {
53
+ return;
54
+ }
55
+ throw error;
56
+ }
57
+ if (stats.isDirectory()) {
58
+ scannedDirectories += 1;
59
+ const actualMode = stats.mode & 0o777;
60
+ const expectedMode = ASSISTANT_STATE_DIRECTORY_MODE;
61
+ let repaired = false;
62
+ if (actualMode !== expectedMode) {
63
+ incorrectEntries += 1;
64
+ if (input.repair) {
65
+ await chmod(currentPath, expectedMode);
66
+ repaired = true;
67
+ repairedEntries += 1;
68
+ }
69
+ issues.push({
70
+ actualMode,
71
+ entryKind: 'directory',
72
+ expectedMode,
73
+ path: currentPath,
74
+ repaired,
75
+ });
76
+ }
77
+ const entries = await readdir(currentPath, { withFileTypes: true });
78
+ for (const entry of entries) {
79
+ await visit(path.join(currentPath, entry.name));
80
+ }
81
+ return;
82
+ }
83
+ if (stats.isFile()) {
84
+ scannedFiles += 1;
85
+ const actualMode = stats.mode & 0o777;
86
+ const expectedMode = ASSISTANT_STATE_FILE_MODE;
87
+ let repaired = false;
88
+ if (actualMode !== expectedMode) {
89
+ incorrectEntries += 1;
90
+ if (input.repair) {
91
+ await chmod(currentPath, expectedMode);
92
+ repaired = true;
93
+ repairedEntries += 1;
94
+ }
95
+ issues.push({
96
+ actualMode,
97
+ entryKind: 'file',
98
+ expectedMode,
99
+ path: currentPath,
100
+ repaired,
101
+ });
102
+ }
103
+ return;
104
+ }
105
+ scannedOtherEntries += 1;
106
+ incorrectEntries += 1;
107
+ issues.push({
108
+ actualMode: null,
109
+ entryKind: 'other',
110
+ expectedMode: null,
111
+ path: currentPath,
112
+ repaired: false,
113
+ });
114
+ }
115
+ await visit(rootPath);
116
+ return {
117
+ incorrectEntries,
118
+ issues,
119
+ repairedEntries,
120
+ scannedDirectories,
121
+ scannedFiles,
122
+ scannedOtherEntries,
123
+ };
124
+ }
125
+ async function applyAssistantStateDirectoryModes(directoryPath) {
126
+ const absolutePath = path.resolve(directoryPath);
127
+ const { root } = path.parse(absolutePath);
128
+ const relativeSegments = path
129
+ .relative(root, absolutePath)
130
+ .split(path.sep)
131
+ .filter((segment) => segment.length > 0);
132
+ let currentPath = root;
133
+ const assistantRuntimeRootIndex = findAssistantRuntimeRootIndex(relativeSegments);
134
+ if (assistantRuntimeRootIndex < 0) {
135
+ return;
136
+ }
137
+ for (let index = 0; index < relativeSegments.length; index += 1) {
138
+ const segment = relativeSegments[index];
139
+ currentPath = currentPath ? path.join(currentPath, segment) : segment;
140
+ if (index < assistantRuntimeRootIndex) {
141
+ continue;
142
+ }
143
+ await chmod(currentPath, ASSISTANT_STATE_DIRECTORY_MODE);
144
+ }
145
+ }
146
+ function hasAssistantRuntimeRootSegments(segments) {
147
+ return findAssistantRuntimeRootIndex(segments) >= 0;
148
+ }
149
+ function findAssistantRuntimeRootIndex(segments) {
150
+ for (let index = 0; index <= segments.length - 3; index += 1) {
151
+ if (segments[index] === '.runtime' &&
152
+ segments[index + 1] === 'operations' &&
153
+ segments[index + 2] === ASSISTANT_RUNTIME_DIRECTORY_NAME) {
154
+ return index;
155
+ }
156
+ }
157
+ return -1;
158
+ }
159
+ //# sourceMappingURL=assistant-state-security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-state-security.js","sourceRoot":"","sources":["../src/assistant-state-security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface AssistantStatePaths {
2
+ absoluteVaultRoot: string;
3
+ assistantStateRoot: string;
4
+ automationStatePath: string;
5
+ cronDirectory: string;
6
+ cronAutomationStatePath: string;
7
+ cronJobsPath: string;
8
+ cronRunsDirectory: string;
9
+ diagnosticsDirectory: string;
10
+ diagnosticEventsPath: string;
11
+ diagnosticSnapshotPath: string;
12
+ failoverStatePath: string;
13
+ indexesPath: string;
14
+ journalsDirectory: string;
15
+ outboxDirectory: string;
16
+ outboxQuarantineDirectory: string;
17
+ providerRouteRecoveryDirectory: string;
18
+ providerRouteRecoverySecretsDirectory: string;
19
+ quarantineDirectory: string;
20
+ secretsDirectory: string;
21
+ sessionSecretsDirectory: string;
22
+ resourceBudgetPath: string;
23
+ runtimeEventsPath: string;
24
+ sessionsDirectory: string;
25
+ stateDirectory: string;
26
+ statusPath: string;
27
+ transcriptsDirectory: string;
28
+ turnsDirectory: string;
29
+ usageDirectory: string;
30
+ usagePendingDirectory: string;
31
+ }
32
+ export declare function resolveAssistantStatePaths(vaultRoot: string): AssistantStatePaths;
33
+ //# sourceMappingURL=assistant-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-state.d.ts","sourceRoot":"","sources":["../src/assistant-state.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B,EAAE,MAAM,CAAC;IACvC,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CA+CjF"}
@@ -0,0 +1,47 @@
1
+ import path from "node:path";
2
+ import { resolveRuntimePaths, ASSISTANT_RUNTIME_DIRECTORY_RELATIVE_PATH } from "./runtime-paths.js";
3
+ export function resolveAssistantStatePaths(vaultRoot) {
4
+ const { absoluteVaultRoot } = resolveRuntimePaths(vaultRoot);
5
+ const rootPath = path.join(absoluteVaultRoot, ASSISTANT_RUNTIME_DIRECTORY_RELATIVE_PATH);
6
+ const cronDirectory = path.join(rootPath, "cron");
7
+ const diagnosticsDirectory = path.join(rootPath, "diagnostics");
8
+ const journalsDirectory = path.join(rootPath, "journals");
9
+ const outboxDirectory = path.join(rootPath, "outbox");
10
+ const turnsDirectory = path.join(rootPath, "receipts");
11
+ const secretsDirectory = path.join(rootPath, "secrets");
12
+ const sessionSecretsDirectory = path.join(secretsDirectory, "sessions");
13
+ const providerRouteRecoverySecretsDirectory = path.join(secretsDirectory, "provider-route-recovery");
14
+ const usageDirectory = path.join(rootPath, "usage");
15
+ return {
16
+ absoluteVaultRoot,
17
+ assistantStateRoot: rootPath,
18
+ automationStatePath: path.join(rootPath, "automation-state.json"),
19
+ cronDirectory,
20
+ cronAutomationStatePath: path.join(cronDirectory, "automation-runtime.json"),
21
+ cronJobsPath: path.join(cronDirectory, "jobs.json"),
22
+ cronRunsDirectory: path.join(cronDirectory, "runs"),
23
+ diagnosticsDirectory,
24
+ diagnosticEventsPath: path.join(diagnosticsDirectory, "events.jsonl"),
25
+ diagnosticSnapshotPath: path.join(diagnosticsDirectory, "snapshot.json"),
26
+ failoverStatePath: path.join(rootPath, "failover.json"),
27
+ indexesPath: path.join(rootPath, "indexes.json"),
28
+ journalsDirectory,
29
+ outboxDirectory,
30
+ outboxQuarantineDirectory: path.join(outboxDirectory, ".quarantine"),
31
+ providerRouteRecoveryDirectory: path.join(rootPath, "provider-route-recovery"),
32
+ providerRouteRecoverySecretsDirectory,
33
+ quarantineDirectory: path.join(rootPath, "quarantine"),
34
+ secretsDirectory,
35
+ sessionSecretsDirectory,
36
+ resourceBudgetPath: path.join(rootPath, "runtime-budgets.json"),
37
+ runtimeEventsPath: path.join(journalsDirectory, "runtime-events.jsonl"),
38
+ sessionsDirectory: path.join(rootPath, "sessions"),
39
+ stateDirectory: path.join(rootPath, "state"),
40
+ statusPath: path.join(rootPath, "status.json"),
41
+ transcriptsDirectory: path.join(rootPath, "transcripts"),
42
+ turnsDirectory,
43
+ usageDirectory,
44
+ usagePendingDirectory: path.join(usageDirectory, "pending"),
45
+ };
46
+ }
47
+ //# sourceMappingURL=assistant-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-state.js","sourceRoot":"","sources":["../src/assistant-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type AssistantStatePaths } from "./assistant-state.ts";
2
+ export declare const ASSISTANT_USAGE_SCHEMA = "murph.assistant-usage.v1";
3
+ export type AssistantUsageCredentialSource = "member" | "platform" | "unknown";
4
+ export interface AssistantUsageRecord {
5
+ apiKeyEnv: string | null;
6
+ attemptCount: number;
7
+ baseUrl: string | null;
8
+ cacheWriteTokens: number | null;
9
+ cachedInputTokens: number | null;
10
+ credentialSource: AssistantUsageCredentialSource;
11
+ inputTokens: number | null;
12
+ memberId: string | null;
13
+ occurredAt: string;
14
+ outputTokens: number | null;
15
+ provider: string;
16
+ providerMetadataJson: unknown | null;
17
+ providerName: string | null;
18
+ providerRequestId: string | null;
19
+ providerSessionId: string | null;
20
+ rawUsageJson: unknown | null;
21
+ reasoningTokens: number | null;
22
+ requestedModel: string | null;
23
+ routeId: string | null;
24
+ schema: typeof ASSISTANT_USAGE_SCHEMA;
25
+ servedModel: string | null;
26
+ sessionId: string;
27
+ totalTokens: number | null;
28
+ turnId: string;
29
+ usageId: string;
30
+ }
31
+ export declare function createAssistantUsageId(input: {
32
+ attemptCount: number;
33
+ turnId: string;
34
+ }): string;
35
+ export declare function resolvePendingAssistantUsagePath(paths: AssistantStatePaths, usageId: string): string;
36
+ export declare function writePendingAssistantUsageRecord(input: {
37
+ paths?: AssistantStatePaths;
38
+ record: AssistantUsageRecord;
39
+ vault?: string;
40
+ }): Promise<void>;
41
+ export declare function listPendingAssistantUsageRecords(input: {
42
+ paths?: AssistantStatePaths;
43
+ vault?: string;
44
+ }): Promise<AssistantUsageRecord[]>;
45
+ export declare function deletePendingAssistantUsageRecord(input: {
46
+ paths?: AssistantStatePaths;
47
+ usageId: string;
48
+ vault?: string;
49
+ }): Promise<void>;
50
+ export declare function parseAssistantUsageRecord(value: unknown): AssistantUsageRecord;
51
+ export declare function resolveAssistantUsageCredentialSource(input: {
52
+ apiKeyEnv: string | null;
53
+ provider: string;
54
+ userEnvKeys: Iterable<string>;
55
+ }): AssistantUsageCredentialSource;
56
+ //# sourceMappingURL=assistant-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-usage.d.ts","sourceRoot":"","sources":["../src/assistant-usage.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAwBjE,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,8BAA8B,CAAC;IACjD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,sBAAsB,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAKT;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhB;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgClC;AAED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAgC9E;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC/B,GAAG,8BAA8B,CAcjC"}
@@ -0,0 +1,189 @@
1
+ import { readdir, readFile, rm } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { writeJsonFileAtomic } from "./atomic-write.js";
4
+ import { ensureAssistantStateDirectory } from "./assistant-state-security.js";
5
+ import { resolveAssistantStatePaths, } from "./assistant-state.js";
6
+ export const ASSISTANT_USAGE_SCHEMA = "murph.assistant-usage.v1";
7
+ const HOSTED_MEMBER_AI_CREDENTIAL_ENV_KEYS = new Set([
8
+ "ANTHROPIC_API_KEY",
9
+ "CEREBRAS_API_KEY",
10
+ "DEEPSEEK_API_KEY",
11
+ "FIREWORKS_API_KEY",
12
+ "GOOGLE_GENERATIVE_AI_API_KEY",
13
+ "GROQ_API_KEY",
14
+ "HF_TOKEN",
15
+ "HUGGINGFACEHUB_API_TOKEN",
16
+ "HUGGINGFACE_API_KEY",
17
+ "HUGGING_FACE_HUB_TOKEN",
18
+ "LITELLM_PROXY_API_KEY",
19
+ "MISTRAL_API_KEY",
20
+ "NVIDIA_API_KEY",
21
+ "NGC_API_KEY",
22
+ "OPENAI_API_KEY",
23
+ "OPENROUTER_API_KEY",
24
+ "PERPLEXITY_API_KEY",
25
+ "TOGETHER_API_KEY",
26
+ "VENICE_API_KEY",
27
+ "XAI_API_KEY",
28
+ ]);
29
+ export function createAssistantUsageId(input) {
30
+ const attemptCount = normalizeRequiredInteger(input.attemptCount, "attemptCount");
31
+ const turnId = normalizeRequiredString(input.turnId, "turnId");
32
+ return `${turnId}.attempt-${attemptCount}`;
33
+ }
34
+ export function resolvePendingAssistantUsagePath(paths, usageId) {
35
+ return path.join(paths.usagePendingDirectory, `${normalizeRequiredString(usageId, "usageId")}.json`);
36
+ }
37
+ export async function writePendingAssistantUsageRecord(input) {
38
+ const paths = resolveAssistantUsagePaths(input.vault, input.paths);
39
+ const record = parseAssistantUsageRecord(input.record);
40
+ await ensureAssistantStateDirectory(paths.usagePendingDirectory);
41
+ await writeJsonFileAtomic(resolvePendingAssistantUsagePath(paths, record.usageId), record);
42
+ }
43
+ export async function listPendingAssistantUsageRecords(input) {
44
+ const paths = resolveAssistantUsagePaths(input.vault, input.paths);
45
+ try {
46
+ const entries = await readdir(paths.usagePendingDirectory, {
47
+ withFileTypes: true,
48
+ });
49
+ const records = await Promise.all(entries
50
+ .filter((entry) => entry.isFile() && entry.name.endsWith(".json"))
51
+ .map(async (entry) => {
52
+ const raw = await readFile(path.join(paths.usagePendingDirectory, entry.name), "utf8");
53
+ return parseAssistantUsageRecord(JSON.parse(raw));
54
+ }));
55
+ return records.sort((left, right) => {
56
+ const occurredAtOrder = left.occurredAt.localeCompare(right.occurredAt);
57
+ if (occurredAtOrder !== 0) {
58
+ return occurredAtOrder;
59
+ }
60
+ return left.usageId.localeCompare(right.usageId);
61
+ });
62
+ }
63
+ catch (error) {
64
+ if (isMissingFileError(error)) {
65
+ return [];
66
+ }
67
+ throw error;
68
+ }
69
+ }
70
+ export async function deletePendingAssistantUsageRecord(input) {
71
+ const paths = resolveAssistantUsagePaths(input.vault, input.paths);
72
+ await rm(resolvePendingAssistantUsagePath(paths, input.usageId), {
73
+ force: true,
74
+ });
75
+ }
76
+ export function parseAssistantUsageRecord(value) {
77
+ const record = requireRecord(value, "assistant usage record");
78
+ const inputTokens = normalizeOptionalInteger(record.inputTokens, "inputTokens");
79
+ const outputTokens = normalizeOptionalInteger(record.outputTokens, "outputTokens");
80
+ return {
81
+ apiKeyEnv: normalizeOptionalString(record.apiKeyEnv, "apiKeyEnv"),
82
+ attemptCount: normalizeRequiredInteger(record.attemptCount, "attemptCount"),
83
+ baseUrl: normalizeOptionalString(record.baseUrl, "baseUrl"),
84
+ cacheWriteTokens: normalizeOptionalInteger(record.cacheWriteTokens, "cacheWriteTokens"),
85
+ cachedInputTokens: normalizeOptionalInteger(record.cachedInputTokens, "cachedInputTokens"),
86
+ credentialSource: normalizeCredentialSource(record.credentialSource),
87
+ inputTokens,
88
+ memberId: normalizeOptionalString(record.memberId, "memberId"),
89
+ occurredAt: normalizeRequiredString(record.occurredAt, "occurredAt"),
90
+ outputTokens,
91
+ provider: normalizeRequiredString(record.provider, "provider"),
92
+ providerMetadataJson: record.providerMetadataJson ?? null,
93
+ providerName: normalizeOptionalString(record.providerName, "providerName"),
94
+ providerRequestId: normalizeOptionalString(record.providerRequestId, "providerRequestId"),
95
+ providerSessionId: normalizeOptionalString(record.providerSessionId, "providerSessionId"),
96
+ rawUsageJson: record.rawUsageJson ?? null,
97
+ reasoningTokens: normalizeOptionalInteger(record.reasoningTokens, "reasoningTokens"),
98
+ requestedModel: normalizeOptionalString(record.requestedModel, "requestedModel"),
99
+ routeId: normalizeOptionalString(record.routeId, "routeId"),
100
+ schema: normalizeUsageSchema(record.schema),
101
+ servedModel: normalizeOptionalString(record.servedModel, "servedModel"),
102
+ sessionId: normalizeRequiredString(record.sessionId, "sessionId"),
103
+ totalTokens: normalizeOptionalInteger(record.totalTokens, "totalTokens"),
104
+ turnId: normalizeRequiredString(record.turnId, "turnId"),
105
+ usageId: normalizeRequiredString(record.usageId, "usageId"),
106
+ };
107
+ }
108
+ export function resolveAssistantUsageCredentialSource(input) {
109
+ const userEnvKeys = new Set([...input.userEnvKeys].map((key) => normalizeRequiredString(key, "userEnvKey")));
110
+ if (!input.apiKeyEnv) {
111
+ if (input.provider === "codex-cli" && hasHostedMemberAiCredential(userEnvKeys)) {
112
+ return "unknown";
113
+ }
114
+ return "platform";
115
+ }
116
+ return userEnvKeys.has(input.apiKeyEnv) ? "member" : "platform";
117
+ }
118
+ function resolveAssistantUsagePaths(vault, paths) {
119
+ if (paths) {
120
+ return paths;
121
+ }
122
+ if (!vault) {
123
+ throw new TypeError("vault or paths is required when resolving assistant usage state.");
124
+ }
125
+ return resolveAssistantStatePaths(vault);
126
+ }
127
+ function requireRecord(value, label) {
128
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
129
+ throw new TypeError(`${label} must be a JSON object.`);
130
+ }
131
+ return value;
132
+ }
133
+ function normalizeUsageSchema(value) {
134
+ const schema = normalizeRequiredString(value, "schema");
135
+ if (schema !== ASSISTANT_USAGE_SCHEMA) {
136
+ throw new TypeError(`assistant usage record schema must be ${ASSISTANT_USAGE_SCHEMA}.`);
137
+ }
138
+ return ASSISTANT_USAGE_SCHEMA;
139
+ }
140
+ function normalizeCredentialSource(value) {
141
+ const normalized = normalizeRequiredString(value, "credentialSource");
142
+ if (normalized !== "member" && normalized !== "platform" && normalized !== "unknown") {
143
+ throw new TypeError("credentialSource must be 'member', 'platform', or 'unknown'.");
144
+ }
145
+ return normalized;
146
+ }
147
+ function normalizeRequiredString(value, label) {
148
+ const normalized = normalizeOptionalString(value, label);
149
+ if (!normalized) {
150
+ throw new TypeError(`${label} must be a non-empty string.`);
151
+ }
152
+ return normalized;
153
+ }
154
+ function normalizeOptionalString(value, label) {
155
+ if (value === null || value === undefined) {
156
+ return null;
157
+ }
158
+ if (typeof value !== "string") {
159
+ throw new TypeError(`${label} must be a string when provided.`);
160
+ }
161
+ const normalized = value.trim();
162
+ return normalized.length > 0 ? normalized : null;
163
+ }
164
+ function normalizeRequiredInteger(value, label) {
165
+ const normalized = normalizeOptionalInteger(value, label);
166
+ if (normalized === null) {
167
+ throw new TypeError(`${label} must be a whole number.`);
168
+ }
169
+ return normalized;
170
+ }
171
+ function normalizeOptionalInteger(value, label) {
172
+ if (value === null || value === undefined) {
173
+ return null;
174
+ }
175
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0) {
176
+ throw new TypeError(`${label} must be a non-negative integer when provided.`);
177
+ }
178
+ return value;
179
+ }
180
+ function isMissingFileError(error) {
181
+ return Boolean(error
182
+ && typeof error === "object"
183
+ && "code" in error
184
+ && error.code === "ENOENT");
185
+ }
186
+ function hasHostedMemberAiCredential(userEnvKeys) {
187
+ return [...userEnvKeys].some((key) => HOSTED_MEMBER_AI_CREDENTIAL_ENV_KEYS.has(key));
188
+ }
189
+ //# sourceMappingURL=assistant-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-usage.js","sourceRoot":"","sources":["../src/assistant-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface AtomicWriteOptions {
2
+ mode?: number;
3
+ trailingNewline?: boolean;
4
+ }
5
+ export declare function writeTextFileAtomic(filePath: string, value: string, options?: AtomicWriteOptions): Promise<void>;
6
+ export declare function writeJsonFileAtomic(filePath: string, value: unknown, options?: AtomicWriteOptions): Promise<void>;
7
+ //# sourceMappingURL=atomic-write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-write.d.ts","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -0,0 +1,27 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { chmod, rename, rm, writeFile } from "node:fs/promises";
3
+ import { ensureAssistantStateParentDirectory, resolveAssistantStateFileMode, } from "./assistant-state-security.js";
4
+ export async function writeTextFileAtomic(filePath, value, options = {}) {
5
+ const normalizedValue = options.trailingNewline && !value.endsWith("\n") ? `${value}\n` : value;
6
+ const tempPath = `${filePath}.${randomUUID().replace(/-/g, "")}.tmp`;
7
+ const mode = resolveAssistantStateFileMode(filePath, options.mode);
8
+ await ensureAssistantStateParentDirectory(filePath);
9
+ try {
10
+ await writeFile(tempPath, normalizedValue, "utf8");
11
+ if (typeof mode === "number") {
12
+ await chmod(tempPath, mode);
13
+ }
14
+ await rename(tempPath, filePath);
15
+ }
16
+ catch (error) {
17
+ await rm(tempPath, { force: true });
18
+ throw error;
19
+ }
20
+ }
21
+ export async function writeJsonFileAtomic(filePath, value, options = {}) {
22
+ await writeTextFileAtomic(filePath, JSON.stringify(value, null, 2), {
23
+ ...options,
24
+ trailingNewline: options.trailingNewline ?? true,
25
+ });
26
+ }
27
+ //# sourceMappingURL=atomic-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,mCAAmC,EACnC,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAOvC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,KAAa,EACb,UAA8B,EAAE;IAEhC,MAAM,eAAe,GACnB,OAAO,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,GAAG,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE,MAAM,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,KAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAClE,GAAG,OAAO;QACV,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type VaultLocalStatePathDescriptor } from "./local-state-descriptor-helpers.ts";
2
+ export declare const deviceSyncLocalStateDescriptors: readonly VaultLocalStatePathDescriptor[];
3
+ //# sourceMappingURL=device-sync-local-state-descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-sync-local-state-descriptors.d.ts","sourceRoot":"","sources":["../src/device-sync-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAC;AAE7C,eAAO,MAAM,+BAA+B,EAAE,SAAS,6BAA6B,EAU1E,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { defineLocalStateSubtreeDescriptor, } from "./local-state-descriptor-helpers.js";
2
+ export const deviceSyncLocalStateDescriptors = [
3
+ defineLocalStateSubtreeDescriptor({
4
+ classification: "operational",
5
+ description: "Device-sync runtime state, credentials, launcher metadata, and logs are machine-local operational state.",
6
+ owner: "device-sync-runtime",
7
+ portability: "machine_local",
8
+ rebuildable: false,
9
+ relativePath: ".runtime/operations/device-sync",
10
+ }),
11
+ ];
12
+ //# sourceMappingURL=device-sync-local-state-descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-sync-local-state-descriptors.js","sourceRoot":"","sources":["../src/device-sync-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,qCAAqC,CAAC;AAE7C,MAAM,CAAC,MAAM,+BAA+B,GAA6C;IACvF,iCAAiC,CAAC;QAChC,cAAc,EAAE,aAAa;QAC7B,WAAW,EACT,0GAA0G;QAC5G,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,iCAAiC;KAChD,CAAC;CACM,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type VaultLocalStatePathDescriptor } from "./local-state-descriptor-helpers.ts";
2
+ export declare const gatewayLocalStateDescriptors: readonly VaultLocalStatePathDescriptor[];
3
+ //# sourceMappingURL=gateway-local-state-descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-local-state-descriptors.d.ts","sourceRoot":"","sources":["../src/gateway-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAC;AAI7C,eAAO,MAAM,4BAA4B,EAAE,SAAS,6BAA6B,EAUvE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { defineLocalStateFileDescriptor, } from "./local-state-descriptor-helpers.js";
2
+ const GATEWAY_LOCAL_OWNER = "gateway-local";
3
+ export const gatewayLocalStateDescriptors = [
4
+ defineLocalStateFileDescriptor({
5
+ classification: "projection",
6
+ description: "Gateway-local owns the rebuildable local gateway projection store derived from canonical vault evidence plus local gateway runtime inputs.",
7
+ owner: GATEWAY_LOCAL_OWNER,
8
+ portability: "machine_local",
9
+ rebuildable: true,
10
+ relativePath: ".runtime/projections/gateway.sqlite",
11
+ }),
12
+ ];
13
+ //# sourceMappingURL=gateway-local-state-descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-local-state-descriptors.js","sourceRoot":"","sources":["../src/gateway-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,GAE/B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,4BAA4B,GAA6C;IACpF,8BAA8B,CAAC;QAC7B,cAAc,EAAE,YAAY;QAC5B,WAAW,EACT,4IAA4I;QAC9I,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,qCAAqC;KACpD,CAAC;CACM,CAAC"}