googlemaps-kit 0.3.0 → 0.4.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 +8 -3
- package/dist/cli/args.d.ts +20 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +73 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +25 -6
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/run.d.ts +79 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +161 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/tui/app.d.ts +43 -0
- package/dist/cli/tui/app.d.ts.map +1 -0
- package/dist/cli/tui/app.js +376 -0
- package/dist/cli/tui/app.js.map +1 -0
- package/dist/cli/tui/styles.d.ts +11 -0
- package/dist/cli/tui/styles.d.ts.map +1 -0
- package/dist/cli/tui/styles.js +14 -0
- package/dist/cli/tui/styles.js.map +1 -0
- package/dist/cli.d.ts +7 -7
- package/dist/cli.js +104 -197
- package/dist/cli.js.map +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -175,19 +175,24 @@ const tools = maps.tools(); // or createMapsTools(maps)
|
|
|
175
175
|
await tools.discover.execute({ query: 'coffee', nearLat: near.lat, nearLng: near.lng });
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
-
CLI (pretty tables on TTY, JSON when piped):
|
|
178
|
+
CLI (pretty tables on TTY, JSON when piped) + interactive TUI:
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
|
+
# Interactive (Bubble Tea TUI)
|
|
182
|
+
npx googlemaps-kit
|
|
183
|
+
npx googlemaps-kit tui
|
|
184
|
+
|
|
185
|
+
# Scripted
|
|
181
186
|
npx googlemaps-kit discover "cafes in indiranagar" --near 12.98,77.64 --limit 5
|
|
182
187
|
npx googlemaps-kit resolve --query "Cubbon Park Bangalore"
|
|
183
188
|
npx googlemaps-kit profile --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
184
189
|
npx googlemaps-kit route --from "Cubbon Park, Bangalore" --to "Indiranagar, Bangalore"
|
|
185
190
|
npx googlemaps-kit opinions --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
186
|
-
npx googlemaps-kit media --query "
|
|
191
|
+
npx googlemaps-kit media --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
187
192
|
npx googlemaps-kit pipeline "cafes" --near 12.98,77.64 --max 3
|
|
188
193
|
```
|
|
189
194
|
|
|
190
|
-
Use `--json` / `--format json|csv|geojson` for machine output. Export helpers: `toCsv(places)`, `toGeoJSON(places)`.
|
|
195
|
+
TUI is built with [Bubble Tea](https://github.com/charmbracelet/bubbletea) (TypeScript port). Use `--json` / `--format json|csv|geojson` for machine output. Export helpers: `toCsv(places)`, `toGeoJSON(places)`.
|
|
191
196
|
|
|
192
197
|
## Advanced (under the hood)
|
|
193
198
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared CLI argument helpers.
|
|
3
|
+
*/
|
|
4
|
+
export declare function flag(args: string[], name: string): string | undefined;
|
|
5
|
+
export declare function has(args: string[], name: string): boolean;
|
|
6
|
+
export declare const VALUE_FLAGS: Set<string>;
|
|
7
|
+
/** First non-flag token that is not a value for a preceding option. */
|
|
8
|
+
export declare function positional(args: string[]): string | undefined;
|
|
9
|
+
export declare function parseCoords(value: string | undefined): {
|
|
10
|
+
lat: number;
|
|
11
|
+
lng: number;
|
|
12
|
+
} | undefined;
|
|
13
|
+
/** Address string or lat,lng — for route endpoints. */
|
|
14
|
+
export declare function parseEndpoint(value: string | undefined): string | {
|
|
15
|
+
lat: number;
|
|
16
|
+
lng: number;
|
|
17
|
+
};
|
|
18
|
+
export type OutputFormat = 'table' | 'pretty' | 'json' | 'csv' | 'geojson';
|
|
19
|
+
export declare function resolveFormat(args: string[], kind: 'rows' | 'card', isTty: boolean): OutputFormat;
|
|
20
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIrE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,eAAO,MAAM,WAAW,aAgBtB,CAAC;AAEH,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAU7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAO/F;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAM9F;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAE3E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,KAAK,EAAE,OAAO,GACb,YAAY,CASd"}
|
package/dist/cli/args.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared CLI argument helpers.
|
|
3
|
+
*/
|
|
4
|
+
export function flag(args, name) {
|
|
5
|
+
const i = args.indexOf(name);
|
|
6
|
+
if (i < 0)
|
|
7
|
+
return undefined;
|
|
8
|
+
return args[i + 1];
|
|
9
|
+
}
|
|
10
|
+
export function has(args, name) {
|
|
11
|
+
return args.includes(name);
|
|
12
|
+
}
|
|
13
|
+
export const VALUE_FLAGS = new Set([
|
|
14
|
+
'--near',
|
|
15
|
+
'--from',
|
|
16
|
+
'--to',
|
|
17
|
+
'--mode',
|
|
18
|
+
'--limit',
|
|
19
|
+
'--format',
|
|
20
|
+
'--depth',
|
|
21
|
+
'--query',
|
|
22
|
+
'--url',
|
|
23
|
+
'--name',
|
|
24
|
+
'--pages',
|
|
25
|
+
'--max',
|
|
26
|
+
'--profile',
|
|
27
|
+
'--hl',
|
|
28
|
+
'--gl',
|
|
29
|
+
]);
|
|
30
|
+
/** First non-flag token that is not a value for a preceding option. */
|
|
31
|
+
export function positional(args) {
|
|
32
|
+
for (let i = 0; i < args.length; i++) {
|
|
33
|
+
const a = args[i];
|
|
34
|
+
if (a.startsWith('-')) {
|
|
35
|
+
if (VALUE_FLAGS.has(a))
|
|
36
|
+
i += 1;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
return a;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
export function parseCoords(value) {
|
|
44
|
+
if (!value)
|
|
45
|
+
return undefined;
|
|
46
|
+
const [a, b] = value.split(',').map((s) => Number(s.trim()));
|
|
47
|
+
if (a == null || b == null || Number.isNaN(a) || Number.isNaN(b)) {
|
|
48
|
+
throw new Error(`Invalid coordinates: ${value} (expected lat,lng)`);
|
|
49
|
+
}
|
|
50
|
+
return { lat: a, lng: b };
|
|
51
|
+
}
|
|
52
|
+
/** Address string or lat,lng — for route endpoints. */
|
|
53
|
+
export function parseEndpoint(value) {
|
|
54
|
+
if (!value)
|
|
55
|
+
throw new Error('Missing endpoint');
|
|
56
|
+
if (/^-?\d+(\.\d+)?\s*,\s*-?\d+(\.\d+)?$/.test(value.trim())) {
|
|
57
|
+
return parseCoords(value);
|
|
58
|
+
}
|
|
59
|
+
return value.trim();
|
|
60
|
+
}
|
|
61
|
+
export function resolveFormat(args, kind, isTty) {
|
|
62
|
+
if (has(args, '--json'))
|
|
63
|
+
return 'json';
|
|
64
|
+
const raw = flag(args, '--format');
|
|
65
|
+
if (!raw)
|
|
66
|
+
return isTty ? (kind === 'rows' ? 'table' : 'pretty') : 'json';
|
|
67
|
+
const allowed = ['table', 'pretty', 'json', 'csv', 'geojson'];
|
|
68
|
+
if (!allowed.includes(raw)) {
|
|
69
|
+
throw new Error(`Invalid --format ${raw} (expected ${allowed.join('|')})`);
|
|
70
|
+
}
|
|
71
|
+
return raw;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAgB,aAAa,EAAU,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/F,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAE3E,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,GAAG,MAAe,GAAG,YAAY,CAG1E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C;AA+BD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgClE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAU5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAkBhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBlF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAgB,aAAa,EAAU,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/F,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAE3E,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,GAAG,MAAe,GAAG,YAAY,CAG1E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C;AA+BD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgClE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAU5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAkBhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBlF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAiBjE;AAkCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgB7D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAchF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM/E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM7E;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAMN;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM/E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM1E"}
|
package/dist/cli/format.js
CHANGED
|
@@ -141,15 +141,31 @@ export function formatOpinionsTable(result) {
|
|
|
141
141
|
const agg = result.aggregateRating != null ? ` · ★ ${stars(result.aggregateRating)}` : '';
|
|
142
142
|
lines.push(`Reviews · ${total}${agg}`);
|
|
143
143
|
lines.push('─'.repeat(56));
|
|
144
|
-
for (const r of result.reviews
|
|
144
|
+
for (const r of result.reviews) {
|
|
145
145
|
lines.push(formatReviewLine(r));
|
|
146
146
|
lines.push('');
|
|
147
147
|
}
|
|
148
|
-
if (result.reviews.length > 8) {
|
|
149
|
-
lines.push(`… ${result.reviews.length - 8} more on this page`);
|
|
150
|
-
}
|
|
151
148
|
return lines.join('\n').trimEnd();
|
|
152
149
|
}
|
|
150
|
+
/** Word-wrap without truncating content. */
|
|
151
|
+
function wrapText(text, width, indent = ' ') {
|
|
152
|
+
const words = text.replace(/\s+/g, ' ').trim().split(' ');
|
|
153
|
+
const out = [];
|
|
154
|
+
let line = '';
|
|
155
|
+
for (const word of words) {
|
|
156
|
+
const next = line ? `${line} ${word}` : word;
|
|
157
|
+
if (next.length > width && line) {
|
|
158
|
+
out.push(indent + line);
|
|
159
|
+
line = word;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
line = next;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (line)
|
|
166
|
+
out.push(indent + line);
|
|
167
|
+
return out.join('\n');
|
|
168
|
+
}
|
|
153
169
|
function formatReviewLine(r) {
|
|
154
170
|
const head = [
|
|
155
171
|
r.rating != null ? `★ ${r.rating}` : '★ —',
|
|
@@ -158,8 +174,11 @@ function formatReviewLine(r) {
|
|
|
158
174
|
]
|
|
159
175
|
.filter(Boolean)
|
|
160
176
|
.join(' ');
|
|
161
|
-
|
|
162
|
-
|
|
177
|
+
// Prefer full body over Google's truncated preview.
|
|
178
|
+
const body = (r.text ?? r.textPreview ?? '').replace(/\s+/g, ' ').trim();
|
|
179
|
+
if (!body)
|
|
180
|
+
return head;
|
|
181
|
+
return `${head}\n${wrapText(body, 72)}`;
|
|
163
182
|
}
|
|
164
183
|
export function formatMediaPretty(result) {
|
|
165
184
|
const lines = [`${result.photoCount} photo${result.photoCount === 1 ? '' : 's'}`];
|
package/dist/cli/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent command runners — used by scripted CLI and TUI.
|
|
3
|
+
*/
|
|
4
|
+
import type { GMapsClient } from '../client/gmaps-client.js';
|
|
5
|
+
import type { PlaceRef } from '../types/dx.js';
|
|
6
|
+
import { type OutputFormat } from './args.js';
|
|
7
|
+
import { printJson } from './format.js';
|
|
8
|
+
export type ActionId = 'discover' | 'resolve' | 'profile' | 'route' | 'opinions' | 'media' | 'pipeline' | 'capabilities';
|
|
9
|
+
export interface ActionMeta {
|
|
10
|
+
id: ActionId;
|
|
11
|
+
title: string;
|
|
12
|
+
description: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const ACTIONS: ActionMeta[];
|
|
15
|
+
export declare function resolvePlaceRef(maps: GMapsClient, options: {
|
|
16
|
+
hexId?: string;
|
|
17
|
+
query?: string;
|
|
18
|
+
name?: string;
|
|
19
|
+
near?: string;
|
|
20
|
+
}): Promise<PlaceRef>;
|
|
21
|
+
export interface RunDiscoverInput {
|
|
22
|
+
query: string;
|
|
23
|
+
near: string;
|
|
24
|
+
mode?: 'fast' | 'full';
|
|
25
|
+
limit?: number;
|
|
26
|
+
format?: OutputFormat;
|
|
27
|
+
}
|
|
28
|
+
export declare function runDiscover(maps: GMapsClient, input: RunDiscoverInput): Promise<string>;
|
|
29
|
+
export declare function runResolve(maps: GMapsClient, input: {
|
|
30
|
+
query?: string;
|
|
31
|
+
url?: string;
|
|
32
|
+
near?: string;
|
|
33
|
+
format?: OutputFormat;
|
|
34
|
+
}): Promise<string>;
|
|
35
|
+
export declare function runProfile(maps: GMapsClient, input: {
|
|
36
|
+
query?: string;
|
|
37
|
+
hexId?: string;
|
|
38
|
+
name?: string;
|
|
39
|
+
near?: string;
|
|
40
|
+
depth?: 'card' | 'full' | 'complete';
|
|
41
|
+
format?: OutputFormat;
|
|
42
|
+
}): Promise<string>;
|
|
43
|
+
export declare function runRoute(maps: GMapsClient, input: {
|
|
44
|
+
from: string;
|
|
45
|
+
to: string;
|
|
46
|
+
mode?: 'driving' | 'walking' | 'bicycling' | 'transit';
|
|
47
|
+
format?: OutputFormat;
|
|
48
|
+
}): Promise<string>;
|
|
49
|
+
export declare function runOpinions(maps: GMapsClient, input: {
|
|
50
|
+
query?: string;
|
|
51
|
+
hexId?: string;
|
|
52
|
+
near?: string;
|
|
53
|
+
pages?: number;
|
|
54
|
+
limit?: number;
|
|
55
|
+
aggregates?: boolean;
|
|
56
|
+
format?: OutputFormat;
|
|
57
|
+
}): Promise<string>;
|
|
58
|
+
export declare function runMedia(maps: GMapsClient, input: {
|
|
59
|
+
query?: string;
|
|
60
|
+
hexId?: string;
|
|
61
|
+
near?: string;
|
|
62
|
+
limit?: number;
|
|
63
|
+
format?: OutputFormat;
|
|
64
|
+
}): Promise<string>;
|
|
65
|
+
export declare function runPipeline(maps: GMapsClient, input: {
|
|
66
|
+
query: string;
|
|
67
|
+
near: string;
|
|
68
|
+
max?: number;
|
|
69
|
+
profile?: 'card' | 'full' | 'complete' | false;
|
|
70
|
+
opinions?: boolean;
|
|
71
|
+
format?: OutputFormat;
|
|
72
|
+
}): Promise<string>;
|
|
73
|
+
export declare function runCapabilities(maps: GMapsClient, input?: {
|
|
74
|
+
format?: OutputFormat;
|
|
75
|
+
}): Promise<string>;
|
|
76
|
+
/** Print helper for scripted CLI stdout. */
|
|
77
|
+
export declare function emit(text: string, format: OutputFormat): void;
|
|
78
|
+
export { printJson };
|
|
79
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/run.js
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent command runners — used by scripted CLI and TUI.
|
|
3
|
+
*/
|
|
4
|
+
import { parseCoords, parseEndpoint } from './args.js';
|
|
5
|
+
import { formatDiscoverTable, formatMediaPretty, formatOpinionsTable, formatProfilePretty, formatResolvePretty, formatRoutePretty, printJson, } from './format.js';
|
|
6
|
+
import { toCsv, toGeoJSON } from '../utils/export-results.js';
|
|
7
|
+
export const ACTIONS = [
|
|
8
|
+
{ id: 'discover', title: 'Discover', description: 'Search places near a point' },
|
|
9
|
+
{ id: 'resolve', title: 'Resolve', description: 'Turn a query or URL into a place id' },
|
|
10
|
+
{ id: 'profile', title: 'Profile', description: 'Place card — hours, phone, rating' },
|
|
11
|
+
{ id: 'route', title: 'Route', description: 'Directions between two places' },
|
|
12
|
+
{ id: 'opinions', title: 'Opinions', description: 'Read reviews for a place' },
|
|
13
|
+
{ id: 'media', title: 'Media', description: 'Photo URLs for a place' },
|
|
14
|
+
{ id: 'pipeline', title: 'Pipeline', description: 'Discover → profile in one shot' },
|
|
15
|
+
{ id: 'capabilities', title: 'Capabilities', description: 'What this session can do' },
|
|
16
|
+
];
|
|
17
|
+
export async function resolvePlaceRef(maps, options) {
|
|
18
|
+
const { hexId, query, name } = options;
|
|
19
|
+
const near = parseCoords(options.near);
|
|
20
|
+
if (hexId && (hexId.includes('0x') || hexId.startsWith('ChIJ') || /^[0-9a-fx:]+$/i.test(hexId))) {
|
|
21
|
+
return { hexId, name };
|
|
22
|
+
}
|
|
23
|
+
const q = query ?? (hexId && hexId.includes(' ') ? hexId : undefined);
|
|
24
|
+
if (!q) {
|
|
25
|
+
throw new Error('Need a place: pass hexId or query (+ near)');
|
|
26
|
+
}
|
|
27
|
+
const resolved = await maps.resolve({ query: q, near });
|
|
28
|
+
if (!resolved.hexId) {
|
|
29
|
+
throw new Error(`Could not resolve a place id for: ${q}`);
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
hexId: resolved.hexId,
|
|
33
|
+
name: resolved.name ?? name,
|
|
34
|
+
lat: resolved.lat,
|
|
35
|
+
lng: resolved.lng,
|
|
36
|
+
placeId: resolved.placeId,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export async function runDiscover(maps, input) {
|
|
40
|
+
const near = parseCoords(input.near);
|
|
41
|
+
if (!near)
|
|
42
|
+
throw new Error('discover requires near lat,lng');
|
|
43
|
+
const result = await maps.discover({
|
|
44
|
+
query: input.query,
|
|
45
|
+
near,
|
|
46
|
+
mode: input.mode ?? 'fast',
|
|
47
|
+
limit: input.limit,
|
|
48
|
+
});
|
|
49
|
+
const format = input.format ?? 'table';
|
|
50
|
+
if (format === 'json')
|
|
51
|
+
return JSON.stringify(result, null, 2);
|
|
52
|
+
if (format === 'csv')
|
|
53
|
+
return toCsv(result.places);
|
|
54
|
+
if (format === 'geojson')
|
|
55
|
+
return JSON.stringify(toGeoJSON(result.places), null, 2);
|
|
56
|
+
return formatDiscoverTable(result);
|
|
57
|
+
}
|
|
58
|
+
export async function runResolve(maps, input) {
|
|
59
|
+
if (!input.query && !input.url)
|
|
60
|
+
throw new Error('resolve requires query or url');
|
|
61
|
+
const result = await maps.resolve({
|
|
62
|
+
query: input.query,
|
|
63
|
+
url: input.url,
|
|
64
|
+
near: parseCoords(input.near),
|
|
65
|
+
});
|
|
66
|
+
if (input.format === 'json')
|
|
67
|
+
return JSON.stringify(result, null, 2);
|
|
68
|
+
return formatResolvePretty(result);
|
|
69
|
+
}
|
|
70
|
+
export async function runProfile(maps, input) {
|
|
71
|
+
const ref = await resolvePlaceRef(maps, input);
|
|
72
|
+
const result = await maps.profile(ref, { depth: input.depth ?? 'card' });
|
|
73
|
+
if (input.format === 'json')
|
|
74
|
+
return JSON.stringify(result, null, 2);
|
|
75
|
+
return formatProfilePretty(result);
|
|
76
|
+
}
|
|
77
|
+
export async function runRoute(maps, input) {
|
|
78
|
+
const from = parseEndpoint(input.from);
|
|
79
|
+
const to = parseEndpoint(input.to);
|
|
80
|
+
const result = await maps.route({ from, to, mode: input.mode });
|
|
81
|
+
if (input.format === 'json')
|
|
82
|
+
return JSON.stringify(result, null, 2);
|
|
83
|
+
const label = typeof from === 'string' && typeof to === 'string' ? `${from} → ${to}` : undefined;
|
|
84
|
+
return formatRoutePretty(result, label);
|
|
85
|
+
}
|
|
86
|
+
export async function runOpinions(maps, input) {
|
|
87
|
+
const ref = await resolvePlaceRef(maps, input);
|
|
88
|
+
const result = await maps.opinions(ref, {
|
|
89
|
+
pages: input.pages ?? 1,
|
|
90
|
+
limit: input.limit ?? 5,
|
|
91
|
+
includeAggregates: input.aggregates === true,
|
|
92
|
+
});
|
|
93
|
+
if (input.format === 'json')
|
|
94
|
+
return JSON.stringify(result, null, 2);
|
|
95
|
+
return formatOpinionsTable(result);
|
|
96
|
+
}
|
|
97
|
+
export async function runMedia(maps, input) {
|
|
98
|
+
const ref = await resolvePlaceRef(maps, input);
|
|
99
|
+
const result = await maps.media(ref, { pageSize: input.limit ?? 8 });
|
|
100
|
+
if (input.format === 'json')
|
|
101
|
+
return JSON.stringify(result, null, 2);
|
|
102
|
+
return formatMediaPretty(result);
|
|
103
|
+
}
|
|
104
|
+
export async function runPipeline(maps, input) {
|
|
105
|
+
const near = parseCoords(input.near);
|
|
106
|
+
if (!near)
|
|
107
|
+
throw new Error('pipeline requires near lat,lng');
|
|
108
|
+
const profileDepth = input.profile === false ? false : { depth: input.profile ?? 'card' };
|
|
109
|
+
const result = await maps.pipeline({
|
|
110
|
+
discover: { query: input.query, near, mode: 'fast' },
|
|
111
|
+
maxPlaces: input.max ?? 3,
|
|
112
|
+
profile: profileDepth,
|
|
113
|
+
opinions: input.opinions ? { pages: 1, limit: 3 } : false,
|
|
114
|
+
});
|
|
115
|
+
if (input.format === 'json')
|
|
116
|
+
return JSON.stringify(result, null, 2);
|
|
117
|
+
const lines = [
|
|
118
|
+
`pipeline · ${result.places.length} places · ${Math.round(result.timingMs)}ms`,
|
|
119
|
+
'─'.repeat(56),
|
|
120
|
+
];
|
|
121
|
+
for (const row of result.places) {
|
|
122
|
+
const p = row.profile?.place ?? row.hit;
|
|
123
|
+
const rating = p.rating != null ? `★ ${p.rating.toFixed(1)}` : '★ —';
|
|
124
|
+
const reviews = p.reviewCount != null ? `(${p.reviewCount})` : '';
|
|
125
|
+
lines.push(`${p.name ?? '—'} ${rating} ${reviews}`.trim());
|
|
126
|
+
if (p.address)
|
|
127
|
+
lines.push(` ${p.address}`);
|
|
128
|
+
const snippet = row.opinions?.reviews?.[0]?.text ?? row.opinions?.reviews?.[0]?.textPreview;
|
|
129
|
+
if (snippet) {
|
|
130
|
+
const t = snippet.replace(/\s+/g, ' ').trim().slice(0, 70);
|
|
131
|
+
lines.push(` “${t}${t.length >= 70 ? '…' : ''}”`);
|
|
132
|
+
}
|
|
133
|
+
lines.push('');
|
|
134
|
+
}
|
|
135
|
+
return lines.join('\n').trimEnd();
|
|
136
|
+
}
|
|
137
|
+
export async function runCapabilities(maps, input = {}) {
|
|
138
|
+
const caps = await maps.capabilities();
|
|
139
|
+
if (input.format === 'json')
|
|
140
|
+
return JSON.stringify(caps, null, 2);
|
|
141
|
+
return [
|
|
142
|
+
`session ${caps.session}${caps.signedIn ? ' (signed in)' : ''}`,
|
|
143
|
+
`search yes`,
|
|
144
|
+
`details yes`,
|
|
145
|
+
`reviews boq${caps.reviewsRpc ? ' + rpc' : ''}`,
|
|
146
|
+
`photos yes`,
|
|
147
|
+
`directions yes`,
|
|
148
|
+
`askMaps ${caps.askMaps ? 'yes' : 'no (needs cookies)'}`,
|
|
149
|
+
].join('\n');
|
|
150
|
+
}
|
|
151
|
+
/** Print helper for scripted CLI stdout. */
|
|
152
|
+
export function emit(text, format) {
|
|
153
|
+
if (format === 'json') {
|
|
154
|
+
// already JSON string from runners
|
|
155
|
+
console.log(text);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
console.log(text);
|
|
159
|
+
}
|
|
160
|
+
export { printJson };
|
|
161
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive TUI — Bubble Tea (Elm Architecture).
|
|
3
|
+
* Uses @oakoliver/bubbletea — TypeScript port of charmbracelet/bubbletea.
|
|
4
|
+
*/
|
|
5
|
+
import { type Msg, type Cmd, type Model } from '@oakoliver/bubbletea';
|
|
6
|
+
import { TextInputModel, SpinnerModel, ViewportModel } from '@oakoliver/bubbles';
|
|
7
|
+
import { type GMapsClient } from '../../client/gmaps-client.js';
|
|
8
|
+
import { type ActionId } from '../run.js';
|
|
9
|
+
type Screen = 'menu' | 'form' | 'loading' | 'result' | 'error';
|
|
10
|
+
interface FieldDef {
|
|
11
|
+
key: string;
|
|
12
|
+
label: string;
|
|
13
|
+
placeholder: string;
|
|
14
|
+
defaultValue?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class MapsTui implements Model {
|
|
17
|
+
screen: Screen;
|
|
18
|
+
cursor: number;
|
|
19
|
+
action: ActionId | null;
|
|
20
|
+
fields: TextInputModel[];
|
|
21
|
+
fieldDefs: FieldDef[];
|
|
22
|
+
fieldIndex: number;
|
|
23
|
+
spinner: SpinnerModel;
|
|
24
|
+
viewport: ViewportModel;
|
|
25
|
+
status: string;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
private maps;
|
|
29
|
+
constructor(maps?: GMapsClient);
|
|
30
|
+
init(): Cmd;
|
|
31
|
+
update(msg: Msg): [Model, Cmd];
|
|
32
|
+
private updateMenu;
|
|
33
|
+
private openForm;
|
|
34
|
+
private focusCurrentField;
|
|
35
|
+
private updateForm;
|
|
36
|
+
private fieldValue;
|
|
37
|
+
private startRun;
|
|
38
|
+
private execute;
|
|
39
|
+
view(): string;
|
|
40
|
+
}
|
|
41
|
+
export declare function runTui(maps?: GMapsClient): Promise<void>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,KAAK,EAQX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EAEd,YAAY,EAIZ,aAAa,EAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAO,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAEL,KAAK,QAAQ,EASd,MAAM,WAAW,CAAC;AAGnB,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsDD,qBAAa,OAAQ,YAAW,KAAK;IACnC,MAAM,EAAE,MAAM,CAAU;IACxB,MAAM,SAAK;IACX,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC/B,MAAM,EAAE,cAAc,EAAE,CAAM;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,UAAU,SAAK;IACf,OAAO,EAAE,YAAY,CAAgC;IACrD,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,SAAM;IACZ,KAAK,SAAM;IACX,MAAM,SAAM;IACZ,OAAO,CAAC,IAAI,CAAc;gBAEd,IAAI,CAAC,EAAE,WAAW;IAK9B,IAAI,IAAI,GAAG;IAIX,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;IAqF9B,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,QAAQ;YAoBF,OAAO;IAuDrB,IAAI,IAAI,MAAM;CAgEf;AAED,wBAAsB,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D"}
|