UNPKG

ws-dottie

Version:

Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration

1 lines 378 kB
{"version":3,"sources":["../src/shared/factories/buildDescriptor.ts","../src/shared/factories/createFetchFunction.ts","../src/apis/wsdot-border-crossings/borderCrossingData/shared/borderCrossingData.endpoints.ts","../src/apis/wsdot-border-crossings/api.ts","../src/apis/wsdot-bridge-clearances/bridgeClearances/bridgeClearances.ts","../src/apis/wsdot-bridge-clearances/bridgeClearances/bridgeClearancesByRoute.ts","../src/apis/wsdot-bridge-clearances/bridgeClearances/shared/bridgeClearances.endpoints.ts","../src/apis/wsdot-bridge-clearances/api.ts","../src/apis/wsdot-commercial-vehicle-restrictions/cvRestrictionData/commercialVehicleRestrictions.ts","../src/apis/wsdot-commercial-vehicle-restrictions/cvRestrictionData/shared/cvRestrictionData.endpoints.ts","../src/apis/wsdot-commercial-vehicle-restrictions/cvRestrictionDataWithId/commercialVehicleRestrictionsWithId.ts","../src/apis/wsdot-commercial-vehicle-restrictions/cvRestrictionDataWithId/shared/cvRestrictionDataWithId.endpoints.ts","../src/apis/wsdot-commercial-vehicle-restrictions/api.ts","../src/apis/wsdot-highway-alerts/alertAreas/mapAreas.ts","../src/apis/wsdot-highway-alerts/alertAreas/shared/alertAreas.endpoints.ts","../src/apis/wsdot-highway-alerts/eventCategories/eventCategories.ts","../src/apis/wsdot-highway-alerts/eventCategories/shared/eventCategories.endpoints.ts","../src/apis/wsdot-highway-alerts/highwayAlerts/alertById.ts","../src/apis/wsdot-highway-alerts/highwayAlerts/alerts.ts","../src/apis/wsdot-highway-alerts/highwayAlerts/alertsByMapArea.ts","../src/apis/wsdot-highway-alerts/highwayAlerts/alertsByRegionId.ts","../src/apis/wsdot-highway-alerts/highwayAlerts/searchAlerts.ts","../src/apis/wsdot-highway-alerts/highwayAlerts/shared/highwayAlerts.endpoints.ts","../src/apis/wsdot-highway-alerts/api.ts","../src/apis/wsdot-highway-cameras/cameras/highwayCameraByCameraId.ts","../src/apis/wsdot-highway-cameras/cameras/highwayCameras.ts","../src/apis/wsdot-highway-cameras/cameras/searchHighwayCamerasByRouteAndMilepost.ts","../src/apis/wsdot-highway-cameras/cameras/shared/cameras.endpoints.ts","../src/apis/wsdot-highway-cameras/api.ts","../src/apis/wsdot-mountain-pass-conditions/passConditions/mountainPassConditionById.ts","../src/apis/wsdot-mountain-pass-conditions/passConditions/mountainPassConditions.ts","../src/apis/wsdot-mountain-pass-conditions/passConditions/shared/passConditions.endpoints.ts","../src/apis/wsdot-mountain-pass-conditions/api.ts","../src/apis/wsdot-toll-rates/tollRates/tollRates.ts","../src/apis/wsdot-toll-rates/tollRates/shared/tollRates.endpoints.ts","../src/apis/wsdot-toll-rates/tollTripInfo/tollTripInfo.ts","../src/apis/wsdot-toll-rates/tollTripInfo/shared/tollTripInfo.endpoints.ts","../src/apis/wsdot-toll-rates/tollTripRates/tollTripRates.ts","../src/apis/wsdot-toll-rates/tollTripRates/tripRatesByDate.ts","../src/apis/wsdot-toll-rates/tollTripRates/tripRatesByVersion.ts","../src/apis/wsdot-toll-rates/tollTripRates/shared/tollTripRates.endpoints.ts","../src/apis/wsdot-toll-rates/tollTripVersion/tollTripVersion.ts","../src/apis/wsdot-toll-rates/tollTripVersion/shared/tollTripVersion.endpoints.ts","../src/apis/wsdot-toll-rates/api.ts","../src/apis/wsdot-traffic-flow/flowData/trafficFlowById.ts","../src/apis/wsdot-traffic-flow/flowData/trafficFlows.ts","../src/apis/wsdot-traffic-flow/flowData/shared/flowData.endpoints.ts","../src/apis/wsdot-traffic-flow/api.ts","../src/apis/wsdot-travel-times/travelTimeRoutes/travelTimeById.ts","../src/apis/wsdot-travel-times/travelTimeRoutes/travelTimes.ts","../src/apis/wsdot-travel-times/travelTimeRoutes/shared/travelTimeRoutes.endpoints.ts","../src/apis/wsdot-travel-times/api.ts","../src/apis/wsdot-weather-information/weatherInfo/currentWeatherForStations.ts","../src/apis/wsdot-weather-information/weatherInfo/searchWeatherInformation.ts","../src/apis/wsdot-weather-information/weatherInfo/weatherInformationByStationId.ts","../src/apis/wsdot-weather-information/weatherInfo/weatherInformation.ts","../src/apis/wsdot-weather-information/weatherInfo/shared/weatherInfo.endpoints.ts","../src/apis/wsdot-weather-information/api.ts","../src/apis/wsdot-weather-readings/subSurfaceMeasurements/subSurfaceMeasurements.ts","../src/apis/wsdot-weather-readings/subSurfaceMeasurements/shared/subSurfaceMeasurements.endpoints.ts","../src/apis/wsdot-weather-readings/surfaceMeasurements/surfaceMeasurements.ts","../src/apis/wsdot-weather-readings/surfaceMeasurements/shared/surfaceMeasurements.endpoints.ts","../src/apis/wsdot-weather-readings/weatherReadings/weatherReadings.ts","../src/apis/wsdot-weather-readings/weatherReadings/shared/weatherReadings.endpoints.ts","../src/apis/wsdot-weather-readings/api.ts","../src/apis/wsdot-weather-stations/weatherStations/weatherStations.ts","../src/apis/wsdot-weather-stations/weatherStations/shared/weatherStations.endpoints.ts","../src/apis/wsdot-weather-stations/api.ts","../src/apis/wsf-fares/fareLineItems/fareLineItemsBasic.ts","../src/apis/wsf-fares/fareLineItems/fareLineItemsByTripDateAndTerminals.ts","../src/apis/wsf-fares/fareLineItems/fareLineItemsVerbose.ts","../src/apis/wsf-fares/fareLineItems/shared/fareLineItems.endpoints.ts","../src/apis/wsf-fares/fareTotals/fareTotalsByTripDateAndRoute.ts","../src/apis/wsf-fares/fareTotals/shared/fareTotals.endpoints.ts","../src/apis/wsf-fares/terminalCombo/terminalComboFares.ts","../src/apis/wsf-fares/terminalCombo/terminalComboFaresVerbose.ts","../src/apis/wsf-fares/terminalCombo/shared/terminalCombo.endpoints.ts","../src/apis/wsf-fares/terminals/terminalFares.ts","../src/apis/wsf-fares/terminals/terminalMatesFares.ts","../src/apis/wsf-fares/terminals/shared/terminals.endpoints.ts","../src/apis/wsf-fares/validDateRange/faresValidDateRange.ts","../src/apis/wsf-fares/validDateRange/shared/validDateRange.endpoints.ts","../src/apis/wsf-fares/api.ts","../src/apis/wsf-schedule/activeSeasons/activeSeasons.ts","../src/apis/wsf-schedule/activeSeasons/shared/activeSeasons.endpoints.ts","../src/apis/wsf-schedule/cacheFlushDate/shared/cacheFlushDate.endpoints.ts","../src/apis/wsf-schedule/routeDetails/routeDetailsByTripDateAndRouteId.ts","../src/apis/wsf-schedule/routeDetails/routeDetailsByTripDateAndTerminals.ts","../src/apis/wsf-schedule/routeDetails/routeDetailsByTripDate.ts","../src/apis/wsf-schedule/routeDetails/shared/routeDetails.endpoints.ts","../src/apis/wsf-schedule/routes/routesByTripDateAndTerminals.ts","../src/apis/wsf-schedule/routes/routesByTripDate.ts","../src/apis/wsf-schedule/routes/shared/routes.endpoints.ts","../src/apis/wsf-schedule/sailings/allSailingsBySchedRouteID.ts","../src/apis/wsf-schedule/sailings/sailingsByRouteID.ts","../src/apis/wsf-schedule/sailings/shared/sailings.endpoints.ts","../src/apis/wsf-schedule/scheduleAlerts/scheduleAlerts.ts","../src/apis/wsf-schedule/scheduleAlerts/shared/scheduleAlerts.endpoints.ts","../src/apis/wsf-schedule/scheduledRoutes/scheduledRoutesById.ts","../src/apis/wsf-schedule/scheduledRoutes/scheduledRoutes.ts","../src/apis/wsf-schedule/scheduledRoutes/shared/scheduledRoutes.endpoints.ts","../src/apis/wsf-schedule/schedules/scheduleByTripDateAndDepartingTerminalIdAndTerminalIds.ts","../src/apis/wsf-schedule/schedules/scheduleByTripDateAndRouteId.ts","../src/apis/wsf-schedule/schedules/shared/schedules.endpoints.ts","../src/apis/wsf-schedule/scheduleToday/scheduleTodayByRoute.ts","../src/apis/wsf-schedule/scheduleToday/scheduleTodayByTerminals.ts","../src/apis/wsf-schedule/scheduleToday/shared/scheduleToday.endpoints.ts","../src/apis/wsf-schedule/serviceDisruptions/routesHavingServiceDisruptionsByTripDate.ts","../src/apis/wsf-schedule/serviceDisruptions/shared/serviceDisruptions.endpoints.ts","../src/apis/wsf-schedule/terminalMates/terminalMatesSchedule.ts","../src/apis/wsf-schedule/terminalMates/shared/terminalMates.endpoints.ts","../src/apis/wsf-schedule/terminals/terminalsAndMatesByRoute.ts","../src/apis/wsf-schedule/terminals/terminalsAndMates.ts","../src/apis/wsf-schedule/terminals/terminals.ts","../src/apis/wsf-schedule/terminals/shared/terminals.endpoints.ts","../src/apis/wsf-schedule/timeAdjustments/timeAdjustmentsByRoute.ts","../src/apis/wsf-schedule/timeAdjustments/timeAdjustmentsBySchedRoute.ts","../src/apis/wsf-schedule/timeAdjustments/timeAdjustments.ts","../src/apis/wsf-schedule/timeAdjustments/shared/timeAdjustments.endpoints.ts","../src/apis/wsf-schedule/validDateRange/scheduleValidDateRange.ts","../src/apis/wsf-schedule/validDateRange/shared/validDateRange.endpoints.ts","../src/apis/wsf-schedule/api.ts","../src/apis/wsf-terminals/cacheFlushDate/shared/cacheFlushDate.endpoints.ts","../src/apis/wsf-terminals/terminalBasics/terminalBasicsByTerminalId.ts","../src/apis/wsf-terminals/terminalBasics/terminalBasics.ts","../src/apis/wsf-terminals/terminalBasics/shared/terminalBasics.endpoints.ts","../src/apis/wsf-terminals/terminalBulletins/terminalBulletinsByTerminalId.ts","../src/apis/wsf-terminals/terminalBulletins/terminalBulletins.ts","../src/apis/wsf-terminals/terminalBulletins/shared/terminalBulletins.endpoints.ts","../src/apis/wsf-terminals/terminalLocations/terminalLocationsByTerminalId.ts","../src/apis/wsf-terminals/terminalLocations/terminalLocations.ts","../src/apis/wsf-terminals/terminalLocations/shared/terminalLocations.endpoints.ts","../src/apis/wsf-terminals/terminalSailingSpace/terminalSailingSpaceByTerminalId.ts","../src/apis/wsf-terminals/terminalSailingSpace/terminalSailingSpace.ts","../src/apis/wsf-terminals/terminalSailingSpace/shared/terminalSailingSpace.endpoints.ts","../src/apis/wsf-terminals/terminalTransports/terminalTransportsByTerminalId.ts","../src/apis/wsf-terminals/terminalTransports/terminalTransports.ts","../src/apis/wsf-terminals/terminalTransports/shared/terminalTransports.endpoints.ts","../src/apis/wsf-terminals/terminalVerbose/terminalVerboseByTerminalId.ts","../src/apis/wsf-terminals/terminalVerbose/terminalVerbose.ts","../src/apis/wsf-terminals/terminalVerbose/shared/terminalVerbose.endpoints.ts","../src/apis/wsf-terminals/terminalWaitTimes/terminalWaitTimesByTerminalId.ts","../src/apis/wsf-terminals/terminalWaitTimes/terminalWaitTimes.ts","../src/apis/wsf-terminals/terminalWaitTimes/shared/terminalWaitTimes.endpoints.ts","../src/apis/wsf-terminals/api.ts","../src/apis/wsf-vessels/cacheFlushDate/shared/cacheFlushDate.endpoints.ts","../src/apis/wsf-vessels/vesselAccommodations/vesselAccommodationsByVesselId.ts","../src/apis/wsf-vessels/vesselAccommodations/vesselAccommodations.ts","../src/apis/wsf-vessels/vesselAccommodations/shared/vesselAccommodations.endpoints.ts","../src/apis/wsf-vessels/vesselBasics/vesselBasicsByVesselId.ts","../src/apis/wsf-vessels/vesselBasics/vesselBasics.ts","../src/apis/wsf-vessels/vesselBasics/shared/vesselBasics.endpoints.ts","../src/apis/wsf-vessels/vesselHistories/vesselHistoriesByVesselNameAndDateRange.ts","../src/apis/wsf-vessels/vesselHistories/vesselHistories.ts","../src/apis/wsf-vessels/vesselHistories/shared/vesselHistories.endpoints.ts","../src/apis/wsf-vessels/vesselLocations/vesselLocationsByVesselId.ts","../src/apis/wsf-vessels/vesselLocations/vesselLocations.ts","../src/apis/wsf-vessels/vesselLocations/shared/vesselLocations.endpoints.ts","../src/apis/wsf-vessels/vesselStats/vesselStatsByVesselId.ts","../src/apis/wsf-vessels/vesselStats/vesselStats.ts","../src/apis/wsf-vessels/vesselStats/shared/vesselStats.endpoints.ts","../src/apis/wsf-vessels/vesselVerbose/vesselsVerboseById.ts","../src/apis/wsf-vessels/vesselVerbose/vesselsVerbose.ts","../src/apis/wsf-vessels/vesselVerbose/shared/vesselVerbose.endpoints.ts","../src/apis/wsf-vessels/api.ts","../src/apis/shared/apis.ts","../src/shared/cache/cacheFlushDate.ts","../src/shared/cache/index.ts","../src/shared/factories/strategies.ts","../src/shared/factories/createHook.ts","../src/shared/factories/index.ts","../src/apis/wsdot-border-crossings/borderCrossingData/borderCrossings.ts"],"names":["buildDescriptor","apiDefinition","group","endpoint","api","init_buildDescriptor","__esmMin","createFetchFunction","apiDefinitionOrGetter","cachedDescriptor","getDescriptor","params","fetchDottie","init_createFetchFunction","init_fetching","borderCrossingDataGroup","init_borderCrossingData_endpoints","init_borderCrossings","borderCrossingsMeta","api_exports","__export","wsdotBorderCrossingsApi","init_api","bridgeClearancesMeta","fetchBridgeClearances","useBridgeClearances","init_bridgeClearances","init_factories","init_bridgeClearances_endpoints","init_bridgeClearances_input","init_bridgeClearances_output","bridgeClearancesInputSchema","bridgeClearanceSchema","r","bridgeClearancesGroup","createHook","bridgeClearancesByRouteMeta","fetchBridgeClearancesByRoute","useBridgeClearancesByRoute","init_bridgeClearancesByRoute","bridgeClearancesByRouteInputSchema","wsdotBridgeClearancesApi","commercialVehicleRestrictionsMeta","fetchCommercialVehicleRestrictions","useCommercialVehicleRestrictions","init_commercialVehicleRestrictions","init_cvRestrictionData_endpoints","init_cvRestrictionData_input","init_cvRestrictionData_output","commercialVehicleRestrictionsInputSchema","cvRestrictionSchema","cvRestrictionDataGroup","commercialVehicleRestrictionsWithIdMeta","fetchCommercialVehicleRestrictionsWithId","useCommercialVehicleRestrictionsWithId","init_commercialVehicleRestrictionsWithId","init_cvRestrictionDataWithId_endpoints","init_cvRestrictionDataWithId_input","init_cvRestrictionDataWithId_output","commercialVehicleRestrictionsWithIdInputSchema","cvRestrictionWithIdSchema","cvRestrictionDataWithIdGroup","wsdotCommercialVehicleRestrictionsApi","mapAreasMeta","fetchMapAreas","useMapAreas","init_mapAreas","init_alertAreas_endpoints","init_alertAreas_input","init_alertAreas_output","mapAreasInputSchema","areaSchema","alertAreasGroup","eventCategoriesMeta","fetchEventCategories","useEventCategories","init_eventCategories","init_zod","init_eventCategories_endpoints","init_eventCategories_input","eventCategoriesInputSchema","z","eventCategoriesGroup","alertByIdMeta","fetchAlertById","useAlertById","init_alertById","init_highwayAlerts_endpoints","init_highwayAlerts_input","init_highwayAlerts_output","alertByIdInputSchema","alertSchema","highwayAlertsGroup","alertsMeta","fetchAlerts","useAlerts","init_alerts","alertsInputSchema","alertsByMapAreaMeta","fetchAlertsByMapArea","useAlertsByMapArea","init_alertsByMapArea","alertsByMapAreaInputSchema","alertsByRegionIdMeta","fetchAlertsByRegionId","useAlertsByRegionId","init_alertsByRegionId","alertsByRegionIDInputSchema","searchAlertsMeta","searchAlerts","useSearchAlerts","init_searchAlerts","init_utils","searchAlertsInputSchema","datesHelper","wsdotHighwayAlertsApi","highwayCameraByCameraIdMeta","fetchHighwayCameraByCameraId","useHighwayCameraByCameraId","init_highwayCameraByCameraId","init_cameras_endpoints","init_cameras_input","init_cameras_output","highwayCameraByCameraIdInputSchema","cameraSchema","camerasGroup","highwayCamerasMeta","fetchHighwayCameras","useHighwayCameras","init_highwayCameras","highwayCamerasInputSchema","searchHighwayCamerasByRouteAndMilepostMeta","searchHighwayCamerasByRouteAndMilepost","useSearchHighwayCamerasByRouteAndMilepost","init_searchHighwayCamerasByRouteAndMilepost","highwayCamerasByRouteAndMilepostInputSchema","wsdotHighwayCamerasApi","mountainPassConditionByIdMeta","fetchMountainPassConditionById","useMountainPassConditionById","init_mountainPassConditionById","init_passConditions_endpoints","init_passConditions_input","init_passConditions_output","mountainPassConditionByIdInputSchema","passConditionSchema","passConditionsGroup","mountainPassConditionsMeta","fetchMountainPassConditions","useMountainPassConditions","init_mountainPassConditions","mountainPassConditionsInputSchema","wsdotMountainPassConditionsApi","tollRatesMeta","fetchTollRates","useTollRates","init_tollRates","init_tollRates_endpoints","init_tollRates_input","init_tollRates_output","tollRatesInputSchema","tollRateSchema","tollRatesGroup","tollTripInfoMeta","fetchTollTripInfo","useTollTripInfo","init_tollTripInfo","init_tollTripInfo_endpoints","init_tollTripInfo_input","init_tollTripInfo_output","tollTripInfoInputSchema","tollTripInfoSchema","tollTripInfoGroup","tollTripRatesMeta","fetchTollTripRates","useTollTripRates","init_tollTripRates","init_tollTripRates_endpoints","init_tollTripRates_input","init_tollTripRates_output","tollTripRatesInputSchema","tollTripsRatesSchema","tollTripRatesGroup","tripRatesByDateMeta","fetchTripRatesByDate","useTripRatesByDate","init_tripRatesByDate","tripRatesByDateInputSchema","tripRatesByVersionMeta","fetchTripRatesByVersion","useTripRatesByVersion","init_tripRatesByVersion","tripRatesByVersionInputSchema","tollTripVersionMeta","fetchTollTripVersion","useTollTripVersion","init_tollTripVersion","init_tollTripVersion_endpoints","init_tollTripVersion_input","init_tollTripVersion_output","tollTripVersionInputSchema","tollTripVersionSchema","tollTripVersionGroup","wsdotTollRatesApi","trafficFlowByIdMeta","fetchTrafficFlowById","useTrafficFlowById","init_trafficFlowById","init_flowData_endpoints","init_flowData_input","init_flowData_output","trafficFlowByIdInputSchema","flowDataSchema","flowDataGroup","trafficFlowsMeta","fetchTrafficFlows","useTrafficFlows","init_trafficFlows","trafficFlowsInputSchema","wsdotTrafficFlowApi","travelTimeByIdMeta","fetchTravelTimeById","useTravelTimeById","init_travelTimeById","init_travelTimeRoutes_endpoints","init_travelTimeRoutes_input","init_travelTimeRoutes_output","travelTimeByIdInputSchema","travelTimeRouteSchema","travelTimeRoutesGroup","travelTimesMeta","fetchTravelTimes","useTravelTimes","init_travelTimes","travelTimesInputSchema","wsdotTravelTimesApi","currentWeatherForStationsMeta","fetchCurrentWeatherForStations","useCurrentWeatherForStations","init_currentWeatherForStations","init_weatherInfo_endpoints","init_weatherInfo_input","init_weatherInfo_output","currentWeatherForStationsInputSchema","weatherInfoSchema","weatherInfoGroup","searchWeatherInformationMeta","searchWeatherInformation","useSearchWeatherInformation","init_searchWeatherInformation","searchWeatherInformationInputSchema","weatherInformationByStationIdMeta","fetchWeatherInformationByStationId","useWeatherInformationByStationId","init_weatherInformationByStationId","weatherInformationByStationIdInputSchema","weatherInformationMeta","fetchWeatherInformation","useWeatherInformation","init_weatherInformation","weatherInformationInputSchema","wsdotWeatherInformationApi","subSurfaceMeasurementsMeta","fetchSubSurfaceMeasurements","useSubSurfaceMeasurements","init_subSurfaceMeasurements","init_subSurfaceMeasurements_endpoints","init_subSurfaceMeasurements_input","init_subSurfaceMeasurements_output","subSurfaceMeasurementsInputSchema","subsurfaceMeasurementSchema","subSurfaceMeasurementsGroup","surfaceMeasurementsMeta","fetchSurfaceMeasurements","useSurfaceMeasurements","init_surfaceMeasurements","init_surfaceMeasurements_endpoints","init_surfaceMeasurements_input","init_surfaceMeasurements_output","surfaceMeasurementsInputSchema","surfaceMeasurementSchema","surfaceMeasurementsGroup","weatherReadingsMeta","fetchWeatherReadings","useWeatherReadings","init_weatherReadings","init_weatherReadings_endpoints","init_weatherReadings_input","init_weatherReadings_output","weatherReadingsInputSchema","weatherReadingSchema","weatherReadingsGroup","wsdotWeatherReadingsApi","weatherStationsMeta","fetchWeatherStations","useWeatherStations","init_weatherStations","init_weatherStations_endpoints","init_weatherStations_input","init_weatherStations_output","weatherStationsInputSchema","weatherStationSchema","weatherStationsGroup","wsdotWeatherStationsApi","fareLineItemsBasicMeta","fetchFareLineItemsBasic","useFareLineItemsBasic","init_fareLineItemsBasic","init_fareLineItems_endpoints","init_fareLineItems_input","init_fareLineItems_output","fareLineItemsBasicInputSchema","lineItemSchema","fareLineItemsGroup","fareLineItemsByTripDateAndTerminalsMeta","fetchFareLineItemsByTripDateAndTerminals","useFareLineItemsByTripDateAndTerminals","init_fareLineItemsByTripDateAndTerminals","fareLineItemsByTripDateAndTerminalsInputSchema","fareLineItemsVerboseMeta","fetchFareLineItemsVerbose","useFareLineItemsVerbose","init_fareLineItemsVerbose","fareLineItemsVerboseInputSchema","lineItemVerboseSchema","fareTotalsByTripDateAndRouteMeta","fetchFareTotalsByTripDateAndRoute","useFareTotalsByTripDateAndRoute","init_fareTotalsByTripDateAndRoute","init_fareTotals_endpoints","init_fareTotals_input","init_fareTotals_output","fareTotalsByTripDateAndRouteInputSchema","fareTotalSchema","fareTotalsGroup","terminalComboFaresMeta","fetchTerminalComboFares","useTerminalComboFares","init_terminalComboFares","init_terminalCombo_endpoints","init_terminalCombo_input","init_terminalCombo_output","terminalComboInputSchema","terminalComboFaresSchema","terminalComboGroup","terminalComboFaresVerboseMeta","fetchTerminalComboFaresVerbose","useTerminalComboFaresVerbose","init_terminalComboFaresVerbose","terminalComboFaresVerboseInputSchema","terminalComboFaresVerboseSchema","terminalFaresMeta","fetchTerminalFares","useTerminalFares","init_terminalFares","init_terminals_input","init_terminals_output","init_terminals_endpoints","terminalsInputSchema","terminalListSchema","terminalsGroup","terminalMatesFaresMeta","fetchTerminalMatesFares","useTerminalMatesFares","init_terminalMatesFares","terminalMatesInputSchema","faresValidDateRangeMeta","fetchFaresValidDateRange","useFaresValidDateRange","init_faresValidDateRange","init_validDateRange_output","init_validDateRange_endpoints","init_validDateRange_input","faresValidDateRangeInputSchema","validDateRangeSchema","validDateRangeGroup","wsfFaresApi","init_cacheFlushDate_endpoints","cacheFlushDateFaresGroup","activeSeasonsMeta","fetchActiveSeasons","useActiveSeasons","init_activeSeasons","init_activeSeasons_endpoints","init_activeSeasons_input","init_activeSeasons_output","activeSeasonsInputSchema","scheduleBaseSchema","activeSeasonsGroup","cacheFlushDateScheduleMeta","cacheFlushDateScheduleGroup","init_cacheFlushDate","cacheFlushDateInputSchema","cacheFlushDateOutputSchema","routeDetailsByTripDateAndRouteIdMeta","fetchRouteDetailsByTripDateAndRouteId","useRouteDetailsByTripDateAndRouteId","init_routeDetailsByTripDateAndRouteId","init_routeDetails_endpoints","init_routeDetails_input","init_routeDetails_output","routeDetailsByTripDateAndRouteIdInputSchema","routeDetailSchema","routeDetailsGroup","routeDetailsByTripDateAndTerminalsMeta","fetchRouteDetailsByTripDateAndTerminals","useRouteDetailsByTripDateAndTerminals","init_routeDetailsByTripDateAndTerminals","routeDetailsByTripDateAndTerminalsInputSchema","routeDetailsByTripDateMeta","fetchRouteDetailsByTripDate","useRouteDetailsByTripDate","init_routeDetailsByTripDate","routeDetailsByTripDateInputSchema","routesByTripDateAndTerminalsMeta","fetchRoutesByTripDateAndTerminals","useRoutesByTripDateAndTerminals","init_routesByTripDateAndTerminals","init_routes_endpoints","init_routes_input","init_routes_output","routesByTripDateAndTerminalsInputSchema","routeSchema","routesGroup","routesByTripDateMeta","fetchRoutesByTripDate","useRoutesByTripDate","init_routesByTripDate","routesByTripDateInputSchema","allSailingsBySchedRouteIDMeta","fetchAllSailingsBySchedRouteID","useAllSailingsBySchedRouteID","init_allSailingsBySchedRouteID","init_sailings_endpoints","init_sailings_input","init_sailings_output","allSailingsBySchedRouteIDInputSchema","sailingSchema","sailingsGroup","sailingsByRouteIDMeta","fetchSailingsByRouteID","useSailingsByRouteID","init_sailingsByRouteID","sailingsByRouteIDInputSchema","scheduleAlertsMeta","fetchScheduleAlerts","useScheduleAlerts","init_scheduleAlerts","init_scheduleAlerts_endpoints","init_scheduleAlerts_input","init_scheduleAlerts_output","scheduleAlertsInputSchema","alertDetailSchema","scheduleAlertsGroup","scheduledRoutesByIdMeta","fetchScheduledRoutesById","useScheduledRoutesById","init_scheduledRoutesById","init_scheduledRoutes_endpoints","init_scheduledRoutes_input","init_scheduledRoutes_output","scheduledRoutesByIdInputSchema","schedRouteSchema","scheduledRoutesGroup","scheduledRoutesMeta","fetchScheduledRoutes","useScheduledRoutes","init_scheduledRoutes","scheduledRoutesInputSchema","scheduleByTripDateAndDepartingTerminalIdAndTerminalIdsMeta","fetchScheduleByTripDateAndDepartingTerminalIdAndTerminalIds","useScheduleByTripDateAndDepartingTerminalIdAndTerminalIds","init_scheduleByTripDateAndDepartingTerminalIdAndTerminalIds","init_schedules_endpoints","init_schedules_input","init_schedules_output","scheduleByTripDateAndTerminals","scheduleSchema","schedulesGroup","scheduleByTripDateAndRouteIdMeta","fetchScheduleByTripDateAndRouteId","useScheduleByTripDateAndRouteId","init_scheduleByTripDateAndRouteId","scheduleByTripDateAndRouteIdInputSchema","scheduleTodayByRouteMeta","fetchScheduleTodayByRoute","useScheduleTodayByRoute","init_scheduleTodayByRoute","init_scheduleToday_endpoints","init_scheduleToday_input","init_scheduleToday_output","scheduleTodayByRouteSchema","scheduleTodayGroup","scheduleTodayByTerminalsMeta","fetchScheduleTodayByTerminals","useScheduleTodayByTerminals","init_scheduleTodayByTerminals","scheduleTodayByTerminalsInputSchema","routesHavingServiceDisruptionsByTripDateMeta","fetchRoutesHavingServiceDisruptionsByTripDate","useRoutesHavingServiceDisruptionsByTripDate","init_routesHavingServiceDisruptionsByTripDate","init_serviceDisruptions_endpoints","init_serviceDisruptions_input","init_serviceDisruptions_output","routesHavingServiceDisruptionsByTripDateInputSchema","serviceDisruptionSchema","serviceDisruptionsGroup","terminalMatesScheduleMeta","fetchTerminalMatesSchedule","useTerminalMatesSchedule","init_terminalMatesSchedule","init_terminalMates_endpoints","scheduleTerminalMatesGroup","terminalsAndMatesByRouteMeta","fetchTerminalsAndMatesByRoute","useTerminalsAndMatesByRoute","init_terminalsAndMatesByRoute","terminalsAndMatesByRouteInputSchema","terminalMateSchema","scheduleTerminalsGroup","terminalsAndMatesMeta","fetchTerminalsAndMates","useTerminalsAndMates","init_terminalsAndMates","terminalsAndMatesInputSchema","terminalsMeta","fetchTerminals","useTerminals","init_terminals","terminalSchema","timeAdjustmentsByRouteMeta","fetchTimeAdjustmentsByRoute","useTimeAdjustmentsByRoute","init_timeAdjustmentsByRoute","init_timeAdjustments_endpoints","init_timeAdjustments_input","init_timeAdjustments_output","timeAdjustmentsByRouteInputSchema","timeAdjustmentSchema","timeAdjustmentsGroup","timeAdjustmentsBySchedRouteMeta","fetchTimeAdjustmentsBySchedRoute","useTimeAdjustmentsBySchedRoute","init_timeAdjustmentsBySchedRoute","timeAdjustmentsBySchedRouteInputSchema","timeAdjustmentsMeta","fetchTimeAdjustments","useTimeAdjustments","init_timeAdjustments","timeAdjustmentsInputSchema","scheduleValidDateRangeMeta","fetchScheduleValidDateRange","useScheduleValidDateRange","init_scheduleValidDateRange","scheduleValidDateRangeInputSchema","scheduleValidDateRangeGroup","wsfScheduleApi","cacheFlushDateTerminalsMeta","cacheFlushDateTerminalsGroup","init_cacheFlushDate_input","init_cacheFlushDate_output","terminalBasicsByTerminalIdMeta","fetchTerminalBasicsByTerminalId","useTerminalBasicsByTerminalId","init_terminalBasicsByTerminalId","init_terminalBasics_endpoints","init_terminalBasics_input","init_terminalBasics_output","terminalBasicsByIdInputSchema","terminalBasicSchema","terminalBasicsGroup","terminalBasicsMeta","fetchTerminalBasics","useTerminalBasics","init_terminalBasics","terminalBasicsInputSchema","terminalBulletinsByTerminalIdMeta","fetchTerminalBulletinsByTerminalId","useTerminalBulletinsByTerminalId","init_terminalBulletinsByTerminalId","init_terminalBulletins_endpoints","init_terminalBulletins_input","init_terminalBulletins_output","terminalBulletinsByIdInputSchema","terminalBulletinSchema","terminalBulletinsGroup","terminalBulletinsMeta","fetchTerminalBulletins","useTerminalBulletins","init_terminalBulletins","terminalBulletinsInputSchema","terminalLocationsByTerminalIdMeta","fetchTerminalLocationsByTerminalId","useTerminalLocationsByTerminalId","init_terminalLocationsByTerminalId","init_terminalLocations_endpoints","init_terminalLocations_input","init_terminalLocations_output","terminalLocationsByIdInputSchema","terminalLocationSchema","terminalLocationsGroup","terminalLocationsMeta","fetchTerminalLocations","useTerminalLocations","init_terminalLocations","terminalLocationsInputSchema","terminalSailingSpaceByTerminalIdMeta","fetchTerminalSailingSpaceByTerminalId","useTerminalSailingSpaceByTerminalId","init_terminalSailingSpaceByTerminalId","init_terminalSailingSpace_endpoints","init_terminalSailingSpace_input","init_terminalSailingSpace_output","terminalSailingSpaceByTerminalIdInputSchema","terminalSailingSpaceSchema","terminalSailingSpaceGroup","terminalSailingSpaceMeta","fetchTerminalSailingSpace","useTerminalSailingSpace","init_terminalSailingSpace","terminalSailingSpaceInputSchema","terminalTransportsByTerminalIdMeta","fetchTerminalTransportsByTerminalId","useTerminalTransportsByTerminalId","init_terminalTransportsByTerminalId","init_terminalTransports_endpoints","init_terminalTransports_input","init_terminalTransports_output","terminalTransportsByTerminalIdInputSchema","terminalTransportSchema","terminalTransportsGroup","terminalTransportsMeta","fetchTerminalTransports","useTerminalTransports","init_terminalTransports","terminalTransportsInputSchema","terminalVerboseByTerminalIdMeta","fetchTerminalVerboseByTerminalId","useTerminalVerboseByTerminalId","init_terminalVerboseByTerminalId","init_terminalVerbose_endpoints","init_terminalVerbose_input","init_terminalVerbose_output","terminalVerboseByTerminalIdInputSchema","terminalVerboseSchema","terminalVerboseGroup","terminalVerboseMeta","fetchTerminalVerbose","useTerminalVerbose","init_terminalVerbose","terminalVerboseInputSchema","terminalWaitTimesByTerminalIdMeta","fetchTerminalWaitTimesByTerminalId","useTerminalWaitTimesByTerminalId","init_terminalWaitTimesByTerminalId","init_terminalWaitTimes_endpoints","init_terminalWaitTimes_input","init_terminalWaitTimes_output","terminalWaitTimesByIdInputSchema","terminalWaitTimeSchema","terminalWaitTimesGroup","terminalWaitTimesMeta","fetchTerminalWaitTimes","useTerminalWaitTimes","init_terminalWaitTimes","terminalWaitTimesInputSchema","wsfTerminalsApi","cacheFlushDateVesselsMeta","cacheFlushDateVesselsGroup","vesselAccommodationsByVesselIdMeta","fetchVesselAccommodationsByVesselId","useVesselAccommodationsByVesselId","init_vesselAccommodationsByVesselId","init_vesselAccommodations_endpoints","init_vesselAccommodations_input","init_vesselAccommodations_output","vesselAccommodationsByIdInputSchema","vesselAccommodationSchema","vesselAccommodationsGroup","vesselAccommodationsMeta","fetchVesselAccommodations","useVesselAccommodations","init_vesselAccommodations","vesselAccommodationsInputSchema","vesselBasicsByVesselIdMeta","fetchVesselBasicsByVesselId","useVesselBasicsByVesselId","init_vesselBasicsByVesselId","init_vesselBasics_endpoints","init_vesselBasics_input","init_vesselBasics_output","vesselBasicsByIdInputSchema","vesselBasicSchema","vesselBasicsGroup","vesselBasicsMeta","fetchVesselBasics","useVesselBasics","init_vesselBasics","vesselBasicsInputSchema","vesselHistoriesByVesselNameAndDateRangeMeta","fetchVesselHistoriesByVesselNameAndDateRange","useVesselHistoriesByVesselNameAndDateRange","init_vesselHistoriesByVesselNameAndDateRange","init_vesselHistories_endpoints","init_vesselHistories_input","init_vesselHistories_output","vesselHistoriesByVesselNameAndDateRangeInputSchema","vesselHistorySchema","vesselHistoriesGroup","vesselHistoriesMeta","fetchVesselHistories","useVesselHistories","init_vesselHistories","vesselHistoriesInputSchema","vesselLocationsByVesselIdMeta","fetchVesselLocationsByVesselId","useVesselLocationsByVesselId","init_vesselLocationsByVesselId","init_vesselLocations_endpoints","init_vesselLocations_input","init_vesselLocations_output","vesselLocationsByIdInputSchema","vesselLocationSchema","vesselLocationsGroup","vesselLocationsMeta","fetchVesselLocations","useVesselLocations","init_vesselLocations","vesselLocationsInputSchema","vesselStatsByVesselIdMeta","fetchVesselStatsByVesselId","useVesselStatsByVesselId","init_vesselStatsByVesselId","init_vesselStats_endpoints","init_vesselStats_input","init_vesselStats_output","vesselStatsByIdInputSchema","vesselStatSchema","vesselStatsGroup","vesselStatsMeta","fetchVesselStats","useVesselStats","init_vesselStats","vesselStatsInputSchema","vesselsVerboseByVesselIdMeta","fetchVesselsVerboseByVesselId","useVesselsVerboseByVesselId","init_vesselsVerboseById","init_vesselVerbose_endpoints","init_vesselVerbose_input","init_vesselVerbose_output","vesselVerboseByIdInputSchema","vesselVerboseSchema","vesselVerboseGroup","vesselsVerboseMeta","fetchVesselsVerbose","useVesselsVerbose","init_vesselsVerbose","vesselVerboseInputSchema","wsfVesselsApi","apis","init_apis","internalFetchCacheFlushDateFares","internalFetchCacheFlushDateSchedule","internalFetchCacheFlushDateTerminals","internalFetchCacheFlushDateVessels","CACHE_FLUSH_STRATEGIES","getCachedFetchFunction","CACHE_FLUSH_ENDPOINT_IDS","normalizeFlushDate","useCacheFlushDate","useInvalidateOnFlushChange","cacheFlushDateFaresMeta","fetchMode","result","apiName","strategy","value","isCacheFlushApi","fetchFn","endpointId","useQuery","flushDateQuery","queryClient","useQueryClient","previousFlushDateRef","React","useEffect","currentFlushDate","init_cache","cacheStrategies","init_strategies","shouldUseCacheFlushDate","isWsfApi","cachedFetchFn","getFetchFn","options","descriptor","useCacheFlush","cacheStrategy","init_createHook","fetchBorderCrossings","useBorderCrossings","init_borderCrossingData_input","init_borderCrossingData_output","borderCrossingsInputSchema","borderCrossingSchema"],"mappings":"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","file":"chunk-QKQGBTXE.mjs","sourcesContent":["/**\n * @fileoverview Endpoint Descriptor Builder\n *\n * Builds complete endpoint descriptors from metadata objects.\n * Combines API, group, and endpoint metadata into a single descriptor.\n */\n\nimport type {\n  ApiDefinition,\n  EndpointGroupMeta,\n  EndpointMeta,\n} from \"@/apis/types\";\nimport type { Endpoint } from \"@/shared/types\";\n\n/**\n * Builds a complete endpoint descriptor from three metadata objects.\n */\nexport function buildDescriptor<I, O>(\n  apiDefinition: ApiDefinition,\n  group: EndpointGroupMeta,\n  endpoint: EndpointMeta<I, O>\n): Endpoint<I, O> {\n  const api = apiDefinition.api;\n  return {\n    api,\n    group,\n    endpoint: endpoint.endpoint,\n    functionName: endpoint.functionName,\n    inputSchema: endpoint.inputSchema,\n    outputSchema: endpoint.outputSchema,\n    sampleParams: endpoint.sampleParams,\n    endpointDescription: endpoint.endpointDescription,\n    cacheStrategy: group.cacheStrategy,\n    urlTemplate: `${api.baseUrl}${endpoint.endpoint}`,\n    id: `${api.name}:${endpoint.functionName}`,\n  };\n}\n","/**\n * @fileoverview Fetch Function Factory\n *\n * Creates strongly-typed fetch functions from metadata objects.\n * This is a pure factory with no React Query dependencies.\n */\n\nimport type {\n  ApiDefinition,\n  EndpointGroupMeta,\n  EndpointMeta,\n} from \"@/apis/types\";\nimport { fetchDottie } from \"@/shared/fetching\";\nimport { buildDescriptor } from \"./buildDescriptor\";\nimport type { Endpoint } from \"@/shared/types\";\nimport type { FetchFunctionParams } from \"./types\";\n\n/**\n * Creates a strongly-typed fetch function from three metadata objects.\n * Accepts either an ApiDefinition directly or a getter function for lazy loading.\n */\nexport function createFetchFunction<I, O>(\n  apiDefinitionOrGetter: ApiDefinition | (() => ApiDefinition),\n  group: EndpointGroupMeta,\n  endpoint: EndpointMeta<I, O>\n): (params?: FetchFunctionParams<I>) => Promise<O> {\n  // Cache the descriptor (built once, reused)\n  let cachedDescriptor: Endpoint<I, O> | null = null;\n\n  const getDescriptor = (): Endpoint<I, O> => {\n    if (!cachedDescriptor) {\n      const apiDefinition =\n        typeof apiDefinitionOrGetter === \"function\"\n          ? apiDefinitionOrGetter()\n          : apiDefinitionOrGetter;\n      cachedDescriptor = buildDescriptor(apiDefinition, group, endpoint);\n    }\n    return cachedDescriptor;\n  };\n\n  return (params?: FetchFunctionParams<I>): Promise<O> => {\n    return fetchDottie<I, O>({\n      endpoint: getDescriptor(),\n      ...params,\n    });\n  };\n}\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { borderCrossingsMeta } from \"../borderCrossings\";\n\n/**\n * Endpoint group metadata for border crossing data endpoints\n */\nexport const borderCrossingDataGroup: EndpointGroupMeta = {\n  name: \"border-crossing-data\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Current wait times for Washington border crossings into Canada by crossing and lane type.\",\n    description:\n      \"Snapshot wait-time data for I-5, SR-543, SR-539, and SR-9 crossings, covering general, Nexus, and truck lanes.\",\n    useCases: [\n      \"Plan trips into Canada based on current border wait times.\",\n      \"Compare wait times across crossings and lane types.\",\n      \"Show live wait-time information in traveler or operations dashboards.\",\n    ],\n    updateFrequency: \"1m\",\n  },\n  endpoints: [borderCrossingsMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { borderCrossingDataGroup } from \"./borderCrossingData/shared/borderCrossingData.endpoints\";\n\nexport const wsdotBorderCrossingsApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-border-crossings\",\n    baseUrl:\n      \"https://wsdot.wa.gov/Traffic/api/BorderCrossings/BorderCrossingsREST.svc\",\n  },\n  endpointGroups: [borderCrossingDataGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { bridgeClearancesGroup } from \"./shared/bridgeClearances.endpoints\";\nimport {\n  type BridgeClearancesInput,\n  bridgeClearancesInputSchema,\n} from \"./shared/bridgeClearances.input\";\nimport {\n  type BridgeClearance,\n  bridgeClearanceSchema,\n} from \"./shared/bridgeClearances.output\";\n\n/**\n * Metadata for the fetchBridgeClearances endpoint\n */\nexport const bridgeClearancesMeta = {\n  functionName: \"fetchBridgeClearances\",\n  endpoint: \"/getClearancesAsJson\",\n  inputSchema: bridgeClearancesInputSchema,\n  outputSchema: bridgeClearanceSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List vertical clearance data for all Washington State bridges.\",\n} satisfies EndpointMeta<BridgeClearancesInput, BridgeClearance[]>;\n\n/**\n * Fetch function for retrieving vertical clearance data for all Washington State bridges\n */\nexport const fetchBridgeClearances: (\n  params?: FetchFunctionParams<BridgeClearancesInput>\n) => Promise<BridgeClearance[]> = createFetchFunction(\n  () => require(\"../api\").wsdotBridgeClearancesApi,\n  bridgeClearancesGroup,\n  bridgeClearancesMeta\n);\n\n/**\n * React Query hook for retrieving vertical clearance data for all Washington State bridges\n */\nexport const useBridgeClearances: (\n  params?: FetchFunctionParams<BridgeClearancesInput>,\n  options?: QueryHookOptions<BridgeClearance[]>\n) => UseQueryResult<BridgeClearance[], Error> = createHook(\n  () => require(\"../api\").wsdotBridgeClearancesApi,\n  bridgeClearancesGroup,\n  bridgeClearancesMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { bridgeClearancesGroup } from \"./shared/bridgeClearances.endpoints\";\nimport {\n  type BridgeClearancesByRouteInput,\n  bridgeClearancesByRouteInputSchema,\n} from \"./shared/bridgeClearances.input\";\nimport {\n  type BridgeClearance,\n  bridgeClearanceSchema,\n} from \"./shared/bridgeClearances.output\";\n\n/**\n * Metadata for the fetchBridgeClearancesByRoute endpoint\n */\nexport const bridgeClearancesByRouteMeta = {\n  functionName: \"fetchBridgeClearancesByRoute\",\n  endpoint: \"/getClearancesAsJson?Route={Route}\",\n  inputSchema: bridgeClearancesByRouteInputSchema,\n  outputSchema: bridgeClearanceSchema.array(),\n  sampleParams: { Route: \"005\" },\n  endpointDescription:\n    \"Get vertical clearance data for bridges on a specific state route.\",\n} satisfies EndpointMeta<BridgeClearancesByRouteInput, BridgeClearance[]>;\n\n/**\n * Fetch function for retrieving vertical clearance data for bridges on a specific state route\n */\nexport const fetchBridgeClearancesByRoute: (\n  params?: FetchFunctionParams<BridgeClearancesByRouteInput>\n) => Promise<BridgeClearance[]> = createFetchFunction(\n  () => require(\"../api\").wsdotBridgeClearancesApi,\n  bridgeClearancesGroup,\n  bridgeClearancesByRouteMeta\n);\n\n/**\n * React Query hook for retrieving vertical clearance data for bridges on a specific state route\n */\nexport const useBridgeClearancesByRoute: (\n  params?: FetchFunctionParams<BridgeClearancesByRouteInput>,\n  options?: QueryHookOptions<BridgeClearance[]>\n) => UseQueryResult<BridgeClearance[], Error> = createHook(\n  () => require(\"../api\").wsdotBridgeClearancesApi,\n  bridgeClearancesGroup,\n  bridgeClearancesByRouteMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { bridgeClearancesMeta } from \"../bridgeClearances\";\nimport { bridgeClearancesByRouteMeta } from \"../bridgeClearancesByRoute\";\n\n/**\n * Endpoint group metadata for bridge clearances endpoints\n */\nexport const bridgeClearancesGroup: EndpointGroupMeta = {\n  name: \"bridge-clearances\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Vertical clearance measurements for Washington State bridges.\",\n    description:\n      \"Bridge height restrictions including location data, route associations, and clearance measurements in both feet-inches and inches formats.\",\n    useCases: [\n      \"Plan commercial vehicle routes with height restrictions.\",\n      \"Verify clearance requirements for oversize load permits.\",\n      \"Identify bridge height limitations for route planning.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [bridgeClearancesMeta, bridgeClearancesByRouteMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { bridgeClearancesGroup } from \"./bridgeClearances/shared/bridgeClearances.endpoints\";\n\nexport const wsdotBridgeClearancesApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-bridge-clearances\",\n    baseUrl: \"https://www.wsdot.wa.gov/traffic/api/bridges/clearancerest.svc\",\n  },\n  endpointGroups: [bridgeClearancesGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { cvRestrictionDataGroup } from \"./shared/cvRestrictionData.endpoints\";\nimport {\n  type CommercialVehicleRestrictionsInput,\n  commercialVehicleRestrictionsInputSchema,\n} from \"./shared/cvRestrictionData.input\";\nimport {\n  type CVRestriction,\n  cvRestrictionSchema,\n} from \"./shared/cvRestrictionData.output\";\n\n/**\n * Metadata for the fetchCommercialVehicleRestrictions endpoint\n */\nexport const commercialVehicleRestrictionsMeta = {\n  functionName: \"fetchCommercialVehicleRestrictions\",\n  endpoint: \"/getCommercialVehicleRestrictionsAsJson\",\n  inputSchema: commercialVehicleRestrictionsInputSchema,\n  outputSchema: cvRestrictionSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List commercial vehicle restrictions for all Washington State highways.\",\n} satisfies EndpointMeta<CommercialVehicleRestrictionsInput, CVRestriction[]>;\n\n/**\n * Fetch function for retrieving commercial vehicle restrictions for all Washington State highways\n */\nexport const fetchCommercialVehicleRestrictions: (\n  params?: FetchFunctionParams<CommercialVehicleRestrictionsInput>\n) => Promise<CVRestriction[]> = createFetchFunction(\n  () => require(\"../api\").wsdotCommercialVehicleRestrictionsApi,\n  cvRestrictionDataGroup,\n  commercialVehicleRestrictionsMeta\n);\n\n/**\n * React Query hook for retrieving commercial vehicle restrictions for all Washington State highways\n */\nexport const useCommercialVehicleRestrictions: (\n  params?: FetchFunctionParams<CommercialVehicleRestrictionsInput>,\n  options?: QueryHookOptions<CVRestriction[]>\n) => UseQueryResult<CVRestriction[], Error> = createHook(\n  () => require(\"../api\").wsdotCommercialVehicleRestrictionsApi,\n  cvRestrictionDataGroup,\n  commercialVehicleRestrictionsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { commercialVehicleRestrictionsMeta } from \"../commercialVehicleRestrictions\";\n\n/**\n * Endpoint group metadata for commercial vehicle restriction data endpoints\n */\nexport const cvRestrictionDataGroup: EndpointGroupMeta = {\n  name: \"cv-restriction-data\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Commercial vehicle restrictions for Washington State highways.\",\n    description:\n      \"Weight limits, height clearances, axle restrictions, and location details for bridge and road restrictions statewide.\",\n    useCases: [\n      \"Check vehicle restrictions for commercial route planning.\",\n      \"Determine route feasibility and permit requirements.\",\n      \"Identify weight and height limitations for trucking operations.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [commercialVehicleRestrictionsMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { cvRestrictionDataWithIdGroup } from \"./shared/cvRestrictionDataWithId.endpoints\";\nimport {\n  type CommercialVehicleRestrictionsWithIdInput,\n  commercialVehicleRestrictionsWithIdInputSchema,\n} from \"./shared/cvRestrictionDataWithId.input\";\nimport {\n  type CVRestrictionWithId,\n  cvRestrictionWithIdSchema,\n} from \"./shared/cvRestrictionDataWithId.output\";\n\n/**\n * Metadata for the fetchCommercialVehicleRestrictionsWithId endpoint\n */\nexport const commercialVehicleRestrictionsWithIdMeta = {\n  functionName: \"fetchCommercialVehicleRestrictionsWithId\",\n  endpoint: \"/getCommercialVehicleRestrictionsWithIdAsJson\",\n  inputSchema: commercialVehicleRestrictionsWithIdInputSchema,\n  outputSchema: cvRestrictionWithIdSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List commercial vehicle restrictions with unique identifiers for all Washington State highways.\",\n} satisfies EndpointMeta<\n  CommercialVehicleRestrictionsWithIdInput,\n  CVRestrictionWithId[]\n>;\n\n/**\n * Fetch function for retrieving commercial vehicle restrictions with unique identifiers for all Washington State highways\n */\nexport const fetchCommercialVehicleRestrictionsWithId: (\n  params?: FetchFunctionParams<CommercialVehicleRestrictionsWithIdInput>\n) => Promise<CVRestrictionWithId[]> = createFetchFunction(\n  () => require(\"../api\").wsdotCommercialVehicleRestrictionsApi,\n  cvRestrictionDataWithIdGroup,\n  commercialVehicleRestrictionsWithIdMeta\n);\n\n/**\n * React Query hook for retrieving commercial vehicle restrictions with unique identifiers for all Washington State highways\n */\nexport const useCommercialVehicleRestrictionsWithId: (\n  params?: FetchFunctionParams<CommercialVehicleRestrictionsWithIdInput>,\n  options?: QueryHookOptions<CVRestrictionWithId[]>\n) => UseQueryResult<CVRestrictionWithId[], Error> = createHook(\n  () => require(\"../api\").wsdotCommercialVehicleRestrictionsApi,\n  cvRestrictionDataWithIdGroup,\n  commercialVehicleRestrictionsWithIdMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { commercialVehicleRestrictionsWithIdMeta } from \"../commercialVehicleRestrictionsWithId\";\n\n/**\n * Endpoint group metadata for commercial vehicle restriction data with ID endpoints\n */\nexport const cvRestrictionDataWithIdGroup: EndpointGroupMeta = {\n  name: \"cv-restriction-data-with-id\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Commercial vehicle restrictions with unique identifiers for Washington State highways.\",\n    description:\n      \"Weight limits, height clearances, axle restrictions, and location details with unique tracking IDs for bridge and road restrictions statewide.\",\n    useCases: [\n      \"Track specific restrictions using unique identifiers.\",\n      \"Monitor restriction changes over time.\",\n      \"Manage permit requirements with ID-based lookups.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [commercialVehicleRestrictionsWithIdMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { cvRestrictionDataGroup } from \"./cvRestrictionData/shared/cvRestrictionData.endpoints\";\nimport { cvRestrictionDataWithIdGroup } from \"./cvRestrictionDataWithId/shared/cvRestrictionDataWithId.endpoints\";\n\nexport const wsdotCommercialVehicleRestrictionsApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-commercial-vehicle-restrictions\",\n    baseUrl:\n      \"https://www.wsdot.wa.gov/traffic/api/cvrestrictions/cvrestrictionsrest.svc\",\n  },\n  endpointGroups: [cvRestrictionDataGroup, cvRestrictionDataWithIdGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { alertAreasGroup } from \"./shared/alertAreas.endpoints\";\nimport {\n  type MapAreasInput,\n  mapAreasInputSchema,\n} from \"./shared/alertAreas.input\";\nimport { type Area, areaSchema } from \"./shared/alertAreas.output\";\n\n/**\n * Metadata for the fetchMapAreas endpoint\n */\nexport const mapAreasMeta = {\n  functionName: \"fetchMapAreas\",\n  endpoint: \"/getMapAreasAsJson\",\n  inputSchema: mapAreasInputSchema,\n  outputSchema: areaSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List all available geographic map areas for filtering alerts.\",\n} satisfies EndpointMeta<MapAreasInput, Area[]>;\n\n/**\n * Fetch function for retrieving all available geographic map areas for filtering alerts\n */\nexport const fetchMapAreas: (\n  params?: FetchFunctionParams<MapAreasInput>\n) => Promise<Area[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  alertAreasGroup,\n  mapAreasMeta\n);\n\n/**\n * React Query hook for retrieving all available geographic map areas for filtering alerts\n */\nexport const useMapAreas: (\n  params?: FetchFunctionParams<MapAreasInput>,\n  options?: QueryHookOptions<Area[]>\n) => UseQueryResult<Area[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  alertAreasGroup,\n  mapAreasMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { mapAreasMeta } from \"../mapAreas\";\n\n/**\n * Endpoint group metadata for alert areas endpoints\n */\nexport const alertAreasGroup: EndpointGroupMeta = {\n  name: \"alertAreas\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary: \"Geographic map areas for filtering highway alerts by region.\",\n    description:\n      \"Area codes and names used to organize and filter highway alerts across Washington State geographic regions.\",\n    useCases: [\n      \"Filter highway alerts by geographic map area.\",\n      \"Obtain valid area codes for alert queries.\",\n      \"Display regional alert organization in user interfaces.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [mapAreasMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { z } from \"@/shared/zod\";\nimport { eventCategoriesGroup } from \"./shared/eventCategories.endpoints\";\nimport {\n  type EventCategoriesInput,\n  eventCategoriesInputSchema,\n} from \"./shared/eventCategories.input\";\n\n/**\n * Metadata for the fetchEventCategories endpoint\n */\nexport const eventCategoriesMeta = {\n  functionName: \"fetchEventCategories\",\n  endpoint: \"/getEventCategoriesAsJson\",\n  inputSchema: eventCategoriesInputSchema,\n  outputSchema: z.string().array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List all available event category names for filtering alerts.\",\n} satisfies EndpointMeta<EventCategoriesInput, string[]>;\n\n/**\n * Fetch function for retrieving all available event category names for filtering alerts\n */\nexport const fetchEventCategories: (\n  params?: FetchFunctionParams<EventCategoriesInput>\n) => Promise<string[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  eventCategoriesGroup,\n  eventCategoriesMeta\n);\n\n/**\n * React Query hook for retrieving all available event category names for filtering alerts\n */\nexport const useEventCategories: (\n  params?: FetchFunctionParams<EventCategoriesInput>,\n  options?: QueryHookOptions<string[]>\n) => UseQueryResult<string[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  eventCategoriesGroup,\n  eventCategoriesMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { eventCategoriesMeta } from \"../eventCategories\";\n\n/**\n * Endpoint group metadata for event categories endpoints\n */\nexport const eventCategoriesGroup: EndpointGroupMeta = {\n  name: \"event-categories\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary: \"Event category classifications for highway alerts.\",\n    description:\n      \"Standardized category names used to classify and filter highway alerts by incident type, such as construction, collisions, maintenance, and weather events.\",\n    useCases: [\n      \"Filter highway alerts by event category type.\",\n      \"Obtain valid category names for alert searches.\",\n      \"Categorize alerts in user interfaces by incident type.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [eventCategoriesMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { highwayAlertsGroup } from \"./shared/highwayAlerts.endpoints\";\nimport {\n  type AlertByIdInput,\n  alertByIdInputSchema,\n} from \"./shared/highwayAlerts.input\";\nimport { type Alert, alertSchema } from \"./shared/highwayAlerts.output\";\n\n/**\n * Metadata for the fetchAlertById endpoint\n */\nexport const alertByIdMeta = {\n  functionName: \"fetchAlertById\",\n  endpoint: \"/getAlertAsJson?AlertID={AlertID}\",\n  inputSchema: alertByIdInputSchema,\n  outputSchema: alertSchema,\n  sampleParams: { AlertID: 468632 },\n  endpointDescription: \"Get highway alert details for a specific alert ID.\",\n} satisfies EndpointMeta<AlertByIdInput, Alert>;\n\n/**\n * Fetch function for retrieving highway alert details for a specific alert ID\n */\nexport const fetchAlertById: (\n  params?: FetchFunctionParams<AlertByIdInput>\n) => Promise<Alert> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertByIdMeta\n);\n\n/**\n * React Query hook for retrieving highway alert details for a specific alert ID\n */\nexport const useAlertById: (\n  params?: FetchFunctionParams<AlertByIdInput>,\n  options?: QueryHookOptions<Alert>\n) => UseQueryResult<Alert, Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertByIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { highwayAlertsGroup } from \"./shared/highwayAlerts.endpoints\";\nimport {\n  type AlertsInput,\n  alertsInputSchema,\n} from \"./shared/highwayAlerts.input\";\nimport { type Alert, alertSchema } from \"./shared/highwayAlerts.output\";\n\n/**\n * Metadata for the fetchAlerts endpoint\n */\nexport const alertsMeta = {\n  functionName: \"fetchAlerts\",\n  endpoint: \"/getAlertsAsJson\",\n  inputSchema: alertsInputSchema,\n  outputSchema: alertSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List all current highway alerts statewide.\",\n} satisfies EndpointMeta<AlertsInput, Alert[]>;\n\n/**\n * Fetch function for retrieving all current highway alerts statewide\n */\nexport const fetchAlerts: (\n  params?: FetchFunctionParams<AlertsInput>\n) => Promise<Alert[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertsMeta\n);\n\n/**\n * React Query hook for retrieving all current highway alerts statewide\n */\nexport const useAlerts: (\n  params?: FetchFunctionParams<AlertsInput>,\n  options?: QueryHookOptions<Alert[]>\n) => UseQueryResult<Alert[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertsMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { highwayAlertsGroup } from \"./shared/highwayAlerts.endpoints\";\nimport {\n  type AlertsByMapAreaInput,\n  alertsByMapAreaInputSchema,\n} from \"./shared/highwayAlerts.input\";\nimport { type Alert, alertSchema } from \"./shared/highwayAlerts.output\";\n\n/**\n * Metadata for the fetchAlertsByMapArea endpoint\n */\nexport const alertsByMapAreaMeta = {\n  functionName: \"fetchAlertsByMapArea\",\n  endpoint: \"/getAlertsByMapAreaAsJson?MapArea={MapArea}\",\n  inputSchema: alertsByMapAreaInputSchema,\n  outputSchema: alertSchema.array(),\n  sampleParams: { MapArea: \"Seattle\" },\n  endpointDescription: \"List highway alerts filtered by map area code.\",\n} satisfies EndpointMeta<AlertsByMapAreaInput, Alert[]>;\n\n/**\n * Fetch function for retrieving highway alerts filtered by map area code\n */\nexport const fetchAlertsByMapArea: (\n  params?: FetchFunctionParams<AlertsByMapAreaInput>\n) => Promise<Alert[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertsByMapAreaMeta\n);\n\n/**\n * React Query hook for retrieving highway alerts filtered by map area code\n */\nexport const useAlertsByMapArea: (\n  params?: FetchFunctionParams<AlertsByMapAreaInput>,\n  options?: QueryHookOptions<Alert[]>\n) => UseQueryResult<Alert[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertsByMapAreaMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { highwayAlertsGroup } from \"./shared/highwayAlerts.endpoints\";\nimport {\n  type AlertsByRegionIDInput,\n  alertsByRegionIDInputSchema,\n} from \"./shared/highwayAlerts.input\";\nimport { type Alert, alertSchema } from \"./shared/highwayAlerts.output\";\n\n/**\n * Metadata for the fetchAlertsByRegionId endpoint\n */\nexport const alertsByRegionIdMeta = {\n  functionName: \"fetchAlertsByRegionId\",\n  endpoint: \"/getAlertsByRegionIDAsJson?RegionID={RegionID}\",\n  inputSchema: alertsByRegionIDInputSchema,\n  outputSchema: alertSchema.array(),\n  sampleParams: { RegionID: 4 },\n  endpointDescription: \"List highway alerts filtered by WSDOT region ID.\",\n} satisfies EndpointMeta<AlertsByRegionIDInput, Alert[]>;\n\n/**\n * Fetch function for retrieving highway alerts filtered by WSDOT region ID\n */\nexport const fetchAlertsByRegionId: (\n  params?: FetchFunctionParams<AlertsByRegionIDInput>\n) => Promise<Alert[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertsByRegionIdMeta\n);\n\n/**\n * React Query hook for retrieving highway alerts filtered by WSDOT region ID\n */\nexport const useAlertsByRegionId: (\n  params?: FetchFunctionParams<AlertsByRegionIDInput>,\n  options?: QueryHookOptions<Alert[]>\n) => UseQueryResult<Alert[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  alertsByRegionIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { highwayAlertsGroup } from \"./shared/highwayAlerts.endpoints\";\nimport {\n  type SearchAlertsInput,\n  searchAlertsInputSchema,\n} from \"./shared/highwayAlerts.input\";\nimport { type Alert, alertSchema } from \"./shared/highwayAlerts.output\";\n\n/**\n * Metadata for the searchAlerts endpoint\n */\nexport const searchAlertsMeta = {\n  functionName: \"searchAlerts\",\n  endpoint:\n    \"/searchAlertsAsJson?StateRoute={StateRoute}&Region={Region}&SearchTimeStart={SearchTimeStart}&SearchTimeEnd={SearchTimeEnd}&StartingMilepost={StartingMilepost}&EndingMilepost={EndingMilepost}\",\n  inputSchema: searchAlertsInputSchema,\n  outputSchema: alertSchema.array(),\n  sampleParams: {\n    StateRoute: \"405\",\n    StartingMilepost: 10,\n    EndingMilepost: 20,\n    SearchTimeStart: datesHelper.yesterday(),\n    SearchTimeEnd: datesHelper.today(),\n  },\n  endpointDescription:\n    \"Search highway alerts by route, region, time range, and milepost.\",\n} satisfies EndpointMeta<SearchAlertsInput, Alert[]>;\n\n/**\n * Fetch function for searching highway alerts by route, region, time range, and milepost\n */\nexport const searchAlerts: (\n  params?: FetchFunctionParams<SearchAlertsInput>\n) => Promise<Alert[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  searchAlertsMeta\n);\n\n/**\n * React Query hook for searching highway alerts by route, region, time range, and milepost\n */\nexport const useSearchAlerts: (\n  params?: FetchFunctionParams<SearchAlertsInput>,\n  options?: QueryHookOptions<Alert[]>\n) => UseQueryResult<Alert[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayAlertsApi,\n  highwayAlertsGroup,\n  searchAlertsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { alertByIdMeta } from \"../alertById\";\nimport { alertsMeta } from \"../alerts\";\nimport { alertsByMapAreaMeta } from \"../alertsByMapArea\";\nimport { alertsByRegionIdMeta } from \"../alertsByRegionId\";\nimport { searchAlertsMeta } from \"../searchAlerts\";\n\n/**\n * Endpoint group metadata for highway alerts endpoints\n */\nexport const highwayAlertsGroup: EndpointGroupMeta = {\n  name: \"highwayAlerts\",\n  // Using FREQUENT strategy because highway alerts can change every few minutes as incidents occur\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Real-time highway alerts for traffic incidents and road conditions.\",\n    description:\n      \"Traffic incidents, construction, maintenance, and other events affecting Washington State highways, including location details, impact levels, timestamps, and event classifications.\",\n    useCases: [\n      \"Monitor real-time traffic incidents and road conditions.\",\n      \"Plan alternate routes based on current highway alerts.\",\n      \"Display active alerts filtered by location, region, or category.\",\n      \"Track alert status and estimated resolution times.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [\n    alertsMeta,\n    alertByIdMeta,\n    alertsByRegionIdMeta,\n    alertsByMapAreaMeta,\n    searchAlertsMeta,\n  ],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { alertAreasGroup } from \"./alertAreas/shared/alertAreas.endpoints\";\nimport { eventCategoriesGroup } from \"./eventCategories/shared/eventCategories.endpoints\";\nimport { highwayAlertsGroup } from \"./highwayAlerts/shared/highwayAlerts.endpoints\";\n\nexport const wsdotHighwayAlertsApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-highway-alerts\",\n    baseUrl:\n      \"https://www.wsdot.wa.gov/traffic/api/highwayalerts/highwayalertsrest.svc\",\n  },\n  endpointGroups: [highwayAlertsGroup, alertAreasGroup, eventCategoriesGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { camerasGroup } from \"./shared/cameras.endpoints\";\nimport {\n  type HighwayCameraByCameraIdInput,\n  highwayCameraByCameraIdInputSchema,\n} from \"./shared/cameras.input\";\nimport { type Camera, cameraSchema } from \"./shared/cameras.output\";\n\n/**\n * Metadata for the fetchHighwayCameraByCameraId endpoint\n */\nexport const highwayCameraByCameraIdMeta = {\n  functionName: \"fetchHighwayCameraByCameraId\",\n  endpoint: \"/getCameraAsJson?CameraID={CameraID}\",\n  inputSchema: highwayCameraByCameraIdInputSchema,\n  outputSchema: cameraSchema,\n  sampleParams: { CameraID: 9818 },\n  endpointDescription: \"Get camera details by camera ID.\",\n} satisfies EndpointMeta<HighwayCameraByCameraIdInput, Camera>;\n\n/**\n * Fetch function for retrieving camera details by camera ID\n */\nexport const fetchHighwayCameraByCameraId: (\n  params?: FetchFunctionParams<HighwayCameraByCameraIdInput>\n) => Promise<Camera> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayCamerasApi,\n  camerasGroup,\n  highwayCameraByCameraIdMeta\n);\n\n/**\n * React Query hook for retrieving camera details by camera ID\n */\nexport const useHighwayCameraByCameraId: (\n  params?: FetchFunctionParams<HighwayCameraByCameraIdInput>,\n  options?: QueryHookOptions<Camera>\n) => UseQueryResult<Camera, Error> = createHook(\n  () => require(\"../api\").wsdotHighwayCamerasApi,\n  camerasGroup,\n  highwayCameraByCameraIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { camerasGroup } from \"./shared/cameras.endpoints\";\nimport {\n  type HighwayCamerasInput,\n  highwayCamerasInputSchema,\n} from \"./shared/cameras.input\";\nimport { type Camera, cameraSchema } from \"./shared/cameras.output\";\n\n/**\n * Metadata for the fetchHighwayCameras endpoint\n */\nexport const highwayCamerasMeta = {\n  functionName: \"fetchHighwayCameras\",\n  endpoint: \"/getCamerasAsJson\",\n  inputSchema: highwayCamerasInputSchema,\n  outputSchema: cameraSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List all highway cameras statewide.\",\n} satisfies EndpointMeta<HighwayCamerasInput, Camera[]>;\n\n/**\n * Fetch function for retrieving all highway cameras statewide\n */\nexport const fetchHighwayCameras: (\n  params?: FetchFunctionParams<HighwayCamerasInput>\n) => Promise<Camera[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayCamerasApi,\n  camerasGroup,\n  highwayCamerasMeta\n);\n\n/**\n * React Query hook for retrieving all highway cameras statewide\n */\nexport const useHighwayCameras: (\n  params?: FetchFunctionParams<HighwayCamerasInput>,\n  options?: QueryHookOptions<Camera[]>\n) => UseQueryResult<Camera[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayCamerasApi,\n  camerasGroup,\n  highwayCamerasMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { camerasGroup } from \"./shared/cameras.endpoints\";\nimport {\n  type HighwayCamerasByRouteAndMilepostInput,\n  highwayCamerasByRouteAndMilepostInputSchema,\n} from \"./shared/cameras.input\";\nimport { type Camera, cameraSchema } from \"./shared/cameras.output\";\n\n/**\n * Metadata for the searchHighwayCamerasByRouteAndMilepost endpoint\n */\nexport const searchHighwayCamerasByRouteAndMilepostMeta = {\n  functionName: \"searchHighwayCamerasByRouteAndMilepost\",\n  endpoint: \"/searchCamerasAsJson\",\n  inputSchema: highwayCamerasByRouteAndMilepostInputSchema,\n  outputSchema: cameraSchema.array(),\n  sampleParams: {\n    StateRoute: \"I-5\",\n    StartingMilepost: 10,\n    EndingMilepost: 20,\n  },\n  endpointDescription: \"Search cameras by route and milepost range.\",\n} satisfies EndpointMeta<HighwayCamerasByRouteAndMilepostInput, Camera[]>;\n\n/**\n * Fetch function for searching cameras by route and milepost range\n */\nexport const searchHighwayCamerasByRouteAndMilepost: (\n  params?: FetchFunctionParams<HighwayCamerasByRouteAndMilepostInput>\n) => Promise<Camera[]> = createFetchFunction(\n  () => require(\"../api\").wsdotHighwayCamerasApi,\n  camerasGroup,\n  searchHighwayCamerasByRouteAndMilepostMeta\n);\n\n/**\n * React Query hook for searching cameras by route and milepost range\n */\nexport const useSearchHighwayCamerasByRouteAndMilepost: (\n  params?: FetchFunctionParams<HighwayCamerasByRouteAndMilepostInput>,\n  options?: QueryHookOptions<Camera[]>\n) => UseQueryResult<Camera[], Error> = createHook(\n  () => require(\"../api\").wsdotHighwayCamerasApi,\n  camerasGroup,\n  searchHighwayCamerasByRouteAndMilepostMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { highwayCameraByCameraIdMeta } from \"../highwayCameraByCameraId\";\nimport { highwayCamerasMeta } from \"../highwayCameras\";\nimport { searchHighwayCamerasByRouteAndMilepostMeta } from \"../searchHighwayCamerasByRouteAndMilepost\";\n\n/**\n * Endpoint group metadata for cameras endpoints\n */\nexport const camerasGroup: EndpointGroupMeta = {\n  name: \"cameras\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Traffic monitoring cameras on Washington state highways.\",\n    description:\n      \"Camera locations, image URLs, status, and metadata for real-time traffic condition visibility.\",\n    useCases: [\n      \"Display live camera feeds in traffic monitoring applications.\",\n      \"Show road conditions and weather impacts for route planning.\",\n      \"Provide visual traffic status in traveler information systems.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [\n    highwayCamerasMeta,\n    searchHighwayCamerasByRouteAndMilepostMeta,\n    highwayCameraByCameraIdMeta,\n  ],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { camerasGroup } from \"./cameras/shared/cameras.endpoints\";\n\nexport const wsdotHighwayCamerasApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-highway-cameras\",\n    baseUrl:\n      \"https://www.wsdot.wa.gov/traffic/api/highwaycameras/highwaycamerasrest.svc\",\n  },\n  endpointGroups: [camerasGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { passConditionsGroup } from \"./shared/passConditions.endpoints\";\nimport {\n  type MountainPassConditionByIdInput,\n  mountainPassConditionByIdInputSchema,\n} from \"./shared/passConditions.input\";\nimport {\n  type PassCondition,\n  passConditionSchema,\n} from \"./shared/passConditions.output\";\n\n/**\n * Metadata for the fetchMountainPassConditionById endpoint\n */\nexport const mountainPassConditionByIdMeta = {\n  functionName: \"fetchMountainPassConditionById\",\n  endpoint: \"/getMountainPassConditionAsJon?PassConditionID={PassConditionID}\",\n  inputSchema: mountainPassConditionByIdInputSchema,\n  outputSchema: passConditionSchema,\n  sampleParams: { PassConditionID: 12 },\n  endpointDescription:\n    \"Get current conditions for a specific mountain pass by ID.\",\n} satisfies EndpointMeta<MountainPassConditionByIdInput, PassCondition>;\n\n/**\n * Fetch function for retrieving current conditions for a specific mountain pass by ID\n */\nexport const fetchMountainPassConditionById: (\n  params?: FetchFunctionParams<MountainPassConditionByIdInput>\n) => Promise<PassCondition> = createFetchFunction(\n  () => require(\"../api\").wsdotMountainPassConditionsApi,\n  passConditionsGroup,\n  mountainPassConditionByIdMeta\n);\n\n/**\n * React Query hook for retrieving current conditions for a specific mountain pass by ID\n */\nexport const useMountainPassConditionById: (\n  params?: FetchFunctionParams<MountainPassConditionByIdInput>,\n  options?: QueryHookOptions<PassCondition>\n) => UseQueryResult<PassCondition, Error> = createHook(\n  () => require(\"../api\").wsdotMountainPassConditionsApi,\n  passConditionsGroup,\n  mountainPassConditionByIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { passConditionsGroup } from \"./shared/passConditions.endpoints\";\nimport {\n  type MountainPassConditionsInput,\n  mountainPassConditionsInputSchema,\n} from \"./shared/passConditions.input\";\nimport {\n  type PassCondition,\n  passConditionSchema,\n} from \"./shared/passConditions.output\";\n\n/**\n * Metadata for the fetchMountainPassConditions endpoint\n */\nexport const mountainPassConditionsMeta = {\n  functionName: \"fetchMountainPassConditions\",\n  endpoint: \"/getMountainPassConditionsAsJson\",\n  inputSchema: mountainPassConditionsInputSchema,\n  outputSchema: passConditionSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List current conditions for all monitored mountain passes.\",\n} satisfies EndpointMeta<MountainPassConditionsInput, PassCondition[]>;\n\n/**\n * Fetch function for retrieving current conditions for all monitored mountain passes\n */\nexport const fetchMountainPassConditions: (\n  params?: FetchFunctionParams<MountainPassConditionsInput>\n) => Promise<PassCondition[]> = createFetchFunction(\n  () => require(\"../api\").wsdotMountainPassConditionsApi,\n  passConditionsGroup,\n  mountainPassConditionsMeta\n);\n\n/**\n * React Query hook for retrieving current conditions for all monitored mountain passes\n */\nexport const useMountainPassConditions: (\n  params?: FetchFunctionParams<MountainPassConditionsInput>,\n  options?: QueryHookOptions<PassCondition[]>\n) => UseQueryResult<PassCondition[], Error> = createHook(\n  () => require(\"../api\").wsdotMountainPassConditionsApi,\n  passConditionsGroup,\n  mountainPassConditionsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { mountainPassConditionByIdMeta } from \"../mountainPassConditionById\";\nimport { mountainPassConditionsMeta } from \"../mountainPassConditions\";\n\n/**\n * Endpoint group metadata for pass conditions endpoints\n */\nexport const passConditionsGroup: EndpointGroupMeta = {\n  name: \"pass-conditions\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Real-time mountain pass conditions including weather, road status, and travel restrictions.\",\n    description:\n      \"Current conditions for 15 monitored mountain passes statewide, including temperature, elevation, weather, road surface conditions, and direction-specific travel restrictions.\",\n    useCases: [\n      \"Assess pass conditions for winter travel planning.\",\n      \"Monitor weather and road conditions for route decisions.\",\n      \"Check travel restrictions and advisories before mountain travel.\",\n    ],\n    updateFrequency: \"15m\",\n  },\n  endpoints: [mountainPassConditionByIdMeta, mountainPassConditionsMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { passConditionsGroup } from \"./passConditions/shared/passConditions.endpoints\";\n\nexport const wsdotMountainPassConditionsApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-mountain-pass-conditions\",\n    baseUrl:\n      \"https://www.wsdot.wa.gov/traffic/api/mountainpassconditions/mountainpassconditionsrest.svc\",\n  },\n  endpointGroups: [passConditionsGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { tollRatesGroup } from \"./shared/tollRates.endpoints\";\nimport {\n  type TollRatesInput,\n  tollRatesInputSchema,\n} from \"./shared/tollRates.input\";\nimport { type TollRate, tollRateSchema } from \"./shared/tollRates.output\";\n\n/**\n * Metadata for the fetchTollRates endpoint\n */\nexport const tollRatesMeta = {\n  functionName: \"fetchTollRates\",\n  endpoint: \"/getTollRatesAsJson\",\n  inputSchema: tollRatesInputSchema,\n  outputSchema: tollRateSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List current toll rates for all HOV toll lanes statewide.\",\n} satisfies EndpointMeta<TollRatesInput, TollRate[]>;\n\n/**\n * Fetch function for retrieving current toll rates for all HOV toll lanes statewide\n */\nexport const fetchTollRates: (\n  params?: FetchFunctionParams<TollRatesInput>\n) => Promise<TollRate[]> = createFetchFunction(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollRatesGroup,\n  tollRatesMeta\n);\n\n/**\n * React Query hook for retrieving current toll rates for all HOV toll lanes statewide\n */\nexport const useTollRates: (\n  params?: FetchFunctionParams<TollRatesInput>,\n  options?: QueryHookOptions<TollRate[]>\n) => UseQueryResult<TollRate[], Error> = createHook(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollRatesGroup,\n  tollRatesMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { tollRatesMeta } from \"../tollRates\";\n\n/**\n * Endpoint group metadata for toll rates endpoints\n */\nexport const tollRatesGroup: EndpointGroupMeta = {\n  name: \"toll-rates\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Current toll rates for high occupancy vehicle (HOV) toll lanes statewide.\",\n    description:\n      \"Real-time toll pricing data including trip locations, current toll amounts, route associations, and update timestamps for congestion management.\",\n    useCases: [\n      \"Calculate travel costs for HOV toll lane usage.\",\n      \"Display current toll amounts in navigation apps.\",\n      \"Make informed routing decisions based on toll pricing.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [tollRatesMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { tollTripInfoGroup } from \"./shared/tollTripInfo.endpoints\";\nimport {\n  type TollTripInfoInput,\n  tollTripInfoInputSchema,\n} from \"./shared/tollTripInfo.input\";\nimport {\n  type TollTripInfo,\n  tollTripInfoSchema,\n} from \"./shared/tollTripInfo.output\";\n\n/**\n * Metadata for the fetchTollTripInfo endpoint\n */\nexport const tollTripInfoMeta = {\n  functionName: \"fetchTollTripInfo\",\n  endpoint: \"/getTollTripInfoAsJson\",\n  inputSchema: tollTripInfoInputSchema,\n  outputSchema: tollTripInfoSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List trip information for all toll trips statewide.\",\n} satisfies EndpointMeta<TollTripInfoInput, TollTripInfo[]>;\n\n/**\n * Fetch function for retrieving trip information for all toll trips statewide\n */\nexport const fetchTollTripInfo: (\n  params?: FetchFunctionParams<TollTripInfoInput>\n) => Promise<TollTripInfo[]> = createFetchFunction(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripInfoGroup,\n  tollTripInfoMeta\n);\n\n/**\n * React Query hook for retrieving trip information for all toll trips statewide\n */\nexport const useTollTripInfo: (\n  params?: FetchFunctionParams<TollTripInfoInput>,\n  options?: QueryHookOptions<TollTripInfo[]>\n) => UseQueryResult<TollTripInfo[], Error> = createHook(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripInfoGroup,\n  tollTripInfoMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { tollTripInfoMeta } from \"../tollTripInfo\";\n\n/**\n * Endpoint group metadata for toll trip info endpoints\n */\nexport const tollTripInfoGroup: EndpointGroupMeta = {\n  name: \"toll-trip-info\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Trip route information for HOV toll lanes including locations, mileposts, and geometry.\",\n    description:\n      \"Reference data for toll trip routes including start and end locations, coordinates, mileposts, travel direction, and optional geometry data for mapping.\",\n    useCases: [\n      \"Display toll trip routes on maps.\",\n      \"Look up trip information by location or route.\",\n      \"Build trip selection interfaces for toll rate queries.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [tollTripInfoMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { tollTripRatesGroup } from \"./shared/tollTripRates.endpoints\";\nimport {\n  type TollTripRatesInput,\n  tollTripRatesInputSchema,\n} from \"./shared/tollTripRates.input\";\nimport {\n  type TollTripsRates,\n  tollTripsRatesSchema,\n} from \"./shared/tollTripRates.output\";\n\n/**\n * Metadata for the fetchTollTripRates endpoint\n */\nexport const tollTripRatesMeta = {\n  functionName: \"fetchTollTripRates\",\n  endpoint: \"/getTollTripRatesAsJson\",\n  inputSchema: tollTripRatesInputSchema,\n  outputSchema: tollTripsRatesSchema,\n  sampleParams: {},\n  endpointDescription: \"Get current toll rates for all trips.\",\n} satisfies EndpointMeta<TollTripRatesInput, TollTripsRates>;\n\n/**\n * Fetch function for retrieving current toll rates for all trips\n */\nexport const fetchTollTripRates: (\n  params?: FetchFunctionParams<TollTripRatesInput>\n) => Promise<TollTripsRates> = createFetchFunction(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripRatesGroup,\n  tollTripRatesMeta\n);\n\n/**\n * React Query hook for retrieving current toll rates for all trips\n */\nexport const useTollTripRates: (\n  params?: FetchFunctionParams<TollTripRatesInput>,\n  options?: QueryHookOptions<TollTripsRates>\n) => UseQueryResult<TollTripsRates, Error> = createHook(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripRatesGroup,\n  tollTripRatesMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { tollTripRatesGroup } from \"./shared/tollTripRates.endpoints\";\nimport {\n  type TripRatesByDateInput,\n  tripRatesByDateInputSchema,\n} from \"./shared/tollTripRates.input\";\nimport {\n  type TollTripsRates,\n  tollTripsRatesSchema,\n} from \"./shared/tollTripRates.output\";\n\n/**\n * Metadata for the fetchTripRatesByDate endpoint\n */\nexport const tripRatesByDateMeta = {\n  functionName: \"fetchTripRatesByDate\",\n  endpoint: \"/getTripRatesByDateAsJson?FromDate={FromDate}&ToDate={ToDate}\",\n  inputSchema: tripRatesByDateInputSchema,\n  outputSchema: tollTripsRatesSchema.array(),\n  sampleParams: {\n    FromDate: datesHelper.yesterday(),\n    ToDate: datesHelper.today(),\n  },\n  endpointDescription: \"Get historical toll rates for a specified date range.\",\n} satisfies EndpointMeta<TripRatesByDateInput, TollTripsRates[]>;\n\n/**\n * Fetch function for retrieving historical toll rates for a specified date range\n */\nexport const fetchTripRatesByDate: (\n  params?: FetchFunctionParams<TripRatesByDateInput>\n) => Promise<TollTripsRates[]> = createFetchFunction(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripRatesGroup,\n  tripRatesByDateMeta\n);\n\n/**\n * React Query hook for retrieving historical toll rates for a specified date range\n */\nexport const useTripRatesByDate: (\n  params?: FetchFunctionParams<TripRatesByDateInput>,\n  options?: QueryHookOptions<TollTripsRates[]>\n) => UseQueryResult<TollTripsRates[], Error> = createHook(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripRatesGroup,\n  tripRatesByDateMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { tollTripRatesGroup } from \"./shared/tollTripRates.endpoints\";\nimport {\n  type TripRatesByVersionInput,\n  tripRatesByVersionInputSchema,\n} from \"./shared/tollTripRates.input\";\nimport {\n  type TollTripsRates,\n  tollTripsRatesSchema,\n} from \"./shared/tollTripRates.output\";\n\n/**\n * Metadata for the fetchTripRatesByVersion endpoint\n */\nexport const tripRatesByVersionMeta = {\n  functionName: \"fetchTripRatesByVersion\",\n  endpoint: \"/getTripRatesByVersionAsJson?Version={Version}\",\n  inputSchema: tripRatesByVersionInputSchema,\n  outputSchema: tollTripsRatesSchema,\n  sampleParams: { Version: 352417 },\n  endpointDescription: \"Get toll rates for a specific version number.\",\n} satisfies EndpointMeta<TripRatesByVersionInput, TollTripsRates>;\n\n/**\n * Fetch function for retrieving toll rates for a specific version number\n */\nexport const fetchTripRatesByVersion: (\n  params?: FetchFunctionParams<TripRatesByVersionInput>\n) => Promise<TollTripsRates> = createFetchFunction(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripRatesGroup,\n  tripRatesByVersionMeta\n);\n\n/**\n * React Query hook for retrieving toll rates for a specific version number\n */\nexport const useTripRatesByVersion: (\n  params?: FetchFunctionParams<TripRatesByVersionInput>,\n  options?: QueryHookOptions<TollTripsRates>\n) => UseQueryResult<TollTripsRates, Error> = createHook(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripRatesGroup,\n  tripRatesByVersionMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { tollTripRatesMeta } from \"../tollTripRates\";\nimport { tripRatesByDateMeta } from \"../tripRatesByDate\";\nimport { tripRatesByVersionMeta } from \"../tripRatesByVersion\";\n\n/**\n * Endpoint group metadata for toll trip rates endpoints\n */\nexport const tollTripRatesGroup: EndpointGroupMeta = {\n  name: \"toll-trip-rates\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Comprehensive toll rate data for all trips including pricing, messages, and version tracking.\",\n    description:\n      \"Container for toll trip rates supporting current data, historical date ranges, and version-specific queries. Includes pricing details, informational messages, and version tracking for transportation planning.\",\n    useCases: [\n      \"Retrieve current toll rates for all trips.\",\n      \"Analyze historical toll pricing trends.\",\n      \"Access version-specific rate data for change tracking.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [tollTripRatesMeta, tripRatesByDateMeta, tripRatesByVersionMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { tollTripVersionGroup } from \"./shared/tollTripVersion.endpoints\";\nimport {\n  type TollTripVersionInput,\n  tollTripVersionInputSchema,\n} from \"./shared/tollTripVersion.input\";\nimport {\n  type TollTripVersion,\n  tollTripVersionSchema,\n} from \"./shared/tollTripVersion.output\";\n\n/**\n * Metadata for the fetchTollTripVersion endpoint\n */\nexport const tollTripVersionMeta = {\n  functionName: \"fetchTollTripVersion\",\n  endpoint: \"/getTollTripVersionAsJson\",\n  inputSchema: tollTripVersionInputSchema,\n  outputSchema: tollTripVersionSchema,\n  sampleParams: {},\n  endpointDescription: \"Get current version and timestamp for toll trip data.\",\n} satisfies EndpointMeta<TollTripVersionInput, TollTripVersion>;\n\n/**\n * Fetch function for retrieving current version and timestamp for toll trip data\n */\nexport const fetchTollTripVersion: (\n  params?: FetchFunctionParams<TollTripVersionInput>\n) => Promise<TollTripVersion> = createFetchFunction(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripVersionGroup,\n  tollTripVersionMeta\n);\n\n/**\n * React Query hook for retrieving current version and timestamp for toll trip data\n */\nexport const useTollTripVersion: (\n  params?: FetchFunctionParams<TollTripVersionInput>,\n  options?: QueryHookOptions<TollTripVersion>\n) => UseQueryResult<TollTripVersion, Error> = createHook(\n  () => require(\"../api\").wsdotTollRatesApi,\n  tollTripVersionGroup,\n  tollTripVersionMeta\n);\n\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { tollTripVersionMeta } from \"../tollTripVersion\";\n\n/**\n * Endpoint group metadata for toll trip version endpoints\n */\nexport const tollTripVersionGroup: EndpointGroupMeta = {\n  name: \"toll-trip-version\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary: \"Version and timestamp information for toll trip data.\",\n    description:\n      \"Current version number and timestamp for toll trip rates data, enabling cache management and data freshness tracking.\",\n    useCases: [\n      \"Check data freshness before fetching toll rates.\",\n      \"Determine when to invalidate cached toll rate data.\",\n      \"Track version changes for toll trip rates.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [tollTripVersionMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { tollRatesGroup } from \"./tollRates/shared/tollRates.endpoints\";\nimport { tollTripInfoGroup } from \"./tollTripInfo/shared/tollTripInfo.endpoints\";\nimport { tollTripRatesGroup } from \"./tollTripRates/shared/tollTripRates.endpoints\";\nimport { tollTripVersionGroup } from \"./tollTripVersion/shared/tollTripVersion.endpoints\";\n\nexport const wsdotTollRatesApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-toll-rates\",\n    baseUrl: \"https://www.wsdot.wa.gov/traffic/api/tollrates/tollratesrest.svc\",\n  },\n  endpointGroups: [\n    tollRatesGroup,\n    tollTripInfoGroup,\n    tollTripRatesGroup,\n    tollTripVersionGroup,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { flowDataGroup } from \"./shared/flowData.endpoints\";\nimport {\n  type TrafficFlowByIdInput,\n  trafficFlowByIdInputSchema,\n} from \"./shared/flowData.input\";\nimport { type FlowData, flowDataSchema } from \"./shared/flowData.output\";\n\n/**\n * Metadata for the fetchTrafficFlowById endpoint\n */\nexport const trafficFlowByIdMeta = {\n  functionName: \"fetchTrafficFlowById\",\n  endpoint: \"/getTrafficFlowAsJson?FlowDataID={FlowDataID}\",\n  inputSchema: trafficFlowByIdInputSchema,\n  outputSchema: flowDataSchema,\n  sampleParams: { FlowDataID: 2482 },\n  endpointDescription:\n    \"Get current traffic flow condition for a specific station by ID.\",\n} satisfies EndpointMeta<TrafficFlowByIdInput, FlowData>;\n\n/**\n * Fetch function for retrieving current traffic flow condition for a specific station by ID\n */\nexport const fetchTrafficFlowById: (\n  params?: FetchFunctionParams<TrafficFlowByIdInput>\n) => Promise<FlowData> = createFetchFunction(\n  () => require(\"../api\").wsdotTrafficFlowApi,\n  flowDataGroup,\n  trafficFlowByIdMeta\n);\n\n/**\n * React Query hook for retrieving current traffic flow condition for a specific station by ID\n */\nexport const useTrafficFlowById: (\n  params?: FetchFunctionParams<TrafficFlowByIdInput>,\n  options?: QueryHookOptions<FlowData>\n) => UseQueryResult<FlowData, Error> = createHook(\n  () => require(\"../api\").wsdotTrafficFlowApi,\n  flowDataGroup,\n  trafficFlowByIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { flowDataGroup } from \"./shared/flowData.endpoints\";\nimport {\n  type TrafficFlowsInput,\n  trafficFlowsInputSchema,\n} from \"./shared/flowData.input\";\nimport { type FlowData, flowDataSchema } from \"./shared/flowData.output\";\n\n/**\n * Metadata for the fetchTrafficFlows endpoint\n */\nexport const trafficFlowsMeta = {\n  functionName: \"fetchTrafficFlows\",\n  endpoint: \"/getTrafficFlowsAsJson\",\n  inputSchema: trafficFlowsInputSchema,\n  outputSchema: flowDataSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List current traffic flow conditions for all stations statewide.\",\n} satisfies EndpointMeta<TrafficFlowsInput, FlowData[]>;\n\n/**\n * Fetch function for retrieving current traffic flow conditions for all stations statewide\n */\nexport const fetchTrafficFlows: (\n  params?: FetchFunctionParams<TrafficFlowsInput>\n) => Promise<FlowData[]> = createFetchFunction(\n  () => require(\"../api\").wsdotTrafficFlowApi,\n  flowDataGroup,\n  trafficFlowsMeta\n);\n\n/**\n * React Query hook for retrieving current traffic flow conditions for all stations statewide\n */\nexport const useTrafficFlows: (\n  params?: FetchFunctionParams<TrafficFlowsInput>,\n  options?: QueryHookOptions<FlowData[]>\n) => UseQueryResult<FlowData[], Error> = createHook(\n  () => require(\"../api\").wsdotTrafficFlowApi,\n  flowDataGroup,\n  trafficFlowsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { trafficFlowByIdMeta } from \"../trafficFlowById\";\nimport { trafficFlowsMeta } from \"../trafficFlows\";\n\n/**\n * Endpoint group metadata for flow data endpoints\n */\nexport const flowDataGroup: EndpointGroupMeta = {\n  name: \"flow-data\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Real-time traffic flow conditions from sensor stations across Washington state.\",\n    description:\n      \"Current traffic flow readings, station locations, and timestamps for traffic monitoring and congestion detection.\",\n    useCases: [\n      \"Monitor real-time traffic flow conditions across Washington highways.\",\n      \"Detect congestion and traffic patterns for route planning.\",\n      \"Display current traffic status in traveler information systems.\",\n    ],\n    updateFrequency: \"90s\",\n  },\n  endpoints: [trafficFlowByIdMeta, trafficFlowsMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { flowDataGroup } from \"./flowData/shared/flowData.endpoints\";\n\nexport const wsdotTrafficFlowApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-traffic-flow\",\n    baseUrl:\n      \"https://www.wsdot.wa.gov/traffic/api/trafficflow/trafficflowrest.svc\",\n  },\n  endpointGroups: [flowDataGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { travelTimeRoutesGroup } from \"./shared/travelTimeRoutes.endpoints\";\nimport {\n  type TravelTimeByIdInput,\n  travelTimeByIdInputSchema,\n} from \"./shared/travelTimeRoutes.input\";\nimport {\n  type TravelTimeRoute,\n  travelTimeRouteSchema,\n} from \"./shared/travelTimeRoutes.output\";\n\n/**\n * Metadata for the fetchTravelTimeById endpoint\n */\nexport const travelTimeByIdMeta = {\n  functionName: \"fetchTravelTimeById\",\n  endpoint: \"/getTravelTimeAsJson?TravelTimeID={TravelTimeID}\",\n  inputSchema: travelTimeByIdInputSchema,\n  outputSchema: travelTimeRouteSchema,\n  sampleParams: { TravelTimeID: 1 },\n  endpointDescription: \"Get travel time data for a specific route by ID.\",\n} satisfies EndpointMeta<TravelTimeByIdInput, TravelTimeRoute>;\n\n/**\n * Fetch function for retrieving travel time data for a specific route by ID\n */\nexport const fetchTravelTimeById: (\n  params?: FetchFunctionParams<TravelTimeByIdInput>\n) => Promise<TravelTimeRoute> = createFetchFunction(\n  () => require(\"../api\").wsdotTravelTimesApi,\n  travelTimeRoutesGroup,\n  travelTimeByIdMeta\n);\n\n/**\n * React Query hook for retrieving travel time data for a specific route by ID\n */\nexport const useTravelTimeById: (\n  params?: FetchFunctionParams<TravelTimeByIdInput>,\n  options?: QueryHookOptions<TravelTimeRoute>\n) => UseQueryResult<TravelTimeRoute, Error> = createHook(\n  () => require(\"../api\").wsdotTravelTimesApi,\n  travelTimeRoutesGroup,\n  travelTimeByIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { travelTimeRoutesGroup } from \"./shared/travelTimeRoutes.endpoints\";\nimport {\n  type TravelTimesInput,\n  travelTimesInputSchema,\n} from \"./shared/travelTimeRoutes.input\";\nimport {\n  type TravelTimeRoute,\n  travelTimeRouteSchema,\n} from \"./shared/travelTimeRoutes.output\";\n\n/**\n * Metadata for the fetchTravelTimes endpoint\n */\nexport const travelTimesMeta = {\n  functionName: \"fetchTravelTimes\",\n  endpoint: \"/getTravelTimesAsJson\",\n  inputSchema: travelTimesInputSchema,\n  outputSchema: travelTimeRouteSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List travel time data for all available routes.\",\n} satisfies EndpointMeta<TravelTimesInput, TravelTimeRoute[]>;\n\n/**\n * Fetch function for retrieving travel time data for all available routes\n */\nexport const fetchTravelTimes: (\n  params?: FetchFunctionParams<TravelTimesInput>\n) => Promise<TravelTimeRoute[]> = createFetchFunction(\n  () => require(\"../api\").wsdotTravelTimesApi,\n  travelTimeRoutesGroup,\n  travelTimesMeta\n);\n\n/**\n * React Query hook for retrieving travel time data for all available routes\n */\nexport const useTravelTimes: (\n  params?: FetchFunctionParams<TravelTimesInput>,\n  options?: QueryHookOptions<TravelTimeRoute[]>\n) => UseQueryResult<TravelTimeRoute[], Error> = createHook(\n  () => require(\"../api\").wsdotTravelTimesApi,\n  travelTimeRoutesGroup,\n  travelTimesMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { travelTimeByIdMeta } from \"../travelTimeById\";\nimport { travelTimesMeta } from \"../travelTimes\";\n\n/**\n * Endpoint group metadata for travel time routes endpoints\n */\nexport const travelTimeRoutesGroup: EndpointGroupMeta = {\n  name: \"travel-time-routes\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Current and average travel times for major Washington State highway routes.\",\n    description:\n      \"Travel time data for routes in Seattle, Tacoma, and Snoqualmie Pass areas, including distance, start/end points, and comparison of current vs. average times.\",\n    useCases: [\n      \"Plan travel routes and estimate arrival times.\",\n      \"Compare current conditions against historical averages to identify delays.\",\n      \"Optimize departure times based on real-time traffic conditions.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [travelTimeByIdMeta, travelTimesMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { travelTimeRoutesGroup } from \"./travelTimeRoutes/shared/travelTimeRoutes.endpoints\";\n\nexport const wsdotTravelTimesApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-travel-times\",\n    baseUrl:\n      \"https://www.wsdot.wa.gov/traffic/api/traveltimes/traveltimesrest.svc\",\n  },\n  endpointGroups: [travelTimeRoutesGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { weatherInfoGroup } from \"./shared/weatherInfo.endpoints\";\nimport {\n  type CurrentWeatherForStationsInput,\n  currentWeatherForStationsInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n  type WeatherInfo,\n  weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the fetchCurrentWeatherForStations endpoint\n */\nexport const currentWeatherForStationsMeta = {\n  functionName: \"fetchCurrentWeatherForStations\",\n  endpoint: \"/GetCurrentWeatherForStationsAsJson?StationList={StationList}\",\n  inputSchema: currentWeatherForStationsInputSchema,\n  outputSchema: weatherInfoSchema.array(),\n  sampleParams: { StationList: \"1909,1966,1970\" },\n  endpointDescription:\n    \"Get current weather information for multiple specified stations.\",\n} satisfies EndpointMeta<CurrentWeatherForStationsInput, WeatherInfo[]>;\n\n/**\n * Fetch function for retrieving current weather information for multiple specified stations\n */\nexport const fetchCurrentWeatherForStations: (\n  params?: FetchFunctionParams<CurrentWeatherForStationsInput>\n) => Promise<WeatherInfo[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  currentWeatherForStationsMeta\n);\n\n/**\n * React Query hook for retrieving current weather information for multiple specified stations\n */\nexport const useCurrentWeatherForStations: (\n  params?: FetchFunctionParams<CurrentWeatherForStationsInput>,\n  options?: QueryHookOptions<WeatherInfo[]>\n) => UseQueryResult<WeatherInfo[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  currentWeatherForStationsMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { weatherInfoGroup } from \"./shared/weatherInfo.endpoints\";\nimport {\n  type SearchWeatherInformationInput,\n  searchWeatherInformationInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n  type WeatherInfo,\n  weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the searchWeatherInformation endpoint\n */\nexport const searchWeatherInformationMeta = {\n  functionName: \"searchWeatherInformation\",\n  endpoint:\n    \"/SearchWeatherInformationAsJson?StationID={StationID}&SearchStartTime={SearchStartTime}&SearchEndTime={SearchEndTime}\",\n  inputSchema: searchWeatherInformationInputSchema,\n  outputSchema: weatherInfoSchema.array(),\n  sampleParams: {\n    StationID: 1980,\n    SearchStartTime: new Date(\n      `${datesHelper.yesterday()}T00:00:00Z`\n    ).toISOString(),\n    SearchEndTime: new Date(`${datesHelper.today()}T23:59:59Z`).toISOString(),\n  },\n  endpointDescription:\n    \"Search historical weather information for a station within a time range.\",\n} satisfies EndpointMeta<SearchWeatherInformationInput, WeatherInfo[]>;\n\n/**\n * Fetch function for retrieving historical weather information for a station within a time range\n */\nexport const searchWeatherInformation: (\n  params?: FetchFunctionParams<SearchWeatherInformationInput>\n) => Promise<WeatherInfo[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  searchWeatherInformationMeta\n);\n\n/**\n * React Query hook for retrieving historical weather information for a station within a time range\n */\nexport const useSearchWeatherInformation: (\n  params?: FetchFunctionParams<SearchWeatherInformationInput>,\n  options?: QueryHookOptions<WeatherInfo[]>\n) => UseQueryResult<WeatherInfo[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  searchWeatherInformationMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { weatherInfoGroup } from \"./shared/weatherInfo.endpoints\";\nimport {\n  type WeatherInformationByStationIdInput,\n  weatherInformationByStationIdInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n  type WeatherInfo,\n  weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the fetchWeatherInformationByStationId endpoint\n */\nexport const weatherInformationByStationIdMeta = {\n  functionName: \"fetchWeatherInformationByStationId\",\n  endpoint:\n    \"/GetCurrentWeatherInformationByStationIDAsJson?StationID={StationID}\",\n  inputSchema: weatherInformationByStationIdInputSchema,\n  outputSchema: weatherInfoSchema,\n  sampleParams: { StationID: 1909 },\n  endpointDescription:\n    \"Get current weather information for a specific station by ID.\",\n} satisfies EndpointMeta<WeatherInformationByStationIdInput, WeatherInfo>;\n\n/**\n * Fetch function for retrieving current weather information for a specific station by ID\n */\nexport const fetchWeatherInformationByStationId: (\n  params?: FetchFunctionParams<WeatherInformationByStationIdInput>\n) => Promise<WeatherInfo> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  weatherInformationByStationIdMeta\n);\n\n/**\n * React Query hook for retrieving current weather information for a specific station by ID\n */\nexport const useWeatherInformationByStationId: (\n  params?: FetchFunctionParams<WeatherInformationByStationIdInput>,\n  options?: QueryHookOptions<WeatherInfo>\n) => UseQueryResult<WeatherInfo, Error> = createHook(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  weatherInformationByStationIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { weatherInfoGroup } from \"./shared/weatherInfo.endpoints\";\nimport {\n  type WeatherInformationInput,\n  weatherInformationInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n  type WeatherInfo,\n  weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the fetchWeatherInformation endpoint\n */\nexport const weatherInformationMeta = {\n  functionName: \"fetchWeatherInformation\",\n  endpoint: \"/GetCurrentWeatherInformationAsJson\",\n  inputSchema: weatherInformationInputSchema,\n  outputSchema: weatherInfoSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List current weather information for all stations.\",\n} satisfies EndpointMeta<WeatherInformationInput, WeatherInfo[]>;\n\n/**\n * Fetch function for retrieving current weather information for all stations\n */\nexport const fetchWeatherInformation: (\n  params?: FetchFunctionParams<WeatherInformationInput>\n) => Promise<WeatherInfo[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  weatherInformationMeta\n);\n\n/**\n * React Query hook for retrieving current weather information for all stations\n */\nexport const useWeatherInformation: (\n  params?: FetchFunctionParams<WeatherInformationInput>,\n  options?: QueryHookOptions<WeatherInfo[]>\n) => UseQueryResult<WeatherInfo[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherInformationApi,\n  weatherInfoGroup,\n  weatherInformationMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { currentWeatherForStationsMeta } from \"../currentWeatherForStations\";\nimport { searchWeatherInformationMeta } from \"../searchWeatherInformation\";\nimport { weatherInformationByStationIdMeta } from \"../weatherInformationByStationId\";\nimport { weatherInformationMeta } from \"../weatherInformation\";\n\n/**\n * Endpoint group metadata for weather information endpoints\n */\nexport const weatherInfoGroup: EndpointGroupMeta = {\n  name: \"weather-info\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Current atmospheric conditions from WSDOT Road Weather Information System stations.\",\n    description:\n      \"Real-time temperature, humidity, wind conditions, visibility, barometric pressure, and precipitation data for transportation operations.\",\n    useCases: [\n      \"Assess road weather conditions for transportation management.\",\n      \"Monitor atmospheric data for traveler safety decisions.\",\n      \"Display current weather conditions at specific stations.\",\n      \"Query historical weather data by station and time range.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [\n    weatherInformationMeta,\n    weatherInformationByStationIdMeta,\n    currentWeatherForStationsMeta,\n    searchWeatherInformationMeta,\n  ],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { weatherInfoGroup } from \"./weatherInfo/shared/weatherInfo.endpoints\";\n\nexport const wsdotWeatherInformationApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-weather-information\",\n    baseUrl:\n      \"https://wsdot.wa.gov/traffic/api/WeatherInformation/WeatherInformationREST.svc\",\n  },\n  endpointGroups: [weatherInfoGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { subSurfaceMeasurementsGroup } from \"./shared/subSurfaceMeasurements.endpoints\";\nimport {\n  type SubSurfaceMeasurementsInput,\n  subSurfaceMeasurementsInputSchema,\n} from \"./shared/subSurfaceMeasurements.input\";\nimport {\n  type SubsurfaceMeasurement,\n  subsurfaceMeasurementSchema,\n} from \"./shared/subSurfaceMeasurements.output\";\n\n/**\n * Metadata for the fetchSubSurfaceMeasurements endpoint\n */\nexport const subSurfaceMeasurementsMeta = {\n  functionName: \"fetchSubSurfaceMeasurements\",\n  endpoint: \"/Scanweb/SubSurfaceMeasurements\",\n  inputSchema: subSurfaceMeasurementsInputSchema,\n  outputSchema: subsurfaceMeasurementSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List subsurface measurements from all weather stations statewide.\",\n} satisfies EndpointMeta<SubSurfaceMeasurementsInput, SubsurfaceMeasurement[]>;\n\n/**\n * Fetch function for retrieving subsurface measurements from all weather stations statewide\n */\nexport const fetchSubSurfaceMeasurements: (\n  params?: FetchFunctionParams<SubSurfaceMeasurementsInput>\n) => Promise<SubsurfaceMeasurement[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherReadingsApi,\n  subSurfaceMeasurementsGroup,\n  subSurfaceMeasurementsMeta\n);\n\n/**\n * React Query hook for retrieving subsurface measurements from all weather stations statewide\n */\nexport const useSubSurfaceMeasurements: (\n  params?: FetchFunctionParams<SubSurfaceMeasurementsInput>,\n  options?: QueryHookOptions<SubsurfaceMeasurement[]>\n) => UseQueryResult<SubsurfaceMeasurement[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherReadingsApi,\n  subSurfaceMeasurementsGroup,\n  subSurfaceMeasurementsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { subSurfaceMeasurementsMeta } from \"../subSurfaceMeasurements\";\n\n/**\n * Endpoint group metadata for sub-surface measurements endpoints\n */\nexport const subSurfaceMeasurementsGroup: EndpointGroupMeta = {\n  name: \"sub-surface-measurements\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Subsurface temperature measurements from sensors embedded below road pavement.\",\n    description:\n      \"Ground temperature data from sensors embedded 12-18 inches below road pavement surfaces for monitoring ground temperature conditions.\",\n    useCases: [\n      \"Monitor ground temperature conditions for winter maintenance operations.\",\n      \"Predict road surface conditions based on subsurface temperature trends.\",\n      \"Assess travel safety by understanding ground temperature patterns.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [subSurfaceMeasurementsMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { surfaceMeasurementsGroup } from \"./shared/surfaceMeasurements.endpoints\";\nimport {\n  type SurfaceMeasurementsInput,\n  surfaceMeasurementsInputSchema,\n} from \"./shared/surfaceMeasurements.input\";\nimport {\n  type SurfaceMeasurement,\n  surfaceMeasurementSchema,\n} from \"./shared/surfaceMeasurements.output\";\n\n/**\n * Metadata for the fetchSurfaceMeasurements endpoint\n */\nexport const surfaceMeasurementsMeta = {\n  functionName: \"fetchSurfaceMeasurements\",\n  endpoint: \"/Scanweb/SurfaceMeasurements\",\n  inputSchema: surfaceMeasurementsInputSchema,\n  outputSchema: surfaceMeasurementSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List surface measurements from all weather stations.\",\n} satisfies EndpointMeta<SurfaceMeasurementsInput, SurfaceMeasurement[]>;\n\n/**\n * Fetch function for retrieving surface measurements from all weather stations\n */\nexport const fetchSurfaceMeasurements: (\n  params?: FetchFunctionParams<SurfaceMeasurementsInput>\n) => Promise<SurfaceMeasurement[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherReadingsApi,\n  surfaceMeasurementsGroup,\n  surfaceMeasurementsMeta\n);\n\n/**\n * React Query hook for retrieving surface measurements from all weather stations\n */\nexport const useSurfaceMeasurements: (\n  params?: FetchFunctionParams<SurfaceMeasurementsInput>,\n  options?: QueryHookOptions<SurfaceMeasurement[]>\n) => UseQueryResult<SurfaceMeasurement[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherReadingsApi,\n  surfaceMeasurementsGroup,\n  surfaceMeasurementsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { surfaceMeasurementsMeta } from \"../surfaceMeasurements\";\n\n/**\n * Endpoint group metadata for surface measurements endpoints\n */\nexport const surfaceMeasurementsGroup: EndpointGroupMeta = {\n  name: \"surface-measurements\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Surface sensor measurements from WSDOT weather stations statewide.\",\n    description:\n      \"Pavement surface temperature, road freezing temperature, and road surface condition codes from sensors embedded in or mounted on road surfaces.\",\n    useCases: [\n      \"Monitor road surface conditions for winter maintenance operations.\",\n      \"Assess pavement temperature and freezing risk.\",\n      \"Evaluate travel safety based on surface condition codes.\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [surfaceMeasurementsMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { weatherReadingsGroup } from \"./shared/weatherReadings.endpoints\";\nimport {\n  type WeatherReadingsInput,\n  weatherReadingsInputSchema,\n} from \"./shared/weatherReadings.input\";\nimport {\n  type WeatherReading,\n  weatherReadingSchema,\n} from \"./shared/weatherReadings.output\";\n\n/**\n * Metadata for the fetchWeatherReadings endpoint\n */\nexport const weatherReadingsMeta = {\n  functionName: \"fetchWeatherReadings\",\n  endpoint: \"/Scanweb\",\n  inputSchema: weatherReadingsInputSchema,\n  outputSchema: weatherReadingSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List comprehensive weather readings from all weather stations.\",\n} satisfies EndpointMeta<WeatherReadingsInput, WeatherReading[]>;\n\n/**\n * Fetch function for retrieving comprehensive weather readings from all weather stations\n */\nexport const fetchWeatherReadings: (\n  params?: FetchFunctionParams<WeatherReadingsInput>\n) => Promise<WeatherReading[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherReadingsApi,\n  weatherReadingsGroup,\n  weatherReadingsMeta\n);\n\n/**\n * React Query hook for retrieving comprehensive weather readings from all weather stations\n */\nexport const useWeatherReadings: (\n  params?: FetchFunctionParams<WeatherReadingsInput>,\n  options?: QueryHookOptions<WeatherReading[]>\n) => UseQueryResult<WeatherReading[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherReadingsApi,\n  weatherReadingsGroup,\n  weatherReadingsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { weatherReadingsMeta } from \"../weatherReadings\";\n\n/**\n * Endpoint group metadata for weather readings endpoints\n */\nexport const weatherReadingsGroup: EndpointGroupMeta = {\n  name: \"weather-readings\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Comprehensive weather readings from all WSDOT weather stations statewide.\",\n    description:\n      \"Complete weather data including air temperature, humidity, wind conditions, visibility, precipitation across multiple time periods, barometric pressure, snow depth, and surface/subsurface sensor measurements.\",\n    useCases: [\n      \"Access complete weather station data for comprehensive analysis.\",\n      \"Monitor atmospheric and surface conditions for transportation operations.\",\n      \"Track precipitation across multiple time periods (1h, 3h, 6h, 12h, 24h).\",\n    ],\n    updateFrequency: \"5m\",\n  },\n  endpoints: [weatherReadingsMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { subSurfaceMeasurementsGroup } from \"./subSurfaceMeasurements/shared/subSurfaceMeasurements.endpoints\";\nimport { surfaceMeasurementsGroup } from \"./surfaceMeasurements/shared/surfaceMeasurements.endpoints\";\nimport { weatherReadingsGroup } from \"./weatherReadings/shared/weatherReadings.endpoints\";\n\nexport const wsdotWeatherReadingsApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-weather-readings\",\n    baseUrl: \"https://www.wsdot.wa.gov/traffic/api/api\",\n  },\n  endpointGroups: [\n    weatherReadingsGroup,\n    surfaceMeasurementsGroup,\n    subSurfaceMeasurementsGroup,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { weatherStationsGroup } from \"./shared/weatherStations.endpoints\";\nimport {\n  type WeatherStationsInput,\n  weatherStationsInputSchema,\n} from \"./shared/weatherStations.input\";\nimport {\n  type WeatherStation,\n  weatherStationSchema,\n} from \"./shared/weatherStations.output\";\n\n/**\n * Metadata for the fetchWeatherStations endpoint\n */\nexport const weatherStationsMeta = {\n  functionName: \"fetchWeatherStations\",\n  endpoint: \"/GetCurrentStationsAsJson\",\n  inputSchema: weatherStationsInputSchema,\n  outputSchema: weatherStationSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List weather station metadata for all stations statewide.\",\n} satisfies EndpointMeta<WeatherStationsInput, WeatherStation[]>;\n\n/**\n * Fetch function for retrieving weather station metadata for all stations statewide\n */\nexport const fetchWeatherStations: (\n  params?: FetchFunctionParams<WeatherStationsInput>\n) => Promise<WeatherStation[]> = createFetchFunction(\n  () => require(\"../api\").wsdotWeatherStationsApi,\n  weatherStationsGroup,\n  weatherStationsMeta\n);\n\n/**\n * React Query hook for retrieving weather station metadata for all stations statewide\n */\nexport const useWeatherStations: (\n  params?: FetchFunctionParams<WeatherStationsInput>,\n  options?: QueryHookOptions<WeatherStation[]>\n) => UseQueryResult<WeatherStation[], Error> = createHook(\n  () => require(\"../api\").wsdotWeatherStationsApi,\n  weatherStationsGroup,\n  weatherStationsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { weatherStationsMeta } from \"../weatherStations\";\n\n/**\n * Endpoint group metadata for weather stations endpoints\n */\nexport const weatherStationsGroup: EndpointGroupMeta = {\n  name: \"weather-stations\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary:\n      \"Weather station metadata and location information for WSDOT Road Weather Information System stations statewide.\",\n    description:\n      \"Station identifiers, names, and location coordinates for weather stations that collect atmospheric and pavement condition data.\",\n    useCases: [\n      \"Discover weather stations by location for weather data queries.\",\n      \"Identify station identifiers and names for weather data lookups.\",\n      \"Support location-based weather station searches.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [weatherStationsMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { weatherStationsGroup } from \"./weatherStations/shared/weatherStations.endpoints\";\n\nexport const wsdotWeatherStationsApi: ApiDefinition = {\n  api: {\n    name: \"wsdot-weather-stations\",\n    baseUrl:\n      \"https://wsdot.wa.gov/traffic/api/WeatherStations/WeatherStationsREST.svc\",\n  },\n  endpointGroups: [weatherStationsGroup],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { fareLineItemsGroup } from \"./shared/fareLineItems.endpoints\";\nimport {\n  type FareLineItemsBasicInput,\n  fareLineItemsBasicInputSchema,\n} from \"./shared/fareLineItems.input\";\nimport { type LineItem, lineItemSchema } from \"./shared/fareLineItems.output\";\n\n/**\n * Metadata for the fetchFareLineItemsBasic endpoint\n */\nexport const fareLineItemsBasicMeta = {\n  functionName: \"fetchFareLineItemsBasic\",\n  endpoint:\n    \"/fareLineItemsBasic/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}/{RoundTrip}\",\n  inputSchema: fareLineItemsBasicInputSchema,\n  outputSchema: lineItemSchema.array(),\n  sampleParams: {\n    TripDate: datesHelper.tomorrow(),\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n    RoundTrip: false,\n  },\n  endpointDescription:\n    \"List popular fare line items for a terminal combination.\",\n} satisfies EndpointMeta<FareLineItemsBasicInput, LineItem[]>;\n\n/**\n * Fetch function for retrieving popular fare line items for a terminal combination\n */\nexport const fetchFareLineItemsBasic: (\n  params?: FetchFunctionParams<FareLineItemsBasicInput>\n) => Promise<LineItem[]> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  fareLineItemsGroup,\n  fareLineItemsBasicMeta\n);\n\n/**\n * React Query hook for retrieving popular fare line items for a terminal combination\n */\nexport const useFareLineItemsBasic: (\n  params?: FetchFunctionParams<FareLineItemsBasicInput>,\n  options?: QueryHookOptions<LineItem[]>\n) => UseQueryResult<LineItem[], Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  fareLineItemsGroup,\n  fareLineItemsBasicMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { fareLineItemsGroup } from \"./shared/fareLineItems.endpoints\";\nimport {\n  type FareLineItemsByTripDateAndTerminalsInput,\n  fareLineItemsByTripDateAndTerminalsInputSchema,\n} from \"./shared/fareLineItems.input\";\nimport { type LineItem, lineItemSchema } from \"./shared/fareLineItems.output\";\n\n/**\n * Metadata for the fetchFareLineItemsByTripDateAndTerminals endpoint\n */\nexport const fareLineItemsByTripDateAndTerminalsMeta = {\n  functionName: \"fetchFareLineItemsByTripDateAndTerminals\",\n  endpoint:\n    \"/fareLineItems/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}/{RoundTrip}\",\n  inputSchema: fareLineItemsByTripDateAndTerminalsInputSchema,\n  outputSchema: lineItemSchema.array(),\n  sampleParams: {\n    TripDate: datesHelper.tomorrow(),\n    DepartingTerminalID: 3,\n    ArrivingTerminalID: 7,\n    RoundTrip: false,\n  },\n  endpointDescription:\n    \"List all fare line items for a specific terminal combination and trip type.\",\n} satisfies EndpointMeta<FareLineItemsByTripDateAndTerminalsInput, LineItem[]>;\n\n/**\n * Fetch function for retrieving all fare line items for a specific terminal combination and trip type\n */\nexport const fetchFareLineItemsByTripDateAndTerminals: (\n  params?: FetchFunctionParams<FareLineItemsByTripDateAndTerminalsInput>\n) => Promise<LineItem[]> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  fareLineItemsGroup,\n  fareLineItemsByTripDateAndTerminalsMeta\n);\n\n/**\n * React Query hook for retrieving all fare line items for a specific terminal combination and trip type\n */\nexport const useFareLineItemsByTripDateAndTerminals: (\n  params?: FetchFunctionParams<FareLineItemsByTripDateAndTerminalsInput>,\n  options?: QueryHookOptions<LineItem[]>\n) => UseQueryResult<LineItem[], Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  fareLineItemsGroup,\n  fareLineItemsByTripDateAndTerminalsMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { fareLineItemsGroup } from \"./shared/fareLineItems.endpoints\";\nimport {\n  type FareLineItemsVerboseInput,\n  fareLineItemsVerboseInputSchema,\n} from \"./shared/fareLineItems.input\";\nimport {\n  type LineItemVerbose,\n  lineItemVerboseSchema,\n} from \"./shared/fareLineItems.output\";\n\n/**\n * Metadata for the fetchFareLineItemsVerbose endpoint\n */\nexport const fareLineItemsVerboseMeta = {\n  functionName: \"fetchFareLineItemsVerbose\",\n  endpoint: \"/fareLineItemsVerbose/{TripDate}\",\n  inputSchema: fareLineItemsVerboseInputSchema,\n  outputSchema: lineItemVerboseSchema,\n  sampleParams: { TripDate: datesHelper.today() },\n  endpointDescription:\n    \"Get all fare line items for all terminal combinations on a trip date.\",\n} satisfies EndpointMeta<FareLineItemsVerboseInput, LineItemVerbose>;\n\n/**\n * Fetch function for retrieving all fare line items for all terminal combinations on a trip date\n */\nexport const fetchFareLineItemsVerbose: (\n  params?: FetchFunctionParams<FareLineItemsVerboseInput>\n) => Promise<LineItemVerbose> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  fareLineItemsGroup,\n  fareLineItemsVerboseMeta\n);\n\n/**\n * React Query hook for retrieving all fare line items for all terminal combinations on a trip date\n */\nexport const useFareLineItemsVerbose: (\n  params?: FetchFunctionParams<FareLineItemsVerboseInput>,\n  options?: QueryHookOptions<LineItemVerbose>\n) => UseQueryResult<LineItemVerbose, Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  fareLineItemsGroup,\n  fareLineItemsVerboseMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { fareLineItemsBasicMeta } from \"../fareLineItemsBasic\";\nimport { fareLineItemsByTripDateAndTerminalsMeta } from \"../fareLineItemsByTripDateAndTerminals\";\nimport { fareLineItemsVerboseMeta } from \"../fareLineItemsVerbose\";\n\n/**\n * Endpoint group metadata for fare line items endpoints\n */\nexport const fareLineItemsGroup: EndpointGroupMeta = {\n  name: \"fare-line-items\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Individual fare components for WSF routes by passenger and vehicle types.\",\n    description:\n      \"Fare line items represent pricing components for different passenger categories, vehicle types, and route combinations. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display fare options for different passenger and vehicle types.\",\n      \"Calculate journey costs based on route and demographics.\",\n      \"Build fare selection interfaces for ticket purchasing.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [\n    fareLineItemsBasicMeta,\n    fareLineItemsByTripDateAndTerminalsMeta,\n    fareLineItemsVerboseMeta,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { fareTotalsGroup } from \"./shared/fareTotals.endpoints\";\nimport {\n  type FareTotalsByTripDateAndRouteInput,\n  fareTotalsByTripDateAndRouteInputSchema,\n} from \"./shared/fareTotals.input\";\nimport {\n  type FareTotal,\n  fareTotalSchema,\n} from \"./shared/fareTotals.output\";\n\n/**\n * Metadata for the fetchFareTotalsByTripDateAndRoute endpoint\n */\nexport const fareTotalsByTripDateAndRouteMeta = {\n  functionName: \"fetchFareTotalsByTripDateAndRoute\",\n  endpoint:\n    \"/fareTotals/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}/{RoundTrip}/{FareLineItemID}/{Quantity}\",\n  inputSchema: fareTotalsByTripDateAndRouteInputSchema,\n  outputSchema: fareTotalSchema.array(),\n  sampleParams: {\n    TripDate: datesHelper.today(),\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n    RoundTrip: false,\n    FareLineItemID: \"1,2\",\n    Quantity: \"3,1\",\n  },\n  endpointDescription:\n    \"Calculate fare totals for a terminal combination with selected line items and quantities.\",\n} satisfies EndpointMeta<FareTotalsByTripDateAndRouteInput, FareTotal[]>;\n\n/**\n * Fetch function for calculating fare totals for a terminal combination with selected line items and quantities\n */\nexport const fetchFareTotalsByTripDateAndRoute: (\n  params?: FetchFunctionParams<FareTotalsByTripDateAndRouteInput>\n) => Promise<FareTotal[]> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  fareTotalsGroup,\n  fareTotalsByTripDateAndRouteMeta\n);\n\n/**\n * React Query hook for calculating fare totals for a terminal combination with selected line items and quantities\n */\nexport const useFareTotalsByTripDateAndRoute: (\n  params?: FetchFunctionParams<FareTotalsByTripDateAndRouteInput>,\n  options?: QueryHookOptions<FareTotal[]>\n) => UseQueryResult<FareTotal[], Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  fareTotalsGroup,\n  fareTotalsByTripDateAndRouteMeta\n);\n\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { fareTotalsByTripDateAndRouteMeta } from \"../fareTotalsByTripDateAndRoute\";\n\n/**\n * Endpoint group metadata for fare totals endpoints\n */\nexport const fareTotalsGroup: EndpointGroupMeta = {\n  name: \"fare-totals\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Calculated fare totals for WSF journeys by selected line items and quantities.\",\n    description:\n      \"Fare totals combine individual fare line items with quantities to provide complete pricing breakdowns including departing, return, direction-independent, and grand totals. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Calculate complete journey costs for ticket pricing.\",\n      \"Display fare breakdowns by leg and total amount.\",\n      \"Process payment amounts for ferry trips.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [fareTotalsByTripDateAndRouteMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { terminalComboGroup } from \"./shared/terminalCombo.endpoints\";\nimport {\n  type TerminalComboInput,\n  terminalComboInputSchema,\n} from \"./shared/terminalCombo.input\";\nimport {\n  type TerminalComboFares,\n  terminalComboFaresSchema,\n} from \"./shared/terminalCombo.output\";\n\n/**\n * Metadata for the fetchTerminalComboFares endpoint\n */\nexport const terminalComboFaresMeta = {\n  functionName: \"fetchTerminalComboFares\",\n  endpoint:\n    \"/terminalCombo/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}\",\n  inputSchema: terminalComboInputSchema,\n  outputSchema: terminalComboFaresSchema,\n  sampleParams: {\n    TripDate: datesHelper.tomorrow(),\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n  },\n  endpointDescription:\n    \"Get fare collection description for a specific terminal combination and trip date.\",\n} satisfies EndpointMeta<TerminalComboInput, TerminalComboFares>;\n\n/**\n * Fetch function for retrieving fare collection description for a specific terminal combination and trip date\n */\nexport const fetchTerminalComboFares: (\n  params?: FetchFunctionParams<TerminalComboInput>\n) => Promise<TerminalComboFares> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  terminalComboGroup,\n  terminalComboFaresMeta\n);\n\n/**\n * React Query hook for retrieving fare collection description for a specific terminal combination and trip date\n */\nexport const useTerminalComboFares: (\n  params?: FetchFunctionParams<TerminalComboInput>,\n  options?: QueryHookOptions<TerminalComboFares>\n) => UseQueryResult<TerminalComboFares, Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  terminalComboGroup,\n  terminalComboFaresMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { terminalComboGroup } from \"./shared/terminalCombo.endpoints\";\nimport {\n  type TerminalComboFaresVerboseInput,\n  terminalComboFaresVerboseInputSchema,\n} from \"./shared/terminalCombo.input\";\nimport {\n  type TerminalComboFaresVerbose,\n  terminalComboFaresVerboseSchema,\n} from \"./shared/terminalCombo.output\";\n\n/**\n * Metadata for the fetchTerminalComboFaresVerbose endpoint\n */\nexport const terminalComboFaresVerboseMeta = {\n  functionName: \"fetchTerminalComboFaresVerbose\",\n  endpoint: \"/terminalComboVerbose/{TripDate}\",\n  inputSchema: terminalComboFaresVerboseInputSchema,\n  outputSchema: terminalComboFaresVerboseSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription:\n    \"Get fare collection descriptions for all terminal combinations on a trip date.\",\n} satisfies EndpointMeta<\n  TerminalComboFaresVerboseInput,\n  TerminalComboFaresVerbose[]\n>;\n\n/**\n * Fetch function for retrieving fare collection descriptions for all terminal combinations on a trip date\n */\nexport const fetchTerminalComboFaresVerbose: (\n  params?: FetchFunctionParams<TerminalComboFaresVerboseInput>\n) => Promise<TerminalComboFaresVerbose[]> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  terminalComboGroup,\n  terminalComboFaresVerboseMeta\n);\n\n/**\n * React Query hook for retrieving fare collection descriptions for all terminal combinations on a trip date\n */\nexport const useTerminalComboFaresVerbose: (\n  params?: FetchFunctionParams<TerminalComboFaresVerboseInput>,\n  options?: QueryHookOptions<TerminalComboFaresVerbose[]>\n) => UseQueryResult<TerminalComboFaresVerbose[], Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  terminalComboGroup,\n  terminalComboFaresVerboseMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalComboFaresMeta } from \"../terminalComboFares\";\nimport { terminalComboFaresVerboseMeta } from \"../terminalComboFaresVerbose\";\n\n/**\n * Endpoint group metadata for terminal combo endpoints\n */\nexport const terminalComboGroup: EndpointGroupMeta = {\n  name: \"terminal-combo\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Valid terminal pairings with fare collection procedures for WSF routes.\",\n    description:\n      \"Terminal combinations define which terminals are connected and describe where and how fares are collected for each route. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Determine route availability between terminal pairs.\",\n      \"Understand fare collection procedures for specific routes.\",\n      \"Build journey planning interfaces with fare collection details.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [terminalComboFaresMeta, terminalComboFaresVerboseMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport {\n  type TerminalsInput,\n  terminalsInputSchema,\n} from \"@/apis/shared/terminals.input\";\nimport {\n  type TerminalList,\n  terminalListSchema,\n} from \"@/apis/shared/terminals.output\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { terminalsGroup } from \"./shared/terminals.endpoints\";\n\n/**\n * Metadata for the fetchTerminalFares endpoint\n */\nexport const terminalFaresMeta = {\n  functionName: \"fetchTerminalFares\",\n  endpoint: \"/terminals/{TripDate}\",\n  inputSchema: terminalsInputSchema,\n  outputSchema: terminalListSchema,\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription: \"List valid departing terminals for a trip date.\",\n} satisfies EndpointMeta<TerminalsInput, TerminalList>;\n\n/**\n * Fetch function for retrieving valid departing terminals for a trip date\n */\nexport const fetchTerminalFares: (\n  params?: FetchFunctionParams<TerminalsInput>\n) => Promise<TerminalList> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  terminalsGroup,\n  terminalFaresMeta\n);\n\n/**\n * React Query hook for retrieving valid departing terminals for a trip date\n */\nexport const useTerminalFares: (\n  params?: FetchFunctionParams<TerminalsInput>,\n  options?: QueryHookOptions<TerminalList>\n) => UseQueryResult<TerminalList, Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  terminalsGroup,\n  terminalFaresMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport {\n  type TerminalMatesInput,\n  terminalMatesInputSchema,\n} from \"@/apis/shared/terminals.input\";\nimport {\n  type TerminalList,\n  terminalListSchema,\n} from \"@/apis/shared/terminals.output\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { terminalsGroup } from \"./shared/terminals.endpoints\";\n\n/**\n * Metadata for the fetchTerminalMatesFares endpoint\n */\nexport const terminalMatesFaresMeta = {\n  functionName: \"fetchTerminalMatesFares\",\n  endpoint: \"/terminalMates/{TripDate}/{TerminalID}\",\n  inputSchema: terminalMatesInputSchema,\n  outputSchema: terminalListSchema,\n  sampleParams: { TripDate: datesHelper.tomorrow(), TerminalID: 1 },\n  endpointDescription:\n    \"List arriving terminals for a given departing terminal and trip date.\",\n} satisfies EndpointMeta<TerminalMatesInput, TerminalList>;\n\n/**\n * Fetch function for retrieving arriving terminals for a given departing terminal and trip date\n */\nexport const fetchTerminalMatesFares: (\n  params?: FetchFunctionParams<TerminalMatesInput>\n) => Promise<TerminalList> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  terminalsGroup,\n  terminalMatesFaresMeta\n);\n\n/**\n * React Query hook for retrieving arriving terminals for a given departing terminal and trip date\n */\nexport const useTerminalMatesFares: (\n  params?: FetchFunctionParams<TerminalMatesInput>,\n  options?: QueryHookOptions<TerminalList>\n) => UseQueryResult<TerminalList, Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  terminalsGroup,\n  terminalMatesFaresMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalFaresMeta } from \"../terminalFares\";\nimport { terminalMatesFaresMeta } from \"../terminalMatesFares\";\n\n/**\n * Endpoint group metadata for terminals endpoints\n */\nexport const terminalsGroup: EndpointGroupMeta = {\n  name: \"terminals\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"WSF terminal facilities serving as departure and arrival points for ferry routes.\",\n    description:\n      \"Terminals represent port facilities with unique identifiers and names. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display terminal options for trip planning interfaces.\",\n      \"Determine valid terminal pairs for route selection.\",\n      \"Build terminal lookup and navigation features.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [terminalFaresMeta, terminalMatesFaresMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport {\n  type ValidDateRange,\n  validDateRangeSchema,\n} from \"@/apis/shared/validDateRange.output\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { validDateRangeGroup } from \"./shared/validDateRange.endpoints\";\nimport {\n  type FaresValidDateRangeInput,\n  faresValidDateRangeInputSchema,\n} from \"./shared/validDateRange.input\";\n\n/**\n * Metadata for the fetchFaresValidDateRange endpoint\n */\nexport const faresValidDateRangeMeta = {\n  functionName: \"fetchFaresValidDateRange\",\n  endpoint: \"/validdaterange\",\n  inputSchema: faresValidDateRangeInputSchema,\n  outputSchema: validDateRangeSchema,\n  sampleParams: {},\n  endpointDescription: \"Get the validity date range for published fares data.\",\n} satisfies EndpointMeta<FaresValidDateRangeInput, ValidDateRange>;\n\n/**\n * Fetch function for retrieving the validity date range for published fares data\n */\nexport const fetchFaresValidDateRange: (\n  params?: FetchFunctionParams<FaresValidDateRangeInput>\n) => Promise<ValidDateRange> = createFetchFunction(\n  () => require(\"../api\").wsfFaresApi,\n  validDateRangeGroup,\n  faresValidDateRangeMeta\n);\n\n/**\n * React Query hook for retrieving the validity date range for published fares data\n */\nexport const useFaresValidDateRange: (\n  params?: FetchFunctionParams<FaresValidDateRangeInput>,\n  options?: QueryHookOptions<ValidDateRange>\n) => UseQueryResult<ValidDateRange, Error> = createHook(\n  () => require(\"../api\").wsfFaresApi,\n  validDateRangeGroup,\n  faresValidDateRangeMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { faresValidDateRangeMeta } from \"../faresValidDateRange\";\n\n/**\n * Endpoint group metadata for valid date range endpoints\n */\nexport const validDateRangeGroup: EndpointGroupMeta = {\n  name: \"valid-date-range\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Validity period for published WSF fare data.\",\n    description:\n      \"Returns the start and end dates between which fare information is accurate and available for all ferry routes. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Determine valid trip dates for fare queries.\",\n      \"Validate trip date inputs before calling other endpoints.\",\n      \"Display available date ranges in booking interfaces.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [faresValidDateRangeMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { cacheFlushDateFaresGroup } from \"./cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport { fareLineItemsGroup } from \"./fareLineItems/shared/fareLineItems.endpoints\";\nimport { fareTotalsGroup } from \"./fareTotals/shared/fareTotals.endpoints\";\nimport { terminalComboGroup } from \"./terminalCombo/shared/terminalCombo.endpoints\";\nimport { terminalsGroup } from \"./terminals/shared/terminals.endpoints\";\nimport { validDateRangeGroup } from \"./validDateRange/shared/validDateRange.endpoints\";\n\nexport const wsfFaresApi: ApiDefinition = {\n  api: {\n    name: \"wsf-fares\",\n    baseUrl: \"https://www.wsdot.wa.gov/ferries/api/fares/rest\",\n  },\n  endpointGroups: [\n    cacheFlushDateFaresGroup,\n    validDateRangeGroup,\n    terminalsGroup,\n    terminalComboGroup,\n    fareLineItemsGroup,\n    fareTotalsGroup,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { activeSeasonsGroup } from \"./shared/activeSeasons.endpoints\";\nimport {\n  type ActiveSeasonsInput,\n  activeSeasonsInputSchema,\n} from \"./shared/activeSeasons.input\";\nimport {\n  type ActiveSeason,\n  scheduleBaseSchema,\n} from \"./shared/activeSeasons.output\";\n\n/**\n * Metadata for the fetchActiveSeasons endpoint\n */\nexport const activeSeasonsMeta = {\n  functionName: \"fetchActiveSeasons\",\n  endpoint: \"/activeseasons\",\n  inputSchema: activeSeasonsInputSchema,\n  outputSchema: scheduleBaseSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List all active schedule seasons with dates and PDF URLs.\",\n} satisfies EndpointMeta<ActiveSeasonsInput, ActiveSeason[]>;\n\n/**\n * Fetch function for retrieving all active schedule seasons with dates and PDF URLs\n */\nexport const fetchActiveSeasons: (\n  params?: FetchFunctionParams<ActiveSeasonsInput>\n) => Promise<ActiveSeason[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  activeSeasonsGroup,\n  activeSeasonsMeta\n);\n\n/**\n * React Query hook for retrieving all active schedule seasons with dates and PDF URLs\n */\nexport const useActiveSeasons: (\n  params?: FetchFunctionParams<ActiveSeasonsInput>,\n  options?: QueryHookOptions<ActiveSeason[]>\n) => UseQueryResult<ActiveSeason[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  activeSeasonsGroup,\n  activeSeasonsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { activeSeasonsMeta } from \"../activeSeasons\";\n\n/**\n * Endpoint group metadata for active seasons endpoints\n */\nexport const activeSeasonsGroup: EndpointGroupMeta = {\n  name: \"active-seasons\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Active schedule seasons for WSF routes.\",\n    description:\n      \"Scheduling periods defining when specific ferry schedules are active, including season dates, names, and PDF URLs.\",\n    useCases: [\n      \"Identify which schedule seasons are currently active.\",\n      \"Determine valid date ranges for schedule queries.\",\n      \"Access printable schedule PDF documents.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [activeSeasonsMeta],\n};\n","import {\n  type CacheFlushDateInput,\n  type CacheFlushDateOutput,\n  cacheFlushDateInputSchema,\n  cacheFlushDateOutputSchema,\n} from \"@/apis/shared/cacheFlushDate\";\nimport type { EndpointGroupMeta, EndpointMeta } from \"@/apis/types\";\n\nexport const cacheFlushDateScheduleMeta = {\n  functionName: \"fetchCacheFlushDateSchedule\",\n  endpoint: \"/cacheflushdate\",\n  inputSchema: cacheFlushDateInputSchema,\n  outputSchema: cacheFlushDateOutputSchema,\n  sampleParams: {},\n  endpointDescription: \"Get cache flush timestamp for static schedule data.\",\n} satisfies EndpointMeta<CacheFlushDateInput, CacheFlushDateOutput>;\n\n/**\n * Endpoint group metadata for cache flush date endpoints\n */\nexport const cacheFlushDateScheduleGroup: EndpointGroupMeta = {\n  name: \"cache-flush-date-schedule\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Cache invalidation timestamp for wsf-schedule static data.\",\n    description:\n      \"Timestamp indicating when static endpoint data for the wsf-schedule API was last updated. Use to determine when to invalidate cached schedule information.\",\n    useCases: [\n      \"Poll periodically to detect when static schedule data has changed.\",\n      \"Invalidate application cache when timestamp changes.\",\n      \"Optimize cache refresh strategy for schedule endpoints.\",\n    ],\n    updateFrequency: \"on-change\",\n  },\n  endpoints: [cacheFlushDateScheduleMeta],\n};\n\nexport const cacheFlushDateScheduleEndpoints = {\n  cacheFlushDate: cacheFlushDateScheduleMeta,\n} as const;\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { routeDetailsGroup } from \"./shared/routeDetails.endpoints\";\nimport {\n  type RouteDetailsByTripDateAndRouteIdInput,\n  routeDetailsByTripDateAndRouteIdInputSchema,\n} from \"./shared/routeDetails.input\";\nimport {\n  type RouteDetail,\n  routeDetailSchema,\n} from \"./shared/routeDetails.output\";\n\n/**\n * Metadata for the fetchRouteDetailsByTripDateAndRouteId endpoint\n */\nexport const routeDetailsByTripDateAndRouteIdMeta = {\n  functionName: \"fetchRouteDetailsByTripDateAndRouteId\",\n  endpoint: \"/routedetails/{TripDate}/{RouteID}\",\n  inputSchema: routeDetailsByTripDateAndRouteIdInputSchema,\n  outputSchema: routeDetailSchema,\n  sampleParams: { TripDate: datesHelper.tomorrow(), RouteID: 1 },\n  endpointDescription:\n    \"Get detailed route information for specific route on date.\",\n} satisfies EndpointMeta<RouteDetailsByTripDateAndRouteIdInput, RouteDetail>;\n\n/**\n * Fetch function for retrieving detailed route information for specific route on date\n */\nexport const fetchRouteDetailsByTripDateAndRouteId: (\n  params?: FetchFunctionParams<RouteDetailsByTripDateAndRouteIdInput>\n) => Promise<RouteDetail> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  routeDetailsGroup,\n  routeDetailsByTripDateAndRouteIdMeta\n);\n\n/**\n * React Query hook for retrieving detailed route information for specific route on date\n */\nexport const useRouteDetailsByTripDateAndRouteId: (\n  params?: FetchFunctionParams<RouteDetailsByTripDateAndRouteIdInput>,\n  options?: QueryHookOptions<RouteDetail>\n) => UseQueryResult<RouteDetail, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  routeDetailsGroup,\n  routeDetailsByTripDateAndRouteIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { routeDetailsGroup } from \"./shared/routeDetails.endpoints\";\nimport {\n  type RouteDetailsByTripDateAndTerminalsInput,\n  routeDetailsByTripDateAndTerminalsInputSchema,\n} from \"./shared/routeDetails.input\";\nimport {\n  type RouteDetail,\n  routeDetailSchema,\n} from \"./shared/routeDetails.output\";\n\n/**\n * Metadata for the fetchRouteDetailsByTripDateAndTerminals endpoint\n */\nexport const routeDetailsByTripDateAndTerminalsMeta = {\n  functionName: \"fetchRouteDetailsByTripDateAndTerminals\",\n  endpoint:\n    \"/routedetails/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}\",\n  inputSchema: routeDetailsByTripDateAndTerminalsInputSchema,\n  outputSchema: routeDetailSchema.array(),\n  sampleParams: {\n    TripDate: datesHelper.tomorrow(),\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n  },\n  endpointDescription:\n    \"List detailed route information for terminal pair on date.\",\n} satisfies EndpointMeta<\n  RouteDetailsByTripDateAndTerminalsInput,\n  RouteDetail[]\n>;\n\n/**\n * Fetch function for retrieving detailed route information for terminal pair on date\n */\nexport const fetchRouteDetailsByTripDateAndTerminals: (\n  params?: FetchFunctionParams<RouteDetailsByTripDateAndTerminalsInput>\n) => Promise<RouteDetail[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  routeDetailsGroup,\n  routeDetailsByTripDateAndTerminalsMeta\n);\n\n/**\n * React Query hook for retrieving detailed route information for terminal pair on date\n */\nexport const useRouteDetailsByTripDateAndTerminals: (\n  params?: FetchFunctionParams<RouteDetailsByTripDateAndTerminalsInput>,\n  options?: QueryHookOptions<RouteDetail[]>\n) => UseQueryResult<RouteDetail[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  routeDetailsGroup,\n  routeDetailsByTripDateAndTerminalsMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { routeDetailsGroup } from \"./shared/routeDetails.endpoints\";\nimport {\n  type RouteDetailsByTripDateInput,\n  routeDetailsByTripDateInputSchema,\n} from \"./shared/routeDetails.input\";\nimport {\n  type RouteDetail,\n  routeDetailSchema,\n} from \"./shared/routeDetails.output\";\n\n/**\n * Metadata for the fetchRouteDetailsByTripDate endpoint\n */\nexport const routeDetailsByTripDateMeta = {\n  functionName: \"fetchRouteDetailsByTripDate\",\n  endpoint: \"/routedetails/{TripDate}\",\n  inputSchema: routeDetailsByTripDateInputSchema,\n  outputSchema: routeDetailSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription:\n    \"List detailed route information for all routes on specified date.\",\n} satisfies EndpointMeta<RouteDetailsByTripDateInput, RouteDetail[]>;\n\n/**\n * Fetch function for retrieving detailed route information for all routes on specified date\n */\nexport const fetchRouteDetailsByTripDate: (\n  params?: FetchFunctionParams<RouteDetailsByTripDateInput>\n) => Promise<RouteDetail[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  routeDetailsGroup,\n  routeDetailsByTripDateMeta\n);\n\n/**\n * React Query hook for retrieving detailed route information for all routes on specified date\n */\nexport const useRouteDetailsByTripDate: (\n  params?: FetchFunctionParams<RouteDetailsByTripDateInput>,\n  options?: QueryHookOptions<RouteDetail[]>\n) => UseQueryResult<RouteDetail[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  routeDetailsGroup,\n  routeDetailsByTripDateMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { routeDetailsByTripDateAndRouteIdMeta } from \"../routeDetailsByTripDateAndRouteId\";\nimport { routeDetailsByTripDateAndTerminalsMeta } from \"../routeDetailsByTripDateAndTerminals\";\nimport { routeDetailsByTripDateMeta } from \"../routeDetailsByTripDate\";\n\n/**\n * Endpoint group metadata for route details endpoints\n */\nexport const routeDetailsGroup: EndpointGroupMeta = {\n  name: \"route-details\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Detailed ferry route information with service details.\",\n    description:\n      \"Comprehensive route data including terminals, crossing times, vessel assignments, alerts, and route-specific notes for trip planning.\",\n    useCases: [\n      \"Display detailed route information for trip planning.\",\n      \"Show route alerts and service disruptions.\",\n      \"Access route-specific notes and accessibility information.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [\n    routeDetailsByTripDateMeta,\n    routeDetailsByTripDateAndRouteIdMeta,\n    routeDetailsByTripDateAndTerminalsMeta,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { routesGroup } from \"./shared/routes.endpoints\";\nimport {\n  type RoutesByTripDateAndTerminalsInput,\n  routesByTripDateAndTerminalsInputSchema,\n} from \"./shared/routes.input\";\nimport { type Route, routeSchema } from \"./shared/routes.output\";\n\n/**\n * Metadata for the fetchRoutesByTripDateAndTerminals endpoint\n */\nexport const routesByTripDateAndTerminalsMeta = {\n  functionName: \"fetchRoutesByTripDateAndTerminals\",\n  endpoint: \"/routes/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}\",\n  inputSchema: routesByTripDateAndTerminalsInputSchema,\n  outputSchema: routeSchema.array(),\n  sampleParams: {\n    TripDate: datesHelper.tomorrow(),\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n  },\n  endpointDescription: \"List routes matching terminal pair for specified date.\",\n} satisfies EndpointMeta<RoutesByTripDateAndTerminalsInput, Route[]>;\n\n/**\n * Fetch function for retrieving routes matching terminal pair for specified date\n */\nexport const fetchRoutesByTripDateAndTerminals: (\n  params?: FetchFunctionParams<RoutesByTripDateAndTerminalsInput>\n) => Promise<Route[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  routesGroup,\n  routesByTripDateAndTerminalsMeta\n);\n\n/**\n * React Query hook for retrieving routes matching terminal pair for specified date\n */\nexport const useRoutesByTripDateAndTerminals: (\n  params?: FetchFunctionParams<RoutesByTripDateAndTerminalsInput>,\n  options?: QueryHookOptions<Route[]>\n) => UseQueryResult<Route[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  routesGroup,\n  routesByTripDateAndTerminalsMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { routesGroup } from \"./shared/routes.endpoints\";\nimport {\n  type RoutesByTripDateInput,\n  routesByTripDateInputSchema,\n} from \"./shared/routes.input\";\nimport { type Route, routeSchema } from \"./shared/routes.output\";\n\n/**\n * Metadata for the fetchRoutesByTripDate endpoint\n */\nexport const routesByTripDateMeta = {\n  functionName: \"fetchRoutesByTripDate\",\n  endpoint: \"/routes/{TripDate}\",\n  inputSchema: routesByTripDateInputSchema,\n  outputSchema: routeSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription: \"List all routes available for specified trip date.\",\n} satisfies EndpointMeta<RoutesByTripDateInput, Route[]>;\n\n/**\n * Fetch function for retrieving all routes available for specified trip date\n */\nexport const fetchRoutesByTripDate: (\n  params?: FetchFunctionParams<RoutesByTripDateInput>\n) => Promise<Route[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  routesGroup,\n  routesByTripDateMeta\n);\n\n/**\n * React Query hook for retrieving all routes available for specified trip date\n */\nexport const useRoutesByTripDate: (\n  params?: FetchFunctionParams<RoutesByTripDateInput>,\n  options?: QueryHookOptions<Route[]>\n) => UseQueryResult<Route[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  routesGroup,\n  routesByTripDateMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { routesByTripDateAndTerminalsMeta } from \"../routesByTripDateAndTerminals\";\nimport { routesByTripDateMeta } from \"../routesByTripDate\";\n\n/**\n * Endpoint group metadata for routes endpoints\n */\nexport const routesGroup: EndpointGroupMeta = {\n  name: \"routes\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Basic ferry route information between terminals.\",\n    description:\n      \"Route identification including route IDs, abbreviations, descriptions, region associations, and service disruptions.\",\n    useCases: [\n      \"Discover available routes for a trip date.\",\n      \"Identify routes by terminal combinations.\",\n      \"Check for active service disruptions on routes.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [routesByTripDateMeta, routesByTripDateAndTerminalsMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { sailingsGroup } from \"./shared/sailings.endpoints\";\nimport {\n  type AllSailingsBySchedRouteIDInput,\n  allSailingsBySchedRouteIDInputSchema,\n} from \"./shared/sailings.input\";\nimport { type Sailing, sailingSchema } from \"./shared/sailings.output\";\n\n/**\n * Metadata for the fetchAllSailingsBySchedRouteID endpoint\n */\nexport const allSailingsBySchedRouteIDMeta = {\n  functionName: \"fetchAllSailingsBySchedRouteID\",\n  endpoint: \"/allsailings/{SchedRouteID}\",\n  inputSchema: allSailingsBySchedRouteIDInputSchema,\n  outputSchema: sailingSchema.array(),\n  sampleParams: { SchedRouteID: 2401 },\n  endpointDescription:\n    \"List all sailings for scheduled route including inactive sailings.\",\n} satisfies EndpointMeta<AllSailingsBySchedRouteIDInput, Sailing[]>;\n\n/**\n * Fetch function for retrieving all sailings for scheduled route including inactive sailings\n */\nexport const fetchAllSailingsBySchedRouteID: (\n  params?: FetchFunctionParams<AllSailingsBySchedRouteIDInput>\n) => Promise<Sailing[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  sailingsGroup,\n  allSailingsBySchedRouteIDMeta\n);\n\n/**\n * React Query hook for retrieving all sailings for scheduled route including inactive sailings\n */\nexport const useAllSailingsBySchedRouteID: (\n  params?: FetchFunctionParams<AllSailingsBySchedRouteIDInput>,\n  options?: QueryHookOptions<Sailing[]>\n) => UseQueryResult<Sailing[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  sailingsGroup,\n  allSailingsBySchedRouteIDMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { sailingsGroup } from \"./shared/sailings.endpoints\";\nimport {\n  type SailingsByRouteIDInput,\n  sailingsByRouteIDInputSchema,\n} from \"./shared/sailings.input\";\nimport { type Sailing, sailingSchema } from \"./shared/sailings.output\";\n\n/**\n * Metadata for the fetchSailingsByRouteID endpoint\n */\nexport const sailingsByRouteIDMeta = {\n  functionName: \"fetchSailingsByRouteID\",\n  endpoint: \"/sailings/{SchedRouteID}\",\n  inputSchema: sailingsByRouteIDInputSchema,\n  outputSchema: sailingSchema.array(),\n  sampleParams: { SchedRouteID: 2401 },\n  endpointDescription: \"List active sailings for specified scheduled route.\",\n} satisfies EndpointMeta<SailingsByRouteIDInput, Sailing[]>;\n\n/**\n * Fetch function for retrieving active sailings for specified scheduled route\n */\nexport const fetchSailingsByRouteID: (\n  params?: FetchFunctionParams<SailingsByRouteIDInput>\n) => Promise<Sailing[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  sailingsGroup,\n  sailingsByRouteIDMeta\n);\n\n/**\n * React Query hook for retrieving active sailings for specified scheduled route\n */\nexport const useSailingsByRouteID: (\n  params?: FetchFunctionParams<SailingsByRouteIDInput>,\n  options?: QueryHookOptions<Sailing[]>\n) => UseQueryResult<Sailing[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  sailingsGroup,\n  sailingsByRouteIDMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { allSailingsBySchedRouteIDMeta } from \"../allSailingsBySchedRouteID\";\nimport { sailingsByRouteIDMeta } from \"../sailingsByRouteID\";\n\n/**\n * Endpoint group metadata for sailings endpoints\n */\nexport const sailingsGroup: EndpointGroupMeta = {\n  name: \"sailings\",\n  cacheStrategy: \"FREQUENT\",\n  documentation: {\n    summary: \"Scheduled ferry sailings organized by route and direction.\",\n    description:\n      \"Departure times organized by direction, days of operation, and date ranges, mirroring printed PDF schedule groupings.\",\n    useCases: [\n      \"Display schedule structure with sailing groups.\",\n      \"Show departure times by direction and day type.\",\n      \"Access journey details with vessel assignments and terminal stops.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [allSailingsBySchedRouteIDMeta, sailingsByRouteIDMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { scheduleAlertsGroup } from \"./shared/scheduleAlerts.endpoints\";\nimport {\n  type ScheduleAlertsInput,\n  scheduleAlertsInputSchema,\n} from \"./shared/scheduleAlerts.input\";\nimport {\n  type AlertDetail,\n  alertDetailSchema,\n} from \"./shared/scheduleAlerts.output\";\n\n/**\n * Metadata for the fetchScheduleAlerts endpoint\n */\nexport const scheduleAlertsMeta = {\n  functionName: \"fetchScheduleAlerts\",\n  endpoint: \"/alerts\",\n  inputSchema: scheduleAlertsInputSchema,\n  outputSchema: alertDetailSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List all current schedule alerts.\",\n} satisfies EndpointMeta<ScheduleAlertsInput, AlertDetail[]>;\n\n/**\n * Fetch function for retrieving all current schedule alerts\n */\nexport const fetchScheduleAlerts: (\n  params?: FetchFunctionParams<ScheduleAlertsInput>\n) => Promise<AlertDetail[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleAlertsGroup,\n  scheduleAlertsMeta\n);\n\n/**\n * React Query hook for retrieving all current schedule alerts\n */\nexport const useScheduleAlerts: (\n  params?: FetchFunctionParams<ScheduleAlertsInput>,\n  options?: QueryHookOptions<AlertDetail[]>\n) => UseQueryResult<AlertDetail[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleAlertsGroup,\n  scheduleAlertsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { scheduleAlertsMeta } from \"../scheduleAlerts\";\n\n/**\n * Endpoint group metadata for schedule alerts endpoints\n */\nexport const scheduleAlertsGroup: EndpointGroupMeta = {\n  name: \"schedule-alerts\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Service alerts and notifications for ferry schedules.\",\n    description:\n      \"Important notifications about ferry service including delays, cancellations, terminal updates, and service-related announcements. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display service alerts and notifications in rider apps.\",\n      \"Monitor schedule changes and disruptions.\",\n      \"Show route-specific and system-wide announcements.\",\n    ],\n  },\n  endpoints: [scheduleAlertsMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { scheduledRoutesGroup } from \"./shared/scheduledRoutes.endpoints\";\nimport {\n  type ScheduledRoutesByIdInput,\n  scheduledRoutesByIdInputSchema,\n} from \"./shared/scheduledRoutes.input\";\nimport {\n  type SchedRoute,\n  schedRouteSchema,\n} from \"./shared/scheduledRoutes.output\";\n\n/**\n * Metadata for the fetchScheduledRoutesById endpoint\n */\nexport const scheduledRoutesByIdMeta = {\n  functionName: \"fetchScheduledRoutesById\",\n  endpoint: \"/schedroutes/{ScheduleID}\",\n  inputSchema: scheduledRoutesByIdInputSchema,\n  outputSchema: schedRouteSchema.array(),\n  sampleParams: { ScheduleID: 193 },\n  endpointDescription: \"List scheduled routes for a specific schedule season.\",\n} satisfies EndpointMeta<ScheduledRoutesByIdInput, SchedRoute[]>;\n\n/**\n * Fetch function for retrieving scheduled routes for a specific schedule season\n */\nexport const fetchScheduledRoutesById: (\n  params?: FetchFunctionParams<ScheduledRoutesByIdInput>\n) => Promise<SchedRoute[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduledRoutesGroup,\n  scheduledRoutesByIdMeta\n);\n\n/**\n * React Query hook for retrieving scheduled routes for a specific schedule season\n */\nexport const useScheduledRoutesById: (\n  params?: FetchFunctionParams<ScheduledRoutesByIdInput>,\n  options?: QueryHookOptions<SchedRoute[]>\n) => UseQueryResult<SchedRoute[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduledRoutesGroup,\n  scheduledRoutesByIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { scheduledRoutesGroup } from \"./shared/scheduledRoutes.endpoints\";\nimport {\n  type ScheduledRoutesInput,\n  scheduledRoutesInputSchema,\n} from \"./shared/scheduledRoutes.input\";\nimport {\n  type SchedRoute,\n  schedRouteSchema,\n} from \"./shared/scheduledRoutes.output\";\n\n/**\n * Metadata for the fetchScheduledRoutes endpoint\n */\nexport const scheduledRoutesMeta = {\n  functionName: \"fetchScheduledRoutes\",\n  endpoint: \"/schedroutes\",\n  inputSchema: scheduledRoutesInputSchema,\n  outputSchema: schedRouteSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List all scheduled routes across current and upcoming seasons.\",\n} satisfies EndpointMeta<ScheduledRoutesInput, SchedRoute[]>;\n\n/**\n * Fetch function for retrieving all scheduled routes across current and upcoming seasons\n */\nexport const fetchScheduledRoutes: (\n  params?: FetchFunctionParams<ScheduledRoutesInput>\n) => Promise<SchedRoute[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduledRoutesGroup,\n  scheduledRoutesMeta\n);\n\n/**\n * React Query hook for retrieving all scheduled routes across current and upcoming seasons\n */\nexport const useScheduledRoutes: (\n  params?: FetchFunctionParams<ScheduledRoutesInput>,\n  options?: QueryHookOptions<SchedRoute[]>\n) => UseQueryResult<SchedRoute[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduledRoutesGroup,\n  scheduledRoutesMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { scheduledRoutesByIdMeta } from \"../scheduledRoutesById\";\nimport { scheduledRoutesMeta } from \"../scheduledRoutes\";\n\n/**\n * Endpoint group metadata for scheduled routes endpoints\n */\nexport const scheduledRoutesGroup: EndpointGroupMeta = {\n  name: \"scheduled-routes\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Ferry routes active for specific schedule seasons.\",\n    description:\n      \"Predefined routes with schedule identifiers, contingency adjustments, and service disruptions. Routes must be scheduled to run during a season to be included. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Discover routes active for a specific schedule season.\",\n      \"Filter routes by season using schedule IDs.\",\n      \"Identify contingency routes and service disruptions.\",\n    ],\n  },\n  endpoints: [scheduledRoutesMeta, scheduledRoutesByIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { schedulesGroup } from \"./shared/schedules.endpoints\";\nimport {\n  type ScheduleByTripDateAndTerminalsInput,\n  scheduleByTripDateAndTerminals,\n} from \"./shared/schedules.input\";\nimport { type Schedule, scheduleSchema } from \"./shared/schedules.output\";\n\n/**\n * Metadata for the fetchScheduleByTripDateAndDepartingTerminalIdAndTerminalIds endpoint\n */\nexport const scheduleByTripDateAndDepartingTerminalIdAndTerminalIdsMeta = {\n  functionName: \"fetchScheduleByTripDateAndDepartingTerminalIdAndTerminalIds\",\n  endpoint: \"/schedule/{TripDate}/{DepartingTerminalID}/{ArrivingTerminalID}\",\n  inputSchema: scheduleByTripDateAndTerminals,\n  outputSchema: scheduleSchema,\n  sampleParams: {\n    TripDate: datesHelper.tomorrow(),\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n  },\n  endpointDescription:\n    \"Get sailing schedule for a terminal pair and trip date.\",\n} satisfies EndpointMeta<ScheduleByTripDateAndTerminalsInput, Schedule>;\n\n/**\n * Fetch function for retrieving sailing schedule for a terminal pair and trip date\n */\nexport const fetchScheduleByTripDateAndDepartingTerminalIdAndTerminalIds: (\n  params?: FetchFunctionParams<ScheduleByTripDateAndTerminalsInput>\n) => Promise<Schedule> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  schedulesGroup,\n  scheduleByTripDateAndDepartingTerminalIdAndTerminalIdsMeta\n);\n\n/**\n * React Query hook for retrieving sailing schedule for a terminal pair and trip date\n */\nexport const useScheduleByTripDateAndDepartingTerminalIdAndTerminalIds: (\n  params?: FetchFunctionParams<ScheduleByTripDateAndTerminalsInput>,\n  options?: QueryHookOptions<Schedule>\n) => UseQueryResult<Schedule, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  schedulesGroup,\n  scheduleByTripDateAndDepartingTerminalIdAndTerminalIdsMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { schedulesGroup } from \"./shared/schedules.endpoints\";\nimport {\n  type ScheduleByTripDateAndRouteIdInput,\n  scheduleByTripDateAndRouteIdInputSchema,\n} from \"./shared/schedules.input\";\nimport { type Schedule, scheduleSchema } from \"./shared/schedules.output\";\n\n/**\n * Metadata for the fetchScheduleByTripDateAndRouteId endpoint\n */\nexport const scheduleByTripDateAndRouteIdMeta = {\n  functionName: \"fetchScheduleByTripDateAndRouteId\",\n  endpoint: \"/schedule/{TripDate}/{RouteID}\",\n  inputSchema: scheduleByTripDateAndRouteIdInputSchema,\n  outputSchema: scheduleSchema,\n  sampleParams: { TripDate: datesHelper.tomorrow(), RouteID: 9 },\n  endpointDescription:\n    \"Get sailing schedule for a specific route and trip date.\",\n} satisfies EndpointMeta<ScheduleByTripDateAndRouteIdInput, Schedule>;\n\n/**\n * Fetch function for retrieving sailing schedule for a specific route and trip date\n */\nexport const fetchScheduleByTripDateAndRouteId: (\n  params?: FetchFunctionParams<ScheduleByTripDateAndRouteIdInput>\n) => Promise<Schedule> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  schedulesGroup,\n  scheduleByTripDateAndRouteIdMeta\n);\n\n/**\n * React Query hook for retrieving sailing schedule for a specific route and trip date\n */\nexport const useScheduleByTripDateAndRouteId: (\n  params?: FetchFunctionParams<ScheduleByTripDateAndRouteIdInput>,\n  options?: QueryHookOptions<Schedule>\n) => UseQueryResult<Schedule, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  schedulesGroup,\n  scheduleByTripDateAndRouteIdMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { scheduleByTripDateAndDepartingTerminalIdAndTerminalIdsMeta } from \"../scheduleByTripDateAndDepartingTerminalIdAndTerminalIds\";\nimport { scheduleByTripDateAndRouteIdMeta } from \"../scheduleByTripDateAndRouteId\";\n\n/**\n * Endpoint group metadata for schedules endpoints\n */\nexport const schedulesGroup: EndpointGroupMeta = {\n  name: \"schedules\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Complete sailing timetables for ferry routes.\",\n    description:\n      \"Sailing schedules including departure times, arrival times, vessel assignments, and route-specific information. Accounts for contingencies, sailing date ranges, and time adjustments. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Plan ferry travel with complete sailing timetables.\",\n      \"Look up departure and arrival times for specific dates.\",\n      \"View vessel assignments and loading rules for sailings.\",\n    ],\n  },\n  endpoints: [\n    scheduleByTripDateAndRouteIdMeta,\n    scheduleByTripDateAndDepartingTerminalIdAndTerminalIdsMeta,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { scheduleTodayGroup } from \"./shared/scheduleToday.endpoints\";\nimport {\n  type ScheduleTodayByRouteInput,\n  scheduleTodayByRouteSchema,\n} from \"./shared/scheduleToday.input\";\nimport { type Schedule, scheduleSchema } from \"./shared/scheduleToday.output\";\n\n/**\n * Metadata for the fetchScheduleTodayByRoute endpoint\n */\nexport const scheduleTodayByRouteMeta = {\n  functionName: \"fetchScheduleTodayByRoute\",\n  endpoint: \"/scheduletoday/{RouteID}/{OnlyRemainingTimes}\",\n  inputSchema: scheduleTodayByRouteSchema,\n  outputSchema: scheduleSchema,\n  sampleParams: { RouteID: 9, OnlyRemainingTimes: false },\n  endpointDescription: \"Get today's schedule for a specific route.\",\n} satisfies EndpointMeta<ScheduleTodayByRouteInput, Schedule>;\n\n/**\n * Fetch function for retrieving today's schedule for a specific route\n */\nexport const fetchScheduleTodayByRoute: (\n  params?: FetchFunctionParams<ScheduleTodayByRouteInput>\n) => Promise<Schedule> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTodayGroup,\n  scheduleTodayByRouteMeta\n);\n\n/**\n * React Query hook for retrieving today's schedule for a specific route\n */\nexport const useScheduleTodayByRoute: (\n  params?: FetchFunctionParams<ScheduleTodayByRouteInput>,\n  options?: QueryHookOptions<Schedule>\n) => UseQueryResult<Schedule, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTodayGroup,\n  scheduleTodayByRouteMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { scheduleTodayGroup } from \"./shared/scheduleToday.endpoints\";\nimport {\n  type ScheduleTodayByTerminalsInput,\n  scheduleTodayByTerminalsInputSchema,\n} from \"./shared/scheduleToday.input\";\nimport { type Schedule, scheduleSchema } from \"./shared/scheduleToday.output\";\n\n/**\n * Metadata for the fetchScheduleTodayByTerminals endpoint\n */\nexport const scheduleTodayByTerminalsMeta = {\n  functionName: \"fetchScheduleTodayByTerminals\",\n  endpoint:\n    \"/scheduletoday/{DepartingTerminalID}/{ArrivingTerminalID}/{OnlyRemainingTimes}\",\n  inputSchema: scheduleTodayByTerminalsInputSchema,\n  outputSchema: scheduleSchema,\n  sampleParams: {\n    DepartingTerminalID: 1,\n    ArrivingTerminalID: 10,\n    OnlyRemainingTimes: false,\n  },\n  endpointDescription: \"Get today's schedule for a terminal pair.\",\n} satisfies EndpointMeta<ScheduleTodayByTerminalsInput, Schedule>;\n\n/**\n * Fetch function for retrieving today's schedule for a terminal pair\n */\nexport const fetchScheduleTodayByTerminals: (\n  params?: FetchFunctionParams<ScheduleTodayByTerminalsInput>\n) => Promise<Schedule> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTodayGroup,\n  scheduleTodayByTerminalsMeta\n);\n\n/**\n * React Query hook for retrieving today's schedule for a terminal pair\n */\nexport const useScheduleTodayByTerminals: (\n  params?: FetchFunctionParams<ScheduleTodayByTerminalsInput>,\n  options?: QueryHookOptions<Schedule>\n) => UseQueryResult<Schedule, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTodayGroup,\n  scheduleTodayByTerminalsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { scheduleTodayByRouteMeta } from \"../scheduleTodayByRoute\";\nimport { scheduleTodayByTerminalsMeta } from \"../scheduleTodayByTerminals\";\n\n/**\n * Endpoint group metadata for schedule today endpoints\n */\nexport const scheduleTodayGroup: EndpointGroupMeta = {\n  name: \"schedule-today\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Today's sailing schedule for ferry routes.\",\n    description:\n      \"Current day sailing information with option to show only remaining departures. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Show today's remaining sailings in real-time apps.\",\n      \"Display current day schedule with all departures.\",\n      \"Filter to only upcoming sailings for today.\",\n    ],\n  },\n  endpoints: [scheduleTodayByRouteMeta, scheduleTodayByTerminalsMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { serviceDisruptionsGroup } from \"./shared/serviceDisruptions.endpoints\";\nimport {\n  type RoutesHavingServiceDisruptionsByTripDateInput,\n  routesHavingServiceDisruptionsByTripDateInputSchema,\n} from \"./shared/serviceDisruptions.input\";\nimport {\n  type ServiceDisruption,\n  serviceDisruptionSchema,\n} from \"./shared/serviceDisruptions.output\";\n\n/**\n * Metadata for the fetchRoutesHavingServiceDisruptionsByTripDate endpoint\n */\nexport const routesHavingServiceDisruptionsByTripDateMeta = {\n  functionName: \"fetchRoutesHavingServiceDisruptionsByTripDate\",\n  endpoint: \"/routeshavingservicedisruptions/{TripDate}\",\n  inputSchema: routesHavingServiceDisruptionsByTripDateInputSchema,\n  outputSchema: serviceDisruptionSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription:\n    \"List routes with service disruptions for a specific trip date.\",\n} satisfies EndpointMeta<\n  RoutesHavingServiceDisruptionsByTripDateInput,\n  ServiceDisruption[]\n>;\n\n/**\n * Fetch function for retrieving routes with service disruptions for a specific trip date\n */\nexport const fetchRoutesHavingServiceDisruptionsByTripDate: (\n  params?: FetchFunctionParams<RoutesHavingServiceDisruptionsByTripDateInput>\n) => Promise<ServiceDisruption[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  serviceDisruptionsGroup,\n  routesHavingServiceDisruptionsByTripDateMeta\n);\n\n/**\n * React Query hook for retrieving routes with service disruptions for a specific trip date\n */\nexport const useRoutesHavingServiceDisruptionsByTripDate: (\n  params?: FetchFunctionParams<RoutesHavingServiceDisruptionsByTripDateInput>,\n  options?: QueryHookOptions<ServiceDisruption[]>\n) => UseQueryResult<ServiceDisruption[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  serviceDisruptionsGroup,\n  routesHavingServiceDisruptionsByTripDateMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { routesHavingServiceDisruptionsByTripDateMeta } from \"../routesHavingServiceDisruptionsByTripDate\";\n\n/**\n * Endpoint group metadata for service disruptions endpoints\n */\nexport const serviceDisruptionsGroup: EndpointGroupMeta = {\n  name: \"service-disruptions\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Service disruptions affecting ferry routes.\",\n    description:\n      \"Planned or unplanned interruptions to normal ferry service including cancellations, delays, and route changes. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Identify routes with service disruptions for a specific date.\",\n      \"Plan alternative travel arrangements when disruptions occur.\",\n      \"Display disruption information to passengers.\",\n    ],\n  },\n  endpoints: [routesHavingServiceDisruptionsByTripDateMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type { TerminalMatesInput } from \"@/apis/shared/terminals.input\";\nimport { terminalMatesInputSchema } from \"@/apis/shared/terminals.input\";\nimport type { TerminalList } from \"@/apis/shared/terminals.output\";\nimport { terminalListSchema } from \"@/apis/shared/terminals.output\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { scheduleTerminalMatesGroup } from \"./shared/terminalMates.endpoints\";\n\n/**\n * Metadata for the fetchTerminalMatesSchedule endpoint\n */\nexport const terminalMatesScheduleMeta = {\n  functionName: \"fetchTerminalMatesSchedule\",\n  endpoint: \"/terminalmates/{TripDate}/{TerminalID}\",\n  inputSchema: terminalMatesInputSchema,\n  outputSchema: terminalListSchema,\n  sampleParams: { TripDate: datesHelper.tomorrow(), TerminalID: 1 },\n  endpointDescription:\n    \"List valid arriving terminals for a departing terminal and trip date.\",\n} satisfies EndpointMeta<TerminalMatesInput, TerminalList>;\n\n/**\n * Fetch function for retrieving valid arriving terminals for a departing terminal and trip date\n */\nexport const fetchTerminalMatesSchedule: (\n  params?: FetchFunctionParams<TerminalMatesInput>\n) => Promise<TerminalList> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalMatesGroup,\n  terminalMatesScheduleMeta\n);\n\n/**\n * React Query hook for retrieving valid arriving terminals for a departing terminal and trip date\n */\nexport const useTerminalMatesSchedule: (\n  params?: FetchFunctionParams<TerminalMatesInput>,\n  options?: QueryHookOptions<TerminalList>\n) => UseQueryResult<TerminalList, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalMatesGroup,\n  terminalMatesScheduleMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalMatesScheduleMeta } from \"../terminalMatesSchedule\";\n\n/**\n * Endpoint group metadata for schedule terminal mates endpoints\n */\nexport const scheduleTerminalMatesGroup: EndpointGroupMeta = {\n  name: \"schedule-terminal-mates\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Arriving terminals that can be reached from a given departing terminal.\",\n    description:\n      \"Terminal mates represent valid destination terminals for a specific origin terminal and trip date. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Find valid destination terminals for trip planning interfaces.\",\n      \"Build terminal selection workflows for route queries.\",\n      \"Determine available terminal pairs for schedule lookups.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [terminalMatesScheduleMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { scheduleTerminalsGroup } from \"./shared/terminals.endpoints\";\nimport {\n  type TerminalsAndMatesByRouteInput,\n  terminalsAndMatesByRouteInputSchema,\n} from \"./shared/terminals.input\";\nimport {\n  type TerminalMate,\n  terminalMateSchema,\n} from \"./shared/terminals.output\";\n\n/**\n * Metadata for the fetchTerminalsAndMatesByRoute endpoint\n */\nexport const terminalsAndMatesByRouteMeta = {\n  functionName: \"fetchTerminalsAndMatesByRoute\",\n  endpoint: \"/terminalsandmatesbyroute/{TripDate}/{RouteID}\",\n  inputSchema: terminalsAndMatesByRouteInputSchema,\n  outputSchema: terminalMateSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow(), RouteID: 9 },\n  endpointDescription:\n    \"List valid terminal pairs for a specific route and trip date.\",\n} satisfies EndpointMeta<TerminalsAndMatesByRouteInput, TerminalMate[]>;\n\n/**\n * Fetch function for retrieving valid terminal pairs for a specific route and trip date\n */\nexport const fetchTerminalsAndMatesByRoute: (\n  params?: FetchFunctionParams<TerminalsAndMatesByRouteInput>\n) => Promise<TerminalMate[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalsGroup,\n  terminalsAndMatesByRouteMeta\n);\n\n/**\n * React Query hook for retrieving valid terminal pairs for a specific route and trip date\n */\nexport const useTerminalsAndMatesByRoute: (\n  params?: FetchFunctionParams<TerminalsAndMatesByRouteInput>,\n  options?: QueryHookOptions<TerminalMate[]>\n) => UseQueryResult<TerminalMate[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalsGroup,\n  terminalsAndMatesByRouteMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { scheduleTerminalsGroup } from \"./shared/terminals.endpoints\";\nimport {\n  type TerminalsAndMatesInput,\n  terminalsAndMatesInputSchema,\n} from \"./shared/terminals.input\";\nimport {\n  type TerminalMate,\n  terminalMateSchema,\n} from \"./shared/terminals.output\";\n\n/**\n * Metadata for the fetchTerminalsAndMates endpoint\n */\nexport const terminalsAndMatesMeta = {\n  functionName: \"fetchTerminalsAndMates\",\n  endpoint: \"/terminalsandmates/{TripDate}\",\n  inputSchema: terminalsAndMatesInputSchema,\n  outputSchema: terminalMateSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription: \"List all valid terminal pairs for a trip date.\",\n} satisfies EndpointMeta<TerminalsAndMatesInput, TerminalMate[]>;\n\n/**\n * Fetch function for retrieving all valid terminal pairs for a trip date\n */\nexport const fetchTerminalsAndMates: (\n  params?: FetchFunctionParams<TerminalsAndMatesInput>\n) => Promise<TerminalMate[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalsGroup,\n  terminalsAndMatesMeta\n);\n\n/**\n * React Query hook for retrieving all valid terminal pairs for a trip date\n */\nexport const useTerminalsAndMates: (\n  params?: FetchFunctionParams<TerminalsAndMatesInput>,\n  options?: QueryHookOptions<TerminalMate[]>\n) => UseQueryResult<TerminalMate[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalsGroup,\n  terminalsAndMatesMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { scheduleTerminalsGroup } from \"./shared/terminals.endpoints\";\nimport {\n  type TerminalsInput,\n  terminalsInputSchema,\n} from \"./shared/terminals.input\";\nimport { type Terminal, terminalSchema } from \"./shared/terminals.output\";\n\n/**\n * Metadata for the fetchTerminals endpoint\n */\nexport const terminalsMeta = {\n  functionName: \"fetchTerminals\",\n  endpoint: \"/terminals/{TripDate}\",\n  inputSchema: terminalsInputSchema,\n  outputSchema: terminalSchema.array(),\n  sampleParams: { TripDate: datesHelper.tomorrow() },\n  endpointDescription: \"List valid departing terminals for a trip date.\",\n} satisfies EndpointMeta<TerminalsInput, Terminal[]>;\n\n/**\n * Fetch function for retrieving valid departing terminals for a trip date\n */\nexport const fetchTerminals: (\n  params?: FetchFunctionParams<TerminalsInput>\n) => Promise<Terminal[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalsGroup,\n  terminalsMeta\n);\n\n/**\n * React Query hook for retrieving valid departing terminals for a trip date\n */\nexport const useTerminals: (\n  params?: FetchFunctionParams<TerminalsInput>,\n  options?: QueryHookOptions<Terminal[]>\n) => UseQueryResult<Terminal[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleTerminalsGroup,\n  terminalsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalsAndMatesByRouteMeta } from \"../terminalsAndMatesByRoute\";\nimport { terminalsAndMatesMeta } from \"../terminalsAndMates\";\nimport { terminalsMeta } from \"../terminals\";\n\n/**\n * Endpoint group metadata for schedule terminals endpoints\n */\nexport const scheduleTerminalsGroup: EndpointGroupMeta = {\n  name: \"schedule-terminals\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Ferry terminal facilities serving as departure and arrival points.\",\n    description:\n      \"Terminals represent dock locations where passengers board and disembark. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display terminal options for trip planning interfaces.\",\n      \"Determine valid terminal pairs for route selection.\",\n      \"Build terminal lookup and navigation features.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [terminalsMeta, terminalsAndMatesMeta, terminalsAndMatesByRouteMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { timeAdjustmentsGroup } from \"./shared/timeAdjustments.endpoints\";\nimport {\n  type TimeAdjustmentsByRouteInput,\n  timeAdjustmentsByRouteInputSchema,\n} from \"./shared/timeAdjustments.input\";\nimport {\n  type TimeAdjustment,\n  timeAdjustmentSchema,\n} from \"./shared/timeAdjustments.output\";\n\n/**\n * Metadata for the fetchTimeAdjustmentsByRoute endpoint\n */\nexport const timeAdjustmentsByRouteMeta = {\n  functionName: \"fetchTimeAdjustmentsByRoute\",\n  endpoint: \"/timeadjbyroute/{RouteID}\",\n  inputSchema: timeAdjustmentsByRouteInputSchema,\n  outputSchema: timeAdjustmentSchema.array(),\n  sampleParams: { RouteID: 1 },\n  endpointDescription: \"List time adjustments for a specific route.\",\n} satisfies EndpointMeta<TimeAdjustmentsByRouteInput, TimeAdjustment[]>;\n\n/**\n * Fetch function for retrieving time adjustments for a specific route\n */\nexport const fetchTimeAdjustmentsByRoute: (\n  params?: FetchFunctionParams<TimeAdjustmentsByRouteInput>\n) => Promise<TimeAdjustment[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  timeAdjustmentsGroup,\n  timeAdjustmentsByRouteMeta\n);\n\n/**\n * React Query hook for retrieving time adjustments for a specific route\n */\nexport const useTimeAdjustmentsByRoute: (\n  params?: FetchFunctionParams<TimeAdjustmentsByRouteInput>,\n  options?: QueryHookOptions<TimeAdjustment[]>\n) => UseQueryResult<TimeAdjustment[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  timeAdjustmentsGroup,\n  timeAdjustmentsByRouteMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { timeAdjustmentsGroup } from \"./shared/timeAdjustments.endpoints\";\nimport {\n  type TimeAdjustmentsBySchedRouteInput,\n  timeAdjustmentsBySchedRouteInputSchema,\n} from \"./shared/timeAdjustments.input\";\nimport {\n  type TimeAdjustment,\n  timeAdjustmentSchema,\n} from \"./shared/timeAdjustments.output\";\n\n/**\n * Metadata for the fetchTimeAdjustmentsBySchedRoute endpoint\n */\nexport const timeAdjustmentsBySchedRouteMeta = {\n  functionName: \"fetchTimeAdjustmentsBySchedRoute\",\n  endpoint: \"/timeadjbyschedroute/{SchedRouteID}\",\n  inputSchema: timeAdjustmentsBySchedRouteInputSchema,\n  outputSchema: timeAdjustmentSchema.array(),\n  sampleParams: { SchedRouteID: 2401 },\n  endpointDescription: \"List time adjustments for a specific scheduled route.\",\n} satisfies EndpointMeta<TimeAdjustmentsBySchedRouteInput, TimeAdjustment[]>;\n\n/**\n * Fetch function for retrieving time adjustments for a specific scheduled route\n */\nexport const fetchTimeAdjustmentsBySchedRoute: (\n  params?: FetchFunctionParams<TimeAdjustmentsBySchedRouteInput>\n) => Promise<TimeAdjustment[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  timeAdjustmentsGroup,\n  timeAdjustmentsBySchedRouteMeta\n);\n\n/**\n * React Query hook for retrieving time adjustments for a specific scheduled route\n */\nexport const useTimeAdjustmentsBySchedRoute: (\n  params?: FetchFunctionParams<TimeAdjustmentsBySchedRouteInput>,\n  options?: QueryHookOptions<TimeAdjustment[]>\n) => UseQueryResult<TimeAdjustment[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  timeAdjustmentsGroup,\n  timeAdjustmentsBySchedRouteMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { timeAdjustmentsGroup } from \"./shared/timeAdjustments.endpoints\";\nimport {\n  type TimeAdjustmentsInput,\n  timeAdjustmentsInputSchema,\n} from \"./shared/timeAdjustments.input\";\nimport {\n  type TimeAdjustment,\n  timeAdjustmentSchema,\n} from \"./shared/timeAdjustments.output\";\n\n/**\n * Metadata for the fetchTimeAdjustments endpoint\n */\nexport const timeAdjustmentsMeta = {\n  functionName: \"fetchTimeAdjustments\",\n  endpoint: \"/timeadj\",\n  inputSchema: timeAdjustmentsInputSchema,\n  outputSchema: timeAdjustmentSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List all time adjustments across all routes.\",\n} satisfies EndpointMeta<TimeAdjustmentsInput, TimeAdjustment[]>;\n\n/**\n * Fetch function for retrieving all time adjustments across all routes\n */\nexport const fetchTimeAdjustments: (\n  params?: FetchFunctionParams<TimeAdjustmentsInput>\n) => Promise<TimeAdjustment[]> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  timeAdjustmentsGroup,\n  timeAdjustmentsMeta\n);\n\n/**\n * React Query hook for retrieving all time adjustments across all routes\n */\nexport const useTimeAdjustments: (\n  params?: FetchFunctionParams<TimeAdjustmentsInput>,\n  options?: QueryHookOptions<TimeAdjustment[]>\n) => UseQueryResult<TimeAdjustment[], Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  timeAdjustmentsGroup,\n  timeAdjustmentsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { timeAdjustmentsByRouteMeta } from \"../timeAdjustmentsByRoute\";\nimport { timeAdjustmentsBySchedRouteMeta } from \"../timeAdjustmentsBySchedRoute\";\nimport { timeAdjustmentsMeta } from \"../timeAdjustments\";\n\n/**\n * Endpoint group metadata for time adjustments endpoints\n */\nexport const timeAdjustmentsGroup: EndpointGroupMeta = {\n  name: \"time-adjustments\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Modifications to scheduled sailing times for specific dates.\",\n    description:\n      \"Time adjustments include additions, cancellations, and timing changes that deviate from published schedules, such as tidal cancellations. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display schedule deviations and special date modifications.\",\n      \"Identify tidal adjustments and event-based cancellations.\",\n      \"Show accurate sailing times that differ from published schedules.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [\n    timeAdjustmentsMeta,\n    timeAdjustmentsByRouteMeta,\n    timeAdjustmentsBySchedRouteMeta,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type { ValidDateRange } from \"@/apis/shared/validDateRange.output\";\nimport { validDateRangeSchema } from \"@/apis/shared/validDateRange.output\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { scheduleValidDateRangeGroup } from \"./shared/validDateRange.endpoints\";\nimport {\n  type ScheduleValidDateRangeInput,\n  scheduleValidDateRangeInputSchema,\n} from \"./shared/validDateRange.input\";\n\n/**\n * Metadata for the fetchScheduleValidDateRange endpoint\n */\nexport const scheduleValidDateRangeMeta = {\n  functionName: \"fetchScheduleValidDateRange\",\n  endpoint: \"/validdaterange\",\n  inputSchema: scheduleValidDateRangeInputSchema,\n  outputSchema: validDateRangeSchema,\n  sampleParams: {},\n  endpointDescription: \"Get the valid date range for schedule data.\",\n} satisfies EndpointMeta<ScheduleValidDateRangeInput, ValidDateRange>;\n\n/**\n * Fetch function for retrieving the valid date range for schedule data\n */\nexport const fetchScheduleValidDateRange: (\n  params?: FetchFunctionParams<ScheduleValidDateRangeInput>\n) => Promise<ValidDateRange> = createFetchFunction(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleValidDateRangeGroup,\n  scheduleValidDateRangeMeta\n);\n\n/**\n * React Query hook for retrieving the valid date range for schedule data\n */\nexport const useScheduleValidDateRange: (\n  params?: FetchFunctionParams<ScheduleValidDateRangeInput>,\n  options?: QueryHookOptions<ValidDateRange>\n) => UseQueryResult<ValidDateRange, Error> = createHook(\n  () => require(\"../api\").wsfScheduleApi,\n  scheduleValidDateRangeGroup,\n  scheduleValidDateRangeMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { scheduleValidDateRangeMeta } from \"../scheduleValidDateRange\";\n\n/**\n * Endpoint group metadata for schedule valid date range endpoints\n */\nexport const scheduleValidDateRangeGroup: EndpointGroupMeta = {\n  name: \"schedule-valid-date-range\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Validity period for published WSF schedule data.\",\n    description:\n      \"Returns the start and end dates between which schedule information is accurate and available for all ferry routes. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Determine valid trip dates for schedule queries.\",\n      \"Validate trip date inputs before calling other endpoints.\",\n      \"Display available date ranges in booking interfaces.\",\n    ],\n    updateFrequency: \"daily\",\n  },\n  endpoints: [scheduleValidDateRangeMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { activeSeasonsGroup } from \"./activeSeasons/shared/activeSeasons.endpoints\";\nimport { cacheFlushDateScheduleGroup } from \"./cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport { routeDetailsGroup } from \"./routeDetails/shared/routeDetails.endpoints\";\nimport { routesGroup } from \"./routes/shared/routes.endpoints\";\nimport { sailingsGroup } from \"./sailings/shared/sailings.endpoints\";\nimport { scheduleAlertsGroup } from \"./scheduleAlerts/shared/scheduleAlerts.endpoints\";\nimport { scheduledRoutesGroup } from \"./scheduledRoutes/shared/scheduledRoutes.endpoints\";\nimport { schedulesGroup } from \"./schedules/shared/schedules.endpoints\";\nimport { scheduleTodayGroup } from \"./scheduleToday/shared/scheduleToday.endpoints\";\nimport { serviceDisruptionsGroup } from \"./serviceDisruptions/shared/serviceDisruptions.endpoints\";\nimport { scheduleTerminalMatesGroup } from \"./terminalMates/shared/terminalMates.endpoints\";\nimport { scheduleTerminalsGroup } from \"./terminals/shared/terminals.endpoints\";\nimport { timeAdjustmentsGroup } from \"./timeAdjustments/shared/timeAdjustments.endpoints\";\nimport { scheduleValidDateRangeGroup } from \"./validDateRange/shared/validDateRange.endpoints\";\n\nexport const wsfScheduleApi: ApiDefinition = {\n  api: {\n    name: \"wsf-schedule\",\n    baseUrl: \"https://www.wsdot.wa.gov/ferries/api/schedule/rest\",\n  },\n  endpointGroups: [\n    activeSeasonsGroup,\n    sailingsGroup,\n    cacheFlushDateScheduleGroup,\n    routeDetailsGroup,\n    routesGroup,\n    serviceDisruptionsGroup,\n    scheduleAlertsGroup,\n    schedulesGroup,\n    scheduledRoutesGroup,\n    scheduleTodayGroup,\n    scheduleValidDateRangeGroup,\n    scheduleTerminalMatesGroup,\n    scheduleTerminalsGroup,\n    timeAdjustmentsGroup,\n  ],\n};\n","import type { EndpointGroupMeta, EndpointMeta } from \"@/apis/types\";\nimport {\n  type CacheFlushDateInput,\n  cacheFlushDateInputSchema,\n} from \"./cacheFlushDate.input\";\nimport {\n  type CacheFlushDateOutput,\n  cacheFlushDateOutputSchema,\n} from \"./cacheFlushDate.output\";\n\nexport const cacheFlushDateTerminalsMeta = {\n  functionName: \"fetchCacheFlushDateTerminals\",\n  endpoint: \"/cacheflushdate\",\n  inputSchema: cacheFlushDateInputSchema,\n  outputSchema: cacheFlushDateOutputSchema,\n  sampleParams: {},\n  endpointDescription: \"Get cache flush timestamp for static terminals data.\",\n} satisfies EndpointMeta<CacheFlushDateInput, CacheFlushDateOutput>;\n\n/**\n * Endpoint group metadata for cache flush date terminals endpoints\n */\nexport const cacheFlushDateTerminalsGroup: EndpointGroupMeta = {\n  name: \"cache-flush-date-terminals\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Cache invalidation timestamp for static wsf-terminals data.\",\n    description:\n      \"Timestamp indicating when static endpoint data for the wsf-terminals API was last updated. Use this endpoint to determine when to invalidate cached terminal information. When the returned date changes, refresh your cached data. Polled automatically by ws-dottie useQuery hooks.\",\n    useCases: [\n      \"Detect when static terminal data has changed and invalidate caches.\",\n      \"Poll periodically to refresh cached terminal information.\",\n      \"Coordinate cache invalidation across multiple terminal endpoints.\",\n    ],\n  },\n  endpoints: [cacheFlushDateTerminalsMeta],\n};\n\nexport const cacheFlushDateTerminalsEndpoints = {\n  cacheFlushDate: cacheFlushDateTerminalsMeta,\n} as const;\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalBasicsGroup } from \"./shared/terminalBasics.endpoints\";\nimport {\n  type TerminalBasicsByIdInput,\n  terminalBasicsByIdInputSchema,\n} from \"./shared/terminalBasics.input\";\nimport {\n  type TerminalBasic,\n  terminalBasicSchema,\n} from \"./shared/terminalBasics.output\";\n\n/**\n * Metadata for the fetchTerminalBasicsByTerminalId endpoint\n */\nexport const terminalBasicsByTerminalIdMeta = {\n  functionName: \"fetchTerminalBasicsByTerminalId\",\n  endpoint: \"/terminalBasics/{TerminalID}\",\n  inputSchema: terminalBasicsByIdInputSchema,\n  outputSchema: terminalBasicSchema,\n  sampleParams: { TerminalID: 1 },\n  endpointDescription: \"Get basic information for a specific terminal by ID.\",\n} satisfies EndpointMeta<TerminalBasicsByIdInput, TerminalBasic>;\n\n/**\n * Fetch function for retrieving basic information for a specific terminal by ID\n */\nexport const fetchTerminalBasicsByTerminalId: (\n  params?: FetchFunctionParams<TerminalBasicsByIdInput>\n) => Promise<TerminalBasic> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBasicsGroup,\n  terminalBasicsByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving basic information for a specific terminal by ID\n */\nexport const useTerminalBasicsByTerminalId: (\n  params?: FetchFunctionParams<TerminalBasicsByIdInput>,\n  options?: QueryHookOptions<TerminalBasic>\n) => UseQueryResult<TerminalBasic, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBasicsGroup,\n  terminalBasicsByTerminalIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalBasicsGroup } from \"./shared/terminalBasics.endpoints\";\nimport {\n  type TerminalBasicsInput,\n  terminalBasicsInputSchema,\n} from \"./shared/terminalBasics.input\";\nimport {\n  type TerminalBasic,\n  terminalBasicSchema,\n} from \"./shared/terminalBasics.output\";\n\n/**\n * Metadata for the fetchTerminalBasics endpoint\n */\nexport const terminalBasicsMeta = {\n  functionName: \"fetchTerminalBasics\",\n  endpoint: \"/terminalBasics\",\n  inputSchema: terminalBasicsInputSchema,\n  outputSchema: terminalBasicSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List basic information for all terminals.\",\n} satisfies EndpointMeta<TerminalBasicsInput, TerminalBasic[]>;\n\n/**\n * Fetch function for retrieving basic information for all terminals\n */\nexport const fetchTerminalBasics: (\n  params?: FetchFunctionParams<TerminalBasicsInput>\n) => Promise<TerminalBasic[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBasicsGroup,\n  terminalBasicsMeta\n);\n\n/**\n * React Query hook for retrieving basic information for all terminals\n */\nexport const useTerminalBasics: (\n  params?: FetchFunctionParams<TerminalBasicsInput>,\n  options?: QueryHookOptions<TerminalBasic[]>\n) => UseQueryResult<TerminalBasic[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBasicsGroup,\n  terminalBasicsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalBasicsByTerminalIdMeta } from \"../terminalBasicsByTerminalId\";\nimport { terminalBasicsMeta } from \"../terminalBasics\";\n\n/**\n * Endpoint group metadata for terminal basics endpoints\n */\nexport const terminalBasicsGroup: EndpointGroupMeta = {\n  name: \"terminal-basics\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Essential terminal details including identification, amenities, and regional assignments.\",\n    description:\n      \"Basic terminal information for Washington State Ferry terminals including IDs, names, abbreviations, amenities (overhead passenger loading, elevator, waiting room, food service, restrooms), and sort order. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display terminal lists with basic identification and amenities.\",\n      \"Plan ferry trips with accessibility and facility information.\",\n      \"Filter terminals by region or amenities.\",\n    ],\n  },\n  endpoints: [terminalBasicsMeta, terminalBasicsByTerminalIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalBulletinsGroup } from \"./shared/terminalBulletins.endpoints\";\nimport {\n  type TerminalBulletinsByIdInput,\n  terminalBulletinsByIdInputSchema,\n} from \"./shared/terminalBulletins.input\";\nimport {\n  type TerminalBulletin,\n  terminalBulletinSchema,\n} from \"./shared/terminalBulletins.output\";\n\n/**\n * Metadata for the fetchTerminalBulletinsByTerminalId endpoint\n */\nexport const terminalBulletinsByTerminalIdMeta = {\n  functionName: \"fetchTerminalBulletinsByTerminalId\",\n  endpoint: \"/terminalBulletins/{TerminalID}\",\n  inputSchema: terminalBulletinsByIdInputSchema,\n  outputSchema: terminalBulletinSchema,\n  sampleParams: { TerminalID: 3 },\n  endpointDescription:\n    \"Get bulletins and alerts for a specific terminal by ID.\",\n} satisfies EndpointMeta<TerminalBulletinsByIdInput, TerminalBulletin>;\n\n/**\n * Fetch function for retrieving bulletins and alerts for a specific terminal by ID\n */\nexport const fetchTerminalBulletinsByTerminalId: (\n  params?: FetchFunctionParams<TerminalBulletinsByIdInput>\n) => Promise<TerminalBulletin> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBulletinsGroup,\n  terminalBulletinsByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving bulletins and alerts for a specific terminal by ID\n */\nexport const useTerminalBulletinsByTerminalId: (\n  params?: FetchFunctionParams<TerminalBulletinsByIdInput>,\n  options?: QueryHookOptions<TerminalBulletin>\n) => UseQueryResult<TerminalBulletin, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBulletinsGroup,\n  terminalBulletinsByTerminalIdMeta\n);\n\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalBulletinsGroup } from \"./shared/terminalBulletins.endpoints\";\nimport {\n  type TerminalBulletinsInput,\n  terminalBulletinsInputSchema,\n} from \"./shared/terminalBulletins.input\";\nimport {\n  type TerminalBulletin,\n  terminalBulletinSchema,\n} from \"./shared/terminalBulletins.output\";\n\n/**\n * Metadata for the fetchTerminalBulletins endpoint\n */\nexport const terminalBulletinsMeta = {\n  functionName: \"fetchTerminalBulletins\",\n  endpoint: \"/terminalBulletins\",\n  inputSchema: terminalBulletinsInputSchema,\n  outputSchema: terminalBulletinSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List bulletins and alerts for all terminals.\",\n} satisfies EndpointMeta<TerminalBulletinsInput, TerminalBulletin[]>;\n\n/**\n * Fetch function for retrieving bulletins and alerts for all terminals\n */\nexport const fetchTerminalBulletins: (\n  params?: FetchFunctionParams<TerminalBulletinsInput>\n) => Promise<TerminalBulletin[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBulletinsGroup,\n  terminalBulletinsMeta\n);\n\n/**\n * React Query hook for retrieving bulletins and alerts for all terminals\n */\nexport const useTerminalBulletins: (\n  params?: FetchFunctionParams<TerminalBulletinsInput>,\n  options?: QueryHookOptions<TerminalBulletin[]>\n) => UseQueryResult<TerminalBulletin[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalBulletinsGroup,\n  terminalBulletinsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalBulletinsByTerminalIdMeta } from \"../terminalBulletinsByTerminalId\";\nimport { terminalBulletinsMeta } from \"../terminalBulletins\";\n\n/**\n * Endpoint group metadata for terminal bulletins endpoints\n */\nexport const terminalBulletinsGroup: EndpointGroupMeta = {\n  name: \"terminal-bulletins\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Service alerts and notifications for ferry terminals.\",\n    description:\n      \"Important notices and alerts associated with Washington State Ferry terminals including service updates, travel advisories, and critical announcements. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display terminal alerts and service notices in rider apps.\",\n      \"Show travel advisories and critical announcements.\",\n      \"Monitor terminal-specific and system-wide notifications.\",\n    ],\n  },\n  endpoints: [terminalBulletinsMeta, terminalBulletinsByTerminalIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalLocationsGroup } from \"./shared/terminalLocations.endpoints\";\nimport {\n  type TerminalLocationsByIdInput,\n  terminalLocationsByIdInputSchema,\n} from \"./shared/terminalLocations.input\";\nimport {\n  type TerminalLocation,\n  terminalLocationSchema,\n} from \"./shared/terminalLocations.output\";\n\n/**\n * Metadata for the fetchTerminalLocationsByTerminalId endpoint\n */\nexport const terminalLocationsByTerminalIdMeta = {\n  functionName: \"fetchTerminalLocationsByTerminalId\",\n  endpoint: \"/terminalLocations/{TerminalID}\",\n  inputSchema: terminalLocationsByIdInputSchema,\n  outputSchema: terminalLocationSchema,\n  sampleParams: { TerminalID: 5 },\n  endpointDescription:\n    \"Get location information for a specific terminal by ID.\",\n} satisfies EndpointMeta<TerminalLocationsByIdInput, TerminalLocation>;\n\n/**\n * Fetch function for retrieving location information for a specific terminal by ID\n */\nexport const fetchTerminalLocationsByTerminalId: (\n  params?: FetchFunctionParams<TerminalLocationsByIdInput>\n) => Promise<TerminalLocation> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalLocationsGroup,\n  terminalLocationsByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving location information for a specific terminal by ID\n */\nexport const useTerminalLocationsByTerminalId: (\n  params?: FetchFunctionParams<TerminalLocationsByIdInput>,\n  options?: QueryHookOptions<TerminalLocation>\n) => UseQueryResult<TerminalLocation, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalLocationsGroup,\n  terminalLocationsByTerminalIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalLocationsGroup } from \"./shared/terminalLocations.endpoints\";\nimport {\n  type TerminalLocationsInput,\n  terminalLocationsInputSchema,\n} from \"./shared/terminalLocations.input\";\nimport {\n  type TerminalLocation,\n  terminalLocationSchema,\n} from \"./shared/terminalLocations.output\";\n\n/**\n * Metadata for the fetchTerminalLocations endpoint\n */\nexport const terminalLocationsMeta = {\n  functionName: \"fetchTerminalLocations\",\n  endpoint: \"/terminalLocations\",\n  inputSchema: terminalLocationsInputSchema,\n  outputSchema: terminalLocationSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List location information for all terminals.\",\n} satisfies EndpointMeta<TerminalLocationsInput, TerminalLocation[]>;\n\n/**\n * Fetch function for retrieving location information for all terminals\n */\nexport const fetchTerminalLocations: (\n  params?: FetchFunctionParams<TerminalLocationsInput>\n) => Promise<TerminalLocation[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalLocationsGroup,\n  terminalLocationsMeta\n);\n\n/**\n * React Query hook for retrieving location information for all terminals\n */\nexport const useTerminalLocations: (\n  params?: FetchFunctionParams<TerminalLocationsInput>,\n  options?: QueryHookOptions<TerminalLocation[]>\n) => UseQueryResult<TerminalLocation[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalLocationsGroup,\n  terminalLocationsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalLocationsByTerminalIdMeta } from \"../terminalLocationsByTerminalId\";\nimport { terminalLocationsMeta } from \"../terminalLocations\";\n\n/**\n * Endpoint group metadata for terminal locations endpoints\n */\nexport const terminalLocationsGroup: EndpointGroupMeta = {\n  name: \"terminal-locations\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Geographical location data for ferry terminals.\",\n    description:\n      \"Location information for Washington State Ferry terminals including coordinates, addresses, map links, driving directions, and GIS zoom-level coordinates. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display terminal locations on maps and navigation systems.\",\n      \"Provide driving directions and address information.\",\n      \"Integrate with GIS mapping applications.\",\n    ],\n  },\n  endpoints: [terminalLocationsMeta, terminalLocationsByTerminalIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalSailingSpaceGroup } from \"./shared/terminalSailingSpace.endpoints\";\nimport {\n  type TerminalSailingSpaceByTerminalIdInput,\n  terminalSailingSpaceByTerminalIdInputSchema,\n} from \"./shared/terminalSailingSpace.input\";\nimport {\n  type TerminalSailingSpace,\n  terminalSailingSpaceSchema,\n} from \"./shared/terminalSailingSpace.output\";\n\n/**\n * Metadata for the fetchTerminalSailingSpaceByTerminalId endpoint\n */\nexport const terminalSailingSpaceByTerminalIdMeta = {\n  functionName: \"fetchTerminalSailingSpaceByTerminalId\",\n  endpoint: \"/terminalSailingSpace/{TerminalID}\",\n  inputSchema: terminalSailingSpaceByTerminalIdInputSchema,\n  outputSchema: terminalSailingSpaceSchema,\n  sampleParams: { TerminalID: 7 },\n  endpointDescription:\n    \"Get sailing space availability for a specific terminal by ID.\",\n} satisfies EndpointMeta<\n  TerminalSailingSpaceByTerminalIdInput,\n  TerminalSailingSpace\n>;\n\n/**\n * Fetch function for retrieving sailing space availability for a specific terminal by ID\n */\nexport const fetchTerminalSailingSpaceByTerminalId: (\n  params?: FetchFunctionParams<TerminalSailingSpaceByTerminalIdInput>\n) => Promise<TerminalSailingSpace> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalSailingSpaceGroup,\n  terminalSailingSpaceByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving sailing space availability for a specific terminal by ID\n */\nexport const useTerminalSailingSpaceByTerminalId: (\n  params?: FetchFunctionParams<TerminalSailingSpaceByTerminalIdInput>,\n  options?: QueryHookOptions<TerminalSailingSpace>\n) => UseQueryResult<TerminalSailingSpace, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalSailingSpaceGroup,\n  terminalSailingSpaceByTerminalIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalSailingSpaceGroup } from \"./shared/terminalSailingSpace.endpoints\";\nimport {\n  type TerminalSailingSpaceInput,\n  terminalSailingSpaceInputSchema,\n} from \"./shared/terminalSailingSpace.input\";\nimport {\n  type TerminalSailingSpace,\n  terminalSailingSpaceSchema,\n} from \"./shared/terminalSailingSpace.output\";\n\n/**\n * Metadata for the fetchTerminalSailingSpace endpoint\n */\nexport const terminalSailingSpaceMeta = {\n  functionName: \"fetchTerminalSailingSpace\",\n  endpoint: \"/terminalSailingSpace\",\n  inputSchema: terminalSailingSpaceInputSchema,\n  outputSchema: terminalSailingSpaceSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List sailing space availability for all terminals.\",\n} satisfies EndpointMeta<TerminalSailingSpaceInput, TerminalSailingSpace[]>;\n\n/**\n * Fetch function for retrieving sailing space availability for all terminals\n */\nexport const fetchTerminalSailingSpace: (\n  params?: FetchFunctionParams<TerminalSailingSpaceInput>\n) => Promise<TerminalSailingSpace[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalSailingSpaceGroup,\n  terminalSailingSpaceMeta\n);\n\n/**\n * React Query hook for retrieving sailing space availability for all terminals\n */\nexport const useTerminalSailingSpace: (\n  params?: FetchFunctionParams<TerminalSailingSpaceInput>,\n  options?: QueryHookOptions<TerminalSailingSpace[]>\n) => UseQueryResult<TerminalSailingSpace[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalSailingSpaceGroup,\n  terminalSailingSpaceMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalSailingSpaceByTerminalIdMeta } from \"../terminalSailingSpaceByTerminalId\";\nimport { terminalSailingSpaceMeta } from \"../terminalSailingSpace\";\n\n/**\n * Endpoint group metadata for terminal sailing space endpoints\n */\nexport const terminalSailingSpaceGroup: EndpointGroupMeta = {\n  name: \"terminal-sailing-space\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Real-time sailing space availability for upcoming departures.\",\n    description:\n      \"Terminal condition data including drive-up and reservation spaces available for select departures, vessel information, and cancellation status. Data changes frequently (potentially every 5 seconds). Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group. Do not cache results for extended periods.\",\n    useCases: [\n      \"Display real-time space availability for upcoming sailings.\",\n      \"Show drive-up and reservation space counts with color indicators.\",\n      \"Monitor vessel assignments and departure cancellations.\",\n    ],\n  },\n  endpoints: [terminalSailingSpaceMeta, terminalSailingSpaceByTerminalIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalTransportsGroup } from \"./shared/terminalTransports.endpoints\";\nimport {\n  type TerminalTransportsByTerminalIdInput,\n  terminalTransportsByTerminalIdInputSchema,\n} from \"./shared/terminalTransports.input\";\nimport {\n  type TerminalTransport,\n  terminalTransportSchema,\n} from \"./shared/terminalTransports.output\";\n\n/**\n * Metadata for the fetchTerminalTransportsByTerminalId endpoint\n */\nexport const terminalTransportsByTerminalIdMeta = {\n  functionName: \"fetchTerminalTransportsByTerminalId\",\n  endpoint: \"/terminalTransports/{TerminalID}\",\n  inputSchema: terminalTransportsByTerminalIdInputSchema,\n  outputSchema: terminalTransportSchema,\n  sampleParams: { TerminalID: 10 },\n  endpointDescription:\n    \"Get transportation information for a specific terminal by ID.\",\n} satisfies EndpointMeta<\n  TerminalTransportsByTerminalIdInput,\n  TerminalTransport\n>;\n\n/**\n * Fetch function for retrieving transportation information for a specific terminal by ID\n */\nexport const fetchTerminalTransportsByTerminalId: (\n  params?: FetchFunctionParams<TerminalTransportsByTerminalIdInput>\n) => Promise<TerminalTransport> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalTransportsGroup,\n  terminalTransportsByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving transportation information for a specific terminal by ID\n */\nexport const useTerminalTransportsByTerminalId: (\n  params?: FetchFunctionParams<TerminalTransportsByTerminalIdInput>,\n  options?: QueryHookOptions<TerminalTransport>\n) => UseQueryResult<TerminalTransport, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalTransportsGroup,\n  terminalTransportsByTerminalIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalTransportsGroup } from \"./shared/terminalTransports.endpoints\";\nimport {\n  type TerminalTransportsInput,\n  terminalTransportsInputSchema,\n} from \"./shared/terminalTransports.input\";\nimport {\n  type TerminalTransport,\n  terminalTransportSchema,\n} from \"./shared/terminalTransports.output\";\n\n/**\n * Metadata for the fetchTerminalTransports endpoint\n */\nexport const terminalTransportsMeta = {\n  functionName: \"fetchTerminalTransports\",\n  endpoint: \"/terminalTransports\",\n  inputSchema: terminalTransportsInputSchema,\n  outputSchema: terminalTransportSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List transportation information for all terminals.\",\n} satisfies EndpointMeta<TerminalTransportsInput, TerminalTransport[]>;\n\n/**\n * Fetch function for retrieving transportation information for all terminals\n */\nexport const fetchTerminalTransports: (\n  params?: FetchFunctionParams<TerminalTransportsInput>\n) => Promise<TerminalTransport[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalTransportsGroup,\n  terminalTransportsMeta\n);\n\n/**\n * React Query hook for retrieving transportation information for all terminals\n */\nexport const useTerminalTransports: (\n  params?: FetchFunctionParams<TerminalTransportsInput>,\n  options?: QueryHookOptions<TerminalTransport[]>\n) => UseQueryResult<TerminalTransport[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalTransportsGroup,\n  terminalTransportsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalTransportsByTerminalIdMeta } from \"../terminalTransportsByTerminalId\";\nimport { terminalTransportsMeta } from \"../terminalTransports\";\n\n/**\n * Endpoint group metadata for terminal transports endpoints\n */\nexport const terminalTransportsGroup: EndpointGroupMeta = {\n  name: \"terminal-transports\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Transportation options and parking information for terminals.\",\n    description:\n      \"Commuter information for Washington State Ferry terminals including parking details, vehicle-specific tips (motorcycle, truck, bike), airport information, transit links, and HOV/carpool information. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display parking information and rates for terminal planning.\",\n      \"Provide vehicle-specific tips for motorcycles, trucks, and bicycles.\",\n      \"Show transit links and airport connection information.\",\n    ],\n  },\n  endpoints: [terminalTransportsMeta, terminalTransportsByTerminalIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalVerboseGroup } from \"./shared/terminalVerbose.endpoints\";\nimport {\n  type TerminalVerboseByTerminalIdInput,\n  terminalVerboseByTerminalIdInputSchema,\n} from \"./shared/terminalVerbose.input\";\nimport {\n  type TerminalVerbose,\n  terminalVerboseSchema,\n} from \"./shared/terminalVerbose.output\";\n\n/**\n * Metadata for the fetchTerminalVerboseByTerminalId endpoint\n */\nexport const terminalVerboseByTerminalIdMeta = {\n  functionName: \"fetchTerminalVerboseByTerminalId\",\n  endpoint: \"/terminalVerbose/{TerminalID}\",\n  inputSchema: terminalVerboseByTerminalIdInputSchema,\n  outputSchema: terminalVerboseSchema,\n  sampleParams: { TerminalID: 4 },\n  endpointDescription:\n    \"Get comprehensive information for a specific terminal by ID.\",\n} satisfies EndpointMeta<TerminalVerboseByTerminalIdInput, TerminalVerbose>;\n\n/**\n * Fetch function for retrieving comprehensive information for a specific terminal by ID\n */\nexport const fetchTerminalVerboseByTerminalId: (\n  params?: FetchFunctionParams<TerminalVerboseByTerminalIdInput>\n) => Promise<TerminalVerbose> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalVerboseGroup,\n  terminalVerboseByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving comprehensive information for a specific terminal by ID\n */\nexport const useTerminalVerboseByTerminalId: (\n  params?: FetchFunctionParams<TerminalVerboseByTerminalIdInput>,\n  options?: QueryHookOptions<TerminalVerbose>\n) => UseQueryResult<TerminalVerbose, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalVerboseGroup,\n  terminalVerboseByTerminalIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalVerboseGroup } from \"./shared/terminalVerbose.endpoints\";\nimport {\n  type TerminalVerboseInput,\n  terminalVerboseInputSchema,\n} from \"./shared/terminalVerbose.input\";\nimport {\n  type TerminalVerbose,\n  terminalVerboseSchema,\n} from \"./shared/terminalVerbose.output\";\n\n/**\n * Metadata for the fetchTerminalVerbose endpoint\n */\nexport const terminalVerboseMeta = {\n  functionName: \"fetchTerminalVerbose\",\n  endpoint: \"/terminalVerbose\",\n  inputSchema: terminalVerboseInputSchema,\n  outputSchema: terminalVerboseSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List comprehensive information for all terminals.\",\n} satisfies EndpointMeta<TerminalVerboseInput, TerminalVerbose[]>;\n\n/**\n * Fetch function for retrieving comprehensive information for all terminals\n */\nexport const fetchTerminalVerbose: (\n  params?: FetchFunctionParams<TerminalVerboseInput>\n) => Promise<TerminalVerbose[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalVerboseGroup,\n  terminalVerboseMeta\n);\n\n/**\n * React Query hook for retrieving comprehensive information for all terminals\n */\nexport const useTerminalVerbose: (\n  params?: FetchFunctionParams<TerminalVerboseInput>,\n  options?: QueryHookOptions<TerminalVerbose[]>\n) => UseQueryResult<TerminalVerbose[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalVerboseGroup,\n  terminalVerboseMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalVerboseByTerminalIdMeta } from \"../terminalVerboseByTerminalId\";\nimport { terminalVerboseMeta } from \"../terminalVerbose\";\n\n/**\n * Endpoint group metadata for terminal verbose endpoints\n */\nexport const terminalVerboseGroup: EndpointGroupMeta = {\n  name: \"terminal-verbose\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Comprehensive terminal information combining all terminal data types.\",\n    description:\n      \"Complete terminal information combining data from terminalBasics, terminalBulletins, terminalLocations, terminalTransports, and terminalWaitTimes endpoints. Includes identification, amenities, bulletins, locations, transportation info, sailing space, wait times, and additional details. Use when you need to reduce API calls and don't mind larger payloads. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Retrieve all terminal information in a single API call.\",\n      \"Reduce application chattiness when comprehensive data is needed.\",\n      \"Build integrated terminal information displays.\",\n    ],\n  },\n  endpoints: [terminalVerboseMeta, terminalVerboseByTerminalIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalWaitTimesGroup } from \"./shared/terminalWaitTimes.endpoints\";\nimport {\n  type TerminalWaitTimesByIdInput,\n  terminalWaitTimesByIdInputSchema,\n} from \"./shared/terminalWaitTimes.input\";\nimport {\n  type TerminalWaitTime,\n  terminalWaitTimeSchema,\n} from \"./shared/terminalWaitTimes.output\";\n\n/**\n * Metadata for the fetchTerminalWaitTimesByTerminalId endpoint\n */\nexport const terminalWaitTimesByTerminalIdMeta = {\n  functionName: \"fetchTerminalWaitTimesByTerminalId\",\n  endpoint: \"/terminalWaitTimes/{TerminalID}\",\n  inputSchema: terminalWaitTimesByIdInputSchema,\n  outputSchema: terminalWaitTimeSchema,\n  sampleParams: { TerminalID: 11 },\n  endpointDescription:\n    \"Get wait time information for a specific terminal by ID.\",\n} satisfies EndpointMeta<TerminalWaitTimesByIdInput, TerminalWaitTime>;\n\n/**\n * Fetch function for retrieving wait time information for a specific terminal by ID\n */\nexport const fetchTerminalWaitTimesByTerminalId: (\n  params?: FetchFunctionParams<TerminalWaitTimesByIdInput>\n) => Promise<TerminalWaitTime> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalWaitTimesGroup,\n  terminalWaitTimesByTerminalIdMeta\n);\n\n/**\n * React Query hook for retrieving wait time information for a specific terminal by ID\n */\nexport const useTerminalWaitTimesByTerminalId: (\n  params?: FetchFunctionParams<TerminalWaitTimesByIdInput>,\n  options?: QueryHookOptions<TerminalWaitTime>\n) => UseQueryResult<TerminalWaitTime, Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalWaitTimesGroup,\n  terminalWaitTimesByTerminalIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { terminalWaitTimesGroup } from \"./shared/terminalWaitTimes.endpoints\";\nimport {\n  type TerminalWaitTimesInput,\n  terminalWaitTimesInputSchema,\n} from \"./shared/terminalWaitTimes.input\";\nimport {\n  type TerminalWaitTime,\n  terminalWaitTimeSchema,\n} from \"./shared/terminalWaitTimes.output\";\n\n/**\n * Metadata for the fetchTerminalWaitTimes endpoint\n */\nexport const terminalWaitTimesMeta = {\n  functionName: \"fetchTerminalWaitTimes\",\n  endpoint: \"/terminalWaitTimes\",\n  inputSchema: terminalWaitTimesInputSchema,\n  outputSchema: terminalWaitTimeSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List wait time information for all terminals.\",\n} satisfies EndpointMeta<TerminalWaitTimesInput, TerminalWaitTime[]>;\n\n/**\n * Fetch function for retrieving wait time information for all terminals\n */\nexport const fetchTerminalWaitTimes: (\n  params?: FetchFunctionParams<TerminalWaitTimesInput>\n) => Promise<TerminalWaitTime[]> = createFetchFunction(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalWaitTimesGroup,\n  terminalWaitTimesMeta\n);\n\n/**\n * React Query hook for retrieving wait time information for all terminals\n */\nexport const useTerminalWaitTimes: (\n  params?: FetchFunctionParams<TerminalWaitTimesInput>,\n  options?: QueryHookOptions<TerminalWaitTime[]>\n) => UseQueryResult<TerminalWaitTime[], Error> = createHook(\n  () => require(\"../api\").wsfTerminalsApi,\n  terminalWaitTimesGroup,\n  terminalWaitTimesMeta\n);\n\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { terminalWaitTimesByTerminalIdMeta } from \"../terminalWaitTimesByTerminalId\";\nimport { terminalWaitTimesMeta } from \"../terminalWaitTimes\";\n\n/**\n * Endpoint group metadata for terminal wait times endpoints\n */\nexport const terminalWaitTimesGroup: EndpointGroupMeta = {\n  name: \"terminal-wait-times\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Wait time conditions and travel tips for vehicles and passengers.\",\n    description:\n      \"Current wait conditions and travel recommendations for both vehicles and walk-on passengers at Washington State Ferry terminals including wait time notes, IVR notes, route information, and update dates. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display wait time information and arrival recommendations.\",\n      \"Provide travel tips for optimal departure timing.\",\n      \"Show route-specific wait time conditions.\",\n    ],\n  },\n  endpoints: [terminalWaitTimesMeta, terminalWaitTimesByTerminalIdMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { cacheFlushDateTerminalsGroup } from \"./cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport { terminalBasicsGroup } from \"./terminalBasics/shared/terminalBasics.endpoints\";\nimport { terminalBulletinsGroup } from \"./terminalBulletins/shared/terminalBulletins.endpoints\";\nimport { terminalLocationsGroup } from \"./terminalLocations/shared/terminalLocations.endpoints\";\nimport { terminalSailingSpaceGroup } from \"./terminalSailingSpace/shared/terminalSailingSpace.endpoints\";\nimport { terminalTransportsGroup } from \"./terminalTransports/shared/terminalTransports.endpoints\";\nimport { terminalVerboseGroup } from \"./terminalVerbose/shared/terminalVerbose.endpoints\";\nimport { terminalWaitTimesGroup } from \"./terminalWaitTimes/shared/terminalWaitTimes.endpoints\";\n\nexport const wsfTerminalsApi: ApiDefinition = {\n  api: {\n    name: \"wsf-terminals\",\n    baseUrl: \"https://www.wsdot.wa.gov/ferries/api/terminals/rest\",\n  },\n  endpointGroups: [\n    cacheFlushDateTerminalsGroup,\n    terminalBasicsGroup,\n    terminalBulletinsGroup,\n    terminalLocationsGroup,\n    terminalSailingSpaceGroup,\n    terminalTransportsGroup,\n    terminalVerboseGroup,\n    terminalWaitTimesGroup,\n  ],\n};\n","import type { EndpointGroupMeta, EndpointMeta } from \"@/apis/types\";\nimport {\n  type CacheFlushDateInput,\n  cacheFlushDateInputSchema,\n} from \"./cacheFlushDate.input\";\nimport {\n  type CacheFlushDateOutput,\n  cacheFlushDateOutputSchema,\n} from \"./cacheFlushDate.output\";\n\nexport const cacheFlushDateVesselsMeta = {\n  functionName: \"fetchCacheFlushDateVessels\",\n  endpoint: \"/cacheflushdate\",\n  inputSchema: cacheFlushDateInputSchema,\n  outputSchema: cacheFlushDateOutputSchema,\n  sampleParams: {},\n  endpointDescription: \"Get cache flush timestamp for static wsf-vessels data.\",\n} satisfies EndpointMeta<CacheFlushDateInput, CacheFlushDateOutput>;\n\n/**\n * Endpoint group metadata for cache flush date endpoints\n */\nexport const cacheFlushDateVesselsGroup: EndpointGroupMeta = {\n  name: \"cache-flush-date-vessels\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Cache invalidation timestamp for static wsf-vessels data.\",\n    description:\n      \"Timestamp indicating when any static endpoint data for the wsf-vessels API was last updated. Use this endpoint to determine when to invalidate cached vessel information. When the returned date changes, refresh cached data from static endpoints.\",\n    useCases: [\n      \"Poll periodically to detect when static vessel data has changed.\",\n      \"Invalidate application cache when timestamp changes.\",\n      \"Coordinate cache refresh across multiple static endpoints.\",\n    ],\n  },\n  endpoints: [cacheFlushDateVesselsMeta],\n};\n\nexport const cacheFlushDateVesselsEndpoints = {\n  cacheFlushDate: cacheFlushDateVesselsMeta,\n} as const;\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselAccommodationsGroup } from \"./shared/vesselAccommodations.endpoints\";\nimport {\n  type VesselAccommodationsByIdInput,\n  vesselAccommodationsByIdInputSchema,\n} from \"./shared/vesselAccommodations.input\";\nimport {\n  type VesselAccommodation,\n  vesselAccommodationSchema,\n} from \"./shared/vesselAccommodations.output\";\n\n/**\n * Metadata for the fetchVesselAccommodationsByVesselId endpoint\n */\nexport const vesselAccommodationsByVesselIdMeta = {\n  functionName: \"fetchVesselAccommodationsByVesselId\",\n  endpoint: \"/vesselAccommodations/{VesselID}\",\n  inputSchema: vesselAccommodationsByIdInputSchema,\n  outputSchema: vesselAccommodationSchema,\n  sampleParams: { VesselID: 65 },\n  endpointDescription:\n    \"Get amenities and accessibility features for a specific vessel.\",\n} satisfies EndpointMeta<VesselAccommodationsByIdInput, VesselAccommodation>;\n\n/**\n * Fetch function for retrieving amenities and accessibility features for a specific vessel\n */\nexport const fetchVesselAccommodationsByVesselId: (\n  params?: FetchFunctionParams<VesselAccommodationsByIdInput>\n) => Promise<VesselAccommodation> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselAccommodationsGroup,\n  vesselAccommodationsByVesselIdMeta\n);\n\n/**\n * React Query hook for retrieving amenities and accessibility features for a specific vessel\n */\nexport const useVesselAccommodationsByVesselId: (\n  params?: FetchFunctionParams<VesselAccommodationsByIdInput>,\n  options?: QueryHookOptions<VesselAccommodation>\n) => UseQueryResult<VesselAccommodation, Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselAccommodationsGroup,\n  vesselAccommodationsByVesselIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselAccommodationsGroup } from \"./shared/vesselAccommodations.endpoints\";\nimport {\n  type VesselAccommodationsInput,\n  vesselAccommodationsInputSchema,\n} from \"./shared/vesselAccommodations.input\";\nimport {\n  type VesselAccommodation,\n  vesselAccommodationSchema,\n} from \"./shared/vesselAccommodations.output\";\n\n/**\n * Metadata for the fetchVesselAccommodations endpoint\n */\nexport const vesselAccommodationsMeta = {\n  functionName: \"fetchVesselAccommodations\",\n  endpoint: \"/vesselAccommodations\",\n  inputSchema: vesselAccommodationsInputSchema,\n  outputSchema: vesselAccommodationSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List amenities and accessibility features for all vessels.\",\n} satisfies EndpointMeta<VesselAccommodationsInput, VesselAccommodation[]>;\n\n/**\n * Fetch function for retrieving amenities and accessibility features for all vessels\n */\nexport const fetchVesselAccommodations: (\n  params?: FetchFunctionParams<VesselAccommodationsInput>\n) => Promise<VesselAccommodation[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselAccommodationsGroup,\n  vesselAccommodationsMeta\n);\n\n/**\n * React Query hook for retrieving amenities and accessibility features for all vessels\n */\nexport const useVesselAccommodations: (\n  params?: FetchFunctionParams<VesselAccommodationsInput>,\n  options?: QueryHookOptions<VesselAccommodation[]>\n) => UseQueryResult<VesselAccommodation[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselAccommodationsGroup,\n  vesselAccommodationsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { vesselAccommodationsByVesselIdMeta } from \"../vesselAccommodationsByVesselId\";\nimport { vesselAccommodationsMeta } from \"../vesselAccommodations\";\n\n/**\n * Endpoint group metadata for vessel accommodations endpoints\n */\nexport const vesselAccommodationsGroup: EndpointGroupMeta = {\n  name: \"vessel-accommodations\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Passenger amenities and accessibility features for WSF vessels.\",\n    description:\n      \"Amenity and accessibility information including ADA compliance, restrooms, food service, elevators, and connectivity. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display vessel amenities in passenger information systems.\",\n      \"Plan accessible travel for passengers with disabilities.\",\n      \"Compare vessel features for trip planning.\",\n    ],\n  },\n  endpoints: [vesselAccommodationsMeta, vesselAccommodationsByVesselIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselBasicsGroup } from \"./shared/vesselBasics.endpoints\";\nimport {\n  type VesselBasicsByIdInput,\n  vesselBasicsByIdInputSchema,\n} from \"./shared/vesselBasics.input\";\nimport {\n  type VesselBasic,\n  vesselBasicSchema,\n} from \"./shared/vesselBasics.output\";\n\n/**\n * Metadata for the fetchVesselBasicsByVesselId endpoint\n */\nexport const vesselBasicsByVesselIdMeta = {\n  functionName: \"fetchVesselBasicsByVesselId\",\n  endpoint: \"/vesselBasics/{VesselID}\",\n  inputSchema: vesselBasicsByIdInputSchema,\n  outputSchema: vesselBasicSchema,\n  sampleParams: { VesselID: 74 },\n  endpointDescription: \"Get basic information for a specific vessel by ID.\",\n} satisfies EndpointMeta<VesselBasicsByIdInput, VesselBasic>;\n\n/**\n * Fetch function for retrieving basic information for a specific vessel by ID\n */\nexport const fetchVesselBasicsByVesselId: (\n  params?: FetchFunctionParams<VesselBasicsByIdInput>\n) => Promise<VesselBasic> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselBasicsGroup,\n  vesselBasicsByVesselIdMeta\n);\n\n/**\n * React Query hook for retrieving basic information for a specific vessel by ID\n */\nexport const useVesselBasicsByVesselId: (\n  params?: FetchFunctionParams<VesselBasicsByIdInput>,\n  options?: QueryHookOptions<VesselBasic>\n) => UseQueryResult<VesselBasic, Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselBasicsGroup,\n  vesselBasicsByVesselIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselBasicsGroup } from \"./shared/vesselBasics.endpoints\";\nimport {\n  type VesselBasicsInput,\n  vesselBasicsInputSchema,\n} from \"./shared/vesselBasics.input\";\nimport {\n  type VesselBasic,\n  vesselBasicSchema,\n} from \"./shared/vesselBasics.output\";\n\n/**\n * Metadata for the fetchVesselBasics endpoint\n */\nexport const vesselBasicsMeta = {\n  functionName: \"fetchVesselBasics\",\n  endpoint: \"/vesselBasics\",\n  inputSchema: vesselBasicsInputSchema,\n  outputSchema: vesselBasicSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List basic information for all vessels in the fleet.\",\n} satisfies EndpointMeta<VesselBasicsInput, VesselBasic[]>;\n\n/**\n * Fetch function for retrieving basic information for all vessels in the fleet\n */\nexport const fetchVesselBasics: (\n  params?: FetchFunctionParams<VesselBasicsInput>\n) => Promise<VesselBasic[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselBasicsGroup,\n  vesselBasicsMeta\n);\n\n/**\n * React Query hook for retrieving basic information for all vessels in the fleet\n */\nexport const useVesselBasics: (\n  params?: FetchFunctionParams<VesselBasicsInput>,\n  options?: QueryHookOptions<VesselBasic[]>\n) => UseQueryResult<VesselBasic[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselBasicsGroup,\n  vesselBasicsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { vesselBasicsByVesselIdMeta } from \"../vesselBasicsByVesselId\";\nimport { vesselBasicsMeta } from \"../vesselBasics\";\n\n/**\n * Endpoint group metadata for vessel basics endpoints\n */\nexport const vesselBasicsGroup: EndpointGroupMeta = {\n  name: \"vessel-basics\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Essential vessel identification and operational status.\",\n    description:\n      \"Basic vessel information including names, IDs, classifications, and operational status. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display vessel lists and status in passenger information systems.\",\n      \"Track fleet operational status and availability.\",\n      \"Provide foundation data for vessel selection.\",\n    ],\n  },\n  endpoints: [vesselBasicsMeta, vesselBasicsByVesselIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselHistoriesGroup } from \"./shared/vesselHistories.endpoints\";\nimport {\n  type VesselHistoriesByVesselNameAndDateRangeInput,\n  vesselHistoriesByVesselNameAndDateRangeInputSchema,\n} from \"./shared/vesselHistories.input\";\nimport {\n  type VesselHistory,\n  vesselHistorySchema,\n} from \"./shared/vesselHistories.output\";\n\n/**\n * Metadata for the fetchVesselHistoriesByVesselNameAndDateRange endpoint\n */\nexport const vesselHistoriesByVesselNameAndDateRangeMeta = {\n  functionName: \"fetchVesselHistoriesByVesselNameAndDateRange\",\n  endpoint: \"/vesselHistory/{VesselName}/{DateStart}/{DateEnd}\",\n  inputSchema: vesselHistoriesByVesselNameAndDateRangeInputSchema,\n  outputSchema: vesselHistorySchema.array(),\n  sampleParams: {\n    VesselName: \"Tacoma\",\n    DateStart: \"2025-09-01\",\n    DateEnd: \"2025-10-01\",\n  },\n  endpointDescription:\n    \"Get historical sailing records for a vessel within a date range.\",\n} satisfies EndpointMeta<\n  VesselHistoriesByVesselNameAndDateRangeInput,\n  VesselHistory[]\n>;\n\n/**\n * Fetch function for retrieving historical sailing records for a vessel within a date range\n */\nexport const fetchVesselHistoriesByVesselNameAndDateRange: (\n  params?: FetchFunctionParams<VesselHistoriesByVesselNameAndDateRangeInput>\n) => Promise<VesselHistory[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselHistoriesGroup,\n  vesselHistoriesByVesselNameAndDateRangeMeta\n);\n\n/**\n * React Query hook for retrieving historical sailing records for a vessel within a date range\n */\nexport const useVesselHistoriesByVesselNameAndDateRange: (\n  params?: FetchFunctionParams<VesselHistoriesByVesselNameAndDateRangeInput>,\n  options?: QueryHookOptions<VesselHistory[]>\n) => UseQueryResult<VesselHistory[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselHistoriesGroup,\n  vesselHistoriesByVesselNameAndDateRangeMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselHistoriesGroup } from \"./shared/vesselHistories.endpoints\";\nimport {\n  type VesselHistoriesInput,\n  vesselHistoriesInputSchema,\n} from \"./shared/vesselHistories.input\";\nimport {\n  type VesselHistory,\n  vesselHistorySchema,\n} from \"./shared/vesselHistories.output\";\n\n/**\n * Metadata for the fetchVesselHistories endpoint\n */\nexport const vesselHistoriesMeta = {\n  functionName: \"fetchVesselHistories\",\n  endpoint: \"/vesselHistory\",\n  inputSchema: vesselHistoriesInputSchema,\n  outputSchema: vesselHistorySchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List historical sailing records for all vessels.\",\n} satisfies EndpointMeta<VesselHistoriesInput, VesselHistory[]>;\n\n/**\n * Fetch function for retrieving historical sailing records for all vessels\n */\nexport const fetchVesselHistories: (\n  params?: FetchFunctionParams<VesselHistoriesInput>\n) => Promise<VesselHistory[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselHistoriesGroup,\n  vesselHistoriesMeta\n);\n\n/**\n * React Query hook for retrieving historical sailing records for all vessels\n */\nexport const useVesselHistories: (\n  params?: FetchFunctionParams<VesselHistoriesInput>,\n  options?: QueryHookOptions<VesselHistory[]>\n) => UseQueryResult<VesselHistory[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselHistoriesGroup,\n  vesselHistoriesMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { vesselHistoriesByVesselNameAndDateRangeMeta } from \"../vesselHistoriesByVesselNameAndDateRange\";\nimport { vesselHistoriesMeta } from \"../vesselHistories\";\n\n/**\n * Endpoint group metadata for vessel histories endpoints\n */\nexport const vesselHistoriesGroup: EndpointGroupMeta = {\n  name: \"vessel-histories\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Historical sailing records for WSF vessels.\",\n    description:\n      \"Historical voyage data including departure and arrival terminals, scheduled and actual departure times, and estimated arrival times. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Analyze on-time performance and voyage patterns.\",\n      \"Track historical vessel movements and routes.\",\n      \"Generate reports on operational history.\",\n    ],\n  },\n  endpoints: [\n    vesselHistoriesMeta,\n    vesselHistoriesByVesselNameAndDateRangeMeta,\n  ],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselLocationsGroup } from \"./shared/vesselLocations.endpoints\";\nimport {\n  type VesselLocationsByIdInput,\n  vesselLocationsByIdInputSchema,\n} from \"./shared/vesselLocations.input\";\nimport {\n  type VesselLocation,\n  vesselLocationSchema,\n} from \"./shared/vesselLocations.output\";\n\n/**\n * Metadata for the fetchVesselLocationsByVesselId endpoint\n */\nexport const vesselLocationsByVesselIdMeta = {\n  functionName: \"fetchVesselLocationsByVesselId\",\n  endpoint: \"/vesselLocations/{VesselID}\",\n  inputSchema: vesselLocationsByIdInputSchema,\n  outputSchema: vesselLocationSchema,\n  sampleParams: { VesselID: 18 },\n  endpointDescription:\n    \"Get current location and status for a specific vessel by ID.\",\n} satisfies EndpointMeta<VesselLocationsByIdInput, VesselLocation>;\n\n/**\n * Fetch function for retrieving current location and status for a specific vessel by ID\n */\nexport const fetchVesselLocationsByVesselId: (\n  params?: FetchFunctionParams<VesselLocationsByIdInput>\n) => Promise<VesselLocation> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselLocationsGroup,\n  vesselLocationsByVesselIdMeta\n);\n\n/**\n * React Query hook for retrieving current location and status for a specific vessel by ID\n */\nexport const useVesselLocationsByVesselId: (\n  params?: FetchFunctionParams<VesselLocationsByIdInput>,\n  options?: QueryHookOptions<VesselLocation>\n) => UseQueryResult<VesselLocation, Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselLocationsGroup,\n  vesselLocationsByVesselIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselLocationsGroup } from \"./shared/vesselLocations.endpoints\";\nimport {\n  type VesselLocationsInput,\n  vesselLocationsInputSchema,\n} from \"./shared/vesselLocations.input\";\nimport {\n  type VesselLocation,\n  vesselLocationSchema,\n} from \"./shared/vesselLocations.output\";\n\n/**\n * Metadata for the fetchVesselLocations endpoint\n */\nexport const vesselLocationsMeta = {\n  functionName: \"fetchVesselLocations\",\n  endpoint: \"/vesselLocations\",\n  inputSchema: vesselLocationsInputSchema,\n  outputSchema: vesselLocationSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List current locations and status for all active vessels.\",\n} satisfies EndpointMeta<VesselLocationsInput, VesselLocation[]>;\n\n/**\n * Fetch function for retrieving current locations and status for all active vessels\n */\nexport const fetchVesselLocations: (\n  params?: FetchFunctionParams<VesselLocationsInput>\n) => Promise<VesselLocation[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselLocationsGroup,\n  vesselLocationsMeta\n);\n\n/**\n * React Query hook for retrieving current locations and status for all active vessels\n */\nexport const useVesselLocations: (\n  params?: FetchFunctionParams<VesselLocationsInput>,\n  options?: QueryHookOptions<VesselLocation[]>\n) => UseQueryResult<VesselLocation[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselLocationsGroup,\n  vesselLocationsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { vesselLocationsByVesselIdMeta } from \"../vesselLocationsByVesselId\";\nimport { vesselLocationsMeta } from \"../vesselLocations\";\n\n/**\n * Endpoint group metadata for vessel locations endpoints\n */\nexport const vesselLocationsGroup: EndpointGroupMeta = {\n  name: \"vessel-locations\",\n  cacheStrategy: \"REALTIME\",\n  documentation: {\n    summary: \"Real-time vessel positions and status for WSF fleet.\",\n    description:\n      \"Current GPS coordinates, speed, heading, terminal assignments, and ETAs. This endpoint is real-time; cacheFlushDate is not used for cache invalidation.\",\n    useCases: [\n      \"Show live vessel positions and ETAs in rider apps.\",\n      \"Monitor fleet operations in internal dashboards.\",\n      \"Calculate arrival times and voyage progress.\",\n    ],\n    updateFrequency: \"5s\",\n  },\n  endpoints: [vesselLocationsMeta, vesselLocationsByVesselIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselStatsGroup } from \"./shared/vesselStats.endpoints\";\nimport {\n  type VesselStatsByIdInput,\n  vesselStatsByIdInputSchema,\n} from \"./shared/vesselStats.input\";\nimport { type VesselStat, vesselStatSchema } from \"./shared/vesselStats.output\";\n\n/**\n * Metadata for the fetchVesselStatsByVesselId endpoint\n */\nexport const vesselStatsByVesselIdMeta = {\n  functionName: \"fetchVesselStatsByVesselId\",\n  endpoint: \"/vesselStats/{VesselID}\",\n  inputSchema: vesselStatsByIdInputSchema,\n  outputSchema: vesselStatSchema,\n  sampleParams: { VesselID: 32 },\n  endpointDescription:\n    \"Get technical specifications for a specific vessel by ID.\",\n} satisfies EndpointMeta<VesselStatsByIdInput, VesselStat>;\n\n/**\n * Fetch function for retrieving technical specifications for a specific vessel by ID\n */\nexport const fetchVesselStatsByVesselId: (\n  params?: FetchFunctionParams<VesselStatsByIdInput>\n) => Promise<VesselStat> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselStatsGroup,\n  vesselStatsByVesselIdMeta\n);\n\n/**\n * React Query hook for retrieving technical specifications for a specific vessel by ID\n */\nexport const useVesselStatsByVesselId: (\n  params?: FetchFunctionParams<VesselStatsByIdInput>,\n  options?: QueryHookOptions<VesselStat>\n) => UseQueryResult<VesselStat, Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselStatsGroup,\n  vesselStatsByVesselIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselStatsGroup } from \"./shared/vesselStats.endpoints\";\nimport {\n  type VesselStatsInput,\n  vesselStatsInputSchema,\n} from \"./shared/vesselStats.input\";\nimport { type VesselStat, vesselStatSchema } from \"./shared/vesselStats.output\";\n\n/**\n * Metadata for the fetchVesselStats endpoint\n */\nexport const vesselStatsMeta = {\n  functionName: \"fetchVesselStats\",\n  endpoint: \"/vesselStats\",\n  inputSchema: vesselStatsInputSchema,\n  outputSchema: vesselStatSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List technical specifications for all vessels.\",\n} satisfies EndpointMeta<VesselStatsInput, VesselStat[]>;\n\n/**\n * Fetch function for retrieving technical specifications for all vessels\n */\nexport const fetchVesselStats: (\n  params?: FetchFunctionParams<VesselStatsInput>\n) => Promise<VesselStat[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselStatsGroup,\n  vesselStatsMeta\n);\n\n/**\n * React Query hook for retrieving technical specifications for all vessels\n */\nexport const useVesselStats: (\n  params?: FetchFunctionParams<VesselStatsInput>,\n  options?: QueryHookOptions<VesselStat[]>\n) => UseQueryResult<VesselStat[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselStatsGroup,\n  vesselStatsMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { vesselStatsByVesselIdMeta } from \"../vesselStatsByVesselId\";\nimport { vesselStatsMeta } from \"../vesselStats\";\n\n/**\n * Endpoint group metadata for vessel stats endpoints\n */\nexport const vesselStatsGroup: EndpointGroupMeta = {\n  name: \"vessel-stats\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary: \"Technical specifications and capacity data for WSF vessels.\",\n    description:\n      \"Physical dimensions, engine details, passenger and vehicle capacity, and construction information. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Compare vessel capabilities and specifications.\",\n      \"Plan capacity and route assignments.\",\n      \"Support maintenance and technical reference.\",\n    ],\n  },\n  endpoints: [vesselStatsMeta, vesselStatsByVesselIdMeta],\n};\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselVerboseGroup } from \"./shared/vesselVerbose.endpoints\";\nimport {\n  type VesselVerboseByIdInput,\n  vesselVerboseByIdInputSchema,\n} from \"./shared/vesselVerbose.input\";\nimport {\n  type VesselVerbose,\n  vesselVerboseSchema,\n} from \"./shared/vesselVerbose.output\";\n\n/**\n * Metadata for the fetchVesselsVerboseByVesselId endpoint\n */\nexport const vesselsVerboseByVesselIdMeta = {\n  functionName: \"fetchVesselsVerboseByVesselId\",\n  endpoint: \"/vesselVerbose/{VesselID}\",\n  inputSchema: vesselVerboseByIdInputSchema,\n  outputSchema: vesselVerboseSchema,\n  sampleParams: { VesselID: 68 },\n  endpointDescription:\n    \"Get complete vessel information for a specific vessel by ID.\",\n} satisfies EndpointMeta<VesselVerboseByIdInput, VesselVerbose>;\n\n/**\n * Fetch function for retrieving complete vessel information for a specific vessel by ID\n */\nexport const fetchVesselsVerboseByVesselId: (\n  params?: FetchFunctionParams<VesselVerboseByIdInput>\n) => Promise<VesselVerbose> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselVerboseGroup,\n  vesselsVerboseByVesselIdMeta\n);\n\n/**\n * React Query hook for retrieving complete vessel information for a specific vessel by ID\n */\nexport const useVesselsVerboseByVesselId: (\n  params?: FetchFunctionParams<VesselVerboseByIdInput>,\n  options?: QueryHookOptions<VesselVerbose>\n) => UseQueryResult<VesselVerbose, Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselVerboseGroup,\n  vesselsVerboseByVesselIdMeta\n);\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport { createFetchFunction, createHook } from \"@/shared/factories\";\nimport { vesselVerboseGroup } from \"./shared/vesselVerbose.endpoints\";\nimport {\n  type VesselVerboseInput,\n  vesselVerboseInputSchema,\n} from \"./shared/vesselVerbose.input\";\nimport {\n  type VesselVerbose,\n  vesselVerboseSchema,\n} from \"./shared/vesselVerbose.output\";\n\n/**\n * Metadata for the fetchVesselsVerbose endpoint\n */\nexport const vesselsVerboseMeta = {\n  functionName: \"fetchVesselsVerbose\",\n  endpoint: \"/vesselVerbose\",\n  inputSchema: vesselVerboseInputSchema,\n  outputSchema: vesselVerboseSchema.array(),\n  sampleParams: {},\n  endpointDescription: \"List complete vessel information for all vessels.\",\n} satisfies EndpointMeta<VesselVerboseInput, VesselVerbose[]>;\n\n/**\n * Fetch function for retrieving complete vessel information for all vessels\n */\nexport const fetchVesselsVerbose: (\n  params?: FetchFunctionParams<VesselVerboseInput>\n) => Promise<VesselVerbose[]> = createFetchFunction(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselVerboseGroup,\n  vesselsVerboseMeta\n);\n\n/**\n * React Query hook for retrieving complete vessel information for all vessels\n */\nexport const useVesselsVerbose: (\n  params?: FetchFunctionParams<VesselVerboseInput>,\n  options?: QueryHookOptions<VesselVerbose[]>\n) => UseQueryResult<VesselVerbose[], Error> = createHook(\n  () => require(\"../api\").wsfVesselsApi,\n  vesselVerboseGroup,\n  vesselsVerboseMeta\n);\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { vesselsVerboseByVesselIdMeta } from \"../vesselsVerboseById\";\nimport { vesselsVerboseMeta } from \"../vesselsVerbose\";\n\n/**\n * Endpoint group metadata for vessel verbose endpoints\n */\nexport const vesselVerboseGroup: EndpointGroupMeta = {\n  name: \"vessel-verbose\",\n  cacheStrategy: \"STATIC\",\n  documentation: {\n    summary:\n      \"Complete vessel information combining basics, stats, and accommodations.\",\n    description:\n      \"Comprehensive vessel profiles combining identification, operational status, technical specifications, and amenities in a single response. Use the cacheFlushDate endpoint for this API to determine when to invalidate cached data for this group.\",\n    useCases: [\n      \"Display complete vessel profiles in passenger information systems.\",\n      \"Reduce API calls by fetching all vessel data at once.\",\n      \"Support comprehensive vessel comparison and selection.\",\n    ],\n  },\n  endpoints: [vesselsVerboseMeta, vesselsVerboseByVesselIdMeta],\n};\n","import type { ApiDefinition } from \"@/apis/types\";\nimport { cacheFlushDateVesselsGroup } from \"./cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport { vesselAccommodationsGroup } from \"./vesselAccommodations/shared/vesselAccommodations.endpoints\";\nimport { vesselBasicsGroup } from \"./vesselBasics/shared/vesselBasics.endpoints\";\nimport { vesselHistoriesGroup } from \"./vesselHistories/shared/vesselHistories.endpoints\";\nimport { vesselLocationsGroup } from \"./vesselLocations/shared/vesselLocations.endpoints\";\nimport { vesselStatsGroup } from \"./vesselStats/shared/vesselStats.endpoints\";\nimport { vesselVerboseGroup } from \"./vesselVerbose/shared/vesselVerbose.endpoints\";\n\nexport const wsfVesselsApi: ApiDefinition = {\n  api: {\n    name: \"wsf-vessels\",\n    baseUrl: \"https://www.wsdot.wa.gov/ferries/api/vessels/rest\",\n  },\n  endpointGroups: [\n    cacheFlushDateVesselsGroup,\n    vesselAccommodationsGroup,\n    vesselBasicsGroup,\n    vesselHistoriesGroup,\n    vesselLocationsGroup,\n    vesselStatsGroup,\n    vesselVerboseGroup,\n  ],\n};\n","/**\n * @fileoverview API Registry\n *\n * This module serves as the single source of truth for all API definitions.\n * It imports and exports all API definitions from their respective api.ts files,\n * providing a centralized registry for consumers.\n *\n * IMPORTANT: This module imports zod-openapi-init FIRST to ensure Zod schemas\n * have `.openapi()` method available before any API modules are imported.\n */\n\n// Import Zod OpenAPI initialization FIRST, before any schema creation\n// This ensures all schemas imported from API modules have .openapi() method\nimport \"@/shared/zod\";\n\nimport type { ApiDefinition } from \"@/apis/types\";\n\n// Import all API definitions\nimport { wsdotBorderCrossingsApi } from \"@/apis/wsdot-border-crossings/api\";\nimport { wsdotBridgeClearancesApi } from \"@/apis/wsdot-bridge-clearances/api\";\nimport { wsdotCommercialVehicleRestrictionsApi } from \"@/apis/wsdot-commercial-vehicle-restrictions/api\";\nimport { wsdotHighwayAlertsApi } from \"@/apis/wsdot-highway-alerts/api\";\nimport { wsdotHighwayCamerasApi } from \"@/apis/wsdot-highway-cameras/api\";\nimport { wsdotMountainPassConditionsApi } from \"@/apis/wsdot-mountain-pass-conditions/api\";\nimport { wsdotTollRatesApi } from \"@/apis/wsdot-toll-rates/api\";\nimport { wsdotTrafficFlowApi } from \"@/apis/wsdot-traffic-flow/api\";\nimport { wsdotTravelTimesApi } from \"@/apis/wsdot-travel-times/api\";\nimport { wsdotWeatherInformationApi } from \"@/apis/wsdot-weather-information/api\";\nimport { wsdotWeatherReadingsApi } from \"@/apis/wsdot-weather-readings/api\";\nimport { wsdotWeatherStationsApi } from \"@/apis/wsdot-weather-stations/api\";\nimport { wsfFaresApi } from \"@/apis/wsf-fares/api\";\nimport { wsfScheduleApi } from \"@/apis/wsf-schedule/api\";\nimport { wsfTerminalsApi } from \"@/apis/wsf-terminals/api\";\nimport { wsfVesselsApi } from \"@/apis/wsf-vessels/api\";\n\n/**\n * All APIs with their endpoint groups\n *\n * This object provides access to APIs grouped by name for structured\n * access when needed by consumers that need to work with specific APIs.\n */\nexport const apis = {\n  [wsdotBorderCrossingsApi.api.name]: wsdotBorderCrossingsApi,\n  [wsdotBridgeClearancesApi.api.name]: wsdotBridgeClearancesApi,\n  [wsdotCommercialVehicleRestrictionsApi.api.name]:\n    wsdotCommercialVehicleRestrictionsApi,\n  [wsdotHighwayAlertsApi.api.name]: wsdotHighwayAlertsApi,\n  [wsdotHighwayCamerasApi.api.name]: wsdotHighwayCamerasApi,\n  [wsdotMountainPassConditionsApi.api.name]: wsdotMountainPassConditionsApi,\n  [wsdotTollRatesApi.api.name]: wsdotTollRatesApi,\n  [wsdotTrafficFlowApi.api.name]: wsdotTrafficFlowApi,\n  [wsdotTravelTimesApi.api.name]: wsdotTravelTimesApi,\n  [wsdotWeatherInformationApi.api.name]: wsdotWeatherInformationApi,\n  [wsdotWeatherReadingsApi.api.name]: wsdotWeatherReadingsApi,\n  [wsdotWeatherStationsApi.api.name]: wsdotWeatherStationsApi,\n  [wsfFaresApi.api.name]: wsfFaresApi,\n  [wsfScheduleApi.api.name]: wsfScheduleApi,\n  [wsfTerminalsApi.api.name]: wsfTerminalsApi,\n  [wsfVesselsApi.api.name]: wsfVesselsApi,\n} as const satisfies Record<string, ApiDefinition>;\n\n// Re-export type for convenience\nexport type { ApiDefinition };\n","/**\n * @fileoverview Cache Flush Date Hooks for WS-Dottie\n *\n * Provides React Query hooks for polling cache flush dates and invalidating\n * queries when flush dates change. This is specifically for WSF APIs that\n * use cache flush dates to indicate when static data has been updated.\n *\n * Uses internal fetch functions created with createFetchFunction to break\n * circular dependencies. These are separate from the public-facing fetch\n * functions exported from API modules.\n */\n\nimport type { UseQueryResult } from \"@tanstack/react-query\";\nimport { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport React, { useEffect } from \"react\";\nimport { apis } from \"@/apis/shared/apis\";\nimport type { CacheFlushDateOutput } from \"@/apis/shared/cacheFlushDate\";\nimport {\n  cacheFlushDateFaresGroup,\n  cacheFlushDateFaresMeta,\n} from \"@/apis/wsf-fares/cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport {\n  cacheFlushDateScheduleGroup,\n  cacheFlushDateScheduleMeta,\n} from \"@/apis/wsf-schedule/cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport {\n  cacheFlushDateTerminalsGroup,\n  cacheFlushDateTerminalsMeta,\n} from \"@/apis/wsf-terminals/cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport {\n  cacheFlushDateVesselsGroup,\n  cacheFlushDateVesselsMeta,\n} from \"@/apis/wsf-vessels/cacheFlushDate/shared/cacheFlushDate.endpoints\";\nimport { createFetchFunction } from \"@/shared/factories/createFetchFunction\";\n\ntype CacheFlushApiName =\n  | \"wsf-fares\"\n  | \"wsf-schedule\"\n  | \"wsf-terminals\"\n  | \"wsf-vessels\";\n\ntype CacheFlushFetchFn = () => Promise<string>;\n\n// Internal fetch functions created using createFetchFunction\n// These are separate from the public-facing functions exported from API modules\n// This breaks the circular dependency because createFetchFunction has no\n// dependencies on cache or React hooks\nconst internalFetchCacheFlushDateFares = createFetchFunction(\n  apis[\"wsf-fares\"],\n  cacheFlushDateFaresGroup,\n  cacheFlushDateFaresMeta\n);\n\nconst internalFetchCacheFlushDateSchedule = createFetchFunction(\n  apis[\"wsf-schedule\"],\n  cacheFlushDateScheduleGroup,\n  cacheFlushDateScheduleMeta\n);\n\nconst internalFetchCacheFlushDateTerminals = createFetchFunction(\n  apis[\"wsf-terminals\"],\n  cacheFlushDateTerminalsGroup,\n  cacheFlushDateTerminalsMeta\n);\n\nconst internalFetchCacheFlushDateVessels = createFetchFunction(\n  apis[\"wsf-vessels\"],\n  cacheFlushDateVesselsGroup,\n  cacheFlushDateVesselsMeta\n);\n\n// Strategy pattern: map API names to fetch functions\n// Now accepts fetchMode parameter to match the underlying hook configuration\nconst CACHE_FLUSH_STRATEGIES: Record<\n  CacheFlushApiName,\n  (fetchMode?: \"native\" | \"jsonp\") => CacheFlushFetchFn\n> = {\n  \"wsf-fares\":\n    (fetchMode = \"native\") =>\n    async () => {\n      const result = await internalFetchCacheFlushDateFares({\n        fetchMode,\n        validate: false,\n        logMode: \"none\",\n      });\n      return normalizeFlushDate(result);\n    },\n  \"wsf-schedule\":\n    (fetchMode = \"native\") =>\n    async () => {\n      const result = await internalFetchCacheFlushDateSchedule({\n        fetchMode,\n        validate: false,\n        logMode: \"none\",\n      });\n      return normalizeFlushDate(result);\n    },\n  \"wsf-terminals\":\n    (fetchMode = \"native\") =>\n    async () => {\n      const result = await internalFetchCacheFlushDateTerminals({\n        fetchMode,\n        validate: false,\n        logMode: \"none\",\n      });\n      return normalizeFlushDate(result);\n    },\n  \"wsf-vessels\":\n    (fetchMode = \"native\") =>\n    async () => {\n      const result = await internalFetchCacheFlushDateVessels({\n        fetchMode,\n        validate: false,\n        logMode: \"none\",\n      });\n      return normalizeFlushDate(result);\n    },\n} as const;\n\n// Getter that retrieves the fetch function from the strategy map\nconst getCachedFetchFunction = (\n  apiName: CacheFlushApiName,\n  fetchMode?: \"native\" | \"jsonp\"\n): CacheFlushFetchFn => {\n  const strategy = CACHE_FLUSH_STRATEGIES[apiName];\n  if (!strategy) {\n    throw new Error(`No cache flush strategy found for API: ${apiName}`);\n  }\n  return strategy(fetchMode);\n};\n\nconst CACHE_FLUSH_ENDPOINT_IDS: Record<CacheFlushApiName, string> = {\n  \"wsf-fares\": \"wsf-fares:fetchCacheFlushDateFares\",\n  \"wsf-schedule\": \"wsf-schedule:fetchCacheFlushDateSchedule\",\n  \"wsf-terminals\": \"wsf-terminals:fetchCacheFlushDateTerminals\",\n  \"wsf-vessels\": \"wsf-vessels:fetchCacheFlushDateVessels\",\n} as const;\n\nconst normalizeFlushDate = (value: CacheFlushDateOutput): string => {\n  if (!value) {\n    return \"\";\n  }\n  return value instanceof Date ? value.toISOString() : String(value);\n};\n\n/**\n * Hook to poll cache flush date endpoint\n *\n * @param apiName - The name of the API (e.g., \"wsf-vessels\")\n * @param fetchMode - Optional fetch mode to use (\"native\" or \"jsonp\").\n *                    Defaults to \"native\". Should match the fetchMode used\n *                    by the underlying hook to ensure consistent behavior.\n */\nexport const useCacheFlushDate = (\n  apiName: string,\n  fetchMode?: \"native\" | \"jsonp\"\n): UseQueryResult<string, Error> => {\n  const isCacheFlushApi: boolean =\n    apiName === \"wsf-fares\" ||\n    apiName === \"wsf-schedule\" ||\n    apiName === \"wsf-terminals\" ||\n    apiName === \"wsf-vessels\";\n\n  const fetchFn = isCacheFlushApi\n    ? getCachedFetchFunction(apiName as CacheFlushApiName, fetchMode)\n    : undefined;\n\n  const endpointId =\n    CACHE_FLUSH_ENDPOINT_IDS[apiName as CacheFlushApiName] || \"no-cache-flush\";\n\n  return useQuery({\n    queryKey: [endpointId, fetchMode], // Include fetchMode in query key\n    queryFn: fetchFn ?? (() => Promise.resolve(\"\")),\n    refetchInterval: isCacheFlushApi ? 5 * 60 * 1000 : undefined,\n    staleTime: isCacheFlushApi ? 5 * 60 * 1000 : undefined,\n    refetchOnWindowFocus: false,\n  });\n};\n\n/**\n * Hook to handle cache invalidation when flush date changes\n */\nexport const useInvalidateOnFlushChange = (\n  endpointId: string,\n  flushDateQuery?: UseQueryResult<string, Error>\n): void => {\n  const queryClient = useQueryClient();\n  const previousFlushDateRef = React.useRef<string | null>(null);\n\n  useEffect(() => {\n    if (!flushDateQuery?.data) {\n      return;\n    }\n\n    const currentFlushDate = flushDateQuery.data;\n    if (\n      previousFlushDateRef.current !== null &&\n      previousFlushDateRef.current !== currentFlushDate\n    ) {\n      queryClient.invalidateQueries({ queryKey: [endpointId] });\n    }\n    previousFlushDateRef.current = currentFlushDate;\n  }, [flushDateQuery?.data, queryClient, endpointId]);\n};\n","/**\n * @fileoverview Cache Management Exports\n */\n\nexport {\n  useCacheFlushDate,\n  useInvalidateOnFlushChange,\n} from \"./cacheFlushDate\";\n","/**\n * @fileoverview Cache Strategy Configurations\n *\n * Cache strategy configurations for different data update frequencies.\n * These are used by React Query hooks to determine caching behavior.\n */\n\nexport const cacheStrategies = {\n  REALTIME: {\n    staleTime: 5 * 1000, // 5 seconds\n    gcTime: 60 * 60 * 1000, // 1 hour\n    refetchInterval: 5 * 1000, // 5 seconds\n    retry: 2,\n    retryDelay: 5 * 1000, // 5 seconds\n  },\n  FREQUENT: {\n    staleTime: 5 * 60 * 1000, // 5 minutes\n    gcTime: 60 * 60 * 1000, // 1 hour\n    refetchInterval: 5 * 60 * 1000, // 5 minutes\n    retry: 3,\n    retryDelay: 5 * 1000, // 5 seconds\n  },\n  MODERATE: {\n    staleTime: 60 * 60 * 1000, // 1 hour\n    gcTime: 2 * 24 * 60 * 60 * 1000, // 2 days\n    refetchInterval: 60 * 60 * 1000, // 1 hour\n    retry: 3,\n    retryDelay: 60 * 1000, // 1 minute\n  },\n  STATIC: {\n    staleTime: 24 * 60 * 60 * 1000, // 1 day\n    gcTime: 2 * 24 * 60 * 60 * 1000, // 2 days\n    refetchInterval: 24 * 60 * 60 * 1000, // 1 day\n    retry: 2,\n    retryDelay: 5 * 1000, // 5 seconds\n  },\n} as const;\n","/**\n * @fileoverview React Query Hook Factory\n *\n * Creates strongly-typed React Query hooks from metadata objects.\n * Handles both regular hooks and cache-flush-date-aware hooks.\n */\n\nimport type { UseQueryResult } from \"@tanstack/react-query\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type {\n  ApiDefinition,\n  EndpointGroupMeta,\n  EndpointMeta,\n} from \"@/apis/types\";\nimport { useCacheFlushDate, useInvalidateOnFlushChange } from \"@/shared/cache\";\nimport { buildDescriptor } from \"./buildDescriptor\";\nimport { createFetchFunction } from \"./createFetchFunction\";\nimport { cacheStrategies } from \"./strategies\";\nimport type { FetchFunctionParams, QueryHookOptions } from \"./types\";\n\n/**\n * Determines if an endpoint should use cache flush date invalidation.\n */\nfunction shouldUseCacheFlushDate(\n  apiDefinition: ApiDefinition,\n  group: EndpointGroupMeta\n): boolean {\n  const isWsfApi = apiDefinition.api.name.startsWith(\"wsf-\");\n\n  if (\n    group.name === \"cache-flush-date\" ||\n    group.name === \"schedule-cache-flush-date\"\n  ) {\n    return false;\n  }\n\n  return isWsfApi && group.cacheStrategy === \"STATIC\";\n}\n\n/**\n * Creates a strongly-typed React Query hook from three metadata objects.\n * Accepts either an ApiDefinition directly or a getter function for lazy loading.\n */\nexport function createHook<I, O>(\n  apiDefinitionOrGetter: ApiDefinition | (() => ApiDefinition),\n  group: EndpointGroupMeta,\n  endpoint: EndpointMeta<I, O>\n): (\n  params?: FetchFunctionParams<I>,\n  options?: QueryHookOptions<O>\n) => UseQueryResult<O, Error> {\n  // Cache descriptor and fetch function (built once, reused)\n  let cachedDescriptor: ReturnType<typeof buildDescriptor<I, O>> | null = null;\n  let cachedFetchFn: ((params?: FetchFunctionParams<I>) => Promise<O>) | null =\n    null;\n\n  const getDescriptor = (): ReturnType<typeof buildDescriptor<I, O>> => {\n    if (!cachedDescriptor) {\n      const apiDefinition =\n        typeof apiDefinitionOrGetter === \"function\"\n          ? apiDefinitionOrGetter()\n          : apiDefinitionOrGetter;\n      cachedDescriptor = buildDescriptor(apiDefinition, group, endpoint);\n    }\n    return cachedDescriptor;\n  };\n\n  const getFetchFn = (): (params?: FetchFunctionParams<I>) => Promise<O> => {\n    if (!cachedFetchFn) {\n      cachedFetchFn = createFetchFunction(\n        apiDefinitionOrGetter,\n        group,\n        endpoint\n      );\n    }\n    return cachedFetchFn;\n  };\n\n  return (\n    params?: FetchFunctionParams<I>,\n    options?: QueryHookOptions<O>\n  ): UseQueryResult<O, Error> => {\n    const apiDefinition =\n      typeof apiDefinitionOrGetter === \"function\"\n        ? apiDefinitionOrGetter()\n        : apiDefinitionOrGetter;\n    const descriptor = getDescriptor();\n    const fetchFn = getFetchFn();\n    const useCacheFlush = shouldUseCacheFlushDate(apiDefinition, group);\n\n    // Always call hooks unconditionally (React rules)\n    const flushDateQuery = useCacheFlushDate(\n      apiDefinition.api.name,\n      params?.fetchMode\n    );\n    useInvalidateOnFlushChange(\n      descriptor.id,\n      useCacheFlush ? flushDateQuery : undefined\n    );\n\n    // Always call useQuery unconditionally (React rules)\n    const cacheStrategy = useCacheFlush\n      ? cacheStrategies.STATIC\n      : cacheStrategies[group.cacheStrategy as keyof typeof cacheStrategies];\n\n    return useQuery<O, Error>({\n      queryKey: [descriptor.id, params?.params ?? null],\n      queryFn: () => fetchFn(params),\n      ...cacheStrategy,\n      refetchOnWindowFocus: false,\n      ...options,\n    });\n  };\n}\n","/**\n * @fileoverview Factory Functions for WS-Dottie\n *\n * This module provides factory functions for creating typed fetch functions\n * and React Query hooks using a metadata-driven approach.\n */\n\n// Export fetch function factory\nexport { buildDescriptor } from \"./buildDescriptor\";\nexport { createFetchFunction } from \"./createFetchFunction\";\n\n// Export hook factory\nexport { createHook } from \"./createHook\";\n// Export cache strategies\nexport { cacheStrategies } from \"./strategies\";\n// Export types\nexport type {\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"./types\";\n","import type { UseQueryResult } from \"@tanstack/react-query\";\nimport type {\n  EndpointMeta,\n  FetchFunctionParams,\n  QueryHookOptions,\n} from \"@/apis/types\";\nimport {\n  createFetchFunction,\n  createHook,\n} from \"@/shared/factories\";\nimport { borderCrossingDataGroup } from \"./shared/borderCrossingData.endpoints\";\nimport {\n  type BorderCrossingsInput,\n  borderCrossingsInputSchema,\n} from \"./shared/borderCrossingData.input\";\nimport {\n  type BorderCrossing,\n  borderCrossingSchema,\n} from \"./shared/borderCrossingData.output\";\n\n/**\n * Metadata for the fetchBorderCrossings endpoint\n */\nexport const borderCrossingsMeta = {\n  functionName: \"fetchBorderCrossings\",\n  endpoint: \"/GetBorderCrossingsAsJson\",\n  inputSchema: borderCrossingsInputSchema,\n  outputSchema: borderCrossingSchema.array(),\n  sampleParams: {},\n  endpointDescription:\n    \"List current wait times for all Washington border crossings into Canada.\",\n} satisfies EndpointMeta<BorderCrossingsInput, BorderCrossing[]>;\n\n/**\n * Fetch function for retrieving current wait times for all Washington border crossings into Canada\n */\nexport const fetchBorderCrossings: (\n  params?: FetchFunctionParams<BorderCrossingsInput>\n) => Promise<BorderCrossing[]> = createFetchFunction(\n  () => require(\"../api\").wsdotBorderCrossingsApi,\n  borderCrossingDataGroup,\n  borderCrossingsMeta\n);\n\n/**\n * React Query hook for retrieving current wait times for all Washington border crossings into Canada\n */\nexport const useBorderCrossings: (\n  params?: FetchFunctionParams<BorderCrossingsInput>,\n  options?: QueryHookOptions<BorderCrossing[]>\n) => UseQueryResult<BorderCrossing[], Error> = createHook(\n  () => require(\"../api\").wsdotBorderCrossingsApi,\n  borderCrossingDataGroup,\n  borderCrossingsMeta\n);\n"]}