Files
cannaiq/backend/src/discovery/index.ts
Kelly 2f483b3084 feat: SEO template library, discovery pipeline, and orchestrator enhancements
## SEO Template Library
- Add complete template library with 7 page types (state, city, category, brand, product, search, regeneration)
- Add Template Library tab in SEO Orchestrator with accordion-based editors
- Add template preview, validation, and variable injection engine
- Add API endpoints: /api/seo/templates, preview, validate, generate, regenerate

## Discovery Pipeline
- Add promotion.ts for discovery location validation and promotion
- Add discover-all-states.ts script for multi-state discovery
- Add promotion log migration (067)
- Enhance discovery routes and types

## Orchestrator & Admin
- Add crawl_enabled filter to stores page
- Add API permissions page
- Add job queue management
- Add price analytics routes
- Add markets and intelligence routes
- Enhance dashboard and worker monitoring

## Infrastructure
- Add migrations for worker definitions, SEO settings, field alignment
- Add canonical pipeline for scraper v2
- Update hydration and sync orchestrator
- Enhance multi-state query service

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 00:05:34 -07:00

49 lines
908 B
TypeScript

/**
* Dutchie Discovery Module
*
* Exports all discovery-related functionality for use in the main application.
*/
// Types
export * from './types';
// City Discovery
export {
discoverCities,
getCitiesToCrawl,
getCityBySlug,
seedKnownCities,
} from './city-discovery';
// Location Discovery
export {
discoverLocationsForCity,
fetchLocationsForCity,
upsertLocation,
} from './location-discovery';
// Discovery Crawler (Orchestrator)
export {
runFullDiscovery,
discoverCity,
discoverState,
getDiscoveryStats,
DiscoveryCrawlerOptions,
DiscoveryStats,
} from './discovery-crawler';
// Promotion
export {
validateForPromotion,
validateDiscoveredLocations,
promoteDiscoveredLocations,
promoteSingleLocation,
ValidationResult,
ValidationSummary,
PromotionResult,
PromotionSummary,
} from './promotion';
// Routes
export { createDiscoveryRoutes } from './routes';