queen-mq 0.1.5 → 0.2.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 (135) hide show
  1. package/README.md +467 -1775
  2. package/package.json +12 -14
  3. package/src/client/client.js +664 -5
  4. package/src/managers/queueManagerOptimized.js +250 -47
  5. package/src/routes/ack.js +3 -3
  6. package/src/server.js +131 -3
  7. package/src/test/advanced-client-tests.js +761 -0
  8. package/src/test/advanced-pattern-tests.js +2 -2
  9. package/src/test/bus-mode-tests.js +6 -6
  10. package/src/test/core-tests.js +1 -1
  11. package/src/test/edge-case-tests.js +2 -2
  12. package/src/test/test-new.js +36 -1
  13. package/src/webapp-dist/assets/Analytics-DJrE4Rz2.css +1 -0
  14. package/src/webapp-dist/assets/Analytics-HEMXKmfJ.js +1 -0
  15. package/src/webapp-dist/assets/ConfirmDialog-YEoCdE7x.js +1 -0
  16. package/src/webapp-dist/assets/ConsumerGroups-CC5VJywp.css +1 -0
  17. package/src/webapp-dist/assets/ConsumerGroups-D8Z20HhZ.js +1 -0
  18. package/src/webapp-dist/assets/Dashboard-BRFOz6it.css +1 -0
  19. package/src/webapp-dist/assets/Dashboard-Bpx9I32h.js +1 -0
  20. package/src/webapp-dist/assets/LoadingSpinner-BPttXcbs.js +1 -0
  21. package/src/webapp-dist/assets/Messages-BOfVHKma.css +1 -0
  22. package/src/webapp-dist/assets/Messages-EKURCbLl.js +1 -0
  23. package/src/webapp-dist/assets/QueueDetail-BXXA7xoZ.css +1 -0
  24. package/src/webapp-dist/assets/QueueDetail-Bmxg0KiA.js +1 -0
  25. package/src/webapp-dist/assets/Queues-CvrJkrZT.css +1 -0
  26. package/src/webapp-dist/assets/Queues-yUx9_3-9.js +1 -0
  27. package/src/webapp-dist/assets/StatusBadge-C1bBtXHh.css +1 -0
  28. package/src/webapp-dist/assets/StatusBadge-C6N84XmO.js +1 -0
  29. package/src/webapp-dist/assets/analytics-BapTekLM.js +1 -0
  30. package/src/webapp-dist/assets/colors-5z6Q_kUr.js +18 -0
  31. package/src/webapp-dist/assets/index-B7w2bKT6.css +1 -0
  32. package/src/webapp-dist/assets/index-CUSnwYTH.js +31 -0
  33. package/src/webapp-dist/assets/messages-CRV6E-xU.js +1 -0
  34. package/src/webapp-dist/assets/queues-BdUbxfBC.js +1 -0
  35. package/src/webapp-dist/assets/resources-Bs9U-ceF.js +1 -0
  36. package/{webapp → src/webapp-dist}/index.html +2 -1
  37. package/API.md +0 -1226
  38. package/AUTH.md +0 -2044
  39. package/CHANGELOG_STATIC_SERVING.md +0 -213
  40. package/DEPLOYMENT.md +0 -425
  41. package/PROGRAMMATIC_SERVER.md +0 -239
  42. package/WEBAPP.md +0 -1889
  43. package/assets/dashboard-01.png +0 -0
  44. package/assets/dashboard.png +0 -0
  45. package/examples/batch-processing.js +0 -58
  46. package/examples/bus-mode.js +0 -239
  47. package/examples/continuous-consumer-optimized.js +0 -215
  48. package/examples/continuous-consumer.js +0 -159
  49. package/examples/continuous-producer.js +0 -343
  50. package/examples/mixed-mode.js +0 -277
  51. package/examples/multi-server-test.js +0 -305
  52. package/examples/programmatic-server.js +0 -58
  53. package/examples/server-with-frontend.js +0 -46
  54. package/examples/single.js +0 -64
  55. package/examples/smartchat-dealyed.js +0 -42
  56. package/examples/smartchat.js +0 -52
  57. package/examples/test-cache-invalidation.js +0 -119
  58. package/examples/test-cache-multi-server.js +0 -245
  59. package/examples/test-complete-client.js +0 -260
  60. package/examples/test-connection-recovery.js +0 -66
  61. package/examples/test-dashboard-api.js +0 -200
  62. package/examples/test-minimal-client.js +0 -112
  63. package/examples/test-queue-creation-policy.js +0 -137
  64. package/examples/test-traceid.js +0 -147
  65. package/server.log +0 -1
  66. package/test-keepalive-v2.sh +0 -22
  67. package/webapp/COLOR_GUIDE.md +0 -118
  68. package/webapp/README.md +0 -143
  69. package/webapp/package-lock.json +0 -3184
  70. package/webapp/package.json +0 -25
  71. package/webapp/postcss.config.js +0 -7
  72. package/webapp/public/assets/queen-logo-blue.svg +0 -210
  73. package/webapp/public/assets/queen-logo-cyan.svg +0 -210
  74. package/webapp/public/assets/queen-logo-indigo.svg +0 -210
  75. package/webapp/public/assets/queen-logo-orange.svg +0 -210
  76. package/webapp/public/assets/queen-logo-pink.svg +0 -210
  77. package/webapp/public/assets/queen-logo-purple.svg +0 -210
  78. package/webapp/public/assets/queen-logo-rose.svg +0 -239
  79. package/webapp/public/assets/queen-logo.svg +0 -263
  80. package/webapp/src/App.vue +0 -19
  81. package/webapp/src/api/analytics.js +0 -10
  82. package/webapp/src/api/client.js +0 -34
  83. package/webapp/src/api/consumers.js +0 -52
  84. package/webapp/src/api/health.js +0 -7
  85. package/webapp/src/api/messages.js +0 -26
  86. package/webapp/src/api/queues.js +0 -14
  87. package/webapp/src/api/resources.js +0 -8
  88. package/webapp/src/assets/styles/main.css +0 -357
  89. package/webapp/src/components/analytics/AnalyticsFilters.vue +0 -87
  90. package/webapp/src/components/analytics/AnalyticsMetrics.vue +0 -57
  91. package/webapp/src/components/analytics/MessageDistributionChart.vue +0 -111
  92. package/webapp/src/components/analytics/MessageFlowChart.vue +0 -173
  93. package/webapp/src/components/analytics/TimeRangeSelector.vue +0 -27
  94. package/webapp/src/components/analytics/TopQueuesChart.vue +0 -132
  95. package/webapp/src/components/common/ConfirmDialog.vue +0 -56
  96. package/webapp/src/components/common/LoadingSpinner.vue +0 -6
  97. package/webapp/src/components/common/MetricCard.vue +0 -43
  98. package/webapp/src/components/common/StatusBadge.vue +0 -45
  99. package/webapp/src/components/dashboard/MessageStatusCard.vue +0 -50
  100. package/webapp/src/components/dashboard/PerformanceCard.vue +0 -38
  101. package/webapp/src/components/dashboard/ThroughputChart.vue +0 -182
  102. package/webapp/src/components/dashboard/TopQueuesTable.vue +0 -53
  103. package/webapp/src/components/layout/AppLayout.vue +0 -110
  104. package/webapp/src/components/layout/AppSidebar.vue +0 -304
  105. package/webapp/src/components/messages/MessageDetailPanel.vue +0 -242
  106. package/webapp/src/components/messages/MessageFilters.vue +0 -101
  107. package/webapp/src/components/queue-detail/PartitionList.vue +0 -79
  108. package/webapp/src/components/queue-detail/PushMessageModal.vue +0 -175
  109. package/webapp/src/components/queue-detail/QueueConfig.vue +0 -63
  110. package/webapp/src/components/queue-detail/QueueDetailHeader.vue +0 -53
  111. package/webapp/src/components/queue-detail/RecentMessages.vue +0 -76
  112. package/webapp/src/components/queues/CreateQueueModal.vue +0 -193
  113. package/webapp/src/components/queues/QueueFilters.vue +0 -90
  114. package/webapp/src/composables/useApi.js +0 -34
  115. package/webapp/src/composables/useTheme.js +0 -36
  116. package/webapp/src/main.js +0 -11
  117. package/webapp/src/router/index.js +0 -42
  118. package/webapp/src/utils/colors.js +0 -96
  119. package/webapp/src/utils/formatters.js +0 -49
  120. package/webapp/src/views/Analytics.vue +0 -377
  121. package/webapp/src/views/ConsumerGroups.vue +0 -433
  122. package/webapp/src/views/Dashboard.vue +0 -418
  123. package/webapp/src/views/Messages.vue +0 -363
  124. package/webapp/src/views/QueueDetail.vue +0 -582
  125. package/webapp/src/views/Queues.vue +0 -496
  126. package/webapp/tailwind.config.js +0 -25
  127. package/webapp/vite.config.js +0 -10
  128. /package/{assets → src/webapp-dist/assets}/queen-logo-blue.svg +0 -0
  129. /package/{assets → src/webapp-dist/assets}/queen-logo-cyan.svg +0 -0
  130. /package/{assets → src/webapp-dist/assets}/queen-logo-indigo.svg +0 -0
  131. /package/{assets → src/webapp-dist/assets}/queen-logo-orange.svg +0 -0
  132. /package/{assets → src/webapp-dist/assets}/queen-logo-pink.svg +0 -0
  133. /package/{assets → src/webapp-dist/assets}/queen-logo-purple.svg +0 -0
  134. /package/{assets → src/webapp-dist/assets}/queen-logo-rose.svg +0 -0
  135. /package/{assets → src/webapp-dist/assets}/queen-logo.svg +0 -0
@@ -1,118 +0,0 @@
1
- # Color Customization Guide
2
-
3
- ## Quick Color Change
4
-
5
- To change the entire app's color scheme, edit **ONE FILE**:
6
-
7
- ### **File:** `src/utils/colors.js`
8
-
9
- ```javascript
10
- export const colors = {
11
- // PRIMARY COLORS - Change these!
12
- primary: {
13
- name: 'Rose',
14
- hex: '#f43f5e', // Change to your color
15
- rgb: 'rgb(244, 63, 94)',
16
- rgba: (opacity) => `rgba(244, 63, 94, ${opacity})`,
17
- },
18
- secondary: {
19
- name: 'Purple',
20
- hex: '#a855f7', // Change to your color
21
- rgb: 'rgb(168, 85, 247)',
22
- rgba: (opacity) => `rgba(168, 85, 247, ${opacity})`,
23
- },
24
- // ... rest of config
25
- };
26
- ```
27
-
28
- ## Current Color Scheme
29
-
30
- **Primary (Charts - Ingested):** Rose (#f43f5e)
31
- **Secondary (Charts - Processed):** Purple (#a855f7)
32
-
33
- ## Where Colors Are Used
34
-
35
- ### **Primary (Rose)**
36
- - Dashboard throughput chart - "Ingested" line
37
- - Analytics message flow - "Ingested" line
38
- - Accent colors
39
-
40
- ### **Secondary (Purple)**
41
- - Dashboard throughput chart - "Processed" line
42
- - Analytics message flow - "Processed" line
43
- - Top queues bar chart
44
- - Accent elements
45
-
46
- ### **Status Colors** (Fixed)
47
- - Success/Completed: Green
48
- - Warning/Pending: Yellow
49
- - Danger/Failed: Red
50
- - Info: Blue
51
- - Dead Letter: Gray
52
-
53
- ## How to Change
54
-
55
- ### Example: Switch to Blue & Cyan
56
-
57
- ```javascript
58
- // In src/utils/colors.js
59
- primary: {
60
- name: 'Blue',
61
- hex: '#3b82f6',
62
- rgb: 'rgb(59, 130, 246)',
63
- rgba: (opacity) => `rgba(59, 130, 246, ${opacity})`,
64
- },
65
- secondary: {
66
- name: 'Cyan',
67
- hex: '#06b6d4',
68
- rgb: 'rgb(6, 182, 212)',
69
- rgba: (opacity) => `rgba(6, 182, 212, ${opacity})`,
70
- },
71
- ```
72
-
73
- ### Example: Switch to Orange & Pink
74
-
75
- ```javascript
76
- primary: {
77
- name: 'Orange',
78
- hex: '#f97316',
79
- rgb: 'rgb(249, 115, 22)',
80
- rgba: (opacity) => `rgba(249, 115, 22, ${opacity})`,
81
- },
82
- secondary: {
83
- name: 'Pink',
84
- hex: '#ec4899',
85
- rgb: 'rgb(236, 72, 153)',
86
- rgba: (opacity) => `rgba(236, 72, 153, ${opacity})`,
87
- },
88
- ```
89
-
90
- ## Tailwind Config
91
-
92
- Also update `tailwind.config.js` for consistency:
93
-
94
- ```javascript
95
- colors: {
96
- 'queen-primary': '#f43f5e', // Match primary
97
- 'queen-secondary': '#a855f7', // Match secondary
98
- 'queen-accent': '#ec4899', // Optional third color
99
- },
100
- ```
101
-
102
- ## Current Implementation
103
-
104
- ✅ **Centralized**: All chart colors in one place
105
- ✅ **Easy to change**: Edit one file
106
- ✅ **Consistent**: Used across all charts
107
- ✅ **Type-safe**: Helper functions for opacity
108
-
109
- ## Files Using Color System
110
-
111
- 1. `src/components/dashboard/ThroughputChart.vue`
112
- 2. `src/components/analytics/MessageFlowChart.vue`
113
- 3. `src/components/analytics/TopQueuesChart.vue`
114
- 4. `src/components/analytics/MessageDistributionChart.vue`
115
- 5. `tailwind.config.js` (for CSS utilities)
116
-
117
- Change `src/utils/colors.js` and all charts update automatically! 🎨
118
-
package/webapp/README.md DELETED
@@ -1,143 +0,0 @@
1
- # Queen Message Queue - Web Application
2
-
3
- Modern web interface for managing and monitoring the Queen Message Queue system.
4
-
5
- ## Prerequisites
6
-
7
- - Node.js 18+
8
- - npm or yarn
9
- - Queen Message Queue server running on `http://localhost:6632`
10
-
11
- ## Installation
12
-
13
- Install dependencies:
14
-
15
- ```bash
16
- npm install vue@latest vue-router@latest axios@latest
17
- npm install chart.js@latest vue-chartjs@latest
18
- npm install -D vite@latest @vitejs/plugin-vue@latest
19
- npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
20
- ```
21
-
22
- Or all at once:
23
-
24
- ```bash
25
- npm install vue vue-router axios chart.js vue-chartjs && npm install -D vite @vitejs/plugin-vue tailwindcss postcss autoprefixer
26
- ```
27
-
28
- ## Configuration
29
-
30
- The application connects to the Queen API at `http://localhost:6632` by default.
31
-
32
- To change this, create a `.env` file:
33
-
34
- ```
35
- VITE_API_BASE_URL=http://your-api-url:port
36
- ```
37
-
38
- ## Development
39
-
40
- Start the development server on port 4000:
41
-
42
- ```bash
43
- npm run dev
44
- ```
45
-
46
- The application will be available at `http://localhost:4000`
47
-
48
- ## Build for Production
49
-
50
- ```bash
51
- npm run build
52
- ```
53
-
54
- Output will be in the `dist/` directory.
55
-
56
- ## Features
57
-
58
- ### ✅ Implemented (Dashboard)
59
- - Real-time health monitoring
60
- - System metrics and statistics
61
- - Message throughput visualization
62
- - Performance monitoring
63
- - Top queues overview
64
- - Dark/light theme support
65
-
66
- ### 🚧 Coming Soon
67
- - Queues management
68
- - Queue detail views
69
- - Consumer groups monitoring
70
- - Message browser
71
- - Analytics and insights
72
-
73
- ## Architecture
74
-
75
- ### Technology Stack
76
- - **Vue 3** - Composition API
77
- - **Vue Router** - Client-side routing
78
- - **Axios** - HTTP client
79
- - **Chart.js** - Data visualization
80
- - **Tailwind CSS** - Styling
81
- - **Vite** - Build tool
82
-
83
- ### Project Structure
84
-
85
- ```
86
- webapp/
87
- ├── public/ # Static assets
88
- ├── src/
89
- │ ├── api/ # API client modules
90
- │ ├── assets/ # Styles and fonts
91
- │ ├── components/ # Vue components
92
- │ │ ├── common/ # Reusable components
93
- │ │ ├── dashboard/ # Dashboard-specific
94
- │ │ └── layout/ # Layout components
95
- │ ├── composables/ # Vue composables
96
- │ ├── router/ # Router configuration
97
- │ ├── utils/ # Utility functions
98
- │ └── views/ # Page components
99
- ```
100
-
101
- ## API Integration
102
-
103
- The application integrates with the following Queen API endpoints:
104
-
105
- **Dashboard:**
106
- - `GET /health` - Server health
107
- - `GET /metrics` - System metrics
108
- - `GET /api/v1/resources/overview` - System overview
109
- - `GET /api/v1/status` - Status with throughput
110
- - `GET /api/v1/resources/queues` - Queue list
111
-
112
- All API calls use real data - no mocking!
113
-
114
- ## Development Notes
115
-
116
- - **No WebSocket** - Currently using manual refresh only
117
- - **No Auto-refresh** - User-controlled data updates
118
- - **Clean Design** - Minimal animations, focus on clarity
119
- - **Responsive** - Works on desktop and tablet
120
- - **Theme Support** - Full light/dark mode
121
-
122
- ## Troubleshooting
123
-
124
- **CORS Errors:**
125
- Ensure the Queen server has CORS enabled. The server should include:
126
- ```
127
- Access-Control-Allow-Origin: *
128
- ```
129
-
130
- **API Connection:**
131
- Check that the Queen server is running on port 6632:
132
- ```bash
133
- curl http://localhost:6632/health
134
- ```
135
-
136
- **Port 4000 in use:**
137
- Change the port in `vite.config.js`:
138
- ```javascript
139
- server: {
140
- port: 4001, // or another port
141
- }
142
- ```
143
-