@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
@@ -1,670 +0,0 @@
1
- /**
2
- * Shared Mapbox route estimation helper used by the CLI surface.
3
- *
4
- * Privacy posture:
5
- * - the access token stays in env only
6
- * - forward geocoding stays temporary and is not cached by this helper
7
- * - route geometry is only returned when explicitly requested
8
- * - elevation, when requested, is approximate and derived from bounded contour samples
9
- */
10
- import { errorMessage, normalizeNullableString } from '@murphai/operator-config/text/shared';
11
- import { z } from 'zod';
12
- const MAPBOX_DIRECTIONS_API_VERSION = 'v5';
13
- const MAPBOX_GEOCODING_API_VERSION = 'v6';
14
- const DEFAULT_MAPBOX_TIMEOUT_MS = 10_000;
15
- const MAX_MAPBOX_TIMEOUT_MS = 30_000;
16
- const DEFAULT_ELEVATION_QUERY_RADIUS_METERS = 50;
17
- const DEFAULT_ELEVATION_SAMPLE_SPACING_METERS = 500;
18
- const DEFAULT_MAX_ELEVATION_SAMPLES = 16;
19
- const MAX_ELEVATION_SAMPLES = 24;
20
- const MAX_ROUTE_COORDINATES = 25;
21
- const MAX_ROUTE_WAYPOINTS = MAX_ROUTE_COORDINATES - 2;
22
- const coordinateLiteralPattern = /^\s*(-?(?:\d+(?:\.\d+)?|\.\d+))\s*,\s*(-?(?:\d+(?:\.\d+)?|\.\d+))\s*$/u;
23
- export const mapboxRouteProfileValues = [
24
- 'walking',
25
- 'cycling',
26
- 'driving',
27
- 'driving-traffic',
28
- ];
29
- export const mapboxRouteProfileSchema = z.enum(mapboxRouteProfileValues);
30
- const longitudeSchema = z.number().gte(-180).lte(180);
31
- const latitudeSchema = z.number().gte(-90).lte(90);
32
- const coordinateTupleSchema = z.tuple([longitudeSchema, latitudeSchema]);
33
- const coordinatePointSchema = z.object({
34
- longitude: longitudeSchema,
35
- latitude: latitudeSchema,
36
- name: z.string().min(1).optional(),
37
- });
38
- const pointRoleSchema = z.enum(['origin', 'waypoint', 'destination']);
39
- const pointSourceSchema = z.enum([
40
- 'coordinates',
41
- 'coordinate-literal',
42
- 'geocoded-query',
43
- ]);
44
- const elevationSourceSchema = z.enum(['none', 'mapbox-terrain-v2-contour']);
45
- export const mapboxRouteLocationInputSchema = z.union([
46
- z.string().min(1),
47
- coordinatePointSchema,
48
- ]);
49
- export const mapboxRouteEstimateInputSchema = z.object({
50
- origin: mapboxRouteLocationInputSchema,
51
- destination: mapboxRouteLocationInputSchema,
52
- waypoints: z.array(mapboxRouteLocationInputSchema).max(MAX_ROUTE_WAYPOINTS).optional(),
53
- profile: mapboxRouteProfileSchema.optional(),
54
- includeGeometry: z.boolean().optional(),
55
- includeElevation: z.boolean().optional(),
56
- country: z
57
- .array(z.string().regex(/^[A-Za-z]{2}$/u))
58
- .max(10)
59
- .optional(),
60
- language: z.string().min(1).max(10).optional(),
61
- elevationSampleSpacingMeters: z.number().positive().max(10_000).optional(),
62
- maxElevationSamples: z.number().int().positive().max(MAX_ELEVATION_SAMPLES).optional(),
63
- });
64
- const routeGeometrySchema = z
65
- .object({
66
- type: z.literal('LineString'),
67
- coordinates: z.array(coordinateTupleSchema).min(2),
68
- })
69
- .strict();
70
- const resolvedPointSchema = z
71
- .object({
72
- role: pointRoleSchema,
73
- source: pointSourceSchema,
74
- displayName: z.string().min(1),
75
- longitude: longitudeSchema,
76
- latitude: latitudeSchema,
77
- routableLongitude: longitudeSchema,
78
- routableLatitude: latitudeSchema,
79
- accuracy: z.string().min(1).nullable(),
80
- matchType: z.string().min(1).nullable(),
81
- routablePointName: z.string().min(1).nullable(),
82
- })
83
- .strict();
84
- const routeLegSchema = z
85
- .object({
86
- index: z.number().int().nonnegative(),
87
- distanceMeters: z.number().nonnegative(),
88
- durationSeconds: z.number().nonnegative(),
89
- summary: z.string().min(1).nullable(),
90
- })
91
- .strict();
92
- const elevationSummarySchema = z
93
- .object({
94
- approximate: z.literal(true),
95
- source: z.literal('mapbox-terrain-v2-contour'),
96
- sampleCount: z.number().int().positive(),
97
- resolvedSampleCount: z.number().int().positive(),
98
- sampleSpacingMeters: z.number().positive(),
99
- queryRadiusMeters: z.number().positive(),
100
- gainMeters: z.number(),
101
- lossMeters: z.number(),
102
- netChangeMeters: z.number(),
103
- minimumMeters: z.number(),
104
- maximumMeters: z.number(),
105
- startMeters: z.number(),
106
- endMeters: z.number(),
107
- notes: z.array(z.string().min(1)),
108
- })
109
- .strict();
110
- const routeSummarySchema = z
111
- .object({
112
- distanceMeters: z.number().nonnegative(),
113
- distanceKilometers: z.number().nonnegative(),
114
- durationSeconds: z.number().nonnegative(),
115
- durationMinutes: z.number().nonnegative(),
116
- })
117
- .strict();
118
- const providerMetadataSchema = z
119
- .object({
120
- name: z.literal('mapbox'),
121
- directionsApiVersion: z.literal(MAPBOX_DIRECTIONS_API_VERSION),
122
- geocodingApiVersion: z.literal(MAPBOX_GEOCODING_API_VERSION),
123
- elevationSource: elevationSourceSchema,
124
- })
125
- .strict();
126
- const routePrivacySchema = z
127
- .object({
128
- tokenSource: z.literal('env'),
129
- persistedByTool: z.literal(false),
130
- geocodingStorage: z.enum(['temporary', 'not-used']),
131
- geocodedPointCount: z.number().int().nonnegative(),
132
- geometryIncluded: z.boolean(),
133
- })
134
- .strict();
135
- export const mapboxRouteEstimateResultSchema = z
136
- .object({
137
- provider: providerMetadataSchema,
138
- profile: mapboxRouteProfileSchema,
139
- summary: routeSummarySchema,
140
- points: z.array(resolvedPointSchema).min(2),
141
- legs: z.array(routeLegSchema),
142
- elevation: elevationSummarySchema.nullable(),
143
- geometry: routeGeometrySchema.nullable(),
144
- privacy: routePrivacySchema,
145
- warnings: z.array(z.string().min(1)),
146
- })
147
- .strict();
148
- export async function estimateMapboxRoute(rawInput, dependencies = {}) {
149
- const input = mapboxRouteEstimateInputSchema.parse(rawInput);
150
- const env = dependencies.env ?? process.env;
151
- const fetchImpl = dependencies.fetchImpl ?? fetch;
152
- const accessToken = readMapboxAccessToken(env);
153
- if (!accessToken) {
154
- throw new Error('Mapbox routing is not configured. Set MAPBOX_ACCESS_TOKEN in the runtime environment before using route estimation.');
155
- }
156
- const timeoutMs = resolveMapboxTimeoutMs(env);
157
- const wantsGeometry = Boolean(input.includeGeometry || input.includeElevation);
158
- const warnings = [];
159
- const resolvedPoints = await resolveRoutePoints({
160
- accessToken,
161
- country: input.country,
162
- destination: input.destination,
163
- fetchImpl,
164
- language: input.language,
165
- origin: input.origin,
166
- timeoutMs,
167
- waypoints: input.waypoints ?? [],
168
- });
169
- const directionsRoute = await requestDirections({
170
- accessToken,
171
- fetchImpl,
172
- points: resolvedPoints,
173
- profile: input.profile ?? 'walking',
174
- timeoutMs,
175
- wantsGeometry,
176
- });
177
- const geometry = wantsGeometry
178
- ? normalizeRouteGeometry(directionsRoute.geometry)
179
- : null;
180
- let elevation = null;
181
- if (input.includeElevation) {
182
- if (!geometry) {
183
- warnings.push('Elevation was requested but the routed geometry was unavailable.');
184
- }
185
- else {
186
- elevation = await summarizeRouteElevation({
187
- accessToken,
188
- fetchImpl,
189
- geometry,
190
- maxSamples: input.maxElevationSamples ?? DEFAULT_MAX_ELEVATION_SAMPLES,
191
- sampleSpacingMeters: input.elevationSampleSpacingMeters ??
192
- DEFAULT_ELEVATION_SAMPLE_SPACING_METERS,
193
- timeoutMs,
194
- });
195
- if (!elevation) {
196
- warnings.push('Elevation is unavailable for this route. When returned, it is only an approximation based on sampled contour queries.');
197
- }
198
- }
199
- }
200
- if (input.includeElevation) {
201
- warnings.push('Elevation is approximate and based on sampled contour queries against Mapbox Terrain rather than a full-resolution trail profile.');
202
- }
203
- const result = {
204
- provider: {
205
- name: 'mapbox',
206
- directionsApiVersion: MAPBOX_DIRECTIONS_API_VERSION,
207
- geocodingApiVersion: MAPBOX_GEOCODING_API_VERSION,
208
- elevationSource: input.includeElevation ? 'mapbox-terrain-v2-contour' : 'none',
209
- },
210
- profile: input.profile ?? 'walking',
211
- summary: {
212
- distanceMeters: roundTo(directionsRoute.distance ?? 0, 1),
213
- distanceKilometers: roundTo((directionsRoute.distance ?? 0) / 1000, 3),
214
- durationSeconds: roundTo(directionsRoute.duration ?? 0, 1),
215
- durationMinutes: roundTo((directionsRoute.duration ?? 0) / 60, 1),
216
- },
217
- points: resolvedPoints,
218
- legs: (directionsRoute.legs ?? []).map((leg, index) => ({
219
- index,
220
- distanceMeters: roundTo(leg.distance ?? 0, 1),
221
- durationSeconds: roundTo(leg.duration ?? 0, 1),
222
- summary: normalizeNullableString(leg.summary) ?? null,
223
- })),
224
- elevation,
225
- geometry: input.includeGeometry ? geometry : null,
226
- privacy: {
227
- tokenSource: 'env',
228
- persistedByTool: false,
229
- geocodingStorage: resolvedPoints.some((point) => point.source === 'geocoded-query')
230
- ? 'temporary'
231
- : 'not-used',
232
- geocodedPointCount: resolvedPoints.filter((point) => point.source === 'geocoded-query').length,
233
- geometryIncluded: Boolean(input.includeGeometry && geometry),
234
- },
235
- warnings,
236
- };
237
- return mapboxRouteEstimateResultSchema.parse(result);
238
- }
239
- async function resolveRoutePoints(input) {
240
- const sources = [
241
- { role: 'origin', value: input.origin },
242
- ...input.waypoints.map((value) => ({
243
- role: 'waypoint',
244
- value,
245
- })),
246
- { role: 'destination', value: input.destination },
247
- ];
248
- return await Promise.all(sources.map(async ({ role, value }) => await resolveRoutePoint(value, {
249
- accessToken: input.accessToken,
250
- country: input.country,
251
- fetchImpl: input.fetchImpl,
252
- language: input.language,
253
- role,
254
- timeoutMs: input.timeoutMs,
255
- })));
256
- }
257
- async function resolveRoutePoint(input, options) {
258
- if (typeof input !== 'string') {
259
- return buildCoordinatePoint(input, options.role, 'coordinates');
260
- }
261
- const coordinateLiteral = parseCoordinateLiteral(input);
262
- if (coordinateLiteral) {
263
- return buildCoordinatePoint(coordinateLiteral, options.role, 'coordinate-literal');
264
- }
265
- return await geocodeRoutePoint(input, options);
266
- }
267
- function buildCoordinatePoint(input, role, source) {
268
- const displayName = normalizeNullableString(input.name) ??
269
- formatCoordinateLiteral(input.longitude, input.latitude);
270
- return {
271
- role,
272
- source,
273
- displayName,
274
- longitude: input.longitude,
275
- latitude: input.latitude,
276
- routableLongitude: input.longitude,
277
- routableLatitude: input.latitude,
278
- accuracy: null,
279
- matchType: null,
280
- routablePointName: null,
281
- };
282
- }
283
- async function geocodeRoutePoint(query, input) {
284
- const url = new URL(`https://api.mapbox.com/search/geocode/${MAPBOX_GEOCODING_API_VERSION}/forward`);
285
- url.searchParams.set('q', query);
286
- url.searchParams.set('access_token', input.accessToken);
287
- url.searchParams.set('limit', '1');
288
- url.searchParams.set('autocomplete', 'false');
289
- url.searchParams.set('permanent', 'false');
290
- if (input.country && input.country.length > 0) {
291
- url.searchParams.set('country', input.country.join(','));
292
- }
293
- if (input.language) {
294
- url.searchParams.set('language', input.language);
295
- }
296
- const payload = await fetchMapboxJson({
297
- fetchImpl: input.fetchImpl,
298
- timeoutMs: input.timeoutMs,
299
- url,
300
- requestLabel: `${input.role} geocoding`,
301
- });
302
- const feature = payload.features?.[0];
303
- if (!feature) {
304
- throw new Error(`Mapbox could not geocode the ${input.role}.`);
305
- }
306
- const featureCoordinates = readFeatureCoordinates(feature);
307
- if (!featureCoordinates) {
308
- throw new Error(`Mapbox returned an unusable coordinate for the ${input.role}.`);
309
- }
310
- const routablePoint = selectRoutablePoint(feature);
311
- const displayName = readFeatureDisplayName(feature);
312
- const accuracy = normalizeNullableString(feature.properties?.coordinates?.accuracy) ?? null;
313
- const matchType = normalizeNullableString(feature.properties?.feature_type) ?? null;
314
- return {
315
- role: input.role,
316
- source: 'geocoded-query',
317
- displayName,
318
- longitude: featureCoordinates.longitude,
319
- latitude: featureCoordinates.latitude,
320
- routableLongitude: routablePoint?.longitude ?? featureCoordinates.longitude,
321
- routableLatitude: routablePoint?.latitude ?? featureCoordinates.latitude,
322
- accuracy,
323
- matchType,
324
- routablePointName: normalizeNullableString(routablePoint?.name) ?? null,
325
- };
326
- }
327
- function readFeatureCoordinates(feature) {
328
- const propertiesCoordinates = feature.properties?.coordinates;
329
- const longitude = typeof propertiesCoordinates?.longitude === 'number'
330
- ? propertiesCoordinates.longitude
331
- : feature.geometry?.coordinates?.[0];
332
- const latitude = typeof propertiesCoordinates?.latitude === 'number'
333
- ? propertiesCoordinates.latitude
334
- : feature.geometry?.coordinates?.[1];
335
- if (typeof longitude !== 'number' || typeof latitude !== 'number') {
336
- return null;
337
- }
338
- return {
339
- longitude,
340
- latitude,
341
- };
342
- }
343
- function selectRoutablePoint(feature) {
344
- const routablePoints = feature.properties?.coordinates?.routable_points ?? [];
345
- const selectedPoint = routablePoints.find((point) => normalizeNullableString(point.name)?.toLowerCase() === 'default') ?? routablePoints[0];
346
- if (!selectedPoint ||
347
- typeof selectedPoint.longitude !== 'number' ||
348
- typeof selectedPoint.latitude !== 'number') {
349
- return null;
350
- }
351
- return {
352
- longitude: selectedPoint.longitude,
353
- latitude: selectedPoint.latitude,
354
- name: normalizeNullableString(selectedPoint.name) ?? undefined,
355
- };
356
- }
357
- function readFeatureDisplayName(feature) {
358
- const fullAddress = normalizeNullableString(feature.properties?.full_address);
359
- if (fullAddress) {
360
- return fullAddress;
361
- }
362
- const preferredName = normalizeNullableString(feature.properties?.name_preferred) ??
363
- normalizeNullableString(feature.properties?.name);
364
- const placeFormatted = normalizeNullableString(feature.properties?.place_formatted);
365
- const composite = [preferredName, placeFormatted].filter(Boolean).join(', ');
366
- return composite || 'Resolved location';
367
- }
368
- async function requestDirections(input) {
369
- const coordinatePath = input.points
370
- .map((point) => `${point.routableLongitude},${point.routableLatitude}`)
371
- .join(';');
372
- const url = new URL(`https://api.mapbox.com/directions/${MAPBOX_DIRECTIONS_API_VERSION}/mapbox/${input.profile}/${coordinatePath}`);
373
- url.searchParams.set('access_token', input.accessToken);
374
- url.searchParams.set('alternatives', 'false');
375
- url.searchParams.set('steps', 'false');
376
- url.searchParams.set('overview', input.wantsGeometry ? 'full' : 'false');
377
- if (input.wantsGeometry) {
378
- url.searchParams.set('geometries', 'geojson');
379
- }
380
- const payload = await fetchMapboxJson({
381
- fetchImpl: input.fetchImpl,
382
- timeoutMs: input.timeoutMs,
383
- url,
384
- requestLabel: 'directions',
385
- });
386
- if (payload.code !== 'Ok') {
387
- throw new Error(normalizeNullableString(payload.message) ??
388
- 'Mapbox did not return a route for these points.');
389
- }
390
- const route = payload.routes?.[0];
391
- if (!route) {
392
- throw new Error('Mapbox did not return a route for these points.');
393
- }
394
- return route;
395
- }
396
- function normalizeRouteGeometry(geometry) {
397
- if (geometry?.type !== 'LineString' ||
398
- !Array.isArray(geometry.coordinates) ||
399
- geometry.coordinates.length < 2) {
400
- return null;
401
- }
402
- const coordinates = geometry.coordinates.flatMap((point) => {
403
- if (Array.isArray(point) &&
404
- point.length >= 2 &&
405
- typeof point[0] === 'number' &&
406
- typeof point[1] === 'number') {
407
- return [[point[0], point[1]]];
408
- }
409
- return [];
410
- });
411
- if (coordinates.length < 2) {
412
- return null;
413
- }
414
- return {
415
- type: 'LineString',
416
- coordinates,
417
- };
418
- }
419
- async function summarizeRouteElevation(input) {
420
- const totalDistanceMeters = measureLineDistanceMeters(input.geometry.coordinates);
421
- const sampleCount = resolveElevationSampleCount({
422
- maxSamples: input.maxSamples,
423
- sampleSpacingMeters: input.sampleSpacingMeters,
424
- totalDistanceMeters,
425
- });
426
- const sampledPoints = sampleLineCoordinates(input.geometry.coordinates, sampleCount);
427
- const elevations = await Promise.all(sampledPoints.map(async ([longitude, latitude]) => ({
428
- elevationMeters: await queryElevationAtPoint({
429
- accessToken: input.accessToken,
430
- fetchImpl: input.fetchImpl,
431
- latitude,
432
- longitude,
433
- timeoutMs: input.timeoutMs,
434
- }),
435
- latitude,
436
- longitude,
437
- })));
438
- const knownSamples = elevations.filter((sample) => typeof sample.elevationMeters === 'number');
439
- if (knownSamples.length < 2) {
440
- return null;
441
- }
442
- let gainMeters = 0;
443
- let lossMeters = 0;
444
- let previousSample = knownSamples[0];
445
- for (const sample of knownSamples.slice(1)) {
446
- const delta = sample.elevationMeters - previousSample.elevationMeters;
447
- if (delta > 0) {
448
- gainMeters += delta;
449
- }
450
- else if (delta < 0) {
451
- lossMeters += Math.abs(delta);
452
- }
453
- previousSample = sample;
454
- }
455
- const elevationValues = knownSamples.map((sample) => sample.elevationMeters);
456
- const notes = [
457
- 'Approximate profile from Mapbox Terrain contour features sampled along the routed line.',
458
- 'Contour-derived elevations are quantized and may understate short, steep changes.',
459
- ];
460
- if (knownSamples.length !== elevations.length) {
461
- notes.push('Some sampled points did not return nearby contour data, so the profile is partially interpolated from nearby samples only.');
462
- }
463
- return {
464
- approximate: true,
465
- source: 'mapbox-terrain-v2-contour',
466
- sampleCount: elevations.length,
467
- resolvedSampleCount: knownSamples.length,
468
- sampleSpacingMeters: roundTo(input.sampleSpacingMeters, 1),
469
- queryRadiusMeters: DEFAULT_ELEVATION_QUERY_RADIUS_METERS,
470
- gainMeters: roundTo(gainMeters, 1),
471
- lossMeters: roundTo(lossMeters, 1),
472
- netChangeMeters: roundTo(knownSamples[knownSamples.length - 1].elevationMeters - knownSamples[0].elevationMeters, 1),
473
- minimumMeters: Math.min(...elevationValues),
474
- maximumMeters: Math.max(...elevationValues),
475
- startMeters: knownSamples[0].elevationMeters,
476
- endMeters: knownSamples[knownSamples.length - 1].elevationMeters,
477
- notes,
478
- };
479
- }
480
- function resolveElevationSampleCount(input) {
481
- if (input.totalDistanceMeters <= 0) {
482
- return 1;
483
- }
484
- const desiredSamples = Math.ceil(input.totalDistanceMeters / input.sampleSpacingMeters) + 1;
485
- return Math.max(2, Math.min(input.maxSamples, desiredSamples));
486
- }
487
- function sampleLineCoordinates(coordinates, sampleCount) {
488
- if (coordinates.length === 0) {
489
- return [];
490
- }
491
- if (coordinates.length === 1 || sampleCount <= 1) {
492
- return [[coordinates[0][0], coordinates[0][1]]];
493
- }
494
- const cumulativeDistances = [0];
495
- for (let index = 1; index < coordinates.length; index += 1) {
496
- cumulativeDistances.push(cumulativeDistances[index - 1] +
497
- haversineMeters(coordinates[index - 1], coordinates[index]));
498
- }
499
- const totalDistanceMeters = cumulativeDistances[cumulativeDistances.length - 1];
500
- if (totalDistanceMeters <= 0) {
501
- return [[coordinates[0][0], coordinates[0][1]]];
502
- }
503
- const samples = [];
504
- let segmentIndex = 0;
505
- for (let sampleIndex = 0; sampleIndex < sampleCount; sampleIndex += 1) {
506
- const targetDistance = sampleCount === 1
507
- ? 0
508
- : (totalDistanceMeters * sampleIndex) / (sampleCount - 1);
509
- while (segmentIndex < cumulativeDistances.length - 2 &&
510
- cumulativeDistances[segmentIndex + 1] < targetDistance) {
511
- segmentIndex += 1;
512
- }
513
- const start = coordinates[segmentIndex];
514
- const end = coordinates[Math.min(segmentIndex + 1, coordinates.length - 1)];
515
- const segmentStartDistance = cumulativeDistances[segmentIndex];
516
- const segmentEndDistance = cumulativeDistances[Math.min(segmentIndex + 1, cumulativeDistances.length - 1)];
517
- const ratio = segmentEndDistance > segmentStartDistance
518
- ? (targetDistance - segmentStartDistance) /
519
- (segmentEndDistance - segmentStartDistance)
520
- : 0;
521
- samples.push(interpolateCoordinate(start, end, ratio));
522
- }
523
- return dedupeAdjacentCoordinates(samples);
524
- }
525
- function interpolateCoordinate(start, end, ratio) {
526
- const safeRatio = Math.max(0, Math.min(1, ratio));
527
- return [
528
- start[0] + (end[0] - start[0]) * safeRatio,
529
- start[1] + (end[1] - start[1]) * safeRatio,
530
- ];
531
- }
532
- function dedupeAdjacentCoordinates(coordinates) {
533
- const deduped = [];
534
- for (const coordinate of coordinates) {
535
- const previous = deduped[deduped.length - 1];
536
- if (previous && previous[0] === coordinate[0] && previous[1] === coordinate[1]) {
537
- continue;
538
- }
539
- deduped.push([coordinate[0], coordinate[1]]);
540
- }
541
- return deduped;
542
- }
543
- async function queryElevationAtPoint(input) {
544
- const url = new URL(`https://api.mapbox.com/v4/mapbox.mapbox-terrain-v2/tilequery/${input.longitude},${input.latitude}.json`);
545
- url.searchParams.set('access_token', input.accessToken);
546
- url.searchParams.set('radius', String(DEFAULT_ELEVATION_QUERY_RADIUS_METERS));
547
- url.searchParams.set('limit', '10');
548
- url.searchParams.set('layers', 'contour');
549
- url.searchParams.set('geometry', 'linestring');
550
- const payload = await fetchMapboxJson({
551
- allowNotFound: true,
552
- fetchImpl: input.fetchImpl,
553
- timeoutMs: input.timeoutMs,
554
- url,
555
- requestLabel: 'terrain elevation',
556
- });
557
- if (!payload) {
558
- return null;
559
- }
560
- const feature = payload.features?.find((candidate) => {
561
- const elevation = candidate.properties?.ele;
562
- return typeof elevation === 'number' || typeof elevation === 'string';
563
- });
564
- const candidateElevation = feature?.properties?.ele;
565
- if (typeof candidateElevation === 'number') {
566
- return candidateElevation;
567
- }
568
- if (typeof candidateElevation === 'string') {
569
- const parsed = Number.parseFloat(candidateElevation);
570
- return Number.isFinite(parsed) ? parsed : null;
571
- }
572
- return null;
573
- }
574
- async function fetchMapboxJson(input) {
575
- let response;
576
- try {
577
- response = await input.fetchImpl(input.url, {
578
- headers: {
579
- accept: 'application/json',
580
- },
581
- signal: AbortSignal.timeout(input.timeoutMs),
582
- });
583
- }
584
- catch (error) {
585
- throw new Error(`Mapbox ${input.requestLabel} request failed: ${errorMessage(error)}.`);
586
- }
587
- if (input.allowNotFound && response.status === 404) {
588
- return null;
589
- }
590
- if (!response.ok) {
591
- throw new Error(`Mapbox ${input.requestLabel} request failed (${await describeFailedMapboxResponse(response)}).`);
592
- }
593
- return (await response.json());
594
- }
595
- async function describeFailedMapboxResponse(response) {
596
- const fallback = `HTTP ${response.status}`;
597
- try {
598
- const payload = (await response.json());
599
- const message = typeof payload.message === 'string'
600
- ? normalizeNullableString(payload.message)
601
- : null;
602
- return message ? `${fallback}: ${message}` : fallback;
603
- }
604
- catch {
605
- return fallback;
606
- }
607
- }
608
- function parseCoordinateLiteral(value) {
609
- const match = coordinateLiteralPattern.exec(value);
610
- if (!match) {
611
- return null;
612
- }
613
- const longitude = Number.parseFloat(match[1] ?? '');
614
- const latitude = Number.parseFloat(match[2] ?? '');
615
- if (!Number.isFinite(longitude) || !Number.isFinite(latitude)) {
616
- return null;
617
- }
618
- if (longitude < -180 || longitude > 180 || latitude < -90 || latitude > 90) {
619
- return null;
620
- }
621
- return {
622
- longitude,
623
- latitude,
624
- };
625
- }
626
- function formatCoordinateLiteral(longitude, latitude) {
627
- return `${longitude.toFixed(6)}, ${latitude.toFixed(6)}`;
628
- }
629
- function readMapboxAccessToken(env) {
630
- return normalizeNullableString(env.MAPBOX_ACCESS_TOKEN);
631
- }
632
- function resolveMapboxTimeoutMs(env) {
633
- const configured = normalizeNullableString(env.MURPH_MAPBOX_TIMEOUT_MS);
634
- if (!configured) {
635
- return DEFAULT_MAPBOX_TIMEOUT_MS;
636
- }
637
- const parsed = Number.parseInt(configured, 10);
638
- if (!Number.isInteger(parsed) || parsed <= 0) {
639
- return DEFAULT_MAPBOX_TIMEOUT_MS;
640
- }
641
- return Math.min(parsed, MAX_MAPBOX_TIMEOUT_MS);
642
- }
643
- function measureLineDistanceMeters(coordinates) {
644
- let totalDistance = 0;
645
- for (let index = 1; index < coordinates.length; index += 1) {
646
- totalDistance += haversineMeters(coordinates[index - 1], coordinates[index]);
647
- }
648
- return totalDistance;
649
- }
650
- function haversineMeters(start, end) {
651
- const earthRadiusMeters = 6_371_000;
652
- const startLatitudeRadians = toRadians(start[1]);
653
- const endLatitudeRadians = toRadians(end[1]);
654
- const deltaLatitudeRadians = toRadians(end[1] - start[1]);
655
- const deltaLongitudeRadians = toRadians(end[0] - start[0]);
656
- const haversineValue = Math.sin(deltaLatitudeRadians / 2) ** 2 +
657
- Math.cos(startLatitudeRadians) *
658
- Math.cos(endLatitudeRadians) *
659
- Math.sin(deltaLongitudeRadians / 2) ** 2;
660
- const centralAngle = 2 * Math.atan2(Math.sqrt(haversineValue), Math.sqrt(1 - haversineValue));
661
- return earthRadiusMeters * centralAngle;
662
- }
663
- function toRadians(value) {
664
- return (value * Math.PI) / 180;
665
- }
666
- function roundTo(value, decimals) {
667
- const factor = 10 ** decimals;
668
- return Math.round(value * factor) / factor;
669
- }
670
- //# sourceMappingURL=mapbox-route.js.map