57 Commits

Author SHA1 Message Date
Praveen Thirumurugan 0dc593bb09 Merge pull request #16 from praveentcom/dependabot/npm_and_yarn/next-16.1.3
chore(deps): bump next from 14.2.35 to 16.1.3
2026-03-02 12:55:17 +05:30
Praveen Thirumurugan c6c0a9426c Merge pull request #18 from praveentcom/dependabot/npm_and_yarn/types/node-25.0.9
chore(deps-dev): bump @types/node from 20.19.27 to 25.0.9
2026-03-02 12:55:06 +05:30
Praveen Thirumurugan f402cc97b4 Merge pull request #17 from praveentcom/dependabot/npm_and_yarn/pg-8.17.1
chore(deps): bump pg from 8.16.3 to 8.17.1
2026-03-02 12:54:55 +05:30
Praveen Thirumurugan 51be8ed993 Merge pull request #20 from praveentcom/claude/add-claude-documentation-K9tiD 2026-02-21 08:25:49 +05:30
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
dependabot[bot] 8281f700a1 chore(deps): bump next from 14.2.35 to 16.1.3
Bumps [next](https://github.com/vercel/next.js) from 14.2.35 to 16.1.3.
- [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.3)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.1.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 06:07:52 +00:00
dependabot[bot] 748c5fc051 chore(deps): bump pg from 8.16.3 to 8.17.1
Bumps [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) from 8.16.3 to 8.17.1.
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.17.1/packages/pg)

---
updated-dependencies:
- dependency-name: pg
  dependency-version: 8.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 06:07:34 +00:00
Praveen Thirumurugan 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] 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
dependabot[bot] cdecf9997e chore(deps-dev): bump @types/node from 20.19.27 to 25.0.9
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.19.27 to 25.0.9.
- [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.9
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 19:40:25 +00:00
Praveen Thirumurugan 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] 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 Thirumurugan 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 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 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 Thirumurugan 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 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 01737528aa Update README.md
Signed-off-by: Praveen Thirumurugan <mail@praveent.com>
2025-12-24 17:24:47 +05:30
Praveen Thirumurugan 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 Thirumurugan a34aa17481 Update README.md
Signed-off-by: Praveen Thirumurugan <mail@praveent.com>
2025-12-23 12:48:44 +05:30
Praveen Thirumurugan 8508244487 Update README.md 2025-12-23 12:44:55 +05:30
Praveen Thirumurugan 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 Thirumurugan 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] 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 Thirumurugan 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 Thirumurugan 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] 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] 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 Thirumurugan b9aaa429a7 Create dependabot.yml 2025-12-17 05:25:55 +05:30
Praveen Thirumurugan 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] 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 Thirumurugan 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 Thirumurugan 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 Thirumurugan 94155233e5 Merge pull request #1 from praveentcom/claude/add-nextjs-metrics-dashboard-01JNVCLSV6ryKGhHfnkzZSRh 2025-11-19 07:36:47 +05:30
Praveen Thirumurugan 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] 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
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
Praveen Thirumurugan 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