bunqueue-dashboard 1.0.5 → 1.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 (67) hide show
  1. package/README.md +8 -1
  2. package/agent/queue/validation.ts +6 -3
  3. package/dist/.vite/manifest.json +177 -82
  4. package/dist/assets/AddJob-jmrtBSrz.js +3 -0
  5. package/dist/assets/{Alerts-WcpDWdDf.js → Alerts-DrwYvhbk.js} +1 -1
  6. package/dist/assets/{Benchmark-i6UOuIR-.js → Benchmark-7ULYlqmK.js} +1 -1
  7. package/dist/assets/{BulkAddJobs-56_SkYFd.js → BulkAddJobs-C2sxF-St.js} +3 -3
  8. package/dist/assets/{Cron-BnqxADsg.js → Cron-BY9EGj2n.js} +1 -1
  9. package/dist/assets/{CronManager-4pAw6m87.js → CronManager-CZvC_uox.js} +1 -1
  10. package/dist/assets/Database-B1Dx5OV2.js +3 -0
  11. package/dist/assets/{Diagnostics-DJNus54z.js → Diagnostics-D1LEl6O4.js} +1 -1
  12. package/dist/assets/{Dlq-BaHXmn0r.js → Dlq-CPxeigKg.js} +1 -1
  13. package/dist/assets/{DlqControl-Bc48Yxxi.js → DlqControl-Dhcz7LY7.js} +1 -1
  14. package/dist/assets/DlqPro-CW80tQdN.js +1 -0
  15. package/dist/assets/FailureDiagnostics-DkLd6szC.js +1 -0
  16. package/dist/assets/{Fleet-NYO3foQN.js → Fleet-CsscadVQ.js} +1 -1
  17. package/dist/assets/Flows-Bzq3onQ3.js +2 -0
  18. package/dist/assets/GlobalSearch-CeCvA6Tm.js +1 -0
  19. package/dist/assets/{JobInspector-DEboXZKA.js → JobInspector-nTUU1VOU.js} +2 -2
  20. package/dist/assets/{Jobs-DRJLVzTB.js → Jobs-OwKndzhg.js} +1 -1
  21. package/dist/assets/{JobsPro-BtoJgs_P.js → JobsPro-CSHP2AYC.js} +1 -1
  22. package/dist/assets/{Logs-wZd30gMQ.js → Logs-CiYuY8ix.js} +1 -1
  23. package/dist/assets/{LogsPro-Bed1atn5.js → LogsPro-BA-wZ8Dr.js} +1 -1
  24. package/dist/assets/{McpServer-CGe9T6dL.js → McpServer-BvOGxNnE.js} +1 -1
  25. package/dist/assets/MetricHistory-Dmu-XqaO.js +1 -0
  26. package/dist/assets/{Metrics-vii1CWGY.js → Metrics-BF38GgYm.js} +1 -1
  27. package/dist/assets/{MetricsPro-Cbx-5-HO.js → MetricsPro-DHPmT4Md.js} +1 -1
  28. package/dist/assets/MonitoringSetup-60_ib3rf.js +3 -0
  29. package/dist/assets/{Overview-2qju4F93.js → Overview-DBLxV_vL.js} +1 -1
  30. package/dist/assets/{Pagination-ByDp7kNr.js → Pagination-CmVnmrFt.js} +1 -1
  31. package/dist/assets/{QueueActions-BhjKtapT.js → QueueActions-uNol2MD7.js} +1 -1
  32. package/dist/assets/QueueControl-DbQwvvtX.js +1 -0
  33. package/dist/assets/{QueueDetail-B-mcgloD.js → QueueDetail-CA33Kebs.js} +1 -1
  34. package/dist/assets/{QueueDetailPro-BKFwiQUg.js → QueueDetailPro-AUf6FktH.js} +1 -1
  35. package/dist/assets/{Queues-DCCwG__I.js → Queues-C_KeSyQs.js} +1 -1
  36. package/dist/assets/{QueuesOverview-BMIfVWtk.js → QueuesOverview-DQ6ta4wA.js} +1 -1
  37. package/dist/assets/{S3Backup-DpLn5T8m.js → S3Backup-BgPBXJVZ.js} +1 -1
  38. package/dist/assets/{S3BackupPro-BUHJBozP.js → S3BackupPro-BUzcmhnj.js} +3 -3
  39. package/dist/assets/{ServerControl-F5hvQwk3.js → ServerControl-WUZjdjPX.js} +1 -1
  40. package/dist/assets/{Settings-UBD8Zrj0.js → Settings-Dwh79r-B.js} +1 -1
  41. package/dist/assets/{Usage-D2D1i5nA.js → Usage-DeWofLpa.js} +1 -1
  42. package/dist/assets/{UsagePro-B8UDx-CC.js → UsagePro-BQJWWwW3.js} +1 -1
  43. package/dist/assets/{Webhooks-TnNw3Mml.js → Webhooks-DS3xmbEi.js} +1 -1
  44. package/dist/assets/{Workers-BAz4V_bk.js → Workers-DyAVvmbR.js} +1 -1
  45. package/dist/assets/{WorkersPro-Cbh-P8vR.js → WorkersPro-BJgab7of.js} +1 -1
  46. package/dist/assets/Workflows-BLXlNIxO.js +1 -0
  47. package/dist/assets/bqQueueOperationsRepository-BXoBdFQc.js +1 -0
  48. package/dist/assets/exportFile-B6puuPQx.js +2 -0
  49. package/dist/assets/index-D7iDxOBp.css +1 -0
  50. package/dist/assets/index-DwsYIYdu.js +8 -0
  51. package/dist/assets/{install-Ch82YzWH.js → install-DVeS3d31.js} +2 -2
  52. package/dist/assets/{package-V6gqAKfV.js → package-D11d0FBn.js} +1 -1
  53. package/dist/assets/targetClient-DvzvwnGp.js +1 -0
  54. package/dist/assets/useDiscovery-BbWXsy6R.js +1 -0
  55. package/dist/assets/{useThroughputSeries-BZ9Bb2PU.js → useThroughputSeries-DQo7JaT-.js} +1 -1
  56. package/dist/index.html +3 -2
  57. package/package.json +1 -1
  58. package/scripts/embedded.gen.ts +138 -124
  59. package/dist/assets/AddJob-g7DKWNZ0.js +0 -3
  60. package/dist/assets/Database-BDyQ8N-r.js +0 -3
  61. package/dist/assets/DlqPro-BaL9PRlj.js +0 -1
  62. package/dist/assets/Flows-RPGep40V.js +0 -2
  63. package/dist/assets/QueueControl-QMlFMQA6.js +0 -1
  64. package/dist/assets/Workflows-CBMzJbn0.js +0 -1
  65. package/dist/assets/exportFile-C7xhE8Yh.js +0 -2
  66. package/dist/assets/index-DR8flo6r.css +0 -1
  67. package/dist/assets/index-DcVSLtH4.js +0 -8
package/README.md CHANGED
@@ -58,9 +58,10 @@ control agent. Its default agent address is `http://127.0.0.1:6800`.
58
58
  | Area | Capabilities |
59
59
  | --- | --- |
60
60
  | Jobs | Submit single or bulk jobs, inspect data and results, change eligible jobs, and export the complete filtered inventory to CSV. |
61
+ | Discovery and failures | Search configured profiles by job metadata or correlation ID, save local views and compare observed error signatures. |
61
62
  | Queues and schedules | Browse queue state, pause and resume processing, configure limits and groups, and manage cron or interval schedules. |
62
63
  | Workflows and flows | Start and inspect durable executions, send signals, recover or compensate workflows, and explore dependency graphs. |
63
- | Monitoring | Follow live events, inspect metrics and diagnostics, search workers, and evaluate alert rules. |
64
+ | Monitoring | Follow live events, read retained native queue history, inspect workers and diagnostics, and export Prometheus scrape configuration and alert rules. |
64
65
  | Fleet | Save multiple broker/agent profiles and inspect shared PostgreSQL topology while keeping each node's lifecycle controls separate. |
65
66
  | Server control | Start, stop and restart a managed Bunqueue process, edit its launch settings, and read its logs. |
66
67
  | Data and backups | Browse SQLite tables, run read-only SQL, export rows, and create or restore official S3 snapshots. |
@@ -69,6 +70,12 @@ control agent. Its default agent address is `http://127.0.0.1:6800`.
69
70
  SQLite inspection and S3 snapshots apply to SQLite-backed servers. PostgreSQL
70
71
  profiles use the queue and fleet controls.
71
72
 
73
+ Discovery reports scan limits and partial coverage. Metric history requires a
74
+ paired managed agent; retention belongs to Bunqueue. Native Webhooks delivers
75
+ job events, external Prometheus/Alertmanager evaluates exported alert rules,
76
+ and dashboard Alerts runs only while its browser tab is open. See
77
+ [native operations](https://egeominotti.github.io/bunqueue-dashboard/docs/guide/native-operations).
78
+
72
79
  Job actions follow Bunqueue's safety contracts. Operations without atomic job
73
80
  identity or flow-topology safeguards remain disabled, including DLQ retry,
74
81
  completed-job requeue, cancel, drain and purge. See the
@@ -1,7 +1,7 @@
1
1
  import { readLimitedJsonBody } from '../server/jsonBody';
2
2
 
3
3
  const MAX_BODY_BYTES = 8 * 1024;
4
- const MAX_PAGE_INDEX = 10_000;
4
+ const MAX_METRIC_INDEX = 100_000;
5
5
  const MAX_EVENT_RETENTION = 1_000_000;
6
6
 
7
7
  export function exactQuery(url: string, allowed: readonly string[]): URLSearchParams {
@@ -65,10 +65,13 @@ export function positiveSafeInteger(value: unknown, label: string): number {
65
65
  }
66
66
 
67
67
  export function metricsRange(query: URLSearchParams): { start: number; end: number } {
68
- const start = optionalInteger(query.get('start'), 'start', 0, MAX_PAGE_INDEX, 0);
68
+ const start = optionalInteger(query.get('start'), 'start', 0, MAX_METRIC_INDEX, 0);
69
69
  const rawEnd = query.get('end');
70
- const end = rawEnd === null ? -1 : boundedInteger(rawEnd, 'end', -1, MAX_PAGE_INDEX);
70
+ const end = rawEnd === null ? -1 : boundedInteger(rawEnd, 'end', -1, MAX_METRIC_INDEX);
71
71
  if (end !== -1 && end < start) throw new Error('Metrics end must be -1 or at least start');
72
+ if (end !== -1 && end - start >= 10_080) {
73
+ throw new Error('Metrics page must contain at most 10080 buckets');
74
+ }
72
75
  return { start, end };
73
76
  }
74
77