@plyaz/api 1.0.2 → 1.1.1
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.
- package/README.md +632 -542
- package/dist/api/cache/index.d.ts +183 -0
- package/dist/api/cache/index.d.ts.map +1 -0
- package/dist/api/cache/patterns.d.ts +174 -0
- package/dist/api/cache/patterns.d.ts.map +1 -0
- package/dist/api/cache/strategies.d.ts +47 -0
- package/dist/api/cache/strategies.d.ts.map +1 -0
- package/dist/api/client/clientEventManager.d.ts +238 -0
- package/dist/api/client/clientEventManager.d.ts.map +1 -0
- package/dist/api/client/createApiClient.d.ts +5 -0
- package/dist/api/client/createApiClient.d.ts.map +1 -0
- package/dist/api/client/helpers/headers.d.ts +11 -0
- package/dist/api/client/helpers/headers.d.ts.map +1 -0
- package/dist/api/client/helpers/index.d.ts +9 -0
- package/dist/api/client/helpers/index.d.ts.map +1 -0
- package/dist/api/client/helpers/interceptors.d.ts +29 -0
- package/dist/api/client/helpers/interceptors.d.ts.map +1 -0
- package/dist/api/client/helpers/network.d.ts +21 -0
- package/dist/api/client/helpers/network.d.ts.map +1 -0
- package/dist/api/client/helpers/strategies.d.ts +30 -0
- package/dist/api/client/helpers/strategies.d.ts.map +1 -0
- package/dist/api/client/helpers/tracking.d.ts +15 -0
- package/dist/api/client/helpers/tracking.d.ts.map +1 -0
- package/dist/api/client/index.d.ts +7 -0
- package/dist/api/client/index.d.ts.map +1 -0
- package/dist/api/config/adapter.d.ts +25 -0
- package/dist/api/config/adapter.d.ts.map +1 -0
- package/dist/api/config/configBuilder.d.ts +62 -0
- package/dist/api/config/configBuilder.d.ts.map +1 -0
- package/dist/api/config/configManager.d.ts +67 -0
- package/dist/api/config/configManager.d.ts.map +1 -0
- package/dist/api/config/global.d.ts +106 -0
- package/dist/api/config/global.d.ts.map +1 -0
- package/dist/api/config/index.d.ts +11 -0
- package/dist/api/config/index.d.ts.map +1 -0
- package/dist/api/debugger/DebugReport.d.ts +71 -0
- package/dist/api/debugger/DebugReport.d.ts.map +1 -0
- package/dist/api/debugger/UnifiedDebugger.d.ts +444 -0
- package/dist/api/debugger/UnifiedDebugger.d.ts.map +1 -0
- package/dist/api/debugger/factories/conflict.d.ts +58 -0
- package/dist/api/debugger/factories/conflict.d.ts.map +1 -0
- package/dist/api/debugger/factories/eventTracking.d.ts +126 -0
- package/dist/api/debugger/factories/eventTracking.d.ts.map +1 -0
- package/dist/api/debugger/factories/history.d.ts +97 -0
- package/dist/api/debugger/factories/history.d.ts.map +1 -0
- package/dist/api/debugger/factories/index.d.ts +15 -0
- package/dist/api/debugger/factories/index.d.ts.map +1 -0
- package/dist/api/debugger/factories/issueAnalysis.d.ts +52 -0
- package/dist/api/debugger/factories/issueAnalysis.d.ts.map +1 -0
- package/dist/api/debugger/factories/performance.d.ts +53 -0
- package/dist/api/debugger/factories/performance.d.ts.map +1 -0
- package/dist/api/debugger/factories/report.d.ts +43 -0
- package/dist/api/debugger/factories/report.d.ts.map +1 -0
- package/dist/api/debugger/index.d.ts +99 -0
- package/dist/api/debugger/index.d.ts.map +1 -0
- package/dist/api/debugger/queue/DebuggerQueueManager.d.ts +61 -0
- package/dist/api/debugger/queue/DebuggerQueueManager.d.ts.map +1 -0
- package/dist/api/debugger/queue/OperationTracker.d.ts +86 -0
- package/dist/api/debugger/queue/OperationTracker.d.ts.map +1 -0
- package/dist/api/debugger/queue/index.d.ts +9 -0
- package/dist/api/debugger/queue/index.d.ts.map +1 -0
- package/dist/api/endpoints/builders.d.ts +109 -0
- package/dist/api/endpoints/builders.d.ts.map +1 -0
- package/dist/api/endpoints/campaigns.d.ts +43 -0
- package/dist/api/endpoints/campaigns.d.ts.map +1 -0
- package/dist/api/endpoints/index.d.ts +100 -0
- package/dist/api/endpoints/index.d.ts.map +1 -0
- package/dist/api/endpoints/polling.d.ts +83 -0
- package/dist/api/endpoints/polling.d.ts.map +1 -0
- package/dist/api/endpoints/utils.d.ts +128 -0
- package/dist/api/endpoints/utils.d.ts.map +1 -0
- package/dist/api/errors/ApiPackageError.d.ts +101 -0
- package/dist/api/errors/ApiPackageError.d.ts.map +1 -0
- package/dist/api/errors/definitions.d.ts +24 -0
- package/dist/api/errors/definitions.d.ts.map +1 -0
- package/dist/api/errors/error-codes.d.ts +116 -0
- package/dist/api/errors/error-codes.d.ts.map +1 -0
- package/dist/api/errors/error-events.d.ts +63 -0
- package/dist/api/errors/error-events.d.ts.map +1 -0
- package/dist/api/errors/index.d.ts +18 -0
- package/dist/api/errors/index.d.ts.map +1 -0
- package/dist/api/errors/types-constants.d.ts +64 -0
- package/dist/api/errors/types-constants.d.ts.map +1 -0
- package/dist/api/events/EventManager.d.ts +230 -0
- package/dist/api/events/EventManager.d.ts.map +1 -0
- package/dist/api/events/factories/base.d.ts +269 -0
- package/dist/api/events/factories/base.d.ts.map +1 -0
- package/dist/api/events/factories/cache.d.ts +31 -0
- package/dist/api/events/factories/cache.d.ts.map +1 -0
- package/dist/api/events/factories/client.d.ts +43 -0
- package/dist/api/events/factories/client.d.ts.map +1 -0
- package/dist/api/events/factories/config.d.ts +34 -0
- package/dist/api/events/factories/config.d.ts.map +1 -0
- package/dist/api/events/factories/debug.d.ts +74 -0
- package/dist/api/events/factories/debug.d.ts.map +1 -0
- package/dist/api/events/factories/errors.d.ts +91 -0
- package/dist/api/events/factories/errors.d.ts.map +1 -0
- package/dist/api/events/factories/headers.d.ts +54 -0
- package/dist/api/events/factories/headers.d.ts.map +1 -0
- package/dist/api/events/factories/index.d.ts +46 -0
- package/dist/api/events/factories/index.d.ts.map +1 -0
- package/dist/api/events/factories/network.d.ts +54 -0
- package/dist/api/events/factories/network.d.ts.map +1 -0
- package/dist/api/events/factories/performance.d.ts +43 -0
- package/dist/api/events/factories/performance.d.ts.map +1 -0
- package/dist/api/events/index.d.ts +34 -0
- package/dist/api/events/index.d.ts.map +1 -0
- package/dist/api/events/namespaces.d.ts +464 -0
- package/dist/api/events/namespaces.d.ts.map +1 -0
- package/dist/api/events/queue/ConfigUpdateQueueManager.d.ts +53 -0
- package/dist/api/events/queue/ConfigUpdateQueueManager.d.ts.map +1 -0
- package/dist/api/events/queue/EventQueueManager.d.ts +69 -0
- package/dist/api/events/queue/EventQueueManager.d.ts.map +1 -0
- package/dist/api/events/queue/index.d.ts +12 -0
- package/dist/api/events/queue/index.d.ts.map +1 -0
- package/dist/api/events/shared-emitter.d.ts +14 -0
- package/dist/api/events/shared-emitter.d.ts.map +1 -0
- package/dist/api/headers/cache.d.ts +17 -0
- package/dist/api/headers/cache.d.ts.map +1 -0
- package/dist/api/headers/enriched.d.ts +18 -0
- package/dist/api/headers/enriched.d.ts.map +1 -0
- package/dist/api/headers/events.d.ts +17 -0
- package/dist/api/headers/events.d.ts.map +1 -0
- package/dist/api/headers/extract.d.ts +73 -0
- package/dist/api/headers/extract.d.ts.map +1 -0
- package/dist/api/headers/headerBuilder.d.ts +308 -0
- package/dist/api/headers/headerBuilder.d.ts.map +1 -0
- package/dist/api/headers/index.d.ts +37 -0
- package/dist/api/headers/index.d.ts.map +1 -0
- package/dist/api/headers/merge.d.ts +32 -0
- package/dist/api/headers/merge.d.ts.map +1 -0
- package/dist/api/headers/presets.d.ts +24 -0
- package/dist/api/headers/presets.d.ts.map +1 -0
- package/dist/api/headers/utils.d.ts +38 -0
- package/dist/api/headers/utils.d.ts.map +1 -0
- package/dist/api/hooks/factories/createApiMutation.d.ts +57 -0
- package/dist/api/hooks/factories/createApiMutation.d.ts.map +1 -0
- package/dist/api/hooks/factories/createApiQuery.d.ts +55 -0
- package/dist/api/hooks/factories/createApiQuery.d.ts.map +1 -0
- package/dist/api/hooks/factories/defaults.d.ts +15 -0
- package/dist/api/hooks/factories/defaults.d.ts.map +1 -0
- package/dist/api/hooks/factories/index.d.ts +8 -0
- package/dist/api/hooks/factories/index.d.ts.map +1 -0
- package/dist/api/hooks/index.d.ts +11 -0
- package/dist/api/hooks/index.d.ts.map +1 -0
- package/dist/api/hooks/types.d.ts +82 -0
- package/dist/api/hooks/types.d.ts.map +1 -0
- package/dist/api/hooks/useApiConfigConflicts.d.ts +24 -0
- package/dist/api/hooks/useApiConfigConflicts.d.ts.map +1 -0
- package/dist/api/hooks/useApiDebugInfo.d.ts +24 -0
- package/dist/api/hooks/useApiDebugInfo.d.ts.map +1 -0
- package/dist/api/hooks/useApiMonitor.d.ts +25 -0
- package/dist/api/hooks/useApiMonitor.d.ts.map +1 -0
- package/dist/api/hooks/useApiNetworkQuality.d.ts +21 -0
- package/dist/api/hooks/useApiNetworkQuality.d.ts.map +1 -0
- package/dist/api/index.d.ts +26 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/network/adaptive.d.ts +56 -0
- package/dist/api/network/adaptive.d.ts.map +1 -0
- package/dist/api/network/client-hints.d.ts +25 -0
- package/dist/api/network/client-hints.d.ts.map +1 -0
- package/dist/api/network/connection.d.ts +60 -0
- package/dist/api/network/connection.d.ts.map +1 -0
- package/dist/api/network/core.d.ts +26 -0
- package/dist/api/network/core.d.ts.map +1 -0
- package/dist/api/network/events.d.ts +18 -0
- package/dist/api/network/events.d.ts.map +1 -0
- package/dist/api/network/frameworks/express.d.ts +110 -0
- package/dist/api/network/frameworks/express.d.ts.map +1 -0
- package/dist/api/network/frameworks/index.d.ts +13 -0
- package/dist/api/network/frameworks/index.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/clientHintsInterceptor.d.ts +29 -0
- package/dist/api/network/frameworks/nestjs/clientHintsInterceptor.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/decorators.d.ts +48 -0
- package/dist/api/network/frameworks/nestjs/decorators.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersGuard.d.ts +80 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersInterceptor.d.ts +83 -0
- package/dist/api/network/frameworks/nestjs/enrichedHeadersInterceptor.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/index.d.ts +13 -0
- package/dist/api/network/frameworks/nestjs/index.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/minimumConnectionGuard.d.ts +27 -0
- package/dist/api/network/frameworks/nestjs/minimumConnectionGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/networkDetectionMiddleware.d.ts +31 -0
- package/dist/api/network/frameworks/nestjs/networkDetectionMiddleware.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/networkGuard.d.ts +33 -0
- package/dist/api/network/frameworks/nestjs/networkGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nestjs/noDataSaverGuard.d.ts +25 -0
- package/dist/api/network/frameworks/nestjs/noDataSaverGuard.d.ts.map +1 -0
- package/dist/api/network/frameworks/nextjs.d.ts +86 -0
- package/dist/api/network/frameworks/nextjs.d.ts.map +1 -0
- package/dist/api/network/frameworks/shared.d.ts +45 -0
- package/dist/api/network/frameworks/shared.d.ts.map +1 -0
- package/dist/api/network/headers.d.ts +112 -0
- package/dist/api/network/headers.d.ts.map +1 -0
- package/dist/api/network/index.d.ts +17 -0
- package/dist/api/network/index.d.ts.map +1 -0
- package/dist/api/network/networkConfigurationManager.d.ts +225 -0
- package/dist/api/network/networkConfigurationManager.d.ts.map +1 -0
- package/dist/api/network/platform.d.ts +171 -0
- package/dist/api/network/platform.d.ts.map +1 -0
- package/dist/api/network/presets.d.ts +55 -0
- package/dist/api/network/presets.d.ts.map +1 -0
- package/dist/api/network/quality.d.ts +28 -0
- package/dist/api/network/quality.d.ts.map +1 -0
- package/dist/api/network/status.d.ts +74 -0
- package/dist/api/network/status.d.ts.map +1 -0
- package/dist/api/performance/adaptive.d.ts +35 -0
- package/dist/api/performance/adaptive.d.ts.map +1 -0
- package/dist/api/performance/index.d.ts +133 -0
- package/dist/api/performance/index.d.ts.map +1 -0
- package/dist/api/performance/patterns.d.ts +20 -0
- package/dist/api/performance/patterns.d.ts.map +1 -0
- package/dist/api/performance/performanceMonitor.d.ts +85 -0
- package/dist/api/performance/performanceMonitor.d.ts.map +1 -0
- package/dist/api/performance/presets.d.ts +18 -0
- package/dist/api/performance/presets.d.ts.map +1 -0
- package/dist/api/performance/utils.d.ts +98 -0
- package/dist/api/performance/utils.d.ts.map +1 -0
- package/dist/api/polling/index.d.ts +10 -0
- package/dist/api/polling/index.d.ts.map +1 -0
- package/dist/api/polling/strategies.d.ts +128 -0
- package/dist/api/polling/strategies.d.ts.map +1 -0
- package/dist/api/polling/utils.d.ts +133 -0
- package/dist/api/polling/utils.d.ts.map +1 -0
- package/dist/api/pubsub/index.d.ts +147 -0
- package/dist/api/pubsub/index.d.ts.map +1 -0
- package/dist/api/pubsub/react.d.ts +214 -0
- package/dist/api/pubsub/react.d.ts.map +1 -0
- package/dist/api/queue/BaseOperationTracker.d.ts +86 -0
- package/dist/api/queue/BaseOperationTracker.d.ts.map +1 -0
- package/dist/api/queue/BaseQueueManager.d.ts +54 -0
- package/dist/api/queue/BaseQueueManager.d.ts.map +1 -0
- package/dist/api/queue/BatchProcessor.d.ts +42 -0
- package/dist/api/queue/BatchProcessor.d.ts.map +1 -0
- package/dist/api/queue/EventQueueManager.d.ts +128 -0
- package/dist/api/queue/EventQueueManager.d.ts.map +1 -0
- package/dist/api/queue/PriorityQueue.d.ts +58 -0
- package/dist/api/queue/PriorityQueue.d.ts.map +1 -0
- package/dist/api/queue/QueueFactory.d.ts +57 -0
- package/dist/api/queue/QueueFactory.d.ts.map +1 -0
- package/dist/api/queue/QueueOrchestrator.d.ts +90 -0
- package/dist/api/queue/QueueOrchestrator.d.ts.map +1 -0
- package/dist/api/queue/QueueSystem.d.ts +102 -0
- package/dist/api/queue/QueueSystem.d.ts.map +1 -0
- package/dist/api/queue/index.d.ts +22 -0
- package/dist/api/queue/index.d.ts.map +1 -0
- package/dist/api/regional/constants.d.ts +76 -0
- package/dist/api/regional/constants.d.ts.map +1 -0
- package/dist/api/regional/core.d.ts +56 -0
- package/dist/api/regional/core.d.ts.map +1 -0
- package/dist/api/regional/helpers.d.ts +49 -0
- package/dist/api/regional/helpers.d.ts.map +1 -0
- package/dist/api/regional/index.d.ts +10 -0
- package/dist/api/regional/index.d.ts.map +1 -0
- package/dist/api/regional/presets.d.ts +16 -0
- package/dist/api/regional/presets.d.ts.map +1 -0
- package/dist/api/request/index.d.ts +18 -0
- package/dist/api/request/index.d.ts.map +1 -0
- package/dist/api/request/management.d.ts +46 -0
- package/dist/api/request/management.d.ts.map +1 -0
- package/dist/api/request/prepare.d.ts +34 -0
- package/dist/api/request/prepare.d.ts.map +1 -0
- package/dist/api/request/react.d.ts +98 -0
- package/dist/api/request/react.d.ts.map +1 -0
- package/dist/api/request/routing.d.ts +74 -0
- package/dist/api/request/routing.d.ts.map +1 -0
- package/dist/api/request/tracker.d.ts +76 -0
- package/dist/api/request/tracker.d.ts.map +1 -0
- package/dist/api/request/utils.d.ts +129 -0
- package/dist/api/request/utils.d.ts.map +1 -0
- package/dist/api/retry/conditions.d.ts +140 -0
- package/dist/api/retry/conditions.d.ts.map +1 -0
- package/dist/api/retry/index.d.ts +10 -0
- package/dist/api/retry/index.d.ts.map +1 -0
- package/dist/api/retry/strategies.d.ts +56 -0
- package/dist/api/retry/strategies.d.ts.map +1 -0
- package/dist/api/revalidation/index.d.ts +29 -0
- package/dist/api/revalidation/index.d.ts.map +1 -0
- package/dist/api/revalidation/presets.d.ts +71 -0
- package/dist/api/revalidation/presets.d.ts.map +1 -0
- package/dist/api/revalidation/strategies.d.ts +116 -0
- package/dist/api/revalidation/strategies.d.ts.map +1 -0
- package/dist/api/revalidation/utils.d.ts +78 -0
- package/dist/api/revalidation/utils.d.ts.map +1 -0
- package/dist/api/services/campaigns/DELETE/deleteCampaign.d.ts +30 -0
- package/dist/api/services/campaigns/DELETE/deleteCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/DELETE/index.d.ts +7 -0
- package/dist/api/services/campaigns/DELETE/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/DELETE/useDeleteCampaign.d.ts +24 -0
- package/dist/api/services/campaigns/DELETE/useDeleteCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaign.d.ts +36 -0
- package/dist/api/services/campaigns/GET/fetchCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaignParticipants.d.ts +40 -0
- package/dist/api/services/campaigns/GET/fetchCampaignParticipants.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaignStats.d.ts +31 -0
- package/dist/api/services/campaigns/GET/fetchCampaignStats.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/fetchCampaigns.d.ts +39 -0
- package/dist/api/services/campaigns/GET/fetchCampaigns.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/index.d.ts +13 -0
- package/dist/api/services/campaigns/GET/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaign.d.ts +47 -0
- package/dist/api/services/campaigns/GET/useCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaignParticipants.d.ts +43 -0
- package/dist/api/services/campaigns/GET/useCampaignParticipants.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaignStats.d.ts +33 -0
- package/dist/api/services/campaigns/GET/useCampaignStats.d.ts.map +1 -0
- package/dist/api/services/campaigns/GET/useCampaigns.d.ts +43 -0
- package/dist/api/services/campaigns/GET/useCampaigns.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/createCampaign.d.ts +37 -0
- package/dist/api/services/campaigns/POST/createCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/index.d.ts +11 -0
- package/dist/api/services/campaigns/POST/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/joinCampaign.d.ts +31 -0
- package/dist/api/services/campaigns/POST/joinCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/leaveCampaign.d.ts +31 -0
- package/dist/api/services/campaigns/POST/leaveCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/useCreateCampaign.d.ts +36 -0
- package/dist/api/services/campaigns/POST/useCreateCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/useJoinCampaign.d.ts +23 -0
- package/dist/api/services/campaigns/POST/useJoinCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/POST/useLeaveCampaign.d.ts +23 -0
- package/dist/api/services/campaigns/POST/useLeaveCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/PUT/index.d.ts +7 -0
- package/dist/api/services/campaigns/PUT/index.d.ts.map +1 -0
- package/dist/api/services/campaigns/PUT/updateCampaign.d.ts +37 -0
- package/dist/api/services/campaigns/PUT/updateCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/PUT/useUpdateCampaign.d.ts +38 -0
- package/dist/api/services/campaigns/PUT/useUpdateCampaign.d.ts.map +1 -0
- package/dist/api/services/campaigns/index.d.ts +9 -0
- package/dist/api/services/campaigns/index.d.ts.map +1 -0
- package/dist/api/services/clients.d.ts +58 -0
- package/dist/api/services/clients.d.ts.map +1 -0
- package/dist/api/services/index.d.ts +7 -0
- package/dist/api/services/index.d.ts.map +1 -0
- package/dist/api/strategies/index.d.ts +8 -0
- package/dist/api/strategies/index.d.ts.map +1 -0
- package/dist/api/strategies/tracked.d.ts +15 -0
- package/dist/api/strategies/tracked.d.ts.map +1 -0
- package/dist/api/strategies/unified.d.ts +87 -0
- package/dist/api/strategies/unified.d.ts.map +1 -0
- package/dist/api/utils/async-control.d.ts +96 -0
- package/dist/api/utils/async-control.d.ts.map +1 -0
- package/dist/api/utils/colors.d.ts +88 -0
- package/dist/api/utils/colors.d.ts.map +1 -0
- package/dist/api/utils/environment.d.ts +595 -0
- package/dist/api/utils/environment.d.ts.map +1 -0
- package/dist/api/utils/generation/correlation-id.d.ts +206 -0
- package/dist/api/utils/generation/correlation-id.d.ts.map +1 -0
- package/dist/api/utils/generation/id-generator.d.ts +133 -0
- package/dist/api/utils/generation/id-generator.d.ts.map +1 -0
- package/dist/api/utils/generation/request-id.d.ts +106 -0
- package/dist/api/utils/generation/request-id.d.ts.map +1 -0
- package/dist/api/utils/index.d.ts +19 -0
- package/dist/api/utils/index.d.ts.map +1 -0
- package/dist/api/utils/interval-manager.d.ts +94 -0
- package/dist/api/utils/interval-manager.d.ts.map +1 -0
- package/dist/api/utils/json.d.ts +98 -0
- package/dist/api/utils/json.d.ts.map +1 -0
- package/dist/api/utils/math.d.ts +168 -0
- package/dist/api/utils/math.d.ts.map +1 -0
- package/dist/api/utils/object-merge.d.ts +34 -0
- package/dist/api/utils/object-merge.d.ts.map +1 -0
- package/dist/api/utils/object.d.ts +101 -0
- package/dist/api/utils/object.d.ts.map +1 -0
- package/dist/api/utils/string.d.ts +41 -0
- package/dist/api/utils/string.d.ts.map +1 -0
- package/dist/api/utils/time.d.ts +233 -0
- package/dist/api/utils/time.d.ts.map +1 -0
- package/dist/api/utils/type-guards.d.ts +59 -0
- package/dist/api/utils/type-guards.d.ts.map +1 -0
- package/dist/api/utils/validation.d.ts +21 -0
- package/dist/api/utils/validation.d.ts.map +1 -0
- package/dist/index.cjs +25594 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +25068 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -6
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Operation Tracker
|
|
3
|
+
*
|
|
4
|
+
* Abstract base class for tracking operations across the API.
|
|
5
|
+
* Provides common functionality that can be extended by domain-specific trackers.
|
|
6
|
+
*/
|
|
7
|
+
import { QueueFactory } from './QueueFactory';
|
|
8
|
+
import type { QueueSystem } from './QueueSystem';
|
|
9
|
+
import type { QueueStats, PriorityLevelValue, BaseOperation } from '@plyaz/types/api';
|
|
10
|
+
/**
|
|
11
|
+
* Operation priority detection function type
|
|
12
|
+
*/
|
|
13
|
+
export type PriorityDetector<T extends BaseOperation> = (operation: T) => PriorityLevelValue;
|
|
14
|
+
/**
|
|
15
|
+
* Source detection function type
|
|
16
|
+
*/
|
|
17
|
+
export type SourceDetector = () => string;
|
|
18
|
+
/**
|
|
19
|
+
* Abstract base class for operation trackers
|
|
20
|
+
*/
|
|
21
|
+
export declare abstract class BaseOperationTracker<T extends BaseOperation> {
|
|
22
|
+
protected readonly queueName: string;
|
|
23
|
+
protected readonly priorityDetector: PriorityDetector<T>;
|
|
24
|
+
protected readonly sourceDetector: SourceDetector;
|
|
25
|
+
protected queue: ReturnType<typeof QueueFactory.createTrackingQueue<T>> | null;
|
|
26
|
+
protected processor?: (op: T) => void | Promise<void>;
|
|
27
|
+
protected isReady: boolean;
|
|
28
|
+
constructor(queueName: string, priorityDetector: PriorityDetector<T>, sourceDetector: SourceDetector);
|
|
29
|
+
/**
|
|
30
|
+
* Get or create the queue
|
|
31
|
+
*/
|
|
32
|
+
protected getQueue(): QueueSystem<T>;
|
|
33
|
+
/**
|
|
34
|
+
* Track an operation
|
|
35
|
+
*/
|
|
36
|
+
track(operation: string, event: string, metadata?: Record<string, unknown>, options?: {
|
|
37
|
+
priority?: PriorityLevelValue;
|
|
38
|
+
source?: string;
|
|
39
|
+
}): void;
|
|
40
|
+
/**
|
|
41
|
+
* Create an operation object - can be overridden by subclasses
|
|
42
|
+
*/
|
|
43
|
+
protected createOperation(operation: string, event: string, metadata: Record<string, unknown>, options?: {
|
|
44
|
+
priority?: PriorityLevelValue;
|
|
45
|
+
source?: string;
|
|
46
|
+
}): T;
|
|
47
|
+
/**
|
|
48
|
+
* Set the processor for operations
|
|
49
|
+
*/
|
|
50
|
+
setProcessor(processor: (op: T) => void | Promise<void>): void;
|
|
51
|
+
/**
|
|
52
|
+
* Process a single operation
|
|
53
|
+
*/
|
|
54
|
+
protected processOperation(op: {
|
|
55
|
+
data: T;
|
|
56
|
+
}): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Handle processing errors - can be overridden by subclasses
|
|
59
|
+
*/
|
|
60
|
+
protected handleProcessingError(error: unknown, operation: T): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get queue statistics
|
|
63
|
+
*/
|
|
64
|
+
getStats(): QueueStats;
|
|
65
|
+
/**
|
|
66
|
+
* Reset the tracker
|
|
67
|
+
*/
|
|
68
|
+
reset(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Check if ready to process
|
|
71
|
+
*/
|
|
72
|
+
isProcessorReady(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Get queue name
|
|
75
|
+
*/
|
|
76
|
+
getQueueName(): string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Default priority detection based on operation and event strings
|
|
80
|
+
*/
|
|
81
|
+
export declare function createDefaultPriorityDetector<T extends BaseOperation>(): PriorityDetector<T>;
|
|
82
|
+
/**
|
|
83
|
+
* Default source detection using stack trace analysis
|
|
84
|
+
*/
|
|
85
|
+
export declare function createDefaultSourceDetector(): SourceDetector;
|
|
86
|
+
//# sourceMappingURL=BaseOperationTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseOperationTracker.d.ts","sourceRoot":"","sources":["../../../src/api/queue/BaseOperationTracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,kBAAkB,CAAC;AAE7F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;AAE1C;;GAEG;AACH,8BAAsB,oBAAoB,CAAC,CAAC,SAAS,aAAa;IAM9D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc;IAPnD,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IACtF,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,OAAO,UAAS;gBAGL,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrC,cAAc,EAAE,cAAc;IAKnD;;OAEG;IACH,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;IAQpC;;OAEG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,IAAI;IAUP;;OAEG;IACH,SAAS,CAAC,eAAe,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,CAAC;IAUJ;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9D;;OAEG;cACa,gBAAgB,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI;IAWnE;;OAEG;IACH,QAAQ,IAAI,UAAU;IAiBtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;OAEG;IACH,YAAY,IAAI,MAAM;CAGvB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,aAAa,KAAK,gBAAgB,CAAC,CAAC,CAAC,CA+C5F;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,cAAc,CAa5D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Queue Manager
|
|
3
|
+
*
|
|
4
|
+
* Abstract base class for all queue managers providing common functionality
|
|
5
|
+
* and enforcing singleton pattern.
|
|
6
|
+
*/
|
|
7
|
+
import { QueueSystem } from './QueueSystem';
|
|
8
|
+
import type { QueueConfig, QueueStats, QueueOperation } from '@plyaz/types/api';
|
|
9
|
+
import { EventEmitter } from 'events';
|
|
10
|
+
/**
|
|
11
|
+
* Base class for queue managers
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class BaseQueueManager<T = unknown> extends EventEmitter {
|
|
14
|
+
protected queue: QueueSystem<T>;
|
|
15
|
+
protected config: QueueConfig;
|
|
16
|
+
protected constructor(config: QueueConfig);
|
|
17
|
+
/**
|
|
18
|
+
* Enqueue an operation
|
|
19
|
+
*/
|
|
20
|
+
enqueue(operation: T): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Dequeue the next operation
|
|
23
|
+
*/
|
|
24
|
+
dequeue(): T | null;
|
|
25
|
+
/**
|
|
26
|
+
* Get queue size
|
|
27
|
+
*/
|
|
28
|
+
size(): number;
|
|
29
|
+
/**
|
|
30
|
+
* Get all operations (for stats/debugging)
|
|
31
|
+
*/
|
|
32
|
+
getAllOperations(): T[];
|
|
33
|
+
/**
|
|
34
|
+
* Get queue statistics
|
|
35
|
+
*/
|
|
36
|
+
getStats(): QueueStats;
|
|
37
|
+
/**
|
|
38
|
+
* Reset the queue
|
|
39
|
+
*/
|
|
40
|
+
reset(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Destroy the queue
|
|
43
|
+
*/
|
|
44
|
+
destroy(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Abstract method to create queue operation from input
|
|
47
|
+
*/
|
|
48
|
+
protected abstract createQueueOperation(operation: T): QueueOperation<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Abstract method to process operations
|
|
51
|
+
*/
|
|
52
|
+
protected abstract processOperation(operation: T): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=BaseQueueManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseQueueManager.d.ts","sourceRoot":"","sources":["../../../src/api/queue/BaseQueueManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;GAEG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY;IACtE,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAE9B,SAAS,aAAa,MAAM,EAAE,WAAW;IAMzC;;OAEG;IACU,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnD;;OAEG;IACI,OAAO,IAAI,CAAC,GAAG,IAAI;IAM1B;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,gBAAgB,IAAI,CAAC,EAAE;IAK9B;;OAEG;IACI,QAAQ,IAAI,UAAU;IAI7B;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAExE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CACjE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch Processor for Queue Operations
|
|
3
|
+
*
|
|
4
|
+
* Efficiently processes operations in batches to reduce overhead
|
|
5
|
+
* and improve throughput.
|
|
6
|
+
*/
|
|
7
|
+
import type { BatchProcessorConfig, QueueOperation } from '@plyaz/types/api';
|
|
8
|
+
/**
|
|
9
|
+
* Batch processor implementation
|
|
10
|
+
*/
|
|
11
|
+
export declare class BatchProcessor<T = unknown> {
|
|
12
|
+
private batch;
|
|
13
|
+
private timer?;
|
|
14
|
+
private readonly config;
|
|
15
|
+
private processing;
|
|
16
|
+
constructor(config: BatchProcessorConfig<T>);
|
|
17
|
+
/**
|
|
18
|
+
* Add operation to the current batch
|
|
19
|
+
*/
|
|
20
|
+
add(operation: QueueOperation<T>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Schedule batch flush
|
|
23
|
+
*/
|
|
24
|
+
private scheduleFlush;
|
|
25
|
+
/**
|
|
26
|
+
* Flush the current batch
|
|
27
|
+
*/
|
|
28
|
+
flush(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Get current batch size
|
|
31
|
+
*/
|
|
32
|
+
size(): number;
|
|
33
|
+
/**
|
|
34
|
+
* Clear pending batch
|
|
35
|
+
*/
|
|
36
|
+
clear(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Destroy the processor
|
|
39
|
+
*/
|
|
40
|
+
destroy(): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=BatchProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchProcessor.d.ts","sourceRoot":"","sources":["../../../src/api/queue/BatchProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7E;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO;IACrC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,KAAK,CAAC,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAI3C;;OAEG;IACI,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAU9C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBnC;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAGvB"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Queue Manager
|
|
3
|
+
* Manages priority-based event processing queue that integrates with the configuration priority system
|
|
4
|
+
*/
|
|
5
|
+
import { BaseQueueManager } from './BaseQueueManager';
|
|
6
|
+
import type { QueueOperation, QueueConfig, ConfigUpdateStrategy, DebuggerConfigSource, EventQueueOperation } from '@plyaz/types/api';
|
|
7
|
+
import { PRIORITY_LEVEL } from '@plyaz/types/api';
|
|
8
|
+
import { EventManager } from '../events/EventManager';
|
|
9
|
+
/**
|
|
10
|
+
* Priority mapping from config priority to queue priority
|
|
11
|
+
*/
|
|
12
|
+
export declare class ConfigPriorityMapper {
|
|
13
|
+
/**
|
|
14
|
+
* Map configuration scope to queue priority
|
|
15
|
+
*/
|
|
16
|
+
static scopeToPriority(scope: 'global' | 'client' | 'request' | 'temporary'): (typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL];
|
|
17
|
+
/**
|
|
18
|
+
* Map configuration update strategy to queue priority
|
|
19
|
+
*/
|
|
20
|
+
static strategyToPriority(strategy: ConfigUpdateStrategy): (typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL];
|
|
21
|
+
/**
|
|
22
|
+
* Map configuration source to queue priority
|
|
23
|
+
*/
|
|
24
|
+
static sourceToPriority(source: DebuggerConfigSource): (typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL];
|
|
25
|
+
/**
|
|
26
|
+
* Calculate combined priority from multiple factors
|
|
27
|
+
* Takes the highest priority from all factors
|
|
28
|
+
*/
|
|
29
|
+
static calculateCombinedPriority(scope?: 'global' | 'client' | 'request' | 'temporary', strategy?: ConfigUpdateStrategy, source?: DebuggerConfigSource, explicitPriority?: number): (typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Event Queue Manager
|
|
33
|
+
* Provides priority-based event processing with integration to configuration priority system
|
|
34
|
+
*/
|
|
35
|
+
export declare class EventQueueManager extends BaseQueueManager<EventQueueOperation> {
|
|
36
|
+
private readonly eventManager;
|
|
37
|
+
private readonly processingCallbacks;
|
|
38
|
+
constructor(config?: QueueConfig & {
|
|
39
|
+
eventManager?: EventManager;
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Create queue operation from EventQueueOperation
|
|
43
|
+
*/
|
|
44
|
+
protected createQueueOperation(operation: EventQueueOperation): QueueOperation<EventQueueOperation>;
|
|
45
|
+
/**
|
|
46
|
+
* Queue an event with automatic priority calculation
|
|
47
|
+
*/
|
|
48
|
+
queueEvent<TEventData = unknown>(eventType: string, eventData: TEventData, options?: {
|
|
49
|
+
scope?: 'global' | 'client' | 'request' | 'temporary';
|
|
50
|
+
configSource?: DebuggerConfigSource;
|
|
51
|
+
updateStrategy?: ConfigUpdateStrategy;
|
|
52
|
+
explicitPriority?: number;
|
|
53
|
+
correlationId?: string;
|
|
54
|
+
metadata?: Record<string, unknown>;
|
|
55
|
+
}): Promise<string>;
|
|
56
|
+
/**
|
|
57
|
+
* Register a processing callback for a specific event type
|
|
58
|
+
*/
|
|
59
|
+
registerProcessor(eventType: string, processor: (operation: EventQueueOperation) => Promise<void>): void;
|
|
60
|
+
/**
|
|
61
|
+
* Remove a processing callback
|
|
62
|
+
*/
|
|
63
|
+
unregisterProcessor(eventType: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Process a single operation (implementing abstract method)
|
|
66
|
+
*/
|
|
67
|
+
protected processOperation(operation: EventQueueOperation): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Process a queue operation (for QueueProcessor interface)
|
|
70
|
+
*/
|
|
71
|
+
private processQueueOperation;
|
|
72
|
+
/**
|
|
73
|
+
* Process a single event operation
|
|
74
|
+
*/
|
|
75
|
+
private processEventOperation;
|
|
76
|
+
/**
|
|
77
|
+
* Default event processing when no specific processor is registered
|
|
78
|
+
*/
|
|
79
|
+
private defaultEventProcessing;
|
|
80
|
+
/**
|
|
81
|
+
* Handle processing errors with retry logic
|
|
82
|
+
*/
|
|
83
|
+
private handleProcessingError;
|
|
84
|
+
/**
|
|
85
|
+
* Setup automatic processing based on queue configuration
|
|
86
|
+
*/
|
|
87
|
+
private setupAutomaticProcessing;
|
|
88
|
+
/**
|
|
89
|
+
* Process a batch of operations
|
|
90
|
+
*/
|
|
91
|
+
private processBatch;
|
|
92
|
+
/**
|
|
93
|
+
* Process the next operation in the queue
|
|
94
|
+
*/
|
|
95
|
+
private processNext;
|
|
96
|
+
/**
|
|
97
|
+
* Generate a unique operation ID
|
|
98
|
+
*/
|
|
99
|
+
private generateOperationId;
|
|
100
|
+
/**
|
|
101
|
+
* Get queue statistics specific to events
|
|
102
|
+
*/
|
|
103
|
+
getEventStats(): {
|
|
104
|
+
totalEvents: number;
|
|
105
|
+
eventsByType: Record<string, number>;
|
|
106
|
+
eventsByPriority: Record<(typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL], number>;
|
|
107
|
+
eventsByScope: Record<string, number>;
|
|
108
|
+
averageProcessingTime: number;
|
|
109
|
+
processedCount: number;
|
|
110
|
+
errorCount: number;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get or create the default event queue manager instance
|
|
115
|
+
* @returns The default event queue manager
|
|
116
|
+
*/
|
|
117
|
+
export declare function getDefaultEventQueue(): EventQueueManager;
|
|
118
|
+
/**
|
|
119
|
+
* Get or create the config event queue manager instance
|
|
120
|
+
* @returns The config event queue manager
|
|
121
|
+
*/
|
|
122
|
+
export declare function getConfigEventQueue(): EventQueueManager;
|
|
123
|
+
/**
|
|
124
|
+
* Get or create the network event queue manager instance
|
|
125
|
+
* @returns The network event queue manager
|
|
126
|
+
*/
|
|
127
|
+
export declare function getNetworkEventQueue(): EventQueueManager;
|
|
128
|
+
//# sourceMappingURL=EventQueueManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventQueueManager.d.ts","sourceRoot":"","sources":["../../../src/api/queue/EventQueueManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Priority Queue Implementation
|
|
3
|
+
*
|
|
4
|
+
* A min-heap based priority queue for efficient priority-based processing
|
|
5
|
+
*/
|
|
6
|
+
import type { QueueOperation } from '@plyaz/types/api';
|
|
7
|
+
/**
|
|
8
|
+
* Priority queue using min-heap for O(log n) operations
|
|
9
|
+
*/
|
|
10
|
+
export declare class PriorityQueue<T = unknown> {
|
|
11
|
+
private heap;
|
|
12
|
+
/**
|
|
13
|
+
* Add operation to the priority queue
|
|
14
|
+
*/
|
|
15
|
+
enqueue(operation: QueueOperation<T>): void;
|
|
16
|
+
/**
|
|
17
|
+
* Remove and return the highest priority operation
|
|
18
|
+
*/
|
|
19
|
+
dequeue(): QueueOperation<T> | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Peek at the highest priority operation without removing
|
|
22
|
+
*/
|
|
23
|
+
peek(): QueueOperation<T> | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Get queue size
|
|
26
|
+
*/
|
|
27
|
+
size(): number;
|
|
28
|
+
/**
|
|
29
|
+
* Check if queue is empty
|
|
30
|
+
*/
|
|
31
|
+
isEmpty(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Clear the queue
|
|
34
|
+
*/
|
|
35
|
+
clear(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Bubble up element to maintain heap property
|
|
38
|
+
*/
|
|
39
|
+
private bubbleUp;
|
|
40
|
+
/**
|
|
41
|
+
* Bubble down element to maintain heap property
|
|
42
|
+
*/
|
|
43
|
+
private bubbleDown;
|
|
44
|
+
/**
|
|
45
|
+
* Compare two operations for priority
|
|
46
|
+
* Returns negative if a has higher priority, positive if b has higher priority
|
|
47
|
+
*/
|
|
48
|
+
private compare;
|
|
49
|
+
/**
|
|
50
|
+
* Swap two elements in the heap
|
|
51
|
+
*/
|
|
52
|
+
private swap;
|
|
53
|
+
/**
|
|
54
|
+
* Get all operations in priority order (non-destructive)
|
|
55
|
+
*/
|
|
56
|
+
toArray(): QueueOperation<T>[];
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=PriorityQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriorityQueue.d.ts","sourceRoot":"","sources":["../../../src/api/queue/PriorityQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAavD;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,OAAO;IACpC,OAAO,CAAC,IAAI,CAA2B;IAEvC;;OAEG;IACI,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAKlD;;OAEG;IACI,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;IAc/C;;OAEG;IACI,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;IAI5C;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAehB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyBlB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAaf;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACI,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;CAItC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Factory for Easy Queue Creation
|
|
3
|
+
*
|
|
4
|
+
* Provides factory methods for creating different types of queues
|
|
5
|
+
* with optimized configurations.
|
|
6
|
+
*/
|
|
7
|
+
import { QueueSystem } from './QueueSystem';
|
|
8
|
+
import type { QueueConfig } from '@plyaz/types/api';
|
|
9
|
+
/**
|
|
10
|
+
* Factory for creating queue instances
|
|
11
|
+
*/
|
|
12
|
+
export declare class QueueFactory {
|
|
13
|
+
private static queues;
|
|
14
|
+
private static defaultStrategy;
|
|
15
|
+
/**
|
|
16
|
+
* Set default strategy for all new queues
|
|
17
|
+
* Used primarily for testing to avoid async processing
|
|
18
|
+
*/
|
|
19
|
+
static setDefaultStrategy(strategy: 'immediate' | 'batch' | 'throttle' | 'debounce'): void;
|
|
20
|
+
/**
|
|
21
|
+
* Create or get a singleton queue
|
|
22
|
+
*/
|
|
23
|
+
static getQueue<T = unknown>(name: string, config?: Partial<QueueConfig>): QueueSystem<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a high-performance event queue
|
|
26
|
+
*/
|
|
27
|
+
static createEventQueue<T = unknown>(name: string): QueueSystem<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Create a tracking queue for analytics
|
|
30
|
+
*/
|
|
31
|
+
static createTrackingQueue<T = unknown>(name: string): QueueSystem<T>;
|
|
32
|
+
/**
|
|
33
|
+
* Create a real-time queue for immediate processing
|
|
34
|
+
*/
|
|
35
|
+
static createRealtimeQueue<T = unknown>(name: string): QueueSystem<T>;
|
|
36
|
+
/**
|
|
37
|
+
* Create a throttled queue for rate limiting
|
|
38
|
+
*/
|
|
39
|
+
static createThrottledQueue<T = unknown>(name: string, ratePerSecond: number): QueueSystem<T>;
|
|
40
|
+
/**
|
|
41
|
+
* Create a debounced queue for reducing noise
|
|
42
|
+
*/
|
|
43
|
+
static createDebouncedQueue<T = unknown>(name: string, delay: number): QueueSystem<T>;
|
|
44
|
+
/**
|
|
45
|
+
* Destroy a singleton queue
|
|
46
|
+
*/
|
|
47
|
+
static destroyQueue(name: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Destroy all singleton queues
|
|
50
|
+
*/
|
|
51
|
+
static destroyAll(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Get statistics for all queues
|
|
54
|
+
*/
|
|
55
|
+
static getAllStats(): Record<string, ReturnType<QueueSystem['getStats']>>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=QueueFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueueFactory.d.ts","sourceRoot":"","sources":["../../../src/api/queue/QueueFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAuC;IAC5D,OAAO,CAAC,MAAM,CAAC,eAAe,CAA4D;IAE1F;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI;IAI1F;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAazF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAqBlE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAqBrE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAmBrE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAoB7F;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAoBrF;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQvC;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAOzB;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;CAO1E"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Centralized management of all queue systems in the API package.
|
|
5
|
+
* Provides unified control, monitoring, and coordination between different queues.
|
|
6
|
+
*/
|
|
7
|
+
import { DebuggerQueueManager, OperationTracker } from '../debugger/queue';
|
|
8
|
+
import { EventQueueManager, ConfigUpdateQueueManager } from '../events/queue';
|
|
9
|
+
import type { OrchestratorConfig, QueueHealth, QueueStats } from '@plyaz/types/api';
|
|
10
|
+
/**
|
|
11
|
+
* Unified queue orchestrator
|
|
12
|
+
*/
|
|
13
|
+
export declare class QueueOrchestrator {
|
|
14
|
+
private static instance;
|
|
15
|
+
private readonly config;
|
|
16
|
+
private healthCheckTimer?;
|
|
17
|
+
private readonly registeredQueues;
|
|
18
|
+
private constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Initialize configuration with defaults
|
|
21
|
+
*/
|
|
22
|
+
private initializeConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Register all core queues
|
|
25
|
+
*/
|
|
26
|
+
private registerCoreQueues;
|
|
27
|
+
/**
|
|
28
|
+
* Get singleton instance
|
|
29
|
+
*/
|
|
30
|
+
static getInstance(config?: OrchestratorConfig): QueueOrchestrator;
|
|
31
|
+
/**
|
|
32
|
+
* Initialize all queues
|
|
33
|
+
*/
|
|
34
|
+
initialize(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Register a queue for orchestration
|
|
37
|
+
*/
|
|
38
|
+
registerQueue(name: string, queueManager: DebuggerQueueManager | EventQueueManager | ConfigUpdateQueueManager | OperationTracker): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get all queue statistics
|
|
41
|
+
*/
|
|
42
|
+
getAllStats(): Record<string, QueueStats>;
|
|
43
|
+
/**
|
|
44
|
+
* Check queue size health
|
|
45
|
+
*/
|
|
46
|
+
private checkQueueSizeHealth;
|
|
47
|
+
/**
|
|
48
|
+
* Check failure rate health
|
|
49
|
+
*/
|
|
50
|
+
private checkFailureRateHealth;
|
|
51
|
+
/**
|
|
52
|
+
* Check throughput health
|
|
53
|
+
*/
|
|
54
|
+
private checkThroughputHealth;
|
|
55
|
+
/**
|
|
56
|
+
* Get queue health status
|
|
57
|
+
*/
|
|
58
|
+
getQueueHealth(): QueueHealth[];
|
|
59
|
+
/**
|
|
60
|
+
* Start health monitoring
|
|
61
|
+
*/
|
|
62
|
+
private startHealthMonitoring;
|
|
63
|
+
/**
|
|
64
|
+
* Auto-scale a queue based on load
|
|
65
|
+
*/
|
|
66
|
+
private autoScaleQueue;
|
|
67
|
+
/**
|
|
68
|
+
* Stop health monitoring
|
|
69
|
+
*/
|
|
70
|
+
stopHealthMonitoring(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Reset all queues
|
|
73
|
+
*/
|
|
74
|
+
resetAll(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Destroy the orchestrator
|
|
77
|
+
*/
|
|
78
|
+
destroy(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Get performance metrics
|
|
81
|
+
*/
|
|
82
|
+
getPerformanceMetrics(): {
|
|
83
|
+
totalQueued: number;
|
|
84
|
+
totalProcessed: number;
|
|
85
|
+
totalFailed: number;
|
|
86
|
+
avgProcessingTime: number;
|
|
87
|
+
avgThroughput: number;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=QueueOrchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueueOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/api/queue/QueueOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAcpF;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IAEJ,OAAO;IASP;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,iBAAiB;IAKlE;;OAEG;IACI,UAAU,IAAI,IAAI;IAiBzB;;OAEG;IACI,aAAa,CAClB,IAAI,EAAE,MAAM,EACZ,YAAY,EACR,oBAAoB,GACpB,iBAAiB,GACjB,wBAAwB,GACxB,gBAAgB,GACnB,IAAI;IAIP;;OAEG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAkBhD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACI,cAAc,IAAI,WAAW,EAAE;IAsBtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAOnC;;OAEG;IACI,QAAQ,IAAI,IAAI;IAYvB;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;OAEG;IACI,qBAAqB,IAAI;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;KACvB;CA2BF"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-Performance Queue System
|
|
3
|
+
*
|
|
4
|
+
* Main queue implementation with support for multiple processing strategies
|
|
5
|
+
* and performance optimization.
|
|
6
|
+
*/
|
|
7
|
+
import type { QueueConfig, QueueOperation, QueueProcessor, BatchQueueProcessor, QueueStats } from '@plyaz/types/api';
|
|
8
|
+
/**
|
|
9
|
+
* Main queue system implementation
|
|
10
|
+
*/
|
|
11
|
+
export declare class QueueSystem<T = unknown> {
|
|
12
|
+
private readonly config;
|
|
13
|
+
private queue;
|
|
14
|
+
private processor?;
|
|
15
|
+
private isReady;
|
|
16
|
+
private batchProcessor?;
|
|
17
|
+
private throttleTimer?;
|
|
18
|
+
private debounceTimer?;
|
|
19
|
+
private processedCount;
|
|
20
|
+
private failedCount;
|
|
21
|
+
private totalProcessingTime;
|
|
22
|
+
private lastProcessTime;
|
|
23
|
+
private enqueuedCount;
|
|
24
|
+
constructor(config: QueueConfig);
|
|
25
|
+
/**
|
|
26
|
+
* Initialize configuration with defaults
|
|
27
|
+
*/
|
|
28
|
+
private initializeConfig;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize queue based on priority setting
|
|
31
|
+
*/
|
|
32
|
+
private initializeQueue;
|
|
33
|
+
/**
|
|
34
|
+
* Initialize batch processor if needed
|
|
35
|
+
*/
|
|
36
|
+
private initializeBatchProcessor;
|
|
37
|
+
/**
|
|
38
|
+
* Add operation to the queue
|
|
39
|
+
*/
|
|
40
|
+
add(operation: Omit<QueueOperation<T>, 'id' | 'timestamp'>): void;
|
|
41
|
+
/**
|
|
42
|
+
* Set the processor and mark queue as ready
|
|
43
|
+
*/
|
|
44
|
+
setProcessor(processor: QueueProcessor<T> | BatchQueueProcessor<T>): void;
|
|
45
|
+
/**
|
|
46
|
+
* Enqueue operation with size management
|
|
47
|
+
*/
|
|
48
|
+
private enqueue;
|
|
49
|
+
/**
|
|
50
|
+
* Process operation based on strategy
|
|
51
|
+
*/
|
|
52
|
+
private processOperation;
|
|
53
|
+
/**
|
|
54
|
+
* Process immediately
|
|
55
|
+
*/
|
|
56
|
+
private processImmediate;
|
|
57
|
+
/**
|
|
58
|
+
* Process with throttling
|
|
59
|
+
*/
|
|
60
|
+
private processThrottled;
|
|
61
|
+
/**
|
|
62
|
+
* Process with debouncing
|
|
63
|
+
*/
|
|
64
|
+
private processDebounced;
|
|
65
|
+
/**
|
|
66
|
+
* Process batch of operations
|
|
67
|
+
*/
|
|
68
|
+
private processBatch;
|
|
69
|
+
/**
|
|
70
|
+
* Process all queued operations
|
|
71
|
+
*/
|
|
72
|
+
private processQueued;
|
|
73
|
+
/**
|
|
74
|
+
* Drain all operations from queue
|
|
75
|
+
*/
|
|
76
|
+
private drainQueue;
|
|
77
|
+
/**
|
|
78
|
+
* Record successful processing
|
|
79
|
+
*/
|
|
80
|
+
private recordSuccess;
|
|
81
|
+
/**
|
|
82
|
+
* Record failed processing
|
|
83
|
+
*/
|
|
84
|
+
private recordFailure;
|
|
85
|
+
/**
|
|
86
|
+
* Generate unique ID
|
|
87
|
+
*/
|
|
88
|
+
private generateId;
|
|
89
|
+
/**
|
|
90
|
+
* Get queue statistics
|
|
91
|
+
*/
|
|
92
|
+
getStats(): QueueStats;
|
|
93
|
+
/**
|
|
94
|
+
* Reset the queue
|
|
95
|
+
*/
|
|
96
|
+
reset(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Destroy the queue
|
|
99
|
+
*/
|
|
100
|
+
destroy(): void;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=QueueSystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueueSystem.d.ts","sourceRoot":"","sources":["../../../src/api/queue/QueueSystem.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAiB1B;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,SAAS,CAAC,CAA6C;IAC/D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAiB;IAGvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,WAAW;IAM/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;IACI,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,IAAI;IAcxE;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;IAMhF;;OAEG;IACH,OAAO,CAAC,OAAO;IAkBf;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACI,QAAQ,IAAI,UAAU;IAqB7B;;OAEG;IACI,KAAK,IAAI,IAAI;IAyBpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB"}
|