googlemaps-kit 0.1.3 → 0.2.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 (177) hide show
  1. package/README.md +146 -179
  2. package/dist/advanced/auth.d.ts +10 -0
  3. package/dist/advanced/auth.d.ts.map +1 -0
  4. package/dist/advanced/auth.js +8 -0
  5. package/dist/advanced/auth.js.map +1 -0
  6. package/dist/advanced/http.d.ts +10 -0
  7. package/dist/advanced/http.d.ts.map +1 -0
  8. package/dist/advanced/http.js +9 -0
  9. package/dist/advanced/http.js.map +1 -0
  10. package/dist/advanced/parsers.d.ts +28 -0
  11. package/dist/advanced/parsers.d.ts.map +1 -0
  12. package/dist/advanced/parsers.js +25 -0
  13. package/dist/advanced/parsers.js.map +1 -0
  14. package/dist/advanced/rpc.d.ts +29 -0
  15. package/dist/advanced/rpc.d.ts.map +1 -0
  16. package/dist/advanced/rpc.js +23 -0
  17. package/dist/advanced/rpc.js.map +1 -0
  18. package/dist/advanced/services.d.ts +34 -0
  19. package/dist/advanced/services.d.ts.map +1 -0
  20. package/dist/advanced/services.js +29 -0
  21. package/dist/advanced/services.js.map +1 -0
  22. package/dist/advanced/utils.d.ts +15 -0
  23. package/dist/advanced/utils.d.ts.map +1 -0
  24. package/dist/advanced/utils.js +13 -0
  25. package/dist/advanced/utils.js.map +1 -0
  26. package/dist/advanced.d.ts +43 -0
  27. package/dist/advanced.d.ts.map +1 -0
  28. package/dist/advanced.js +26 -0
  29. package/dist/advanced.js.map +1 -0
  30. package/dist/auth/session.d.ts +6 -1
  31. package/dist/auth/session.d.ts.map +1 -1
  32. package/dist/auth/session.js +23 -8
  33. package/dist/auth/session.js.map +1 -1
  34. package/dist/cli.d.ts +11 -0
  35. package/dist/cli.d.ts.map +1 -0
  36. package/dist/cli.js +115 -0
  37. package/dist/cli.js.map +1 -0
  38. package/dist/client/gmaps-client.d.ts +91 -52
  39. package/dist/client/gmaps-client.d.ts.map +1 -1
  40. package/dist/client/gmaps-client.js +209 -109
  41. package/dist/client/gmaps-client.js.map +1 -1
  42. package/dist/client/http-client.d.ts +28 -3
  43. package/dist/client/http-client.d.ts.map +1 -1
  44. package/dist/client/http-client.js +163 -14
  45. package/dist/client/http-client.js.map +1 -1
  46. package/dist/client/intent.d.ts +75 -0
  47. package/dist/client/intent.d.ts.map +1 -0
  48. package/dist/client/intent.js +546 -0
  49. package/dist/client/intent.js.map +1 -0
  50. package/dist/client/maps-tools.d.ts +80 -0
  51. package/dist/client/maps-tools.d.ts.map +1 -0
  52. package/dist/client/maps-tools.js +187 -0
  53. package/dist/client/maps-tools.js.map +1 -0
  54. package/dist/client/namespaces.d.ts +121 -0
  55. package/dist/client/namespaces.d.ts.map +1 -0
  56. package/dist/client/namespaces.js +169 -0
  57. package/dist/client/namespaces.js.map +1 -0
  58. package/dist/client/place-enrichment.d.ts +19 -0
  59. package/dist/client/place-enrichment.d.ts.map +1 -0
  60. package/dist/client/place-enrichment.js +71 -0
  61. package/dist/client/place-enrichment.js.map +1 -0
  62. package/dist/client/product-namespaces.d.ts +30 -0
  63. package/dist/client/product-namespaces.d.ts.map +1 -0
  64. package/dist/client/product-namespaces.js +47 -0
  65. package/dist/client/product-namespaces.js.map +1 -0
  66. package/dist/index.d.ts +31 -37
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +13 -28
  69. package/dist/index.js.map +1 -1
  70. package/dist/internal.d.ts +3 -137
  71. package/dist/internal.d.ts.map +1 -1
  72. package/dist/internal.js +3 -94
  73. package/dist/internal.js.map +1 -1
  74. package/dist/parsers/place.d.ts.map +1 -1
  75. package/dist/parsers/place.js +2 -0
  76. package/dist/parsers/place.js.map +1 -1
  77. package/dist/parsers/reviews.d.ts +0 -2
  78. package/dist/parsers/reviews.d.ts.map +1 -1
  79. package/dist/parsers/reviews.js +0 -2
  80. package/dist/parsers/reviews.js.map +1 -1
  81. package/dist/parsers/search.d.ts +13 -1
  82. package/dist/parsers/search.d.ts.map +1 -1
  83. package/dist/parsers/search.js +130 -71
  84. package/dist/parsers/search.js.map +1 -1
  85. package/dist/rpc/batch-execute.d.ts.map +1 -1
  86. package/dist/rpc/batch-execute.js +20 -3
  87. package/dist/rpc/batch-execute.js.map +1 -1
  88. package/dist/rpc/batch-rpc.d.ts.map +1 -1
  89. package/dist/rpc/batch-rpc.js +5 -6
  90. package/dist/rpc/batch-rpc.js.map +1 -1
  91. package/dist/rpc/batch-services.d.ts +2 -0
  92. package/dist/rpc/batch-services.d.ts.map +1 -1
  93. package/dist/rpc/batch-services.js +4 -0
  94. package/dist/rpc/batch-services.js.map +1 -1
  95. package/dist/rpc/pb-builders.d.ts +0 -2
  96. package/dist/rpc/pb-builders.d.ts.map +1 -1
  97. package/dist/rpc/pb-builders.js +2 -5
  98. package/dist/rpc/pb-builders.js.map +1 -1
  99. package/dist/rpc/rpc-client.d.ts +6 -2
  100. package/dist/rpc/rpc-client.d.ts.map +1 -1
  101. package/dist/rpc/rpc-client.js +26 -10
  102. package/dist/rpc/rpc-client.js.map +1 -1
  103. package/dist/rpc/rpc-methods.d.ts +0 -7
  104. package/dist/rpc/rpc-methods.d.ts.map +1 -1
  105. package/dist/rpc/rpc-methods.js +0 -7
  106. package/dist/rpc/rpc-methods.js.map +1 -1
  107. package/dist/services/ask-maps.js +1 -1
  108. package/dist/services/ask-maps.js.map +1 -1
  109. package/dist/services/directions.d.ts +3 -8
  110. package/dist/services/directions.d.ts.map +1 -1
  111. package/dist/services/directions.js +37 -13
  112. package/dist/services/directions.js.map +1 -1
  113. package/dist/services/geocode.js +1 -1
  114. package/dist/services/photos.d.ts.map +1 -1
  115. package/dist/services/photos.js +2 -5
  116. package/dist/services/photos.js.map +1 -1
  117. package/dist/services/places.d.ts.map +1 -1
  118. package/dist/services/places.js +13 -4
  119. package/dist/services/places.js.map +1 -1
  120. package/dist/services/reviews.d.ts +7 -0
  121. package/dist/services/reviews.d.ts.map +1 -1
  122. package/dist/services/reviews.js +10 -1
  123. package/dist/services/reviews.js.map +1 -1
  124. package/dist/services/search.d.ts +7 -5
  125. package/dist/services/search.d.ts.map +1 -1
  126. package/dist/services/search.js +46 -17
  127. package/dist/services/search.js.map +1 -1
  128. package/dist/services/ugc-aggregates.d.ts.map +1 -1
  129. package/dist/services/ugc-aggregates.js +1 -17
  130. package/dist/services/ugc-aggregates.js.map +1 -1
  131. package/dist/types/common.d.ts +92 -6
  132. package/dist/types/common.d.ts.map +1 -1
  133. package/dist/types/common.js +12 -0
  134. package/dist/types/common.js.map +1 -1
  135. package/dist/types/directions.d.ts +16 -2
  136. package/dist/types/directions.d.ts.map +1 -1
  137. package/dist/types/dx.d.ts +289 -0
  138. package/dist/types/dx.d.ts.map +1 -0
  139. package/dist/types/dx.js +7 -0
  140. package/dist/types/dx.js.map +1 -0
  141. package/dist/types/hooks.d.ts +48 -0
  142. package/dist/types/hooks.d.ts.map +1 -0
  143. package/dist/types/hooks.js +5 -0
  144. package/dist/types/hooks.js.map +1 -0
  145. package/dist/utils/abort.d.ts +7 -0
  146. package/dist/utils/abort.d.ts.map +1 -0
  147. package/dist/utils/abort.js +43 -0
  148. package/dist/utils/abort.js.map +1 -0
  149. package/dist/utils/coords.d.ts +24 -0
  150. package/dist/utils/coords.d.ts.map +1 -0
  151. package/dist/utils/coords.js +37 -0
  152. package/dist/utils/coords.js.map +1 -0
  153. package/dist/utils/export-results.d.ts +24 -0
  154. package/dist/utils/export-results.d.ts.map +1 -0
  155. package/dist/utils/export-results.js +105 -0
  156. package/dist/utils/export-results.js.map +1 -0
  157. package/dist/utils/hooks.d.ts +10 -0
  158. package/dist/utils/hooks.d.ts.map +1 -0
  159. package/dist/utils/hooks.js +47 -0
  160. package/dist/utils/hooks.js.map +1 -0
  161. package/dist/utils/place-ref.d.ts +39 -0
  162. package/dist/utils/place-ref.d.ts.map +1 -0
  163. package/dist/utils/place-ref.js +109 -0
  164. package/dist/utils/place-ref.js.map +1 -0
  165. package/dist/utils/pooled.d.ts +2 -0
  166. package/dist/utils/pooled.d.ts.map +1 -1
  167. package/dist/utils/pooled.js +8 -0
  168. package/dist/utils/pooled.js.map +1 -1
  169. package/dist/utils/request-context.d.ts +9 -0
  170. package/dist/utils/request-context.d.ts.map +1 -0
  171. package/dist/utils/request-context.js +12 -0
  172. package/dist/utils/request-context.js.map +1 -0
  173. package/dist/utils/ttl-cache.d.ts +17 -0
  174. package/dist/utils/ttl-cache.d.ts.map +1 -0
  175. package/dist/utils/ttl-cache.js +43 -0
  176. package/dist/utils/ttl-cache.js.map +1 -0
  177. package/package.json +27 -12
@@ -1,114 +1,199 @@
1
- import { HttpClient } from '../client/http-client.js';
1
+ import { HttpClient } from './http-client.js';
2
2
  import { loadProjectEnv } from '../utils/load-env.js';
3
- import { GMapsRpcClient } from '../rpc/rpc-client.js';
4
- import { BatchUrlService } from '../services/batch-url.js';
5
- import { CategoriesService } from '../services/categories.js';
6
- import { DirectionsService } from '../services/directions.js';
7
- import { DistanceMatrixService } from '../services/distance-matrix.js';
8
- import { ElevationService } from '../services/elevation.js';
9
- import { GeocodeService } from '../services/geocode.js';
10
- import { KnowledgeService } from '../services/knowledge.js';
11
- import { LinksService } from '../services/links.js';
12
- import { ListsService } from '../services/lists.js';
13
- import { LocalPostsService } from '../services/local-posts.js';
14
- import { PanoramaService } from '../services/panorama.js';
15
- import { PhotosService } from '../services/photos.js';
16
- import { PassiveAssistService } from '../services/passiveassist.js';
17
- import { PlacesService } from '../services/places.js';
18
- import { ReviewsService } from '../services/reviews.js';
19
- import { RevealService } from '../services/reveal.js';
20
- import { SearchService, searchResultToPlaceDetails } from '../services/search.js';
21
- import { StaticMapService } from '../services/static-map.js';
22
- import { SuggestService } from '../services/suggest.js';
23
- import { TilesService } from '../services/tiles.js';
24
- import { TimezoneService } from '../services/timezone.js';
25
- import { TrafficService } from '../services/traffic.js';
26
- import { TransitService } from '../services/transit.js';
27
- import { UgcAggregatesService } from '../services/ugc-aggregates.js';
3
+ import { IntentApi } from './intent.js';
4
+ import { AgentNamespace, createServiceBundle, LocationNamespace, MapNamespace, MetaNamespace, PlacesNamespace, TravelNamespace, } from './namespaces.js';
5
+ import { AuthNamespace, SurfacesNamespace } from './product-namespaces.js';
6
+ import { searchResultToPlaceDetails } from '../services/search.js';
7
+ import { GMapsAuthError } from '../types/common.js';
8
+ import { TtlCache } from '../utils/ttl-cache.js';
9
+ import { createMapsTools } from './maps-tools.js';
28
10
  loadProjectEnv();
11
+ function normalizeConfig(config = {}) {
12
+ const hl = config.locale?.hl ?? config.hl ?? process.env.GMAPS_HL ?? 'en';
13
+ const gl = config.locale?.gl ?? config.gl ?? process.env.GMAPS_GL ?? 'us';
14
+ const cookies = config.cookies ?? process.env.GMAPS_COOKIES;
15
+ const session = config.session ?? (cookies ? 'authenticated' : 'anonymous');
16
+ const concurrency = config.concurrency ??
17
+ config.performance?.concurrency ??
18
+ Number(process.env.GMAPS_CONCURRENCY ?? 6);
19
+ if (session === 'authenticated' && !cookies) {
20
+ throw new GMapsAuthError("session: 'authenticated' requires cookies (config.cookies or GMAPS_COOKIES). " +
21
+ "Use session: 'anonymous' (default) when you do not have signed-in cookies.");
22
+ }
23
+ return {
24
+ ...config,
25
+ hl,
26
+ gl,
27
+ locale: { hl, gl, ...config.locale },
28
+ cookies,
29
+ session,
30
+ debug: config.debug ?? process.env.GMAPS_DEBUG === 'true',
31
+ maxRetries: config.maxRetries ?? 2,
32
+ retryDelay: config.retryDelay ?? 500,
33
+ retryMaxDelay: config.retryMaxDelay ?? 30_000,
34
+ requestDelayMs: config.requestDelayMs ?? Number(process.env.GMAPS_REQUEST_DELAY_MS ?? 0),
35
+ concurrency,
36
+ performance: {
37
+ mode: config.performance?.mode ?? 'fast',
38
+ concurrency,
39
+ ...config.performance,
40
+ },
41
+ warmOnCreate: config.warmOnCreate,
42
+ buildLabel: config.buildLabel ?? process.env.GMAPS_BUILD_LABEL,
43
+ sessionId: config.sessionId ?? process.env.GMAPS_SESSION_ID,
44
+ };
45
+ }
46
+ function jarHasSapisid(jar) {
47
+ return Boolean(jar.SAPISID || jar['__Secure-1PAPISID'] || jar['__Secure-3PAPISID']);
48
+ }
29
49
  /**
30
50
  * Main Google Maps SDK client.
51
+ *
52
+ * Create with `sdk()` or `GMaps.create()`.
53
+ *
54
+ * **Intent:** `discover`, `resolve`, `profile`, `route`, `opinions`, `media`
55
+ * **Namespaces:** `places`, `location`, `travel`, `map`, `meta`, `agent`, `auth`, `surfaces`
31
56
  */
32
57
  export class GMapsClient {
33
- search;
58
+ /** POI discovery & details namespace. */
34
59
  places;
35
- reviews;
36
- reveal;
37
- passiveAssist;
38
- localPosts;
39
- knowledge;
40
- directions;
41
- suggest;
42
- panorama;
43
- tiles;
44
- lists;
45
- photos;
46
- links;
47
- traffic;
48
- transit;
49
- categories;
50
- ugcAggregates;
51
- batchUrl;
52
- distanceMatrix;
53
- elevation;
54
- timezone;
55
- staticMap;
56
- geocode;
60
+ /** Geocode / timezone / reveal. */
61
+ location;
62
+ /** Routing & traffic. */
63
+ travel;
64
+ /** Tiles, static map, Street View. */
65
+ map;
66
+ /** Categories, lists, links, aggregates. */
67
+ meta;
68
+ /** Signed-in Ask Maps. */
69
+ agent;
70
+ /** Session status (cookie presence / live probe — no secrets). */
71
+ auth;
72
+ /** Catalog of Maps surfaces this kit supports. */
73
+ surfaces;
57
74
  http;
58
75
  config;
59
- rpcClient = null;
60
- rpcInitPromise = null;
76
+ services;
77
+ intent;
61
78
  runtimePromise = null;
79
+ intentCache;
62
80
  constructor(config = {}) {
63
- this.config = {
64
- hl: config.hl ?? process.env.GMAPS_HL ?? 'en',
65
- gl: config.gl ?? process.env.GMAPS_GL ?? 'us',
66
- buildLabel: config.buildLabel ?? process.env.GMAPS_BUILD_LABEL,
67
- sessionId: config.sessionId ?? process.env.GMAPS_SESSION_ID,
68
- debug: config.debug ?? false,
69
- maxRetries: config.maxRetries ?? 2,
70
- retryDelay: config.retryDelay ?? 500,
71
- retryMaxDelay: config.retryMaxDelay ?? 30_000,
72
- requestDelayMs: config.requestDelayMs ?? Number(process.env.GMAPS_REQUEST_DELAY_MS ?? 0),
73
- concurrency: config.concurrency ?? Number(process.env.GMAPS_CONCURRENCY ?? 6),
74
- };
81
+ this.config = normalizeConfig(config);
75
82
  this.http = new HttpClient({ config: this.config });
76
- this.search = new SearchService(this.http, this.config);
77
- this.places = new PlacesService(this.http, this.config);
78
- this.reviews = new ReviewsService(this.http, this.config);
79
- this.reveal = new RevealService(this.http, this.config);
80
- this.passiveAssist = new PassiveAssistService(this.http, this.config);
81
- this.localPosts = new LocalPostsService(this.http, this.config);
82
- this.knowledge = new KnowledgeService(this.http, this.config);
83
- this.directions = new DirectionsService(this.http, this.config);
84
- this.suggest = new SuggestService(this.http, this.config);
85
- this.panorama = new PanoramaService(this.http, this.config);
86
- this.tiles = new TilesService(this.http, this.config);
87
- this.lists = new ListsService(this.http, this.config);
88
- this.photos = new PhotosService(this.http, this.config);
89
- this.links = new LinksService(this.http, this.config);
90
- this.traffic = new TrafficService(this.http, this.config);
91
- this.transit = new TransitService(this.http, this.config);
92
- this.categories = new CategoriesService(this.http, this.config);
93
- this.ugcAggregates = new UgcAggregatesService(this.http, this.config);
94
- this.batchUrl = new BatchUrlService(this.http, this.config);
95
- this.geocode = new GeocodeService(this.http, this.config);
96
- this.distanceMatrix = new DistanceMatrixService(this.directions, this.config);
97
- this.elevation = new ElevationService(this.http, this.directions, this.config);
98
- this.timezone = new TimezoneService(this.geocode, this.config);
99
- this.staticMap = new StaticMapService(this.http, this.config);
100
- }
101
- async rpc() {
102
- if (this.rpcClient) {
103
- return this.rpcClient;
83
+ if (this.config.warmOnCreate !== false && !this.config.cookies) {
84
+ void this.http.warmSession();
104
85
  }
105
- if (!this.rpcInitPromise) {
106
- this.rpcInitPromise = GMapsRpcClient.fromHttpSession(this.http.getCookieJar(), this.http.getUserAgent(), this.config, (fn) => this.http.runScheduled(fn)).then((client) => {
107
- this.rpcClient = client;
108
- return client;
109
- });
86
+ if (this.config.cache) {
87
+ this.intentCache = new TtlCache(this.config.cache);
110
88
  }
111
- return this.rpcInitPromise;
89
+ this.services = createServiceBundle(this.http, this.config);
90
+ const signedIn = () => this.isSignedIn();
91
+ this.places = new PlacesNamespace(this.services);
92
+ this.location = new LocationNamespace(this.services);
93
+ this.travel = new TravelNamespace(this.services);
94
+ this.map = new MapNamespace(this.services);
95
+ this.meta = new MetaNamespace(this.services);
96
+ this.agent = new AgentNamespace(this.services, signedIn);
97
+ this.auth = new AuthNamespace(this.http, this.config);
98
+ this.surfaces = new SurfacesNamespace();
99
+ this.intent = new IntentApi(this.services, this.config, signedIn, (opts) => this.getPlaceComplete(opts), this.intentCache);
100
+ }
101
+ // ——— Intent API ———
102
+ /**
103
+ * Find places near a point. Returns `{ places, timingMs, mode, pagination }`.
104
+ * Default mode `fast` (~400 ms warm).
105
+ */
106
+ discover(options) {
107
+ return this.intent.discover(options);
108
+ }
109
+ /** Stream discover pages (deduped). */
110
+ discoverPages(options) {
111
+ return this.intent.discoverPages(options);
112
+ }
113
+ /**
114
+ * Resolve URL/query → identity (`hexId`, name, coords when known).
115
+ * Not a full place card — follow with `profile()`.
116
+ */
117
+ resolve(options) {
118
+ return this.intent.resolve(options);
119
+ }
120
+ /**
121
+ * Place profile. Always `{ place, depth, reviews?, … }` — use `place.name`.
122
+ * Default depth `card` (details only).
123
+ */
124
+ profile(ref, options) {
125
+ return this.intent.profile(ref, options);
126
+ }
127
+ /** Profile many places with bounded concurrency. */
128
+ profileMany(refs, options) {
129
+ return this.intent.profileMany(refs, options);
130
+ }
131
+ /**
132
+ * Directions. Default metrics only; pass `includeSteps: true` for turn-by-turn.
133
+ */
134
+ route(options) {
135
+ return this.intent.route(options);
136
+ }
137
+ /**
138
+ * Reviews. Default one page, no aggregates RPC (set `includeAggregates: true` for histogram).
139
+ */
140
+ opinions(ref, options) {
141
+ return this.intent.opinions(ref, options);
142
+ }
143
+ /** Stream review pages. */
144
+ opinionsPages(ref, options) {
145
+ return this.intent.opinionsPages(ref, options);
146
+ }
147
+ /**
148
+ * Photos (+ optional Street View). Flat `photos[]` array.
149
+ */
150
+ media(ref, options) {
151
+ return this.intent.media(ref, options);
152
+ }
153
+ /** Media for many places with bounded concurrency. */
154
+ mediaMany(refs, options) {
155
+ return this.intent.mediaMany(refs, options);
156
+ }
157
+ /** Discover → profile → optional opinions pipeline. */
158
+ pipeline(options) {
159
+ return this.intent.pipeline(options);
160
+ }
161
+ /** Ready-made Intent tools for agents. */
162
+ tools(options) {
163
+ return createMapsTools(this, options);
164
+ }
165
+ /** Clear Intent TTL cache (no-op when cache disabled). */
166
+ clearCache() {
167
+ this.intentCache?.clear();
168
+ }
169
+ /** Capability flags for anonymous vs signed-in surfaces. */
170
+ async capabilities() {
171
+ const signedIn = this.isSignedIn();
172
+ const session = signedIn ? 'authenticated' : 'anonymous';
173
+ return {
174
+ session,
175
+ signedIn,
176
+ search: true,
177
+ placeDetails: true,
178
+ reviewsBoq: true,
179
+ reviewsRpc: signedIn,
180
+ photos: true,
181
+ directions: true,
182
+ askMaps: signedIn,
183
+ askMapsHistory: signedIn,
184
+ privateLists: signedIn,
185
+ legacyRpc: signedIn,
186
+ };
187
+ }
188
+ isSignedIn() {
189
+ if (jarHasSapisid(this.http.getCookieJar()))
190
+ return true;
191
+ if (this.config.cookies && /SAPISID=/i.test(this.config.cookies))
192
+ return true;
193
+ return false;
194
+ }
195
+ async rpc() {
196
+ return this.http.getRpcClient(this.config);
112
197
  }
113
198
  async features() {
114
199
  const { createFeatureRpcService } = await import('../rpc/feature-rpc.js');
@@ -122,7 +207,7 @@ export class GMapsClient {
122
207
  return this.runtimePromise;
123
208
  }
124
209
  async getPlaceFull(options) {
125
- return this.places.getFull(options, this.reviews);
210
+ return this.places.getFull(options);
126
211
  }
127
212
  /**
128
213
  * Fetch maximum available place data: rich preview, paginated Boq reviews,
@@ -140,7 +225,7 @@ export class GMapsClient {
140
225
  let knowledge;
141
226
  if (includeKnowledge) {
142
227
  const start = performance.now();
143
- const entity = await this.knowledge.get({
228
+ const entity = await this.places.knowledge.get({
144
229
  hexId: options.hexId,
145
230
  ftid: options.ftid,
146
231
  placeId: full.details.placeId,
@@ -154,22 +239,25 @@ export class GMapsClient {
154
239
  return { ...full, knowledge };
155
240
  }
156
241
  async getDirections(options) {
157
- return this.directions.get(options);
242
+ return this.travel.directions.get(options);
243
+ }
244
+ /** Wait until the client is ready for requests. */
245
+ ready() {
246
+ return this.http.warmSession();
158
247
  }
159
248
  /** Request/session counters for harness scripts (no secrets). */
160
249
  getHttpStats() {
161
250
  return this.http.getStats();
162
251
  }
163
252
  async searchEnriched(options) {
164
- const results = await this.search.search(options);
165
- // Official Text Search Enterprise parity: one RPC, details lifted from the search row.
253
+ const results = await this.places.search.search(options);
166
254
  if (options.fromSearchOnly || (!options.includeDetails && !options.includeReviews)) {
167
255
  return results.map((result) => ({
168
256
  ...result,
169
257
  details: searchResultToPlaceDetails(result),
170
258
  }));
171
259
  }
172
- const concurrency = options.concurrency ?? 10;
260
+ const concurrency = options.concurrency ?? this.config.concurrency ?? 10;
173
261
  const enriched = [];
174
262
  for (let i = 0; i < results.length; i += concurrency) {
175
263
  const chunk = results.slice(i, i + concurrency);
@@ -181,14 +269,13 @@ export class GMapsClient {
181
269
  async enrichSingle(result, options) {
182
270
  const enriched = {
183
271
  ...result,
184
- // Always keep search-row details as a non-lossy base; place preview may truncate.
185
272
  details: searchResultToPlaceDetails(result),
186
273
  };
187
274
  if (!result.hexId || !result.name) {
188
275
  return enriched;
189
276
  }
190
- const lat = result.latitude ?? options.location.lat;
191
- const lng = result.longitude ?? options.location.lng;
277
+ const lat = result.lat ?? result.latitude ?? options.location?.lat ?? options.near?.lat;
278
+ const lng = result.lng ?? result.longitude ?? options.location?.lng ?? options.near?.lng;
192
279
  if (options.includeDetails && options.includeReviews) {
193
280
  const full = await this.getPlaceFull({
194
281
  hexId: result.hexId,
@@ -201,7 +288,6 @@ export class GMapsClient {
201
288
  enriched.details = {
202
289
  ...enriched.details,
203
290
  ...full.details,
204
- // Prefer preview photos when present; fall back to search thumbnail.
205
291
  photos: full.details.photos && full.details.photos.length > 0
206
292
  ? full.details.photos
207
293
  : enriched.details?.photos,
@@ -236,7 +322,7 @@ export class GMapsClient {
236
322
  };
237
323
  }
238
324
  if (options.includeReviews) {
239
- enriched.reviews = await this.reviews.list({
325
+ enriched.reviews = await this.places.reviews.list({
240
326
  hexId: result.hexId,
241
327
  name: result.name,
242
328
  lat,
@@ -248,7 +334,21 @@ export class GMapsClient {
248
334
  return enriched;
249
335
  }
250
336
  }
251
- export function createGMapsClient(config) {
337
+ /**
338
+ * Create a Maps SDK client.
339
+ *
340
+ * @example
341
+ * import { sdk } from 'googlemaps-kit';
342
+ * const maps = sdk({ locale: { hl: 'en', gl: 'in' } });
343
+ * const { places } = await maps.discover({ query: 'coffee', near: { lat, lng } });
344
+ */
345
+ export function sdk(config) {
252
346
  return new GMapsClient(config);
253
347
  }
348
+ /** Namespace-style entry: `GMaps.create(config)` / `GMaps.Client`. */
349
+ export const GMaps = {
350
+ create: sdk,
351
+ Client: GMapsClient,
352
+ };
353
+ export { createMapsTools } from './maps-tools.js';
254
354
  //# sourceMappingURL=gmaps-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gmaps-client.js","sourceRoot":"","sources":["../../src/client/gmaps-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAerE,cAAc,EAAE,CAAC;AAkBjB;;GAEG;AACH,MAAM,OAAO,WAAW;IACb,MAAM,CAAgB;IACtB,MAAM,CAAgB;IACtB,OAAO,CAAiB;IACxB,MAAM,CAAgB;IACtB,aAAa,CAAuB;IACpC,UAAU,CAAoB;IAC9B,SAAS,CAAmB;IAC5B,UAAU,CAAoB;IAC9B,OAAO,CAAiB;IACxB,QAAQ,CAAkB;IAC1B,KAAK,CAAe;IACpB,KAAK,CAAe;IACpB,MAAM,CAAgB;IACtB,KAAK,CAAe;IACpB,OAAO,CAAiB;IACxB,OAAO,CAAiB;IACxB,UAAU,CAAoB;IAC9B,aAAa,CAAuB;IACpC,QAAQ,CAAkB;IAC1B,cAAc,CAAwB;IACtC,SAAS,CAAmB;IAC5B,QAAQ,CAAkB;IAC1B,SAAS,CAAmB;IAC5B,OAAO,CAAiB;IAEzB,IAAI,CAAa;IACjB,MAAM,CAAc;IACpB,SAAS,GAA0B,IAAI,CAAC;IACxC,cAAc,GAAmC,IAAI,CAAC;IACtD,cAAc,GAAiE,IAAI,CAAC;IAE5F,YAAY,SAAsB,EAAE;QAClC,IAAI,CAAC,MAAM,GAAG;YACZ,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI;YAC7C,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI;YAC7C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC9D,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC3D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM;YAC7C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC;YACxF,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;SAC9E,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,eAAe,CAClD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EACxB,IAAI,CAAC,MAAM,EACX,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CACnC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;gBACxB,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1E,OAAO,uBAAuB,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAC/D,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAgC;QACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;QAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACnC,GAAG,OAAO;YACV,cAAc;YACd,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;YACzC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,KAAK,KAAK;SACvD,CAAC,CAAC;QAEH,IAAI,SAAsC,CAAC;QAC3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACtC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,eAAe,EAAE,IAAI,CAAC,OAAO;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC;YAC7C,SAAS,GAAG,MAAM,IAAI,SAAS,CAAC;QAClC,CAAC;QAED,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA0B;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,iEAAiE;IACjE,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA4B;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElD,uFAAuF;QACvF,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9B,GAAG,MAAM;gBACT,OAAO,EAAE,0BAA0B,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAC1D,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,MAAoB,EACpB,OAA4B;QAE5B,MAAM,QAAQ,GAAyB;YACrC,GAAG,MAAM;YACT,kFAAkF;YAClF,OAAO,EAAE,0BAA0B,CAAC,MAAM,CAAC;SAC5C,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAErD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG;gBACH,GAAG;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;aAC5C,CAAC,CAAC;YACH,QAAQ,CAAC,OAAO,GAAG;gBACjB,GAAG,QAAQ,CAAC,OAAO;gBACnB,GAAG,IAAI,CAAC,OAAO;gBACf,qEAAqE;gBACrE,MAAM,EACJ,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;oBACrB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAC9B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE,WAAW;gBACtE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK;gBACpD,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU;gBACnE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC,OAAO,EAAE,eAAe;aACnF,CAAC;YACF,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG;gBACH,GAAG;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,QAAQ,CAAC,OAAO,GAAG;gBACjB,GAAG,QAAQ,CAAC,OAAO;gBACnB,GAAG,OAAO;gBACV,MAAM,EACJ,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,CAAC,OAAO,CAAC,MAAM;oBAChB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAC9B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE,WAAW;gBACjE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK;gBAC/C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU;gBAC9D,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC,OAAO,EAAE,eAAe;aAC9E,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,QAAQ,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACzC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG;gBACH,GAAG;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,EAAE;aACV,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"gmaps-client.js","sourceRoot":"","sources":["../../src/client/gmaps-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { type GMapsConfig } from '../types/common.js';
1
+ import { GMapsRpcClient } from '../rpc/rpc-client.js';
2
+ import { type GMapsConfig, type MapsPageTokens } from '../types/common.js';
2
3
  export interface HttpGetOptions {
3
4
  referer?: string;
4
5
  extraHeaders?: Record<string, string>;
@@ -26,6 +27,8 @@ export interface HttpGetOptions {
26
27
  * {@link GMapsEmptyPayloadError} instead of returning silently.
27
28
  */
28
29
  rejectEmptyPayload?: boolean;
30
+ /** Abort this request (also reads AsyncLocalStorage request context). */
31
+ signal?: AbortSignal;
29
32
  }
30
33
  export interface HttpClientOptions {
31
34
  config: GMapsConfig;
@@ -47,7 +50,12 @@ export declare class HttpClient {
47
50
  private requestCount;
48
51
  private sessionWarmCount;
49
52
  private scheduler;
53
+ private mapsHtmlCache?;
54
+ private mapsTokensCache?;
55
+ private warming;
56
+ private readonly hooks;
50
57
  constructor(options: HttpClientOptions);
58
+ private resolveSignal;
51
59
  get<T = unknown>(url: string, options?: HttpGetOptions): Promise<T>;
52
60
  private getInternal;
53
61
  getBytes(url: string, options?: HttpGetOptions): Promise<{
@@ -76,13 +84,30 @@ export declare class HttpClient {
76
84
  runScheduled<T>(fn: () => Promise<T>): Promise<T>;
77
85
  getConfiguredAuthToken(): string | undefined;
78
86
  getStats(): HttpClientStats;
79
- /** @deprecated Use getStats().requestCount */
80
- getRequestCount(): number;
81
87
  warmSession(): Promise<void>;
88
+ /**
89
+ * Open a keep-alive connection to the Maps search surface (limit-1 probe).
90
+ * Hides first-search TLS/TTFB from user-facing calls.
91
+ */
92
+ prewarmSearchSurface(hl?: string, gl?: string): Promise<void>;
93
+ private searchSurfacePromise;
94
+ private runSearchSurfacePrewarm;
95
+ /** Session token used by Maps UI RPC envelopes. */
96
+ resolvePsi(): Promise<string>;
97
+ private rpcClient;
98
+ private rpcInit;
99
+ /** Cached batchexecute client (one per HTTP session). */
100
+ getRpcClient(config?: GMapsConfig): Promise<GMapsRpcClient>;
101
+ /**
102
+ * batchexecute tokens from the cached Maps bootstrap HTML (no extra fetch when warm).
103
+ */
104
+ peekMapsPageTokens(): MapsPageTokens | null;
105
+ getMapsPageTokens(): Promise<MapsPageTokens>;
82
106
  getUserAgent(): string;
83
107
  hasAuthCookies(): boolean;
84
108
  hasSuppliedCookies(): boolean;
85
109
  private ensureSession;
110
+ private bootstrapSession;
86
111
  private mergeResponseCookies;
87
112
  private parseCookieString;
88
113
  private emptyPayloadError;
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/client/http-client.ts"],"names":[],"mappings":"AAQA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAqB5B,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IAC5C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAAmB;gBAExB,OAAO,EAAE,iBAAiB;IAchC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;YAI3D,WAAW;IA8InB,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;YAIxC,gBAAgB;IAsH9B;;;;;OAKG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;;;OAMG;IACG,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAOvD,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAI5C,QAAQ,IAAI,eAAe;IAQ3B,8CAA8C;IAC9C,eAAe,IAAI,MAAM;IAInB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,OAAO;IAQzB,kBAAkB,IAAI,OAAO;YAIf,aAAa;IA2B3B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/client/http-client.ts"],"names":[],"mappings":"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"}