@gravito/zenith 0.1.0-beta.1

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 (63) hide show
  1. package/ARCHITECTURE.md +88 -0
  2. package/BATCH_OPERATIONS_IMPLEMENTATION.md +159 -0
  3. package/DEMO.md +156 -0
  4. package/DEPLOYMENT.md +157 -0
  5. package/DOCS_INTERNAL.md +73 -0
  6. package/Dockerfile +46 -0
  7. package/Dockerfile.demo-worker +29 -0
  8. package/EVOLUTION_BLUEPRINT.md +112 -0
  9. package/JOBINSPECTOR_SCROLL_FIX.md +152 -0
  10. package/PULSE_IMPLEMENTATION_PLAN.md +111 -0
  11. package/QUICK_TEST_GUIDE.md +72 -0
  12. package/README.md +33 -0
  13. package/ROADMAP.md +85 -0
  14. package/TESTING_BATCH_OPERATIONS.md +252 -0
  15. package/bin/flux-console.ts +2 -0
  16. package/dist/bin.js +108196 -0
  17. package/dist/client/assets/index-DGYEwTDL.css +1 -0
  18. package/dist/client/assets/index-oyTdySX0.js +421 -0
  19. package/dist/client/index.html +13 -0
  20. package/dist/server/index.js +108191 -0
  21. package/docker-compose.yml +40 -0
  22. package/docs/integrations/LARAVEL.md +207 -0
  23. package/package.json +50 -0
  24. package/postcss.config.js +6 -0
  25. package/scripts/flood-logs.ts +21 -0
  26. package/scripts/seed.ts +213 -0
  27. package/scripts/verify-throttle.ts +45 -0
  28. package/scripts/worker.ts +123 -0
  29. package/src/bin.ts +6 -0
  30. package/src/client/App.tsx +70 -0
  31. package/src/client/Layout.tsx +644 -0
  32. package/src/client/Sidebar.tsx +102 -0
  33. package/src/client/ThroughputChart.tsx +135 -0
  34. package/src/client/WorkerStatus.tsx +170 -0
  35. package/src/client/components/ConfirmDialog.tsx +103 -0
  36. package/src/client/components/JobInspector.tsx +524 -0
  37. package/src/client/components/LogArchiveModal.tsx +383 -0
  38. package/src/client/components/NotificationBell.tsx +203 -0
  39. package/src/client/components/Toaster.tsx +80 -0
  40. package/src/client/components/UserProfileDropdown.tsx +177 -0
  41. package/src/client/contexts/AuthContext.tsx +93 -0
  42. package/src/client/contexts/NotificationContext.tsx +103 -0
  43. package/src/client/index.css +174 -0
  44. package/src/client/index.html +12 -0
  45. package/src/client/main.tsx +15 -0
  46. package/src/client/pages/LoginPage.tsx +153 -0
  47. package/src/client/pages/MetricsPage.tsx +408 -0
  48. package/src/client/pages/OverviewPage.tsx +511 -0
  49. package/src/client/pages/QueuesPage.tsx +372 -0
  50. package/src/client/pages/SchedulesPage.tsx +531 -0
  51. package/src/client/pages/SettingsPage.tsx +449 -0
  52. package/src/client/pages/WorkersPage.tsx +316 -0
  53. package/src/client/pages/index.ts +7 -0
  54. package/src/client/utils.ts +6 -0
  55. package/src/server/index.ts +556 -0
  56. package/src/server/middleware/auth.ts +127 -0
  57. package/src/server/services/AlertService.ts +160 -0
  58. package/src/server/services/QueueService.ts +828 -0
  59. package/tailwind.config.js +73 -0
  60. package/tests/placeholder.test.ts +7 -0
  61. package/tsconfig.json +38 -0
  62. package/tsconfig.node.json +12 -0
  63. package/vite.config.ts +27 -0
@@ -0,0 +1,73 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default {
3
+ content: [
4
+ "./src/client/index.html",
5
+ "./src/client/**/*.{js,ts,jsx,tsx}",
6
+ ],
7
+ theme: {
8
+ extend: {
9
+ colors: {
10
+ background: "hsl(var(--background))",
11
+ foreground: "hsl(var(--foreground))",
12
+ card: {
13
+ DEFAULT: "hsl(var(--card))",
14
+ foreground: "hsl(var(--card-foreground))",
15
+ },
16
+ popover: {
17
+ DEFAULT: "hsl(var(--popover))",
18
+ foreground: "hsl(var(--popover-foreground))",
19
+ },
20
+ primary: {
21
+ DEFAULT: "hsl(var(--primary))",
22
+ foreground: "hsl(var(--primary-foreground))",
23
+ },
24
+ secondary: {
25
+ DEFAULT: "hsl(var(--secondary))",
26
+ foreground: "hsl(var(--secondary-foreground))",
27
+ },
28
+ muted: {
29
+ DEFAULT: "hsl(var(--muted))",
30
+ foreground: "hsl(var(--muted-foreground))",
31
+ },
32
+ accent: {
33
+ DEFAULT: "hsl(var(--accent))",
34
+ foreground: "hsl(var(--accent-foreground))",
35
+ },
36
+ destructive: {
37
+ DEFAULT: "hsl(var(--destructive))",
38
+ foreground: "hsl(var(--destructive-foreground))",
39
+ },
40
+ border: "hsl(var(--border))",
41
+ input: "hsl(var(--input))",
42
+ ring: "hsl(var(--ring))",
43
+ chart: {
44
+ "1": "hsl(var(--chart-1))",
45
+ "2": "hsl(var(--chart-2))",
46
+ "3": "hsl(var(--chart-3))",
47
+ "4": "hsl(var(--chart-4))",
48
+ "5": "hsl(var(--chart-5))",
49
+ },
50
+ },
51
+ borderRadius: {
52
+ lg: "var(--radius)",
53
+ md: "calc(var(--radius) - 2px)",
54
+ sm: "calc(var(--radius) - 4px)",
55
+ },
56
+ keyframes: {
57
+ "accordion-down": {
58
+ from: { height: "0" },
59
+ to: { height: "var(--radix-accordion-content-height)" },
60
+ },
61
+ "accordion-up": {
62
+ from: { height: "var(--radix-accordion-content-height)" },
63
+ to: { height: "0" },
64
+ },
65
+ },
66
+ animation: {
67
+ "accordion-down": "accordion-down 0.2s ease-out",
68
+ "accordion-up": "accordion-up 0.2s ease-out",
69
+ },
70
+ },
71
+ },
72
+ plugins: [],
73
+ }
@@ -0,0 +1,7 @@
1
+ import { describe, expect, it } from 'bun:test'
2
+
3
+ describe('zenith', () => {
4
+ it('should have a test', () => {
5
+ expect(true).toBe(true)
6
+ })
7
+ })
package/tsconfig.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "target": "ES2020",
5
+ "useDefineForClassFields": true,
6
+ "lib": [
7
+ "ES2020",
8
+ "DOM",
9
+ "DOM.Iterable"
10
+ ],
11
+ "module": "ESNext",
12
+ "skipLibCheck": true,
13
+ /* Bundler mode */
14
+ "moduleResolution": "bundler",
15
+ "allowImportingTsExtensions": true,
16
+ "resolveJsonModule": true,
17
+ "isolatedModules": true,
18
+ "noEmit": true,
19
+ "jsx": "react-jsx",
20
+ /* Linting */
21
+ "strict": true,
22
+ "noUnusedLocals": true,
23
+ "noUnusedParameters": true,
24
+ "noFallthroughCasesInSwitch": true,
25
+ "types": [
26
+ "bun-types",
27
+ "vite/client"
28
+ ]
29
+ },
30
+ "include": [
31
+ "src"
32
+ ],
33
+ "references": [
34
+ {
35
+ "path": "./tsconfig.node.json"
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "skipLibCheck": true,
5
+ "module": "ESNext",
6
+ "moduleResolution": "bundler",
7
+ "allowSyntheticDefaultImports": true
8
+ },
9
+ "include": [
10
+ "vite.config.ts"
11
+ ]
12
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,27 @@
1
+ import react from '@vitejs/plugin-react'
2
+ import { resolve } from 'path'
3
+ import { defineConfig } from 'vite'
4
+
5
+ // https://vitejs.dev/config/
6
+ export default defineConfig({
7
+ plugins: [react()],
8
+ root: 'src/client',
9
+ publicDir: '../../public',
10
+ build: {
11
+ outDir: '../../dist/client',
12
+ emptyOutDir: true,
13
+ },
14
+ resolve: {
15
+ alias: {
16
+ '@': resolve(__dirname, './src/client'),
17
+ },
18
+ },
19
+ server: {
20
+ proxy: {
21
+ '/api': {
22
+ target: 'http://localhost:3000',
23
+ changeOrigin: true,
24
+ },
25
+ },
26
+ },
27
+ })