nestlens 0.1.0
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/LICENSE +21 -0
- package/README.md +145 -0
- package/dist/__tests__/api/api.controller.spec.d.ts +2 -0
- package/dist/__tests__/api/api.controller.spec.d.ts.map +1 -0
- package/dist/__tests__/api/api.controller.spec.js +982 -0
- package/dist/__tests__/api/api.controller.spec.js.map +1 -0
- package/dist/__tests__/api/api.guard.spec.d.ts +2 -0
- package/dist/__tests__/api/api.guard.spec.d.ts.map +1 -0
- package/dist/__tests__/api/api.guard.spec.js +572 -0
- package/dist/__tests__/api/api.guard.spec.js.map +1 -0
- package/dist/__tests__/api/dashboard.controller.spec.d.ts +2 -0
- package/dist/__tests__/api/dashboard.controller.spec.d.ts.map +1 -0
- package/dist/__tests__/api/dashboard.controller.spec.js +474 -0
- package/dist/__tests__/api/dashboard.controller.spec.js.map +1 -0
- package/dist/__tests__/api/tag.controller.spec.d.ts +2 -0
- package/dist/__tests__/api/tag.controller.spec.d.ts.map +1 -0
- package/dist/__tests__/api/tag.controller.spec.js +280 -0
- package/dist/__tests__/api/tag.controller.spec.js.map +1 -0
- package/dist/__tests__/collector.service.spec.d.ts +2 -0
- package/dist/__tests__/collector.service.spec.d.ts.map +1 -0
- package/dist/__tests__/collector.service.spec.js +240 -0
- package/dist/__tests__/collector.service.spec.js.map +1 -0
- package/dist/__tests__/core/collector.service.spec.d.ts +2 -0
- package/dist/__tests__/core/collector.service.spec.d.ts.map +1 -0
- package/dist/__tests__/core/collector.service.spec.js +526 -0
- package/dist/__tests__/core/collector.service.spec.js.map +1 -0
- package/dist/__tests__/core/family-hash.service.spec.d.ts +2 -0
- package/dist/__tests__/core/family-hash.service.spec.d.ts.map +1 -0
- package/dist/__tests__/core/family-hash.service.spec.js +1117 -0
- package/dist/__tests__/core/family-hash.service.spec.js.map +1 -0
- package/dist/__tests__/core/pruning.service.spec.d.ts +2 -0
- package/dist/__tests__/core/pruning.service.spec.d.ts.map +1 -0
- package/dist/__tests__/core/pruning.service.spec.js +224 -0
- package/dist/__tests__/core/pruning.service.spec.js.map +1 -0
- package/dist/__tests__/core/storage/sqlite.storage.spec.d.ts +2 -0
- package/dist/__tests__/core/storage/sqlite.storage.spec.d.ts.map +1 -0
- package/dist/__tests__/core/storage/sqlite.storage.spec.js +853 -0
- package/dist/__tests__/core/storage/sqlite.storage.spec.js.map +1 -0
- package/dist/__tests__/core/tag.service.spec.d.ts +2 -0
- package/dist/__tests__/core/tag.service.spec.d.ts.map +1 -0
- package/dist/__tests__/core/tag.service.spec.js +994 -0
- package/dist/__tests__/core/tag.service.spec.js.map +1 -0
- package/dist/__tests__/family-hash.service.spec.d.ts +2 -0
- package/dist/__tests__/family-hash.service.spec.d.ts.map +1 -0
- package/dist/__tests__/family-hash.service.spec.js +325 -0
- package/dist/__tests__/family-hash.service.spec.js.map +1 -0
- package/dist/__tests__/filters/api-filters.spec.d.ts +2 -0
- package/dist/__tests__/filters/api-filters.spec.d.ts.map +1 -0
- package/dist/__tests__/filters/api-filters.spec.js +172 -0
- package/dist/__tests__/filters/api-filters.spec.js.map +1 -0
- package/dist/__tests__/filters/entry-factories.d.ts +20 -0
- package/dist/__tests__/filters/entry-factories.d.ts.map +1 -0
- package/dist/__tests__/filters/entry-factories.js +288 -0
- package/dist/__tests__/filters/entry-factories.js.map +1 -0
- package/dist/__tests__/filters/filter-contract.spec.d.ts +2 -0
- package/dist/__tests__/filters/filter-contract.spec.d.ts.map +1 -0
- package/dist/__tests__/filters/filter-contract.spec.js +230 -0
- package/dist/__tests__/filters/filter-contract.spec.js.map +1 -0
- package/dist/__tests__/filters/filter-test-data.d.ts +26 -0
- package/dist/__tests__/filters/filter-test-data.d.ts.map +1 -0
- package/dist/__tests__/filters/filter-test-data.js +374 -0
- package/dist/__tests__/filters/filter-test-data.js.map +1 -0
- package/dist/__tests__/filters/storage-filters.spec.d.ts +2 -0
- package/dist/__tests__/filters/storage-filters.spec.d.ts.map +1 -0
- package/dist/__tests__/filters/storage-filters.spec.js +699 -0
- package/dist/__tests__/filters/storage-filters.spec.js.map +1 -0
- package/dist/__tests__/filters/test-utils.d.ts +23 -0
- package/dist/__tests__/filters/test-utils.d.ts.map +1 -0
- package/dist/__tests__/filters/test-utils.js +54 -0
- package/dist/__tests__/filters/test-utils.js.map +1 -0
- package/dist/__tests__/nestlens.module.spec.d.ts +2 -0
- package/dist/__tests__/nestlens.module.spec.d.ts.map +1 -0
- package/dist/__tests__/nestlens.module.spec.js +620 -0
- package/dist/__tests__/nestlens.module.spec.js.map +1 -0
- package/dist/__tests__/pruning.service.spec.d.ts +2 -0
- package/dist/__tests__/pruning.service.spec.d.ts.map +1 -0
- package/dist/__tests__/pruning.service.spec.js +142 -0
- package/dist/__tests__/pruning.service.spec.js.map +1 -0
- package/dist/__tests__/setup.d.ts +7 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +24 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/__tests__/tag.service.spec.d.ts +2 -0
- package/dist/__tests__/tag.service.spec.d.ts.map +1 -0
- package/dist/__tests__/tag.service.spec.js +482 -0
- package/dist/__tests__/tag.service.spec.js.map +1 -0
- package/dist/__tests__/watchers/batch.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/batch.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/batch.watcher.spec.js +515 -0
- package/dist/__tests__/watchers/batch.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/cache.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/cache.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/cache.watcher.spec.js +395 -0
- package/dist/__tests__/watchers/cache.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/command.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/command.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/command.watcher.spec.js +598 -0
- package/dist/__tests__/watchers/command.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/dump.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/dump.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/dump.watcher.spec.js +724 -0
- package/dist/__tests__/watchers/dump.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/event.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/event.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/event.watcher.spec.js +316 -0
- package/dist/__tests__/watchers/event.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/exception.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/exception.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/exception.watcher.spec.js +495 -0
- package/dist/__tests__/watchers/exception.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/gate.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/gate.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/gate.watcher.spec.js +683 -0
- package/dist/__tests__/watchers/gate.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/http-client.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/http-client.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/http-client.watcher.spec.js +888 -0
- package/dist/__tests__/watchers/http-client.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/job.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/job.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/job.watcher.spec.js +513 -0
- package/dist/__tests__/watchers/job.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/log.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/log.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/log.watcher.spec.js +428 -0
- package/dist/__tests__/watchers/log.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/mail.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/mail.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/mail.watcher.spec.js +425 -0
- package/dist/__tests__/watchers/mail.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/model.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/model.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/model.watcher.spec.js +675 -0
- package/dist/__tests__/watchers/model.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/notification.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/notification.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/notification.watcher.spec.js +595 -0
- package/dist/__tests__/watchers/notification.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/query/types.spec.d.ts +2 -0
- package/dist/__tests__/watchers/query/types.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/query/types.spec.js +292 -0
- package/dist/__tests__/watchers/query/types.spec.js.map +1 -0
- package/dist/__tests__/watchers/query.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/query.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/query.watcher.spec.js +597 -0
- package/dist/__tests__/watchers/query.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/redis.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/redis.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/redis.watcher.spec.js +634 -0
- package/dist/__tests__/watchers/redis.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/request.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/request.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/request.watcher.spec.js +1017 -0
- package/dist/__tests__/watchers/request.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/schedule.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/schedule.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/schedule.watcher.spec.js +338 -0
- package/dist/__tests__/watchers/schedule.watcher.spec.js.map +1 -0
- package/dist/__tests__/watchers/view.watcher.spec.d.ts +2 -0
- package/dist/__tests__/watchers/view.watcher.spec.d.ts.map +1 -0
- package/dist/__tests__/watchers/view.watcher.spec.js +564 -0
- package/dist/__tests__/watchers/view.watcher.spec.js.map +1 -0
- package/dist/api/api.controller.d.ts +193 -0
- package/dist/api/api.controller.d.ts.map +1 -0
- package/dist/api/api.controller.js +562 -0
- package/dist/api/api.controller.js.map +1 -0
- package/dist/api/api.guard.d.ts +77 -0
- package/dist/api/api.guard.d.ts.map +1 -0
- package/dist/api/api.guard.js +294 -0
- package/dist/api/api.guard.js.map +1 -0
- package/dist/api/dashboard.controller.d.ts +49 -0
- package/dist/api/dashboard.controller.d.ts.map +1 -0
- package/dist/api/dashboard.controller.js +472 -0
- package/dist/api/dashboard.controller.js.map +1 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +21 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/tag.controller.d.ts +65 -0
- package/dist/api/tag.controller.d.ts.map +1 -0
- package/dist/api/tag.controller.js +149 -0
- package/dist/api/tag.controller.js.map +1 -0
- package/dist/core/collector.service.d.ts +80 -0
- package/dist/core/collector.service.d.ts.map +1 -0
- package/dist/core/collector.service.js +255 -0
- package/dist/core/collector.service.js.map +1 -0
- package/dist/core/family-hash.service.d.ts +64 -0
- package/dist/core/family-hash.service.d.ts.map +1 -0
- package/dist/core/family-hash.service.js +281 -0
- package/dist/core/family-hash.service.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +20 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/pruning.service.d.ts +16 -0
- package/dist/core/pruning.service.d.ts.map +1 -0
- package/dist/core/pruning.service.js +71 -0
- package/dist/core/pruning.service.js.map +1 -0
- package/dist/core/storage/index.d.ts +3 -0
- package/dist/core/storage/index.d.ts.map +1 -0
- package/dist/core/storage/index.js +19 -0
- package/dist/core/storage/index.js.map +1 -0
- package/dist/core/storage/sqlite.storage.d.ts +60 -0
- package/dist/core/storage/sqlite.storage.d.ts.map +1 -0
- package/dist/core/storage/sqlite.storage.js +929 -0
- package/dist/core/storage/sqlite.storage.js.map +1 -0
- package/dist/core/storage/storage.interface.d.ts +122 -0
- package/dist/core/storage/storage.interface.d.ts.map +1 -0
- package/dist/core/storage/storage.interface.js +5 -0
- package/dist/core/storage/storage.interface.js.map +1 -0
- package/dist/core/tag.service.d.ts +71 -0
- package/dist/core/tag.service.d.ts.map +1 -0
- package/dist/core/tag.service.js +568 -0
- package/dist/core/tag.service.js.map +1 -0
- package/dist/dashboard/public/assets/BatchesPage-DFT4fKlJ.js +1 -0
- package/dist/dashboard/public/assets/CachePage-CRy1Tjb8.js +1 -0
- package/dist/dashboard/public/assets/ClickableBadge-CV5J3THx.js +1 -0
- package/dist/dashboard/public/assets/CommandsPage-DdRnTm-W.js +1 -0
- package/dist/dashboard/public/assets/DashboardPage-CjaRZXYy.js +26 -0
- package/dist/dashboard/public/assets/DataTable-B6o9H8lh.js +88 -0
- package/dist/dashboard/public/assets/DumpsPage-DO8y1RTg.js +1 -0
- package/dist/dashboard/public/assets/EntryDetailPage-By-YcAGL.js +125 -0
- package/dist/dashboard/public/assets/EventsPage-u-r4AiT4.js +1 -0
- package/dist/dashboard/public/assets/ExceptionsPage-DXUcARr1.js +6 -0
- package/dist/dashboard/public/assets/GatesPage-DpeP7CDZ.js +1 -0
- package/dist/dashboard/public/assets/HttpClientPage-BJ4-5E6t.js +1 -0
- package/dist/dashboard/public/assets/JobsPage-Dv3KaX2x.js +1 -0
- package/dist/dashboard/public/assets/LogsPage-D0Q3yDb1.js +1 -0
- package/dist/dashboard/public/assets/MailPage-Bf8C6WF6.js +1 -0
- package/dist/dashboard/public/assets/ModelsPage-BMHncI5y.js +1 -0
- package/dist/dashboard/public/assets/NotificationsPage-D5-I-Oxb.js +1 -0
- package/dist/dashboard/public/assets/QueriesPage-oNp0i6Gt.js +1 -0
- package/dist/dashboard/public/assets/RedisPage-_GeS2OD8.js +1 -0
- package/dist/dashboard/public/assets/RequestsPage-BCwqu9US.js +1 -0
- package/dist/dashboard/public/assets/SchedulePage-CR0P-oX6.js +1 -0
- package/dist/dashboard/public/assets/ViewsPage-Dsy5ECRA.js +1 -0
- package/dist/dashboard/public/assets/calendar-DfK3x-6B.js +6 -0
- package/dist/dashboard/public/assets/circle-check-big-DcsYW8y8.js +6 -0
- package/dist/dashboard/public/assets/format-BFldcnCk.js +1 -0
- package/dist/dashboard/public/assets/index-DmeA1maE.css +1 -0
- package/dist/dashboard/public/assets/index-rkbGYdU7.js +351 -0
- package/dist/dashboard/public/assets/types-Cldoe2db.js +1 -0
- package/dist/dashboard/public/assets/vendor-B2nVRih0.js +43 -0
- package/dist/dashboard/public/assets/zap-DqtRi0JM.js +6 -0
- package/dist/dashboard/public/index.html +15 -0
- package/dist/dashboard/public/nestlens-icon.svg +9 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/dist/nestlens.config.d.ts +216 -0
- package/dist/nestlens.config.d.ts.map +1 -0
- package/dist/nestlens.config.js +57 -0
- package/dist/nestlens.config.js.map +1 -0
- package/dist/nestlens.module.d.ts +10 -0
- package/dist/nestlens.module.d.ts.map +1 -0
- package/dist/nestlens.module.js +211 -0
- package/dist/nestlens.module.js.map +1 -0
- package/dist/types/entry.types.d.ts +368 -0
- package/dist/types/entry.types.d.ts.map +1 -0
- package/dist/types/entry.types.js +3 -0
- package/dist/types/entry.types.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +20 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/request.types.d.ts +9 -0
- package/dist/types/request.types.d.ts.map +1 -0
- package/dist/types/request.types.js +3 -0
- package/dist/types/request.types.js.map +1 -0
- package/dist/types/tag.types.d.ts +32 -0
- package/dist/types/tag.types.d.ts.map +1 -0
- package/dist/types/tag.types.js +3 -0
- package/dist/types/tag.types.js.map +1 -0
- package/dist/watchers/batch.watcher.d.ts +48 -0
- package/dist/watchers/batch.watcher.d.ts.map +1 -0
- package/dist/watchers/batch.watcher.js +185 -0
- package/dist/watchers/batch.watcher.js.map +1 -0
- package/dist/watchers/cache.watcher.d.ts +19 -0
- package/dist/watchers/cache.watcher.d.ts.map +1 -0
- package/dist/watchers/cache.watcher.js +158 -0
- package/dist/watchers/cache.watcher.js.map +1 -0
- package/dist/watchers/command.watcher.d.ts +32 -0
- package/dist/watchers/command.watcher.d.ts.map +1 -0
- package/dist/watchers/command.watcher.js +174 -0
- package/dist/watchers/command.watcher.js.map +1 -0
- package/dist/watchers/dump.watcher.d.ts +52 -0
- package/dist/watchers/dump.watcher.d.ts.map +1 -0
- package/dist/watchers/dump.watcher.js +234 -0
- package/dist/watchers/dump.watcher.js.map +1 -0
- package/dist/watchers/event.watcher.d.ts +20 -0
- package/dist/watchers/event.watcher.d.ts.map +1 -0
- package/dist/watchers/event.watcher.js +123 -0
- package/dist/watchers/event.watcher.js.map +1 -0
- package/dist/watchers/exception.watcher.d.ts +15 -0
- package/dist/watchers/exception.watcher.d.ts.map +1 -0
- package/dist/watchers/exception.watcher.js +117 -0
- package/dist/watchers/exception.watcher.js.map +1 -0
- package/dist/watchers/gate.watcher.d.ts +40 -0
- package/dist/watchers/gate.watcher.d.ts.map +1 -0
- package/dist/watchers/gate.watcher.js +200 -0
- package/dist/watchers/gate.watcher.js.map +1 -0
- package/dist/watchers/http-client.watcher.d.ts +34 -0
- package/dist/watchers/http-client.watcher.d.ts.map +1 -0
- package/dist/watchers/http-client.watcher.js +259 -0
- package/dist/watchers/http-client.watcher.js.map +1 -0
- package/dist/watchers/index.d.ts +19 -0
- package/dist/watchers/index.d.ts.map +1 -0
- package/dist/watchers/index.js +35 -0
- package/dist/watchers/index.js.map +1 -0
- package/dist/watchers/job.watcher.d.ts +27 -0
- package/dist/watchers/job.watcher.d.ts.map +1 -0
- package/dist/watchers/job.watcher.js +190 -0
- package/dist/watchers/job.watcher.js.map +1 -0
- package/dist/watchers/log.watcher.d.ts +26 -0
- package/dist/watchers/log.watcher.d.ts.map +1 -0
- package/dist/watchers/log.watcher.js +122 -0
- package/dist/watchers/log.watcher.js.map +1 -0
- package/dist/watchers/mail.watcher.d.ts +26 -0
- package/dist/watchers/mail.watcher.d.ts.map +1 -0
- package/dist/watchers/mail.watcher.js +154 -0
- package/dist/watchers/mail.watcher.js.map +1 -0
- package/dist/watchers/model.watcher.d.ts +54 -0
- package/dist/watchers/model.watcher.d.ts.map +1 -0
- package/dist/watchers/model.watcher.js +343 -0
- package/dist/watchers/model.watcher.js.map +1 -0
- package/dist/watchers/notification.watcher.d.ts +48 -0
- package/dist/watchers/notification.watcher.d.ts.map +1 -0
- package/dist/watchers/notification.watcher.js +215 -0
- package/dist/watchers/notification.watcher.js.map +1 -0
- package/dist/watchers/query/index.d.ts +3 -0
- package/dist/watchers/query/index.d.ts.map +1 -0
- package/dist/watchers/query/index.js +19 -0
- package/dist/watchers/query/index.js.map +1 -0
- package/dist/watchers/query/query.watcher.d.ts +27 -0
- package/dist/watchers/query/query.watcher.d.ts.map +1 -0
- package/dist/watchers/query/query.watcher.js +167 -0
- package/dist/watchers/query/query.watcher.js.map +1 -0
- package/dist/watchers/query/types.d.ts +60 -0
- package/dist/watchers/query/types.d.ts.map +1 -0
- package/dist/watchers/query/types.js +55 -0
- package/dist/watchers/query/types.js.map +1 -0
- package/dist/watchers/redis.watcher.d.ts +43 -0
- package/dist/watchers/redis.watcher.d.ts.map +1 -0
- package/dist/watchers/redis.watcher.js +225 -0
- package/dist/watchers/redis.watcher.js.map +1 -0
- package/dist/watchers/request.watcher.d.ts +21 -0
- package/dist/watchers/request.watcher.d.ts.map +1 -0
- package/dist/watchers/request.watcher.js +287 -0
- package/dist/watchers/request.watcher.js.map +1 -0
- package/dist/watchers/schedule.watcher.d.ts +25 -0
- package/dist/watchers/schedule.watcher.d.ts.map +1 -0
- package/dist/watchers/schedule.watcher.js +168 -0
- package/dist/watchers/schedule.watcher.js.map +1 -0
- package/dist/watchers/view.watcher.d.ts +51 -0
- package/dist/watchers/view.watcher.d.ts.map +1 -0
- package/dist/watchers/view.watcher.js +219 -0
- package/dist/watchers/view.watcher.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var TagService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.TagService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const storage_interface_1 = require("./storage/storage.interface");
|
|
19
|
+
/**
|
|
20
|
+
* Service for managing tags and auto-tagging entries
|
|
21
|
+
*/
|
|
22
|
+
let TagService = TagService_1 = class TagService {
|
|
23
|
+
constructor(storage) {
|
|
24
|
+
this.storage = storage;
|
|
25
|
+
this.logger = new common_1.Logger(TagService_1.name);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Auto-tag an entry based on its content
|
|
29
|
+
*/
|
|
30
|
+
async autoTag(entry) {
|
|
31
|
+
const tags = [];
|
|
32
|
+
switch (entry.type) {
|
|
33
|
+
case 'request':
|
|
34
|
+
this.addRequestTags(entry, tags);
|
|
35
|
+
break;
|
|
36
|
+
case 'query':
|
|
37
|
+
this.addQueryTags(entry, tags);
|
|
38
|
+
break;
|
|
39
|
+
case 'exception':
|
|
40
|
+
this.addExceptionTags(entry, tags);
|
|
41
|
+
break;
|
|
42
|
+
case 'log':
|
|
43
|
+
this.addLogTags(entry, tags);
|
|
44
|
+
break;
|
|
45
|
+
case 'job':
|
|
46
|
+
this.addJobTags(entry, tags);
|
|
47
|
+
break;
|
|
48
|
+
case 'cache':
|
|
49
|
+
this.addCacheTags(entry, tags);
|
|
50
|
+
break;
|
|
51
|
+
case 'event':
|
|
52
|
+
this.addEventTags(entry, tags);
|
|
53
|
+
break;
|
|
54
|
+
case 'schedule':
|
|
55
|
+
this.addScheduleTags(entry, tags);
|
|
56
|
+
break;
|
|
57
|
+
case 'mail':
|
|
58
|
+
this.addMailTags(entry, tags);
|
|
59
|
+
break;
|
|
60
|
+
case 'http-client':
|
|
61
|
+
this.addHttpClientTags(entry, tags);
|
|
62
|
+
break;
|
|
63
|
+
case 'redis':
|
|
64
|
+
this.addRedisTags(entry, tags);
|
|
65
|
+
break;
|
|
66
|
+
case 'model':
|
|
67
|
+
this.addModelTags(entry, tags);
|
|
68
|
+
break;
|
|
69
|
+
case 'notification':
|
|
70
|
+
this.addNotificationTags(entry, tags);
|
|
71
|
+
break;
|
|
72
|
+
case 'view':
|
|
73
|
+
this.addViewTags(entry, tags);
|
|
74
|
+
break;
|
|
75
|
+
case 'command':
|
|
76
|
+
this.addCommandTags(entry, tags);
|
|
77
|
+
break;
|
|
78
|
+
case 'gate':
|
|
79
|
+
this.addGateTags(entry, tags);
|
|
80
|
+
break;
|
|
81
|
+
case 'batch':
|
|
82
|
+
this.addBatchTags(entry, tags);
|
|
83
|
+
break;
|
|
84
|
+
case 'dump':
|
|
85
|
+
this.addDumpTags(entry, tags);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
// Add tags to storage if entry has an ID
|
|
89
|
+
if (entry.id && tags.length > 0) {
|
|
90
|
+
await this.storage.addTags(entry.id, tags);
|
|
91
|
+
}
|
|
92
|
+
return tags;
|
|
93
|
+
}
|
|
94
|
+
addRequestTags(entry, tags) {
|
|
95
|
+
if (entry.type !== 'request')
|
|
96
|
+
return;
|
|
97
|
+
const payload = entry.payload;
|
|
98
|
+
// Status code based tags
|
|
99
|
+
if (payload.statusCode) {
|
|
100
|
+
if (payload.statusCode >= 500) {
|
|
101
|
+
tags.push('ERROR');
|
|
102
|
+
tags.push('5XX');
|
|
103
|
+
}
|
|
104
|
+
else if (payload.statusCode >= 400) {
|
|
105
|
+
tags.push('CLIENT-ERROR');
|
|
106
|
+
tags.push('4XX');
|
|
107
|
+
}
|
|
108
|
+
else if (payload.statusCode >= 300) {
|
|
109
|
+
tags.push('REDIRECT');
|
|
110
|
+
tags.push('3XX');
|
|
111
|
+
}
|
|
112
|
+
else if (payload.statusCode >= 200) {
|
|
113
|
+
tags.push('SUCCESS');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// User tag
|
|
117
|
+
if (payload.user?.id) {
|
|
118
|
+
tags.push(`USER:${payload.user.id}`);
|
|
119
|
+
}
|
|
120
|
+
// Method tag - skip for GraphQL (shown in Method column as GRAPHQL)
|
|
121
|
+
// Only add HTTP method tag for non-GraphQL requests
|
|
122
|
+
if (payload.method && !(payload.path && payload.path.toLowerCase().includes('/graphql'))) {
|
|
123
|
+
tags.push(payload.method.toUpperCase());
|
|
124
|
+
}
|
|
125
|
+
// Slow request (> 1000ms)
|
|
126
|
+
if (payload.duration && payload.duration > 1000) {
|
|
127
|
+
tags.push('SLOW');
|
|
128
|
+
}
|
|
129
|
+
// Custom tags from payload
|
|
130
|
+
if (payload.tags && Array.isArray(payload.tags)) {
|
|
131
|
+
tags.push(...payload.tags.map(t => t.toUpperCase()));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
addQueryTags(entry, tags) {
|
|
135
|
+
if (entry.type !== 'query')
|
|
136
|
+
return;
|
|
137
|
+
const payload = entry.payload;
|
|
138
|
+
// Slow query tag
|
|
139
|
+
if (payload.slow) {
|
|
140
|
+
tags.push('SLOW');
|
|
141
|
+
}
|
|
142
|
+
// Source tag (just the source name)
|
|
143
|
+
if (payload.source) {
|
|
144
|
+
tags.push(payload.source.toUpperCase());
|
|
145
|
+
}
|
|
146
|
+
// Query type detection
|
|
147
|
+
const query = payload.query.toLowerCase().trim();
|
|
148
|
+
if (query.startsWith('select')) {
|
|
149
|
+
tags.push('SELECT');
|
|
150
|
+
}
|
|
151
|
+
else if (query.startsWith('insert')) {
|
|
152
|
+
tags.push('INSERT');
|
|
153
|
+
}
|
|
154
|
+
else if (query.startsWith('update')) {
|
|
155
|
+
tags.push('UPDATE');
|
|
156
|
+
}
|
|
157
|
+
else if (query.startsWith('delete')) {
|
|
158
|
+
tags.push('DELETE');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
addExceptionTags(entry, tags) {
|
|
162
|
+
if (entry.type !== 'exception')
|
|
163
|
+
return;
|
|
164
|
+
const payload = entry.payload;
|
|
165
|
+
tags.push('ERROR');
|
|
166
|
+
// Exception type tag (only if it's not generic "Error")
|
|
167
|
+
if (payload.name && payload.name !== 'Error') {
|
|
168
|
+
tags.push(payload.name.toUpperCase());
|
|
169
|
+
}
|
|
170
|
+
// HTTP exception detection
|
|
171
|
+
if (payload.name.includes('HttpException') || payload.name.includes('BadRequest') ||
|
|
172
|
+
payload.name.includes('Unauthorized') || payload.name.includes('Forbidden') ||
|
|
173
|
+
payload.name.includes('NotFound')) {
|
|
174
|
+
tags.push('HTTP-ERROR');
|
|
175
|
+
}
|
|
176
|
+
// Validation error detection
|
|
177
|
+
if (payload.name.includes('Validation') || payload.message.toLowerCase().includes('validation')) {
|
|
178
|
+
tags.push('VALIDATION-ERROR');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
addLogTags(entry, tags) {
|
|
182
|
+
if (entry.type !== 'log')
|
|
183
|
+
return;
|
|
184
|
+
const payload = entry.payload;
|
|
185
|
+
// Level tag (just the level)
|
|
186
|
+
tags.push(payload.level.toUpperCase());
|
|
187
|
+
// Error/warning tags
|
|
188
|
+
if (payload.level === 'error') {
|
|
189
|
+
tags.push('ERROR');
|
|
190
|
+
}
|
|
191
|
+
else if (payload.level === 'warn') {
|
|
192
|
+
tags.push('WARNING');
|
|
193
|
+
}
|
|
194
|
+
// Context tag (just the context name)
|
|
195
|
+
if (payload.context) {
|
|
196
|
+
tags.push(payload.context.toUpperCase());
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
addJobTags(entry, tags) {
|
|
200
|
+
if (entry.type !== 'job')
|
|
201
|
+
return;
|
|
202
|
+
const payload = entry.payload;
|
|
203
|
+
// Status tag (just the status)
|
|
204
|
+
if (payload.status) {
|
|
205
|
+
tags.push(payload.status.toUpperCase());
|
|
206
|
+
}
|
|
207
|
+
// Queue tag (just the queue name)
|
|
208
|
+
if (payload.queue) {
|
|
209
|
+
tags.push(payload.queue.toUpperCase());
|
|
210
|
+
}
|
|
211
|
+
// Failed job - add ERROR tag (FAILED already added via status)
|
|
212
|
+
if (payload.status === 'failed') {
|
|
213
|
+
tags.push('ERROR');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
addCacheTags(entry, tags) {
|
|
217
|
+
if (entry.type !== 'cache')
|
|
218
|
+
return;
|
|
219
|
+
const payload = entry.payload;
|
|
220
|
+
// Operation tag (just the operation)
|
|
221
|
+
tags.push(payload.operation.toUpperCase());
|
|
222
|
+
// Hit/miss tag
|
|
223
|
+
if (payload.operation === 'get') {
|
|
224
|
+
tags.push(payload.hit ? 'HIT' : 'MISS');
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
addEventTags(entry, tags) {
|
|
228
|
+
if (entry.type !== 'event')
|
|
229
|
+
return;
|
|
230
|
+
const payload = entry.payload;
|
|
231
|
+
// Event name as tag (e.g., user.created -> USER.CREATED)
|
|
232
|
+
if (payload.name) {
|
|
233
|
+
tags.push(payload.name.toUpperCase());
|
|
234
|
+
}
|
|
235
|
+
// Multiple listeners tag
|
|
236
|
+
if (payload.listeners && payload.listeners.length > 1) {
|
|
237
|
+
tags.push('MULTI-LISTENER');
|
|
238
|
+
}
|
|
239
|
+
// Slow event (> 100ms)
|
|
240
|
+
if (payload.duration && payload.duration > 100) {
|
|
241
|
+
tags.push('SLOW');
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
addScheduleTags(entry, tags) {
|
|
245
|
+
if (entry.type !== 'schedule')
|
|
246
|
+
return;
|
|
247
|
+
const payload = entry.payload;
|
|
248
|
+
// Status tag
|
|
249
|
+
if (payload.status) {
|
|
250
|
+
tags.push(payload.status.toUpperCase());
|
|
251
|
+
}
|
|
252
|
+
// Failed task - add ERROR tag (FAILED already added via status)
|
|
253
|
+
if (payload.status === 'failed') {
|
|
254
|
+
tags.push('ERROR');
|
|
255
|
+
}
|
|
256
|
+
// Schedule type
|
|
257
|
+
if (payload.cron) {
|
|
258
|
+
tags.push('CRON');
|
|
259
|
+
}
|
|
260
|
+
else if (payload.interval) {
|
|
261
|
+
tags.push('INTERVAL');
|
|
262
|
+
}
|
|
263
|
+
// Slow task (> 1000ms)
|
|
264
|
+
if (payload.duration && payload.duration > 1000) {
|
|
265
|
+
tags.push('SLOW');
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
addMailTags(entry, tags) {
|
|
269
|
+
if (entry.type !== 'mail')
|
|
270
|
+
return;
|
|
271
|
+
const payload = entry.payload;
|
|
272
|
+
// Status tag
|
|
273
|
+
if (payload.status) {
|
|
274
|
+
tags.push(payload.status.toUpperCase());
|
|
275
|
+
}
|
|
276
|
+
// Failed mail - add ERROR tag (FAILED already added via status)
|
|
277
|
+
if (payload.status === 'failed') {
|
|
278
|
+
tags.push('ERROR');
|
|
279
|
+
}
|
|
280
|
+
// Bulk mail (multiple recipients)
|
|
281
|
+
const toCount = Array.isArray(payload.to) ? payload.to.length : 1;
|
|
282
|
+
const ccCount = Array.isArray(payload.cc) ? payload.cc.length : (payload.cc ? 1 : 0);
|
|
283
|
+
const bccCount = Array.isArray(payload.bcc) ? payload.bcc.length : (payload.bcc ? 1 : 0);
|
|
284
|
+
if (toCount + ccCount + bccCount > 1) {
|
|
285
|
+
tags.push('BULK');
|
|
286
|
+
}
|
|
287
|
+
// Has attachments or HTML
|
|
288
|
+
if (payload.html) {
|
|
289
|
+
tags.push('HTML');
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
addHttpClientTags(entry, tags) {
|
|
293
|
+
if (entry.type !== 'http-client')
|
|
294
|
+
return;
|
|
295
|
+
const payload = entry.payload;
|
|
296
|
+
// Method tag
|
|
297
|
+
if (payload.method) {
|
|
298
|
+
tags.push(payload.method.toUpperCase());
|
|
299
|
+
}
|
|
300
|
+
// Status code based tags
|
|
301
|
+
if (payload.statusCode) {
|
|
302
|
+
if (payload.statusCode >= 500) {
|
|
303
|
+
tags.push('ERROR');
|
|
304
|
+
tags.push('5XX');
|
|
305
|
+
}
|
|
306
|
+
else if (payload.statusCode >= 400) {
|
|
307
|
+
tags.push('CLIENT-ERROR');
|
|
308
|
+
tags.push('4XX');
|
|
309
|
+
}
|
|
310
|
+
else if (payload.statusCode >= 300) {
|
|
311
|
+
tags.push('REDIRECT');
|
|
312
|
+
tags.push('3XX');
|
|
313
|
+
}
|
|
314
|
+
else if (payload.statusCode >= 200) {
|
|
315
|
+
tags.push('SUCCESS');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Error tag if there's an error message
|
|
319
|
+
if (payload.error) {
|
|
320
|
+
tags.push('ERROR');
|
|
321
|
+
}
|
|
322
|
+
// Hostname tag (e.g., api.example.com -> API.EXAMPLE.COM)
|
|
323
|
+
if (payload.hostname) {
|
|
324
|
+
tags.push(payload.hostname.toUpperCase());
|
|
325
|
+
}
|
|
326
|
+
// Slow request (> 1000ms)
|
|
327
|
+
if (payload.duration && payload.duration > 1000) {
|
|
328
|
+
tags.push('SLOW');
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
addRedisTags(entry, tags) {
|
|
332
|
+
if (entry.type !== 'redis')
|
|
333
|
+
return;
|
|
334
|
+
const payload = entry.payload;
|
|
335
|
+
// Tag by command type (GET, SET, DEL, LPUSH, etc.)
|
|
336
|
+
if (payload.command) {
|
|
337
|
+
tags.push(payload.command.toUpperCase());
|
|
338
|
+
}
|
|
339
|
+
// ERROR if failed
|
|
340
|
+
if (payload.status === 'error' || payload.error) {
|
|
341
|
+
tags.push('ERROR');
|
|
342
|
+
}
|
|
343
|
+
// SLOW if duration > 100ms
|
|
344
|
+
if (payload.duration > 100) {
|
|
345
|
+
tags.push('SLOW');
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
addModelTags(entry, tags) {
|
|
349
|
+
if (entry.type !== 'model')
|
|
350
|
+
return;
|
|
351
|
+
const payload = entry.payload;
|
|
352
|
+
// Tag by entity name (uppercase)
|
|
353
|
+
if (payload.entity) {
|
|
354
|
+
tags.push(payload.entity.toUpperCase());
|
|
355
|
+
}
|
|
356
|
+
// Tag by action (FIND, CREATE, UPDATE, DELETE)
|
|
357
|
+
if (payload.action) {
|
|
358
|
+
tags.push(payload.action.toUpperCase());
|
|
359
|
+
}
|
|
360
|
+
// BULK if recordCount > 1
|
|
361
|
+
if (payload.recordCount && payload.recordCount > 1) {
|
|
362
|
+
tags.push('BULK');
|
|
363
|
+
}
|
|
364
|
+
// SLOW if duration > 500ms
|
|
365
|
+
if (payload.duration > 500) {
|
|
366
|
+
tags.push('SLOW');
|
|
367
|
+
}
|
|
368
|
+
// ERROR if failed
|
|
369
|
+
if (payload.error) {
|
|
370
|
+
tags.push('ERROR');
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
addNotificationTags(entry, tags) {
|
|
374
|
+
if (entry.type !== 'notification')
|
|
375
|
+
return;
|
|
376
|
+
const payload = entry.payload;
|
|
377
|
+
// Tag by type (EMAIL, SMS, PUSH, SOCKET, WEBHOOK)
|
|
378
|
+
if (payload.type) {
|
|
379
|
+
tags.push(payload.type.toUpperCase());
|
|
380
|
+
}
|
|
381
|
+
// Tag by status (SENT, FAILED, PENDING)
|
|
382
|
+
if (payload.status) {
|
|
383
|
+
tags.push(payload.status.toUpperCase());
|
|
384
|
+
}
|
|
385
|
+
// ERROR if failed
|
|
386
|
+
if (payload.status === 'failed') {
|
|
387
|
+
tags.push('ERROR');
|
|
388
|
+
}
|
|
389
|
+
// BULK if multiple recipients
|
|
390
|
+
const recipientCount = Array.isArray(payload.recipient) ? payload.recipient.length : 1;
|
|
391
|
+
if (recipientCount > 1) {
|
|
392
|
+
tags.push('BULK');
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
addViewTags(entry, tags) {
|
|
396
|
+
if (entry.type !== 'view')
|
|
397
|
+
return;
|
|
398
|
+
const payload = entry.payload;
|
|
399
|
+
// Tag by template name (uppercase, sanitized)
|
|
400
|
+
if (payload.template) {
|
|
401
|
+
// Remove file extension and path separators
|
|
402
|
+
const templateName = payload.template
|
|
403
|
+
.replace(/\.(html|ejs|hbs|pug|jsx|tsx)$/i, '')
|
|
404
|
+
.replace(/[\/\\]/g, '.')
|
|
405
|
+
.toUpperCase();
|
|
406
|
+
tags.push(templateName);
|
|
407
|
+
}
|
|
408
|
+
// Tag by format (HTML, JSON, XML, PDF)
|
|
409
|
+
if (payload.format) {
|
|
410
|
+
tags.push(payload.format.toUpperCase());
|
|
411
|
+
}
|
|
412
|
+
// CACHED if cacheHit
|
|
413
|
+
if (payload.cacheHit) {
|
|
414
|
+
tags.push('CACHED');
|
|
415
|
+
}
|
|
416
|
+
// SLOW if duration > 200ms
|
|
417
|
+
if (payload.duration > 200) {
|
|
418
|
+
tags.push('SLOW');
|
|
419
|
+
}
|
|
420
|
+
// ERROR if failed
|
|
421
|
+
if (payload.status === 'error' || payload.error) {
|
|
422
|
+
tags.push('ERROR');
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
addCommandTags(entry, tags) {
|
|
426
|
+
if (entry.type !== 'command')
|
|
427
|
+
return;
|
|
428
|
+
const payload = entry.payload;
|
|
429
|
+
// Tag by command name (uppercase)
|
|
430
|
+
if (payload.name) {
|
|
431
|
+
tags.push(payload.name.toUpperCase());
|
|
432
|
+
}
|
|
433
|
+
// Tag by status (EXECUTING, COMPLETED, FAILED)
|
|
434
|
+
if (payload.status) {
|
|
435
|
+
tags.push(payload.status.toUpperCase());
|
|
436
|
+
}
|
|
437
|
+
// ERROR if failed
|
|
438
|
+
if (payload.status === 'failed') {
|
|
439
|
+
tags.push('ERROR');
|
|
440
|
+
}
|
|
441
|
+
// SLOW if duration > 1s
|
|
442
|
+
if (payload.duration && payload.duration > 1000) {
|
|
443
|
+
tags.push('SLOW');
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
addGateTags(entry, tags) {
|
|
447
|
+
if (entry.type !== 'gate')
|
|
448
|
+
return;
|
|
449
|
+
const payload = entry.payload;
|
|
450
|
+
// ALLOWED or DENIED based on result
|
|
451
|
+
tags.push(payload.allowed ? 'ALLOWED' : 'DENIED');
|
|
452
|
+
// Tag by gate name (uppercase)
|
|
453
|
+
if (payload.gate) {
|
|
454
|
+
tags.push(payload.gate.toUpperCase());
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
addBatchTags(entry, tags) {
|
|
458
|
+
if (entry.type !== 'batch')
|
|
459
|
+
return;
|
|
460
|
+
const payload = entry.payload;
|
|
461
|
+
// Tag by status (COMPLETED, PARTIAL, FAILED)
|
|
462
|
+
if (payload.status) {
|
|
463
|
+
tags.push(payload.status.toUpperCase());
|
|
464
|
+
}
|
|
465
|
+
// LARGE if totalItems > 1000
|
|
466
|
+
if (payload.totalItems > 1000) {
|
|
467
|
+
tags.push('LARGE');
|
|
468
|
+
}
|
|
469
|
+
// ERROR if failedItems > 0
|
|
470
|
+
if (payload.failedItems > 0) {
|
|
471
|
+
tags.push('ERROR');
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
addDumpTags(entry, tags) {
|
|
475
|
+
if (entry.type !== 'dump')
|
|
476
|
+
return;
|
|
477
|
+
const payload = entry.payload;
|
|
478
|
+
// Tag by operation (EXPORT, IMPORT, BACKUP, RESTORE, MIGRATE)
|
|
479
|
+
if (payload.operation) {
|
|
480
|
+
tags.push(payload.operation.toUpperCase());
|
|
481
|
+
}
|
|
482
|
+
// Tag by format (SQL, JSON, CSV, BINARY)
|
|
483
|
+
if (payload.format) {
|
|
484
|
+
tags.push(payload.format.toUpperCase());
|
|
485
|
+
}
|
|
486
|
+
// COMPRESSED if compressed
|
|
487
|
+
if (payload.compressed) {
|
|
488
|
+
tags.push('COMPRESSED');
|
|
489
|
+
}
|
|
490
|
+
// ENCRYPTED if encrypted
|
|
491
|
+
if (payload.encrypted) {
|
|
492
|
+
tags.push('ENCRYPTED');
|
|
493
|
+
}
|
|
494
|
+
// ERROR if failed
|
|
495
|
+
if (payload.status === 'failed' || payload.error) {
|
|
496
|
+
tags.push('ERROR');
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
// ==================== Tag Management ====================
|
|
500
|
+
/**
|
|
501
|
+
* Add tags to an entry
|
|
502
|
+
*/
|
|
503
|
+
async addTags(entryId, tags) {
|
|
504
|
+
await this.storage.addTags(entryId, tags);
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Remove tags from an entry
|
|
508
|
+
*/
|
|
509
|
+
async removeTags(entryId, tags) {
|
|
510
|
+
await this.storage.removeTags(entryId, tags);
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Get tags for an entry
|
|
514
|
+
*/
|
|
515
|
+
async getEntryTags(entryId) {
|
|
516
|
+
return this.storage.getEntryTags(entryId);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Get all tags with counts
|
|
520
|
+
*/
|
|
521
|
+
async getAllTags() {
|
|
522
|
+
return this.storage.getAllTags();
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* Find entries by tags
|
|
526
|
+
*/
|
|
527
|
+
async findByTags(tags, logic = 'OR', limit = 50) {
|
|
528
|
+
return this.storage.findByTags(tags, logic, limit);
|
|
529
|
+
}
|
|
530
|
+
// ==================== Monitored Tags ====================
|
|
531
|
+
/**
|
|
532
|
+
* Add a monitored tag
|
|
533
|
+
*/
|
|
534
|
+
async addMonitoredTag(tag) {
|
|
535
|
+
return this.storage.addMonitoredTag(tag);
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Remove a monitored tag
|
|
539
|
+
*/
|
|
540
|
+
async removeMonitoredTag(tag) {
|
|
541
|
+
await this.storage.removeMonitoredTag(tag);
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Get all monitored tags
|
|
545
|
+
*/
|
|
546
|
+
async getMonitoredTags() {
|
|
547
|
+
return this.storage.getMonitoredTags();
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Get monitored tags with their entry counts
|
|
551
|
+
*/
|
|
552
|
+
async getMonitoredTagsWithCounts() {
|
|
553
|
+
const monitoredTags = await this.storage.getMonitoredTags();
|
|
554
|
+
const allTags = await this.storage.getAllTags();
|
|
555
|
+
const tagCountMap = new Map(allTags.map(t => [t.tag, t.count]));
|
|
556
|
+
return monitoredTags.map(tag => ({
|
|
557
|
+
...tag,
|
|
558
|
+
count: tagCountMap.get(tag.tag) || 0,
|
|
559
|
+
}));
|
|
560
|
+
}
|
|
561
|
+
};
|
|
562
|
+
exports.TagService = TagService;
|
|
563
|
+
exports.TagService = TagService = TagService_1 = __decorate([
|
|
564
|
+
(0, common_1.Injectable)(),
|
|
565
|
+
__param(0, (0, common_1.Inject)(storage_interface_1.STORAGE)),
|
|
566
|
+
__metadata("design:paramtypes", [Object])
|
|
567
|
+
], TagService);
|
|
568
|
+
//# sourceMappingURL=tag.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.service.js","sourceRoot":"","sources":["../../src/core/tag.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a,L as d}from"./index-rkbGYdU7.js";import{e as P,b as B}from"./vendor-B2nVRih0.js";import{C as c,f as D,p as F}from"./ClickableBadge-CV5J3THx.js";import{u as M,a as T,T as r,D as A,P as L,N as R,c as $,L as I}from"./DataTable-B6o9H8lh.js";import{q as S}from"./types-Cldoe2db.js";function z(){const p=P(),{addFilter:s,clearAll:h,serverFilters:u,headerFilters:x,hasFilters:m}=M("batches"),{entries:g,loading:y,refreshing:o,newEntriesCount:f,hasMore:j,loadMore:k,loadNew:b,autoRefreshEnabled:C,setAutoRefresh:N,meta:i}=T({type:"batch",limit:50,filters:u}),n=g.filter(e=>S(e)),w=B.useMemo(()=>[{key:"name",header:"Name",minWidth:"200px",render:e=>a.jsx(r,{mono:!0,truncate:!0,maxWidth:"250px",children:e.payload.name})},{key:"operation",header:"Operation",width:"150px",render:e=>e.payload.operation?a.jsx(c,{onClick:t=>{t.stopPropagation(),s("operations",e.payload.operation)},children:e.payload.operation}):a.jsx(r,{secondary:!0,children:"-"})},{key:"progress",header:"Progress",width:"150px",render:e=>{const{processedItems:t,totalItems:l}=e.payload,v=l>0?Math.round(t/l*100):0;return a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(r,{children:`${t}/${l}`}),a.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["(",v,"%)"]})]})}},{key:"status",header:"Status",width:"120px",render:e=>a.jsx(c,{onClick:t=>{t.stopPropagation(),s("statuses",e.payload.status)},children:e.payload.status.toUpperCase()})},{key:"duration",header:"Duration",width:"100px",align:"right",render:e=>e.payload.duration?a.jsx(A,{ms:e.payload.duration}):a.jsx(r,{secondary:!0,children:"-"})},{key:"time",header:"Time",width:"170px",align:"right",render:e=>a.jsx(r,{secondary:!0,className:"text-xs",children:D(F(e.createdAt),{addSuffix:!0})})}],[s]);if(y&&n.length===0)return a.jsx("div",{className:"flex items-center justify-center h-64",role:"status","aria-label":"Loading...",children:a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600"})});const E=m?"pt-28":"pt-16";return a.jsxs("div",{children:[a.jsx(L,{title:"Batches",icon:d,iconColor:"text-blue-600 dark:text-blue-400",count:n.length,totalCount:i==null?void 0:i.total,refreshing:o,autoRefreshEnabled:C,onAutoRefreshToggle:N,filters:x,onClearAllFilters:h}),a.jsxs("div",{className:`${E} space-y-4 transition-all duration-200`,children:[a.jsx(R,{count:f,onClick:b,loading:o}),a.jsx($,{columns:w,data:n,keyExtractor:e=>e.id,onRowClick:e=>p(`/batches/${e.id}`),emptyMessage:"No batch operations recorded yet",emptyIcon:a.jsx(d,{className:"h-8 w-8 text-gray-400 dark:text-gray-500"})}),a.jsx(I,{hasMore:j,onClick:k,loading:o})]})]})}export{z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a,H as l}from"./index-rkbGYdU7.js";import{e as E,b}from"./vendor-B2nVRih0.js";import{f as v,p as D}from"./ClickableBadge-CV5J3THx.js";import{u as P,a as F,C as R,T as n,g as T,D as A,P as M,N as B,c as H,L}from"./DataTable-B6o9H8lh.js";import{f as O}from"./types-Cldoe2db.js";function q(){const d=E(),{addFilter:t,clearAll:c,serverFilters:h,headerFilters:p,hasFilters:u}=P("cache"),{entries:x,loading:g,refreshing:r,newEntriesCount:m,hasMore:y,loadMore:f,loadNew:j,autoRefreshEnabled:C,setAutoRefresh:k,meta:o}=F({type:"cache",limit:50,filters:h}),s=x.filter(e=>O(e)),w=b.useMemo(()=>[{key:"operation",header:"Operation",width:"100px",render:e=>a.jsx(R,{operation:e.payload.operation,onClick:i=>{i.stopPropagation(),t("operations",e.payload.operation)}})},{key:"key",header:"Key",minWidth:"200px",render:e=>a.jsx(n,{mono:!0,truncate:!0,maxWidth:"400px",children:e.payload.key.length>50?e.payload.key.substring(0,50)+"...":e.payload.key})},{key:"result",header:"Result",width:"80px",align:"center",render:e=>e.payload.operation==="get"?a.jsx(T,{hit:e.payload.hit||!1,onClick:i=>{i.stopPropagation(),t("tags",e.payload.hit?"hit":"miss")}}):a.jsx(n,{secondary:!0,children:"—"})},{key:"duration",header:"Duration",width:"100px",align:"right",render:e=>a.jsx(A,{ms:e.payload.duration||0})},{key:"time",header:"Time",width:"170px",align:"right",render:e=>a.jsx(n,{secondary:!0,className:"text-xs",children:v(D(e.createdAt),{addSuffix:!0})})}],[t]);if(g&&s.length===0)return a.jsx("div",{className:"flex items-center justify-center h-64",role:"status","aria-label":"Loading...",children:a.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600"})});const N=u?"pt-28":"pt-16";return a.jsxs("div",{children:[a.jsx(M,{title:"Cache",icon:l,iconColor:"text-cyan-600 dark:text-cyan-400",count:s.length,totalCount:o==null?void 0:o.total,refreshing:r,autoRefreshEnabled:C,onAutoRefreshToggle:k,filters:p,onClearAllFilters:c}),a.jsxs("div",{className:`${N} space-y-4 transition-all duration-200`,children:[a.jsx(B,{count:m,onClick:j,loading:r}),a.jsx(H,{columns:w,data:s,keyExtractor:e=>e.id,onRowClick:e=>d(`/cache/${e.id}`),emptyMessage:"No cache operations recorded yet",emptyIcon:a.jsx(l,{className:"h-8 w-8 text-gray-400 dark:text-gray-500"})}),a.jsx(L,{hasMore:y,onClick:f,loading:r})]})]})}export{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as w}from"./index-rkbGYdU7.js";import{e as A}from"./vendor-B2nVRih0.js";const Oe=6048e5,Ae=864e5,x=43200,S=1440,v=Symbol.for("constructDateFrom");function E(t,e){return typeof t=="function"?t(e):t&&typeof t=="object"&&v in t?t[v](e):t instanceof Date?new t.constructor(e):new Date(e)}function h(t,e){return E(e||t,t)}let R={};function I(){return R}function T(t){const e=h(t),r=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return r.setUTCFullYear(e.getFullYear()),+t-+r}function P(t,...e){const r=E.bind(null,t||e.find(a=>typeof a=="object"));return e.map(r)}function M(t,e){const r=+h(t)-+h(e);return r<0?-1:r>0?1:r}function N(t){return E(t,Date.now())}function L(t,e,r){const[a,n]=P(r==null?void 0:r.in,t,e),s=a.getFullYear()-n.getFullYear(),o=a.getMonth()-n.getMonth();return s*12+o}function F(t){return e=>{const a=(t?Math[t]:Math.trunc)(e);return a===0?0:a}}function X(t,e){return+h(t)-+h(e)}function j(t,e){const r=h(t,e==null?void 0:e.in);return r.setHours(23,59,59,999),r}function U(t,e){const r=h(t,e==null?void 0:e.in),a=r.getMonth();return r.setFullYear(r.getFullYear(),a+1,0),r.setHours(23,59,59,999),r}function H(t,e){const r=h(t,e==null?void 0:e.in);return+j(r,e)==+U(r,e)}function Y(t,e,r){const[a,n,s]=P(r==null?void 0:r.in,t,t,e),o=M(n,s),i=Math.abs(L(n,s));if(i<1)return 0;n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-o*i);let g=M(n,s)===-o;H(a)&&i===1&&M(a,s)===1&&(g=!1);const l=o*(i-+g);return l===0?0:l}function $(t,e,r){const a=X(t,e)/1e3;return F(r==null?void 0:r.roundingMethod)(a)}const V={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},_=(t,e,r)=>{let a;const n=V[t];return typeof n=="string"?a=n:e===1?a=n.one:a=n.other.replace("{{count}}",e.toString()),r!=null&&r.addSuffix?r.comparison&&r.comparison>0?"in "+a:a+" ago":a};function D(t){return(e={})=>{const r=e.width?String(e.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}const z={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},G={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Q={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},B={date:D({formats:z,defaultWidth:"full"}),time:D({formats:G,defaultWidth:"full"}),dateTime:D({formats:Q,defaultWidth:"full"})},J={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},q=(t,e,r,a)=>J[t];function y(t){return(e,r)=>{const a=r!=null&&r.context?String(r.context):"standalone";let n;if(a==="formatting"&&t.formattingValues){const o=t.defaultFormattingWidth||t.defaultWidth,i=r!=null&&r.width?String(r.width):o;n=t.formattingValues[i]||t.formattingValues[o]}else{const o=t.defaultWidth,i=r!=null&&r.width?String(r.width):t.defaultWidth;n=t.values[i]||t.values[o]}const s=t.argumentCallback?t.argumentCallback(e):e;return n[s]}}const K={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Z={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ee={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},te={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},re={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ne={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ae=(t,e)=>{const r=Number(t),a=r%100;if(a>20||a<10)switch(a%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},ie={ordinalNumber:ae,era:y({values:K,defaultWidth:"wide"}),quarter:y({values:Z,defaultWidth:"wide",argumentCallback:t=>t-1}),month:y({values:ee,defaultWidth:"wide"}),day:y({values:te,defaultWidth:"wide"}),dayPeriod:y({values:re,defaultWidth:"wide",formattingValues:ne,defaultFormattingWidth:"wide"})};function k(t){return(e,r={})=>{const a=r.width,n=a&&t.matchPatterns[a]||t.matchPatterns[t.defaultMatchWidth],s=e.match(n);if(!s)return null;const o=s[0],i=a&&t.parsePatterns[a]||t.parsePatterns[t.defaultParseWidth],g=Array.isArray(i)?se(i,b=>b.test(o)):oe(i,b=>b.test(o));let l;l=t.valueCallback?t.valueCallback(g):g,l=r.valueCallback?r.valueCallback(l):l;const u=e.slice(o.length);return{value:l,rest:u}}}function oe(t,e){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&e(t[r]))return r}function se(t,e){for(let r=0;r<t.length;r++)if(e(t[r]))return r}function ue(t){return(e,r={})=>{const a=e.match(t.matchPattern);if(!a)return null;const n=a[0],s=e.match(t.parsePattern);if(!s)return null;let o=t.valueCallback?t.valueCallback(s[0]):s[0];o=r.valueCallback?r.valueCallback(o):o;const i=e.slice(n.length);return{value:o,rest:i}}}const de=/^(\d+)(th|st|nd|rd)?/i,le=/\d+/i,ce={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},ge={any:[/^b/i,/^(a|c)/i]},fe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},me={any:[/1/i,/2/i,/3/i,/4/i]},he={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},be={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},ye={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ke={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},xe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},we={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Me={ordinalNumber:ue({matchPattern:de,parsePattern:le,valueCallback:t=>parseInt(t,10)}),era:k({matchPatterns:ce,defaultMatchWidth:"wide",parsePatterns:ge,defaultParseWidth:"any"}),quarter:k({matchPatterns:fe,defaultMatchWidth:"wide",parsePatterns:me,defaultParseWidth:"any",valueCallback:t=>t+1}),month:k({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:be,defaultParseWidth:"any"}),day:k({matchPatterns:ye,defaultMatchWidth:"wide",parsePatterns:ke,defaultParseWidth:"any"}),dayPeriod:k({matchPatterns:xe,defaultMatchWidth:"any",parsePatterns:we,defaultParseWidth:"any"})},De={code:"en-US",formatDistance:_,formatLong:B,formatRelative:q,localize:ie,match:Me,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ee(t,e,r){const a=I(),n=(r==null?void 0:r.locale)??a.locale??De,s=2520,o=M(t,e);if(isNaN(o))throw new RangeError("Invalid time value");const i=Object.assign({},r,{addSuffix:r==null?void 0:r.addSuffix,comparison:o}),[g,l]=P(r==null?void 0:r.in,...o>0?[e,t]:[t,e]),u=$(l,g),b=(T(l)-T(g))/1e3,d=Math.round((u-b)/60);let f;if(d<2)return r!=null&&r.includeSeconds?u<5?n.formatDistance("lessThanXSeconds",5,i):u<10?n.formatDistance("lessThanXSeconds",10,i):u<20?n.formatDistance("lessThanXSeconds",20,i):u<40?n.formatDistance("halfAMinute",0,i):u<60?n.formatDistance("lessThanXMinutes",1,i):n.formatDistance("xMinutes",1,i):d===0?n.formatDistance("lessThanXMinutes",1,i):n.formatDistance("xMinutes",d,i);if(d<45)return n.formatDistance("xMinutes",d,i);if(d<90)return n.formatDistance("aboutXHours",1,i);if(d<S){const m=Math.round(d/60);return n.formatDistance("aboutXHours",m,i)}else{if(d<s)return n.formatDistance("xDays",1,i);if(d<x){const m=Math.round(d/S);return n.formatDistance("xDays",m,i)}else if(d<x*2)return f=Math.round(d/x),n.formatDistance("aboutXMonths",f,i)}if(f=Y(l,g),f<12){const m=Math.round(d/x);return n.formatDistance("xMonths",m,i)}else{const m=f%12,c=Math.trunc(f/12);return m<3?n.formatDistance("aboutXYears",c,i):m<9?n.formatDistance("overXYears",c,i):n.formatDistance("almostXYears",c+1,i)}}function Re(t,e){return Ee(t,N(t),e)}function Ie(t){if(t.includes("T")&&(t.includes("Z")||t.includes("+")))return new Date(t);const e=t.replace(" ","T")+"Z";return new Date(e)}const C=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","GRAPHQL"],W=["bg-rose-100 text-rose-800 dark:bg-rose-900 dark:text-rose-400","bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-400","bg-lime-100 text-lime-800 dark:bg-lime-900 dark:text-lime-400","bg-emerald-100 text-emerald-800 dark:bg-emerald-900 dark:text-emerald-400","bg-sky-100 text-sky-800 dark:bg-sky-900 dark:text-sky-400","bg-violet-100 text-violet-800 dark:bg-violet-900 dark:text-violet-400","bg-fuchsia-100 text-fuchsia-800 dark:bg-fuchsia-900 dark:text-fuchsia-400","bg-teal-100 text-teal-800 dark:bg-teal-900 dark:text-teal-400"];function Pe(t){let e=0;for(let r=0;r<t.length;r++)e=(e<<5)-e+t.charCodeAt(r),e=e&e;return Math.abs(e)%W.length}const pe=["localhost"],Se=(t,e)=>{if(e&&e!=="tag")return e;if(/^(\d{1,3}\.){3}\d{1,3}$/.test(t))return"ips";const r=t.toUpperCase();if(C.includes(r))return"methods";const a=parseInt(t,10);return!isNaN(a)&&a>=100&&a<600?"statuses":/^[a-fA-F0-9:]+$/.test(t)&&t.includes(":")&&!t.includes(".")?"ips":t.includes("#")||t.includes("::")||/Controller\./i.test(t)?"controllers":pe.includes(t.toLowerCase())||(t.includes(".")||t.includes(":"))&&!t.startsWith("/")&&!/^\d+$/.test(t)?"hostnames":"tags"};function ve(t){const e=t.toUpperCase();if(t.startsWith("/"))return"bg-cyan-100 text-cyan-800 dark:bg-cyan-900/30 dark:text-cyan-400";if(/^(\d{1,3}\.){3}\d{1,3}$/.test(t)||/^[a-fA-F0-9:]+$/.test(t)&&t.includes(":")&&!t.includes("."))return"bg-indigo-100 text-indigo-800 dark:bg-indigo-900/30 dark:text-indigo-400";if(t.includes("#")||t.includes("::")||/Controller\./i.test(t))return"bg-teal-100 text-teal-800 dark:bg-teal-900/30 dark:text-teal-400";const r=t.toLowerCase(),a=/:\d+$/.test(t),n=/\.(com|org|net|io|dev|app|co|local|internal)$/i.test(t),s=/^[A-Z0-9_.]+$/.test(t)&&t.includes(".");if(r==="localhost"||a&&!t.startsWith("/")||n&&!s)return"bg-slate-100 text-slate-800 dark:bg-slate-700 dark:text-slate-300";if(e==="GET")return"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200";if(e==="POST")return"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200";if(e==="PUT")return"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200";if(e==="PATCH")return"bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200";if(e==="DELETE")return"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200";if(["HEAD","OPTIONS"].includes(e))return"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300";if(e==="GRAPHQL")return"bg-pink-100 text-pink-800 dark:bg-pink-900 dark:text-pink-200";const o=parseInt(e,10);return!isNaN(o)&&o>=100&&o<600?o>=500?"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400":o>=400?"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400":o>=300?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400":"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400":e==="SUCCESS"||e==="2XX"||e==="HIT"?"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400":e==="REDIRECT"||e==="3XX"?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400":e==="WARNING"||e==="WARN"||e==="4XX"||e==="CLIENT-ERROR"?"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400":e==="ERROR"||e==="5XX"||e==="HTTP-ERROR"||e==="VALIDATION-ERROR"||e==="FAILED"?"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400":e==="SLOW"||e==="SLOW QUERY"?"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400":e.startsWith("USER:")?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-400":["SELECT","INSERT","UPDATE"].includes(e)?"bg-cyan-100 text-cyan-800 dark:bg-cyan-900/30 dark:text-cyan-400":e==="DEBUG"?"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200":e==="LOG"||e==="INFO"?"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200":e==="VERBOSE"?"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300":e==="REQUEST"?"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200":e==="QUERY"?"bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200":e==="EXCEPTION"?"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200":e==="LOG"||e==="EVENT"?"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200":e==="JOB"?"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200":e==="CACHE"?"bg-cyan-100 text-cyan-800 dark:bg-cyan-900 dark:text-cyan-200":e==="MAIL"?"bg-pink-100 text-pink-800 dark:bg-pink-900 dark:text-pink-200":e==="SCHEDULE"?"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300":e==="HTTP-CLIENT"?"bg-cyan-100 text-cyan-800 dark:bg-cyan-900 dark:text-cyan-200":e==="RESOLVED"||e==="COMPLETED"||e==="SENT"||e==="ACTIVE"?"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400":e==="WAITING"||e==="DELAYED"||e==="PENDING"?"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400":e==="MISS"?"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300":e==="GET"&&!C.includes(e)?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400":e==="SET"?"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400":e==="DEL"||e==="DELETE"?"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400":e==="CLEAR"?"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400":e==="STARTED"?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400":e==="TYPEORM"?"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400":e==="PRISMA"?"bg-indigo-100 text-indigo-800 dark:bg-indigo-900/30 dark:text-indigo-400":e==="MONGOOSE"?"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400":e==="SEQUELIZE"?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400":e==="KNEX"?"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400":e==="MIKRO-ORM"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-400":e==="NORMAL"?"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200":W[Pe(e)]}function Te({children:t,listType:e,filterType:r="tag",filterValue:a,onClick:n,clickable:s=!0,className:o="",ariaLabel:i}){const g=A(),l=c=>{if(c.preventDefault(),c.stopPropagation(),n){n(c);return}if(e&&s){const p=a||String(t),O=Se(p,r);g(`/${e}?${O}=${encodeURIComponent(p)}`)}},u=s&&(!!n||!!e),b=ve(String(t)),d=u?"cursor-pointer hover:scale-105 transition-transform":"",f=String(t).toUpperCase(),m=i||(u?`Click to filter by ${f}`:void 0);return w.jsx("span",{onClick:u?l:void 0,role:u?"button":void 0,"aria-label":m,tabIndex:u?0:void 0,onKeyDown:u?c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),l(c))}:void 0,title:f,className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide max-w-[200px] overflow-hidden text-ellipsis whitespace-nowrap shadow ${b} ${d} ${u?"focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1":""} ${o}`,children:f})}function Ne({items:t,listType:e,filterType:r="tag",maxItems:a=99,clickable:n=!0}){if(!t||t.length===0)return null;const s=t.slice(0,a),o=t.length-a;return w.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[s.map(i=>w.jsx(Te,{listType:e,filterType:r,clickable:n,children:i},i)),o>0&&w.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["+",o]})]})}export{Ne as B,Te as C,I as a,T as b,E as c,Oe as d,De as e,Re as f,ve as g,Ae as m,P as n,Ie as p,h as t};
|