googlemaps-kit 0.4.0 → 0.6.0

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 (661) hide show
  1. package/README.md +228 -27
  2. package/dist/advanced/http.d.ts +4 -4
  3. package/dist/advanced/http.d.ts.map +1 -1
  4. package/dist/advanced/http.js +4 -4
  5. package/dist/advanced/http.js.map +1 -1
  6. package/dist/advanced/parsers.d.ts +9 -4
  7. package/dist/advanced/parsers.d.ts.map +1 -1
  8. package/dist/advanced/parsers.js +6 -3
  9. package/dist/advanced/parsers.js.map +1 -1
  10. package/dist/advanced/rpc.d.ts +12 -12
  11. package/dist/advanced/rpc.d.ts.map +1 -1
  12. package/dist/advanced/rpc.js +10 -10
  13. package/dist/advanced/rpc.js.map +1 -1
  14. package/dist/advanced/services.d.ts +18 -7
  15. package/dist/advanced/services.d.ts.map +1 -1
  16. package/dist/advanced/services.js +18 -7
  17. package/dist/advanced/services.js.map +1 -1
  18. package/dist/advanced/utils.d.ts +3 -3
  19. package/dist/advanced/utils.d.ts.map +1 -1
  20. package/dist/advanced/utils.js +3 -3
  21. package/dist/advanced/utils.js.map +1 -1
  22. package/dist/advanced.d.ts +47 -10
  23. package/dist/advanced.d.ts.map +1 -1
  24. package/dist/advanced.js +13 -6
  25. package/dist/advanced.js.map +1 -1
  26. package/dist/auth/auth-status.js +2 -2
  27. package/dist/auth/auth-status.js.map +1 -1
  28. package/dist/auth/maps-tokens.js +1 -1
  29. package/dist/auth/session.d.ts.map +1 -1
  30. package/dist/auth/session.js +17 -2
  31. package/dist/auth/session.js.map +1 -1
  32. package/dist/cli/args.d.ts +1 -0
  33. package/dist/cli/args.d.ts.map +1 -1
  34. package/dist/cli/args.js +24 -0
  35. package/dist/cli/args.js.map +1 -1
  36. package/dist/cli/format.d.ts.map +1 -1
  37. package/dist/cli/format.js +18 -27
  38. package/dist/cli/format.js.map +1 -1
  39. package/dist/cli/output.d.ts +19 -0
  40. package/dist/cli/output.d.ts.map +1 -0
  41. package/dist/cli/output.js +82 -0
  42. package/dist/cli/output.js.map +1 -0
  43. package/dist/cli/run.d.ts +55 -3
  44. package/dist/cli/run.d.ts.map +1 -1
  45. package/dist/cli/run.js +239 -18
  46. package/dist/cli/run.js.map +1 -1
  47. package/dist/cli/tui/app.d.ts +7 -2
  48. package/dist/cli/tui/app.d.ts.map +1 -1
  49. package/dist/cli/tui/app.js +116 -31
  50. package/dist/cli/tui/app.js.map +1 -1
  51. package/dist/cli/tui/styles.d.ts.map +1 -1
  52. package/dist/cli/tui/styles.js +13 -10
  53. package/dist/cli/tui/styles.js.map +1 -1
  54. package/dist/cli.d.ts +1 -10
  55. package/dist/cli.d.ts.map +1 -1
  56. package/dist/cli.js +122 -36
  57. package/dist/cli.js.map +1 -1
  58. package/dist/client/gmaps-client.d.ts +14 -31
  59. package/dist/client/gmaps-client.d.ts.map +1 -1
  60. package/dist/client/gmaps-client.js +52 -130
  61. package/dist/client/gmaps-client.js.map +1 -1
  62. package/dist/client/http-client.d.ts.map +1 -1
  63. package/dist/client/http-client.js +11 -9
  64. package/dist/client/http-client.js.map +1 -1
  65. package/dist/client/intent.d.ts +2 -12
  66. package/dist/client/intent.d.ts.map +1 -1
  67. package/dist/client/intent.js +39 -18
  68. package/dist/client/intent.js.map +1 -1
  69. package/dist/client/maps-tools.d.ts +19 -3
  70. package/dist/client/maps-tools.d.ts.map +1 -1
  71. package/dist/client/maps-tools.js +57 -4
  72. package/dist/client/maps-tools.js.map +1 -1
  73. package/dist/client/namespaces.d.ts +125 -16
  74. package/dist/client/namespaces.d.ts.map +1 -1
  75. package/dist/client/namespaces.js +189 -23
  76. package/dist/client/namespaces.js.map +1 -1
  77. package/dist/client/place-enrichment.js +1 -1
  78. package/dist/client/place-enrichment.js.map +1 -1
  79. package/dist/client/place-workflows.d.ts +7 -0
  80. package/dist/client/place-workflows.d.ts.map +1 -0
  81. package/dist/client/place-workflows.js +113 -0
  82. package/dist/client/place-workflows.js.map +1 -0
  83. package/dist/index.d.ts +54 -19
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +8 -4
  86. package/dist/index.js.map +1 -1
  87. package/dist/known-surfaces.d.ts +173 -5
  88. package/dist/known-surfaces.d.ts.map +1 -1
  89. package/dist/known-surfaces.js +173 -5
  90. package/dist/known-surfaces.js.map +1 -1
  91. package/dist/parsers/batch-url.d.ts +10 -1
  92. package/dist/parsers/batch-url.d.ts.map +1 -1
  93. package/dist/parsers/batch-url.js +30 -2
  94. package/dist/parsers/batch-url.js.map +1 -1
  95. package/dist/parsers/boq-reviews.d.ts +8 -1
  96. package/dist/parsers/boq-reviews.d.ts.map +1 -1
  97. package/dist/parsers/boq-reviews.js +50 -8
  98. package/dist/parsers/boq-reviews.js.map +1 -1
  99. package/dist/parsers/categories.d.ts.map +1 -1
  100. package/dist/parsers/categories.js +13 -10
  101. package/dist/parsers/categories.js.map +1 -1
  102. package/dist/parsers/directions.d.ts +18 -2
  103. package/dist/parsers/directions.d.ts.map +1 -1
  104. package/dist/parsers/directions.js +232 -18
  105. package/dist/parsers/directions.js.map +1 -1
  106. package/dist/parsers/geocode.d.ts +20 -2
  107. package/dist/parsers/geocode.d.ts.map +1 -1
  108. package/dist/parsers/geocode.js +139 -6
  109. package/dist/parsers/geocode.js.map +1 -1
  110. package/dist/parsers/knowledge.js +1 -1
  111. package/dist/parsers/knowledge.js.map +1 -1
  112. package/dist/parsers/lists.d.ts.map +1 -1
  113. package/dist/parsers/lists.js +29 -12
  114. package/dist/parsers/lists.js.map +1 -1
  115. package/dist/parsers/local-posts.d.ts.map +1 -1
  116. package/dist/parsers/local-posts.js +97 -12
  117. package/dist/parsers/local-posts.js.map +1 -1
  118. package/dist/parsers/mobility.d.ts +42 -0
  119. package/dist/parsers/mobility.d.ts.map +1 -0
  120. package/dist/parsers/mobility.js +130 -0
  121. package/dist/parsers/mobility.js.map +1 -0
  122. package/dist/parsers/panorama.d.ts +0 -1
  123. package/dist/parsers/panorama.d.ts.map +1 -1
  124. package/dist/parsers/panorama.js +117 -14
  125. package/dist/parsers/panorama.js.map +1 -1
  126. package/dist/parsers/photos.d.ts.map +1 -1
  127. package/dist/parsers/photos.js +15 -8
  128. package/dist/parsers/photos.js.map +1 -1
  129. package/dist/parsers/place-attributes.d.ts +12 -3
  130. package/dist/parsers/place-attributes.d.ts.map +1 -1
  131. package/dist/parsers/place-attributes.js +48 -2
  132. package/dist/parsers/place-attributes.js.map +1 -1
  133. package/dist/parsers/place-extended.d.ts +163 -0
  134. package/dist/parsers/place-extended.d.ts.map +1 -0
  135. package/dist/parsers/place-extended.js +741 -0
  136. package/dist/parsers/place-extended.js.map +1 -0
  137. package/dist/parsers/place.d.ts +15 -1
  138. package/dist/parsers/place.d.ts.map +1 -1
  139. package/dist/parsers/place.js +16 -5
  140. package/dist/parsers/place.js.map +1 -1
  141. package/dist/parsers/popular-times.d.ts +35 -0
  142. package/dist/parsers/popular-times.d.ts.map +1 -0
  143. package/dist/parsers/popular-times.js +149 -0
  144. package/dist/parsers/popular-times.js.map +1 -0
  145. package/dist/parsers/reveal.d.ts +1 -1
  146. package/dist/parsers/reveal.d.ts.map +1 -1
  147. package/dist/parsers/reveal.js +3 -2
  148. package/dist/parsers/reveal.js.map +1 -1
  149. package/dist/parsers/reviews.d.ts +24 -2
  150. package/dist/parsers/reviews.d.ts.map +1 -1
  151. package/dist/parsers/reviews.js +110 -1
  152. package/dist/parsers/reviews.js.map +1 -1
  153. package/dist/parsers/search.d.ts +17 -2
  154. package/dist/parsers/search.d.ts.map +1 -1
  155. package/dist/parsers/search.js +125 -7
  156. package/dist/parsers/search.js.map +1 -1
  157. package/dist/parsers/shared.d.ts +4 -0
  158. package/dist/parsers/shared.d.ts.map +1 -1
  159. package/dist/parsers/shared.js +10 -2
  160. package/dist/parsers/shared.js.map +1 -1
  161. package/dist/parsers/suggest.d.ts.map +1 -1
  162. package/dist/parsers/suggest.js +45 -6
  163. package/dist/parsers/suggest.js.map +1 -1
  164. package/dist/parsers/tiles.d.ts +13 -0
  165. package/dist/parsers/tiles.d.ts.map +1 -1
  166. package/dist/parsers/tiles.js +64 -0
  167. package/dist/parsers/tiles.js.map +1 -1
  168. package/dist/parsers/traffic.d.ts +9 -1
  169. package/dist/parsers/traffic.d.ts.map +1 -1
  170. package/dist/parsers/traffic.js +129 -2
  171. package/dist/parsers/traffic.js.map +1 -1
  172. package/dist/parsers/transit.d.ts +4 -2
  173. package/dist/parsers/transit.d.ts.map +1 -1
  174. package/dist/parsers/transit.js +385 -3
  175. package/dist/parsers/transit.js.map +1 -1
  176. package/dist/parsers/viewport.d.ts +20 -0
  177. package/dist/parsers/viewport.d.ts.map +1 -0
  178. package/dist/parsers/viewport.js +139 -0
  179. package/dist/parsers/viewport.js.map +1 -0
  180. package/dist/platform/catalog.d.ts +18 -0
  181. package/dist/platform/catalog.d.ts.map +1 -0
  182. package/dist/platform/catalog.js +329 -0
  183. package/dist/platform/catalog.js.map +1 -0
  184. package/dist/platform/parity.d.ts +12 -0
  185. package/dist/platform/parity.d.ts.map +1 -0
  186. package/dist/platform/parity.js +25 -0
  187. package/dist/platform/parity.js.map +1 -0
  188. package/dist/rpc/batch-execute.js +3 -3
  189. package/dist/rpc/batch-execute.js.map +1 -1
  190. package/dist/rpc/batch-request-builders.d.ts +12 -14
  191. package/dist/rpc/batch-request-builders.d.ts.map +1 -1
  192. package/dist/rpc/batch-request-builders.js +49 -17
  193. package/dist/rpc/batch-request-builders.js.map +1 -1
  194. package/dist/rpc/batch-rpc.js +1 -1
  195. package/dist/rpc/batch-services.d.ts +2 -0
  196. package/dist/rpc/batch-services.d.ts.map +1 -1
  197. package/dist/rpc/batch-services.js +4 -0
  198. package/dist/rpc/batch-services.js.map +1 -1
  199. package/dist/rpc/{descriptor-registry.d.ts → descriptors.d.ts} +29 -4
  200. package/dist/rpc/descriptors.d.ts.map +1 -0
  201. package/dist/rpc/{app-options.js → descriptors.js} +89 -5
  202. package/dist/rpc/descriptors.js.map +1 -0
  203. package/dist/rpc/earth-rocktree.d.ts +174 -0
  204. package/dist/rpc/earth-rocktree.d.ts.map +1 -0
  205. package/dist/rpc/earth-rocktree.js +468 -0
  206. package/dist/rpc/earth-rocktree.js.map +1 -0
  207. package/dist/rpc/feature-pb.d.ts +86 -0
  208. package/dist/rpc/feature-pb.d.ts.map +1 -0
  209. package/dist/rpc/feature-pb.js +112 -0
  210. package/dist/rpc/feature-pb.js.map +1 -0
  211. package/dist/rpc/feature-rpc.d.ts +15 -0
  212. package/dist/rpc/feature-rpc.d.ts.map +1 -1
  213. package/dist/rpc/feature-rpc.js +44 -0
  214. package/dist/rpc/feature-rpc.js.map +1 -1
  215. package/dist/rpc/maps-runtime.js +1 -1
  216. package/dist/rpc/panorama-pb.d.ts +3 -0
  217. package/dist/rpc/panorama-pb.d.ts.map +1 -1
  218. package/dist/rpc/panorama-pb.js +35 -3
  219. package/dist/rpc/panorama-pb.js.map +1 -1
  220. package/dist/rpc/pb-builders.d.ts +21 -1
  221. package/dist/rpc/pb-builders.d.ts.map +1 -1
  222. package/dist/rpc/pb-builders.js +62 -4
  223. package/dist/rpc/pb-builders.js.map +1 -1
  224. package/dist/rpc/photos-pb.d.ts +28 -1
  225. package/dist/rpc/photos-pb.d.ts.map +1 -1
  226. package/dist/rpc/photos-pb.js +96 -0
  227. package/dist/rpc/photos-pb.js.map +1 -1
  228. package/dist/rpc/rpc-methods.d.ts +0 -2
  229. package/dist/rpc/rpc-methods.d.ts.map +1 -1
  230. package/dist/rpc/rpc-methods.js +0 -38
  231. package/dist/rpc/rpc-methods.js.map +1 -1
  232. package/dist/rpc/search-filters.d.ts +0 -12
  233. package/dist/rpc/search-filters.d.ts.map +1 -1
  234. package/dist/rpc/search-filters.js +1 -11
  235. package/dist/rpc/search-filters.js.map +1 -1
  236. package/dist/rpc/tile-builders.d.ts +136 -0
  237. package/dist/rpc/tile-builders.d.ts.map +1 -0
  238. package/dist/rpc/tile-builders.js +172 -0
  239. package/dist/rpc/tile-builders.js.map +1 -0
  240. package/dist/rpc/xsrf-bootstrap.d.ts +0 -2
  241. package/dist/rpc/xsrf-bootstrap.d.ts.map +1 -1
  242. package/dist/rpc/xsrf-bootstrap.js +2 -2
  243. package/dist/rpc/xsrf-bootstrap.js.map +1 -1
  244. package/dist/services/aerial-view.d.ts +22 -0
  245. package/dist/services/aerial-view.d.ts.map +1 -0
  246. package/dist/services/aerial-view.js +107 -0
  247. package/dist/services/aerial-view.js.map +1 -0
  248. package/dist/services/ask-maps.d.ts +45 -5
  249. package/dist/services/ask-maps.d.ts.map +1 -1
  250. package/dist/services/ask-maps.js +148 -21
  251. package/dist/services/ask-maps.js.map +1 -1
  252. package/dist/services/directions.d.ts +17 -1
  253. package/dist/services/directions.d.ts.map +1 -1
  254. package/dist/services/directions.js +32 -0
  255. package/dist/services/directions.js.map +1 -1
  256. package/dist/services/distance-matrix.d.ts +1 -1
  257. package/dist/services/distance-matrix.d.ts.map +1 -1
  258. package/dist/services/distance-matrix.js +1 -1
  259. package/dist/services/distance-matrix.js.map +1 -1
  260. package/dist/services/elevation.d.ts +7 -5
  261. package/dist/services/elevation.d.ts.map +1 -1
  262. package/dist/services/elevation.js +42 -6
  263. package/dist/services/elevation.js.map +1 -1
  264. package/dist/services/environment/air-quality.d.ts +39 -0
  265. package/dist/services/environment/air-quality.d.ts.map +1 -0
  266. package/dist/services/environment/air-quality.js +86 -0
  267. package/dist/services/environment/air-quality.js.map +1 -0
  268. package/dist/services/environment/weather.d.ts +39 -0
  269. package/dist/services/environment/weather.d.ts.map +1 -0
  270. package/dist/services/environment/weather.js +54 -0
  271. package/dist/services/environment/weather.js.map +1 -0
  272. package/dist/services/geocode.d.ts +21 -1
  273. package/dist/services/geocode.d.ts.map +1 -1
  274. package/dist/services/geocode.js +103 -0
  275. package/dist/services/geocode.js.map +1 -1
  276. package/dist/services/keyed.d.ts +80 -0
  277. package/dist/services/keyed.d.ts.map +1 -0
  278. package/dist/services/keyed.js +152 -0
  279. package/dist/services/keyed.js.map +1 -0
  280. package/dist/services/knowledge.d.ts +6 -2
  281. package/dist/services/knowledge.d.ts.map +1 -1
  282. package/dist/services/knowledge.js +30 -5
  283. package/dist/services/knowledge.js.map +1 -1
  284. package/dist/services/lists.d.ts +7 -1
  285. package/dist/services/lists.d.ts.map +1 -1
  286. package/dist/services/lists.js +45 -1
  287. package/dist/services/lists.js.map +1 -1
  288. package/dist/services/map-3d.d.ts +66 -0
  289. package/dist/services/map-3d.d.ts.map +1 -0
  290. package/dist/services/map-3d.js +658 -0
  291. package/dist/services/map-3d.js.map +1 -0
  292. package/dist/services/map-layers.d.ts +33 -0
  293. package/dist/services/map-layers.d.ts.map +1 -0
  294. package/dist/services/map-layers.js +207 -0
  295. package/dist/services/map-layers.js.map +1 -0
  296. package/dist/services/meta.d.ts +71 -0
  297. package/dist/services/meta.d.ts.map +1 -0
  298. package/dist/services/meta.js +132 -0
  299. package/dist/services/meta.js.map +1 -0
  300. package/dist/services/mobility.d.ts +79 -0
  301. package/dist/services/mobility.d.ts.map +1 -0
  302. package/dist/services/mobility.js +307 -0
  303. package/dist/services/mobility.js.map +1 -0
  304. package/dist/services/nearby-search.d.ts +32 -0
  305. package/dist/services/nearby-search.d.ts.map +1 -0
  306. package/dist/services/nearby-search.js +85 -0
  307. package/dist/services/nearby-search.js.map +1 -0
  308. package/dist/services/panorama.d.ts +19 -1
  309. package/dist/services/panorama.d.ts.map +1 -1
  310. package/dist/services/panorama.js +111 -3
  311. package/dist/services/panorama.js.map +1 -1
  312. package/dist/services/photos.d.ts.map +1 -1
  313. package/dist/services/photos.js +12 -6
  314. package/dist/services/photos.js.map +1 -1
  315. package/dist/services/place-attributes.d.ts +31 -0
  316. package/dist/services/place-attributes.d.ts.map +1 -0
  317. package/dist/services/place-attributes.js +48 -0
  318. package/dist/services/place-attributes.js.map +1 -0
  319. package/dist/services/places.d.ts +13 -0
  320. package/dist/services/places.d.ts.map +1 -1
  321. package/dist/services/places.js +7 -4
  322. package/dist/services/places.js.map +1 -1
  323. package/dist/services/reviews.d.ts +11 -1
  324. package/dist/services/reviews.d.ts.map +1 -1
  325. package/dist/services/reviews.js +36 -12
  326. package/dist/services/reviews.js.map +1 -1
  327. package/dist/services/search-along-route.d.ts +33 -0
  328. package/dist/services/search-along-route.d.ts.map +1 -0
  329. package/dist/services/search-along-route.js +200 -0
  330. package/dist/services/search-along-route.js.map +1 -0
  331. package/dist/services/search.d.ts +29 -2
  332. package/dist/services/search.d.ts.map +1 -1
  333. package/dist/services/search.js +169 -6
  334. package/dist/services/search.js.map +1 -1
  335. package/dist/services/static-map.js +1 -1
  336. package/dist/services/static-map.js.map +1 -1
  337. package/dist/services/tiles.d.ts +39 -2
  338. package/dist/services/tiles.d.ts.map +1 -1
  339. package/dist/services/tiles.js +172 -13
  340. package/dist/services/tiles.js.map +1 -1
  341. package/dist/services/traffic.d.ts +12 -1
  342. package/dist/services/traffic.d.ts.map +1 -1
  343. package/dist/services/traffic.js +25 -2
  344. package/dist/services/traffic.js.map +1 -1
  345. package/dist/services/transit.d.ts +20 -3
  346. package/dist/services/transit.d.ts.map +1 -1
  347. package/dist/services/transit.js +69 -1
  348. package/dist/services/transit.js.map +1 -1
  349. package/dist/services/viewport.d.ts +76 -0
  350. package/dist/services/viewport.d.ts.map +1 -0
  351. package/dist/services/viewport.js +180 -0
  352. package/dist/services/viewport.js.map +1 -0
  353. package/dist/services/waypoint-optimizer.d.ts +31 -0
  354. package/dist/services/waypoint-optimizer.d.ts.map +1 -0
  355. package/dist/services/waypoint-optimizer.js +235 -0
  356. package/dist/services/waypoint-optimizer.js.map +1 -0
  357. package/dist/types/aerial-view.d.ts +39 -0
  358. package/dist/types/aerial-view.d.ts.map +1 -0
  359. package/dist/types/aerial-view.js +2 -0
  360. package/dist/types/aerial-view.js.map +1 -0
  361. package/dist/types/batch-url.d.ts +31 -0
  362. package/dist/types/batch-url.d.ts.map +1 -1
  363. package/dist/types/categories.d.ts +20 -4
  364. package/dist/types/categories.d.ts.map +1 -1
  365. package/dist/types/common.d.ts +192 -24
  366. package/dist/types/common.d.ts.map +1 -1
  367. package/dist/types/common.js +1 -1
  368. package/dist/types/common.js.map +1 -1
  369. package/dist/types/directions.d.ts +217 -3
  370. package/dist/types/directions.d.ts.map +1 -1
  371. package/dist/types/dx.d.ts +69 -11
  372. package/dist/types/dx.d.ts.map +1 -1
  373. package/dist/types/geocode.d.ts +61 -3
  374. package/dist/types/geocode.d.ts.map +1 -1
  375. package/dist/types/grid-search.d.ts +66 -0
  376. package/dist/types/grid-search.d.ts.map +1 -0
  377. package/dist/types/grid-search.js +2 -0
  378. package/dist/types/grid-search.js.map +1 -0
  379. package/dist/types/hooks.d.ts +3 -3
  380. package/dist/types/hooks.d.ts.map +1 -1
  381. package/dist/types/links.d.ts +3 -6
  382. package/dist/types/links.d.ts.map +1 -1
  383. package/dist/types/lists.d.ts +68 -3
  384. package/dist/types/lists.d.ts.map +1 -1
  385. package/dist/types/map-3d.d.ts +126 -0
  386. package/dist/types/map-3d.d.ts.map +1 -0
  387. package/dist/types/map-3d.js +2 -0
  388. package/dist/types/map-3d.js.map +1 -0
  389. package/dist/types/map-earth.d.ts +34 -0
  390. package/dist/types/map-earth.d.ts.map +1 -0
  391. package/dist/types/map-earth.js +2 -0
  392. package/dist/types/map-earth.js.map +1 -0
  393. package/dist/types/map-layers.d.ts +63 -0
  394. package/dist/types/map-layers.d.ts.map +1 -0
  395. package/dist/types/map-layers.js +2 -0
  396. package/dist/types/map-layers.js.map +1 -0
  397. package/dist/types/mobility.d.ts +121 -0
  398. package/dist/types/mobility.d.ts.map +1 -0
  399. package/dist/types/mobility.js +3 -0
  400. package/dist/types/mobility.js.map +1 -0
  401. package/dist/types/panorama.d.ts +123 -0
  402. package/dist/types/panorama.d.ts.map +1 -1
  403. package/dist/types/photos.d.ts +12 -0
  404. package/dist/types/photos.d.ts.map +1 -1
  405. package/dist/types/photos.js +2 -1
  406. package/dist/types/photos.js.map +1 -1
  407. package/dist/types/place-attributes.d.ts +15 -0
  408. package/dist/types/place-attributes.d.ts.map +1 -0
  409. package/dist/types/place-attributes.js +2 -0
  410. package/dist/types/place-attributes.js.map +1 -0
  411. package/dist/types/place-extended.d.ts +406 -0
  412. package/dist/types/place-extended.d.ts.map +1 -0
  413. package/dist/types/place-extended.js +18 -0
  414. package/dist/types/place-extended.js.map +1 -0
  415. package/dist/types/protobuf.d.ts +1 -1
  416. package/dist/types/protobuf.js +1 -1
  417. package/dist/types/reviews.d.ts +28 -1
  418. package/dist/types/reviews.d.ts.map +1 -1
  419. package/dist/types/reviews.js.map +1 -1
  420. package/dist/types/route-optimization.d.ts +56 -0
  421. package/dist/types/route-optimization.d.ts.map +1 -0
  422. package/dist/types/route-optimization.js +2 -0
  423. package/dist/types/route-optimization.js.map +1 -0
  424. package/dist/types/search-along-route.d.ts +49 -0
  425. package/dist/types/search-along-route.d.ts.map +1 -0
  426. package/dist/types/search-along-route.js +2 -0
  427. package/dist/types/search-along-route.js.map +1 -0
  428. package/dist/types/search-filters.d.ts +1 -1
  429. package/dist/types/search-filters.js +1 -1
  430. package/dist/types/suggest.d.ts +23 -2
  431. package/dist/types/suggest.d.ts.map +1 -1
  432. package/dist/types/tiles.d.ts +40 -0
  433. package/dist/types/tiles.d.ts.map +1 -1
  434. package/dist/types/traffic.d.ts +58 -1
  435. package/dist/types/traffic.d.ts.map +1 -1
  436. package/dist/types/transit.d.ts +160 -1
  437. package/dist/types/transit.d.ts.map +1 -1
  438. package/dist/types/transit.js +0 -1
  439. package/dist/types/transit.js.map +1 -1
  440. package/dist/types/viewport.d.ts +159 -0
  441. package/dist/types/viewport.d.ts.map +1 -0
  442. package/dist/types/viewport.js +3 -0
  443. package/dist/types/viewport.js.map +1 -0
  444. package/dist/utils/async.d.ts +44 -0
  445. package/dist/utils/async.d.ts.map +1 -0
  446. package/dist/utils/async.js +132 -0
  447. package/dist/utils/async.js.map +1 -0
  448. package/dist/utils/encoded-polyline.d.ts +43 -0
  449. package/dist/utils/encoded-polyline.d.ts.map +1 -1
  450. package/dist/utils/encoded-polyline.js +71 -0
  451. package/dist/utils/encoded-polyline.js.map +1 -1
  452. package/dist/utils/env.d.ts +6 -0
  453. package/dist/utils/env.d.ts.map +1 -0
  454. package/dist/utils/{load-env.js → env.js} +32 -7
  455. package/dist/utils/env.js.map +1 -0
  456. package/dist/utils/geo.d.ts +12 -0
  457. package/dist/utils/geo.d.ts.map +1 -1
  458. package/dist/utils/geo.js +20 -0
  459. package/dist/utils/geo.js.map +1 -1
  460. package/dist/utils/hooks.d.ts +2 -3
  461. package/dist/utils/hooks.d.ts.map +1 -1
  462. package/dist/utils/hooks.js +1 -1
  463. package/dist/utils/hooks.js.map +1 -1
  464. package/dist/utils/ids.d.ts +1 -0
  465. package/dist/utils/ids.d.ts.map +1 -1
  466. package/dist/utils/ids.js +10 -0
  467. package/dist/utils/ids.js.map +1 -1
  468. package/dist/utils/net.d.ts +46 -0
  469. package/dist/utils/net.d.ts.map +1 -0
  470. package/dist/utils/net.js +150 -0
  471. package/dist/utils/net.js.map +1 -0
  472. package/dist/utils/payload.d.ts +22 -0
  473. package/dist/utils/payload.d.ts.map +1 -0
  474. package/dist/utils/{chunked-decoder.js → payload.js} +80 -2
  475. package/dist/utils/payload.js.map +1 -0
  476. package/dist/utils/place-ref.d.ts +40 -3
  477. package/dist/utils/place-ref.d.ts.map +1 -1
  478. package/dist/utils/place-ref.js +94 -2
  479. package/dist/utils/place-ref.js.map +1 -1
  480. package/package.json +8 -5
  481. package/dist/client/product-namespaces.d.ts +0 -30
  482. package/dist/client/product-namespaces.d.ts.map +0 -1
  483. package/dist/client/product-namespaces.js +0 -47
  484. package/dist/client/product-namespaces.js.map +0 -1
  485. package/dist/parsers/elevation-directions.d.ts +0 -18
  486. package/dist/parsers/elevation-directions.d.ts.map +0 -1
  487. package/dist/parsers/elevation-directions.js +0 -102
  488. package/dist/parsers/elevation-directions.js.map +0 -1
  489. package/dist/parsers/passiveassist.d.ts +0 -10
  490. package/dist/parsers/passiveassist.d.ts.map +0 -1
  491. package/dist/parsers/passiveassist.js +0 -61
  492. package/dist/parsers/passiveassist.js.map +0 -1
  493. package/dist/parsers/review-aggregates.d.ts +0 -7
  494. package/dist/parsers/review-aggregates.d.ts.map +0 -1
  495. package/dist/parsers/review-aggregates.js +0 -18
  496. package/dist/parsers/review-aggregates.js.map +0 -1
  497. package/dist/parsers/review-client-filters.d.ts +0 -8
  498. package/dist/parsers/review-client-filters.d.ts.map +0 -1
  499. package/dist/parsers/review-client-filters.js +0 -28
  500. package/dist/parsers/review-client-filters.js.map +0 -1
  501. package/dist/parsers/search-client-filters.d.ts +0 -7
  502. package/dist/parsers/search-client-filters.d.ts.map +0 -1
  503. package/dist/parsers/search-client-filters.js +0 -44
  504. package/dist/parsers/search-client-filters.js.map +0 -1
  505. package/dist/parsers/search-pagination.d.ts +0 -12
  506. package/dist/parsers/search-pagination.d.ts.map +0 -1
  507. package/dist/parsers/search-pagination.js +0 -34
  508. package/dist/parsers/search-pagination.js.map +0 -1
  509. package/dist/parsers/timezone-geocode.d.ts +0 -20
  510. package/dist/parsers/timezone-geocode.d.ts.map +0 -1
  511. package/dist/parsers/timezone-geocode.js +0 -96
  512. package/dist/parsers/timezone-geocode.js.map +0 -1
  513. package/dist/parsers/ugc-aggregates.d.ts +0 -9
  514. package/dist/parsers/ugc-aggregates.d.ts.map +0 -1
  515. package/dist/parsers/ugc-aggregates.js +0 -23
  516. package/dist/parsers/ugc-aggregates.js.map +0 -1
  517. package/dist/rpc/app-options.d.ts +0 -25
  518. package/dist/rpc/app-options.d.ts.map +0 -1
  519. package/dist/rpc/app-options.js.map +0 -1
  520. package/dist/rpc/batchexecute-args.d.ts +0 -30
  521. package/dist/rpc/batchexecute-args.d.ts.map +0 -1
  522. package/dist/rpc/batchexecute-args.js +0 -35
  523. package/dist/rpc/batchexecute-args.js.map +0 -1
  524. package/dist/rpc/boq-reviews.d.ts +0 -16
  525. package/dist/rpc/boq-reviews.d.ts.map +0 -1
  526. package/dist/rpc/boq-reviews.js +0 -45
  527. package/dist/rpc/boq-reviews.js.map +0 -1
  528. package/dist/rpc/descriptor-registry.d.ts.map +0 -1
  529. package/dist/rpc/descriptor-registry.js +0 -47
  530. package/dist/rpc/descriptor-registry.js.map +0 -1
  531. package/dist/rpc/lists-pb.d.ts +0 -20
  532. package/dist/rpc/lists-pb.d.ts.map +0 -1
  533. package/dist/rpc/lists-pb.js +0 -20
  534. package/dist/rpc/lists-pb.js.map +0 -1
  535. package/dist/rpc/nxa.d.ts +0 -13
  536. package/dist/rpc/nxa.d.ts.map +0 -1
  537. package/dist/rpc/nxa.js +0 -44
  538. package/dist/rpc/nxa.js.map +0 -1
  539. package/dist/rpc/passiveassist-pb.d.ts +0 -21
  540. package/dist/rpc/passiveassist-pb.d.ts.map +0 -1
  541. package/dist/rpc/passiveassist-pb.js +0 -24
  542. package/dist/rpc/passiveassist-pb.js.map +0 -1
  543. package/dist/rpc/photo-category-tokens.d.ts +0 -29
  544. package/dist/rpc/photo-category-tokens.d.ts.map +0 -1
  545. package/dist/rpc/photo-category-tokens.js +0 -97
  546. package/dist/rpc/photo-category-tokens.js.map +0 -1
  547. package/dist/rpc/reveal-pb.d.ts +0 -26
  548. package/dist/rpc/reveal-pb.d.ts.map +0 -1
  549. package/dist/rpc/reveal-pb.js +0 -32
  550. package/dist/rpc/reveal-pb.js.map +0 -1
  551. package/dist/rpc/suggest-pb.d.ts +0 -34
  552. package/dist/rpc/suggest-pb.d.ts.map +0 -1
  553. package/dist/rpc/suggest-pb.js +0 -42
  554. package/dist/rpc/suggest-pb.js.map +0 -1
  555. package/dist/rpc/tiles-pb.d.ts +0 -45
  556. package/dist/rpc/tiles-pb.d.ts.map +0 -1
  557. package/dist/rpc/tiles-pb.js +0 -71
  558. package/dist/rpc/tiles-pb.js.map +0 -1
  559. package/dist/services/batch-url.d.ts +0 -18
  560. package/dist/services/batch-url.d.ts.map +0 -1
  561. package/dist/services/batch-url.js +0 -30
  562. package/dist/services/batch-url.js.map +0 -1
  563. package/dist/services/categories.d.ts +0 -21
  564. package/dist/services/categories.d.ts.map +0 -1
  565. package/dist/services/categories.js +0 -43
  566. package/dist/services/categories.js.map +0 -1
  567. package/dist/services/passiveassist.d.ts +0 -21
  568. package/dist/services/passiveassist.d.ts.map +0 -1
  569. package/dist/services/passiveassist.js +0 -70
  570. package/dist/services/passiveassist.js.map +0 -1
  571. package/dist/services/reveal.d.ts +0 -15
  572. package/dist/services/reveal.d.ts.map +0 -1
  573. package/dist/services/reveal.js +0 -41
  574. package/dist/services/reveal.js.map +0 -1
  575. package/dist/services/suggest.d.ts +0 -12
  576. package/dist/services/suggest.d.ts.map +0 -1
  577. package/dist/services/suggest.js +0 -36
  578. package/dist/services/suggest.js.map +0 -1
  579. package/dist/services/timezone.d.ts +0 -19
  580. package/dist/services/timezone.d.ts.map +0 -1
  581. package/dist/services/timezone.js +0 -91
  582. package/dist/services/timezone.js.map +0 -1
  583. package/dist/services/ugc-aggregates.d.ts +0 -17
  584. package/dist/services/ugc-aggregates.d.ts.map +0 -1
  585. package/dist/services/ugc-aggregates.js +0 -30
  586. package/dist/services/ugc-aggregates.js.map +0 -1
  587. package/dist/types/distance-matrix.d.ts +0 -40
  588. package/dist/types/distance-matrix.d.ts.map +0 -1
  589. package/dist/types/distance-matrix.js +0 -2
  590. package/dist/types/distance-matrix.js.map +0 -1
  591. package/dist/types/elevation.d.ts +0 -59
  592. package/dist/types/elevation.d.ts.map +0 -1
  593. package/dist/types/elevation.js +0 -2
  594. package/dist/types/elevation.js.map +0 -1
  595. package/dist/types/passiveassist.d.ts +0 -50
  596. package/dist/types/passiveassist.d.ts.map +0 -1
  597. package/dist/types/passiveassist.js +0 -2
  598. package/dist/types/passiveassist.js.map +0 -1
  599. package/dist/types/reveal.d.ts +0 -46
  600. package/dist/types/reveal.d.ts.map +0 -1
  601. package/dist/types/reveal.js +0 -2
  602. package/dist/types/reveal.js.map +0 -1
  603. package/dist/types/timezone.d.ts +0 -36
  604. package/dist/types/timezone.d.ts.map +0 -1
  605. package/dist/types/timezone.js +0 -2
  606. package/dist/types/timezone.js.map +0 -1
  607. package/dist/types/ugc-aggregates.d.ts +0 -14
  608. package/dist/types/ugc-aggregates.d.ts.map +0 -1
  609. package/dist/types/ugc-aggregates.js +0 -2
  610. package/dist/types/ugc-aggregates.js.map +0 -1
  611. package/dist/utils/abort.d.ts +0 -7
  612. package/dist/utils/abort.d.ts.map +0 -1
  613. package/dist/utils/abort.js +0 -43
  614. package/dist/utils/abort.js.map +0 -1
  615. package/dist/utils/chunked-decoder.d.ts +0 -9
  616. package/dist/utils/chunked-decoder.d.ts.map +0 -1
  617. package/dist/utils/chunked-decoder.js.map +0 -1
  618. package/dist/utils/coords.d.ts +0 -24
  619. package/dist/utils/coords.d.ts.map +0 -1
  620. package/dist/utils/coords.js +0 -37
  621. package/dist/utils/coords.js.map +0 -1
  622. package/dist/utils/feature-id.d.ts +0 -2
  623. package/dist/utils/feature-id.d.ts.map +0 -1
  624. package/dist/utils/feature-id.js +0 -11
  625. package/dist/utils/feature-id.js.map +0 -1
  626. package/dist/utils/load-env.d.ts +0 -7
  627. package/dist/utils/load-env.d.ts.map +0 -1
  628. package/dist/utils/load-env.js.map +0 -1
  629. package/dist/utils/pooled.d.ts +0 -8
  630. package/dist/utils/pooled.d.ts.map +0 -1
  631. package/dist/utils/pooled.js +0 -27
  632. package/dist/utils/pooled.js.map +0 -1
  633. package/dist/utils/request-context.d.ts +0 -9
  634. package/dist/utils/request-context.d.ts.map +0 -1
  635. package/dist/utils/request-context.js +0 -12
  636. package/dist/utils/request-context.js.map +0 -1
  637. package/dist/utils/request-scheduler.d.ts +0 -28
  638. package/dist/utils/request-scheduler.d.ts.map +0 -1
  639. package/dist/utils/request-scheduler.js +0 -58
  640. package/dist/utils/request-scheduler.js.map +0 -1
  641. package/dist/utils/response-parser.d.ts +0 -7
  642. package/dist/utils/response-parser.d.ts.map +0 -1
  643. package/dist/utils/response-parser.js +0 -50
  644. package/dist/utils/response-parser.js.map +0 -1
  645. package/dist/utils/retry-backoff.d.ts +0 -5
  646. package/dist/utils/retry-backoff.d.ts.map +0 -1
  647. package/dist/utils/retry-backoff.js +0 -23
  648. package/dist/utils/retry-backoff.js.map +0 -1
  649. package/dist/utils/safe-get.d.ts +0 -6
  650. package/dist/utils/safe-get.d.ts.map +0 -1
  651. package/dist/utils/safe-get.js +0 -29
  652. package/dist/utils/safe-get.js.map +0 -1
  653. package/dist/utils/throttle-detection.d.ts +0 -17
  654. package/dist/utils/throttle-detection.d.ts.map +0 -1
  655. package/dist/utils/throttle-detection.js +0 -71
  656. package/dist/utils/throttle-detection.js.map +0 -1
  657. package/dist/utils/ttl-cache.d.ts +0 -17
  658. package/dist/utils/ttl-cache.d.ts.map +0 -1
  659. package/dist/utils/ttl-cache.js +0 -43
  660. package/dist/utils/ttl-cache.js.map +0 -1
  661. /package/{assets → .github/assets}/banner.png +0 -0
@@ -8,16 +8,23 @@ export declare function buildAreaTrafficArgs(params: {
8
8
  neLat: number;
9
9
  neLng: number;
10
10
  }): unknown[];
11
+ /**
12
+ * MapsViewportService.GetViewportMetadata (rpcid T4jwAf).
13
+ *
14
+ * Request is `{1: Camera, 4: repeated int, 5: ClientRequestMetadata}`. Earlier
15
+ * probes failed because the camera carried no altitude — the server answers
16
+ * `[3]` for any camera it cannot derive a zoom from.
17
+ */
11
18
  export declare function buildViewportMetadataArgs(params: {
12
- psi: string;
13
- scale: number;
14
- lng: number;
15
19
  lat: number;
20
+ lng: number;
21
+ zoom?: number;
22
+ altitude?: number;
16
23
  width?: number;
17
24
  height?: number;
18
- zoom?: number;
25
+ fov?: number;
26
+ psi?: string;
19
27
  }): unknown[];
20
- export declare function buildMerchantStatusArgs(psi: string): unknown[];
21
28
  export declare function buildPlaceUgcAggregatesArgs(hexId: string, psi: string): unknown[];
22
29
  export declare function buildCategorySuggestionsArgs(query: string): unknown[];
23
30
  export declare function buildPlaceInfoArgs(hexId: string): unknown[];
@@ -41,15 +48,6 @@ export interface ListEntityPhotosBatchParams {
41
48
  * Mode 2 = entity gallery; arg[4] carries pagination token at [2][2] and category at [24].
42
49
  */
43
50
  export declare function buildListEntityPhotosBatchArgs(params: ListEntityPhotosBatchParams): unknown[];
44
- export declare function buildKnowledgeEntityArgs(params: {
45
- entityId: string;
46
- type?: number;
47
- }): unknown[];
48
- export declare function buildListUgcPostsArgs(params: {
49
- hexId: string;
50
- psi: string;
51
- limit?: number;
52
- }): unknown[];
53
51
  /**
54
52
  * MapsTransitService.ListTransitLines (rpcid gY1uwe).
55
53
  * Request shape from f0N97d.js: repeated Pqh at field 1 — Pqh.Nc enum + Oqh payload;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-request-builders.d.ts","sourceRoot":"","sources":["../../src/rpc/batch-request-builders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,EAAE,CAcZ;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,EAAE,CAWZ;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAE9D;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAEjF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAErE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAE3D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAErE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAEzD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAG5E;AAsBD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,EAAE,CA8D7F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,EAAE,CAEZ;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,EAAE,CAGZ;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,EAAE,CAuBZ"}
1
+ {"version":3,"file":"batch-request-builders.d.ts","sourceRoot":"","sources":["../../src/rpc/batch-request-builders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,EAAE,CAcZ;AA8CD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,EAAE,CAmBZ;AAMD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAEjF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAErE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAE3D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAErE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAEzD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAG5E;AAsBD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,EAAE,CA8D7F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,EAAE,CAuBZ"}
@@ -17,19 +17,58 @@ export function buildAreaTrafficArgs(params) {
17
17
  ],
18
18
  ];
19
19
  }
20
- export function buildViewportMetadataArgs(params) {
21
- const w = params.width ?? 1440;
22
- const h = params.height ?? 757;
23
- const zoom = params.zoom ?? 14;
20
+ /**
21
+ * Maps camera proto as a batchexecute arg array.
22
+ *
23
+ * `!1m3!1d{altitude}!2d{lng}!3d{lat}!2m3!1f{heading}!2f{tilt}!3f{roll}!3m2!1i{w}!2i{h}!4f{fov}`
24
+ * — the same camera the `/maps/@` URL carries. Altitude is the load-bearing
25
+ * field: the server derives zoom from it and rejects a camera without one.
26
+ */
27
+ function buildCameraArgs(params) {
24
28
  return [
25
- [[params.scale, params.lng, params.lat], [0, 0, 0], [w, h], zoom],
26
- null,
27
- null,
28
- null,
29
- buildSessionContext(params.psi, [null, null, null, null, null, null, null, 312732]),
29
+ [params.altitude, params.lng, params.lat],
30
+ [params.heading ?? 0, params.tilt ?? 0, params.roll ?? 0],
31
+ [params.width ?? 1440, params.height ?? 757],
32
+ params.fov ?? 13.1,
30
33
  ];
31
34
  }
32
- export function buildMerchantStatusArgs(psi) {
35
+ /**
36
+ * Camera altitude that renders a given zoom level, inverting the Maps client's
37
+ * `zoom = log2((1 / tan(fov/2)) * (height/2) * 2π / (altitude / (R cos lat) * 256))`.
38
+ */
39
+ function altitudeForZoom(params) {
40
+ const fov = params.fov ?? 13.1;
41
+ const height = params.height ?? 757;
42
+ const normalized = ((1 / Math.tan(((Math.PI / 180) * fov) / 2)) * (height / 2) * (2 * Math.PI)) /
43
+ (Math.pow(2, params.zoom) * 256);
44
+ return normalized * 6_371_010 * Math.cos((Math.PI / 180) * params.lat);
45
+ }
46
+ /**
47
+ * MapsViewportService.GetViewportMetadata (rpcid T4jwAf).
48
+ *
49
+ * Request is `{1: Camera, 4: repeated int, 5: ClientRequestMetadata}`. Earlier
50
+ * probes failed because the camera carried no altitude — the server answers
51
+ * `[3]` for any camera it cannot derive a zoom from.
52
+ */
53
+ export function buildViewportMetadataArgs(params) {
54
+ const width = params.width ?? 1440;
55
+ const height = params.height ?? 757;
56
+ const fov = params.fov ?? 13.1;
57
+ const altitude = params.altitude ??
58
+ altitudeForZoom({ zoom: params.zoom ?? 14, lat: params.lat, fov, height });
59
+ const camera = buildCameraArgs({
60
+ lat: params.lat,
61
+ lng: params.lng,
62
+ altitude,
63
+ width,
64
+ height,
65
+ fov,
66
+ });
67
+ if (!params.psi)
68
+ return [camera];
69
+ return [camera, null, null, null, buildSessionContext(params.psi)];
70
+ }
71
+ function buildMerchantStatusArgs(psi) {
33
72
  return [null, buildSessionContext(psi)];
34
73
  }
35
74
  export function buildPlaceUgcAggregatesArgs(hexId, psi) {
@@ -136,13 +175,6 @@ export function buildListEntityPhotosBatchArgs(params) {
136
175
  ],
137
176
  ];
138
177
  }
139
- export function buildKnowledgeEntityArgs(params) {
140
- return [params.type ?? 1, null, null, null, params.entityId];
141
- }
142
- export function buildListUgcPostsArgs(params) {
143
- const limit = params.limit ?? 10;
144
- return [null, null, params.hexId, [[1, 1, 0, null, null, null, limit]], buildSessionContext(params.psi), 1];
145
- }
146
178
  /**
147
179
  * MapsTransitService.ListTransitLines (rpcid gY1uwe).
148
180
  * Request shape from f0N97d.js: repeated Pqh at field 1 — Pqh.Nc enum + Oqh payload;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-request-builders.js","sourceRoot":"","sources":["../../src/rpc/batch-request-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-request-builders.js","sourceRoot":"","sources":["../../src/rpc/batch-request-builders.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Shared batchexecute helpers — session context, response parsing, client bootstrap.
3
3
  */
4
4
  import { cookiesToHeader } from '../auth/session.js';
5
- import { parseMapsPageTokens } from './app-options.js';
5
+ import { parseMapsPageTokens } from './descriptors.js';
6
6
  /** Maps APP_OPTIONS psi session token shape (index 0 of context array). */
7
7
  export function buildSessionContext(psi, tail) {
8
8
  const ctx = [psi, null, null, null, null, null, 81];
@@ -29,6 +29,8 @@ export declare const BATCH_SERVICES: {
29
29
  readonly DELETE_ASK_MAPS_HISTORY: "/MapsAskMapsHistoryService.DeleteAskMapsHistoryThreads";
30
30
  readonly CREATE_SHARED_ASK_MAPS_HISTORY: "/MapsAskMapsHistoryService.CreateSharedAskMapsHistoryThread";
31
31
  readonly SUBMIT_GENAI_FEEDBACK: "/MapsGenAiSearchService.SubmitUserFeedback";
32
+ readonly GET_USER_PREFS: "/MapsUserPrefsService.GetUserPrefs";
33
+ readonly WRITE_USER_PREFS: "/MapsUserPrefsService.WriteUserPrefs";
32
34
  };
33
35
  export type BatchServicePath = (typeof BATCH_SERVICES)[keyof typeof BATCH_SERVICES];
34
36
  /** Short rpcid in URL query when known (from _.ly registrations in JS bundles). */
@@ -1 +1 @@
1
- {"version":3,"file":"batch-services.d.ts","sourceRoot":"","sources":["../../src/rpc/batch-services.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEpF,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CA4BjE,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvE"}
1
+ {"version":3,"file":"batch-services.d.ts","sourceRoot":"","sources":["../../src/rpc/batch-services.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BjB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEpF,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CA8BjE,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvE"}
@@ -29,6 +29,8 @@ export const BATCH_SERVICES = {
29
29
  DELETE_ASK_MAPS_HISTORY: '/MapsAskMapsHistoryService.DeleteAskMapsHistoryThreads',
30
30
  CREATE_SHARED_ASK_MAPS_HISTORY: '/MapsAskMapsHistoryService.CreateSharedAskMapsHistoryThread',
31
31
  SUBMIT_GENAI_FEEDBACK: '/MapsGenAiSearchService.SubmitUserFeedback',
32
+ GET_USER_PREFS: '/MapsUserPrefsService.GetUserPrefs',
33
+ WRITE_USER_PREFS: '/MapsUserPrefsService.WriteUserPrefs',
32
34
  };
33
35
  /** Short rpcid in URL query when known (from _.ly registrations in JS bundles). */
34
36
  export const BATCH_SERVICE_RPCIDS = {
@@ -59,6 +61,8 @@ export const BATCH_SERVICE_RPCIDS = {
59
61
  [BATCH_SERVICES.DELETE_ASK_MAPS_HISTORY]: 'zRtNVd',
60
62
  [BATCH_SERVICES.CREATE_SHARED_ASK_MAPS_HISTORY]: 'HbcvDd',
61
63
  [BATCH_SERVICES.SUBMIT_GENAI_FEEDBACK]: 'NxKdBf',
64
+ [BATCH_SERVICES.GET_USER_PREFS]: 'JGUSi',
65
+ [BATCH_SERVICES.WRITE_USER_PREFS]: 'PDqRpc',
62
66
  };
63
67
  export function isServicePath(id) {
64
68
  return id.startsWith('/');
@@ -1 +1 @@
1
- {"version":3,"file":"batch-services.js","sourceRoot":"","sources":["../../src/rpc/batch-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-services.js","sourceRoot":"","sources":["../../src/rpc/batch-services.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,15 @@
1
1
  /**
2
- * Typed access to reverse-engineered Maps protobuf / batchexecute descriptor registry.
2
+ * Google Nxa rpcid encoder used by Maps batchexecute.
3
+ *
4
+ * Reverse-engineered from Maps JS:
5
+ * Nxa.toString(fieldNumber + 2147483648)
3
6
  */
4
- import { decodeRpcId, encodeRpcId, isNxaRpcId } from './nxa.js';
7
+ /** Encode a protobuf field number to a batchexecute rpcid string. */
8
+ export declare function encodeRpcId(fieldNumber: number): string;
9
+ /** Decode a batchexecute rpcid back to its protobuf field number. */
10
+ export declare function decodeRpcId(rpcid: string): number;
11
+ /** True when string matches Maps Nxa rpcid shape (6-char alphanumeric). */
12
+ export declare function isNxaRpcId(value: string): boolean;
5
13
  export interface RpcMethodDescriptor {
6
14
  field: number;
7
15
  rpcid: string;
@@ -57,5 +65,22 @@ export declare function describeRpcId(rpcid: string): {
57
65
  method?: RpcMethodDescriptor;
58
66
  features: string[];
59
67
  };
60
- export { encodeRpcId, decodeRpcId, isNxaRpcId };
61
- //# sourceMappingURL=descriptor-registry.d.ts.map
68
+ /**
69
+ * Parse Google Maps APP_OPTIONS and WIZ_global_data from bootstrap HTML.
70
+ */
71
+ import type { MapsEndpointRegistry, MapsPageTokens } from '../types/common.js';
72
+ export declare function extractPathsFromHtml(html: string): string[];
73
+ export declare function parseMapsPageTokens(html: string): MapsPageTokens;
74
+ /** Extract psi session token from APP_OPTIONS bootstrap (index 11). */
75
+ export declare function extractAppOptionsPsi(html: string): string | undefined;
76
+ export declare function buildEndpointRegistry(html: string): MapsEndpointRegistry;
77
+ /** Extract lazy module manifest from _ModuleManager_initialize in a JS bundle. */
78
+ export declare function extractModuleManifest(js: string): {
79
+ manifest: string;
80
+ moduleIds: string[];
81
+ } | null;
82
+ /** Extract protobuf service descriptor IDs (prototype.Jd) from a JS bundle. */
83
+ export declare function extractProtoServiceIds(js: string): string[];
84
+ /** Extract 6-char closure module registrations (_.Sc). */
85
+ export declare function extractClosureModuleIds(js: string): string[];
86
+ //# sourceMappingURL=descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../src/rpc/descriptors.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,105 @@
1
1
  /**
2
- * Parse Google Maps APP_OPTIONS and WIZ_global_data from bootstrap HTML.
2
+ * Google Nxa rpcid encoder used by Maps batchexecute.
3
+ *
4
+ * Reverse-engineered from Maps JS:
5
+ * Nxa.toString(fieldNumber + 2147483648)
3
6
  */
7
+ const ALPHA = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
8
+ const ALNUM = `${ALPHA}0123456789`;
9
+ const NXA_OFFSET = 2_147_483_648;
10
+ /** Encode a protobuf field number to a batchexecute rpcid string. */
11
+ export function encodeRpcId(fieldNumber) {
12
+ let value = fieldNumber + NXA_OFFSET;
13
+ const chars = [ALPHA[value % 52]];
14
+ value = Math.floor(value / 52);
15
+ while (value > 0) {
16
+ chars.push(ALNUM[value % 62]);
17
+ value = Math.floor(value / 62);
18
+ }
19
+ return chars.join('');
20
+ }
21
+ /** Decode a batchexecute rpcid back to its protobuf field number. */
22
+ export function decodeRpcId(rpcid) {
23
+ if (!rpcid) {
24
+ throw new Error('rpcid is required');
25
+ }
26
+ let suffix = 0;
27
+ for (let i = rpcid.length - 1; i > 0; i--) {
28
+ const index = ALNUM.indexOf(rpcid[i]);
29
+ if (index < 0) {
30
+ throw new Error(`Invalid rpcid character: ${rpcid[i]}`);
31
+ }
32
+ suffix = index + 62 * suffix;
33
+ }
34
+ const prefix = ALPHA.indexOf(rpcid[0]);
35
+ if (prefix < 0) {
36
+ throw new Error(`Invalid rpcid prefix: ${rpcid}`);
37
+ }
38
+ return prefix + 52 * suffix - NXA_OFFSET;
39
+ }
40
+ /** True when string matches Maps Nxa rpcid shape (6-char alphanumeric). */
41
+ export function isNxaRpcId(value) {
42
+ return /^[a-zA-Z][a-zA-Z0-9]{5}$/.test(value);
43
+ }
44
+ /**
45
+ * Typed access to the Maps protobuf / batchexecute descriptor registry.
46
+ */
47
+ import registryJson from './rpc-descriptor-registry.json' with { type: 'json' };
48
+ const REGISTRY = registryJson;
49
+ export function getDescriptorRegistry() {
50
+ return REGISTRY;
51
+ }
52
+ export function getRpcMethodById(rpcid) {
53
+ return REGISTRY.allRpcMethods.find((method) => method.rpcid === rpcid);
54
+ }
55
+ export function getRpcMethodByField(field) {
56
+ const rpcid = encodeRpcId(field);
57
+ return getRpcMethodById(rpcid);
58
+ }
59
+ export function getFeatureService(name) {
60
+ return REGISTRY.featureServices[name];
61
+ }
62
+ export function listFeatureServices() {
63
+ return Object.keys(REGISTRY.featureServices).sort();
64
+ }
65
+ export function listMapsAiAgentRpcIds() {
66
+ return REGISTRY.mapsAiAgent.map((method) => method.rpcid);
67
+ }
68
+ export function resolveSemanticSurface(routeType) {
69
+ const normalized = REGISTRY.uiRouteTypes[routeType];
70
+ if (!normalized) {
71
+ return undefined;
72
+ }
73
+ for (const [key, surface] of Object.entries(REGISTRY.semanticSurfaces)) {
74
+ if (normalized.includes(key) || key.includes(normalized)) {
75
+ return surface;
76
+ }
77
+ }
78
+ return REGISTRY.semanticSurfaces[normalized];
79
+ }
80
+ export function describeRpcId(rpcid) {
81
+ const field = isNxaRpcId(rpcid) ? decodeRpcId(rpcid) : NaN;
82
+ const method = getRpcMethodById(rpcid);
83
+ const features = Object.entries(REGISTRY.featureServices)
84
+ .filter(([, descriptor]) => descriptor.rpcid === rpcid || descriptor.rpcids?.includes(rpcid))
85
+ .map(([name]) => name);
86
+ return { rpcid, field, method, features };
87
+ }
4
88
  const KEI_RE = /kEI='([^']+)'/;
5
89
  const JS_VERSION_RE = /"(\d{8}\.\d+)"/;
6
90
  /** Extract a single string field from WIZ_global_data without parsing the full JSON blob. */
7
- export function extractWizGlobalString(html, key) {
91
+ function extractWizGlobalString(html, key) {
8
92
  const m = html.match(new RegExp(`"${key}"\\s*:\\s*"([^"]*)"`));
9
93
  return m?.[1];
10
94
  }
11
95
  /** Build label (`bl` query param) — not always present as cfb2h in Maps HTML. */
12
- export function extractBuildLabel(html) {
96
+ function extractBuildLabel(html) {
13
97
  return (extractWizGlobalString(html, 'cfb2h') ??
14
98
  html.match(/\/maps\/_\/js\/[^"']*\/rs=([A-Za-z0-9_-]+)/)?.[1] ??
15
99
  html.match(/\/maps\/_\/js\/[^"']*[?&]bl=([A-Za-z0-9_-]+)/)?.[1]);
16
100
  }
17
101
  /** Session id (`f.sid`) — Maps may use FdrFJe, S06Grb, or Set-Cookie. */
18
- export function extractSessionId(html) {
102
+ function extractSessionId(html) {
19
103
  return (html.match(/"FdrFJe"\s*:\s*"(-?\d+)"/)?.[1] ??
20
104
  extractWizGlobalString(html, 'S06Grb')?.match(/^-?\d+$/)?.[0] ??
21
105
  html.match(/f\.sid=(-?\d+)/)?.[1]);
@@ -144,4 +228,4 @@ export function extractClosureModuleIds(js) {
144
228
  .filter((id) => Boolean(id));
145
229
  return [...new Set(ids)].sort();
146
230
  }
147
- //# sourceMappingURL=app-options.js.map
231
+ //# sourceMappingURL=descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptors.js","sourceRoot":"","sources":["../../src/rpc/descriptors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Google Earth "rocktree" protocol — the photorealistic 3D octree behind
3
+ * `kh.google.com/rt/earth`.
4
+ *
5
+ * Reverse-engineered from the Maps web client. The renderer never parses the
6
+ * octree on the main thread: Maps ships a Web Worker as an escaped string
7
+ * literal inside its `f0N97d`/mapcore modules, and that worker holds the
8
+ * BulkMetadata reader (`obbCenters` / `obbExtents` / `obbRotations`) this file
9
+ * reimplements. Three endpoints, all anonymous, all `application/x-protobuffer`:
10
+ *
11
+ * GET /rt/{planet}/PlanetoidMetadata
12
+ * GET /rt/{planet}/BulkMetadata/pb=!1m2!1s{path}!2u{epoch}
13
+ * GET /rt/{planet}/NodeData/pb=!1m2!1s{path}!2u{epoch}!2e{texture}!3u{imagery}!4b0
14
+ *
15
+ * Nodes are addressed by an octant path (digits 0-7, one per level). A bulk
16
+ * covers four levels below its head node, so bulk paths are always a multiple
17
+ * of four digits long.
18
+ */
19
+ /** Mean planet radius the Earth rocktree is quantised against. */
20
+ export declare const EARTH_RADIUS_METERS = 6371010;
21
+ /**
22
+ * Planets Google serves through the rocktree octree.
23
+ *
24
+ * `mars` and `moon` answer live with their own epochs, radii and octrees —
25
+ * the same three-endpoint protocol as earth. Any other planet name gets a
26
+ * clean HTTP 400 INVALID_ARGUMENT from the server.
27
+ */
28
+ export type RocktreePlanet = 'earth' | 'mars' | 'moon';
29
+ export declare const ROCKTREE_PLANETS: readonly RocktreePlanet[];
30
+ /** Per-planet rocktree host segment. Throws on unsupported planet names. */
31
+ export declare function rocktreeBase(planet?: RocktreePlanet): string;
32
+ /** Node flag bits decoded out of `path_and_flags`. */
33
+ export declare const NODE_FLAGS: {
34
+ /** Node publishes no NodeData — metadata only. */
35
+ readonly NO_DATA: 8;
36
+ /** NodeData must carry `!3u{imageryEpoch}` or the server answers 404. */
37
+ readonly USE_IMAGERY_EPOCH: 16;
38
+ };
39
+ export type PbField = [number, number | Uint8Array];
40
+ /** Split one protobuf message into `[fieldNumber, value]` pairs (no schema). */
41
+ export declare function readFields(bytes: Uint8Array): PbField[];
42
+ export type Vec3 = [number, number, number];
43
+ /** Geodetic (spherical) lat/lng/alt to planet-centred metres. */
44
+ export declare function latLngToEcef(lat: number, lng: number, alt?: number, radius?: number): Vec3;
45
+ /** Planet-centred metres back to lat/lng plus height above the reference sphere. */
46
+ export declare function ecefToLatLng(p: Vec3, radius?: number): {
47
+ lat: number;
48
+ lng: number;
49
+ alt: number;
50
+ };
51
+ export interface PlanetoidMetadata {
52
+ /** Epoch to seed the root BulkMetadata request with. */
53
+ rootEpoch: number;
54
+ radius: number;
55
+ }
56
+ export declare function parsePlanetoidMetadata(bytes: Uint8Array, planet?: RocktreePlanet): PlanetoidMetadata;
57
+ export declare function planetoidMetadataUrl(base?: string): string;
58
+ export interface RocktreeNode {
59
+ /** Octant path relative to the bulk head node (1-4 digits). */
60
+ path: string;
61
+ /** Depth below the bulk head node (1-4). */
62
+ level: number;
63
+ flags: number;
64
+ /** Epoch for this node's NodeData request. */
65
+ epoch: number;
66
+ /** Epoch for the child BulkMetadata request rooted at this node. */
67
+ bulkMetadataEpoch: number;
68
+ imageryEpoch: number;
69
+ textureFormat: number;
70
+ /** Ground sampling distance of this node's texture, in metres. */
71
+ metersPerTexel: number;
72
+ /** Oriented bounding box centre, earth-centred metres. */
73
+ center: Vec3 | null;
74
+ /** Oriented bounding box half-extents along its own axes, metres. */
75
+ extents: Vec3 | null;
76
+ /** Row-major 3x3; column i is OBB axis i. */
77
+ rotation: number[] | null;
78
+ /** True when the node publishes no mesh. */
79
+ hasData: boolean;
80
+ }
81
+ export interface BulkMetadata {
82
+ headPath: string;
83
+ headEpoch: number;
84
+ nodes: RocktreeNode[];
85
+ }
86
+ export declare function bulkMetadataUrl(path: string, epoch: number, base?: string): string;
87
+ /**
88
+ * Decode a BulkMetadata payload.
89
+ *
90
+ * Field layout (from the Maps octree worker):
91
+ * 1 repeated NodeMetadata 3 head node centre (3 doubles)
92
+ * 2 head node key 4 metres-per-texel per level (4 floats)
93
+ * 5 default imagery epoch 6 default texture format
94
+ *
95
+ * NodeMetadata: 1 path_and_flags, 2 epoch, 3 packed OBB, 4 metres-per-texel,
96
+ * 5 child bulk epoch, 7 imagery epoch, 8 texture format.
97
+ */
98
+ export declare function parseBulkMetadata(bytes: Uint8Array): BulkMetadata;
99
+ /** True when the point falls inside the node's oriented bounding box. */
100
+ export declare function obbContains(node: RocktreeNode, p: Vec3): boolean;
101
+ /**
102
+ * How deep inside its OBB a point sits. Sibling octants overlap because the
103
+ * boxes hug the terrain shell rather than tiling space, so descent picks the
104
+ * most central candidate rather than the first hit.
105
+ */
106
+ export declare function obbCentrality(node: RocktreeNode, p: Vec3): number;
107
+ /**
108
+ * Slab test of the segment `a`→`b` against a node's box.
109
+ *
110
+ * Deep nodes are thin shells wrapped around the actual ground, so testing a
111
+ * single point at sea level walks straight past any city that is not at sea
112
+ * level. Testing the vertical line through a location instead keeps the
113
+ * descent alive whatever the terrain height, and returns the parameter of the
114
+ * segment's midpoint inside the box for the centrality tie-break.
115
+ *
116
+ * `tMin`/`tMax` bound the part of the segment inside the box, which lets a
117
+ * descent narrow its probe to the altitude band the geometry actually occupies.
118
+ */
119
+ export declare function obbIntersectsSegment(node: RocktreeNode, a: Vec3, b: Vec3): {
120
+ hit: boolean;
121
+ t: number;
122
+ tMin: number;
123
+ tMax: number;
124
+ };
125
+ export interface RocktreeTexture {
126
+ /** Encoded image bytes — JPEG when `format` is 1. */
127
+ data: Uint8Array;
128
+ format: number;
129
+ width: number;
130
+ height: number;
131
+ }
132
+ export interface RocktreeMesh {
133
+ /** Vertex positions in earth-centred metres. */
134
+ positions: Vec3[];
135
+ /** Triangle-strip vertex indices. */
136
+ strip: number[];
137
+ /** Per-vertex texture coordinates in [0,1], parallel to `positions`. */
138
+ uvs: Array<[number, number]> | null;
139
+ texture: RocktreeTexture | null;
140
+ }
141
+ export interface NodeData {
142
+ /** Column-major 4x4 mesh-space to earth-centred-metres transform. */
143
+ matrixGlobeFromMesh: number[];
144
+ meshes: RocktreeMesh[];
145
+ copyrightIds: number[];
146
+ }
147
+ export declare function nodeDataUrl(params: {
148
+ path: string;
149
+ epoch: number;
150
+ textureFormat?: number;
151
+ imageryEpoch?: number;
152
+ }, base?: string): string;
153
+ /**
154
+ * Decode a NodeData payload.
155
+ *
156
+ * Field layout: 1 globe-from-mesh matrix (16 doubles), 2 repeated Mesh,
157
+ * 3 repeated copyright id. Mesh: 1 vertices, 3 indices, 6 texture,
158
+ * 7 texture coordinates.
159
+ */
160
+ export declare function parseNodeData(bytes: Uint8Array): NodeData;
161
+ /**
162
+ * Pixel dimensions from a JPEG's SOF marker.
163
+ *
164
+ * Node textures sometimes omit a dimension on the wire, and the image itself
165
+ * is the authority — a square 512 texture that reports only its height would
166
+ * otherwise be read as 256 wide.
167
+ */
168
+ export declare function readJpegSize(bytes: Uint8Array): {
169
+ width: number;
170
+ height: number;
171
+ } | undefined;
172
+ /** Expand a triangle strip into independent triangles, dropping degenerates. */
173
+ export declare function stripToTriangles(strip: number[]): Array<[number, number, number]>;
174
+ //# sourceMappingURL=earth-rocktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"earth-rocktree.d.ts","sourceRoot":"","sources":["../../src/rpc/earth-rocktree.ts"],"names":[],"mappings":"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"}