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.
Files changed (359) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/__tests__/api/api.controller.spec.d.ts +2 -0
  4. package/dist/__tests__/api/api.controller.spec.d.ts.map +1 -0
  5. package/dist/__tests__/api/api.controller.spec.js +982 -0
  6. package/dist/__tests__/api/api.controller.spec.js.map +1 -0
  7. package/dist/__tests__/api/api.guard.spec.d.ts +2 -0
  8. package/dist/__tests__/api/api.guard.spec.d.ts.map +1 -0
  9. package/dist/__tests__/api/api.guard.spec.js +572 -0
  10. package/dist/__tests__/api/api.guard.spec.js.map +1 -0
  11. package/dist/__tests__/api/dashboard.controller.spec.d.ts +2 -0
  12. package/dist/__tests__/api/dashboard.controller.spec.d.ts.map +1 -0
  13. package/dist/__tests__/api/dashboard.controller.spec.js +474 -0
  14. package/dist/__tests__/api/dashboard.controller.spec.js.map +1 -0
  15. package/dist/__tests__/api/tag.controller.spec.d.ts +2 -0
  16. package/dist/__tests__/api/tag.controller.spec.d.ts.map +1 -0
  17. package/dist/__tests__/api/tag.controller.spec.js +280 -0
  18. package/dist/__tests__/api/tag.controller.spec.js.map +1 -0
  19. package/dist/__tests__/collector.service.spec.d.ts +2 -0
  20. package/dist/__tests__/collector.service.spec.d.ts.map +1 -0
  21. package/dist/__tests__/collector.service.spec.js +240 -0
  22. package/dist/__tests__/collector.service.spec.js.map +1 -0
  23. package/dist/__tests__/core/collector.service.spec.d.ts +2 -0
  24. package/dist/__tests__/core/collector.service.spec.d.ts.map +1 -0
  25. package/dist/__tests__/core/collector.service.spec.js +526 -0
  26. package/dist/__tests__/core/collector.service.spec.js.map +1 -0
  27. package/dist/__tests__/core/family-hash.service.spec.d.ts +2 -0
  28. package/dist/__tests__/core/family-hash.service.spec.d.ts.map +1 -0
  29. package/dist/__tests__/core/family-hash.service.spec.js +1117 -0
  30. package/dist/__tests__/core/family-hash.service.spec.js.map +1 -0
  31. package/dist/__tests__/core/pruning.service.spec.d.ts +2 -0
  32. package/dist/__tests__/core/pruning.service.spec.d.ts.map +1 -0
  33. package/dist/__tests__/core/pruning.service.spec.js +224 -0
  34. package/dist/__tests__/core/pruning.service.spec.js.map +1 -0
  35. package/dist/__tests__/core/storage/sqlite.storage.spec.d.ts +2 -0
  36. package/dist/__tests__/core/storage/sqlite.storage.spec.d.ts.map +1 -0
  37. package/dist/__tests__/core/storage/sqlite.storage.spec.js +853 -0
  38. package/dist/__tests__/core/storage/sqlite.storage.spec.js.map +1 -0
  39. package/dist/__tests__/core/tag.service.spec.d.ts +2 -0
  40. package/dist/__tests__/core/tag.service.spec.d.ts.map +1 -0
  41. package/dist/__tests__/core/tag.service.spec.js +994 -0
  42. package/dist/__tests__/core/tag.service.spec.js.map +1 -0
  43. package/dist/__tests__/family-hash.service.spec.d.ts +2 -0
  44. package/dist/__tests__/family-hash.service.spec.d.ts.map +1 -0
  45. package/dist/__tests__/family-hash.service.spec.js +325 -0
  46. package/dist/__tests__/family-hash.service.spec.js.map +1 -0
  47. package/dist/__tests__/filters/api-filters.spec.d.ts +2 -0
  48. package/dist/__tests__/filters/api-filters.spec.d.ts.map +1 -0
  49. package/dist/__tests__/filters/api-filters.spec.js +172 -0
  50. package/dist/__tests__/filters/api-filters.spec.js.map +1 -0
  51. package/dist/__tests__/filters/entry-factories.d.ts +20 -0
  52. package/dist/__tests__/filters/entry-factories.d.ts.map +1 -0
  53. package/dist/__tests__/filters/entry-factories.js +288 -0
  54. package/dist/__tests__/filters/entry-factories.js.map +1 -0
  55. package/dist/__tests__/filters/filter-contract.spec.d.ts +2 -0
  56. package/dist/__tests__/filters/filter-contract.spec.d.ts.map +1 -0
  57. package/dist/__tests__/filters/filter-contract.spec.js +230 -0
  58. package/dist/__tests__/filters/filter-contract.spec.js.map +1 -0
  59. package/dist/__tests__/filters/filter-test-data.d.ts +26 -0
  60. package/dist/__tests__/filters/filter-test-data.d.ts.map +1 -0
  61. package/dist/__tests__/filters/filter-test-data.js +374 -0
  62. package/dist/__tests__/filters/filter-test-data.js.map +1 -0
  63. package/dist/__tests__/filters/storage-filters.spec.d.ts +2 -0
  64. package/dist/__tests__/filters/storage-filters.spec.d.ts.map +1 -0
  65. package/dist/__tests__/filters/storage-filters.spec.js +699 -0
  66. package/dist/__tests__/filters/storage-filters.spec.js.map +1 -0
  67. package/dist/__tests__/filters/test-utils.d.ts +23 -0
  68. package/dist/__tests__/filters/test-utils.d.ts.map +1 -0
  69. package/dist/__tests__/filters/test-utils.js +54 -0
  70. package/dist/__tests__/filters/test-utils.js.map +1 -0
  71. package/dist/__tests__/nestlens.module.spec.d.ts +2 -0
  72. package/dist/__tests__/nestlens.module.spec.d.ts.map +1 -0
  73. package/dist/__tests__/nestlens.module.spec.js +620 -0
  74. package/dist/__tests__/nestlens.module.spec.js.map +1 -0
  75. package/dist/__tests__/pruning.service.spec.d.ts +2 -0
  76. package/dist/__tests__/pruning.service.spec.d.ts.map +1 -0
  77. package/dist/__tests__/pruning.service.spec.js +142 -0
  78. package/dist/__tests__/pruning.service.spec.js.map +1 -0
  79. package/dist/__tests__/setup.d.ts +7 -0
  80. package/dist/__tests__/setup.d.ts.map +1 -0
  81. package/dist/__tests__/setup.js +24 -0
  82. package/dist/__tests__/setup.js.map +1 -0
  83. package/dist/__tests__/tag.service.spec.d.ts +2 -0
  84. package/dist/__tests__/tag.service.spec.d.ts.map +1 -0
  85. package/dist/__tests__/tag.service.spec.js +482 -0
  86. package/dist/__tests__/tag.service.spec.js.map +1 -0
  87. package/dist/__tests__/watchers/batch.watcher.spec.d.ts +2 -0
  88. package/dist/__tests__/watchers/batch.watcher.spec.d.ts.map +1 -0
  89. package/dist/__tests__/watchers/batch.watcher.spec.js +515 -0
  90. package/dist/__tests__/watchers/batch.watcher.spec.js.map +1 -0
  91. package/dist/__tests__/watchers/cache.watcher.spec.d.ts +2 -0
  92. package/dist/__tests__/watchers/cache.watcher.spec.d.ts.map +1 -0
  93. package/dist/__tests__/watchers/cache.watcher.spec.js +395 -0
  94. package/dist/__tests__/watchers/cache.watcher.spec.js.map +1 -0
  95. package/dist/__tests__/watchers/command.watcher.spec.d.ts +2 -0
  96. package/dist/__tests__/watchers/command.watcher.spec.d.ts.map +1 -0
  97. package/dist/__tests__/watchers/command.watcher.spec.js +598 -0
  98. package/dist/__tests__/watchers/command.watcher.spec.js.map +1 -0
  99. package/dist/__tests__/watchers/dump.watcher.spec.d.ts +2 -0
  100. package/dist/__tests__/watchers/dump.watcher.spec.d.ts.map +1 -0
  101. package/dist/__tests__/watchers/dump.watcher.spec.js +724 -0
  102. package/dist/__tests__/watchers/dump.watcher.spec.js.map +1 -0
  103. package/dist/__tests__/watchers/event.watcher.spec.d.ts +2 -0
  104. package/dist/__tests__/watchers/event.watcher.spec.d.ts.map +1 -0
  105. package/dist/__tests__/watchers/event.watcher.spec.js +316 -0
  106. package/dist/__tests__/watchers/event.watcher.spec.js.map +1 -0
  107. package/dist/__tests__/watchers/exception.watcher.spec.d.ts +2 -0
  108. package/dist/__tests__/watchers/exception.watcher.spec.d.ts.map +1 -0
  109. package/dist/__tests__/watchers/exception.watcher.spec.js +495 -0
  110. package/dist/__tests__/watchers/exception.watcher.spec.js.map +1 -0
  111. package/dist/__tests__/watchers/gate.watcher.spec.d.ts +2 -0
  112. package/dist/__tests__/watchers/gate.watcher.spec.d.ts.map +1 -0
  113. package/dist/__tests__/watchers/gate.watcher.spec.js +683 -0
  114. package/dist/__tests__/watchers/gate.watcher.spec.js.map +1 -0
  115. package/dist/__tests__/watchers/http-client.watcher.spec.d.ts +2 -0
  116. package/dist/__tests__/watchers/http-client.watcher.spec.d.ts.map +1 -0
  117. package/dist/__tests__/watchers/http-client.watcher.spec.js +888 -0
  118. package/dist/__tests__/watchers/http-client.watcher.spec.js.map +1 -0
  119. package/dist/__tests__/watchers/job.watcher.spec.d.ts +2 -0
  120. package/dist/__tests__/watchers/job.watcher.spec.d.ts.map +1 -0
  121. package/dist/__tests__/watchers/job.watcher.spec.js +513 -0
  122. package/dist/__tests__/watchers/job.watcher.spec.js.map +1 -0
  123. package/dist/__tests__/watchers/log.watcher.spec.d.ts +2 -0
  124. package/dist/__tests__/watchers/log.watcher.spec.d.ts.map +1 -0
  125. package/dist/__tests__/watchers/log.watcher.spec.js +428 -0
  126. package/dist/__tests__/watchers/log.watcher.spec.js.map +1 -0
  127. package/dist/__tests__/watchers/mail.watcher.spec.d.ts +2 -0
  128. package/dist/__tests__/watchers/mail.watcher.spec.d.ts.map +1 -0
  129. package/dist/__tests__/watchers/mail.watcher.spec.js +425 -0
  130. package/dist/__tests__/watchers/mail.watcher.spec.js.map +1 -0
  131. package/dist/__tests__/watchers/model.watcher.spec.d.ts +2 -0
  132. package/dist/__tests__/watchers/model.watcher.spec.d.ts.map +1 -0
  133. package/dist/__tests__/watchers/model.watcher.spec.js +675 -0
  134. package/dist/__tests__/watchers/model.watcher.spec.js.map +1 -0
  135. package/dist/__tests__/watchers/notification.watcher.spec.d.ts +2 -0
  136. package/dist/__tests__/watchers/notification.watcher.spec.d.ts.map +1 -0
  137. package/dist/__tests__/watchers/notification.watcher.spec.js +595 -0
  138. package/dist/__tests__/watchers/notification.watcher.spec.js.map +1 -0
  139. package/dist/__tests__/watchers/query/types.spec.d.ts +2 -0
  140. package/dist/__tests__/watchers/query/types.spec.d.ts.map +1 -0
  141. package/dist/__tests__/watchers/query/types.spec.js +292 -0
  142. package/dist/__tests__/watchers/query/types.spec.js.map +1 -0
  143. package/dist/__tests__/watchers/query.watcher.spec.d.ts +2 -0
  144. package/dist/__tests__/watchers/query.watcher.spec.d.ts.map +1 -0
  145. package/dist/__tests__/watchers/query.watcher.spec.js +597 -0
  146. package/dist/__tests__/watchers/query.watcher.spec.js.map +1 -0
  147. package/dist/__tests__/watchers/redis.watcher.spec.d.ts +2 -0
  148. package/dist/__tests__/watchers/redis.watcher.spec.d.ts.map +1 -0
  149. package/dist/__tests__/watchers/redis.watcher.spec.js +634 -0
  150. package/dist/__tests__/watchers/redis.watcher.spec.js.map +1 -0
  151. package/dist/__tests__/watchers/request.watcher.spec.d.ts +2 -0
  152. package/dist/__tests__/watchers/request.watcher.spec.d.ts.map +1 -0
  153. package/dist/__tests__/watchers/request.watcher.spec.js +1017 -0
  154. package/dist/__tests__/watchers/request.watcher.spec.js.map +1 -0
  155. package/dist/__tests__/watchers/schedule.watcher.spec.d.ts +2 -0
  156. package/dist/__tests__/watchers/schedule.watcher.spec.d.ts.map +1 -0
  157. package/dist/__tests__/watchers/schedule.watcher.spec.js +338 -0
  158. package/dist/__tests__/watchers/schedule.watcher.spec.js.map +1 -0
  159. package/dist/__tests__/watchers/view.watcher.spec.d.ts +2 -0
  160. package/dist/__tests__/watchers/view.watcher.spec.d.ts.map +1 -0
  161. package/dist/__tests__/watchers/view.watcher.spec.js +564 -0
  162. package/dist/__tests__/watchers/view.watcher.spec.js.map +1 -0
  163. package/dist/api/api.controller.d.ts +193 -0
  164. package/dist/api/api.controller.d.ts.map +1 -0
  165. package/dist/api/api.controller.js +562 -0
  166. package/dist/api/api.controller.js.map +1 -0
  167. package/dist/api/api.guard.d.ts +77 -0
  168. package/dist/api/api.guard.d.ts.map +1 -0
  169. package/dist/api/api.guard.js +294 -0
  170. package/dist/api/api.guard.js.map +1 -0
  171. package/dist/api/dashboard.controller.d.ts +49 -0
  172. package/dist/api/dashboard.controller.d.ts.map +1 -0
  173. package/dist/api/dashboard.controller.js +472 -0
  174. package/dist/api/dashboard.controller.js.map +1 -0
  175. package/dist/api/index.d.ts +5 -0
  176. package/dist/api/index.d.ts.map +1 -0
  177. package/dist/api/index.js +21 -0
  178. package/dist/api/index.js.map +1 -0
  179. package/dist/api/tag.controller.d.ts +65 -0
  180. package/dist/api/tag.controller.d.ts.map +1 -0
  181. package/dist/api/tag.controller.js +149 -0
  182. package/dist/api/tag.controller.js.map +1 -0
  183. package/dist/core/collector.service.d.ts +80 -0
  184. package/dist/core/collector.service.d.ts.map +1 -0
  185. package/dist/core/collector.service.js +255 -0
  186. package/dist/core/collector.service.js.map +1 -0
  187. package/dist/core/family-hash.service.d.ts +64 -0
  188. package/dist/core/family-hash.service.d.ts.map +1 -0
  189. package/dist/core/family-hash.service.js +281 -0
  190. package/dist/core/family-hash.service.js.map +1 -0
  191. package/dist/core/index.d.ts +4 -0
  192. package/dist/core/index.d.ts.map +1 -0
  193. package/dist/core/index.js +20 -0
  194. package/dist/core/index.js.map +1 -0
  195. package/dist/core/pruning.service.d.ts +16 -0
  196. package/dist/core/pruning.service.d.ts.map +1 -0
  197. package/dist/core/pruning.service.js +71 -0
  198. package/dist/core/pruning.service.js.map +1 -0
  199. package/dist/core/storage/index.d.ts +3 -0
  200. package/dist/core/storage/index.d.ts.map +1 -0
  201. package/dist/core/storage/index.js +19 -0
  202. package/dist/core/storage/index.js.map +1 -0
  203. package/dist/core/storage/sqlite.storage.d.ts +60 -0
  204. package/dist/core/storage/sqlite.storage.d.ts.map +1 -0
  205. package/dist/core/storage/sqlite.storage.js +929 -0
  206. package/dist/core/storage/sqlite.storage.js.map +1 -0
  207. package/dist/core/storage/storage.interface.d.ts +122 -0
  208. package/dist/core/storage/storage.interface.d.ts.map +1 -0
  209. package/dist/core/storage/storage.interface.js +5 -0
  210. package/dist/core/storage/storage.interface.js.map +1 -0
  211. package/dist/core/tag.service.d.ts +71 -0
  212. package/dist/core/tag.service.d.ts.map +1 -0
  213. package/dist/core/tag.service.js +568 -0
  214. package/dist/core/tag.service.js.map +1 -0
  215. package/dist/dashboard/public/assets/BatchesPage-DFT4fKlJ.js +1 -0
  216. package/dist/dashboard/public/assets/CachePage-CRy1Tjb8.js +1 -0
  217. package/dist/dashboard/public/assets/ClickableBadge-CV5J3THx.js +1 -0
  218. package/dist/dashboard/public/assets/CommandsPage-DdRnTm-W.js +1 -0
  219. package/dist/dashboard/public/assets/DashboardPage-CjaRZXYy.js +26 -0
  220. package/dist/dashboard/public/assets/DataTable-B6o9H8lh.js +88 -0
  221. package/dist/dashboard/public/assets/DumpsPage-DO8y1RTg.js +1 -0
  222. package/dist/dashboard/public/assets/EntryDetailPage-By-YcAGL.js +125 -0
  223. package/dist/dashboard/public/assets/EventsPage-u-r4AiT4.js +1 -0
  224. package/dist/dashboard/public/assets/ExceptionsPage-DXUcARr1.js +6 -0
  225. package/dist/dashboard/public/assets/GatesPage-DpeP7CDZ.js +1 -0
  226. package/dist/dashboard/public/assets/HttpClientPage-BJ4-5E6t.js +1 -0
  227. package/dist/dashboard/public/assets/JobsPage-Dv3KaX2x.js +1 -0
  228. package/dist/dashboard/public/assets/LogsPage-D0Q3yDb1.js +1 -0
  229. package/dist/dashboard/public/assets/MailPage-Bf8C6WF6.js +1 -0
  230. package/dist/dashboard/public/assets/ModelsPage-BMHncI5y.js +1 -0
  231. package/dist/dashboard/public/assets/NotificationsPage-D5-I-Oxb.js +1 -0
  232. package/dist/dashboard/public/assets/QueriesPage-oNp0i6Gt.js +1 -0
  233. package/dist/dashboard/public/assets/RedisPage-_GeS2OD8.js +1 -0
  234. package/dist/dashboard/public/assets/RequestsPage-BCwqu9US.js +1 -0
  235. package/dist/dashboard/public/assets/SchedulePage-CR0P-oX6.js +1 -0
  236. package/dist/dashboard/public/assets/ViewsPage-Dsy5ECRA.js +1 -0
  237. package/dist/dashboard/public/assets/calendar-DfK3x-6B.js +6 -0
  238. package/dist/dashboard/public/assets/circle-check-big-DcsYW8y8.js +6 -0
  239. package/dist/dashboard/public/assets/format-BFldcnCk.js +1 -0
  240. package/dist/dashboard/public/assets/index-DmeA1maE.css +1 -0
  241. package/dist/dashboard/public/assets/index-rkbGYdU7.js +351 -0
  242. package/dist/dashboard/public/assets/types-Cldoe2db.js +1 -0
  243. package/dist/dashboard/public/assets/vendor-B2nVRih0.js +43 -0
  244. package/dist/dashboard/public/assets/zap-DqtRi0JM.js +6 -0
  245. package/dist/dashboard/public/index.html +15 -0
  246. package/dist/dashboard/public/nestlens-icon.svg +9 -0
  247. package/dist/index.d.ts +22 -0
  248. package/dist/index.d.ts.map +1 -0
  249. package/dist/index.js +69 -0
  250. package/dist/index.js.map +1 -0
  251. package/dist/nestlens.config.d.ts +216 -0
  252. package/dist/nestlens.config.d.ts.map +1 -0
  253. package/dist/nestlens.config.js +57 -0
  254. package/dist/nestlens.config.js.map +1 -0
  255. package/dist/nestlens.module.d.ts +10 -0
  256. package/dist/nestlens.module.d.ts.map +1 -0
  257. package/dist/nestlens.module.js +211 -0
  258. package/dist/nestlens.module.js.map +1 -0
  259. package/dist/types/entry.types.d.ts +368 -0
  260. package/dist/types/entry.types.d.ts.map +1 -0
  261. package/dist/types/entry.types.js +3 -0
  262. package/dist/types/entry.types.js.map +1 -0
  263. package/dist/types/index.d.ts +4 -0
  264. package/dist/types/index.d.ts.map +1 -0
  265. package/dist/types/index.js +20 -0
  266. package/dist/types/index.js.map +1 -0
  267. package/dist/types/request.types.d.ts +9 -0
  268. package/dist/types/request.types.d.ts.map +1 -0
  269. package/dist/types/request.types.js +3 -0
  270. package/dist/types/request.types.js.map +1 -0
  271. package/dist/types/tag.types.d.ts +32 -0
  272. package/dist/types/tag.types.d.ts.map +1 -0
  273. package/dist/types/tag.types.js +3 -0
  274. package/dist/types/tag.types.js.map +1 -0
  275. package/dist/watchers/batch.watcher.d.ts +48 -0
  276. package/dist/watchers/batch.watcher.d.ts.map +1 -0
  277. package/dist/watchers/batch.watcher.js +185 -0
  278. package/dist/watchers/batch.watcher.js.map +1 -0
  279. package/dist/watchers/cache.watcher.d.ts +19 -0
  280. package/dist/watchers/cache.watcher.d.ts.map +1 -0
  281. package/dist/watchers/cache.watcher.js +158 -0
  282. package/dist/watchers/cache.watcher.js.map +1 -0
  283. package/dist/watchers/command.watcher.d.ts +32 -0
  284. package/dist/watchers/command.watcher.d.ts.map +1 -0
  285. package/dist/watchers/command.watcher.js +174 -0
  286. package/dist/watchers/command.watcher.js.map +1 -0
  287. package/dist/watchers/dump.watcher.d.ts +52 -0
  288. package/dist/watchers/dump.watcher.d.ts.map +1 -0
  289. package/dist/watchers/dump.watcher.js +234 -0
  290. package/dist/watchers/dump.watcher.js.map +1 -0
  291. package/dist/watchers/event.watcher.d.ts +20 -0
  292. package/dist/watchers/event.watcher.d.ts.map +1 -0
  293. package/dist/watchers/event.watcher.js +123 -0
  294. package/dist/watchers/event.watcher.js.map +1 -0
  295. package/dist/watchers/exception.watcher.d.ts +15 -0
  296. package/dist/watchers/exception.watcher.d.ts.map +1 -0
  297. package/dist/watchers/exception.watcher.js +117 -0
  298. package/dist/watchers/exception.watcher.js.map +1 -0
  299. package/dist/watchers/gate.watcher.d.ts +40 -0
  300. package/dist/watchers/gate.watcher.d.ts.map +1 -0
  301. package/dist/watchers/gate.watcher.js +200 -0
  302. package/dist/watchers/gate.watcher.js.map +1 -0
  303. package/dist/watchers/http-client.watcher.d.ts +34 -0
  304. package/dist/watchers/http-client.watcher.d.ts.map +1 -0
  305. package/dist/watchers/http-client.watcher.js +259 -0
  306. package/dist/watchers/http-client.watcher.js.map +1 -0
  307. package/dist/watchers/index.d.ts +19 -0
  308. package/dist/watchers/index.d.ts.map +1 -0
  309. package/dist/watchers/index.js +35 -0
  310. package/dist/watchers/index.js.map +1 -0
  311. package/dist/watchers/job.watcher.d.ts +27 -0
  312. package/dist/watchers/job.watcher.d.ts.map +1 -0
  313. package/dist/watchers/job.watcher.js +190 -0
  314. package/dist/watchers/job.watcher.js.map +1 -0
  315. package/dist/watchers/log.watcher.d.ts +26 -0
  316. package/dist/watchers/log.watcher.d.ts.map +1 -0
  317. package/dist/watchers/log.watcher.js +122 -0
  318. package/dist/watchers/log.watcher.js.map +1 -0
  319. package/dist/watchers/mail.watcher.d.ts +26 -0
  320. package/dist/watchers/mail.watcher.d.ts.map +1 -0
  321. package/dist/watchers/mail.watcher.js +154 -0
  322. package/dist/watchers/mail.watcher.js.map +1 -0
  323. package/dist/watchers/model.watcher.d.ts +54 -0
  324. package/dist/watchers/model.watcher.d.ts.map +1 -0
  325. package/dist/watchers/model.watcher.js +343 -0
  326. package/dist/watchers/model.watcher.js.map +1 -0
  327. package/dist/watchers/notification.watcher.d.ts +48 -0
  328. package/dist/watchers/notification.watcher.d.ts.map +1 -0
  329. package/dist/watchers/notification.watcher.js +215 -0
  330. package/dist/watchers/notification.watcher.js.map +1 -0
  331. package/dist/watchers/query/index.d.ts +3 -0
  332. package/dist/watchers/query/index.d.ts.map +1 -0
  333. package/dist/watchers/query/index.js +19 -0
  334. package/dist/watchers/query/index.js.map +1 -0
  335. package/dist/watchers/query/query.watcher.d.ts +27 -0
  336. package/dist/watchers/query/query.watcher.d.ts.map +1 -0
  337. package/dist/watchers/query/query.watcher.js +167 -0
  338. package/dist/watchers/query/query.watcher.js.map +1 -0
  339. package/dist/watchers/query/types.d.ts +60 -0
  340. package/dist/watchers/query/types.d.ts.map +1 -0
  341. package/dist/watchers/query/types.js +55 -0
  342. package/dist/watchers/query/types.js.map +1 -0
  343. package/dist/watchers/redis.watcher.d.ts +43 -0
  344. package/dist/watchers/redis.watcher.d.ts.map +1 -0
  345. package/dist/watchers/redis.watcher.js +225 -0
  346. package/dist/watchers/redis.watcher.js.map +1 -0
  347. package/dist/watchers/request.watcher.d.ts +21 -0
  348. package/dist/watchers/request.watcher.d.ts.map +1 -0
  349. package/dist/watchers/request.watcher.js +287 -0
  350. package/dist/watchers/request.watcher.js.map +1 -0
  351. package/dist/watchers/schedule.watcher.d.ts +25 -0
  352. package/dist/watchers/schedule.watcher.d.ts.map +1 -0
  353. package/dist/watchers/schedule.watcher.js +168 -0
  354. package/dist/watchers/schedule.watcher.js.map +1 -0
  355. package/dist/watchers/view.watcher.d.ts +51 -0
  356. package/dist/watchers/view.watcher.d.ts.map +1 -0
  357. package/dist/watchers/view.watcher.js +219 -0
  358. package/dist/watchers/view.watcher.js.map +1 -0
  359. 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};