antigravity-claude-proxy 2.0.1 → 2.0.2
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/README.md +3 -0
- package/package.json +1 -1
- package/public/app.js +30 -0
- package/public/css/src/input.css +28 -0
- package/public/css/style.css +1 -1
- package/public/index.html +114 -71
- package/public/js/app-init.js +1 -1
- package/public/js/components/account-manager.js +44 -18
- package/public/js/components/claude-config.js +30 -0
- package/public/js/components/dashboard/charts.js +112 -59
- package/public/js/components/dashboard/stats.js +40 -12
- package/public/js/components/dashboard.js +21 -5
- package/public/js/data-store.js +163 -9
- package/public/js/store.js +45 -0
- package/public/views/accounts.html +7 -5
- package/public/views/dashboard.html +90 -63
- package/public/views/models.html +64 -16
- package/public/views/settings.html +37 -1
- package/src/utils/claude-config.js +29 -0
- package/src/webui/index.js +47 -1
package/README.md
CHANGED
|
@@ -317,6 +317,9 @@ The proxy includes a built-in, modern web interface for real-time monitoring and
|
|
|
317
317
|
- **Visual Model Quota**: Track per-model usage and next reset times with color-coded progress indicators.
|
|
318
318
|
- **Account Management**: Add/remove Google accounts via OAuth, view subscription tiers (Free/Pro/Ultra) and quota status at a glance.
|
|
319
319
|
- **Claude CLI Configuration**: Edit your `~/.claude/settings.json` directly from the browser.
|
|
320
|
+
- **Persistent History**: Tracks request volume by model family for 30 days, persisting across server restarts.
|
|
321
|
+
- **Time Range Filtering**: Analyze usage trends over 1H, 6H, 24H, 7D, or All Time periods.
|
|
322
|
+
- **Smart Analysis**: Auto-select top 5 most used models or toggle between Family/Model views.
|
|
320
323
|
- **Live Logs**: Stream server logs with level-based filtering and search.
|
|
321
324
|
- **Advanced Tuning**: Configure retries, timeouts, and debug mode on the fly.
|
|
322
325
|
- **Bilingual Interface**: Full support for English and Chinese (switch via Settings).
|
package/package.json
CHANGED
package/public/app.js
CHANGED
|
@@ -57,9 +57,39 @@ document.addEventListener('alpine:init', () => {
|
|
|
57
57
|
return Alpine.store('data')?.loading || false;
|
|
58
58
|
},
|
|
59
59
|
|
|
60
|
+
sidebarOpen: window.innerWidth >= 1024,
|
|
61
|
+
toggleSidebar() {
|
|
62
|
+
this.sidebarOpen = !this.sidebarOpen;
|
|
63
|
+
},
|
|
64
|
+
|
|
60
65
|
init() {
|
|
61
66
|
console.log('App controller initialized');
|
|
62
67
|
|
|
68
|
+
// Handle responsive sidebar transitions
|
|
69
|
+
let lastWidth = window.innerWidth;
|
|
70
|
+
let resizeTimeout = null;
|
|
71
|
+
|
|
72
|
+
window.addEventListener('resize', () => {
|
|
73
|
+
if (resizeTimeout) clearTimeout(resizeTimeout);
|
|
74
|
+
|
|
75
|
+
resizeTimeout = setTimeout(() => {
|
|
76
|
+
const currentWidth = window.innerWidth;
|
|
77
|
+
const lgBreakpoint = 1024;
|
|
78
|
+
|
|
79
|
+
// Desktop -> Mobile: Auto-close sidebar to prevent overlay blocking screen
|
|
80
|
+
if (lastWidth >= lgBreakpoint && currentWidth < lgBreakpoint) {
|
|
81
|
+
this.sidebarOpen = false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Mobile -> Desktop: Auto-open sidebar (restore standard desktop layout)
|
|
85
|
+
if (lastWidth < lgBreakpoint && currentWidth >= lgBreakpoint) {
|
|
86
|
+
this.sidebarOpen = true;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
lastWidth = currentWidth;
|
|
90
|
+
}, 150);
|
|
91
|
+
});
|
|
92
|
+
|
|
63
93
|
// Theme setup
|
|
64
94
|
document.documentElement.setAttribute('data-theme', 'black');
|
|
65
95
|
document.documentElement.classList.add('dark');
|
package/public/css/src/input.css
CHANGED
|
@@ -366,6 +366,25 @@
|
|
|
366
366
|
/* Refactored UI Components (Phase 1.2) */
|
|
367
367
|
/* -------------------------------------------------------------------------- */
|
|
368
368
|
|
|
369
|
+
/* Phase 1.2 additions ... */
|
|
370
|
+
|
|
371
|
+
/* Filter Controls */
|
|
372
|
+
.filter-control {
|
|
373
|
+
@apply flex items-center justify-center gap-2 px-3 py-1.5 lg:px-4 lg:py-2
|
|
374
|
+
text-[10px] lg:text-xs font-mono font-medium text-gray-400
|
|
375
|
+
bg-space-800 lg:bg-transparent border border-space-border/50 lg:border-transparent
|
|
376
|
+
rounded lg:rounded-md hover:text-white lg:hover:bg-space-800
|
|
377
|
+
transition-all duration-200 whitespace-nowrap w-full sm:w-auto;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.filter-control:hover {
|
|
381
|
+
@apply border-neon-cyan/50 lg:border-neon-cyan/30 lg:shadow-lg lg:shadow-neon-cyan/10;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.filter-control-item {
|
|
385
|
+
@apply block w-full px-3 py-1.5 text-left text-[10px] font-mono hover:bg-white/5 transition-colors;
|
|
386
|
+
}
|
|
387
|
+
|
|
369
388
|
/* Action Buttons */
|
|
370
389
|
.btn-action-ghost {
|
|
371
390
|
@apply btn btn-xs btn-ghost text-gray-400 hover:text-white transition-colors;
|
|
@@ -489,3 +508,12 @@
|
|
|
489
508
|
.skeleton-table-row {
|
|
490
509
|
@apply skeleton h-12 w-full mb-2;
|
|
491
510
|
}
|
|
511
|
+
|
|
512
|
+
/* Desktop Sidebar Collapsed State */
|
|
513
|
+
@media (min-width: 1024px) {
|
|
514
|
+
body .sidebar-collapsed {
|
|
515
|
+
width: 0;
|
|
516
|
+
padding: 0;
|
|
517
|
+
border: none;
|
|
518
|
+
}
|
|
519
|
+
}
|