googlemaps-kit 0.1.2 → 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.
- package/README.md +147 -180
- package/assets/banner.png +0 -0
- package/dist/advanced/auth.d.ts +10 -0
- package/dist/advanced/auth.d.ts.map +1 -0
- package/dist/advanced/auth.js +8 -0
- package/dist/advanced/auth.js.map +1 -0
- package/dist/advanced/http.d.ts +10 -0
- package/dist/advanced/http.d.ts.map +1 -0
- package/dist/advanced/http.js +9 -0
- package/dist/advanced/http.js.map +1 -0
- package/dist/advanced/parsers.d.ts +28 -0
- package/dist/advanced/parsers.d.ts.map +1 -0
- package/dist/advanced/parsers.js +25 -0
- package/dist/advanced/parsers.js.map +1 -0
- package/dist/advanced/rpc.d.ts +29 -0
- package/dist/advanced/rpc.d.ts.map +1 -0
- package/dist/advanced/rpc.js +23 -0
- package/dist/advanced/rpc.js.map +1 -0
- package/dist/advanced/services.d.ts +34 -0
- package/dist/advanced/services.d.ts.map +1 -0
- package/dist/advanced/services.js +29 -0
- package/dist/advanced/services.js.map +1 -0
- package/dist/advanced/utils.d.ts +15 -0
- package/dist/advanced/utils.d.ts.map +1 -0
- package/dist/advanced/utils.js +13 -0
- package/dist/advanced/utils.js.map +1 -0
- package/dist/advanced.d.ts +43 -0
- package/dist/advanced.d.ts.map +1 -0
- package/dist/advanced.js +26 -0
- package/dist/advanced.js.map +1 -0
- package/dist/auth/session.d.ts +6 -1
- package/dist/auth/session.d.ts.map +1 -1
- package/dist/auth/session.js +23 -8
- package/dist/auth/session.js.map +1 -1
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +115 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/gmaps-client.d.ts +91 -52
- package/dist/client/gmaps-client.d.ts.map +1 -1
- package/dist/client/gmaps-client.js +209 -109
- package/dist/client/gmaps-client.js.map +1 -1
- package/dist/client/http-client.d.ts +28 -3
- package/dist/client/http-client.d.ts.map +1 -1
- package/dist/client/http-client.js +163 -14
- package/dist/client/http-client.js.map +1 -1
- package/dist/client/intent.d.ts +75 -0
- package/dist/client/intent.d.ts.map +1 -0
- package/dist/client/intent.js +546 -0
- package/dist/client/intent.js.map +1 -0
- package/dist/client/maps-tools.d.ts +80 -0
- package/dist/client/maps-tools.d.ts.map +1 -0
- package/dist/client/maps-tools.js +187 -0
- package/dist/client/maps-tools.js.map +1 -0
- package/dist/client/namespaces.d.ts +121 -0
- package/dist/client/namespaces.d.ts.map +1 -0
- package/dist/client/namespaces.js +169 -0
- package/dist/client/namespaces.js.map +1 -0
- package/dist/client/place-enrichment.d.ts +19 -0
- package/dist/client/place-enrichment.d.ts.map +1 -0
- package/dist/client/place-enrichment.js +71 -0
- package/dist/client/place-enrichment.js.map +1 -0
- package/dist/client/product-namespaces.d.ts +30 -0
- package/dist/client/product-namespaces.d.ts.map +1 -0
- package/dist/client/product-namespaces.js +47 -0
- package/dist/client/product-namespaces.js.map +1 -0
- package/dist/index.d.ts +31 -37
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -28
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +3 -137
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -94
- package/dist/internal.js.map +1 -1
- package/dist/parsers/place.d.ts.map +1 -1
- package/dist/parsers/place.js +2 -0
- package/dist/parsers/place.js.map +1 -1
- package/dist/parsers/reviews.d.ts +0 -2
- package/dist/parsers/reviews.d.ts.map +1 -1
- package/dist/parsers/reviews.js +0 -2
- package/dist/parsers/reviews.js.map +1 -1
- package/dist/parsers/search.d.ts +13 -1
- package/dist/parsers/search.d.ts.map +1 -1
- package/dist/parsers/search.js +130 -71
- package/dist/parsers/search.js.map +1 -1
- package/dist/rpc/batch-execute.d.ts.map +1 -1
- package/dist/rpc/batch-execute.js +20 -3
- package/dist/rpc/batch-execute.js.map +1 -1
- package/dist/rpc/batch-rpc.d.ts.map +1 -1
- package/dist/rpc/batch-rpc.js +5 -6
- package/dist/rpc/batch-rpc.js.map +1 -1
- package/dist/rpc/batch-services.d.ts +2 -0
- package/dist/rpc/batch-services.d.ts.map +1 -1
- package/dist/rpc/batch-services.js +4 -0
- package/dist/rpc/batch-services.js.map +1 -1
- package/dist/rpc/pb-builders.d.ts +0 -2
- package/dist/rpc/pb-builders.d.ts.map +1 -1
- package/dist/rpc/pb-builders.js +2 -5
- package/dist/rpc/pb-builders.js.map +1 -1
- package/dist/rpc/rpc-client.d.ts +6 -2
- package/dist/rpc/rpc-client.d.ts.map +1 -1
- package/dist/rpc/rpc-client.js +26 -10
- package/dist/rpc/rpc-client.js.map +1 -1
- package/dist/rpc/rpc-methods.d.ts +0 -7
- package/dist/rpc/rpc-methods.d.ts.map +1 -1
- package/dist/rpc/rpc-methods.js +0 -7
- package/dist/rpc/rpc-methods.js.map +1 -1
- package/dist/services/ask-maps.js +1 -1
- package/dist/services/ask-maps.js.map +1 -1
- package/dist/services/directions.d.ts +3 -8
- package/dist/services/directions.d.ts.map +1 -1
- package/dist/services/directions.js +37 -13
- package/dist/services/directions.js.map +1 -1
- package/dist/services/geocode.js +1 -1
- package/dist/services/photos.d.ts.map +1 -1
- package/dist/services/photos.js +2 -5
- package/dist/services/photos.js.map +1 -1
- package/dist/services/places.d.ts.map +1 -1
- package/dist/services/places.js +13 -4
- package/dist/services/places.js.map +1 -1
- package/dist/services/reviews.d.ts +7 -0
- package/dist/services/reviews.d.ts.map +1 -1
- package/dist/services/reviews.js +10 -1
- package/dist/services/reviews.js.map +1 -1
- package/dist/services/search.d.ts +7 -5
- package/dist/services/search.d.ts.map +1 -1
- package/dist/services/search.js +46 -17
- package/dist/services/search.js.map +1 -1
- package/dist/services/ugc-aggregates.d.ts.map +1 -1
- package/dist/services/ugc-aggregates.js +1 -17
- package/dist/services/ugc-aggregates.js.map +1 -1
- package/dist/types/common.d.ts +92 -6
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js +12 -0
- package/dist/types/common.js.map +1 -1
- package/dist/types/directions.d.ts +16 -2
- package/dist/types/directions.d.ts.map +1 -1
- package/dist/types/dx.d.ts +289 -0
- package/dist/types/dx.d.ts.map +1 -0
- package/dist/types/dx.js +7 -0
- package/dist/types/dx.js.map +1 -0
- package/dist/types/hooks.d.ts +48 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/hooks.js +5 -0
- package/dist/types/hooks.js.map +1 -0
- package/dist/utils/abort.d.ts +7 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +43 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/coords.d.ts +24 -0
- package/dist/utils/coords.d.ts.map +1 -0
- package/dist/utils/coords.js +37 -0
- package/dist/utils/coords.js.map +1 -0
- package/dist/utils/export-results.d.ts +24 -0
- package/dist/utils/export-results.d.ts.map +1 -0
- package/dist/utils/export-results.js +105 -0
- package/dist/utils/export-results.js.map +1 -0
- package/dist/utils/hooks.d.ts +10 -0
- package/dist/utils/hooks.d.ts.map +1 -0
- package/dist/utils/hooks.js +47 -0
- package/dist/utils/hooks.js.map +1 -0
- package/dist/utils/place-ref.d.ts +39 -0
- package/dist/utils/place-ref.d.ts.map +1 -0
- package/dist/utils/place-ref.js +109 -0
- package/dist/utils/place-ref.js.map +1 -0
- package/dist/utils/pooled.d.ts +2 -0
- package/dist/utils/pooled.d.ts.map +1 -1
- package/dist/utils/pooled.js +8 -0
- package/dist/utils/pooled.js.map +1 -1
- package/dist/utils/request-context.d.ts +9 -0
- package/dist/utils/request-context.d.ts.map +1 -0
- package/dist/utils/request-context.js +12 -0
- package/dist/utils/request-context.js.map +1 -0
- package/dist/utils/ttl-cache.d.ts +17 -0
- package/dist/utils/ttl-cache.d.ts.map +1 -0
- package/dist/utils/ttl-cache.js +43 -0
- package/dist/utils/ttl-cache.js.map +1 -0
- package/package.json +27 -12
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ready-made Intent tools for agents (Vercel AI SDK / OpenAI-style).
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* import { sdk, createMapsTools } from 'googlemaps-kit';
|
|
6
|
+
* const maps = sdk();
|
|
7
|
+
* const tools = createMapsTools(maps);
|
|
8
|
+
* await tools.discover.execute({ query: 'coffee', nearLat: 12.98, nearLng: 77.64 });
|
|
9
|
+
*/
|
|
10
|
+
function nearFromArgs(args) {
|
|
11
|
+
if (args.nearLat != null && args.nearLng != null) {
|
|
12
|
+
return { lat: args.nearLat, lng: args.nearLng };
|
|
13
|
+
}
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
function assertApproval(requireApproval, name) {
|
|
17
|
+
if (requireApproval?.[name]) {
|
|
18
|
+
throw new Error(`Tool "${name}" requires host approval before execute (createMapsTools requireApproval).`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Build Intent-backed tools for coding agents. */
|
|
22
|
+
export function createMapsTools(maps, options = {}) {
|
|
23
|
+
const { requireApproval } = options;
|
|
24
|
+
const discover = {
|
|
25
|
+
description: 'Search Google Maps places near a bias point. Returns places with name, hexId, rating, lat/lng.',
|
|
26
|
+
parameters: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {
|
|
29
|
+
query: { type: 'string', description: 'Search query, e.g. cafes in indiranagar' },
|
|
30
|
+
nearLat: { type: 'number' },
|
|
31
|
+
nearLng: { type: 'number' },
|
|
32
|
+
mode: { type: 'string', enum: ['fast', 'full'] },
|
|
33
|
+
limit: { type: 'number' },
|
|
34
|
+
},
|
|
35
|
+
required: ['query', 'nearLat', 'nearLng'],
|
|
36
|
+
},
|
|
37
|
+
execute: async (args) => {
|
|
38
|
+
assertApproval(requireApproval, 'discover');
|
|
39
|
+
const near = nearFromArgs(args);
|
|
40
|
+
if (!near)
|
|
41
|
+
throw new Error('discover requires nearLat and nearLng');
|
|
42
|
+
return maps.discover({
|
|
43
|
+
query: args.query,
|
|
44
|
+
near,
|
|
45
|
+
mode: args.mode,
|
|
46
|
+
limit: args.limit,
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
const resolve = {
|
|
51
|
+
description: 'Resolve a Maps URL or query to place identity (hexId/name/coords). Not a full card.',
|
|
52
|
+
parameters: {
|
|
53
|
+
type: 'object',
|
|
54
|
+
properties: {
|
|
55
|
+
query: { type: 'string' },
|
|
56
|
+
url: { type: 'string' },
|
|
57
|
+
nearLat: { type: 'number' },
|
|
58
|
+
nearLng: { type: 'number' },
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
execute: async (args) => {
|
|
62
|
+
assertApproval(requireApproval, 'resolve');
|
|
63
|
+
return maps.resolve({
|
|
64
|
+
query: args.query,
|
|
65
|
+
url: args.url,
|
|
66
|
+
near: nearFromArgs(args),
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
const profile = {
|
|
71
|
+
description: 'Fetch a place profile. Always read fields under place (place.name, place.rating).',
|
|
72
|
+
parameters: {
|
|
73
|
+
type: 'object',
|
|
74
|
+
properties: {
|
|
75
|
+
hexId: { type: 'string' },
|
|
76
|
+
name: { type: 'string' },
|
|
77
|
+
lat: { type: 'number' },
|
|
78
|
+
lng: { type: 'number' },
|
|
79
|
+
depth: { type: 'string', enum: ['card', 'full', 'complete'] },
|
|
80
|
+
},
|
|
81
|
+
required: ['hexId'],
|
|
82
|
+
},
|
|
83
|
+
execute: async (args) => {
|
|
84
|
+
assertApproval(requireApproval, 'profile');
|
|
85
|
+
return maps.profile({
|
|
86
|
+
hexId: args.hexId,
|
|
87
|
+
name: args.name,
|
|
88
|
+
lat: args.lat,
|
|
89
|
+
lng: args.lng,
|
|
90
|
+
}, { depth: args.depth ?? 'card' });
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
const route = {
|
|
94
|
+
description: 'Get directions between two coordinates. Default metrics only.',
|
|
95
|
+
parameters: {
|
|
96
|
+
type: 'object',
|
|
97
|
+
properties: {
|
|
98
|
+
fromLat: { type: 'number' },
|
|
99
|
+
fromLng: { type: 'number' },
|
|
100
|
+
toLat: { type: 'number' },
|
|
101
|
+
toLng: { type: 'number' },
|
|
102
|
+
mode: { type: 'string', enum: ['driving', 'walking', 'bicycling', 'transit'] },
|
|
103
|
+
includeSteps: { type: 'boolean' },
|
|
104
|
+
},
|
|
105
|
+
required: ['fromLat', 'fromLng', 'toLat', 'toLng'],
|
|
106
|
+
},
|
|
107
|
+
execute: async (args) => {
|
|
108
|
+
assertApproval(requireApproval, 'route');
|
|
109
|
+
return maps.route({
|
|
110
|
+
from: { lat: args.fromLat, lng: args.fromLng },
|
|
111
|
+
to: { lat: args.toLat, lng: args.toLng },
|
|
112
|
+
mode: args.mode,
|
|
113
|
+
includeSteps: args.includeSteps,
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
const opinions = {
|
|
118
|
+
description: 'List place reviews. reviewCount is page size; totalReviews needs includeAggregates.',
|
|
119
|
+
parameters: {
|
|
120
|
+
type: 'object',
|
|
121
|
+
properties: {
|
|
122
|
+
hexId: { type: 'string' },
|
|
123
|
+
name: { type: 'string' },
|
|
124
|
+
pages: { type: 'number' },
|
|
125
|
+
includeAggregates: { type: 'boolean' },
|
|
126
|
+
},
|
|
127
|
+
required: ['hexId'],
|
|
128
|
+
},
|
|
129
|
+
execute: async (args) => {
|
|
130
|
+
assertApproval(requireApproval, 'opinions');
|
|
131
|
+
return maps.opinions({ hexId: args.hexId, name: args.name }, { pages: args.pages, includeAggregates: args.includeAggregates });
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
const media = {
|
|
135
|
+
description: 'List place photos (PlacePhoto[]). Optional nearby Street View.',
|
|
136
|
+
parameters: {
|
|
137
|
+
type: 'object',
|
|
138
|
+
properties: {
|
|
139
|
+
hexId: { type: 'string' },
|
|
140
|
+
name: { type: 'string' },
|
|
141
|
+
streetView: { type: 'boolean' },
|
|
142
|
+
},
|
|
143
|
+
required: ['hexId'],
|
|
144
|
+
},
|
|
145
|
+
execute: async (args) => {
|
|
146
|
+
assertApproval(requireApproval, 'media');
|
|
147
|
+
return maps.media({ hexId: args.hexId, name: args.name }, { streetView: args.streetView });
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
const pipeline = {
|
|
151
|
+
description: 'Discover places then profile each (optional opinions). One-shot lead scrape.',
|
|
152
|
+
parameters: {
|
|
153
|
+
type: 'object',
|
|
154
|
+
properties: {
|
|
155
|
+
query: { type: 'string' },
|
|
156
|
+
nearLat: { type: 'number' },
|
|
157
|
+
nearLng: { type: 'number' },
|
|
158
|
+
maxPlaces: { type: 'number' },
|
|
159
|
+
depth: { type: 'string', enum: ['card', 'full', 'complete'] },
|
|
160
|
+
includeOpinions: { type: 'boolean' },
|
|
161
|
+
},
|
|
162
|
+
required: ['query', 'nearLat', 'nearLng'],
|
|
163
|
+
},
|
|
164
|
+
execute: async (args) => {
|
|
165
|
+
assertApproval(requireApproval, 'pipeline');
|
|
166
|
+
return maps.pipeline({
|
|
167
|
+
discover: {
|
|
168
|
+
query: args.query,
|
|
169
|
+
near: { lat: args.nearLat, lng: args.nearLng },
|
|
170
|
+
},
|
|
171
|
+
maxPlaces: args.maxPlaces ?? 5,
|
|
172
|
+
profile: { depth: args.depth ?? 'card' },
|
|
173
|
+
opinions: args.includeOpinions ? {} : false,
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
return {
|
|
178
|
+
discover,
|
|
179
|
+
resolve,
|
|
180
|
+
profile,
|
|
181
|
+
route,
|
|
182
|
+
opinions,
|
|
183
|
+
media,
|
|
184
|
+
pipeline,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=maps-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps-tools.js","sourceRoot":"","sources":["../../src/client/maps-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain namespaces for GMapsClient.
|
|
3
|
+
*/
|
|
4
|
+
import type { HttpClient } from './http-client.js';
|
|
5
|
+
import type { GMapsConfig, GetPlaceFullOptions, PlaceFullResult } from '../types/common.js';
|
|
6
|
+
import { AskMapsService } from '../services/ask-maps.js';
|
|
7
|
+
import { BatchUrlService } from '../services/batch-url.js';
|
|
8
|
+
import { CategoriesService } from '../services/categories.js';
|
|
9
|
+
import { DirectionsService } from '../services/directions.js';
|
|
10
|
+
import { DistanceMatrixService } from '../services/distance-matrix.js';
|
|
11
|
+
import { ElevationService } from '../services/elevation.js';
|
|
12
|
+
import { GeocodeService } from '../services/geocode.js';
|
|
13
|
+
import { KnowledgeService } from '../services/knowledge.js';
|
|
14
|
+
import { LinksService } from '../services/links.js';
|
|
15
|
+
import { ListsService } from '../services/lists.js';
|
|
16
|
+
import { LocalPostsService } from '../services/local-posts.js';
|
|
17
|
+
import { PanoramaService } from '../services/panorama.js';
|
|
18
|
+
import { PassiveAssistService } from '../services/passiveassist.js';
|
|
19
|
+
import { PhotosService } from '../services/photos.js';
|
|
20
|
+
import { PlacesService, type GetPlaceOptions, type PlacePreviewFetchResult } from '../services/places.js';
|
|
21
|
+
import { ReviewsService } from '../services/reviews.js';
|
|
22
|
+
import { RevealService } from '../services/reveal.js';
|
|
23
|
+
import { SearchService } from '../services/search.js';
|
|
24
|
+
import { StaticMapService } from '../services/static-map.js';
|
|
25
|
+
import { SuggestService } from '../services/suggest.js';
|
|
26
|
+
import { TilesService } from '../services/tiles.js';
|
|
27
|
+
import { TimezoneService } from '../services/timezone.js';
|
|
28
|
+
import { TrafficService } from '../services/traffic.js';
|
|
29
|
+
import { TransitService } from '../services/transit.js';
|
|
30
|
+
import { UgcAggregatesService } from '../services/ugc-aggregates.js';
|
|
31
|
+
import type { PlaceDetails } from '../types/common.js';
|
|
32
|
+
import type { AskMapsOptions, AskMapsResult } from '../services/ask-maps.js';
|
|
33
|
+
export interface ServiceBundle {
|
|
34
|
+
search: SearchService;
|
|
35
|
+
places: PlacesService;
|
|
36
|
+
reviews: ReviewsService;
|
|
37
|
+
suggest: SuggestService;
|
|
38
|
+
photos: PhotosService;
|
|
39
|
+
knowledge: KnowledgeService;
|
|
40
|
+
localPosts: LocalPostsService;
|
|
41
|
+
geocode: GeocodeService;
|
|
42
|
+
timezone: TimezoneService;
|
|
43
|
+
reveal: RevealService;
|
|
44
|
+
passiveAssist: PassiveAssistService;
|
|
45
|
+
directions: DirectionsService;
|
|
46
|
+
distanceMatrix: DistanceMatrixService;
|
|
47
|
+
elevation: ElevationService;
|
|
48
|
+
transit: TransitService;
|
|
49
|
+
traffic: TrafficService;
|
|
50
|
+
tiles: TilesService;
|
|
51
|
+
staticMap: StaticMapService;
|
|
52
|
+
panorama: PanoramaService;
|
|
53
|
+
categories: CategoriesService;
|
|
54
|
+
ugcAggregates: UgcAggregatesService;
|
|
55
|
+
lists: ListsService;
|
|
56
|
+
links: LinksService;
|
|
57
|
+
batchUrl: BatchUrlService;
|
|
58
|
+
askMaps: AskMapsService;
|
|
59
|
+
}
|
|
60
|
+
/** Search, place details, reviews, photos, and related POI surfaces. */
|
|
61
|
+
export declare class PlacesNamespace {
|
|
62
|
+
readonly search: SearchService;
|
|
63
|
+
readonly suggest: SuggestService;
|
|
64
|
+
/** Raw place-preview / enrichment service. */
|
|
65
|
+
readonly details: PlacesService;
|
|
66
|
+
readonly reviews: ReviewsService;
|
|
67
|
+
readonly photos: PhotosService;
|
|
68
|
+
readonly knowledge: KnowledgeService;
|
|
69
|
+
readonly localPosts: LocalPostsService;
|
|
70
|
+
constructor(s: ServiceBundle);
|
|
71
|
+
/** Place card (preview + parallel UGC/photo enrichment). */
|
|
72
|
+
get(options: GetPlaceOptions): Promise<PlaceDetails>;
|
|
73
|
+
getMany(places: GetPlaceOptions[], concurrency?: number): Promise<PlaceDetails[]>;
|
|
74
|
+
getFull(options: GetPlaceFullOptions): Promise<PlaceFullResult>;
|
|
75
|
+
fetchPreview(options: GetPlaceOptions & {
|
|
76
|
+
mode?: GetPlaceOptions['mode'];
|
|
77
|
+
}): Promise<PlacePreviewFetchResult>;
|
|
78
|
+
}
|
|
79
|
+
/** Geocode, timezone, map-click reveal, viewport chips. */
|
|
80
|
+
export declare class LocationNamespace {
|
|
81
|
+
readonly geocode: GeocodeService;
|
|
82
|
+
readonly timezone: TimezoneService;
|
|
83
|
+
readonly reveal: RevealService;
|
|
84
|
+
readonly passiveAssist: PassiveAssistService;
|
|
85
|
+
constructor(s: ServiceBundle);
|
|
86
|
+
}
|
|
87
|
+
/** Directions, matrix, elevation, transit, traffic. */
|
|
88
|
+
export declare class TravelNamespace {
|
|
89
|
+
readonly directions: DirectionsService;
|
|
90
|
+
readonly distanceMatrix: DistanceMatrixService;
|
|
91
|
+
readonly elevation: ElevationService;
|
|
92
|
+
readonly transit: TransitService;
|
|
93
|
+
readonly traffic: TrafficService;
|
|
94
|
+
constructor(s: ServiceBundle);
|
|
95
|
+
}
|
|
96
|
+
/** Tiles, static map, Street View. */
|
|
97
|
+
export declare class MapNamespace {
|
|
98
|
+
readonly tiles: TilesService;
|
|
99
|
+
readonly staticMap: StaticMapService;
|
|
100
|
+
readonly panorama: PanoramaService;
|
|
101
|
+
constructor(s: ServiceBundle);
|
|
102
|
+
}
|
|
103
|
+
/** Categories, aggregates, lists, links, URL RPC. */
|
|
104
|
+
export declare class MetaNamespace {
|
|
105
|
+
readonly categories: CategoriesService;
|
|
106
|
+
readonly ugcAggregates: UgcAggregatesService;
|
|
107
|
+
readonly lists: ListsService;
|
|
108
|
+
readonly links: LinksService;
|
|
109
|
+
readonly batchUrl: BatchUrlService;
|
|
110
|
+
constructor(s: ServiceBundle);
|
|
111
|
+
}
|
|
112
|
+
/** Signed-in Ask Maps agent (gated). */
|
|
113
|
+
export declare class AgentNamespace {
|
|
114
|
+
readonly askMaps: AskMapsService;
|
|
115
|
+
private readonly isSignedIn;
|
|
116
|
+
constructor(s: ServiceBundle, isSignedIn: () => boolean);
|
|
117
|
+
ask(options: AskMapsOptions): Promise<AskMapsResult>;
|
|
118
|
+
listHistoryThreads(): Promise<import("../services/ask-maps.js").AskMapsHistoryThread[]>;
|
|
119
|
+
}
|
|
120
|
+
export declare function createServiceBundle(http: HttpClient, config: GMapsConfig): ServiceBundle;
|
|
121
|
+
//# sourceMappingURL=namespaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/client/namespaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain namespaces for GMapsClient.
|
|
3
|
+
*/
|
|
4
|
+
import { AskMapsService } from '../services/ask-maps.js';
|
|
5
|
+
import { BatchUrlService } from '../services/batch-url.js';
|
|
6
|
+
import { CategoriesService } from '../services/categories.js';
|
|
7
|
+
import { DirectionsService } from '../services/directions.js';
|
|
8
|
+
import { DistanceMatrixService } from '../services/distance-matrix.js';
|
|
9
|
+
import { ElevationService } from '../services/elevation.js';
|
|
10
|
+
import { GeocodeService } from '../services/geocode.js';
|
|
11
|
+
import { KnowledgeService } from '../services/knowledge.js';
|
|
12
|
+
import { LinksService } from '../services/links.js';
|
|
13
|
+
import { ListsService } from '../services/lists.js';
|
|
14
|
+
import { LocalPostsService } from '../services/local-posts.js';
|
|
15
|
+
import { PanoramaService } from '../services/panorama.js';
|
|
16
|
+
import { PassiveAssistService } from '../services/passiveassist.js';
|
|
17
|
+
import { PhotosService } from '../services/photos.js';
|
|
18
|
+
import { PlacesService } from '../services/places.js';
|
|
19
|
+
import { ReviewsService } from '../services/reviews.js';
|
|
20
|
+
import { RevealService } from '../services/reveal.js';
|
|
21
|
+
import { SearchService } from '../services/search.js';
|
|
22
|
+
import { StaticMapService } from '../services/static-map.js';
|
|
23
|
+
import { SuggestService } from '../services/suggest.js';
|
|
24
|
+
import { TilesService } from '../services/tiles.js';
|
|
25
|
+
import { TimezoneService } from '../services/timezone.js';
|
|
26
|
+
import { TrafficService } from '../services/traffic.js';
|
|
27
|
+
import { TransitService } from '../services/transit.js';
|
|
28
|
+
import { UgcAggregatesService } from '../services/ugc-aggregates.js';
|
|
29
|
+
import { AuthRequiredError } from '../types/common.js';
|
|
30
|
+
/** Search, place details, reviews, photos, and related POI surfaces. */
|
|
31
|
+
export class PlacesNamespace {
|
|
32
|
+
search;
|
|
33
|
+
suggest;
|
|
34
|
+
/** Raw place-preview / enrichment service. */
|
|
35
|
+
details;
|
|
36
|
+
reviews;
|
|
37
|
+
photos;
|
|
38
|
+
knowledge;
|
|
39
|
+
localPosts;
|
|
40
|
+
constructor(s) {
|
|
41
|
+
this.search = s.search;
|
|
42
|
+
this.suggest = s.suggest;
|
|
43
|
+
this.details = s.places;
|
|
44
|
+
this.reviews = s.reviews;
|
|
45
|
+
this.photos = s.photos;
|
|
46
|
+
this.knowledge = s.knowledge;
|
|
47
|
+
this.localPosts = s.localPosts;
|
|
48
|
+
}
|
|
49
|
+
/** Place card (preview + parallel UGC/photo enrichment). */
|
|
50
|
+
get(options) {
|
|
51
|
+
return this.details.get(options);
|
|
52
|
+
}
|
|
53
|
+
getMany(places, concurrency) {
|
|
54
|
+
return this.details.getMany(places, concurrency);
|
|
55
|
+
}
|
|
56
|
+
getFull(options) {
|
|
57
|
+
return this.details.getFull(options, this.reviews);
|
|
58
|
+
}
|
|
59
|
+
fetchPreview(options) {
|
|
60
|
+
return this.details.fetchPreview(options);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Geocode, timezone, map-click reveal, viewport chips. */
|
|
64
|
+
export class LocationNamespace {
|
|
65
|
+
geocode;
|
|
66
|
+
timezone;
|
|
67
|
+
reveal;
|
|
68
|
+
passiveAssist;
|
|
69
|
+
constructor(s) {
|
|
70
|
+
this.geocode = s.geocode;
|
|
71
|
+
this.timezone = s.timezone;
|
|
72
|
+
this.reveal = s.reveal;
|
|
73
|
+
this.passiveAssist = s.passiveAssist;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** Directions, matrix, elevation, transit, traffic. */
|
|
77
|
+
export class TravelNamespace {
|
|
78
|
+
directions;
|
|
79
|
+
distanceMatrix;
|
|
80
|
+
elevation;
|
|
81
|
+
transit;
|
|
82
|
+
traffic;
|
|
83
|
+
constructor(s) {
|
|
84
|
+
this.directions = s.directions;
|
|
85
|
+
this.distanceMatrix = s.distanceMatrix;
|
|
86
|
+
this.elevation = s.elevation;
|
|
87
|
+
this.transit = s.transit;
|
|
88
|
+
this.traffic = s.traffic;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/** Tiles, static map, Street View. */
|
|
92
|
+
export class MapNamespace {
|
|
93
|
+
tiles;
|
|
94
|
+
staticMap;
|
|
95
|
+
panorama;
|
|
96
|
+
constructor(s) {
|
|
97
|
+
this.tiles = s.tiles;
|
|
98
|
+
this.staticMap = s.staticMap;
|
|
99
|
+
this.panorama = s.panorama;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/** Categories, aggregates, lists, links, URL RPC. */
|
|
103
|
+
export class MetaNamespace {
|
|
104
|
+
categories;
|
|
105
|
+
ugcAggregates;
|
|
106
|
+
lists;
|
|
107
|
+
links;
|
|
108
|
+
batchUrl;
|
|
109
|
+
constructor(s) {
|
|
110
|
+
this.categories = s.categories;
|
|
111
|
+
this.ugcAggregates = s.ugcAggregates;
|
|
112
|
+
this.lists = s.lists;
|
|
113
|
+
this.links = s.links;
|
|
114
|
+
this.batchUrl = s.batchUrl;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/** Signed-in Ask Maps agent (gated). */
|
|
118
|
+
export class AgentNamespace {
|
|
119
|
+
askMaps;
|
|
120
|
+
isSignedIn;
|
|
121
|
+
constructor(s, isSignedIn) {
|
|
122
|
+
this.askMaps = s.askMaps;
|
|
123
|
+
this.isSignedIn = isSignedIn;
|
|
124
|
+
}
|
|
125
|
+
async ask(options) {
|
|
126
|
+
if (!this.isSignedIn()) {
|
|
127
|
+
throw new AuthRequiredError('Ask Maps requires a signed-in session. Pass cookies via sdk({ session: \'authenticated\', cookies }) or GMAPS_COOKIES.', 'askMaps');
|
|
128
|
+
}
|
|
129
|
+
return this.askMaps.ask(options);
|
|
130
|
+
}
|
|
131
|
+
listHistoryThreads() {
|
|
132
|
+
if (!this.isSignedIn()) {
|
|
133
|
+
throw new AuthRequiredError('Ask Maps history requires a signed-in session (GMAPS_COOKIES).', 'askMapsHistory');
|
|
134
|
+
}
|
|
135
|
+
return this.askMaps.listHistoryThreads();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export function createServiceBundle(http, config) {
|
|
139
|
+
const directions = new DirectionsService(http, config);
|
|
140
|
+
const geocode = new GeocodeService(http, config);
|
|
141
|
+
return {
|
|
142
|
+
search: new SearchService(http, config),
|
|
143
|
+
places: new PlacesService(http, config),
|
|
144
|
+
reviews: new ReviewsService(http, config),
|
|
145
|
+
suggest: new SuggestService(http, config),
|
|
146
|
+
photos: new PhotosService(http, config),
|
|
147
|
+
knowledge: new KnowledgeService(http, config),
|
|
148
|
+
localPosts: new LocalPostsService(http, config),
|
|
149
|
+
geocode,
|
|
150
|
+
timezone: new TimezoneService(geocode, config),
|
|
151
|
+
reveal: new RevealService(http, config),
|
|
152
|
+
passiveAssist: new PassiveAssistService(http, config),
|
|
153
|
+
directions,
|
|
154
|
+
distanceMatrix: new DistanceMatrixService(directions, config),
|
|
155
|
+
elevation: new ElevationService(http, directions, config),
|
|
156
|
+
transit: new TransitService(http, config),
|
|
157
|
+
traffic: new TrafficService(http, config),
|
|
158
|
+
tiles: new TilesService(http, config),
|
|
159
|
+
staticMap: new StaticMapService(http, config),
|
|
160
|
+
panorama: new PanoramaService(http, config),
|
|
161
|
+
categories: new CategoriesService(http, config),
|
|
162
|
+
ugcAggregates: new UgcAggregatesService(http, config),
|
|
163
|
+
lists: new ListsService(http, config),
|
|
164
|
+
links: new LinksService(http, config),
|
|
165
|
+
batchUrl: new BatchUrlService(http, config),
|
|
166
|
+
askMaps: new AskMapsService(http, config),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=namespaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../src/client/namespaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { HttpClient } from './http-client.js';
|
|
2
|
+
import type { GMapsConfig, PlaceDetails } from '../types/common.js';
|
|
3
|
+
export interface PlaceEnrichmentInput {
|
|
4
|
+
hexId: string;
|
|
5
|
+
lat?: number;
|
|
6
|
+
lng?: number;
|
|
7
|
+
ftid?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PlaceEnrichment {
|
|
10
|
+
rating?: number;
|
|
11
|
+
reviewCount?: number;
|
|
12
|
+
photos?: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Fan-out place metadata RPCs in a single batchexecute envelope (parallel to preview GET).
|
|
16
|
+
*/
|
|
17
|
+
export declare function fetchPlaceEnrichment(http: HttpClient, config: GMapsConfig, options: PlaceEnrichmentInput): Promise<PlaceEnrichment | null>;
|
|
18
|
+
export declare function mergePlaceEnrichment(details: PlaceDetails, enrichment: PlaceEnrichment | null): PlaceDetails;
|
|
19
|
+
//# sourceMappingURL=place-enrichment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-enrichment.d.ts","sourceRoot":"","sources":["../../src/client/place-enrichment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAW,MAAM,oBAAoB,CAAC;AAG7E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkDjC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,eAAe,GAAG,IAAI,GACjC,YAAY,CAYd"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { extractPlacePhotos } from '../parsers/photos.js';
|
|
2
|
+
import { extractPlaceUgcAggregates } from '../parsers/ugc-aggregates.js';
|
|
3
|
+
import { buildListEntityPhotosBatchArgs, buildPlaceUgcAggregatesArgs, } from '../rpc/batch-request-builders.js';
|
|
4
|
+
import { BATCH_SERVICES } from '../rpc/batch-services.js';
|
|
5
|
+
import { createRpcClient, isBatchErrorCode, parseBatchPayload } from '../rpc/batch-rpc.js';
|
|
6
|
+
import { dedupePhotos } from '../utils/photo-url.js';
|
|
7
|
+
/**
|
|
8
|
+
* Fan-out place metadata RPCs in a single batchexecute envelope (parallel to preview GET).
|
|
9
|
+
*/
|
|
10
|
+
export async function fetchPlaceEnrichment(http, config, options) {
|
|
11
|
+
if (!options.hexId)
|
|
12
|
+
return null;
|
|
13
|
+
try {
|
|
14
|
+
const rpc = await createRpcClient(http, config);
|
|
15
|
+
const psi = await http.resolvePsi();
|
|
16
|
+
const calls = [
|
|
17
|
+
{
|
|
18
|
+
id: BATCH_SERVICES.PLACE_UGC_AGGREGATES,
|
|
19
|
+
args: buildPlaceUgcAggregatesArgs(options.hexId, psi),
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
const hasCoords = options.lat != null && options.lng != null;
|
|
23
|
+
if (hasCoords) {
|
|
24
|
+
calls.push({
|
|
25
|
+
id: BATCH_SERVICES.LIST_ENTITY_PHOTOS,
|
|
26
|
+
args: buildListEntityPhotosBatchArgs({
|
|
27
|
+
hexId: options.hexId,
|
|
28
|
+
psi,
|
|
29
|
+
featureId: options.ftid,
|
|
30
|
+
pageSize: 12,
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const responses = await rpc.getBatchClient().execute(calls);
|
|
35
|
+
const out = {};
|
|
36
|
+
const aggregatesRoot = parseBatchPayload(responses[0]?.data);
|
|
37
|
+
if (!isBatchErrorCode(aggregatesRoot)) {
|
|
38
|
+
const aggregates = extractPlaceUgcAggregates(aggregatesRoot);
|
|
39
|
+
if (aggregates.rating != null)
|
|
40
|
+
out.rating = aggregates.rating;
|
|
41
|
+
if (aggregates.totalCount != null)
|
|
42
|
+
out.reviewCount = aggregates.totalCount;
|
|
43
|
+
}
|
|
44
|
+
if (hasCoords && responses[1]) {
|
|
45
|
+
const photosRoot = parseBatchPayload(responses[1].data);
|
|
46
|
+
if (!isBatchErrorCode(photosRoot)) {
|
|
47
|
+
const parsed = extractPlacePhotos(photosRoot, { pageSize: 12, source: 'batchexecute' });
|
|
48
|
+
const urls = parsed.photos.map((p) => p.url).filter(Boolean);
|
|
49
|
+
if (urls.length > 0)
|
|
50
|
+
out.photos = urls;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return Object.keys(out).length > 0 ? out : null;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function mergePlaceEnrichment(details, enrichment) {
|
|
60
|
+
if (!enrichment)
|
|
61
|
+
return details;
|
|
62
|
+
return {
|
|
63
|
+
...details,
|
|
64
|
+
rating: details.rating ?? enrichment.rating,
|
|
65
|
+
reviewCount: details.reviewCount ?? enrichment.reviewCount,
|
|
66
|
+
photos: enrichment.photos && enrichment.photos.length > 0
|
|
67
|
+
? dedupePhotos([...(details.photos ?? []), ...enrichment.photos], 50)
|
|
68
|
+
: details.photos,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=place-enrichment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-enrichment.js","sourceRoot":"","sources":["../../src/client/place-enrichment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth + surface catalog namespaces — product-facing wrappers over kit internals.
|
|
3
|
+
*/
|
|
4
|
+
import { type AuthStatusOptions } from '../auth/auth-status.js';
|
|
5
|
+
import type { HttpClient } from './http-client.js';
|
|
6
|
+
import type { AuthStatus, GMapsConfig } from '../types/common.js';
|
|
7
|
+
import { KNOWN_SURFACES, type KnownSurfaceName, type SurfaceInfo, type SurfaceStatus } from '../known-surfaces.js';
|
|
8
|
+
/** Session / cookie status for apps (no secret values returned). */
|
|
9
|
+
export declare class AuthNamespace {
|
|
10
|
+
private readonly auth;
|
|
11
|
+
constructor(http: HttpClient, config: GMapsConfig);
|
|
12
|
+
/** Live or cached auth probe — cookie names/lengths only, never values. */
|
|
13
|
+
status(options?: AuthStatusOptions): Promise<AuthStatus>;
|
|
14
|
+
/** One-line summary for logs (`signed-in, cookies=12, …`). */
|
|
15
|
+
summarize(options?: AuthStatusOptions): Promise<string>;
|
|
16
|
+
}
|
|
17
|
+
/** Catalog of Maps surfaces this kit knows about (working / auth / blocked / …). */
|
|
18
|
+
export declare class SurfacesNamespace {
|
|
19
|
+
/** All surface names. */
|
|
20
|
+
list(): KnownSurfaceName[];
|
|
21
|
+
/** Surfaces filtered by status (`working`, `auth-required`, …). */
|
|
22
|
+
listByStatus(status: SurfaceStatus): KnownSurfaceName[];
|
|
23
|
+
/** Metadata for one surface. */
|
|
24
|
+
get(name: KnownSurfaceName): SurfaceInfo;
|
|
25
|
+
/** Full catalog object (read-only snapshot). */
|
|
26
|
+
catalog(): typeof KNOWN_SURFACES;
|
|
27
|
+
/** Names marked working (anonymous or with documented path). */
|
|
28
|
+
working(): KnownSurfaceName[];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=product-namespaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-namespaces.d.ts","sourceRoot":"","sources":["../../src/client/product-namespaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAoC,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,cAAc,EAGd,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,oEAAoE;AACpE,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;gBAEvB,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;IAOjD,2EAA2E;IAC3E,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxD,8DAA8D;IACxD,SAAS,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;CAG9D;AAED,oFAAoF;AACpF,qBAAa,iBAAiB;IAC5B,yBAAyB;IACzB,IAAI,IAAI,gBAAgB,EAAE;IAI1B,mEAAmE;IACnE,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,EAAE;IAIvD,gCAAgC;IAChC,GAAG,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW;IAIxC,gDAAgD;IAChD,OAAO,IAAI,OAAO,cAAc;IAIhC,gEAAgE;IAChE,OAAO,IAAI,gBAAgB,EAAE;CAG9B"}
|