@lineai/municipal-intel
Version:
AI-first municipal data API providing natural language descriptions of building permits and planning applications from major US cities
90 lines (89 loc) • 2.38 kB
TypeScript
/**
* Municipal source registry management
*/
import { MunicipalSource } from './types/sources';
/**
* Source registry manager
*/
export declare class SourceRegistryManager {
private registry;
private runtimeSources;
constructor();
/**
* Get all sources (built-in + runtime)
*/
getAllSources(): MunicipalSource[];
/**
* Get sources by state
*/
getSourcesByState(state: 'ca' | 'ny' | 'fl'): MunicipalSource[];
/**
* Get source by ID
*/
getSource(id: string): MunicipalSource | undefined;
/**
* Get sources by priority
*/
getSourcesByPriority(priority: 'high' | 'medium' | 'low'): MunicipalSource[];
/**
* Get sources by type
*/
getSourcesByType(type: 'api' | 'portal' | 'scraping'): MunicipalSource[];
/**
* Get API sources (easiest to implement)
*/
getApiSources(): MunicipalSource[];
/**
* Get Socrata sources specifically
*/
getSocrataSources(): MunicipalSource[];
/**
* Get enabled sources only
*/
getEnabledSources(): MunicipalSource[];
/**
* Get sources for implementation (high priority, API-based)
*/
getImplementationReadySources(): MunicipalSource[];
/**
* Update source status
*/
updateSourceStatus(id: string, updates: Partial<Pick<MunicipalSource, 'enabled' | 'lastChecked' | 'lastError'>>): void;
/**
* Get registry metadata
*/
getRegistryInfo(): {
version: string;
lastUpdated: string;
totalSources: number;
};
/**
* Search sources by name or ID
*/
searchSources(query: string): MunicipalSource[];
/**
* Get sources that cover a specific city/area
*/
getSourcesForLocation(city: string, state?: string): MunicipalSource[];
/**
* Register a new source at runtime
*/
registerSource(source: MunicipalSource): void;
/**
* Unregister a runtime source
*/
unregisterSource(id: string): boolean;
/**
* Check if a source is built-in or runtime-added
*/
isBuiltInSource(id: string): boolean;
/**
* Get only built-in sources
*/
getBuiltInSources(): MunicipalSource[];
/**
* Get only runtime sources
*/
getRuntimeSources(): MunicipalSource[];
}
export declare const sourceRegistry: SourceRegistryManager;