Commit Graph
50 Commits
Author SHA1 Message Date
Claude b64ef77d0a docs: add CLAUDE.md with comprehensive codebase documentation
Provides AI assistants with project structure, architecture overview,
development workflows, code conventions, and key technical details
for the proxy server, cost engine, and dashboard components.

https://claude.ai/code/session_01JNZ1xxHwmHgXnZd2ssdkgw
2026-02-21 02:49:41 +00:00
Praveen ThirumuruganandGitHub 41ef04b092 Merge pull request #19 from praveentcom/dependabot/npm_and_yarn/next-16.1.5 2026-02-13 11:35:26 +05:30
dependabot[bot]andGitHub eee500d8a8 chore(deps): bump next from 14.2.35 to 16.1.5
Bumps [next](https://github.com/vercel/next.js) from 14.2.35 to 16.1.5.
- [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.35...v16.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 03:49:39 +00:00
Praveen ThirumuruganandGitHub 9c9c681269 Merge pull request #11 from praveentcom/dependabot/npm_and_yarn/recharts-3.6.0
chore(deps): bump recharts from 2.15.4 to 3.6.0
2026-01-16 15:28:56 +05:30
dependabot[bot]andGitHub 49b304fe67 chore(deps): bump recharts from 2.15.4 to 3.6.0
Bumps [recharts](https://github.com/recharts/recharts) from 2.15.4 to 3.6.0.
- [Release notes](https://github.com/recharts/recharts/releases)
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md)
- [Commits](https://github.com/recharts/recharts/compare/v2.15.4...v3.6.0)

---
updated-dependencies:
- dependency-name: recharts
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-29 17:30:11 +00:00
Praveen Thirumurugan 64d241c711 chore: lint fix 2025-12-28 02:10:18 +05:30
Praveen Thirumurugan 8022118500 chore: use node 2025-12-28 02:09:13 +05:30
Praveen ThirumuruganandGitHub 61aa31743b Merge pull request #10 from praveentcom/cosine/optional-chaining-number-parsefloat
Use optional chaining for exactMatch check and Number.parseFloat in cost.ts
2025-12-28 02:01:05 +05:30
Praveen ThirumuruganandGenie 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 ThirumuruganandGenie eeebf1c6e9 fix(cost): use optional chaining for cost match and Number.parseFloat for fixed total
Co-authored-by: Genie <genie@cosine.sh>
2025-12-27 20:26:40 +00:00
Praveen ThirumuruganandGitHub 308a251056 Merge pull request #9 from praveentcom/cosine/chore/use-number-parse-methods
Use Number.parseInt and Number.isNaN instead of global parseInt/isNaN
2025-12-28 01:54:44 +05:30
Praveen ThirumuruganandGenie 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 ThirumuruganandGitHub 01737528aa Update README.md
Signed-off-by: Praveen Thirumurugan <mail@praveent.com>
2025-12-24 17:24:47 +05:30
Praveen ThirumuruganandGitHub dc853f4c55 Update README.md
Signed-off-by: Praveen Thirumurugan <mail@praveent.com>
2025-12-24 16:42:03 +05:30
Praveen Thirumurugan 435a2d6e32 1.1.1 2025-12-24 16:34:00 +05:30
Praveen Thirumurugan 276aa4fb29 Enhance logging and update README for SSRF warning
- Updated console log messages in cost.ts and proxy.ts for clarity and consistency.
- Added important SSRF warning in README.md regarding localhost access issues with certain clients, along with solutions using external proxy services.
2025-12-24 16:33:54 +05:30
Praveen ThirumuruganandGitHub a34aa17481 Update README.md
Signed-off-by: Praveen Thirumurugan <mail@praveent.com>
2025-12-23 12:48:44 +05:30
Praveen ThirumuruganandGitHub 8508244487 Update README.md 2025-12-23 12:44:55 +05:30
Praveen ThirumuruganandGitHub 8c2fae67b2 Update README.md 2025-12-23 12:40:04 +05:30
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
Praveen ThirumuruganandGitHub e5231cac8c Merge pull request #6 from praveentcom/dependabot/npm_and_yarn/types/pg-8.16.0 2025-12-17 10:51:42 +05:30
dependabot[bot]andGitHub bfffa262be chore(deps-dev): bump @types/pg from 8.15.5 to 8.16.0
Bumps [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) from 8.15.5 to 8.16.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

---
updated-dependencies:
- dependency-name: "@types/pg"
  dependency-version: 8.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-17 00:06:28 +00:00
Praveen ThirumuruganandGitHub 2251a09ac0 Merge pull request #8 from praveentcom/dependabot/npm_and_yarn/types/node-25.0.3
chore(deps-dev): bump @types/node from 24.8.1 to 25.0.3
2025-12-17 05:35:26 +05:30
Praveen ThirumuruganandGitHub 541655a699 Merge pull request #7 from praveentcom/dependabot/npm_and_yarn/types/uuid-11.0.0
chore(deps): bump @types/uuid from 10.0.0 to 11.0.0
2025-12-17 05:35:16 +05:30
dependabot[bot]andGitHub 6d8fc69cf5 chore(deps-dev): bump @types/node from 24.8.1 to 25.0.3
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.8.1 to 25.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-16 23:57:00 +00:00
dependabot[bot]andGitHub 79a224481d chore(deps): bump @types/uuid from 10.0.0 to 11.0.0
Bumps [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid) from 10.0.0 to 11.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid)

---
updated-dependencies:
- dependency-name: "@types/uuid"
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-16 23:56:54 +00:00
Praveen ThirumuruganandGitHub b9aaa429a7 Create dependabot.yml 2025-12-17 05:25:55 +05:30
Praveen ThirumuruganandGitHub e85c450e09 Merge pull request #5 from praveentcom/dependabot/npm_and_yarn/dashboard/next-14.2.35
chore(deps): bump next from 14.2.33 to 14.2.35 in /dashboard
2025-12-15 23:59:55 +05:30
dependabot[bot]andGitHub 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
Praveen ThirumuruganandGitHub cb817b4e6a Merge pull request #4 from praveentcom/claude/fix-bugs-01UKJXpHnQvA2U5FCUDptwMT 2025-11-23 13:10:43 +05:30
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
Praveen ThirumuruganandGitHub aac2c3f224 Merge pull request #3 from praveentcom/claude/fix-small-bug-01AGtjhF3TtnBUMpwakQTrZM 2025-11-23 09:56:23 +05:30
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
Praveen ThirumuruganandGitHub 94155233e5 Merge pull request #1 from praveentcom/claude/add-nextjs-metrics-dashboard-01JNVCLSV6ryKGhHfnkzZSRh 2025-11-19 07:36:47 +05:30
Praveen ThirumuruganandGitHub ab15d9e001 Merge pull request #2 from praveentcom/copilot/sub-pr-1
Fix SQL injection vulnerabilities in metrics API route
2025-11-19 07:35:53 +05:30
copilot-swe-agent[bot]andpraveentcom 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
copilot-swe-agent[bot] 9f6906b423 Initial plan 2025-11-19 01:51:55 +00:00
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
Praveen ThirumuruganandGitHub dc0c4b8600 Update README.md 2025-10-18 03:29:12 +05:30
Praveen Thirumurugan 30e461f3c4 chore: rename project from llm-proxy-server to openproxy in documentation and configuration files 2025-10-18 03:25:16 +05:30
Praveen Thirumurugan f592b4b029 feat: add IP normalization for IPv6-mapped addresses in proxy request logging 2025-10-18 02:33:42 +05:30
Praveen Thirumurugan 0a69232257 feat: add UUID generation for request tracking and update PostgreSQL schema 2025-10-18 02:22:52 +05:30
Praveen Thirumurugan ee0e5033ec refactor: remove redundant provider information from log data in proxy request 2025-10-18 02:10:03 +05:30
Praveen Thirumurugan 4c6610eecc feat: add UPSTREAM_URL validation and error handling in proxy request 2025-10-18 01:57:44 +05:30
Praveen Thirumurugan 1b3ce75155 fix: normalize model names to lowercase in cost calculation and proxy request handling 2025-10-18 01:40:56 +05:30
Praveen Thirumurugan ac59778c46 docs: clarify cost configuration details in README 2025-10-18 01:32:00 +05:30
Praveen Thirumurugan 07fad4ec4d feat: update package.json with project metadata and keywords 2025-10-18 01:30:54 +05:30
Praveen Thirumurugan 55e834161a feat: enhance documentation and add project description 2025-10-18 01:25:39 +05:30
Praveen Thirumurugan 6839ae6f6a feat: init llm-proxy 2025-10-18 01:22:02 +05:30