@wasto/sdk 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/index.d.mts +17 -1
  2. package/dist/index.d.ts +17 -1
  3. package/dist/index.js +7 -0
  4. package/dist/index.mjs +7 -0
  5. package/package.json +1 -1
  6. package/src/client.ts +701 -692
  7. package/src/dashboard-apps.ts +350 -350
  8. package/src/dto/cms-app-settings.ts +91 -91
  9. package/src/enums.ts +298 -298
  10. package/src/free-tier.ts +56 -56
  11. package/src/index.ts +35 -35
  12. package/src/opening-hours/constants.ts +48 -48
  13. package/src/opening-hours/convert.ts +276 -276
  14. package/src/opening-hours/format.ts +99 -99
  15. package/src/opening-hours/index.ts +9 -9
  16. package/src/opening-hours/is-open-now.ts +38 -38
  17. package/src/opening-hours/resolve.ts +71 -71
  18. package/src/opening-hours/time.ts +74 -74
  19. package/src/opening-hours/timezone.ts +34 -34
  20. package/src/opening-hours/types.ts +53 -53
  21. package/src/opening-hours/validate.ts +182 -182
  22. package/src/roi/calculations.ts +732 -732
  23. package/src/roi/index.ts +1 -1
  24. package/src/types/app-preload.types.ts +10 -0
  25. package/src/types/asset-bookings.types.ts +19 -19
  26. package/src/types/asset-interventions.types.ts +24 -24
  27. package/src/types/assets.types.ts +68 -68
  28. package/src/types/auth.types.ts +37 -37
  29. package/src/types/blog-posts.types.ts +19 -19
  30. package/src/types/calendar-pdf.types.ts +24 -24
  31. package/src/types/calendo-events.types.ts +64 -64
  32. package/src/types/challenges.types.ts +30 -30
  33. package/src/types/chatbot.types.ts +82 -82
  34. package/src/types/cities.types.ts +27 -27
  35. package/src/types/city-groups.types.ts +46 -46
  36. package/src/types/cms.types.ts +87 -87
  37. package/src/types/field-reports.types.ts +66 -66
  38. package/src/types/free-tier.types.ts +54 -54
  39. package/src/types/index.ts +33 -32
  40. package/src/types/iot.types.ts +31 -31
  41. package/src/types/maintenance.types.ts +44 -44
  42. package/src/types/mapso.types.ts +146 -146
  43. package/src/types/notifications.types.ts +68 -68
  44. package/src/types/onboarding.types.ts +117 -117
  45. package/src/types/operational-zones.types.ts +70 -70
  46. package/src/types/pagination.types.ts +33 -33
  47. package/src/types/providers.types.ts +29 -29
  48. package/src/types/quiz-questions.types.ts +59 -59
  49. package/src/types/recycling-points.types.ts +47 -47
  50. package/src/types/roi.types.ts +60 -60
  51. package/src/types/surveys.types.ts +103 -103
  52. package/src/types/tickets.types.ts +65 -65
  53. package/src/types/users.types.ts +30 -30
  54. package/src/types/waste-collection-places-query.types.ts +4 -4
  55. package/src/types/waste-collection-places.types.ts +33 -33
  56. package/src/types/waste-types.types.ts +21 -21
package/dist/index.d.mts CHANGED
@@ -1857,6 +1857,17 @@ type SyncRestrictedAccessResponse = {
1857
1857
  /** Preset appliqué au bootstrap self-serve. */
1858
1858
  declare const ONBOARDING_RESTRICTED_APP_SLUGS: readonly DashboardAppSlug[];
1859
1859
 
1860
+ /**
1861
+ * Payload agrégé pour le cold-start des apps générées (events, calendrier, tri, carte).
1862
+ * Route : `GET /public/cities/:id/app-preload`
1863
+ */
1864
+ type CityAppPreload = {
1865
+ city: unknown;
1866
+ wasteTypes: unknown[];
1867
+ wasteCollectionPlaces: unknown[];
1868
+ recyclingPoints: unknown[];
1869
+ };
1870
+
1860
1871
  /**
1861
1872
  * Moteur ROI déchets — partagé simulateur landing / API / console.
1862
1873
  * Ordres de grandeur pédagogiques (non contractuels).
@@ -2439,6 +2450,11 @@ declare function createWastoClient(config: WastoClientConfig): {
2439
2450
  pageSize?: number;
2440
2451
  }) => Promise<PaginatedResponse<unknown>>;
2441
2452
  getById: (id: string) => Promise<unknown>;
2453
+ /**
2454
+ * Cold-start agrégé : ville + types de déchets + lieux de collecte + points carte.
2455
+ * Remplace 4 appels paginés au lancement de l’app générée.
2456
+ */
2457
+ getAppPreload: (cityId: string) => Promise<CityAppPreload>;
2442
2458
  getWasteTypes: (cityId: string, params?: {
2443
2459
  page?: number;
2444
2460
  pageSize?: number;
@@ -2559,4 +2575,4 @@ declare function createWastoClient(config: WastoClientConfig): {
2559
2575
  };
2560
2576
  type WastoClient = ReturnType<typeof createWastoClient>;
2561
2577
 
2562
- export { type AcceptInviteRequest, type AccessibleCityGroup, type ActionContribution, type AnnualRoiPoint, type AppAdaptiveIconSettings, type AppIconSettings, type AppLayoutsConfig, type AppSettings, type AppSplashSettings, type AppStackScreenConfig, type AppTabConfig, type AppThemeGradient, type AppThemeSettings, AssetEventType, AssetStatus, AssetType, type AssignConversationRequest, type AssignProgramRequest, type AssignTicketRequest, BookingStatus, type BootstrapCityGroupRequest, type BootstrapCityGroupResponse, CITEO_DOM_MULTIPLIERS, type CalendarPdfSector, CalendoEventStatus, CalendoEventType, CalendoTicketSaleStatus, type CalendoTicketingOverview, type CancelAssetBookingRequest, type ChatAction, type ChatActionOption, type ChatLink, ChatMessageRole, type ChatResponse, ChatStatus, type ChatTextResponse, type ChatWasteTypeDetail, type ChatWasteTypeFiche, type CityGroupDashboardAppAccessItem, type CityGroupDashboardAppsResponse, CityGroupType, CityStatus, CmsMenuLinkType, CmsSiteType, type CreateAssetBookingRequest, type CreateAssetConsumptionRecordRequest, type CreateAssetEventRequest, type CreateAssetInterventionRequest, type CreateAssetRequest, type CreateAttachedLocationRequest, type CreateBadgeRequest, type CreateBlogPostRequest, type CreateCalendoEventRequest, type CreateCalendoTicketSaleRequest, type CreateChallengeRequest, type CreateCityGroupRequest, type CreateCityRequest, type CreateCmsLayoutRequest, type CreateCmsMenuItemRequest, type CreateCmsMenuRequest, type CreateCmsPageRequest, type CreateCmsSiteRequest, type CreateConversationRequest, type CreateFieldReportFieldRequest, type CreateFieldReportFormRequest, type CreateFieldReportRequest, type CreateIotDeviceRequest, type CreateMaintenanceProgramRequest, type CreateMaintenanceTypeRequest, type CreateMapEventRequest, type CreateMapPoiRequest, type CreateMapZoneRequest, type CreateNotificationRequest, type CreateOperationalZoneRequest, type CreateProviderRequest, type CreateQuizQuestionRequest, type CreateRecipientGroupRequest, type CreateRecyclingPointRequest, type CreateSerieRequest, type CreateSurveyAnswerRequest, type CreateSurveyCohortRequest, type CreateSurveyQuestionRequest, type CreateSurveyRequest, type CreateSurveyResponseRequest, type CreateSurveySubCohortRequest, type CreateTerritoryActionRequest, type CreateTicketFieldRequest, type CreateTicketFormRequest, type CreateTicketFromChatRequest, type CreateTicketRequest, type CreateUserRequest, type CreateWasteCollectionDayRequest, type CreateWasteCollectionExceptionRequest, type CreateWasteCollectionPlaceRequest, type CreateWasteTypeDetailRequest, type CreateWasteTypeRequest, DASHBOARD_APPS, DASHBOARD_APP_BY_KEY, DASHBOARD_APP_BY_SLUG, DEFAULT_ENABLED_DASHBOARD_APP_SLUGS, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DOM_INSEE_PREFIXES, type DashboardAppDefinition, DashboardAppSlug, FREE_SELF_SERVE_DASHBOARD_APP_SLUGS, FREE_TIER_FEATURES, FREE_TIER_FEATURE_KEYS, FREE_TIER_LIMITS, FREE_TIER_RESOURCES, FieldReportFormStatus, FieldReportStatus, type FieldReportValueRequest, type ForgotPasswordRequest, type FreeTierErrorCode, type FreeTierErrorPayload, type FreeTierFeature, type FreeTierFeatureItem, type FreeTierResource, type FreeTierUsageItem, type FreeTierUsageSnapshot, type HoursInputMode, type ImpactConfidence, type ImpactConfidenceLevel, type ImportTerritoryHistoryRequest, type ImportTerritoryYearRequest, InterventionStatus, InterventionType, type InviteUserRequest, type IotWebhookPayloadRequest, type LocateWasteCollectionPlacesQuery, type LoginRequest, type LoginResponse, type LoginTwoFactorChallenge, MAX_PAGE_SIZE, type MaintenanceProgramItemRequest, MapEventStatus, type MapEventSummary, MapEventType, MapPoiCategory, MapPoiStatus, type MapPoiSummary, type MapZoneSummary, MapZoneType, NotificationDeliveryStatus, NotificationStatus, ONBOARDING_RESTRICTED_APP_SLUGS, type OnboardingCityGroupSearchHit, type OnboardingSinoeSearchHit, type OnboardingStepId, type OpeningHours, type OpeningHoursException, type OpeningHoursExceptionClosed, type OpeningHoursExceptionOpen, type OpeningHoursRule, type OpeningHoursValidationResult, type OperationalZone, OperationalZoneStatus, type OperationalZoneStreetLink, OperationalZoneType, PRESET_SLOTS, type PaginatedResponse, type PaginationMeta, type PaginationQuery, PermissionAction, PermissionResource, ProviderType, type PublicAnnouncement, type PwaLightBootstrapRequest, type PwaLightBootstrapResponse, QuestionType, type QuizAbImageChoice, type QuizAbImageOptions, type QuizExplanationDetail, type QuizMcqChoice, type QuizMcqOptions, type QuizQuestionKind, type QuizQuestionOptions, ROI_DEFAULTS, ROI_DISCLAIMER, ROI_SCENARIO_DEFS, RecipientGroupType, type RecyclingPoint, type RecyclingPointDetails, type RecyclingPointHoursSource, type RegisterRequest, type RequestJoinCityGroupRequest, type RequestJoinCityGroupResponse, type ResetPasswordRequest, ResponseStatus, type RoiActionInput, type RoiEconomicsInput, type RoiIndicators, type RoiLiveSignals, type SearchStreetSectorsQuery, type SearchStreetSectorsResponse, type SendMessageRequest, type SetCityGroupDashboardAppsRequest, type SetConversationLocationRequest, type StreetSectorMatch, SurveyMode, SurveyStatus, type SyncRestrictedAccessRequest, type SyncRestrictedAccessResponse, TGAP_LANDFILL_EUR_PER_TONNE, TerritoryActionStatus, TerritoryActionType, TicketFormStatus, TicketStatus, type TicketValueRequest, type TimeSlot, type UpdateAssetBookingRequest, type UpdateAssetInterventionRequest, type UpdateAssetRequest, type UpdateAssetStatusRequest, type UpdateBlogPostRequest, type UpdateCalendoEventRequest, type UpdateCalendoTicketSaleRequest, type UpdateCityGroupRequest, type UpdateCityRequest, type UpdateCmsLayoutRequest, type UpdateCmsMenuRequest, type UpdateCmsPageRequest, type UpdateCmsSiteRequest, type UpdateConversationStatusRequest, type UpdateFieldReportFieldRequest, type UpdateFieldReportFormRequest, type UpdateFieldReportRequest, type UpdateFieldReportStatusRequest, type UpdateIotDeviceRequest, type UpdateMaintenanceProgramRequest, type UpdateMaintenanceTypeRequest, type UpdateMapEventRequest, type UpdateMapPoiRequest, type UpdateMapZoneRequest, type UpdateNotificationRequest, type UpdateOperationalZoneRequest, type UpdateProviderRequest, type UpdateRecipientGroupRequest, type UpdateSurveyCohortRequest, type UpdateSurveyQuestionRequest, type UpdateSurveyRequest, type UpdateSurveyResponseRequest, type UpdateSurveySubCohortRequest, type UpdateTerritoryActionRequest, type UpdateTicketFormRequest, type UpdateTicketRequest, type UpdateTicketStatusRequest, type UpdateUserRequest, type UpsertTerritoryEconomicsRequest, UserRole, WASTO_LANDINGS_DOMAIN, WASTO_LANDINGS_INDEX_HOST, WASTO_RESERVED_SUBDOMAINS, WASTO_SECTIONS, WASTO_SECTION_BY_KEY, WEEKDAYS, WEEKDAY_INDEX, WEEKDAY_LABELS_FR, WEEKDAY_LABELS_FR_SHORT, WEEKDAY_REF_DATES, WastoApiError, type WastoClient, type WastoClientConfig, type WastoRequestErrorContext, type WastoSectionDefinition, type Weekday, type WeeklyHoursRow, addDaysToIsoDate, adjustCostPerBadTonneForTgap, allocateSavingsByAction, applyCiteoDomMultiplier, applyStackedErrorReductions, buildBauVsRealSeries, buildPaginationMeta, computeActionImpactConfidence, computeGec, computeOverallConfidence, computePenetrationRate, computeRoiIndicators, convertLocalToUtc, convertUtcToLocal, createEmptyLocalRules, createEmptyOpeningHours, createWastoClient, currentFiscalYear, dashboardAppKeyFromLandingHost, dashboardAppKeyToSlug, dashboardAppSlugToKey, detectDomTerritory, estimateHouseholds, formatOpeningHoursSummary, formatOpeningHoursWeekly, formatTimeDisplay, formatTimeMinutes, formatWeeklyRow, getBrowserTimeZone, getFreeTierLimit, getFreeTierMediaBytesLimit, getTgapEurPerTonne, getTimezoneOffsetMinutes, isActionCountedInRoi, isDashboardAppLandingHost, isDomInseeCode, isFreeSelfServeAppAccess, isFreeTierFeatureEnabled, isOpenNow, localDateTimeToUtc, localRulesFromRange, nextWeekday, normalizeDashboardAppSlug, openNowLabel, parseTimeMinutes, refDateForWeekday, resolveDashboardAppLandingUrl, resolveEnabledDashboardAppSlugs, resolveHoursDisplay, resolveHoursMode, resolveHoursModeFromPoint, resolveHoursText, resolveOpeningHoursLocal, resolveOpeningHoursUtc, resolveWastoLandingsIndexUrl, roundEuro, simulateTerritory100kExample, slotsOverlap, sortSlots, utcDateIso, utcHhmmFromDate, validateLocalOpeningHours, validateOpeningHours, weekdayFromUtcDate };
2578
+ export { type AcceptInviteRequest, type AccessibleCityGroup, type ActionContribution, type AnnualRoiPoint, type AppAdaptiveIconSettings, type AppIconSettings, type AppLayoutsConfig, type AppSettings, type AppSplashSettings, type AppStackScreenConfig, type AppTabConfig, type AppThemeGradient, type AppThemeSettings, AssetEventType, AssetStatus, AssetType, type AssignConversationRequest, type AssignProgramRequest, type AssignTicketRequest, BookingStatus, type BootstrapCityGroupRequest, type BootstrapCityGroupResponse, CITEO_DOM_MULTIPLIERS, type CalendarPdfSector, CalendoEventStatus, CalendoEventType, CalendoTicketSaleStatus, type CalendoTicketingOverview, type CancelAssetBookingRequest, type ChatAction, type ChatActionOption, type ChatLink, ChatMessageRole, type ChatResponse, ChatStatus, type ChatTextResponse, type ChatWasteTypeDetail, type ChatWasteTypeFiche, type CityAppPreload, type CityGroupDashboardAppAccessItem, type CityGroupDashboardAppsResponse, CityGroupType, CityStatus, CmsMenuLinkType, CmsSiteType, type CreateAssetBookingRequest, type CreateAssetConsumptionRecordRequest, type CreateAssetEventRequest, type CreateAssetInterventionRequest, type CreateAssetRequest, type CreateAttachedLocationRequest, type CreateBadgeRequest, type CreateBlogPostRequest, type CreateCalendoEventRequest, type CreateCalendoTicketSaleRequest, type CreateChallengeRequest, type CreateCityGroupRequest, type CreateCityRequest, type CreateCmsLayoutRequest, type CreateCmsMenuItemRequest, type CreateCmsMenuRequest, type CreateCmsPageRequest, type CreateCmsSiteRequest, type CreateConversationRequest, type CreateFieldReportFieldRequest, type CreateFieldReportFormRequest, type CreateFieldReportRequest, type CreateIotDeviceRequest, type CreateMaintenanceProgramRequest, type CreateMaintenanceTypeRequest, type CreateMapEventRequest, type CreateMapPoiRequest, type CreateMapZoneRequest, type CreateNotificationRequest, type CreateOperationalZoneRequest, type CreateProviderRequest, type CreateQuizQuestionRequest, type CreateRecipientGroupRequest, type CreateRecyclingPointRequest, type CreateSerieRequest, type CreateSurveyAnswerRequest, type CreateSurveyCohortRequest, type CreateSurveyQuestionRequest, type CreateSurveyRequest, type CreateSurveyResponseRequest, type CreateSurveySubCohortRequest, type CreateTerritoryActionRequest, type CreateTicketFieldRequest, type CreateTicketFormRequest, type CreateTicketFromChatRequest, type CreateTicketRequest, type CreateUserRequest, type CreateWasteCollectionDayRequest, type CreateWasteCollectionExceptionRequest, type CreateWasteCollectionPlaceRequest, type CreateWasteTypeDetailRequest, type CreateWasteTypeRequest, DASHBOARD_APPS, DASHBOARD_APP_BY_KEY, DASHBOARD_APP_BY_SLUG, DEFAULT_ENABLED_DASHBOARD_APP_SLUGS, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DOM_INSEE_PREFIXES, type DashboardAppDefinition, DashboardAppSlug, FREE_SELF_SERVE_DASHBOARD_APP_SLUGS, FREE_TIER_FEATURES, FREE_TIER_FEATURE_KEYS, FREE_TIER_LIMITS, FREE_TIER_RESOURCES, FieldReportFormStatus, FieldReportStatus, type FieldReportValueRequest, type ForgotPasswordRequest, type FreeTierErrorCode, type FreeTierErrorPayload, type FreeTierFeature, type FreeTierFeatureItem, type FreeTierResource, type FreeTierUsageItem, type FreeTierUsageSnapshot, type HoursInputMode, type ImpactConfidence, type ImpactConfidenceLevel, type ImportTerritoryHistoryRequest, type ImportTerritoryYearRequest, InterventionStatus, InterventionType, type InviteUserRequest, type IotWebhookPayloadRequest, type LocateWasteCollectionPlacesQuery, type LoginRequest, type LoginResponse, type LoginTwoFactorChallenge, MAX_PAGE_SIZE, type MaintenanceProgramItemRequest, MapEventStatus, type MapEventSummary, MapEventType, MapPoiCategory, MapPoiStatus, type MapPoiSummary, type MapZoneSummary, MapZoneType, NotificationDeliveryStatus, NotificationStatus, ONBOARDING_RESTRICTED_APP_SLUGS, type OnboardingCityGroupSearchHit, type OnboardingSinoeSearchHit, type OnboardingStepId, type OpeningHours, type OpeningHoursException, type OpeningHoursExceptionClosed, type OpeningHoursExceptionOpen, type OpeningHoursRule, type OpeningHoursValidationResult, type OperationalZone, OperationalZoneStatus, type OperationalZoneStreetLink, OperationalZoneType, PRESET_SLOTS, type PaginatedResponse, type PaginationMeta, type PaginationQuery, PermissionAction, PermissionResource, ProviderType, type PublicAnnouncement, type PwaLightBootstrapRequest, type PwaLightBootstrapResponse, QuestionType, type QuizAbImageChoice, type QuizAbImageOptions, type QuizExplanationDetail, type QuizMcqChoice, type QuizMcqOptions, type QuizQuestionKind, type QuizQuestionOptions, ROI_DEFAULTS, ROI_DISCLAIMER, ROI_SCENARIO_DEFS, RecipientGroupType, type RecyclingPoint, type RecyclingPointDetails, type RecyclingPointHoursSource, type RegisterRequest, type RequestJoinCityGroupRequest, type RequestJoinCityGroupResponse, type ResetPasswordRequest, ResponseStatus, type RoiActionInput, type RoiEconomicsInput, type RoiIndicators, type RoiLiveSignals, type SearchStreetSectorsQuery, type SearchStreetSectorsResponse, type SendMessageRequest, type SetCityGroupDashboardAppsRequest, type SetConversationLocationRequest, type StreetSectorMatch, SurveyMode, SurveyStatus, type SyncRestrictedAccessRequest, type SyncRestrictedAccessResponse, TGAP_LANDFILL_EUR_PER_TONNE, TerritoryActionStatus, TerritoryActionType, TicketFormStatus, TicketStatus, type TicketValueRequest, type TimeSlot, type UpdateAssetBookingRequest, type UpdateAssetInterventionRequest, type UpdateAssetRequest, type UpdateAssetStatusRequest, type UpdateBlogPostRequest, type UpdateCalendoEventRequest, type UpdateCalendoTicketSaleRequest, type UpdateCityGroupRequest, type UpdateCityRequest, type UpdateCmsLayoutRequest, type UpdateCmsMenuRequest, type UpdateCmsPageRequest, type UpdateCmsSiteRequest, type UpdateConversationStatusRequest, type UpdateFieldReportFieldRequest, type UpdateFieldReportFormRequest, type UpdateFieldReportRequest, type UpdateFieldReportStatusRequest, type UpdateIotDeviceRequest, type UpdateMaintenanceProgramRequest, type UpdateMaintenanceTypeRequest, type UpdateMapEventRequest, type UpdateMapPoiRequest, type UpdateMapZoneRequest, type UpdateNotificationRequest, type UpdateOperationalZoneRequest, type UpdateProviderRequest, type UpdateRecipientGroupRequest, type UpdateSurveyCohortRequest, type UpdateSurveyQuestionRequest, type UpdateSurveyRequest, type UpdateSurveyResponseRequest, type UpdateSurveySubCohortRequest, type UpdateTerritoryActionRequest, type UpdateTicketFormRequest, type UpdateTicketRequest, type UpdateTicketStatusRequest, type UpdateUserRequest, type UpsertTerritoryEconomicsRequest, UserRole, WASTO_LANDINGS_DOMAIN, WASTO_LANDINGS_INDEX_HOST, WASTO_RESERVED_SUBDOMAINS, WASTO_SECTIONS, WASTO_SECTION_BY_KEY, WEEKDAYS, WEEKDAY_INDEX, WEEKDAY_LABELS_FR, WEEKDAY_LABELS_FR_SHORT, WEEKDAY_REF_DATES, WastoApiError, type WastoClient, type WastoClientConfig, type WastoRequestErrorContext, type WastoSectionDefinition, type Weekday, type WeeklyHoursRow, addDaysToIsoDate, adjustCostPerBadTonneForTgap, allocateSavingsByAction, applyCiteoDomMultiplier, applyStackedErrorReductions, buildBauVsRealSeries, buildPaginationMeta, computeActionImpactConfidence, computeGec, computeOverallConfidence, computePenetrationRate, computeRoiIndicators, convertLocalToUtc, convertUtcToLocal, createEmptyLocalRules, createEmptyOpeningHours, createWastoClient, currentFiscalYear, dashboardAppKeyFromLandingHost, dashboardAppKeyToSlug, dashboardAppSlugToKey, detectDomTerritory, estimateHouseholds, formatOpeningHoursSummary, formatOpeningHoursWeekly, formatTimeDisplay, formatTimeMinutes, formatWeeklyRow, getBrowserTimeZone, getFreeTierLimit, getFreeTierMediaBytesLimit, getTgapEurPerTonne, getTimezoneOffsetMinutes, isActionCountedInRoi, isDashboardAppLandingHost, isDomInseeCode, isFreeSelfServeAppAccess, isFreeTierFeatureEnabled, isOpenNow, localDateTimeToUtc, localRulesFromRange, nextWeekday, normalizeDashboardAppSlug, openNowLabel, parseTimeMinutes, refDateForWeekday, resolveDashboardAppLandingUrl, resolveEnabledDashboardAppSlugs, resolveHoursDisplay, resolveHoursMode, resolveHoursModeFromPoint, resolveHoursText, resolveOpeningHoursLocal, resolveOpeningHoursUtc, resolveWastoLandingsIndexUrl, roundEuro, simulateTerritory100kExample, slotsOverlap, sortSlots, utcDateIso, utcHhmmFromDate, validateLocalOpeningHours, validateOpeningHours, weekdayFromUtcDate };
package/dist/index.d.ts CHANGED
@@ -1857,6 +1857,17 @@ type SyncRestrictedAccessResponse = {
1857
1857
  /** Preset appliqué au bootstrap self-serve. */
1858
1858
  declare const ONBOARDING_RESTRICTED_APP_SLUGS: readonly DashboardAppSlug[];
1859
1859
 
1860
+ /**
1861
+ * Payload agrégé pour le cold-start des apps générées (events, calendrier, tri, carte).
1862
+ * Route : `GET /public/cities/:id/app-preload`
1863
+ */
1864
+ type CityAppPreload = {
1865
+ city: unknown;
1866
+ wasteTypes: unknown[];
1867
+ wasteCollectionPlaces: unknown[];
1868
+ recyclingPoints: unknown[];
1869
+ };
1870
+
1860
1871
  /**
1861
1872
  * Moteur ROI déchets — partagé simulateur landing / API / console.
1862
1873
  * Ordres de grandeur pédagogiques (non contractuels).
@@ -2439,6 +2450,11 @@ declare function createWastoClient(config: WastoClientConfig): {
2439
2450
  pageSize?: number;
2440
2451
  }) => Promise<PaginatedResponse<unknown>>;
2441
2452
  getById: (id: string) => Promise<unknown>;
2453
+ /**
2454
+ * Cold-start agrégé : ville + types de déchets + lieux de collecte + points carte.
2455
+ * Remplace 4 appels paginés au lancement de l’app générée.
2456
+ */
2457
+ getAppPreload: (cityId: string) => Promise<CityAppPreload>;
2442
2458
  getWasteTypes: (cityId: string, params?: {
2443
2459
  page?: number;
2444
2460
  pageSize?: number;
@@ -2559,4 +2575,4 @@ declare function createWastoClient(config: WastoClientConfig): {
2559
2575
  };
2560
2576
  type WastoClient = ReturnType<typeof createWastoClient>;
2561
2577
 
2562
- export { type AcceptInviteRequest, type AccessibleCityGroup, type ActionContribution, type AnnualRoiPoint, type AppAdaptiveIconSettings, type AppIconSettings, type AppLayoutsConfig, type AppSettings, type AppSplashSettings, type AppStackScreenConfig, type AppTabConfig, type AppThemeGradient, type AppThemeSettings, AssetEventType, AssetStatus, AssetType, type AssignConversationRequest, type AssignProgramRequest, type AssignTicketRequest, BookingStatus, type BootstrapCityGroupRequest, type BootstrapCityGroupResponse, CITEO_DOM_MULTIPLIERS, type CalendarPdfSector, CalendoEventStatus, CalendoEventType, CalendoTicketSaleStatus, type CalendoTicketingOverview, type CancelAssetBookingRequest, type ChatAction, type ChatActionOption, type ChatLink, ChatMessageRole, type ChatResponse, ChatStatus, type ChatTextResponse, type ChatWasteTypeDetail, type ChatWasteTypeFiche, type CityGroupDashboardAppAccessItem, type CityGroupDashboardAppsResponse, CityGroupType, CityStatus, CmsMenuLinkType, CmsSiteType, type CreateAssetBookingRequest, type CreateAssetConsumptionRecordRequest, type CreateAssetEventRequest, type CreateAssetInterventionRequest, type CreateAssetRequest, type CreateAttachedLocationRequest, type CreateBadgeRequest, type CreateBlogPostRequest, type CreateCalendoEventRequest, type CreateCalendoTicketSaleRequest, type CreateChallengeRequest, type CreateCityGroupRequest, type CreateCityRequest, type CreateCmsLayoutRequest, type CreateCmsMenuItemRequest, type CreateCmsMenuRequest, type CreateCmsPageRequest, type CreateCmsSiteRequest, type CreateConversationRequest, type CreateFieldReportFieldRequest, type CreateFieldReportFormRequest, type CreateFieldReportRequest, type CreateIotDeviceRequest, type CreateMaintenanceProgramRequest, type CreateMaintenanceTypeRequest, type CreateMapEventRequest, type CreateMapPoiRequest, type CreateMapZoneRequest, type CreateNotificationRequest, type CreateOperationalZoneRequest, type CreateProviderRequest, type CreateQuizQuestionRequest, type CreateRecipientGroupRequest, type CreateRecyclingPointRequest, type CreateSerieRequest, type CreateSurveyAnswerRequest, type CreateSurveyCohortRequest, type CreateSurveyQuestionRequest, type CreateSurveyRequest, type CreateSurveyResponseRequest, type CreateSurveySubCohortRequest, type CreateTerritoryActionRequest, type CreateTicketFieldRequest, type CreateTicketFormRequest, type CreateTicketFromChatRequest, type CreateTicketRequest, type CreateUserRequest, type CreateWasteCollectionDayRequest, type CreateWasteCollectionExceptionRequest, type CreateWasteCollectionPlaceRequest, type CreateWasteTypeDetailRequest, type CreateWasteTypeRequest, DASHBOARD_APPS, DASHBOARD_APP_BY_KEY, DASHBOARD_APP_BY_SLUG, DEFAULT_ENABLED_DASHBOARD_APP_SLUGS, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DOM_INSEE_PREFIXES, type DashboardAppDefinition, DashboardAppSlug, FREE_SELF_SERVE_DASHBOARD_APP_SLUGS, FREE_TIER_FEATURES, FREE_TIER_FEATURE_KEYS, FREE_TIER_LIMITS, FREE_TIER_RESOURCES, FieldReportFormStatus, FieldReportStatus, type FieldReportValueRequest, type ForgotPasswordRequest, type FreeTierErrorCode, type FreeTierErrorPayload, type FreeTierFeature, type FreeTierFeatureItem, type FreeTierResource, type FreeTierUsageItem, type FreeTierUsageSnapshot, type HoursInputMode, type ImpactConfidence, type ImpactConfidenceLevel, type ImportTerritoryHistoryRequest, type ImportTerritoryYearRequest, InterventionStatus, InterventionType, type InviteUserRequest, type IotWebhookPayloadRequest, type LocateWasteCollectionPlacesQuery, type LoginRequest, type LoginResponse, type LoginTwoFactorChallenge, MAX_PAGE_SIZE, type MaintenanceProgramItemRequest, MapEventStatus, type MapEventSummary, MapEventType, MapPoiCategory, MapPoiStatus, type MapPoiSummary, type MapZoneSummary, MapZoneType, NotificationDeliveryStatus, NotificationStatus, ONBOARDING_RESTRICTED_APP_SLUGS, type OnboardingCityGroupSearchHit, type OnboardingSinoeSearchHit, type OnboardingStepId, type OpeningHours, type OpeningHoursException, type OpeningHoursExceptionClosed, type OpeningHoursExceptionOpen, type OpeningHoursRule, type OpeningHoursValidationResult, type OperationalZone, OperationalZoneStatus, type OperationalZoneStreetLink, OperationalZoneType, PRESET_SLOTS, type PaginatedResponse, type PaginationMeta, type PaginationQuery, PermissionAction, PermissionResource, ProviderType, type PublicAnnouncement, type PwaLightBootstrapRequest, type PwaLightBootstrapResponse, QuestionType, type QuizAbImageChoice, type QuizAbImageOptions, type QuizExplanationDetail, type QuizMcqChoice, type QuizMcqOptions, type QuizQuestionKind, type QuizQuestionOptions, ROI_DEFAULTS, ROI_DISCLAIMER, ROI_SCENARIO_DEFS, RecipientGroupType, type RecyclingPoint, type RecyclingPointDetails, type RecyclingPointHoursSource, type RegisterRequest, type RequestJoinCityGroupRequest, type RequestJoinCityGroupResponse, type ResetPasswordRequest, ResponseStatus, type RoiActionInput, type RoiEconomicsInput, type RoiIndicators, type RoiLiveSignals, type SearchStreetSectorsQuery, type SearchStreetSectorsResponse, type SendMessageRequest, type SetCityGroupDashboardAppsRequest, type SetConversationLocationRequest, type StreetSectorMatch, SurveyMode, SurveyStatus, type SyncRestrictedAccessRequest, type SyncRestrictedAccessResponse, TGAP_LANDFILL_EUR_PER_TONNE, TerritoryActionStatus, TerritoryActionType, TicketFormStatus, TicketStatus, type TicketValueRequest, type TimeSlot, type UpdateAssetBookingRequest, type UpdateAssetInterventionRequest, type UpdateAssetRequest, type UpdateAssetStatusRequest, type UpdateBlogPostRequest, type UpdateCalendoEventRequest, type UpdateCalendoTicketSaleRequest, type UpdateCityGroupRequest, type UpdateCityRequest, type UpdateCmsLayoutRequest, type UpdateCmsMenuRequest, type UpdateCmsPageRequest, type UpdateCmsSiteRequest, type UpdateConversationStatusRequest, type UpdateFieldReportFieldRequest, type UpdateFieldReportFormRequest, type UpdateFieldReportRequest, type UpdateFieldReportStatusRequest, type UpdateIotDeviceRequest, type UpdateMaintenanceProgramRequest, type UpdateMaintenanceTypeRequest, type UpdateMapEventRequest, type UpdateMapPoiRequest, type UpdateMapZoneRequest, type UpdateNotificationRequest, type UpdateOperationalZoneRequest, type UpdateProviderRequest, type UpdateRecipientGroupRequest, type UpdateSurveyCohortRequest, type UpdateSurveyQuestionRequest, type UpdateSurveyRequest, type UpdateSurveyResponseRequest, type UpdateSurveySubCohortRequest, type UpdateTerritoryActionRequest, type UpdateTicketFormRequest, type UpdateTicketRequest, type UpdateTicketStatusRequest, type UpdateUserRequest, type UpsertTerritoryEconomicsRequest, UserRole, WASTO_LANDINGS_DOMAIN, WASTO_LANDINGS_INDEX_HOST, WASTO_RESERVED_SUBDOMAINS, WASTO_SECTIONS, WASTO_SECTION_BY_KEY, WEEKDAYS, WEEKDAY_INDEX, WEEKDAY_LABELS_FR, WEEKDAY_LABELS_FR_SHORT, WEEKDAY_REF_DATES, WastoApiError, type WastoClient, type WastoClientConfig, type WastoRequestErrorContext, type WastoSectionDefinition, type Weekday, type WeeklyHoursRow, addDaysToIsoDate, adjustCostPerBadTonneForTgap, allocateSavingsByAction, applyCiteoDomMultiplier, applyStackedErrorReductions, buildBauVsRealSeries, buildPaginationMeta, computeActionImpactConfidence, computeGec, computeOverallConfidence, computePenetrationRate, computeRoiIndicators, convertLocalToUtc, convertUtcToLocal, createEmptyLocalRules, createEmptyOpeningHours, createWastoClient, currentFiscalYear, dashboardAppKeyFromLandingHost, dashboardAppKeyToSlug, dashboardAppSlugToKey, detectDomTerritory, estimateHouseholds, formatOpeningHoursSummary, formatOpeningHoursWeekly, formatTimeDisplay, formatTimeMinutes, formatWeeklyRow, getBrowserTimeZone, getFreeTierLimit, getFreeTierMediaBytesLimit, getTgapEurPerTonne, getTimezoneOffsetMinutes, isActionCountedInRoi, isDashboardAppLandingHost, isDomInseeCode, isFreeSelfServeAppAccess, isFreeTierFeatureEnabled, isOpenNow, localDateTimeToUtc, localRulesFromRange, nextWeekday, normalizeDashboardAppSlug, openNowLabel, parseTimeMinutes, refDateForWeekday, resolveDashboardAppLandingUrl, resolveEnabledDashboardAppSlugs, resolveHoursDisplay, resolveHoursMode, resolveHoursModeFromPoint, resolveHoursText, resolveOpeningHoursLocal, resolveOpeningHoursUtc, resolveWastoLandingsIndexUrl, roundEuro, simulateTerritory100kExample, slotsOverlap, sortSlots, utcDateIso, utcHhmmFromDate, validateLocalOpeningHours, validateOpeningHours, weekdayFromUtcDate };
2578
+ export { type AcceptInviteRequest, type AccessibleCityGroup, type ActionContribution, type AnnualRoiPoint, type AppAdaptiveIconSettings, type AppIconSettings, type AppLayoutsConfig, type AppSettings, type AppSplashSettings, type AppStackScreenConfig, type AppTabConfig, type AppThemeGradient, type AppThemeSettings, AssetEventType, AssetStatus, AssetType, type AssignConversationRequest, type AssignProgramRequest, type AssignTicketRequest, BookingStatus, type BootstrapCityGroupRequest, type BootstrapCityGroupResponse, CITEO_DOM_MULTIPLIERS, type CalendarPdfSector, CalendoEventStatus, CalendoEventType, CalendoTicketSaleStatus, type CalendoTicketingOverview, type CancelAssetBookingRequest, type ChatAction, type ChatActionOption, type ChatLink, ChatMessageRole, type ChatResponse, ChatStatus, type ChatTextResponse, type ChatWasteTypeDetail, type ChatWasteTypeFiche, type CityAppPreload, type CityGroupDashboardAppAccessItem, type CityGroupDashboardAppsResponse, CityGroupType, CityStatus, CmsMenuLinkType, CmsSiteType, type CreateAssetBookingRequest, type CreateAssetConsumptionRecordRequest, type CreateAssetEventRequest, type CreateAssetInterventionRequest, type CreateAssetRequest, type CreateAttachedLocationRequest, type CreateBadgeRequest, type CreateBlogPostRequest, type CreateCalendoEventRequest, type CreateCalendoTicketSaleRequest, type CreateChallengeRequest, type CreateCityGroupRequest, type CreateCityRequest, type CreateCmsLayoutRequest, type CreateCmsMenuItemRequest, type CreateCmsMenuRequest, type CreateCmsPageRequest, type CreateCmsSiteRequest, type CreateConversationRequest, type CreateFieldReportFieldRequest, type CreateFieldReportFormRequest, type CreateFieldReportRequest, type CreateIotDeviceRequest, type CreateMaintenanceProgramRequest, type CreateMaintenanceTypeRequest, type CreateMapEventRequest, type CreateMapPoiRequest, type CreateMapZoneRequest, type CreateNotificationRequest, type CreateOperationalZoneRequest, type CreateProviderRequest, type CreateQuizQuestionRequest, type CreateRecipientGroupRequest, type CreateRecyclingPointRequest, type CreateSerieRequest, type CreateSurveyAnswerRequest, type CreateSurveyCohortRequest, type CreateSurveyQuestionRequest, type CreateSurveyRequest, type CreateSurveyResponseRequest, type CreateSurveySubCohortRequest, type CreateTerritoryActionRequest, type CreateTicketFieldRequest, type CreateTicketFormRequest, type CreateTicketFromChatRequest, type CreateTicketRequest, type CreateUserRequest, type CreateWasteCollectionDayRequest, type CreateWasteCollectionExceptionRequest, type CreateWasteCollectionPlaceRequest, type CreateWasteTypeDetailRequest, type CreateWasteTypeRequest, DASHBOARD_APPS, DASHBOARD_APP_BY_KEY, DASHBOARD_APP_BY_SLUG, DEFAULT_ENABLED_DASHBOARD_APP_SLUGS, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DOM_INSEE_PREFIXES, type DashboardAppDefinition, DashboardAppSlug, FREE_SELF_SERVE_DASHBOARD_APP_SLUGS, FREE_TIER_FEATURES, FREE_TIER_FEATURE_KEYS, FREE_TIER_LIMITS, FREE_TIER_RESOURCES, FieldReportFormStatus, FieldReportStatus, type FieldReportValueRequest, type ForgotPasswordRequest, type FreeTierErrorCode, type FreeTierErrorPayload, type FreeTierFeature, type FreeTierFeatureItem, type FreeTierResource, type FreeTierUsageItem, type FreeTierUsageSnapshot, type HoursInputMode, type ImpactConfidence, type ImpactConfidenceLevel, type ImportTerritoryHistoryRequest, type ImportTerritoryYearRequest, InterventionStatus, InterventionType, type InviteUserRequest, type IotWebhookPayloadRequest, type LocateWasteCollectionPlacesQuery, type LoginRequest, type LoginResponse, type LoginTwoFactorChallenge, MAX_PAGE_SIZE, type MaintenanceProgramItemRequest, MapEventStatus, type MapEventSummary, MapEventType, MapPoiCategory, MapPoiStatus, type MapPoiSummary, type MapZoneSummary, MapZoneType, NotificationDeliveryStatus, NotificationStatus, ONBOARDING_RESTRICTED_APP_SLUGS, type OnboardingCityGroupSearchHit, type OnboardingSinoeSearchHit, type OnboardingStepId, type OpeningHours, type OpeningHoursException, type OpeningHoursExceptionClosed, type OpeningHoursExceptionOpen, type OpeningHoursRule, type OpeningHoursValidationResult, type OperationalZone, OperationalZoneStatus, type OperationalZoneStreetLink, OperationalZoneType, PRESET_SLOTS, type PaginatedResponse, type PaginationMeta, type PaginationQuery, PermissionAction, PermissionResource, ProviderType, type PublicAnnouncement, type PwaLightBootstrapRequest, type PwaLightBootstrapResponse, QuestionType, type QuizAbImageChoice, type QuizAbImageOptions, type QuizExplanationDetail, type QuizMcqChoice, type QuizMcqOptions, type QuizQuestionKind, type QuizQuestionOptions, ROI_DEFAULTS, ROI_DISCLAIMER, ROI_SCENARIO_DEFS, RecipientGroupType, type RecyclingPoint, type RecyclingPointDetails, type RecyclingPointHoursSource, type RegisterRequest, type RequestJoinCityGroupRequest, type RequestJoinCityGroupResponse, type ResetPasswordRequest, ResponseStatus, type RoiActionInput, type RoiEconomicsInput, type RoiIndicators, type RoiLiveSignals, type SearchStreetSectorsQuery, type SearchStreetSectorsResponse, type SendMessageRequest, type SetCityGroupDashboardAppsRequest, type SetConversationLocationRequest, type StreetSectorMatch, SurveyMode, SurveyStatus, type SyncRestrictedAccessRequest, type SyncRestrictedAccessResponse, TGAP_LANDFILL_EUR_PER_TONNE, TerritoryActionStatus, TerritoryActionType, TicketFormStatus, TicketStatus, type TicketValueRequest, type TimeSlot, type UpdateAssetBookingRequest, type UpdateAssetInterventionRequest, type UpdateAssetRequest, type UpdateAssetStatusRequest, type UpdateBlogPostRequest, type UpdateCalendoEventRequest, type UpdateCalendoTicketSaleRequest, type UpdateCityGroupRequest, type UpdateCityRequest, type UpdateCmsLayoutRequest, type UpdateCmsMenuRequest, type UpdateCmsPageRequest, type UpdateCmsSiteRequest, type UpdateConversationStatusRequest, type UpdateFieldReportFieldRequest, type UpdateFieldReportFormRequest, type UpdateFieldReportRequest, type UpdateFieldReportStatusRequest, type UpdateIotDeviceRequest, type UpdateMaintenanceProgramRequest, type UpdateMaintenanceTypeRequest, type UpdateMapEventRequest, type UpdateMapPoiRequest, type UpdateMapZoneRequest, type UpdateNotificationRequest, type UpdateOperationalZoneRequest, type UpdateProviderRequest, type UpdateRecipientGroupRequest, type UpdateSurveyCohortRequest, type UpdateSurveyQuestionRequest, type UpdateSurveyRequest, type UpdateSurveyResponseRequest, type UpdateSurveySubCohortRequest, type UpdateTerritoryActionRequest, type UpdateTicketFormRequest, type UpdateTicketRequest, type UpdateTicketStatusRequest, type UpdateUserRequest, type UpsertTerritoryEconomicsRequest, UserRole, WASTO_LANDINGS_DOMAIN, WASTO_LANDINGS_INDEX_HOST, WASTO_RESERVED_SUBDOMAINS, WASTO_SECTIONS, WASTO_SECTION_BY_KEY, WEEKDAYS, WEEKDAY_INDEX, WEEKDAY_LABELS_FR, WEEKDAY_LABELS_FR_SHORT, WEEKDAY_REF_DATES, WastoApiError, type WastoClient, type WastoClientConfig, type WastoRequestErrorContext, type WastoSectionDefinition, type Weekday, type WeeklyHoursRow, addDaysToIsoDate, adjustCostPerBadTonneForTgap, allocateSavingsByAction, applyCiteoDomMultiplier, applyStackedErrorReductions, buildBauVsRealSeries, buildPaginationMeta, computeActionImpactConfidence, computeGec, computeOverallConfidence, computePenetrationRate, computeRoiIndicators, convertLocalToUtc, convertUtcToLocal, createEmptyLocalRules, createEmptyOpeningHours, createWastoClient, currentFiscalYear, dashboardAppKeyFromLandingHost, dashboardAppKeyToSlug, dashboardAppSlugToKey, detectDomTerritory, estimateHouseholds, formatOpeningHoursSummary, formatOpeningHoursWeekly, formatTimeDisplay, formatTimeMinutes, formatWeeklyRow, getBrowserTimeZone, getFreeTierLimit, getFreeTierMediaBytesLimit, getTgapEurPerTonne, getTimezoneOffsetMinutes, isActionCountedInRoi, isDashboardAppLandingHost, isDomInseeCode, isFreeSelfServeAppAccess, isFreeTierFeatureEnabled, isOpenNow, localDateTimeToUtc, localRulesFromRange, nextWeekday, normalizeDashboardAppSlug, openNowLabel, parseTimeMinutes, refDateForWeekday, resolveDashboardAppLandingUrl, resolveEnabledDashboardAppSlugs, resolveHoursDisplay, resolveHoursMode, resolveHoursModeFromPoint, resolveHoursText, resolveOpeningHoursLocal, resolveOpeningHoursUtc, resolveWastoLandingsIndexUrl, roundEuro, simulateTerritory100kExample, slotsOverlap, sortSlots, utcDateIso, utcHhmmFromDate, validateLocalOpeningHours, validateOpeningHours, weekdayFromUtcDate };
package/dist/index.js CHANGED
@@ -2246,6 +2246,13 @@ function createWastoClient(config) {
2246
2246
  return requestPublic(`/public/cities${query ? `?${query}` : ""}`);
2247
2247
  },
2248
2248
  getById: (id) => requestPublic(`/public/cities/${id}`),
2249
+ /**
2250
+ * Cold-start agrégé : ville + types de déchets + lieux de collecte + points carte.
2251
+ * Remplace 4 appels paginés au lancement de l’app générée.
2252
+ */
2253
+ getAppPreload: (cityId) => requestPublic(
2254
+ `/public/cities/${encodeURIComponent(cityId)}/app-preload`
2255
+ ),
2249
2256
  getWasteTypes: (cityId, params) => {
2250
2257
  const q = new URLSearchParams();
2251
2258
  if (params?.page != null) q.set("page", String(params.page));
package/dist/index.mjs CHANGED
@@ -2086,6 +2086,13 @@ function createWastoClient(config) {
2086
2086
  return requestPublic(`/public/cities${query ? `?${query}` : ""}`);
2087
2087
  },
2088
2088
  getById: (id) => requestPublic(`/public/cities/${id}`),
2089
+ /**
2090
+ * Cold-start agrégé : ville + types de déchets + lieux de collecte + points carte.
2091
+ * Remplace 4 appels paginés au lancement de l’app générée.
2092
+ */
2093
+ getAppPreload: (cityId) => requestPublic(
2094
+ `/public/cities/${encodeURIComponent(cityId)}/app-preload`
2095
+ ),
2089
2096
  getWasteTypes: (cityId, params) => {
2090
2097
  const q = new URLSearchParams();
2091
2098
  if (params?.page != null) q.set("page", String(params.page));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wasto/sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "DTOs, types and HTTP client for Wasto API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",