@dudousxd/nestjs-telescope-ui 2.0.0 → 3.0.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/CHANGELOG.md +771 -0
- package/README.md +35 -0
- package/dist/client/console-url.d.ts +11 -0
- package/dist/client/console-url.d.ts.map +1 -0
- package/dist/client/console-url.js +21 -0
- package/dist/client/console-url.js.map +1 -0
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +4 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/telescope-client.d.ts +82 -11
- package/dist/client/telescope-client.d.ts.map +1 -1
- package/dist/client/telescope-client.js +101 -54
- package/dist/client/telescope-client.js.map +1 -1
- package/dist/client/types.d.ts +431 -30
- package/dist/client/types.d.ts.map +1 -1
- package/dist/react/components/batch-timeline.js +2 -2
- package/dist/react/components/batch-timeline.js.map +1 -1
- package/dist/react/components/cache-badge.d.ts +14 -6
- package/dist/react/components/cache-badge.d.ts.map +1 -1
- package/dist/react/components/cache-badge.js +26 -12
- package/dist/react/components/cache-badge.js.map +1 -1
- package/dist/react/components/charts/area-chart-card.d.ts +11 -3
- package/dist/react/components/charts/area-chart-card.d.ts.map +1 -1
- package/dist/react/components/charts/area-chart-card.js +33 -6
- package/dist/react/components/charts/area-chart-card.js.map +1 -1
- package/dist/react/components/charts/bar-chart-card.d.ts +18 -7
- package/dist/react/components/charts/bar-chart-card.d.ts.map +1 -1
- package/dist/react/components/charts/bar-chart-card.js +18 -9
- package/dist/react/components/charts/bar-chart-card.js.map +1 -1
- package/dist/react/components/charts/breakdown-card.d.ts +17 -0
- package/dist/react/components/charts/breakdown-card.d.ts.map +1 -0
- package/dist/react/components/charts/breakdown-card.js +43 -0
- package/dist/react/components/charts/breakdown-card.js.map +1 -0
- package/dist/react/components/charts/chart-card.d.ts +7 -0
- package/dist/react/components/charts/chart-card.d.ts.map +1 -1
- package/dist/react/components/charts/chart-card.js +10 -3
- package/dist/react/components/charts/chart-card.js.map +1 -1
- package/dist/react/components/charts/chart-selection.d.ts +44 -0
- package/dist/react/components/charts/chart-selection.d.ts.map +1 -0
- package/dist/react/components/charts/chart-selection.js +36 -0
- package/dist/react/components/charts/chart-selection.js.map +1 -0
- package/dist/react/components/charts/chart-theme.d.ts +62 -19
- package/dist/react/components/charts/chart-theme.d.ts.map +1 -1
- package/dist/react/components/charts/chart-theme.js +72 -13
- package/dist/react/components/charts/chart-theme.js.map +1 -1
- package/dist/react/components/charts/distribution-chart-card.d.ts +17 -0
- package/dist/react/components/charts/distribution-chart-card.d.ts.map +1 -0
- package/dist/react/components/charts/distribution-chart-card.js +46 -0
- package/dist/react/components/charts/distribution-chart-card.js.map +1 -0
- package/dist/react/components/charts/gauge-card.d.ts +12 -0
- package/dist/react/components/charts/gauge-card.d.ts.map +1 -0
- package/dist/react/components/charts/gauge-card.js +17 -0
- package/dist/react/components/charts/gauge-card.js.map +1 -0
- package/dist/react/components/charts/index.d.ts +1 -0
- package/dist/react/components/charts/index.d.ts.map +1 -1
- package/dist/react/components/charts/index.js +1 -0
- package/dist/react/components/charts/index.js.map +1 -1
- package/dist/react/components/charts/stacked-area-chart-card.d.ts +17 -3
- package/dist/react/components/charts/stacked-area-chart-card.d.ts.map +1 -1
- package/dist/react/components/charts/stacked-area-chart-card.js +31 -8
- package/dist/react/components/charts/stacked-area-chart-card.js.map +1 -1
- package/dist/react/components/entries-table.d.ts.map +1 -1
- package/dist/react/components/entries-table.js +17 -3
- package/dist/react/components/entries-table.js.map +1 -1
- package/dist/react/components/entry-detail.d.ts +2 -0
- package/dist/react/components/entry-detail.d.ts.map +1 -1
- package/dist/react/components/entry-detail.js +186 -20
- package/dist/react/components/entry-detail.js.map +1 -1
- package/dist/react/components/entry-insights.d.ts.map +1 -1
- package/dist/react/components/entry-insights.js +28 -17
- package/dist/react/components/entry-insights.js.map +1 -1
- package/dist/react/components/entry-types.d.ts +29 -0
- package/dist/react/components/entry-types.d.ts.map +1 -1
- package/dist/react/components/entry-types.js +60 -0
- package/dist/react/components/entry-types.js.map +1 -1
- package/dist/react/components/export-json-toolbar.js +2 -2
- package/dist/react/components/export-json-toolbar.js.map +1 -1
- package/dist/react/components/extensions/panel-column-menu.d.ts +19 -0
- package/dist/react/components/extensions/panel-column-menu.d.ts.map +1 -0
- package/dist/react/components/extensions/panel-column-menu.js +47 -0
- package/dist/react/components/extensions/panel-column-menu.js.map +1 -0
- package/dist/react/components/extensions/panel-renderer.d.ts +46 -0
- package/dist/react/components/extensions/panel-renderer.d.ts.map +1 -0
- package/dist/react/components/extensions/panel-renderer.js +122 -0
- package/dist/react/components/extensions/panel-renderer.js.map +1 -0
- package/dist/react/components/extensions/panel-table-header.d.ts +18 -0
- package/dist/react/components/extensions/panel-table-header.d.ts.map +1 -0
- package/dist/react/components/extensions/panel-table-header.js +82 -0
- package/dist/react/components/extensions/panel-table-header.js.map +1 -0
- package/dist/react/components/extensions/panel-table.d.ts +27 -0
- package/dist/react/components/extensions/panel-table.d.ts.map +1 -0
- package/dist/react/components/extensions/panel-table.js +87 -0
- package/dist/react/components/extensions/panel-table.js.map +1 -0
- package/dist/react/components/extensions/stat-card.d.ts +18 -0
- package/dist/react/components/extensions/stat-card.d.ts.map +1 -0
- package/dist/react/components/extensions/stat-card.js +44 -0
- package/dist/react/components/extensions/stat-card.js.map +1 -0
- package/dist/react/components/extensions/table-columns.d.ts +32 -0
- package/dist/react/components/extensions/table-columns.d.ts.map +1 -0
- package/dist/react/components/extensions/table-columns.js +51 -0
- package/dist/react/components/extensions/table-columns.js.map +1 -0
- package/dist/react/components/extensions/table-features.d.ts +47 -0
- package/dist/react/components/extensions/table-features.d.ts.map +1 -0
- package/dist/react/components/extensions/table-features.js +45 -0
- package/dist/react/components/extensions/table-features.js.map +1 -0
- package/dist/react/components/extensions/table-query.d.ts +53 -0
- package/dist/react/components/extensions/table-query.d.ts.map +1 -0
- package/dist/react/components/extensions/table-query.js +51 -0
- package/dist/react/components/extensions/table-query.js.map +1 -0
- package/dist/react/components/flamegraph-view.d.ts +18 -0
- package/dist/react/components/flamegraph-view.d.ts.map +1 -0
- package/dist/react/components/flamegraph-view.js +48 -0
- package/dist/react/components/flamegraph-view.js.map +1 -0
- package/dist/react/components/flamegraph.d.ts +34 -0
- package/dist/react/components/flamegraph.d.ts.map +1 -0
- package/dist/react/components/flamegraph.js +54 -0
- package/dist/react/components/flamegraph.js.map +1 -0
- package/dist/react/components/inertia-badge.d.ts +33 -0
- package/dist/react/components/inertia-badge.d.ts.map +1 -0
- package/dist/react/components/inertia-badge.js +72 -0
- package/dist/react/components/inertia-badge.js.map +1 -0
- package/dist/react/components/inertia-body.d.ts +11 -0
- package/dist/react/components/inertia-body.d.ts.map +1 -0
- package/dist/react/components/inertia-body.js +127 -0
- package/dist/react/components/inertia-body.js.map +1 -0
- package/dist/react/components/official-event.d.ts +16 -0
- package/dist/react/components/official-event.d.ts.map +1 -0
- package/dist/react/components/official-event.js +88 -0
- package/dist/react/components/official-event.js.map +1 -0
- package/dist/react/components/pulse-panel.d.ts.map +1 -1
- package/dist/react/components/pulse-panel.js +6 -6
- package/dist/react/components/pulse-panel.js.map +1 -1
- package/dist/react/components/queues/EnqueueJobForm.d.ts.map +1 -1
- package/dist/react/components/queues/EnqueueJobForm.js +2 -1
- package/dist/react/components/queues/EnqueueJobForm.js.map +1 -1
- package/dist/react/components/queues/JobActions.d.ts.map +1 -1
- package/dist/react/components/queues/JobActions.js +11 -9
- package/dist/react/components/queues/JobActions.js.map +1 -1
- package/dist/react/components/queues/JobDetailDrawer.d.ts.map +1 -1
- package/dist/react/components/queues/JobDetailDrawer.js +8 -13
- package/dist/react/components/queues/JobDetailDrawer.js.map +1 -1
- package/dist/react/components/queues/JobTable.d.ts.map +1 -1
- package/dist/react/components/queues/JobTable.js +0 -0
- package/dist/react/components/queues/JobTable.js.map +1 -1
- package/dist/react/components/queues/QueueList.d.ts.map +1 -1
- package/dist/react/components/queues/QueueList.js +6 -6
- package/dist/react/components/queues/QueueList.js.map +1 -1
- package/dist/react/components/queues/QueueStateTabs.d.ts.map +1 -1
- package/dist/react/components/queues/QueueStateTabs.js +9 -7
- package/dist/react/components/queues/QueueStateTabs.js.map +1 -1
- package/dist/react/components/queues/queue-format.d.ts +5 -1
- package/dist/react/components/queues/queue-format.d.ts.map +1 -1
- package/dist/react/components/queues/queue-format.js +11 -7
- package/dist/react/components/queues/queue-format.js.map +1 -1
- package/dist/react/components/queues-panel.js +1 -1
- package/dist/react/components/queues-panel.js.map +1 -1
- package/dist/react/components/request-timeline.d.ts.map +1 -1
- package/dist/react/components/request-timeline.js +2 -2
- package/dist/react/components/request-timeline.js.map +1 -1
- package/dist/react/components/retention-indicator.d.ts.map +1 -1
- package/dist/react/components/retention-indicator.js +1 -1
- package/dist/react/components/retention-indicator.js.map +1 -1
- package/dist/react/components/sparkline.d.ts.map +1 -1
- package/dist/react/components/sparkline.js +1 -1
- package/dist/react/components/sparkline.js.map +1 -1
- package/dist/react/components/tag-autocomplete.d.ts +21 -4
- package/dist/react/components/tag-autocomplete.d.ts.map +1 -1
- package/dist/react/components/tag-autocomplete.js +57 -29
- package/dist/react/components/tag-autocomplete.js.map +1 -1
- package/dist/react/components/to-csv.d.ts +25 -0
- package/dist/react/components/to-csv.d.ts.map +1 -0
- package/dist/react/components/to-csv.js +78 -0
- package/dist/react/components/to-csv.js.map +1 -0
- package/dist/react/components/user-tag.d.ts +15 -0
- package/dist/react/components/user-tag.d.ts.map +1 -1
- package/dist/react/components/user-tag.js +19 -0
- package/dist/react/components/user-tag.js.map +1 -1
- package/dist/react/components/waterfall-view.d.ts +13 -0
- package/dist/react/components/waterfall-view.d.ts.map +1 -0
- package/dist/react/components/waterfall-view.js +58 -0
- package/dist/react/components/waterfall-view.js.map +1 -0
- package/dist/react/components/window-select.d.ts.map +1 -1
- package/dist/react/components/window-select.js +6 -2
- package/dist/react/components/window-select.js.map +1 -1
- package/dist/react/index.d.ts +7 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +11 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/ui/badge.d.ts +16 -0
- package/dist/react/ui/badge.d.ts.map +1 -0
- package/dist/react/ui/badge.js +28 -0
- package/dist/react/ui/badge.js.map +1 -0
- package/dist/react/ui/button.d.ts +17 -0
- package/dist/react/ui/button.d.ts.map +1 -0
- package/dist/react/ui/button.js +35 -0
- package/dist/react/ui/button.js.map +1 -0
- package/dist/react/ui/chart.d.ts +116 -0
- package/dist/react/ui/chart.d.ts.map +1 -0
- package/dist/react/ui/chart.js +191 -0
- package/dist/react/ui/chart.js.map +1 -0
- package/dist/react/ui/cn.d.ts +8 -0
- package/dist/react/ui/cn.d.ts.map +1 -0
- package/dist/react/ui/cn.js +11 -0
- package/dist/react/ui/cn.js.map +1 -0
- package/dist/react/ui/dialog.d.ts +26 -0
- package/dist/react/ui/dialog.d.ts.map +1 -0
- package/dist/react/ui/dialog.js +40 -0
- package/dist/react/ui/dialog.js.map +1 -0
- package/dist/react/ui/index.d.ts +24 -0
- package/dist/react/ui/index.d.ts.map +1 -0
- package/dist/react/ui/index.js +24 -0
- package/dist/react/ui/index.js.map +1 -0
- package/dist/react/ui/input.d.ts +3 -0
- package/dist/react/ui/input.d.ts.map +1 -0
- package/dist/react/ui/input.js +8 -0
- package/dist/react/ui/input.js.map +1 -0
- package/dist/react/ui/select.d.ts +20 -0
- package/dist/react/ui/select.d.ts.map +1 -0
- package/dist/react/ui/select.js +27 -0
- package/dist/react/ui/select.js.map +1 -0
- package/dist/react/ui/table.d.ts +27 -0
- package/dist/react/ui/table.d.ts.map +1 -0
- package/dist/react/ui/table.js +22 -0
- package/dist/react/ui/table.js.map +1 -0
- package/dist/react/ui/tabs.d.ts +12 -0
- package/dist/react/ui/tabs.d.ts.map +1 -0
- package/dist/react/ui/tabs.js +20 -0
- package/dist/react/ui/tabs.js.map +1 -0
- package/dist/react/ui/tooltip.d.ts +10 -0
- package/dist/react/ui/tooltip.d.ts.map +1 -0
- package/dist/react/ui/tooltip.js +12 -0
- package/dist/react/ui/tooltip.js.map +1 -0
- package/dist/react/use-telescope-queries.d.ts +129 -130
- package/dist/react/use-telescope-queries.d.ts.map +1 -1
- package/dist/react/use-telescope-queries.js +146 -1
- package/dist/react/use-telescope-queries.js.map +1 -1
- package/dist/react/use-telescope-stream.d.ts +10 -0
- package/dist/react/use-telescope-stream.d.ts.map +1 -0
- package/dist/react/use-telescope-stream.js +40 -0
- package/dist/react/use-telescope-stream.js.map +1 -0
- package/dist/server/index.d.ts +3 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +5 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/telescope-ui.controller.d.ts.map +1 -1
- package/dist/server/telescope-ui.controller.js +3 -1
- package/dist/server/telescope-ui.controller.js.map +1 -1
- package/dist/server/telescope-ui.module.d.ts +28 -1
- package/dist/server/telescope-ui.module.d.ts.map +1 -1
- package/dist/server/telescope-ui.module.js +48 -4
- package/dist/server/telescope-ui.module.js.map +1 -1
- package/dist/server/telescope-ui.options.d.ts +63 -0
- package/dist/server/telescope-ui.options.d.ts.map +1 -1
- package/dist/server/telescope-ui.options.js.map +1 -1
- package/dist/spa/assets/index-BfyQ_2IN.css +1 -0
- package/dist/spa/assets/index-EBJiTdQF.js +159 -0
- package/dist/spa/index.html +2 -2
- package/package.json +75 -36
- package/skills/telescope-ui-dashboard/SKILL.md +203 -0
- package/dist/react/components/type-tabs.d.ts +0 -5
- package/dist/react/components/type-tabs.d.ts.map +0 -1
- package/dist/react/components/type-tabs.js +0 -8
- package/dist/react/components/type-tabs.js.map +0 -1
- package/dist/spa/assets/index-CCzTpxj3.css +0 -1
- package/dist/spa/assets/index-w0XTI5OM.js +0 -135
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnqueueJobForm.js","sourceRoot":"","sources":["../../../../src/react/components/queues/EnqueueJobForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,8FAA8F;AAC9F,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,YAAY,EACZ,MAAM,EACN,KAAK,GAKN;IACC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,SAAS,CAAC,CAAC;IAE3E,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,KAAK,UAAU,MAAM,CAAC,KAAiC;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;gBACxC,MAAM;gBACN,KAAK;gBACL,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,OAAO,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC,CAAC;YACH,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,UAAU,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CACL,gBAAM,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"EnqueueJobForm.js","sourceRoot":"","sources":["../../../../src/react/components/queues/EnqueueJobForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobActions.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/JobActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACX,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"JobActions.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/JobActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAIlC,8EAA8E;AAC9E,wBAAgB,cAAc,CAC5B,YAAY,EAAE,iBAAiB,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,GACtB,OAAO,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAW1F;AAqED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,EACzB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,EAAE,EACF,KAAK,EACL,MAAM,GACP,EAAE;IACD,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAoBrB;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,MAAM,EACN,KAAK,GACN,EAAE;IACD,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAqBrB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,MAAM,EACN,KAAK,GACN,EAAE;IACD,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAoCrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
+
import { Button } from '../../ui/index.js';
|
|
3
4
|
import { useQueueAction, useQueueJobAction } from '../../use-telescope-queries.js';
|
|
4
5
|
/** Does the driver advertise this action AND are mutations enabled at all? */
|
|
5
6
|
export function supportsAction(capabilities, driver, action) {
|
|
@@ -28,10 +29,11 @@ export function jobActionAllowedForState(action, state) {
|
|
|
28
29
|
function isForbidden(error) {
|
|
29
30
|
return error instanceof Error && /\b403\b/.test(error.message);
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
/** Semantic `Button` variant per action — the hue comes from the Aviary status tokens. */
|
|
33
|
+
const ACTION_VARIANT = {
|
|
34
|
+
retry: 'good',
|
|
35
|
+
promote: 'warn',
|
|
36
|
+
remove: 'bad',
|
|
35
37
|
};
|
|
36
38
|
function JobActionButton({ driver, queue, id, action, onDone, }) {
|
|
37
39
|
const mutation = useQueueJobAction();
|
|
@@ -49,9 +51,9 @@ function JobActionButton({ driver, queue, id, action, onDone, }) {
|
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
if (action === 'remove' && confirming) {
|
|
52
|
-
return (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(
|
|
54
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Button, { variant: "bad", disabled: pending, onClick: fire, children: pending ? 'Removing…' : 'Confirm remove' }), _jsx(Button, { variant: "ghost", onClick: () => setConfirming(false), children: "Cancel" })] }));
|
|
53
55
|
}
|
|
54
|
-
return (_jsxs("span", { className: "inline-flex flex-col", children: [_jsx(
|
|
56
|
+
return (_jsxs("span", { className: "inline-flex flex-col", children: [_jsx(Button, { variant: ACTION_VARIANT[action], disabled: pending, onClick: action === 'remove' ? () => setConfirming(true) : fire, className: "capitalize", children: pending ? `${action}…` : action }), forbidden && _jsx("span", { className: "mt-0.5 text-[10px] text-bad", children: "Not authorized" })] }));
|
|
55
57
|
}
|
|
56
58
|
/** Per-job action buttons, gated by capabilities + job state. */
|
|
57
59
|
export function JobActions({ capabilities, driver, queue, id, state, onDone, }) {
|
|
@@ -74,7 +76,7 @@ export function RetryAllFailedButton({ capabilities, driver, queue, }) {
|
|
|
74
76
|
// surfaced inline via mutation.error
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
|
-
return (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(
|
|
79
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(Button, { variant: "good", disabled: mutation.isPending, onClick: fire, children: mutation.isPending ? 'Retrying all…' : 'Retry all failed' }), forbidden && _jsx("span", { className: "text-[10px] text-bad", children: "Not authorized" })] }));
|
|
78
80
|
}
|
|
79
81
|
/**
|
|
80
82
|
* "Redrive DLQ" action for SQS-style drivers (moves dead-lettered messages back
|
|
@@ -99,8 +101,8 @@ export function RedriveDlqButton({ capabilities, driver, queue, }) {
|
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
if (confirming) {
|
|
102
|
-
return (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(
|
|
104
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Button, { variant: "warn", disabled: mutation.isPending, onClick: fire, children: mutation.isPending ? 'Redriving…' : 'Confirm redrive' }), _jsx(Button, { variant: "ghost", onClick: () => setConfirming(false), children: "Cancel" })] }));
|
|
103
105
|
}
|
|
104
|
-
return (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(
|
|
106
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(Button, { variant: "warn", disabled: mutation.isPending, onClick: () => setConfirming(true), children: "Redrive DLQ" }), forbidden && _jsx("span", { className: "text-[10px] text-bad", children: "Not authorized" })] }));
|
|
105
107
|
}
|
|
106
108
|
//# sourceMappingURL=JobActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobActions.js","sourceRoot":"","sources":["../../../../src/react/components/queues/JobActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOjC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnF,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAC5B,YAA2C,EAC3C,MAAc,EACd,MAAuB;IAEvB,IAAI,CAAC,YAAY,EAAE,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAqB,EAAE,KAAiB;IAC/E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,KAAK,SAAS,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAC;QACrD,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"JobActions.js","sourceRoot":"","sources":["../../../../src/react/components/queues/JobActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobDetailDrawer.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/JobDetailDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JobDetailDrawer.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/JobDetailDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAoH9F,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,YAAY,EACZ,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CA0Cd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { Badge, Button, Dialog, DialogContent, DialogTitle } from '../../ui/index.js';
|
|
3
3
|
import { useQueueJob } from '../../use-telescope-queries.js';
|
|
4
4
|
import { JobActions } from './JobActions.js';
|
|
5
5
|
import { relativeTime } from './queue-format.js';
|
|
@@ -14,10 +14,10 @@ function prettyJson(value) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
function JsonBlock({ label, value }) {
|
|
17
|
-
return (_jsxs("section", { children: [_jsx("h4", { className: "mb-1 text-[10px] uppercase tracking-wide text-
|
|
17
|
+
return (_jsxs("section", { children: [_jsx("h4", { className: "mb-1 text-[10px] uppercase tracking-wide text-muted-foreground", children: label }), _jsx("pre", { className: "overflow-auto rounded bg-background p-2.5 text-[11px] leading-relaxed text-foreground ring-1 ring-line", children: prettyJson(value) })] }));
|
|
18
18
|
}
|
|
19
19
|
function MetaRow({ label, value }) {
|
|
20
|
-
return (_jsxs("div", { className: "flex items-baseline justify-between gap-3 border-t border-
|
|
20
|
+
return (_jsxs("div", { className: "flex items-baseline justify-between gap-3 border-t border-line-soft py-1 first:border-0", children: [_jsx("span", { className: "text-[10px] uppercase tracking-wide text-muted-foreground", children: label }), _jsx("span", { className: "tabular-nums text-foreground", children: value })] }));
|
|
21
21
|
}
|
|
22
22
|
function timestampLabel(value) {
|
|
23
23
|
if (value == null)
|
|
@@ -25,21 +25,16 @@ function timestampLabel(value) {
|
|
|
25
25
|
return `${new Date(value).toLocaleString()} (${relativeTime(value)})`;
|
|
26
26
|
}
|
|
27
27
|
function DetailBody({ detail, capabilities, driver, queue, state, onClose, }) {
|
|
28
|
-
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("header", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm font-medium text-
|
|
28
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("header", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm font-medium text-brand", children: detail.name || 'job' }), _jsx(Badge, { className: "capitalize", children: detail.state })] }), _jsx("div", { className: "font-mono text-[11px] text-muted-foreground", children: detail.id })] }), _jsx(JobActions, { capabilities: capabilities, driver: driver, queue: queue, id: detail.id, state: state, onDone: onClose }), _jsxs("div", { className: "rounded-lg border border-line bg-panel px-3 py-2 text-xs", children: [_jsx(MetaRow, { label: "Attempts", value: detail.maxAttempts != null
|
|
29
29
|
? `${detail.attemptsMade}/${detail.maxAttempts}`
|
|
30
|
-
: `${detail.attemptsMade}` }), _jsx(MetaRow, { label: "Progress", value: detail.progress != null ? `${detail.progress}` : '—' }), _jsx(MetaRow, { label: "Created", value: timestampLabel(detail.timestamp) }), _jsx(MetaRow, { label: "Processed", value: timestampLabel(detail.processedOn) }), _jsx(MetaRow, { label: "Finished", value: timestampLabel(detail.finishedOn) })] }), detail.failedReason && (_jsxs("section", { children: [_jsx("h4", { className: "mb-1 text-[10px] uppercase tracking-wide text-
|
|
30
|
+
: `${detail.attemptsMade}` }), _jsx(MetaRow, { label: "Progress", value: detail.progress != null ? `${detail.progress}` : '—' }), _jsx(MetaRow, { label: "Created", value: timestampLabel(detail.timestamp) }), _jsx(MetaRow, { label: "Processed", value: timestampLabel(detail.processedOn) }), _jsx(MetaRow, { label: "Finished", value: timestampLabel(detail.finishedOn) })] }), detail.failedReason && (_jsxs("section", { children: [_jsx("h4", { className: "mb-1 text-[10px] uppercase tracking-wide text-bad", children: "Failed reason" }), _jsx("p", { className: "tint-bad rounded border px-2.5 py-2 text-[11px]", children: detail.failedReason })] })), _jsx(JsonBlock, { label: "Payload (data)", value: detail.data }), _jsx(JsonBlock, { label: "Options (opts)", value: detail.opts }), detail.returnValue !== undefined && detail.returnValue !== null && (_jsx(JsonBlock, { label: "Return value", value: detail.returnValue })), detail.stacktrace && detail.stacktrace.length > 0 && (_jsxs("section", { children: [_jsx("h4", { className: "mb-1 text-[10px] uppercase tracking-wide text-muted-foreground", children: "Stacktrace" }), _jsx("pre", { className: "overflow-auto rounded bg-background p-2.5 text-[11px] leading-relaxed text-bad ring-1 ring-line", children: detail.stacktrace.join('\n') })] }))] }));
|
|
31
31
|
}
|
|
32
32
|
/** Right slide-over showing a single job's full detail + actions. */
|
|
33
33
|
export function JobDetailDrawer({ driver, queue, jobId, state, capabilities, onClose, }) {
|
|
34
34
|
const { data, isLoading, isError } = useQueueJob(driver, queue, jobId);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (event.key === 'Escape')
|
|
35
|
+
return (_jsx(Dialog, { open: true, onOpenChange: (next) => {
|
|
36
|
+
if (!next)
|
|
38
37
|
onClose();
|
|
39
|
-
}
|
|
40
|
-
window.addEventListener('keydown', onKey);
|
|
41
|
-
return () => window.removeEventListener('keydown', onKey);
|
|
42
|
-
}, [onClose]);
|
|
43
|
-
return (_jsxs("div", { className: "fixed inset-0 z-40 flex justify-end", children: [_jsx("button", { type: "button", "aria-label": "Close job detail", onClick: onClose, className: "absolute inset-0 bg-black/50" }), _jsxs("aside", { className: "relative z-10 flex h-full w-full max-w-md flex-col border-l border-zinc-800 bg-zinc-950 shadow-2xl", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-zinc-800 px-4 py-2.5", children: [_jsx("span", { className: "text-xs uppercase tracking-wide text-zinc-500", children: "Job detail" }), _jsx("button", { type: "button", onClick: onClose, className: "rounded px-2 py-0.5 text-zinc-500 hover:bg-zinc-900 hover:text-zinc-200", children: "\u2715" })] }), _jsx("div", { className: "flex-1 overflow-auto p-4", children: isLoading ? (_jsx("p", { className: "text-xs text-zinc-600", children: "Loading job\u2026" })) : isError ? (_jsx("p", { className: "text-xs text-red-400", children: "Failed to load job." })) : !data ? (_jsx("p", { className: "text-xs text-zinc-600", children: "Job not found (it may have been removed)." })) : (_jsx(DetailBody, { detail: data, capabilities: capabilities, driver: driver, queue: queue, state: state, onClose: onClose })) })] })] }));
|
|
38
|
+
}, children: _jsxs(DialogContent, { placement: "right", className: "flex flex-col", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-line px-4 py-2.5", children: [_jsx(DialogTitle, { className: "text-xs font-normal uppercase tracking-wide text-muted-foreground", children: "Job detail" }), _jsx(Button, { variant: "ghost", size: "xs", "aria-label": "Close job detail", onClick: onClose, children: "\u2715" })] }), _jsx("div", { className: "flex-1 overflow-auto p-4", children: isLoading ? (_jsx("p", { className: "text-xs text-muted-foreground", children: "Loading job\u2026" })) : isError ? (_jsx("p", { className: "text-xs text-bad", children: "Failed to load job." })) : !data ? (_jsx("p", { className: "text-xs text-muted-foreground", children: "Job not found (it may have been removed)." })) : (_jsx(DetailBody, { detail: data, capabilities: capabilities, driver: driver, queue: queue, state: state, onClose: onClose })) })] }) }));
|
|
44
39
|
}
|
|
45
40
|
//# sourceMappingURL=JobDetailDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobDetailDrawer.js","sourceRoot":"","sources":["../../../../src/react/components/queues/JobDetailDrawer.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"JobDetailDrawer.js","sourceRoot":"","sources":["../../../../src/react/components/queues/JobDetailDrawer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobTable.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/JobTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"JobTable.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/JobTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAkDrE;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GAAG,GAAG,CAAC,OAAO,CA6Ed"}
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobTable.js","sourceRoot":"","sources":["../../../../src/react/components/queues/JobTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,MAAM,CAAC,EACd,GAAG,EACH,MAAM,GAIP;IACC,OAAO,CACL,cACE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAC7B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC,EACD,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"JobTable.js","sourceRoot":"","sources":["../../../../src/react/components/queues/JobTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueList.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueueList.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueList.tsx"],"names":[],"mappings":"AAoEA,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,GAAG,GAAG,CAAC,OAAO,CA8Bd"}
|
|
@@ -3,24 +3,24 @@ import { useLiveQueues } from '../../use-telescope-queries.js';
|
|
|
3
3
|
import { QUEUE_STATE_ORDER, STATE_ACCENT } from './queue-format.js';
|
|
4
4
|
function CountBadge({ state, value, }) {
|
|
5
5
|
const emphasize = state === 'failed' && value > 0;
|
|
6
|
-
return (_jsxs("span", { className: `flex items-baseline gap-1 rounded px-1.5 py-0.5 ${emphasize ? '
|
|
6
|
+
return (_jsxs("span", { className: `flex items-baseline gap-1 rounded px-1.5 py-0.5 ${emphasize ? 'tint-bad' : 'bg-panel-2/60'}`, title: `${value} ${state}`, children: [_jsx("span", { className: "text-[9px] uppercase tracking-wide text-muted-foreground", children: state.slice(0, 4) }), _jsx("span", { className: `tabular-nums ${value > 0 ? STATE_ACCENT[state] : 'text-muted-foreground'}`, children: value })] }));
|
|
7
7
|
}
|
|
8
8
|
function QueueRow({ summary, active, onSelect, }) {
|
|
9
9
|
return (_jsxs("button", { type: "button", onClick: () => onSelect(summary.driver, summary.queue), className: `w-full rounded-lg border px-3 py-2.5 text-left transition-colors ${active
|
|
10
|
-
? 'border-
|
|
11
|
-
: 'border-
|
|
10
|
+
? 'border-brand bg-panel-2'
|
|
11
|
+
: 'border-line bg-panel/40 hover:border-line hover:bg-panel'}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("span", { className: "min-w-0 truncate font-medium text-foreground", children: summary.queue }), summary.isPaused && (_jsx("span", { className: "shrink-0 rounded bg-violet-500/15 px-1.5 py-0.5 text-[9px] uppercase tracking-wide text-violet-300", children: "paused" }))] }), _jsx("div", { className: "mt-0.5 text-[10px] uppercase tracking-wide text-muted-foreground", children: summary.driver }), _jsx("div", { className: "mt-2 flex flex-wrap gap-1 text-[10px]", children: QUEUE_STATE_ORDER.map((state) => (_jsx(CountBadge, { state: state, value: summary.counts[state] }, state))) })] }));
|
|
12
12
|
}
|
|
13
13
|
export function QueueList({ selected, onSelect, }) {
|
|
14
14
|
const { data, isLoading, isError } = useLiveQueues();
|
|
15
15
|
if (isLoading) {
|
|
16
|
-
return _jsx("p", { className: "px-1 py-2 text-xs text-
|
|
16
|
+
return _jsx("p", { className: "px-1 py-2 text-xs text-muted-foreground", children: "Loading queues\u2026" });
|
|
17
17
|
}
|
|
18
18
|
if (isError) {
|
|
19
|
-
return _jsx("p", { className: "px-1 py-2 text-xs text-
|
|
19
|
+
return _jsx("p", { className: "px-1 py-2 text-xs text-bad", children: "Failed to load queues." });
|
|
20
20
|
}
|
|
21
21
|
const queues = data?.queues ?? [];
|
|
22
22
|
if (queues.length === 0) {
|
|
23
|
-
return (_jsx("div", { className: "rounded-lg border border-dashed border-
|
|
23
|
+
return (_jsx("div", { className: "rounded-lg border border-dashed border-line px-3 py-6 text-center text-xs text-muted-foreground", children: "No live queues detected." }));
|
|
24
24
|
}
|
|
25
25
|
return (_jsx("div", { className: "space-y-2", children: queues.map((summary) => (_jsx(QueueRow, { summary: summary, active: selected?.driver === summary.driver && selected?.queue === summary.queue, onSelect: onSelect }, `${summary.driver}:${summary.queue}`))) }));
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueList.js","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,GAIN;IACC,MAAM,SAAS,GAAG,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;IAClD,OAAO,CACL,gBACE,SAAS,EAAE,mDACT,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"QueueList.js","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,KAAK,GAIN;IACC,MAAM,SAAS,GAAG,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;IAClD,OAAO,CACL,gBACE,SAAS,EAAE,mDACT,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAC3B,EAAE,EACF,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,aAE1B,eAAM,SAAS,EAAC,0DAA0D,YACvE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACb,EACP,eAAM,SAAS,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,YACzF,KAAK,GACD,IACF,CACR,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,MAAM,EACN,QAAQ,GAKT;IACC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EACtD,SAAS,EAAE,oEACT,MAAM;YACJ,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,0DACN,EAAE,aAEF,eAAK,SAAS,EAAC,yCAAyC,aACtD,eAAM,SAAS,EAAC,8CAA8C,YAAE,OAAO,CAAC,KAAK,GAAQ,EACpF,OAAO,CAAC,QAAQ,IAAI,CACnB,eAAM,SAAS,EAAC,oGAAoG,uBAE7G,CACR,IACG,EACN,cAAK,SAAS,EAAC,kEAAkE,YAC9E,OAAO,CAAC,MAAM,GACX,EACN,cAAK,SAAS,EAAC,uCAAuC,YACnD,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,KAAC,UAAU,IAAa,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAjD,KAAK,CAAgD,CACvE,CAAC,GACE,IACC,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,GAIT;IACC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAErD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,YAAG,SAAS,EAAC,yCAAyC,qCAAoB,CAAC;IACpF,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,YAAG,SAAS,EAAC,4BAA4B,uCAA2B,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CACL,cAAK,SAAS,EAAC,iGAAiG,yCAE1G,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACvB,KAAC,QAAQ,IAEP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,QAAQ,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,EAChF,QAAQ,EAAE,QAAQ,IAHb,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAIzC,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueStateTabs.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueStateTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"QueueStateTabs.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueStateTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAIxE,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,OAAO,GACR,EAAE;IACD,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,GAAG,GAAG,CAAC,OAAO,CA4Bd"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Tabs, TabsList, TabsTab } from '../../ui/index.js';
|
|
2
3
|
import { QUEUE_STATE_ORDER, STATE_ACCENT } from './queue-format.js';
|
|
3
4
|
export function QueueStateTabs({ counts, state, onState, }) {
|
|
4
|
-
return (_jsx(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
return (_jsx(Tabs, { value: state, onValueChange: (next) => {
|
|
6
|
+
if (typeof next === 'string')
|
|
7
|
+
onState(next);
|
|
8
|
+
}, children: _jsx(TabsList, { children: QUEUE_STATE_ORDER.map((candidate) => {
|
|
9
|
+
const active = candidate === state;
|
|
10
|
+
const value = counts?.[candidate] ?? 0;
|
|
11
|
+
return (_jsxs(TabsTab, { value: candidate, children: [_jsx("span", { className: "capitalize", children: candidate }), _jsx("span", { className: `tabular-nums text-[11px] ${active ? STATE_ACCENT[candidate] : 'text-muted-foreground'}`, children: value })] }, candidate));
|
|
12
|
+
}) }) }));
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=QueueStateTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueStateTabs.js","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueStateTabs.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,OAAO,GAKR;IACC,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"QueueStateTabs.js","sourceRoot":"","sources":["../../../../src/react/components/queues/QueueStateTabs.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,OAAO,GAKR;IACC,OAAO,CACL,KAAC,IAAI,IACH,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAkB,CAAC,CAAC;QAC5D,CAAC,YAED,KAAC,QAAQ,cACN,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,SAAS,KAAK,KAAK,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO,CACL,MAAC,OAAO,IAAiB,KAAK,EAAE,SAAS,aACvC,eAAM,SAAS,EAAC,YAAY,YAAE,SAAS,GAAQ,EAC/C,eACE,SAAS,EAAE,4BACT,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,uBACrC,EAAE,YAED,KAAK,GACD,KARK,SAAS,CASb,CACX,CAAC;YACJ,CAAC,CAAC,GACO,GACN,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { QueueState } from '../../../client/index.js';
|
|
2
2
|
export declare const QUEUE_STATE_ORDER: readonly QueueState[];
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Per-state accent colors, consistent across list badges and tabs. Expressed in
|
|
5
|
+
* Aviary status tokens (`--good`/`--warn`/`--bad`/`--accent`) rather than raw
|
|
6
|
+
* Tailwind hues, so they theme with the console instead of against it.
|
|
7
|
+
*/
|
|
4
8
|
export declare const STATE_ACCENT: Record<QueueState, string>;
|
|
5
9
|
export declare function relativeTime(timestamp: number | null): string;
|
|
6
10
|
/** One-line, length-capped JSON-ish preview of a job payload. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-format.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/queue-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAOlD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"queue-format.d.ts","sourceRoot":"","sources":["../../../../src/react/components/queues/queue-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAOlD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAOnD,CAAC;AAEF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAY7D;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,MAAM,CAU9D"}
|
|
@@ -6,14 +6,18 @@ export const QUEUE_STATE_ORDER = [
|
|
|
6
6
|
'completed',
|
|
7
7
|
'paused',
|
|
8
8
|
];
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Per-state accent colors, consistent across list badges and tabs. Expressed in
|
|
11
|
+
* Aviary status tokens (`--good`/`--warn`/`--bad`/`--accent`) rather than raw
|
|
12
|
+
* Tailwind hues, so they theme with the console instead of against it.
|
|
13
|
+
*/
|
|
10
14
|
export const STATE_ACCENT = {
|
|
11
|
-
waiting: 'text-
|
|
12
|
-
active: 'text-
|
|
13
|
-
delayed: 'text-
|
|
14
|
-
failed: 'text-
|
|
15
|
-
completed: 'text-
|
|
16
|
-
paused: 'text-
|
|
15
|
+
waiting: 'text-foreground',
|
|
16
|
+
active: 'text-brand',
|
|
17
|
+
delayed: 'text-warn',
|
|
18
|
+
failed: 'text-bad',
|
|
19
|
+
completed: 'text-good',
|
|
20
|
+
paused: 'text-muted-foreground',
|
|
17
21
|
};
|
|
18
22
|
export function relativeTime(timestamp) {
|
|
19
23
|
if (timestamp == null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-format.js","sourceRoot":"","sources":["../../../../src/react/components/queues/queue-format.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;CACT,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"queue-format.js","sourceRoot":"","sources":["../../../../src/react/components/queues/queue-format.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;CACT,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAA+B;IACtD,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,uBAAuB;CAChC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,SAAwB;IACnD,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACvC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,IAAI,OAAO,CAAC;AACxB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,IAAa,EAAE,GAAG,GAAG,EAAE;IACpD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IACpD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC"}
|
|
@@ -3,6 +3,6 @@ function p95(stats) {
|
|
|
3
3
|
return stats ? `${Math.round(stats.p95)}ms` : '—';
|
|
4
4
|
}
|
|
5
5
|
export function QueuesPanel({ report, sparkline, }) {
|
|
6
|
-
return (_jsxs("table", { className: "w-full text-left text-xs", children: [_jsx("thead", { className: "text-
|
|
6
|
+
return (_jsxs("table", { className: "w-full text-left text-xs", children: [_jsx("thead", { className: "text-muted-foreground", children: _jsxs("tr", { children: [_jsx("th", { className: "py-2 font-normal", children: "Queue" }), _jsx("th", { className: "font-normal", children: "Total" }), _jsx("th", { className: "font-normal", children: "Failed" }), _jsx("th", { className: "font-normal", children: "Fail %" }), _jsx("th", { className: "font-normal", children: "Per min" }), _jsx("th", { className: "font-normal", children: "Runtime p95" }), _jsx("th", { className: "font-normal", children: "Wait p95" }), sparkline && _jsx("th", { className: "font-normal", children: "Trend" })] }) }), _jsxs("tbody", { children: [report.queues.map((q) => (_jsxs("tr", { className: "border-t border-line-soft", children: [_jsx("td", { className: "py-1.5 text-brand", children: q.queue }), _jsx("td", { className: "text-foreground", children: q.total }), _jsx("td", { className: "text-foreground", children: q.failed }), _jsxs("td", { className: q.failureRate > 0 ? 'text-bad' : 'text-muted-foreground', children: [(q.failureRate * 100).toFixed(1), "%"] }), _jsx("td", { className: "text-muted-foreground", children: q.throughputPerMinute.toFixed(1) }), _jsx("td", { className: "text-muted-foreground", children: p95(q.runtimeMs) }), _jsx("td", { className: "text-muted-foreground", children: p95(q.waitMs) }), sparkline && _jsx("td", { className: "text-muted-foreground", children: sparkline(q.queue) })] }, q.queue))), report.queues.length === 0 && (_jsx("tr", { children: _jsx("td", { className: "py-2 text-muted-foreground", colSpan: sparkline ? 8 : 7, children: "No queue activity in window." }) }))] })] }));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=queues-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queues-panel.js","sourceRoot":"","sources":["../../../src/react/components/queues-panel.tsx"],"names":[],"mappings":";AAEA,SAAS,GAAG,CAAC,KAA2B;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,SAAS,GAIV;IACC,OAAO,CACL,iBAAO,SAAS,EAAC,0BAA0B,aACzC,gBAAO,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"queues-panel.js","sourceRoot":"","sources":["../../../src/react/components/queues-panel.tsx"],"names":[],"mappings":";AAEA,SAAS,GAAG,CAAC,KAA2B;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,SAAS,GAIV;IACC,OAAO,CACL,iBAAO,SAAS,EAAC,0BAA0B,aACzC,gBAAO,SAAS,EAAC,uBAAuB,YACtC,yBACE,aAAI,SAAS,EAAC,kBAAkB,sBAAW,EAC3C,aAAI,SAAS,EAAC,aAAa,sBAAW,EACtC,aAAI,SAAS,EAAC,aAAa,uBAAY,EACvC,aAAI,SAAS,EAAC,aAAa,uBAAY,EACvC,aAAI,SAAS,EAAC,aAAa,wBAAa,EACxC,aAAI,SAAS,EAAC,aAAa,4BAAiB,EAC5C,aAAI,SAAS,EAAC,aAAa,yBAAc,EACxC,SAAS,IAAI,aAAI,SAAS,EAAC,aAAa,sBAAW,IACjD,GACC,EACR,4BACG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,cAAkB,SAAS,EAAC,2BAA2B,aACrD,aAAI,SAAS,EAAC,mBAAmB,YAAE,CAAC,CAAC,KAAK,GAAM,EAChD,aAAI,SAAS,EAAC,iBAAiB,YAAE,CAAC,CAAC,KAAK,GAAM,EAC9C,aAAI,SAAS,EAAC,iBAAiB,YAAE,CAAC,CAAC,MAAM,GAAM,EAC/C,cAAI,SAAS,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,aACpE,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAC9B,EACL,aAAI,SAAS,EAAC,uBAAuB,YAAE,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAM,EAC7E,aAAI,SAAS,EAAC,uBAAuB,YAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAM,EAC7D,aAAI,SAAS,EAAC,uBAAuB,YAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAM,EACzD,SAAS,IAAI,aAAI,SAAS,EAAC,uBAAuB,YAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAM,KAVtE,CAAC,CAAC,KAAK,CAWX,CACN,CAAC,EACD,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAC7B,uBACE,aAAI,SAAS,EAAC,4BAA4B,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6CAEhE,GACF,CACN,IACK,IACF,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-timeline.d.ts","sourceRoot":"","sources":["../../../src/react/components/request-timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAOnD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"request-timeline.d.ts","sourceRoot":"","sources":["../../../src/react/components/request-timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAOnD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C,GAAG,GAAG,CAAC,OAAO,CA4Bd"}
|
|
@@ -15,7 +15,7 @@ export function RequestTimeline({ batch, requestId, onSelect, }) {
|
|
|
15
15
|
const maxDuration = ordered.reduce((max, entry) => (entry.durationMs != null && entry.durationMs > max ? entry.durationMs : max), 0);
|
|
16
16
|
const visible = ordered.slice(0, MAX_ROWS);
|
|
17
17
|
const hidden = ordered.length - visible.length;
|
|
18
|
-
return (_jsxs("div", { children: [_jsx("ol", { className: "space-y-1", children: visible.map((entry) => (_jsx("li", { children: _jsx(TimelineRow, { entry: entry, maxDuration: maxDuration, isRequest: entry.id === requestId, onSelect: onSelect }) }, entry.id))) }), hidden > 0 ? _jsxs("p", { className: "mt-1 px-2 text-[10px] text-
|
|
18
|
+
return (_jsxs("div", { children: [_jsx("ol", { className: "space-y-1", children: visible.map((entry) => (_jsx("li", { children: _jsx(TimelineRow, { entry: entry, maxDuration: maxDuration, isRequest: entry.id === requestId, onSelect: onSelect }) }, entry.id))) }), hidden > 0 ? (_jsxs("p", { className: "mt-1 px-2 text-[10px] text-muted-foreground", children: ["+", hidden, " more"] })) : null] }));
|
|
19
19
|
}
|
|
20
20
|
function TimelineRow({ entry, maxDuration, isRequest, onSelect, }) {
|
|
21
21
|
// Width is the entry's share of the slowest entry in the batch. Null and
|
|
@@ -25,6 +25,6 @@ function TimelineRow({ entry, maxDuration, isRequest, onSelect, }) {
|
|
|
25
25
|
return (_jsxs("button", { type: "button", onClick: (event) => {
|
|
26
26
|
event.stopPropagation();
|
|
27
27
|
onSelect?.(entry.id);
|
|
28
|
-
}, className: `flex w-full items-center gap-2 rounded px-2 py-1 text-left text-xs ${isRequest ? 'bg-
|
|
28
|
+
}, className: `flex w-full items-center gap-2 rounded px-2 py-1 text-left text-xs ${isRequest ? 'bg-panel-2 text-brand' : 'text-muted-foreground hover:bg-panel'}`, children: [_jsx("span", { className: `h-2 w-2 shrink-0 rounded-full ${dotForType(entry.type)}`, "aria-hidden": true }), _jsx("span", { className: "w-40 shrink-0 truncate", title: entryLabel(entry), children: entryLabel(entry) }), _jsx("span", { className: "h-2 flex-1 overflow-hidden rounded bg-panel", children: _jsx("span", { className: "block h-full rounded bg-brand", style: { width: `${widthPercent}%` }, "aria-hidden": true }) }), _jsx("span", { className: "w-12 shrink-0 text-right tabular-nums text-muted-foreground", children: entry.durationMs != null ? `${entry.durationMs}ms` : '—' })] }));
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=request-timeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-timeline.js","sourceRoot":"","sources":["../../../src/react/components/request-timeline.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,wEAAwE;AACxE,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,QAAQ,GAKT;IACC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7F,CAAC,CACF,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/C,OAAO,CACL,0BACE,aAAI,SAAS,EAAC,WAAW,YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,uBACE,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,EACjC,QAAQ,EAAE,QAAQ,GAClB,IANK,KAAK,CAAC,EAAE,CAOZ,CACN,CAAC,GACC,EACJ,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAG,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"request-timeline.js","sourceRoot":"","sources":["../../../src/react/components/request-timeline.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-indicator.d.ts","sourceRoot":"","sources":["../../../src/react/components/retention-indicator.tsx"],"names":[],"mappings":"AAOA,+FAA+F;AAC/F,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAK5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"retention-indicator.d.ts","sourceRoot":"","sources":["../../../src/react/components/retention-indicator.tsx"],"names":[],"mappings":"AAOA,+FAA+F;AAC/F,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAK5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAyBvD"}
|
|
@@ -33,6 +33,6 @@ export function RetentionIndicator() {
|
|
|
33
33
|
if (!meta)
|
|
34
34
|
return null;
|
|
35
35
|
const note = samplingNote(meta.sampling ?? {});
|
|
36
|
-
return (_jsxs("span", { className: "flex items-center gap-1.5 text-[11px] text-
|
|
36
|
+
return (_jsxs("span", { className: "flex items-center gap-1.5 text-[11px] text-muted-foreground", title: note ?? undefined, children: [_jsx("span", { className: "uppercase tracking-wide text-muted-foreground", children: "retention:" }), meta.retention ? (_jsx("span", { className: "text-muted-foreground", children: formatRetention(meta.retention.afterMs) })) : (_jsx("span", { className: "text-muted-foreground", children: "none" })), note ? (_jsx("span", { "aria-label": note, className: "cursor-help rounded-full border border-line px-1 text-[9px] text-muted-foreground", children: "?" })) : null] }));
|
|
37
37
|
}
|
|
38
38
|
//# sourceMappingURL=retention-indicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-indicator.js","sourceRoot":"","sources":["../../../src/react/components/retention-indicator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;AAC3B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AACzB,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtB,+FAA+F;AAC/F,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;IAC3D,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7D,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IACjE,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IACjE,OAAO,GAAG,OAAO,IAAI,CAAC;AACxB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,QAAgC;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"retention-indicator.js","sourceRoot":"","sources":["../../../src/react/components/retention-indicator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;AAC3B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AACzB,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtB,+FAA+F;AAC/F,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;IAC3D,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7D,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IACjE,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IACjE,OAAO,GAAG,OAAO,IAAI,CAAC;AACxB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,QAAgC;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,CACL,gBACE,SAAS,EAAC,6DAA6D,EACvE,KAAK,EAAE,IAAI,IAAI,SAAS,aAExB,eAAM,SAAS,EAAC,+CAA+C,2BAAkB,EAChF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChB,eAAM,SAAS,EAAC,uBAAuB,YAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAQ,CACzF,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,uBAAuB,qBAAY,CACpD,EACA,IAAI,CAAC,CAAC,CAAC,CACN,6BACc,IAAI,EAChB,SAAS,EAAC,mFAAmF,kBAGxF,CACR,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline.d.ts","sourceRoot":"","sources":["../../../src/react/components/sparkline.tsx"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvF;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,KAAW,EACX,MAAW,GACZ,EAAE;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"sparkline.d.ts","sourceRoot":"","sources":["../../../src/react/components/sparkline.tsx"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvF;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,KAAW,EACX,MAAW,GACZ,EAAE;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAgBrE"}
|
|
@@ -15,6 +15,6 @@ export function sparklinePoints(values, width, height) {
|
|
|
15
15
|
export function Sparkline({ values, width = 160, height = 36, }) {
|
|
16
16
|
const points = sparklinePoints(values, width, height);
|
|
17
17
|
const area = points ? `0,${height} ${points} ${width},${height}` : '';
|
|
18
|
-
return (_jsxs("svg", { width: width, height: height, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "none", role: "img", "aria-label": "throughput", children: [area && _jsx("polygon", { points: area, className: "fill-
|
|
18
|
+
return (_jsxs("svg", { width: width, height: height, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "none", role: "img", "aria-label": "throughput", children: [area && _jsx("polygon", { points: area, className: "fill-accent opacity-10" }), points && _jsx("polyline", { points: points, className: "fill-none stroke-accent", strokeWidth: 1.5 })] }));
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=sparkline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline.js","sourceRoot":"","sources":["../../../src/react/components/sparkline.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,eAAe,CAAC,MAAgB,EAAE,KAAa,EAAE,MAAc;IAC7E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;QAC1C,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,MAAM,EACN,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,EAAE,GAC2C;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CACL,eACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,IAAI,MAAM,EAAE,EACjC,mBAAmB,EAAC,MAAM,EAC1B,IAAI,EAAC,KAAK,gBACC,YAAY,aAEtB,IAAI,IAAI,kBAAS,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"sparkline.js","sourceRoot":"","sources":["../../../src/react/components/sparkline.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,eAAe,CAAC,MAAgB,EAAE,KAAa,EAAE,MAAc;IAC7E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;QAC1C,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,MAAM,EACN,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,EAAE,GAC2C;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CACL,eACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,IAAI,MAAM,EAAE,EACjC,mBAAmB,EAAC,MAAM,EAC1B,IAAI,EAAC,KAAK,gBACC,YAAY,aAEtB,IAAI,IAAI,kBAAS,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,GAAG,EACpE,MAAM,IAAI,mBAAU,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,yBAAyB,EAAC,WAAW,EAAE,GAAG,GAAI,IACzF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
interface TagAutocompleteProps {
|
|
2
2
|
/** Applies the chosen tag as the active entries filter (same effect as the old input). */
|
|
3
3
|
onSelect: (tag: string) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Fixed prefix the search is locked to (e.g. `user:` for the User filter).
|
|
6
|
+
* Both the `GET /tags` query and the suggestion ranking prepend it, and it's
|
|
7
|
+
* stripped from what the user types and from each suggestion's display so the
|
|
8
|
+
* control reads as ids, not raw tags. Defaults to `''` — the generic tag
|
|
9
|
+
* filter unchanged.
|
|
10
|
+
*/
|
|
11
|
+
prefix?: string;
|
|
12
|
+
/** Placeholder for the input. Defaults to the generic tag prompt. */
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
/** Accessible label for the input. Defaults to `Filter by tag`. */
|
|
15
|
+
ariaLabel?: string;
|
|
4
16
|
}
|
|
5
17
|
/**
|
|
6
|
-
* Tag filter rendered as an accessible combobox:
|
|
7
|
-
*
|
|
8
|
-
*
|
|
18
|
+
* Tag filter rendered as an accessible combobox: it lists the tags that exist, most-used first, with
|
|
19
|
+
* their entry counts. Selecting one applies it as the active `tag` filter; typing something the list
|
|
20
|
+
* does not offer still applies as typed, which a bounded list has to allow.
|
|
21
|
+
*
|
|
22
|
+
* Focus alone opens it — an operator should not have to guess a first character to discover what is
|
|
23
|
+
* there. Both the search and the paging happen on the SERVER: the list is bounded because tag
|
|
24
|
+
* cardinality grows with the data, so the values worth searching for are routinely the ones the
|
|
25
|
+
* bound cut, and a search over the fetched page could never find them.
|
|
9
26
|
*/
|
|
10
|
-
export declare function TagAutocomplete({ onSelect }: TagAutocompleteProps): JSX.Element;
|
|
27
|
+
export declare function TagAutocomplete({ onSelect, prefix, placeholder, ariaLabel, }: TagAutocompleteProps): JSX.Element;
|
|
11
28
|
export {};
|
|
12
29
|
//# sourceMappingURL=tag-autocomplete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-autocomplete.d.ts","sourceRoot":"","sources":["../../../src/react/components/tag-autocomplete.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag-autocomplete.d.ts","sourceRoot":"","sources":["../../../src/react/components/tag-autocomplete.tsx"],"names":[],"mappings":"AAWA,UAAU,oBAAoB;IAC5B,0FAA0F;IAC1F,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAW,EACX,WAA8B,EAC9B,SAA2B,GAC5B,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAyIpC"}
|