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
@@ -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":"AAAA;;;;;;;;GAQG;AA0BH,SAAS,YAAY,CAAC,IAA4C;IAChE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,eAA0D,EAC1D,IAAkE;IAElE,IAAI,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,4EAA4E,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,eAAe,CAAC,IAAiB,EAAE,UAAkC,EAAE;IACrF,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEpC,MAAM,QAAQ,GASV;QACF,WAAW,EACT,gGAAgG;QAClG,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBACjF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;gBAChD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SAC1C;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,QAAQ,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,MAAM,OAAO,GAGT;QACF,WAAW,EAAE,qFAAqF;QAClG,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,MAAM,OAAO,GAGT;QACF,WAAW,EACT,mFAAmF;QACrF,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;aAC9D;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,OAAO,CACjB;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,EACD,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE,CAChC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,MAAM,KAAK,GAUP;QACF,WAAW,EAAE,+DAA+D;QAC5E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;gBAC9E,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;SACnD;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,KAAK,CAAC;gBAChB,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC9C,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE;gBACxC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,MAAM,QAAQ,GAGV;QACF,WAAW,EAAE,qFAAqF;QAClG,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACvC;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,QAAQ,CAClB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACtC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CACjE,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,MAAM,KAAK,GAAwF;QACjG,WAAW,EAAE,gEAAgE;QAC7E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,KAAK,CACf,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACtC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAChC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,MAAM,QAAQ,GAUV;QACF,WAAW,EAAE,8EAA8E;QAC3F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;gBAC7D,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACrC;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SAC1C;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC;gBACnB,QAAQ,EAAE;oBACR,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;iBAC/C;gBACD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;gBAC9B,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;aAC5C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,OAAO;QACP,OAAO;QACP,KAAK;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;KACA,CAAC;AACb,CAAC"}
@@ -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"}