googlemaps-kit 0.1.3 → 0.2.1

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 (181) 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/parsers/place.d.ts.map +1 -1
  71. package/dist/parsers/place.js +2 -0
  72. package/dist/parsers/place.js.map +1 -1
  73. package/dist/parsers/reviews.d.ts +0 -2
  74. package/dist/parsers/reviews.d.ts.map +1 -1
  75. package/dist/parsers/reviews.js +0 -2
  76. package/dist/parsers/reviews.js.map +1 -1
  77. package/dist/parsers/search.d.ts +13 -1
  78. package/dist/parsers/search.d.ts.map +1 -1
  79. package/dist/parsers/search.js +130 -71
  80. package/dist/parsers/search.js.map +1 -1
  81. package/dist/rpc/batch-execute.d.ts.map +1 -1
  82. package/dist/rpc/batch-execute.js +20 -3
  83. package/dist/rpc/batch-execute.js.map +1 -1
  84. package/dist/rpc/batch-rpc.d.ts.map +1 -1
  85. package/dist/rpc/batch-rpc.js +5 -6
  86. package/dist/rpc/batch-rpc.js.map +1 -1
  87. package/dist/rpc/batch-services.d.ts +2 -0
  88. package/dist/rpc/batch-services.d.ts.map +1 -1
  89. package/dist/rpc/batch-services.js +4 -0
  90. package/dist/rpc/batch-services.js.map +1 -1
  91. package/dist/rpc/pb-builders.d.ts +0 -2
  92. package/dist/rpc/pb-builders.d.ts.map +1 -1
  93. package/dist/rpc/pb-builders.js +2 -5
  94. package/dist/rpc/pb-builders.js.map +1 -1
  95. package/dist/rpc/rpc-client.d.ts +6 -2
  96. package/dist/rpc/rpc-client.d.ts.map +1 -1
  97. package/dist/rpc/rpc-client.js +26 -10
  98. package/dist/rpc/rpc-client.js.map +1 -1
  99. package/dist/rpc/rpc-methods.d.ts +0 -7
  100. package/dist/rpc/rpc-methods.d.ts.map +1 -1
  101. package/dist/rpc/rpc-methods.js +0 -7
  102. package/dist/rpc/rpc-methods.js.map +1 -1
  103. package/dist/services/ask-maps.js +1 -1
  104. package/dist/services/ask-maps.js.map +1 -1
  105. package/dist/services/directions.d.ts +3 -8
  106. package/dist/services/directions.d.ts.map +1 -1
  107. package/dist/services/directions.js +37 -13
  108. package/dist/services/directions.js.map +1 -1
  109. package/dist/services/geocode.js +1 -1
  110. package/dist/services/photos.d.ts.map +1 -1
  111. package/dist/services/photos.js +2 -5
  112. package/dist/services/photos.js.map +1 -1
  113. package/dist/services/places.d.ts.map +1 -1
  114. package/dist/services/places.js +13 -4
  115. package/dist/services/places.js.map +1 -1
  116. package/dist/services/reviews.d.ts +7 -0
  117. package/dist/services/reviews.d.ts.map +1 -1
  118. package/dist/services/reviews.js +10 -1
  119. package/dist/services/reviews.js.map +1 -1
  120. package/dist/services/search.d.ts +7 -5
  121. package/dist/services/search.d.ts.map +1 -1
  122. package/dist/services/search.js +46 -17
  123. package/dist/services/search.js.map +1 -1
  124. package/dist/services/ugc-aggregates.d.ts.map +1 -1
  125. package/dist/services/ugc-aggregates.js +1 -17
  126. package/dist/services/ugc-aggregates.js.map +1 -1
  127. package/dist/types/common.d.ts +92 -6
  128. package/dist/types/common.d.ts.map +1 -1
  129. package/dist/types/common.js +12 -0
  130. package/dist/types/common.js.map +1 -1
  131. package/dist/types/directions.d.ts +16 -2
  132. package/dist/types/directions.d.ts.map +1 -1
  133. package/dist/types/dx.d.ts +289 -0
  134. package/dist/types/dx.d.ts.map +1 -0
  135. package/dist/types/dx.js +7 -0
  136. package/dist/types/dx.js.map +1 -0
  137. package/dist/types/hooks.d.ts +48 -0
  138. package/dist/types/hooks.d.ts.map +1 -0
  139. package/dist/types/hooks.js +5 -0
  140. package/dist/types/hooks.js.map +1 -0
  141. package/dist/utils/abort.d.ts +7 -0
  142. package/dist/utils/abort.d.ts.map +1 -0
  143. package/dist/utils/abort.js +43 -0
  144. package/dist/utils/abort.js.map +1 -0
  145. package/dist/utils/coords.d.ts +24 -0
  146. package/dist/utils/coords.d.ts.map +1 -0
  147. package/dist/utils/coords.js +37 -0
  148. package/dist/utils/coords.js.map +1 -0
  149. package/dist/utils/export-results.d.ts +24 -0
  150. package/dist/utils/export-results.d.ts.map +1 -0
  151. package/dist/utils/export-results.js +105 -0
  152. package/dist/utils/export-results.js.map +1 -0
  153. package/dist/utils/hooks.d.ts +10 -0
  154. package/dist/utils/hooks.d.ts.map +1 -0
  155. package/dist/utils/hooks.js +47 -0
  156. package/dist/utils/hooks.js.map +1 -0
  157. package/dist/utils/place-ref.d.ts +39 -0
  158. package/dist/utils/place-ref.d.ts.map +1 -0
  159. package/dist/utils/place-ref.js +109 -0
  160. package/dist/utils/place-ref.js.map +1 -0
  161. package/dist/utils/pooled.d.ts +2 -0
  162. package/dist/utils/pooled.d.ts.map +1 -1
  163. package/dist/utils/pooled.js +8 -0
  164. package/dist/utils/pooled.js.map +1 -1
  165. package/dist/utils/request-context.d.ts +9 -0
  166. package/dist/utils/request-context.d.ts.map +1 -0
  167. package/dist/utils/request-context.js +12 -0
  168. package/dist/utils/request-context.js.map +1 -0
  169. package/dist/utils/ttl-cache.d.ts +17 -0
  170. package/dist/utils/ttl-cache.d.ts.map +1 -0
  171. package/dist/utils/ttl-cache.js +43 -0
  172. package/dist/utils/ttl-cache.js.map +1 -0
  173. package/package.json +28 -13
  174. package/dist/internal.d.ts +0 -140
  175. package/dist/internal.d.ts.map +0 -1
  176. package/dist/internal.js +0 -97
  177. package/dist/internal.js.map +0 -1
  178. package/dist/server/api-server.d.ts +0 -9
  179. package/dist/server/api-server.d.ts.map +0 -1
  180. package/dist/server/api-server.js +0 -293
  181. package/dist/server/api-server.js.map +0 -1
package/dist/internal.js DELETED
@@ -1,97 +0,0 @@
1
- /**
2
- * Advanced exports: RPC builders, parsers, registries, and wire-level helpers.
3
- * Prefer the public API from 'googlemaps-kit' for application code.
4
- */
5
- export { GMapsClient, createGMapsClient } from './client/gmaps-client.js';
6
- export { HttpClient } from './client/http-client.js';
7
- export { AskMapsService, buildAskMapsArgs, MAPS_AI_CAPABILITIES, PLATFORM_AI_FIELD_MASKS } from './services/ask-maps.js';
8
- export { SearchService, searchResultToPlaceDetails } from './services/search.js';
9
- export { PlacesService } from './services/places.js';
10
- export { ReviewsService } from './services/reviews.js';
11
- export { RevealService } from './services/reveal.js';
12
- export { PassiveAssistService } from './services/passiveassist.js';
13
- export { LocalPostsService } from './services/local-posts.js';
14
- export { KnowledgeService } from './services/knowledge.js';
15
- export { DirectionsService } from './services/directions.js';
16
- export { SuggestService } from './services/suggest.js';
17
- export { PanoramaService } from './services/panorama.js';
18
- export { TilesService } from './services/tiles.js';
19
- export { ListsService } from './services/lists.js';
20
- export { GeocodeService } from './services/geocode.js';
21
- export { PhotosService } from './services/photos.js';
22
- export { LinksService } from './services/links.js';
23
- export { TrafficService } from './services/traffic.js';
24
- export { TransitService } from './services/transit.js';
25
- export { CategoriesService } from './services/categories.js';
26
- export { UgcAggregatesService } from './services/ugc-aggregates.js';
27
- export { BatchUrlService } from './services/batch-url.js';
28
- export { DistanceMatrixService } from './services/distance-matrix.js';
29
- export { ElevationService } from './services/elevation.js';
30
- export { TimezoneService } from './services/timezone.js';
31
- export { StaticMapService } from './services/static-map.js';
32
- /**
33
- * Shareable google.com/maps links. Named *Link to avoid colliding with the
34
- * build*Url helpers below, which build internal API request URLs.
35
- */
36
- export { buildPlaceUrl as buildPlaceLink, buildSearchUrl as buildSearchLink, buildDirectionsUrl as buildDirectionsLink, buildViewportUrl as buildViewportLink, buildStreetViewUrl as buildStreetViewLink, buildEmbedUrl as buildEmbedLink, travelModeToCode, travelModeFromCode, } from './rpc/maps-url-builders.js';
37
- export { decodeEncodedPolyline, encodePolyline } from './utils/encoded-polyline.js';
38
- export { BATCH_SERVICES, BATCH_SERVICE_RPCIDS } from './rpc/batch-services.js';
39
- export { buildAreaTrafficArgs, buildPlaceUgcAggregatesArgs } from './rpc/batch-request-builders.js';
40
- export { buildSuggestCameraPb, buildSuggestUrl } from './rpc/suggest-pb.js';
41
- export { buildRevealPb, buildRevealUrl, normalizeRevealFtid } from './rpc/reveal-pb.js';
42
- export { buildListEntityPhotosPb, buildListEntityPhotosUrl, buildPhotometaPb, buildPhotometaUrl, buildCoverageTilePb, buildCoverageTileUrl, buildThumbnailUrl, buildTileUrl, } from './rpc/panorama-pb.js';
43
- export { buildMapTilePb, buildMapTileUrl, buildIconUrl, DEFAULT_MAP_TILE_VERSION, DEFAULT_POI_ICON, } from './rpc/tiles-pb.js';
44
- export { buildGetListPb, buildGetListUrl } from './rpc/lists-pb.js';
45
- export { buildPlacePhotosPb, buildPlacePhotosUrl } from './rpc/photos-pb.js';
46
- export { buildListEntityPhotosBatchArgs } from './rpc/batch-request-builders.js';
47
- export { CAPTURED_FOOD_CATEGORY_TOKEN, CLIENT_FILTERABLE_CATEGORIES, encodePhotoCategoryToken, filterPhotosByCategory, isClientFilterableCategory, PHOTO_TAB_ID_LABELS, } from './rpc/photo-category-tokens.js';
48
- export { extractSuggestions } from './parsers/suggest.js';
49
- export { extractRevealPlace } from './parsers/reveal.js';
50
- export { extractCoveragePanoramas, extractNearbyPanoramas, extractPanoramaMetadata, isPanoramaMetadataStub, } from './parsers/panorama.js';
51
- export { findPngOffset, unwrapTilePng, readPngDimensions, isPngBytes, } from './parsers/tiles.js';
52
- export { extractPlaceList, detectListErrorEnvelope, parseListIdFromInput, } from './parsers/lists.js';
53
- export { extractPlacePhotos, extractPlacePreviewPhotos, resizePhotoUrl } from './parsers/photos.js';
54
- export { PHOTOS_SOURCE_METADATA } from './types/photos.js';
55
- export { parseMapsUrl, isShortMapsLink } from './parsers/maps-url.js';
56
- export { buildSearchPb, buildSearchUrl, buildPlaceDetailPb, buildPlaceRichPb, buildPlacePb, buildPlaceUrl, buildReviewsPb, buildReviewsUrl, buildLocalPostsPb, buildLocalPostsUrl, buildDirectionsPb, buildDirectionsUrls, buildKnowledgePbVariants, buildKnowledgeUrl, } from './rpc/pb-builders.js';
57
- export { BatchExecuteClient } from './rpc/batch-execute.js';
58
- export { GMapsRpcClient } from './rpc/rpc-client.js';
59
- export { MapsRuntime } from './rpc/maps-runtime.js';
60
- export { buildEndpointRegistry, extractClosureModuleIds, extractModuleManifest, extractPathsFromHtml, extractProtoServiceIds, parseMapsPageTokens, } from './rpc/app-options.js';
61
- export { MAPS_WIZ_UI_APP, MAPS_WIZ_UI_PATH, BATCH_EXECUTE_PATH, MAPS_UI_APP, RPC_LIST_UGC_POSTS, RPC_INFRA, FEATURE_RPC, MAPS_AI_AGENT_RPC, RPC_CANDIDATES, PREVIEW, RPC_HTTP, SERVICE_GET_LOCAL_BOQ_PROXY, BOQ_PROXY_MSC, REVIEW_SORT, PROTO_SERVICE_IDS, INITIAL_MODULES, } from './rpc/rpc-methods.js';
62
- export { encodeRpcId, decodeRpcId, isNxaRpcId, } from './rpc/nxa.js';
63
- export { getDescriptorRegistry, getRpcMethodById, getRpcMethodByField, getFeatureService, listFeatureServices, listMapsAiAgentRpcIds, resolveSemanticSurface, describeRpcId, } from './rpc/descriptor-registry.js';
64
- export { FeatureRpcService, createFeatureRpcService } from './rpc/feature-rpc.js';
65
- export { buildBoqReviewsPayload, buildBoqReviewsUrl } from './rpc/boq-reviews.js';
66
- export { extractBusinesses } from './parsers/search.js';
67
- export { extractGeocodeResults, toGeocodeResponse } from './parsers/geocode.js';
68
- export { extractPlaceDetails, extractEmbeddedReviews, extractPhotosDeep, } from './parsers/place.js';
69
- export { extractOpeningSchedule, extractAttributeGroups, extractAccessibilityFeatures, extractPlaceAggregateAttributes, extractPlusCode, extractTimezone, flattenAttributeLabels, } from './parsers/place-attributes.js';
70
- export { extractListUgcReviews, extractReviews } from './parsers/reviews.js';
71
- export { extractBoqReviews } from './parsers/boq-reviews.js';
72
- export { applyReviewClientFilters } from './parsers/review-client-filters.js';
73
- export { placeAggregatesToRatingDistribution, sumRatingDistribution, } from './parsers/review-aggregates.js';
74
- export { extractLocalPosts } from './parsers/local-posts.js';
75
- export { extractKnowledgeEntity, extractKnowledgeFromPlaceDetails } from './parsers/knowledge.js';
76
- export { extractDirections } from './parsers/directions.js';
77
- export { extractSearchPagination } from './parsers/search-pagination.js';
78
- export { KNOWN_SURFACES, getSurfaceInfo, listSurfacesByStatus, } from './known-surfaces.js';
79
- export { asPlaceDataNode, asSearchRoot, asPreviewResponse, asBoqRoot, asListUgcRoot, } from './types/protobuf.js';
80
- export { parseReviewCount, parseReviewCountFromBlock, parsePriceRange, parseWebsiteFromContact, collectHourDayEntries, } from './parsers/shared.js';
81
- export { altitudeFromZoom, zoomFromAltitude, defaultViewportDist, webMercatorTile, haversineMeters, } from './utils/geo.js';
82
- export { extractAppOptionsPsi } from './rpc/app-options.js';
83
- export { dedupePhotos, normalizePhotoUrl } from './utils/photo-url.js';
84
- export { loadProjectEnv } from './utils/load-env.js';
85
- export { parseGoogleResponse, isValidResponseBody } from './utils/response-parser.js';
86
- export { isListUgcUnauthenticatedStub, isBatchAuthStub, isEmptySuccessPayload, classifyThrottleFailure, } from './utils/throttle-detection.js';
87
- export { backoffWithJitter, parseRetryAfterMs } from './utils/retry-backoff.js';
88
- export { RequestScheduler } from './utils/request-scheduler.js';
89
- export { safeGet } from './utils/safe-get.js';
90
- export { parseReviewCountLabel } from './utils/feature-id.js';
91
- export { parseFeatureId, toFeatureId, placeIdToFeatureId, placeIdToFeatureParts, featureIdToPlaceId, featureIdToLudocid, featurePartsToPlaceId, } from './utils/ids.js';
92
- export { bootstrapSession, buildBrowserHeaders, clearSessionCache, randomUserAgent, cookiesToHeader, DEFAULT_SOCS, getCachedSession, } from './auth/session.js';
93
- export { AuthService, summarizeAuthStatus } from './auth/auth-status.js';
94
- export { buildGoogleAuthorization, buildAuthenticatedHeaders, } from './auth/google-auth.js';
95
- export { extractMapsPageTokens } from './auth/maps-tokens.js';
96
- export { ENDPOINTS, GMapsError, GMapsAuthError, GMapsNetworkError, GMapsParseError, GMapsPhotosBlockedError, GMapsThrottleError, GMapsEmptyPayloadError, GMapsCookiesExpiredError, } from './types/common.js';
97
- //# sourceMappingURL=internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Minimal HTTP façade implementing openapi/openapi.yaml using GMapsClient.
3
- * For Stainless-generated multi-language SDKs. No express dependency.
4
- *
5
- * Usage: npm run api:serve
6
- * Env: PORT (default 8787), GMAPS_HL, GMAPS_GL, GMAPS_COOKIES
7
- */
8
- export {};
9
- //# sourceMappingURL=api-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-server.d.ts","sourceRoot":"","sources":["../../src/server/api-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,293 +0,0 @@
1
- /**
2
- * Minimal HTTP façade implementing openapi/openapi.yaml using GMapsClient.
3
- * For Stainless-generated multi-language SDKs. No express dependency.
4
- *
5
- * Usage: npm run api:serve
6
- * Env: PORT (default 8787), GMAPS_HL, GMAPS_GL, GMAPS_COOKIES
7
- */
8
- import { createServer } from 'node:http';
9
- import { loadProjectEnv } from '../utils/load-env.js';
10
- import { createGMapsClient } from '../client/gmaps-client.js';
11
- import { GMapsError, GMapsAuthError, GMapsThrottleError } from '../types/common.js';
12
- loadProjectEnv();
13
- const PORT = Number(process.env.PORT ?? 8787);
14
- const HOST = process.env.HOST ?? '127.0.0.1';
15
- function readBody(req) {
16
- return new Promise((resolve, reject) => {
17
- const chunks = [];
18
- req.on('data', (c) => chunks.push(Buffer.isBuffer(c) ? c : Buffer.from(c)));
19
- req.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
20
- req.on('error', reject);
21
- });
22
- }
23
- function sendJson(res, status, body) {
24
- const payload = JSON.stringify(body);
25
- res.writeHead(status, {
26
- 'content-type': 'application/json; charset=utf-8',
27
- 'cache-control': 'no-store',
28
- 'x-content-type-options': 'nosniff',
29
- });
30
- res.end(payload);
31
- }
32
- function clientFromRequest(req) {
33
- const headerCookies = req.headers['x-gmaps-cookies'];
34
- const cookies = typeof headerCookies === 'string' && headerCookies.length > 0
35
- ? headerCookies
36
- : process.env.GMAPS_COOKIES;
37
- return createGMapsClient({
38
- hl: process.env.GMAPS_HL ?? 'en',
39
- gl: process.env.GMAPS_GL ?? 'us',
40
- cookies,
41
- concurrency: 8,
42
- requestDelayMs: 0,
43
- });
44
- }
45
- function toLatLng(value) {
46
- if (typeof value === 'string')
47
- return value;
48
- if (value && typeof value === 'object' && 'lat' in value && 'lng' in value) {
49
- const o = value;
50
- if (typeof o.lat === 'number' && typeof o.lng === 'number') {
51
- return { lat: o.lat, lng: o.lng };
52
- }
53
- }
54
- return undefined;
55
- }
56
- function mapError(res, error) {
57
- if (error instanceof GMapsThrottleError) {
58
- sendJson(res, 429, { error: error.message, code: 'throttle' });
59
- return;
60
- }
61
- if (error instanceof GMapsAuthError) {
62
- sendJson(res, 401, { error: error.message, code: 'auth' });
63
- return;
64
- }
65
- if (error instanceof GMapsError) {
66
- const status = error.statusCode && error.statusCode >= 400 ? error.statusCode : 502;
67
- sendJson(res, status, { error: error.message, code: 'upstream' });
68
- return;
69
- }
70
- const message = error instanceof Error ? error.message : String(error);
71
- sendJson(res, 502, { error: message, code: 'upstream' });
72
- }
73
- async function handle(req, res) {
74
- const url = new URL(req.url ?? '/', `http://${HOST}:${PORT}`);
75
- const path = url.pathname.replace(/\/$/, '') || '/';
76
- if (req.method === 'GET' && (path === '/v1/health' || path === '/health')) {
77
- sendJson(res, 200, { ok: true, version: '0.1.0' });
78
- return;
79
- }
80
- if (req.method === 'OPTIONS') {
81
- res.writeHead(204, {
82
- 'access-control-allow-origin': '*',
83
- 'access-control-allow-methods': 'GET,POST,OPTIONS',
84
- 'access-control-allow-headers': 'content-type,x-gmaps-cookies',
85
- });
86
- res.end();
87
- return;
88
- }
89
- if (req.method !== 'POST') {
90
- sendJson(res, 405, { error: 'Method not allowed', code: 'method' });
91
- return;
92
- }
93
- let body = {};
94
- try {
95
- const raw = await readBody(req);
96
- body = raw ? JSON.parse(raw) : {};
97
- }
98
- catch {
99
- sendJson(res, 400, { error: 'Invalid JSON body', code: 'bad_request' });
100
- return;
101
- }
102
- const maps = clientFromRequest(req);
103
- try {
104
- switch (path) {
105
- case '/v1/places/search_text': {
106
- const query = String(body.query ?? '');
107
- if (!query.trim()) {
108
- sendJson(res, 400, { error: 'query is required', code: 'bad_request' });
109
- return;
110
- }
111
- const location = toLatLng(body.location);
112
- const coords = typeof location === 'object'
113
- ? location
114
- : { lat: 20, lng: 0 };
115
- const result = await maps.search.searchText({
116
- query,
117
- location: coords,
118
- limit: typeof body.limit === 'number' ? body.limit : 20,
119
- fieldMask: 'enterprise',
120
- });
121
- sendJson(res, 200, {
122
- places: result.places.map((p) => ({
123
- name: p.name,
124
- address: p.address,
125
- place_id: p.placeId,
126
- hex_id: p.hexId,
127
- rating: p.rating,
128
- review_count: p.reviewCount,
129
- phone: p.internationalPhone ?? p.phone,
130
- latitude: p.latitude,
131
- longitude: p.longitude,
132
- open_status: p.openStatus,
133
- timezone: p.timezone,
134
- thumbnail_url: p.thumbnailUrl,
135
- })),
136
- request_count: result.requestCount,
137
- timing_ms: result.timingMs,
138
- });
139
- return;
140
- }
141
- case '/v1/places/get': {
142
- const hexId = String(body.hex_id ?? '');
143
- if (!hexId) {
144
- sendJson(res, 400, { error: 'hex_id is required', code: 'bad_request' });
145
- return;
146
- }
147
- const location = toLatLng(body.location);
148
- const place = await maps.places.get({
149
- hexId,
150
- name: typeof body.name === 'string' ? body.name : undefined,
151
- lat: typeof location === 'object' ? location.lat : undefined,
152
- lng: typeof location === 'object' ? location.lng : undefined,
153
- mode: body.mode === 'rich' || body.mode === 'detail' || body.mode === 'live'
154
- ? body.mode
155
- : 'live',
156
- });
157
- sendJson(res, 200, {
158
- name: place.name,
159
- address: place.address,
160
- place_id: place.placeId,
161
- hex_id: place.hexId,
162
- rating: place.rating,
163
- review_count: place.reviewCount,
164
- phone: place.phone,
165
- website: place.website,
166
- latitude: place.latitude,
167
- longitude: place.longitude,
168
- timezone: place.timezone,
169
- photos: place.photos,
170
- });
171
- return;
172
- }
173
- case '/v1/directions': {
174
- const origin = toLatLng(body.origin);
175
- const destination = toLatLng(body.destination);
176
- if (origin == null || destination == null) {
177
- sendJson(res, 400, { error: 'origin and destination are required', code: 'bad_request' });
178
- return;
179
- }
180
- const mode = (typeof body.mode === 'string' ? body.mode : 'driving');
181
- const result = await maps.directions.get({
182
- origin,
183
- destination,
184
- mode,
185
- metricsOnly: body.metrics_only === true,
186
- });
187
- sendJson(res, 200, {
188
- distance: result.distance,
189
- duration: result.duration,
190
- legs: result.legs,
191
- });
192
- return;
193
- }
194
- case '/v1/geocode': {
195
- const query = String(body.query ?? '');
196
- if (!query.trim()) {
197
- sendJson(res, 400, { error: 'query is required', code: 'bad_request' });
198
- return;
199
- }
200
- const location = toLatLng(body.location);
201
- const result = await maps.geocode.geocode(query, {
202
- lat: typeof location === 'object' ? location.lat : undefined,
203
- lng: typeof location === 'object' ? location.lng : undefined,
204
- });
205
- sendJson(res, 200, {
206
- result: result.result,
207
- alternatives: result.alternatives,
208
- });
209
- return;
210
- }
211
- case '/v1/timezone': {
212
- if (typeof body.lat !== 'number' || typeof body.lng !== 'number') {
213
- sendJson(res, 400, { error: 'lat and lng are required', code: 'bad_request' });
214
- return;
215
- }
216
- const result = await maps.timezone.get({
217
- lat: body.lat,
218
- lng: body.lng,
219
- source: body.source === 'geocode' ? 'geocode' : 'offline',
220
- });
221
- sendJson(res, 200, {
222
- lat: result.lat,
223
- lng: result.lng,
224
- status: result.status,
225
- time_zone_id: result.timeZoneId,
226
- total_offset_minutes: result.totalOffsetMinutes,
227
- timezone_source: result.timezoneSource,
228
- });
229
- return;
230
- }
231
- case '/v1/distance_matrix': {
232
- const origins = Array.isArray(body.origins)
233
- ? body.origins.map(toLatLng).filter((v) => v != null)
234
- : [];
235
- const destinations = Array.isArray(body.destinations)
236
- ? body.destinations.map(toLatLng).filter((v) => v != null)
237
- : [];
238
- if (origins.length === 0 || destinations.length === 0) {
239
- sendJson(res, 400, {
240
- error: 'origins and destinations are required',
241
- code: 'bad_request',
242
- });
243
- return;
244
- }
245
- const result = await maps.distanceMatrix.getMatrix({
246
- origins,
247
- destinations,
248
- mode: (typeof body.mode === 'string' ? body.mode : 'driving'),
249
- concurrency: typeof body.concurrency === 'number' ? body.concurrency : 8,
250
- requestDelayMs: 0,
251
- });
252
- sendJson(res, 200, {
253
- rows: result.rows,
254
- request_count: result.requestCount,
255
- implementation: result.implementation,
256
- timing_ms: result.timingMs,
257
- });
258
- return;
259
- }
260
- case '/v1/elevation': {
261
- if (typeof body.lat !== 'number' || typeof body.lng !== 'number') {
262
- sendJson(res, 400, { error: 'lat and lng are required', code: 'bad_request' });
263
- return;
264
- }
265
- const result = await maps.elevation.getAtPoint({ lat: body.lat, lng: body.lng });
266
- sendJson(res, 200, {
267
- lat: result.lat,
268
- lng: result.lng,
269
- status: result.status,
270
- elevation_meters: result.elevationMeters,
271
- timing_ms: result.timingMs,
272
- });
273
- return;
274
- }
275
- default: {
276
- sendJson(res, 404, { error: `Unknown path ${path}`, code: 'not_found' });
277
- }
278
- }
279
- }
280
- catch (error) {
281
- mapError(res, error);
282
- }
283
- }
284
- const server = createServer((req, res) => {
285
- void handle(req, res).catch((error) => {
286
- mapError(res, error);
287
- });
288
- });
289
- server.listen(PORT, HOST, () => {
290
- console.log(`gmaps-kit API façade listening on http://${HOST}:${PORT}`);
291
- console.log('OpenAPI: openapi/openapi.yaml · Stainless: openapi/stainless.yml');
292
- });
293
- //# sourceMappingURL=api-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-server.js","sourceRoot":"","sources":["../../src/server/api-server.ts"],"names":[],"mappings":"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"}