-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
109 lines (109 loc) · 3.78 KB
/
Copy pathpackage.json
File metadata and controls
109 lines (109 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
{
"name": "proxygatelymm",
"version": "6.0.0",
"description": "ProxyGateLLM v6 — The Biggest Free Multi-LLM Hub. 22 providers (10 free no-auth), OpenAI/Anthropic-compatible API, circuit breaker, cost estimation, smart routing, streaming, MCP server, auto-routing, PWA dashboard, AI agent. Inspired by OmniRoute. No API keys required for 10+ providers.",
"main": "engine/index.js",
"type": "module",
"scripts": {
"start": "node index.js",
"dev": "node --watch index.js",
"build": "echo 'No build step required — this is a pure Node.js project'",
"test": "node --test src/**/*.test.js",
"lint": "node --check index.js router.js middleware.js && echo 'Syntax OK'",
"clean": "rm -rf node_modules/.cache",
"health": "curl -s http://localhost:3333/health | node -e 'process.stdin.resume();let d=\"\";process.stdin.on(\"data\",c=>d+=c);process.stdin.on(\"end\",()=>{try{const j=JSON.parse(d);console.log(j.status===\"ok\"?\"✓ Healthy\":\"✗ Unhealthy\",j)}catch(e){console.log(\"✗ Parse error\",d)}})'",
"models": "curl -s http://localhost:3333/models | node -e 'process.stdin.resume();let d=\"\";process.stdin.on(\"data\",c=>d+=c);process.stdin.on(\"end\",()=>{try{const j=JSON.parse(d);console.log(j.data.length,\"models available\");j.data.forEach(m=>console.log(\" -\",m.id,\"(\"+m.providers?.join(\", \")+\")\"))}catch(e){console.log(d)}})'",
"providers": "curl -s http://localhost:3333/providers | node -e 'process.stdin.resume();let d=\"\";process.stdin.on(\"data\",c=>d+=c);process.stdin.on(\"end\",()=>{try{const j=JSON.parse(d);console.log(j.enabled,\"/\",j.total,\"providers enabled\");j.providers.forEach(p=>console.log(\" -\",p.displayName,\"[\"+p.healthStatus+\"]\",p.modelCount,\"models\"))}catch(e){console.log(d)}})'"
},
"keywords": [
"llm",
"gateway",
"ai",
"proxy",
"multi-provider",
"multi-llm",
"free-llm",
"openai-compatible",
"anthropic-compatible",
"puter",
"pollinations",
"duckduckgo",
"openrouter",
"groq",
"huggingface",
"cerebras",
"cloudflare",
"cohere",
"google-ai",
"blackbox",
"phind",
"llm7",
"deepai",
"venice",
"freegpt",
"apiairforce",
"circuit-breaker",
"cost-estimation",
"streaming",
"auto-routing",
"round-robin",
"failover",
"chatgpt",
"claude",
"deepseek",
"gemini",
"grok",
"mistral",
"llama",
"qwen",
"pwa",
"dashboard",
"ai-agent",
"mcp",
"saas",
"isaas",
"api-gateway",
"llm-proxy",
"omniroute-inspired"
],
"author": {
"name": "Mulky Malikul Dhaher",
"email": "mulkymalikuldhaher@email.com",
"url": "https://github.com/mulkymalikuldhrs"
},
"repository": {
"type": "git",
"url": "https://github.com/mulkymalikuldhrs/ProxyGateLLM.git"
},
"bugs": {
"url": "https://github.com/mulkymalikuldhrs/ProxyGateLLM/issues"
},
"homepage": "https://github.com/mulkymalikuldhrs/ProxyGateLLM#readme",
"private": false,
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.71.2",
"@heyputer/puter.js": "^2.2.5",
"dotenv": "^17.2.3",
"express": "^5.2.1"
},
"engines": {
"node": ">=18.0.0"
},
"exports": {
".": "./sdk/index.js",
"./agent": "./agent/index.js",
"./sdk": "./sdk/index.js",
"./engine": "./engine/index.js",
"./engine/*": "./engine/*.js",
"./multimodal": "./engine/multimodal.js",
"./orchestration": "./engine/orchestration.js",
"./mcp-gateway": "./engine/mcp-gateway.js",
"./a2a": "./engine/a2a-protocol.js",
"./tools": "./engine/tools.js",
"./observability": "./engine/observability.js",
"./marketplace": "./engine/marketplace.js",
"./circuit-breaker": "./utils/circuit-breaker.js",
"./cost-estimator": "./utils/cost-estimator.js"
}
}