Commit Graph

10 Commits

Author SHA1 Message Date
Praveen Thirumurugan
8022118500 chore: use node 2025-12-28 02:09:13 +05:30
Praveen Thirumurugan
946a5a6425 fix(metrics): standardize numeric parsing to Number.parseFloat/parseInt and fix unique_models mapping
Co-authored-by: Genie <genie@cosine.sh>
2025-12-27 20:29:45 +00:00
Praveen Thirumurugan
beb4ce46f1 refactor: use Number.parseInt/Number.isNaN for numeric parsing across API and UI
Co-authored-by: Genie <genie@cosine.sh>
2025-12-27 20:22:56 +00:00
Praveen Thirumurugan
18d4c93216 feat: update configuration for OpenAI and Anthropic endpoints
- Created a new .env.example file with default environment variables for PORT, OPENAI_UPSTREAM_URL, ANTHROPIC_UPSTREAM_URL, and DATABASE_URL.
- Updated .npmignore to exclude all .env files except .env.example.
- Revised CONTRIBUTING.md to simplify the contribution process and provide clearer setup instructions.
- Enhanced cost.ts with detailed type definitions and improved cost calculation logic.
- Updated proxy.ts to include new environment variables and improved logging functionality.
- Modified README.md to reflect new configuration instructions and usage examples.
- Removed unnecessary dashboard files and streamlined the project structure.
2025-12-23 12:37:40 +05:30
dependabot[bot]
32485a0340 chore(deps): bump next from 14.2.33 to 14.2.35 in /dashboard
Bumps [next](https://github.com/vercel/next.js) from 14.2.33 to 14.2.35.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.33...v14.2.35)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 14.2.35
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-13 14:36:21 +00:00
Claude
8b90fa2b9e Fix critical bugs for security and data accuracy
This commit addresses three important bugs:

1. SQL Injection Prevention (proxy.ts:70-75):
   - Added whitelist validation for DATABASE_TABLE environment variable
   - Table names are now validated against ALLOWED_TABLES before use
   - Prevents potential SQL injection through malicious table names

2. SQL Interval Parameter Bug (dashboard/app/api/metrics/route.ts):
   - Fixed incorrect INTERVAL syntax in PostgreSQL queries
   - Changed from INTERVAL '$1 hours' to INTERVAL '1 hour' * $1
   - Properly uses parameterized queries with interval multiplication
   - Affects all 4 queries: summary, recent, model breakdown, and trends

3. Incorrect Property Reference (proxy.ts:206):
   - Fixed usage.cached_tokens to usage.prompt_tokens_details?.cached_tokens
   - Aligns with OpenAI API response structure for cached tokens
   - Ensures accurate logging of cached token usage
2025-11-23 06:18:11 +00:00
Claude
2770745618 Fix multiple small bugs for security and robustness
- Add input validation for hours and limit query parameters to prevent NaN and DoS attacks
- Replace || with ?? for proper null coalescing in metrics summary
- Fix IPv6 normalization to prevent empty string when IP is malformed
- Fix stream parsing to skip empty JSON strings and avoid parse errors
- Remove redundant .toString() calls on authorization header
2025-11-23 04:24:46 +00:00
copilot-swe-agent[bot]
6bd62cae27 Fix SQL injection vulnerabilities with parameterized queries and table name whitelist
Co-authored-by: praveentcom <82172535+praveentcom@users.noreply.github.com>
2025-11-19 01:56:44 +00:00
Praveen Thirumurugan
90c7325213 Update route.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-19 07:21:21 +05:30
Claude
b88fc8ead7 feat: add Next.js metrics dashboard for real-time visualization
Add a lightweight Next.js dashboard to visualize OpenProxy metrics in real-time. The dashboard provides comprehensive insights into LLM API usage, costs, and performance.

Features:
- Real-time metrics overview (requests, tokens, costs, response times)
- Model breakdown with usage statistics
- Hourly trends visualization with charts
- Recent requests table with detailed information
- Auto-refresh every 30 seconds
- Configurable time ranges (1h, 6h, 24h, 7d)

Technical details:
- Built with Next.js 14 and React 18
- Uses Recharts for data visualization
- Connects directly to PostgreSQL database
- Runs on port 3008 by default
- TypeScript for type safety
- Minimal dependencies for lightweight deployment

The dashboard complements the proxy server by providing a user-friendly interface for monitoring and analyzing LLM API usage patterns.
2025-11-19 00:04:28 +00:00