@@ -92,6 +92,20 @@ function addPrefixedPdfOptions(cmd: Command): Command {
9292 . option ( '--pdf-sort <order>' , 'Sort for PDF: score, oldest, newest (overrides --export-sort)' )
9393}
9494
95+ /**
96+ * Add common options for classify and place-lookup commands.
97+ */
98+ function addClassifyOptions ( cmd : Command ) : Command {
99+ return cmd
100+ . option ( '-c, --home-country <name>' , 'Your home country (auto-detected from IP if not set)' )
101+ . option ( '--timezone <tz>' , 'Your timezone (auto-detected from system if not set)' )
102+ . option ( '--json [file]' , 'Output as JSON (to file if specified, otherwise stdout)' )
103+ . option ( '-n, --max-results <num>' , 'Max results to display' , '10' )
104+ . option ( '-m, --max-messages <num>' , 'Max messages to process (for testing)' )
105+ . option ( '-a, --all' , 'Show all activities (default: top 10)' )
106+ . option ( '--dry-run' , 'Show stats without API calls' )
107+ }
108+
95109/**
96110 * Add common pipeline options shared by analyze and export commands.
97111 */
@@ -106,7 +120,7 @@ function addPipelineOptions(cmd: Command): Command {
106120 'csv,excel,json,map,pdf'
107121 )
108122 . option ( '--min-confidence <num>' , 'Minimum confidence threshold' , '0.5' )
109- . option ( '--skip-geocoding ' , 'Skip geocoding step' )
123+ . option ( '--skip-place-lookup ' , 'Skip place lookup step' )
110124 . option ( '--images' , 'Fetch images for activities (slower, uses external APIs)' )
111125 . option (
112126 '--media-library-path <path>' ,
@@ -215,7 +229,7 @@ export function createProgram(): Command {
215229 const baseAnalyzeCmd = program
216230 . command ( 'analyze' )
217231 . description (
218- 'Run the complete pipeline (parse → filter → scrape-urls → classify → geocode → export)'
232+ 'Run the complete pipeline (parse → filter → scrape-urls → classify → place-lookup → export)'
219233 )
220234 . argument ( '<input>' , 'Chat export (.zip, directory, or .txt file)' )
221235
@@ -287,38 +301,28 @@ export function createProgram(): Command {
287301 . option ( '--dry-run' , 'Show URL count without scraping' )
288302
289303 // ============ CLASSIFY ============
290- program
291- . command ( 'classify' )
292- . description ( 'Classify candidates into activities using AI' )
293- . argument ( '<input>' , 'Chat export (.zip, directory, or .txt file)' )
294- . option ( '-c, --home-country <name>' , 'Your home country (auto-detected from IP if not set)' )
295- . option ( '--timezone <tz>' , 'Your timezone (auto-detected from system if not set)' )
296- . option ( '--json [file]' , 'Output as JSON (to file if specified, otherwise stdout)' )
297- . option ( '-n, --max-results <num>' , 'Max results to display' , '10' )
298- . option ( '-m, --max-messages <num>' , 'Max messages to process (for testing)' )
299- . option ( '-a, --all' , 'Show all activities (default: top 10)' )
300- . option ( '--dry-run' , 'Show stats without API calls' )
304+ addClassifyOptions (
305+ program
306+ . command ( 'classify' )
307+ . description ( 'Classify candidates into activities using AI' )
308+ . argument ( '<input>' , 'Chat export (.zip, directory, or .txt file)' )
309+ )
301310
302- // ============ GEOCODE ============
303- program
304- . command ( 'geocode' )
305- . description ( 'Geocode classified activities using Google Maps API' )
306- . argument ( '<input>' , 'Chat export (.zip, directory, or .txt file)' )
307- . option ( '-c, --home-country <name>' , 'Your home country (auto-detected from IP if not set)' )
308- . option ( '--timezone <tz>' , 'Your timezone (auto-detected from system if not set)' )
309- . option ( '--json [file]' , 'Output as JSON (to file if specified, otherwise stdout)' )
310- . option ( '-n, --max-results <num>' , 'Max results to display' , '10' )
311- . option ( '-m, --max-messages <num>' , 'Max messages to process (for testing)' )
312- . option ( '-a, --all' , 'Show all geocoded activities (default: top 10)' )
313- . option ( '--dry-run' , 'Show stats without API calls' )
311+ // ============ PLACE-LOOKUP ============
312+ addClassifyOptions (
313+ program
314+ . command ( 'place-lookup' )
315+ . description ( 'Look up places for classified activities using Google Maps API' )
316+ . argument ( '<input>' , 'Chat export (.zip, directory, or .txt file)' )
317+ )
314318
315319 // ============ FETCH-IMAGE-URLS ============
316320 program
317321 . command ( 'fetch-image-urls' )
318322 . description ( 'Fetch image URLs for geocoded activities' )
319323 . argument ( '<input>' , 'Chat export file or directory' )
320324 . option ( '--json [file]' , 'Output as JSON (to file if specified, otherwise stdout)' )
321- . option ( '--no-image-cdn ' , 'Skip CDN default images (fetch all from APIs) ' )
325+ . option ( '--no-media-library ' , 'Skip media library images' )
322326 . option ( '--skip-pixabay' , 'Skip Pixabay image search' )
323327 . option ( '--skip-wikipedia' , 'Skip Wikipedia image lookup' )
324328 . option ( '--skip-google-places' , 'Skip Google Places photos' )
0 commit comments