/** * Servicialo v0.8 — Provider Profile & Discoverable Attributes * TypeScript types and Zod schemas for the MCP server. */ import { z } from 'zod'; export declare const AttributeCategory: z.ZodEnum<["identity", "capability", "availability", "geography", "economic", "trust"]>; export declare const AttributeOrigin: z.ZodEnum<["declared", "verified", "inferred"]>; export declare const AttributeVisibility: z.ZodEnum<["public", "unlisted", "private"]>; export declare const ProviderAttributeSchema: z.ZodObject<{ attribute_id: z.ZodString; provider_id: z.ZodString; category: z.ZodEnum<["identity", "capability", "availability", "geography", "economic", "trust"]>; key: z.ZodString; value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray, z.ZodRecord]>; origin: z.ZodEnum<["declared", "verified", "inferred"]>; confidence: z.ZodOptional; evidence_count: z.ZodOptional; verified_by: z.ZodOptional; verified_at: z.ZodOptional; visibility: z.ZodEnum<["public", "unlisted", "private"]>; valid_from: z.ZodOptional; valid_until: z.ZodOptional; version: z.ZodNumber; updated_at: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; value: string | number | boolean | string[] | Record; provider_id: string; version: number; attribute_id: string; category: "trust" | "identity" | "capability" | "availability" | "geography" | "economic"; origin: "verified" | "declared" | "inferred"; visibility: "public" | "unlisted" | "private"; updated_at: string; confidence?: number | undefined; evidence_count?: number | undefined; verified_by?: string | undefined; verified_at?: string | undefined; valid_from?: string | undefined; valid_until?: string | undefined; }, { key: string; value: string | number | boolean | string[] | Record; provider_id: string; version: number; attribute_id: string; category: "trust" | "identity" | "capability" | "availability" | "geography" | "economic"; origin: "verified" | "declared" | "inferred"; visibility: "public" | "unlisted" | "private"; updated_at: string; confidence?: number | undefined; evidence_count?: number | undefined; verified_by?: string | undefined; verified_at?: string | undefined; valid_from?: string | undefined; valid_until?: string | undefined; }>; export type ProviderAttribute = z.infer; export declare const ProviderProfileSchema: z.ZodObject<{ profile_id: z.ZodString; provider_id: z.ZodString; organization_id: z.ZodString; display_name: z.ZodString; slug: z.ZodString; attributes: z.ZodArray; key: z.ZodString; value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray, z.ZodRecord]>; origin: z.ZodEnum<["declared", "verified", "inferred"]>; confidence: z.ZodOptional; evidence_count: z.ZodOptional; verified_by: z.ZodOptional; verified_at: z.ZodOptional; visibility: z.ZodEnum<["public", "unlisted", "private"]>; valid_from: z.ZodOptional; valid_until: z.ZodOptional; version: z.ZodNumber; updated_at: z.ZodString; }, "strip", z.ZodTypeAny, { key: string; value: string | number | boolean | string[] | Record; provider_id: string; version: number; attribute_id: string; category: "trust" | "identity" | "capability" | "availability" | "geography" | "economic"; origin: "verified" | "declared" | "inferred"; visibility: "public" | "unlisted" | "private"; updated_at: string; confidence?: number | undefined; evidence_count?: number | undefined; verified_by?: string | undefined; verified_at?: string | undefined; valid_from?: string | undefined; valid_until?: string | undefined; }, { key: string; value: string | number | boolean | string[] | Record; provider_id: string; version: number; attribute_id: string; category: "trust" | "identity" | "capability" | "availability" | "geography" | "economic"; origin: "verified" | "declared" | "inferred"; visibility: "public" | "unlisted" | "private"; updated_at: string; confidence?: number | undefined; evidence_count?: number | undefined; verified_by?: string | undefined; verified_at?: string | undefined; valid_from?: string | undefined; valid_until?: string | undefined; }>, "many">; created_at: z.ZodString; updated_at: z.ZodString; version: z.ZodNumber; }, "strip", z.ZodTypeAny, { provider_id: string; organization_id: string; slug: string; version: number; updated_at: string; profile_id: string; display_name: string; attributes: { key: string; value: string | number | boolean | string[] | Record; provider_id: string; version: number; attribute_id: string; category: "trust" | "identity" | "capability" | "availability" | "geography" | "economic"; origin: "verified" | "declared" | "inferred"; visibility: "public" | "unlisted" | "private"; updated_at: string; confidence?: number | undefined; evidence_count?: number | undefined; verified_by?: string | undefined; verified_at?: string | undefined; valid_from?: string | undefined; valid_until?: string | undefined; }[]; created_at: string; }, { provider_id: string; organization_id: string; slug: string; version: number; updated_at: string; profile_id: string; display_name: string; attributes: { key: string; value: string | number | boolean | string[] | Record; provider_id: string; version: number; attribute_id: string; category: "trust" | "identity" | "capability" | "availability" | "geography" | "economic"; origin: "verified" | "declared" | "inferred"; visibility: "public" | "unlisted" | "private"; updated_at: string; confidence?: number | undefined; evidence_count?: number | undefined; verified_by?: string | undefined; verified_at?: string | undefined; valid_from?: string | undefined; valid_until?: string | undefined; }[]; created_at: string; }>; export type ProviderProfile = z.infer; export declare const MatchQuerySchema: z.ZodObject<{ conditions: z.ZodArray; population: z.ZodOptional; modality: z.ZodOptional>; geography: z.ZodOptional; district: z.ZodOptional; lat: z.ZodOptional; lng: z.ZodOptional; max_distance_km: z.ZodOptional; }, "strip", z.ZodTypeAny, { lat?: number | undefined; lng?: number | undefined; city?: string | undefined; district?: string | undefined; max_distance_km?: number | undefined; }, { lat?: number | undefined; lng?: number | undefined; city?: string | undefined; district?: string | undefined; max_distance_km?: number | undefined; }>>; insurance: z.ZodOptional; max_wait_days: z.ZodOptional; language: z.ZodOptional; }, "strip", z.ZodTypeAny, { conditions: string[]; insurance?: string | undefined; geography?: { lat?: number | undefined; lng?: number | undefined; city?: string | undefined; district?: string | undefined; max_distance_km?: number | undefined; } | undefined; population?: string | undefined; modality?: "in_person" | "virtual" | "home_visit" | undefined; max_wait_days?: number | undefined; language?: string | undefined; }, { conditions: string[]; insurance?: string | undefined; geography?: { lat?: number | undefined; lng?: number | undefined; city?: string | undefined; district?: string | undefined; max_distance_km?: number | undefined; } | undefined; population?: string | undefined; modality?: "in_person" | "virtual" | "home_visit" | undefined; max_wait_days?: number | undefined; language?: string | undefined; }>; export type MatchQuery = z.infer; export declare const PatientContextSchema: z.ZodOptional; sex: z.ZodOptional>; weeks_postpartum: z.ZodOptional; conditions: z.ZodOptional>; referral_source: z.ZodOptional; }, "strip", z.ZodTypeAny, { conditions?: string[] | undefined; age?: number | undefined; sex?: "other" | "male" | "female" | undefined; weeks_postpartum?: number | undefined; referral_source?: string | undefined; }, { conditions?: string[] | undefined; age?: number | undefined; sex?: "other" | "male" | "female" | undefined; weeks_postpartum?: number | undefined; referral_source?: string | undefined; }>>; export type PatientContext = z.infer; export declare const MatchBreakdownSchema: z.ZodObject<{ conditions: z.ZodOptional; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }>>; population: z.ZodOptional; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }>>; geography: z.ZodOptional; distance_km: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; }>>; availability: z.ZodOptional; next_available: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; }>>; insurance: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; }, { origin: "verified" | "declared" | "inferred"; score: number; }>>; trust: z.ZodOptional; services_completed: z.ZodOptional; }, "strip", z.ZodTypeAny, { score: number; rating?: number | undefined; services_completed?: number | undefined; }, { score: number; rating?: number | undefined; services_completed?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }, { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }>; export type MatchBreakdown = z.infer; export declare const MatchResultSchema: z.ZodObject<{ provider_id: z.ZodString; display_name: z.ZodString; organization_id: z.ZodString; compatibility_score: z.ZodNumber; match_breakdown: z.ZodObject<{ conditions: z.ZodOptional; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }>>; population: z.ZodOptional; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }>>; geography: z.ZodOptional; distance_km: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; }>>; availability: z.ZodOptional; next_available: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; }>>; insurance: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; }, { origin: "verified" | "declared" | "inferred"; score: number; }>>; trust: z.ZodOptional; services_completed: z.ZodOptional; }, "strip", z.ZodTypeAny, { score: number; rating?: number | undefined; services_completed?: number | undefined; }, { score: number; rating?: number | undefined; services_completed?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }, { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }>; profile_url: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider_id: string; organization_id: string; display_name: string; compatibility_score: number; match_breakdown: { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }; profile_url?: string | undefined; }, { provider_id: string; organization_id: string; display_name: string; compatibility_score: number; match_breakdown: { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }; profile_url?: string | undefined; }>; export type MatchResult = z.infer; export declare const MatchResponseSchema: z.ZodObject<{ results: z.ZodArray; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }>>; population: z.ZodOptional; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; }>>; geography: z.ZodOptional; distance_km: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; }>>; availability: z.ZodOptional; next_available: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; }, { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; }>>; insurance: z.ZodOptional; }, "strip", z.ZodTypeAny, { origin: "verified" | "declared" | "inferred"; score: number; }, { origin: "verified" | "declared" | "inferred"; score: number; }>>; trust: z.ZodOptional; services_completed: z.ZodOptional; }, "strip", z.ZodTypeAny, { score: number; rating?: number | undefined; services_completed?: number | undefined; }, { score: number; rating?: number | undefined; services_completed?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }, { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }>; profile_url: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider_id: string; organization_id: string; display_name: string; compatibility_score: number; match_breakdown: { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }; profile_url?: string | undefined; }, { provider_id: string; organization_id: string; display_name: string; compatibility_score: number; match_breakdown: { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }; profile_url?: string | undefined; }>, "many">; query_metadata: z.ZodObject<{ total_matches: z.ZodNumber; returned: z.ZodNumber; staleness_warnings: z.ZodArray; }, "strip", z.ZodTypeAny, { total_matches: number; returned: number; staleness_warnings: string[]; }, { total_matches: number; returned: number; staleness_warnings: string[]; }>; }, "strip", z.ZodTypeAny, { results: { provider_id: string; organization_id: string; display_name: string; compatibility_score: number; match_breakdown: { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }; profile_url?: string | undefined; }[]; query_metadata: { total_matches: number; returned: number; staleness_warnings: string[]; }; }, { results: { provider_id: string; organization_id: string; display_name: string; compatibility_score: number; match_breakdown: { insurance?: { origin: "verified" | "declared" | "inferred"; score: number; } | undefined; trust?: { score: number; rating?: number | undefined; services_completed?: number | undefined; } | undefined; availability?: { origin: "verified" | "declared" | "inferred"; score: number; next_available?: string | undefined; } | undefined; geography?: { origin: "verified" | "declared" | "inferred"; score: number; distance_km?: number | undefined; } | undefined; conditions?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; population?: { origin: "verified" | "declared" | "inferred"; score: number; confidence?: number | undefined; } | undefined; }; profile_url?: string | undefined; }[]; query_metadata: { total_matches: number; returned: number; staleness_warnings: string[]; }; }>; export type MatchResponse = z.infer; export interface ProviderProfileJsonLd { '@context': Record; '@type': string[]; '@id': string; name: string; description?: string; medicalSpecialty?: { '@type': 'MedicalSpecialty'; name: string; }; availableService?: Array<{ '@type': string; name: string; procedureType?: string; }>; areaServed?: { '@type': 'City'; name: string; containedInPlace?: { '@type': 'AdministrativeArea'; name: string; }; }; address?: { '@type': 'PostalAddress'; addressLocality?: string; addressRegion?: string; addressCountry?: string; }; geo?: { '@type': 'GeoCoordinates'; latitude: number; longitude: number; }; priceRange?: string; aggregateRating?: { '@type': 'AggregateRating'; ratingValue: number; reviewCount: number; bestRating: number; }; 'servicialo:trustMetrics'?: Record; 'servicialo:capabilities'?: { conditionsTreated?: string[]; populationsServed?: string[]; techniques?: string[]; }; } /** Protocol-defined attribute keys per category */ export declare const ATTRIBUTE_KEYS: { readonly identity: readonly ["profession", "primary_specialty", "subspecialties", "title", "training_institution", "license_number", "license_jurisdiction", "years_experience", "languages", "bio", "photo_url"]; readonly capability: readonly ["conditions_treated", "techniques", "populations_served", "age_range", "contraindications", "typical_session_count", "outcome_metrics"]; readonly availability: readonly ["modalities", "typical_hours", "avg_wait_days", "next_available", "accepts_new_patients", "max_daily_sessions"]; readonly geography: readonly ["country", "region", "city", "district", "address", "coordinates", "service_radius_km", "remote_policy"]; readonly economic: readonly ["price_range", "insurance_accepted", "payment_methods", "cancellation_policy", "cancellation_window_hours", "offers_packages"]; readonly trust: readonly ["rating_avg", "rating_count", "cancellation_rate", "no_show_rate", "response_time_hours", "platform_tenure_months", "services_completed", "repeat_client_rate"]; }; export type AttributeCategoryKey = keyof typeof ATTRIBUTE_KEYS; export type AttributeKey = (typeof ATTRIBUTE_KEYS)[C][number]; //# sourceMappingURL=provider-profile.d.ts.map