UNPKG

@lineai/municipal-intel

Version:

AI-first municipal data API providing natural language descriptions of building permits and planning applications from major US cities

67 lines 7.22 kB
"use strict"; /** * Types for municipal data source configuration */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MunicipalSourceSchema = exports.ScrapingSourceSchema = exports.PortalSourceSchema = exports.ApiSourceSchema = exports.SocrataDatasetSchema = exports.RateLimitSchema = exports.ApiAuthSchema = void 0; const zod_1 = require("zod"); /** * Zod schemas for validation */ exports.ApiAuthSchema = zod_1.z.object({ required: zod_1.z.boolean(), recommended: zod_1.z.boolean().optional(), type: zod_1.z.enum(['app_token', 'api_key', 'oauth']).optional(), header: zod_1.z.string().optional() }); exports.RateLimitSchema = zod_1.z.object({ limit: zod_1.z.union([zod_1.z.number(), zod_1.z.literal('unknown'), zod_1.z.literal('shared')]).optional(), period: zod_1.z.enum(['second', 'minute', 'hour', 'day']).optional(), withToken: zod_1.z.number().optional(), withoutToken: zod_1.z.union([zod_1.z.number(), zod_1.z.literal('shared')]).optional() }); exports.SocrataDatasetSchema = zod_1.z.object({ endpoint: zod_1.z.string(), name: zod_1.z.string(), fields: zod_1.z.array(zod_1.z.string()), fieldMappings: zod_1.z.record(zod_1.z.string()).optional(), getFullAddress: zod_1.z.function().returns(zod_1.z.string()), getDescription: zod_1.z.function().returns(zod_1.z.string()) }); exports.ApiSourceSchema = zod_1.z.object({ type: zod_1.z.enum(['socrata', 'arcgis', 'custom']), baseUrl: zod_1.z.string().url(), datasets: zod_1.z.record(exports.SocrataDatasetSchema).optional(), endpoints: zod_1.z.record(zod_1.z.string()).optional(), authentication: exports.ApiAuthSchema.optional(), rateLimit: exports.RateLimitSchema.optional() }); exports.PortalSourceSchema = zod_1.z.object({ url: zod_1.z.string().url(), system: zod_1.z.enum(['accela', 'custom', 'eBUILD', 'ePermits', 'MyJax']), loginRequired: zod_1.z.boolean().optional() }); exports.ScrapingSourceSchema = zod_1.z.object({ url: zod_1.z.string().url(), format: zod_1.z.enum(['html', 'pdf']).optional(), selectors: zod_1.z.record(zod_1.z.string()).optional(), hasPdfs: zod_1.z.boolean().optional(), requiresJS: zod_1.z.boolean().optional() }); exports.MunicipalSourceSchema = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), state: zod_1.z.string().length(2), type: zod_1.z.enum(['api', 'portal', 'scraping']), api: exports.ApiSourceSchema.optional(), portal: exports.PortalSourceSchema.optional(), scraping: exports.ScrapingSourceSchema.optional(), urls: zod_1.z.record(zod_1.z.string()).optional(), coverage: zod_1.z.array(zod_1.z.string()).optional(), updateFrequency: zod_1.z.string().optional(), priority: zod_1.z.enum(['high', 'medium', 'low']), enabled: zod_1.z.boolean().optional(), lastChecked: zod_1.z.string().optional(), lastError: zod_1.z.string().optional() }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy9zb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsNkJBQXdCO0FBa0t4Qjs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDcEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7SUFDckIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzlCLENBQUMsQ0FBQztBQUVVLFFBQUEsZUFBZSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbEYsTUFBTSxFQUFFLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM5RCxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxZQUFZLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxR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RUFBRSw0QkFBb0IsQ0FBQyxRQUFRLEVBQUU7SUFFekMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3JDLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxlQUFlLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxRQUFRLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFM0MsT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDakMsQ0FBQyxDQUFDIn0=