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 @@
|
|
|
1
|
+
import{j as a,d}from"./index-rkbGYdU7.js";import{e as b,b as v}from"./vendor-B2nVRih0.js";import{C as l,f as P,p as T}from"./ClickableBadge-CV5J3THx.js";import{u as D,a as F,T as i,D as A,P as M,N as R,c as B,L}from"./DataTable-B6o9H8lh.js";import{o as W}from"./types-Cldoe2db.js";function q(){const m=b(),{addFilter:t,clearAll:c,serverFilters:u,headerFilters:h,hasFilters:p}=D("commands"),{entries:x,loading:g,refreshing:r,newEntriesCount:f,hasMore:y,loadMore:C,loadNew:j,autoRefreshEnabled:k,setAutoRefresh:N,meta:s}=F({type:"command",limit:50,filters:u}),o=x.filter(e=>W(e)),w=v.useMemo(()=>[{key:"name",header:"Command",minWidth:"250px",render:e=>a.jsx(l,{onClick:n=>{n.stopPropagation(),t("names",e.payload.name)},className:"font-mono",children:e.payload.name})},{key:"handler",header:"Handler",minWidth:"200px",render:e=>e.payload.handler?a.jsx(i,{mono:!0,truncate:!0,maxWidth:"250px",children:e.payload.handler}):a.jsx(i,{secondary:!0,children:"-"})},{key:"status",header:"Status",width:"100px",render:e=>a.jsx(l,{onClick:n=>{n.stopPropagation(),t("statuses",e.payload.status)},children:e.payload.status.toUpperCase()})},{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(i,{secondary:!0,className:"text-xs",children:P(T(e.createdAt),{addSuffix:!0})})}],[t]);if(g&&o.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=p?"pt-28":"pt-16";return a.jsxs("div",{children:[a.jsx(M,{title:"Commands",icon:d,iconColor:"text-green-600 dark:text-green-400",count:o.length,totalCount:s==null?void 0:s.total,refreshing:r,autoRefreshEnabled:k,onAutoRefreshToggle:N,filters:h,onClearAllFilters:c}),a.jsxs("div",{className:`${E} space-y-4 transition-all duration-200`,children:[a.jsx(R,{count:f,onClick:j,loading:r}),a.jsx(B,{columns:w,data:o,keyExtractor:e=>e.id,onRowClick:e=>m(`/commands/${e.id}`),emptyMessage:"No commands recorded yet",emptyIcon:a.jsx(d,{className:"h-8 w-8 text-gray-400 dark:text-gray-500"})}),a.jsx(L,{hasMore:y,onClick:C,loading:r})]})]})}export{q as default};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{c as v,u as ae,j as e,A as S,T as P,C as z,D as W,F as se,R as oe,B as ne,H as I,M as ie,G as le,a as ce,L as de,b as xe,d as ge,S as me,e as O,g as ye,f as V}from"./index-rkbGYdU7.js";import{e as ue,b as c,L as he}from"./vendor-B2nVRih0.js";import{g as pe,f as Q,p as U}from"./ClickableBadge-CV5J3THx.js";import{Z as be}from"./zap-DqtRi0JM.js";import{C as fe}from"./calendar-DfK3x-6B.js";import{C as ke}from"./circle-check-big-DcsYW8y8.js";/**
|
|
2
|
+
* @license lucide-react v0.468.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const ve=v("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
|
|
7
|
+
* @license lucide-react v0.468.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const je=v("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/**
|
|
12
|
+
* @license lucide-react v0.468.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const Ne=v("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);/**
|
|
17
|
+
* @license lucide-react v0.468.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const we=v("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]);/**
|
|
22
|
+
* @license lucide-react v0.468.0 - ISC
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the ISC license.
|
|
25
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/const Se=v("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]),k=[{key:"request",name:"Requests",icon:S,color:"blue",route:"/requests"},{key:"query",name:"Queries",icon:W,color:"purple",route:"/queries"},{key:"exception",name:"Exceptions",icon:P,color:"red",route:"/exceptions"},{key:"log",name:"Logs",icon:se,color:"green",route:"/logs"},{key:"event",name:"Events",icon:oe,color:"emerald",route:"/events"},{key:"job",name:"Jobs",icon:ne,color:"yellow",route:"/jobs"},{key:"cache",name:"Cache",icon:I,color:"cyan",route:"/cache"},{key:"mail",name:"Mail",icon:ie,color:"pink",route:"/mail"},{key:"schedule",name:"Schedule",icon:fe,color:"gray",route:"/schedule"},{key:"http-client",name:"HTTP Client",icon:le,color:"indigo",route:"/http-client"},{key:"redis",name:"Redis",icon:ce,color:"rose",route:"/redis"},{key:"model",name:"Models",icon:de,color:"violet",route:"/models"},{key:"notification",name:"Notifications",icon:xe,color:"orange",route:"/notifications"},{key:"view",name:"Views",icon:Ne,color:"teal",route:"/views"},{key:"command",name:"Commands",icon:ge,color:"slate",route:"/commands"},{key:"gate",name:"Gates",icon:me,color:"amber",route:"/gates"},{key:"batch",name:"Batches",icon:je,color:"lime",route:"/batches"},{key:"dump",name:"Dumps",icon:I,color:"stone",route:"/dumps"}],Z={request:"text-blue-500",query:"text-purple-500",exception:"text-red-500",log:"text-green-500",event:"text-emerald-500",job:"text-yellow-500",cache:"text-cyan-500",mail:"text-pink-500",schedule:"text-gray-500","http-client":"text-indigo-500",redis:"text-rose-500",model:"text-violet-500",notification:"text-orange-500",view:"text-teal-500",command:"text-slate-500",gate:"text-amber-500",batch:"text-lime-500",dump:"text-stone-500"};function $e(o){if(o===0)return"0 B";const t=1024,n=["B","KB","MB","GB"],s=Math.floor(Math.log(o)/Math.log(t));return`${parseFloat((o/Math.pow(t,s)).toFixed(1))} ${n[s]}`}function J(o){return o<1e3?`${Math.round(o)}ms`:`${(o/1e3).toFixed(2)}s`}function Te(o){const t=o.payload;switch(o.type){case"request":return`${t.method||"GET"} ${t.path||"/"}`;case"query":const n=t.query||"";return n.length>50?n.substring(0,50)+"...":n;case"exception":return t.name||"Exception";case"log":const s=t.message||"";return s.length>50?s.substring(0,50)+"...":s;case"event":return t.name||"Event";case"job":return t.name||"Job";case"cache":return`${(t.operation||"get").toUpperCase()} ${t.key||""}`;case"mail":return t.subject||"Mail";case"schedule":return t.name||"Task";default:return"Entry"}}function qe(o){const t=o.payload;switch(o.type){case"request":const n=t.statusCode,s=t.duration;return n?`${n} · ${s?J(s):""}`:null;case"query":const y=t.duration,p=t.slow;return`${y?J(y):""} ${p?"· SLOW":""}`;case"exception":const g=t.message||"";return g.length>60?g.substring(0,60)+"...":g;case"log":return t.context||null;case"job":return t.queue||null;default:return null}}const A=8;function w({label:o,value:t,subtext:n,icon:s,trend:y,status:p="neutral",onClick:g}){const u={good:"text-emerald-500",warning:"text-amber-500",danger:"text-red-500",neutral:"text-gray-400 dark:text-gray-500"},b=g?"button":"div";return e.jsx(b,{onClick:g,className:`bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 p-5 ${g?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-600 hover:shadow-sm transition-all text-left w-full":""}`,children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:o}),e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("p",{className:"text-2xl font-semibold text-gray-900 dark:text-white",children:typeof t=="number"?t.toLocaleString():t}),y&&e.jsx("span",{className:`flex items-center text-xs ${y==="up"?"text-emerald-500":"text-red-500"}`,children:y==="up"?e.jsx(Se,{className:"h-3 w-3"}):e.jsx(we,{className:"h-3 w-3"})})]}),n&&e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:n})]}),e.jsx("div",{className:"p-2.5 rounded-lg bg-gray-100 dark:bg-gray-700/50",children:e.jsx(s,{className:`h-5 w-5 ${u[p]}`})})]})})}function Ie(){const o=ue(),{stats:t,refreshStats:n}=ae(),[s,y]=c.useState(null),[p,g]=c.useState(!0);c.useEffect(()=>{n()},[n]);const[u,b]=c.useState([]),[m,R]=c.useState(!1),[D,$]=c.useState(1),[B,_]=c.useState(0),[F,T]=c.useState(!1),[q,E]=c.useState(null),[j,L]=c.useState([]);c.useEffect(()=>{const r=async()=>{try{const x=await ye();y(x.data)}catch(x){console.error("Failed to fetch storage data:",x)}};r();const a=setInterval(r,3e4);return()=>clearInterval(a)},[]),c.useEffect(()=>{(async()=>{g(!0);try{const a=await V({limit:A});b(a.data),_(a.meta.total),T(a.meta.hasMore),E(a.meta.oldestSequence),$(1),L([])}catch(a){console.error("Failed to fetch activities:",a)}finally{g(!1)}})()},[]);const K=async()=>{if(!(!F||!q||m)){R(!0);try{L(a=>[...a,{entries:u,oldestSeq:q}]);const r=await V({limit:A,beforeSequence:q});b(r.data),T(r.meta.hasMore),E(r.meta.oldestSequence),$(a=>a+1)}catch(r){console.error("Failed to load next page:",r)}finally{R(!1)}}},Y=()=>{if(j.length===0)return;const r=j[j.length-1];L(a=>a.slice(0,-1)),b(r.entries),E(r.oldestSeq),T(!0),$(a=>a-1)},G=j.length>0,H=F,C=Math.ceil(B/A);if(p)return e.jsx("div",{className:"flex items-center justify-center h-64",role:"status","aria-label":"Loading...",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600"})});const f=(t==null?void 0:t.byType.request)||0,M=(t==null?void 0:t.byType.exception)||0,i=(t==null?void 0:t.unresolvedExceptions)??M,h=(t==null?void 0:t.avgResponseTime)||0,l=(t==null?void 0:t.slowQueries)||0,d=h<200,X=r=>{const a=k.find(x=>x.key===r);return(a==null?void 0:a.icon)||S},ee=r=>{const a=k.find(x=>x.key===r);return(a==null?void 0:a.route)||"/"};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[e.jsx(w,{label:"Traffic",value:f,subtext:"total requests",icon:S,status:"neutral"}),e.jsx(w,{label:"Errors",value:i,subtext:"unresolved exceptions",icon:P,status:i===0?"good":"danger",onClick:()=>o("/exceptions?resolved=false")}),e.jsx(w,{label:"Latency",value:h?`${Math.round(h)}ms`:"N/A",subtext:"avg response time",icon:z,status:h===0?"neutral":d?"good":"warning"}),e.jsx(w,{label:"Slow Queries",value:l,subtext:"exceeding threshold",icon:be,status:l===0?"good":"warning",onClick:()=>o("/queries?slow=true")})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-5 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsx("h2",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:"Entry Types"})}),e.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-4 md:grid-cols-6 lg:grid-cols-9",children:k.map((r,a)=>{const x=(t==null?void 0:t.byType[r.key])||0,N=r.icon,te=a>=k.length-(k.length%9||9),re=(a+1)%9===0;return e.jsxs(he,{to:r.route,className:`group relative p-4 flex flex-col items-center text-center transition-colors hover:bg-gray-50 dark:hover:bg-gray-700/50 ${re?"":"border-r border-gray-100 dark:border-gray-700/50"} ${te?"":"border-b border-gray-100 dark:border-gray-700/50"}`,children:[e.jsx("div",{className:"p-2.5 rounded-lg bg-gray-100 dark:bg-gray-700/50 group-hover:scale-105 transition-transform mb-2",children:e.jsx(N,{className:`h-4 w-4 ${Z[r.key]||"text-gray-500"}`})}),e.jsx("span",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:x.toLocaleString()}),e.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:r.name})]},r.key)})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsxs("div",{className:"lg:col-span-2 bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"px-5 py-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:"Recent Activity"}),m&&e.jsx("div",{className:"animate-spin rounded-full h-3 w-3 border-b-2 border-primary-600",role:"status","aria-label":"Loading"})]}),B>0&&e.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:[D," / ",C]})]}),e.jsxs("div",{className:"divide-y divide-gray-100 dark:divide-gray-700/50 flex-1 relative",style:{minHeight:"400px"},children:[m&&u.length>0&&e.jsx("div",{className:"absolute inset-0 bg-white/50 dark:bg-gray-800/50 z-10 pointer-events-none"}),u.length===0&&!m?e.jsxs("div",{className:"p-8 text-center text-gray-500 dark:text-gray-400",children:[e.jsx(S,{className:"h-8 w-8 mx-auto mb-2 opacity-50"}),e.jsx("p",{children:"No entries recorded yet"})]}):u.length===0&&m?e.jsx("div",{className:"p-8 flex items-center justify-center",role:"status","aria-label":"Loading...",children:e.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-primary-600"})}):u.map(r=>{const a=X(r.type),x=Te(r),N=qe(r);return e.jsxs("div",{onClick:()=>o(`${ee(r.type)}/${r.id}`),className:"px-5 py-3.5 hover:bg-gray-50 dark:hover:bg-gray-700/30 cursor-pointer flex items-center gap-3 transition-colors",children:[e.jsx("div",{className:"flex-shrink-0 p-2 rounded-lg bg-gray-100 dark:bg-gray-700/50",children:e.jsx(a,{className:`h-4 w-4 ${Z[r.type]||"text-gray-500"}`})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`inline-flex px-1.5 py-0.5 rounded text-[10px] font-semibold uppercase ${pe(r.type)}`,children:r.type}),e.jsx("span",{className:"text-sm text-gray-900 dark:text-white truncate font-mono",children:x})]}),N&&e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 truncate mt-0.5",children:N})]}),e.jsx("div",{className:"flex-shrink-0 text-xs text-gray-400 dark:text-gray-500 whitespace-nowrap",children:Q(U(r.createdAt),{addSuffix:!0})}),e.jsx(O,{className:"h-4 w-4 text-gray-300 dark:text-gray-600 flex-shrink-0"})]},r.id)})]}),C>1&&e.jsxs("div",{className:"px-5 py-3 border-t border-gray-200 dark:border-gray-700 flex items-center justify-between bg-gray-50 dark:bg-gray-800/50",children:[e.jsxs("button",{onClick:Y,disabled:!G||m,className:`flex items-center gap-1 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${G&&!m?"text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700":"text-gray-300 dark:text-gray-600 cursor-not-allowed"}`,children:[e.jsx(ve,{className:"h-4 w-4"}),e.jsx("span",{children:"Previous"})]}),e.jsxs("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:["Page ",D," of ",C]}),e.jsxs("button",{onClick:K,disabled:!H||m,className:`flex items-center gap-1 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${H&&!m?"text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700":"text-gray-300 dark:text-gray-600 cursor-not-allowed"}`,children:[e.jsx("span",{children:"Next"}),e.jsx(O,{className:"h-4 w-4"})]})]})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-5 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsx("h2",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:"System Overview"})}),e.jsxs("div",{className:"p-5 space-y-4",children:[e.jsxs("div",{className:`flex items-center gap-3 p-3 rounded-lg ${i===0&&l===0&&d?"bg-emerald-50 dark:bg-emerald-900/20":i>10||l>10||!d?"bg-red-50 dark:bg-red-900/20":"bg-amber-50 dark:bg-amber-900/20"}`,children:[e.jsx(ke,{className:`h-5 w-5 ${i===0&&l===0&&d?"text-emerald-500":i>10||l>10||!d?"text-red-500":"text-amber-500"}`}),e.jsxs("div",{children:[e.jsx("p",{className:`text-sm font-medium ${i===0&&l===0&&d?"text-emerald-700 dark:text-emerald-400":i>10||l>10||!d?"text-red-700 dark:text-red-400":"text-amber-700 dark:text-amber-400"}`,children:i===0&&l===0&&d?"All Systems Operational":i>10||l>10||!d?"Issues Detected":"Minor Issues"}),e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:i===0&&l===0&&d?"No issues requiring attention":`${i} errors · ${l} slow queries`})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100 dark:border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-2 text-gray-600 dark:text-gray-400",children:[e.jsx(W,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:"Total Entries"})]}),e.jsx("span",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:((t==null?void 0:t.total)||0).toLocaleString()})]}),e.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100 dark:border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-2 text-gray-600 dark:text-gray-400",children:[e.jsx(I,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:"Database Size"})]}),e.jsx("span",{className:"text-sm font-semibold text-gray-900 dark:text-white",children:s!=null&&s.databaseSize?$e(s.databaseSize):"N/A"})]}),e.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100 dark:border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-2 text-gray-600 dark:text-gray-400",children:[e.jsx(P,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:"Error Rate"})]}),e.jsxs("span",{className:`text-sm font-semibold ${f>0&&M/f*100<5?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"}`,children:[f>0?(M/f*100).toFixed(2):"0.00","%"]})]}),e.jsxs("div",{className:"flex items-center justify-between py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-gray-600 dark:text-gray-400",children:[e.jsx(z,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:"Avg Latency"})]}),e.jsx("span",{className:`text-sm font-semibold ${d?"text-emerald-600 dark:text-emerald-400":"text-amber-600 dark:text-amber-400"}`,children:h?`${Math.round(h)}ms`:"N/A"})]})]}),(s==null?void 0:s.oldestEntry)&&(s==null?void 0:s.newestEntry)&&e.jsx("div",{className:"pt-3 border-t border-gray-200 dark:border-gray-700",children:e.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:["Recording for ",Q(U(s.oldestEntry))]})})]})]})]})]})}export{Ie as default};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import{b as l,f as _}from"./vendor-B2nVRih0.js";import{c as V,f as P,z as A,k as Y,l as O,j as r,h as D,b as J,m as Q,X as W,e as Z}from"./index-rkbGYdU7.js";import{g as $}from"./ClickableBadge-CV5J3THx.js";/**
|
|
2
|
+
* @license lucide-react v0.468.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const X=V("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);function F(t){return t==null?"":typeof t!="object"?String(t):Array.isArray(t)?"["+t.map(F).join(",")+"]":"{"+Object.keys(t).sort().map(a=>`"${a}":${F(t[a])}`).join(",")+"}"}const I="nestlens-auto-refresh";function ee(){try{const t=localStorage.getItem(I);return t===null?!0:t==="true"}catch{return!0}}function te(t){try{localStorage.setItem(I,String(t))}catch{}}function de(t={}){const{type:e,limit:a=50,autoRefresh:s,autoRefreshInterval:m=5e3,filters:c}=t,v=F(c),[k,w]=l.useState([]),[T,S]=l.useState(!0),[K,h]=l.useState(!1),[d,i]=l.useState(null),[o,p]=l.useState(null),[g,y]=l.useState(0),[x,E]=l.useState(s??ee()),b=l.useRef(null),R=l.useRef(null),u=l.useRef(!0),j=l.useRef(v),f=l.useCallback(async()=>{u.current?S(!0):h(!0);try{i(null);const n=await P({type:e,limit:a,filters:c});w(n.data),p(n.meta),b.current=n.meta.newestSequence,y(0),u.current=!1,j.current=v}catch(n){const N=n instanceof Error?n:new Error("Failed to fetch entries");i(N),console.error("Failed to fetch entries:",n),A.error("Failed to load entries")}finally{S(!1),h(!1)}},[e,a,v]),H=l.useCallback(async()=>{if(!(!(o!=null&&o.oldestSequence)||!o.hasMore)){h(!0);try{const n=await P({type:e,limit:a,beforeSequence:o.oldestSequence,filters:c});w(N=>[...N,...n.data]),p(n.meta)}catch(n){console.error("Failed to load more entries:",n),A.error("Failed to load more entries")}finally{h(!1)}}},[e,a,o,v]),U=l.useCallback(async()=>{if(b.current){h(!0);try{const n=await P({type:e,limit:g||a,afterSequence:b.current,filters:c});n.data.length>0&&(w(N=>[...n.data,...N]),b.current=n.meta.newestSequence,y(0))}catch(n){console.error("Failed to load new entries:",n),A.error("Failed to load new entries")}finally{h(!1)}}},[e,a,g,v]),B=l.useCallback(async()=>{h(!0);try{i(null);const n=await P({type:e,limit:a,filters:c});w(n.data),p(n.meta),b.current=n.meta.newestSequence,y(0)}catch(n){const N=n instanceof Error?n:new Error("Failed to refresh entries");i(N),console.error("Failed to refresh entries:",n),A.error("Failed to refresh entries")}finally{h(!1)}},[e,a,v]),q=l.useCallback(async()=>{if(!b.current){try{(await Y(e)).data&&y(1)}catch{}return}try{const n=await O(b.current,e);y(n.data.count)}catch{}},[e]),G=l.useCallback(n=>{E(n),te(n)},[]),z=l.useCallback(n=>{w(N=>N.map(C=>C.id===n.id?n:C))},[]);l.useEffect(()=>{f()},[f]);const M=l.useCallback(async()=>{if(b.current)try{const n=await O(b.current,e);if(n.data.count>0){const N=await P({type:e,limit:n.data.count,afterSequence:b.current,filters:c});N.data.length>0&&(w(C=>[...N.data,...C]),b.current=N.meta.newestSequence,p(C=>C?{...C,total:C.total+N.data.length,newestSequence:N.meta.newestSequence}:N.meta))}}catch{}},[e,v]);return l.useEffect(()=>(x?R.current=setInterval(M,m):R.current=setInterval(q,m),()=>{R.current&&(clearInterval(R.current),R.current=null)}),[x,m,M,q]),{entries:k,loading:T,refreshing:K,error:d,meta:o,newEntriesCount:g,hasMore:(o==null?void 0:o.hasMore)??!1,loadMore:H,loadNew:U,refresh:B,setAutoRefresh:G,autoRefreshEnabled:x,updateEntry:z}}const L={request:{displayName:"Request",pluralName:"Requests",route:"requests",icon:"Globe",filters:{methods:{urlKey:"methods",displayName:"Method",values:["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","GRAPHQL"]},statuses:{urlKey:"statuses",displayName:"Status",values:[]},paths:{urlKey:"paths",displayName:"Path",values:[]},controllers:{urlKey:"controllers",displayName:"Controller",values:[]},hostnames:{urlKey:"hostnames",displayName:"Hostname",values:[]},ips:{urlKey:"ips",displayName:"IP",values:[]}}},query:{displayName:"Query",pluralName:"Queries",route:"queries",icon:"Database",filters:{types:{urlKey:"queryTypes",displayName:"Type",values:["SELECT","INSERT","UPDATE","DELETE","CREATE","ALTER","DROP","TRUNCATE"]},sources:{urlKey:"sources",displayName:"Source",values:["typeorm","prisma","mongoose","sequelize","knex","mikro-orm","drizzle"]}}},exception:{displayName:"Exception",pluralName:"Exceptions",route:"exceptions",icon:"AlertTriangle",filters:{names:{urlKey:"names",displayName:"Name",values:[]},methods:{urlKey:"methods",displayName:"Method",values:["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]},paths:{urlKey:"paths",displayName:"Path",values:[]}}},log:{displayName:"Log",pluralName:"Logs",route:"logs",icon:"FileText",filters:{levels:{urlKey:"levels",displayName:"Level",values:["log","error","warn","debug","verbose","fatal","info"]},contexts:{urlKey:"contexts",displayName:"Context",values:[]}}},event:{displayName:"Event",pluralName:"Events",route:"events",icon:"Zap",filters:{names:{urlKey:"names",displayName:"Event",values:[]}}},job:{displayName:"Job",pluralName:"Jobs",route:"jobs",icon:"Briefcase",filters:{statuses:{urlKey:"jobStatuses",displayName:"Status",values:["waiting","active","completed","failed","delayed","paused","stuck"]},queues:{urlKey:"queues",displayName:"Queue",values:[]}}},schedule:{displayName:"Schedule",pluralName:"Schedule",route:"schedule",icon:"Clock",filters:{statuses:{urlKey:"scheduleStatuses",displayName:"Status",values:["started","completed","failed","skipped","running"]},names:{urlKey:"names",displayName:"Task",values:[]}}},cache:{displayName:"Cache",pluralName:"Cache",route:"cache",icon:"HardDrive",filters:{operations:{urlKey:"cacheOperations",displayName:"Operation",values:["get","set","del","clear","has","reset","mget","mset"]}}},mail:{displayName:"Mail",pluralName:"Mail",route:"mail",icon:"Mail",filters:{statuses:{urlKey:"mailStatuses",displayName:"Status",values:["sent","failed","pending","queued","delivered","bounced","error"]}}},"http-client":{displayName:"HTTP Client",pluralName:"HTTP Client",route:"http-client",icon:"Globe",filters:{methods:{urlKey:"methods",displayName:"Method",values:["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]},statuses:{urlKey:"statuses",displayName:"Status",values:[]},hostnames:{urlKey:"hostnames",displayName:"Hostname",values:[]}}},redis:{displayName:"Redis",pluralName:"Redis",route:"redis",icon:"Database",filters:{commands:{urlKey:"redisCommands",displayName:"Command",values:["GET","SET","DEL","HGET","HSET","HDEL","HGETALL","LPUSH","RPUSH","LPOP","RPOP","LRANGE","SADD","SREM","SMEMBERS","ZADD","ZRANGE","ZREM","EXPIRE","TTL","KEYS","SCAN","PING","INFO","INCR","DECR","MGET","MSET","PUBLISH","SUBSCRIBE"]},statuses:{urlKey:"redisStatuses",displayName:"Status",values:["success","failed","error","timeout"]}}},model:{displayName:"Model",pluralName:"Models",route:"models",icon:"Box",filters:{actions:{urlKey:"modelActions",displayName:"Action",values:["find","findOne","findMany","create","update","delete","save","remove","count","aggregate","upsert","createMany","updateMany","deleteMany"]},entities:{urlKey:"entities",displayName:"Entity",values:[]},sources:{urlKey:"modelSources",displayName:"Source",values:["typeorm","prisma","mongoose","sequelize","mikro-orm","drizzle"]}}},notification:{displayName:"Notification",pluralName:"Notifications",route:"notifications",icon:"Bell",filters:{types:{urlKey:"notificationTypes",displayName:"Type",values:["email","sms","push","socket","webhook","slack","telegram","discord"]},statuses:{urlKey:"notificationStatuses",displayName:"Status",values:["sent","failed","pending","delivered","read","error","queued"]}}},view:{displayName:"View",pluralName:"Views",route:"views",icon:"Layout",filters:{formats:{urlKey:"viewFormats",displayName:"Format",values:["html","json","xml","pdf","csv","text","markdown"]},statuses:{urlKey:"viewStatuses",displayName:"Status",values:["rendered","error","failed","cached","success"]}}},command:{displayName:"Command",pluralName:"Commands",route:"commands",icon:"Terminal",filters:{statuses:{urlKey:"commandStatuses",displayName:"Status",values:["executing","completed","failed","cancelled","timeout","running"]},names:{urlKey:"commandNames",displayName:"Command",values:[]}}},gate:{displayName:"Gate",pluralName:"Gates",route:"gates",icon:"Shield",filters:{names:{urlKey:"gateNames",displayName:"Gate",values:[]},results:{urlKey:"gateResults",displayName:"Result",values:["allowed","denied"]}}},batch:{displayName:"Batch",pluralName:"Batches",route:"batches",icon:"Layers",filters:{operations:{urlKey:"batchOperations",displayName:"Operation",values:["insert","update","delete","upsert","sync"]},statuses:{urlKey:"batchStatuses",displayName:"Status",values:["pending","processing","completed","failed","partial","cancelled"]}}},dump:{displayName:"Dump",pluralName:"Dumps",route:"dumps",icon:"HardDrive",filters:{operations:{urlKey:"dumpOperations",displayName:"Operation",values:["export","import","backup","restore","migrate","sync"]},formats:{urlKey:"dumpFormats",displayName:"Format",values:["json","csv","xml","sql","yaml","binary","xlsx"]},statuses:{urlKey:"dumpStatuses",displayName:"Status",values:["pending","completed","failed","error","success","cancelled","running"]}}}},re={requests:"request",queries:"query",exceptions:"exception",logs:"log",events:"event",jobs:"job",schedule:"schedule",cache:"cache",mail:"mail","http-client":"http-client",redis:"redis",models:"model",notifications:"notification",views:"view",commands:"command",gates:"gate",batches:"batch",dumps:"dump"};function ae(t){if(t in L)return L[t];const e=re[t];if(e)return L[e]}const se=ae;function ue(t){const[e,a]=_(),s=se(t),m=l.useCallback(d=>{if(d==="tags")return"tags";if(!s)return d;const i=s.filters[d];return(i==null?void 0:i.urlKey)||d},[s]),c=l.useMemo(()=>{const d={};if(!s)return d;const i=Object.values(s.filters).map(o=>o.urlKey);i.push("tags","search");for(const o of i){const p=e.get(o);p&&(d[o]=p.split(",").filter(Boolean))}return d},[e,s]),v=l.useCallback((d,i)=>{!s&&d!=="tags"&&console.warn("[useEntryFilters] No config found for entry type, using category as urlKey");const o=m(d),p=c[o]||[];if(!p.includes(i)){const g=new URLSearchParams(e);g.set(o,[...p,i].join(",")),a(g,{replace:!0})}},[s,m,c,e,a]),k=l.useCallback((d,i)=>{const p=(c[d]||[]).filter(y=>y!==i),g=new URLSearchParams(e);p.length>0?g.set(d,p.join(",")):g.delete(d),a(g,{replace:!0})},[c,e,a]),w=l.useCallback(()=>{a({},{replace:!0})},[a]),T=l.useMemo(()=>c,[c]),S=l.useMemo(()=>{if(!s)return[];const d=[];for(const[i,o]of Object.entries(c)){if(o.length===0)continue;let p=i,g=i==="tags"?"Tag":i;for(const[y,x]of Object.entries(s.filters))if(x.urlKey===i){p=y,g=x.displayName;break}d.push({category:p,urlKey:i,displayName:g,values:o})}return d},[c,s]),K=l.useMemo(()=>{const d=[];for(const i of S)for(const o of i.values)d.push({category:i.displayName,value:o.toUpperCase(),onRemove:()=>k(i.urlKey,o)});return d},[S,k]),h=S.length>0;return{addFilter:v,removeFilter:k,clearAll:w,serverFilters:T,activeFilters:S,headerFilters:K,hasFilters:h,getUrlKey:m}}function me({count:t,onClick:e,loading:a}){return t===0?null:r.jsxs("button",{onClick:e,disabled:a,className:"w-full py-3 px-4 bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400 font-medium rounded-lg hover:bg-primary-100 dark:hover:bg-primary-900/30 transition-colors flex items-center justify-center space-x-2 disabled:opacity-50",children:[a?r.jsx(D,{className:"h-4 w-4 animate-spin"}):r.jsx(J,{className:"h-4 w-4"}),r.jsxs("span",{children:["Load ",t," new ",t===1?"entry":"entries"]})]})}function pe({hasMore:t,onClick:e,loading:a}){return t?r.jsxs("button",{onClick:e,disabled:a,className:"w-full py-3 px-4 bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 font-medium rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors flex items-center justify-center space-x-2 disabled:opacity-50",children:[a?r.jsx(D,{className:"h-4 w-4 animate-spin"}):r.jsx(Q,{className:"h-4 w-4"}),r.jsx("span",{children:"Load older entries"})]}):null}function ye({title:t,icon:e,iconColor:a="text-primary-600 dark:text-primary-400",count:s,totalCount:m,subtitle:c,loading:v,refreshing:k,onRefresh:w,autoRefreshEnabled:T,onAutoRefreshToggle:S,filters:K=[],onClearAllFilters:h,actions:d,filterControls:i}){const o=K.length>0,p=s??m,g=K.reduce((y,x)=>(y[x.category]||(y[x.category]=[]),y[x.category].push(x),y),{});return r.jsxs("div",{className:"fixed top-0 left-0 right-0 lg:left-64 z-30 bg-gray-50 dark:bg-gray-900 border-b border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"h-16 px-4 lg:px-6 flex items-center justify-between",children:[r.jsxs("div",{className:"flex items-center space-x-3",children:[r.jsx("div",{className:"hidden sm:flex p-2 rounded-lg bg-gray-100 dark:bg-gray-800",children:r.jsx(e,{className:`h-5 w-5 ${a}`})}),r.jsxs("div",{className:"flex items-center space-x-3",children:[r.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white",children:t}),p!==void 0&&r.jsxs("span",{role:"status","aria-live":"polite",className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-300",children:[p.toLocaleString(),m!==void 0&&s!==void 0&&s!==m&&r.jsxs("span",{className:"text-gray-400 dark:text-gray-500 ml-1",children:["/ ",m.toLocaleString()]})]}),c&&r.jsx("span",{className:"hidden md:inline text-sm text-gray-500 dark:text-gray-400",children:c})]})]}),r.jsxs("div",{className:"flex items-center space-x-2",children:[d,S&&r.jsxs("button",{onClick:()=>S(!T),className:`hidden sm:flex items-center space-x-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors whitespace-nowrap ${T?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700"}`,title:T?"Auto-refresh enabled":"Auto-refresh disabled",children:[r.jsx("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${T?"bg-green-500 animate-pulse":"bg-gray-400"}`}),r.jsx("span",{children:"Auto Refresh"})]}),w&&r.jsx("button",{onClick:w,disabled:v||k,"aria-busy":k,"aria-label":k?"Refreshing...":"Refresh",className:"p-2 rounded-lg text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800 hover:text-gray-700 dark:hover:text-gray-200 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:"Refresh",children:r.jsx(D,{className:`h-4 w-4 ${k?"animate-spin":""}`})})]})]}),i&&r.jsx("div",{className:"px-4 lg:px-6 py-2 border-t border-gray-100 dark:border-gray-800 bg-gray-50/50 dark:bg-gray-900/50",children:i}),o&&r.jsx("div",{className:"px-4 lg:px-6 py-2 border-t border-gray-100 dark:border-gray-800 bg-gray-50/50 dark:bg-gray-900/50",children:r.jsxs("div",{className:"flex items-center flex-wrap gap-2",children:[r.jsx("span",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider mr-1",children:"Filters:"}),Object.entries(g).map(([y,x])=>r.jsxs("div",{className:"flex items-center space-x-1",children:[r.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500",children:[y,":"]}),x.map((E,b)=>r.jsxs("button",{onClick:E.onRemove,"aria-label":`Remove ${y} filter: ${E.value}`,className:"inline-flex items-center space-x-1 px-2 py-0.5 rounded-md text-xs font-medium bg-primary-100 dark:bg-primary-900/30 text-primary-700 dark:text-primary-300 hover:bg-primary-200 dark:hover:bg-primary-900/50 transition-colors group uppercase",children:[r.jsx("span",{children:E.value}),r.jsx(W,{className:"h-3 w-3 opacity-60 group-hover:opacity-100"})]},`${E.category}-${E.value}-${b}`))]},y)),h&&K.length>1&&r.jsx("button",{onClick:h,className:"ml-2 text-xs text-gray-500 dark:text-gray-400 hover:text-red-600 dark:hover:text-red-400 transition-colors",children:"Clear all"})]})})]})}function ge({tabs:t,activeTab:e,onChange:a}){return r.jsx("div",{className:"flex items-center space-x-1",children:t.map(s=>r.jsxs("button",{onClick:()=>a(s.id),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${e===s.id?"bg-primary-100 text-primary-700 dark:bg-primary-900/50 dark:text-primary-300":"text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800"}`,children:[s.label,s.count!==void 0&&r.jsx("span",{className:`ml-1.5 text-xs ${e===s.id?"text-primary-600 dark:text-primary-400":"text-gray-400 dark:text-gray-500"}`,children:s.count})]},s.id))})}function xe({label:t,enabled:e,onChange:a,icon:s}){return r.jsxs("button",{onClick:()=>a(!e),className:`flex items-center space-x-2 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${e?"bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-300":"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700"}`,children:[s&&r.jsx(s,{className:"h-4 w-4"}),r.jsx("span",{children:t})]})}function ne({columns:t,rows:e=5}){return r.jsx(r.Fragment,{children:Array.from({length:e}).map((a,s)=>r.jsx("tr",{className:"animate-pulse",children:Array.from({length:t}).map((m,c)=>r.jsx("td",{className:"px-4 py-3",children:r.jsx("div",{className:"h-4 bg-gray-200 dark:bg-gray-700 rounded w-3/4"})},c))},s))})}function le({message:t,icon:e}){return r.jsxs("div",{className:"flex flex-col items-center justify-center py-12 px-4",children:[r.jsx("div",{className:"p-3 rounded-full bg-gray-100 dark:bg-gray-800 mb-4",children:e||r.jsx(X,{className:"h-8 w-8 text-gray-400 dark:text-gray-500"})}),r.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 text-center max-w-sm",children:t})]})}function fe({columns:t,data:e,keyExtractor:a,onRowClick:s,loading:m=!1,emptyMessage:c="No data available",emptyIcon:v,showChevron:k=!0,compact:w=!1,stickyHeader:T=!0,maxHeight:S,zebraStripes:K=!1,rowClassName:h}){const d=w?"px-3 py-2":"px-4 py-3",i=w?"px-3 py-2":"px-4 py-3",[o,p]=l.useState(-1),[g,y]=l.useState(-1),x=l.useRef(null),E=t.length+(k&&s?1:0),b=u=>{switch(u){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}},R=l.useCallback((u,j,f)=>{if(s)switch(u.key){case"Enter":case" ":u.preventDefault(),s(j),y(f);break;case"ArrowDown":u.preventDefault(),f<e.length-1&&p(f+1);break;case"ArrowUp":u.preventDefault(),f>0&&p(f-1);break;case"Home":u.preventDefault(),p(0);break;case"End":u.preventDefault(),p(e.length-1);break}},[s,e.length]);return l.useEffect(()=>{if(o>=0&&x.current){const j=x.current.querySelectorAll("tbody tr[tabindex]")[o];j&&j.focus()}},[o]),r.jsx("div",{className:"card overflow-hidden",children:r.jsx("div",{className:`overflow-x-auto ${S?"overflow-y-auto":""}`,style:S?{maxHeight:S}:void 0,children:r.jsxs("table",{ref:x,className:"w-full border-collapse",role:"grid","aria-rowcount":e.length,"aria-colcount":E,children:[r.jsx("thead",{className:`bg-gray-50 dark:bg-gray-800/50 ${T?"sticky top-0 z-10":""}`,children:r.jsxs("tr",{role:"row",children:[t.map(u=>r.jsx("th",{scope:"col",role:"columnheader","aria-sort":u.sortable?"none":void 0,className:`
|
|
7
|
+
${i}
|
|
8
|
+
${b(u.headerAlign||u.align)}
|
|
9
|
+
text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider
|
|
10
|
+
border-b border-gray-200 dark:border-gray-700
|
|
11
|
+
bg-gray-50 dark:bg-gray-800/50
|
|
12
|
+
whitespace-nowrap
|
|
13
|
+
${u.sticky?"sticky left-0 z-20":""}
|
|
14
|
+
`,style:{width:u.width,minWidth:u.minWidth},children:u.header},u.key)),k&&s&&r.jsx("th",{scope:"col",role:"columnheader",className:`
|
|
15
|
+
${i}
|
|
16
|
+
w-12
|
|
17
|
+
border-b border-gray-200 dark:border-gray-700
|
|
18
|
+
bg-gray-50 dark:bg-gray-800/50
|
|
19
|
+
`,"aria-label":"Expand row"})]})}),r.jsx("tbody",{className:"divide-y divide-gray-100 dark:divide-gray-800",children:m?r.jsx(ne,{columns:E,rows:5}):e.length===0?r.jsx("tr",{children:r.jsx("td",{colSpan:E,children:r.jsx(le,{message:c,icon:v})})}):e.map((u,j)=>r.jsxs("tr",{role:"row","aria-rowindex":j+1,"aria-selected":s&&g===j?!0:void 0,onClick:s?()=>s(u):void 0,onKeyDown:s?f=>R(f,u,j):void 0,tabIndex:s?0:void 0,className:`
|
|
20
|
+
group
|
|
21
|
+
transition-colors duration-150
|
|
22
|
+
${s?"cursor-pointer":""}
|
|
23
|
+
${K&&j%2===1?"bg-gray-50/50 dark:bg-gray-800/25":"bg-white dark:bg-gray-900"}
|
|
24
|
+
hover:bg-primary-50/50 dark:hover:bg-primary-900/10
|
|
25
|
+
focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-inset
|
|
26
|
+
${g===j?"bg-primary-50 dark:bg-primary-900/20":""}
|
|
27
|
+
${h?h(u):""}
|
|
28
|
+
`,children:[t.map(f=>r.jsx("td",{role:"gridcell",className:`
|
|
29
|
+
${d}
|
|
30
|
+
${b(f.align)}
|
|
31
|
+
${f.sticky?"sticky left-0 z-10 bg-inherit":""}
|
|
32
|
+
`,style:{width:f.width,minWidth:f.minWidth},children:f.render(u,j)},f.key)),k&&s&&r.jsx("td",{className:`${d} w-12 text-right`,role:"gridcell",children:r.jsx(Z,{className:"h-4 w-4 text-gray-300 dark:text-gray-600 group-hover:text-gray-500 dark:group-hover:text-gray-400 transition-colors inline-block","aria-hidden":"true"})})]},a(u)))})]})})})}function he({children:t,mono:e=!1,truncate:a=!1,maxWidth:s,secondary:m=!1,className:c=""}){return r.jsx("span",{className:`
|
|
33
|
+
text-sm
|
|
34
|
+
${e?"font-mono":""}
|
|
35
|
+
${m?"text-gray-500 dark:text-gray-400":"text-gray-900 dark:text-white"}
|
|
36
|
+
${a?"block truncate":""}
|
|
37
|
+
${c}
|
|
38
|
+
`,style:s?{maxWidth:s,display:"block"}:void 0,title:a&&typeof t=="string"?t:void 0,children:t})}function be({tags:t,max:e=3,onTagClick:a}){const s=t.slice(0,e),m=t.length-e;return t.length===0?r.jsx("span",{className:"text-sm text-gray-400 dark:text-gray-500",children:"—"}):r.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[s.map(c=>r.jsx("button",{onClick:a?v=>a(c,v):void 0,className:`
|
|
39
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
40
|
+
${$(c)}
|
|
41
|
+
${a?"cursor-pointer hover:scale-105":""}
|
|
42
|
+
transition-transform
|
|
43
|
+
`,children:c.toUpperCase()},c)),m>0&&r.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500",children:["+",m]})]})}function Ne({method:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
44
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
45
|
+
${a}
|
|
46
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
47
|
+
transition-transform
|
|
48
|
+
`,children:t.toUpperCase()})}function ve({code:t,onClick:e}){const a=$(String(t));return r.jsx("button",{onClick:e,className:`
|
|
49
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold tracking-wide shadow
|
|
50
|
+
${a}
|
|
51
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
52
|
+
transition-transform
|
|
53
|
+
`,children:t})}function ke({ms:t,slowThreshold:e=1e3,verySlowThreshold:a=5e3}){let s,m;return t>=a?s="text-red-600 dark:text-red-400":t>=e?s="text-yellow-600 dark:text-yellow-400":s="text-gray-600 dark:text-gray-300",t>=1e3?m=`${(t/1e3).toFixed(2)}s`:m=`${t}ms`,r.jsx("span",{className:`text-sm font-mono tabular-nums ${s}`,children:m})}function we({level:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
54
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
55
|
+
${a}
|
|
56
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
57
|
+
transition-transform
|
|
58
|
+
`,children:t.toUpperCase()})}function Se({status:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
59
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
60
|
+
${a}
|
|
61
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
62
|
+
transition-transform
|
|
63
|
+
`,children:t.toUpperCase()})}function je({operation:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
64
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
65
|
+
${a}
|
|
66
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
67
|
+
transition-transform
|
|
68
|
+
`,children:t.toUpperCase()})}function Ee({hit:t,onClick:e}){const a=t?"HIT":"MISS",s=$(a);return r.jsx("button",{onClick:e,className:`
|
|
69
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
70
|
+
${s}
|
|
71
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
72
|
+
transition-transform
|
|
73
|
+
`,children:a})}function Te({status:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
74
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
75
|
+
${a}
|
|
76
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
77
|
+
transition-transform
|
|
78
|
+
`,children:t.toUpperCase()})}function $e({status:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
79
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
80
|
+
${a}
|
|
81
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
82
|
+
transition-transform
|
|
83
|
+
`,children:t.toUpperCase()})}function Ke({source:t,onClick:e}){const a=$(t);return r.jsx("button",{onClick:e,className:`
|
|
84
|
+
inline-flex items-center px-2 py-0.5 rounded text-xs font-bold uppercase tracking-wide shadow
|
|
85
|
+
${a}
|
|
86
|
+
${e?"cursor-pointer hover:scale-105":""}
|
|
87
|
+
transition-transform
|
|
88
|
+
`,children:t.toUpperCase()})}export{je as C,ke as D,ge as F,Se as J,pe as L,Ne as M,me as N,ye as P,ve as S,he as T,de as a,be as b,fe as c,Ke as d,xe as e,we as f,Ee as g,Te as h,$e as i,ue as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a,H as l}from"./index-rkbGYdU7.js";import{e as F,b as v}from"./vendor-B2nVRih0.js";import{C as d,f as P,p as B}from"./ClickableBadge-CV5J3THx.js";import{u as M,a as R,T as o,D as S,P as T,N as $,c as A,L as z}from"./DataTable-B6o9H8lh.js";import{r as L}from"./types-Cldoe2db.js";function K(){const p=F(),{addFilter:t,clearAll:c,serverFilters:u,headerFilters:m,hasFilters:h}=M("dumps"),{entries:x,loading:f,refreshing:s,newEntriesCount:g,hasMore:j,loadMore:y,loadNew:C,autoRefreshEnabled:k,setAutoRefresh:w,meta:i}=R({type:"dump",limit:50,filters:u}),n=x.filter(e=>L(e)),N=e=>e?e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)}MB`:`${(e/(1024*1024*1024)).toFixed(1)}GB`:"-",D=v.useMemo(()=>[{key:"operation",header:"Operation",width:"120px",render:e=>a.jsx(d,{onClick:r=>{r.stopPropagation(),t("operations",e.payload.operation)},children:e.payload.operation.toUpperCase()})},{key:"format",header:"Format",width:"100px",render:e=>a.jsx(d,{onClick:r=>{r.stopPropagation(),t("formats",e.payload.format)},className:"font-mono",children:e.payload.format})},{key:"records",header:"Records",width:"100px",align:"right",render:e=>e.payload.recordCount!==void 0?a.jsx(o,{children:e.payload.recordCount.toLocaleString()}):a.jsx(o,{secondary:!0,children:"-"})},{key:"size",header:"Size",width:"100px",align:"right",render:e=>a.jsx(o,{children:N(e.payload.fileSize)})},{key:"status",header:"Status",width:"100px",render:e=>a.jsx(d,{onClick:r=>{r.stopPropagation(),t("statuses",e.payload.status)},children:e.payload.status.toUpperCase()})},{key:"duration",header:"Duration",width:"100px",align:"right",render:e=>a.jsx(S,{ms:e.payload.duration||0})},{key:"time",header:"Time",width:"170px",align:"right",render:e=>a.jsx(o,{secondary:!0,className:"text-xs",children:P(B(e.createdAt),{addSuffix:!0})})}],[t]);if(f&&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=h?"pt-28":"pt-16";return a.jsxs("div",{children:[a.jsx(T,{title:"Dumps",icon:l,iconColor:"text-slate-600 dark:text-slate-400",count:n.length,totalCount:i==null?void 0:i.total,refreshing:s,autoRefreshEnabled:k,onAutoRefreshToggle:w,filters:m,onClearAllFilters:c}),a.jsxs("div",{className:`${E} space-y-4 transition-all duration-200`,children:[a.jsx($,{count:g,onClick:C,loading:s}),a.jsx(A,{columns:D,data:n,keyExtractor:e=>e.id,onRowClick:e=>p(`/dumps/${e.id}`),emptyMessage:"No data dumps recorded yet",emptyIcon:a.jsx(l,{className:"h-8 w-8 text-gray-400 dark:text-gray-500"})}),a.jsx(z,{hasMore:j,onClick:y,loading:s})]})]})}export{K as default};
|