@lineai/municipal-intel
Version:
AI-first municipal data API providing natural language descriptions of building permits and planning applications from major US cities
86 lines (85 loc) • 2.58 kB
TypeScript
/**
* @lineai/municipal-intel
*
* Access municipal planning applications, building permits, and construction
* activity data from major US cities.
*/
export * from './types';
export * from './clients';
export * from './registry';
import { ClientFactoryConfig } from './clients';
import { FieldSchema, KnownMunicipalityId, MunicipalityInfo, MunicipalProject, MunicipalSearchParams, MunicipalSearchResponse, MunicipalSource, SearchCapabilities } from './types';
/**
* Main municipal intelligence API
*/
export declare class MunicipalIntel {
private clientFactory;
private registry;
constructor(config?: ClientFactoryConfig);
/**
* Search municipal projects
*/
search(params: MunicipalSearchParams): Promise<MunicipalSearchResponse>;
/**
* Get a project by ID from a specific source
*/
getProject(sourceId: string, projectId: string): Promise<MunicipalProject | null>;
/**
* Get a project by its URL
*/
getByUrl(url: string): Promise<MunicipalProject | null>;
/**
* Extract source ID from municipal-intel URL
*/
private extractSourceFromUrl;
/**
* Get available municipalities with their datasets (AI Discovery API)
*/
getAvailableMunicipalities(): MunicipalityInfo[];
/**
* Get search capabilities for a municipality
*/
getSearchCapabilities(municipalityId: KnownMunicipalityId): SearchCapabilities;
/**
* Get field schema for a dataset
*/
getDatasetSchema(municipalityId: KnownMunicipalityId, datasetId?: string): FieldSchema[];
/**
* Get available sources
*/
getSources(filters?: {
state?: 'ca' | 'ny' | 'fl';
type?: 'api' | 'portal' | 'scraping';
priority?: 'high' | 'medium' | 'low';
enabled?: boolean;
}): MunicipalSource[];
/**
* Set universal Socrata authentication token
*/
setSocrataToken(token: string): void;
/**
* 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 registry information
*/
getRegistryInfo(): {
version: string;
lastUpdated: string;
totalSources: number;
};
}
/**
* Create a new MunicipalIntel instance
*/
export declare function createMunicipalIntel(config?: ClientFactoryConfig): MunicipalIntel;
export default MunicipalIntel;