iaurora 1.0.16 → 1.0.18

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.
Files changed (3) hide show
  1. package/README.md +236 -166
  2. package/bin/aurora.exe +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <div align="center">
2
2
 
3
- <img alt="Aurora OSS" src="dashboard-ui/public/aurora-oss-logo.svg" width="72">
3
+ <img alt="Aurora OSS" src="https://raw.githubusercontent.com/gurveeer/Aurora/main/dashboard-ui/public/aurora-oss-logo.svg" width="72">
4
4
 
5
- # Aurora OSS
5
+ # Aurora Gateway
6
6
 
7
7
  **One gateway. Every provider. Open source.**
8
8
 
@@ -13,7 +13,7 @@ Self-hosted. No vendor lock-in. Full source visibility.
13
13
  <tr>
14
14
  <td><a href="https://github.com/gurveeer/Aurora/actions/workflows/test.yml"><img src="https://github.com/gurveeer/Aurora/actions/workflows/test.yml/badge.svg" alt="CI"></a></td>
15
15
  <td><a href="https://github.com/gurveeer/Aurora/blob/main/go.mod"><img src="https://img.shields.io/github/go-mod/go-version/gurveeer/Aurora?style=flat-square&label=Go" alt="Go Version"></a></td>
16
- <td><a href="https://github.com/gurveeer/Aurora/releases"><img src="https://img.shields.io/github/v/release/gurveeer/Aurora?style=flat-square" alt="Release"></a></td>
16
+ <td><a href="https://www.npmjs.com/package/iaurora"><img src="https://img.shields.io/npm/v/iaurora?style=flat-square&label=npm" alt="npm"></a></td>
17
17
  <td><a href="https://github.com/gurveeer/Aurora/stargazers"><img src="https://img.shields.io/github/stars/gurveeer/Aurora?style=flat-square" alt="Stars"></a></td>
18
18
  </tr>
19
19
  <tr>
@@ -30,223 +30,293 @@ Self-hosted. No vendor lock-in. Full source visibility.
30
30
  </tr>
31
31
  </table>
32
32
 
33
- <a href="docs/assets/dashboard-overview.png">
34
- <img src="docs/assets/dashboard-overview.png" alt="Aurora dashboard" width="100%">
33
+ <a href="https://github.com/gurveeer/Aurora/blob/main/docs/assets/dashboard-overview.png">
34
+ <img src="https://raw.githubusercontent.com/gurveeer/Aurora/main/docs/assets/dashboard-overview.png" alt="Aurora dashboard" width="100%">
35
35
  </a>
36
36
 
37
37
  </div>
38
38
 
39
39
  ---
40
40
 
41
- ## Start your selfhosted gateway
41
+ ## CLI reference
42
42
 
43
- **Docker**
44
-
45
- ```bash
46
- docker run --rm -p 8080:8080 \
47
- -e OPENAI_API_KEY="sk-..." \
48
- gurveeer/Aurora
49
43
  ```
44
+ aurora [flags]
45
+ aurora init [flags]
46
+ aurora update
47
+ aurora uninstall
48
+ aurora models <command> [flags]
49
+ ```
50
+
51
+ | Command | Description |
52
+ |---------|-------------|
53
+ | `aurora` | Start the gateway server |
54
+ | `aurora init` | Bootstrap config.yaml, .env, and data/ directory |
55
+ | `aurora update` | Self-update to the latest npm version |
56
+ | `aurora uninstall` | Remove aurora from your system |
57
+ | `aurora models sync` | Download upstream model registry to local file |
58
+ | `aurora models diff` | Show pricing diff between upstream and local snapshot |
59
+ | `aurora models show` | Print effective pricing for a model |
60
+
61
+ | Flag | Description |
62
+ |------|-------------|
63
+ | `-version` | Print version information |
64
+ | `-help` | Show full configuration reference and env vars |
65
+ | `-help-json` | Dump environment variable schema as JSON |
66
+
67
+ | `aurora init` flag | Description |
68
+ |-------------------|-------------|
69
+ | `-dir <path>` | Target directory (default: current directory) |
70
+ | `-force` | Overwrite existing files |
71
+ | `-with-models` | Also download the model registry |
72
+
73
+ ---
74
+
75
+ ## Quick start
50
76
 
51
- **npm (global CLI)**
77
+ ### npm (recommended)
52
78
 
53
79
  ```bash
80
+ # Install globally
54
81
  npm install -g iaurora
55
- # Now run `aurora` anywhere:
56
- aurora --help
82
+
83
+ # Scaffold a new project
84
+ mkdir my-gateway && cd my-gateway
85
+ aurora init
86
+
87
+ # Edit .env with your API key(s)
88
+ # Uncomment one of the provider keys:
89
+ # GROQ_API_KEY=gsk_...
90
+ # OPENAI_API_KEY=sk-...
91
+ # etc.
92
+
93
+ # Start the gateway
94
+ aurora
57
95
  ```
58
96
 
59
- Requires Go 1.26.2+ to be installed on the machine; the `aurora` binary is downloaded on first use.
97
+ The gateway boots on `http://localhost:8080` with every free feature enabled.
98
+ Open the dashboard at `http://localhost:8080/admin/dashboard`.
60
99
 
61
- **From source**
100
+ ### Docker
62
101
 
63
102
  ```bash
64
- git clone https://github.com/gurveeer/Aurora.git && cd Aurora
65
- pnpm --dir dashboard-ui install && pnpm --dir dashboard-ui run build
66
- go build -o bin/aurora-oss.exe ./apps/aurora
103
+ docker run --rm -p 8080:8080 \
104
+ -e AURORA_MASTER_KEY="your-secure-key" \
105
+ -e GROQ_API_KEY="gsk_..." \
106
+ gurveeer/Aurora
67
107
  ```
68
108
 
69
- Then send your first request:
109
+ For configurable deployments, mount your `config.yaml` and `.env`:
70
110
 
71
111
  ```bash
72
- curl http://localhost:8080/v1/chat/completions \
73
- -H "Content-Type: application/json" \
74
- -d '{"model":"gpt-5-chat-latest","messages":[{"role":"user","content":"Hello!"}]}'
112
+ docker run --rm -p 8080:8080 \
113
+ -v /path/to/config.yaml:/app/config.yaml \
114
+ -v /path/to/.env:/app/.env \
115
+ -e AURORA_CONFIG_PATH=/app/config.yaml \
116
+ gurveeer/Aurora
75
117
  ```
76
118
 
77
- | | |
78
- |---|---|
79
- | Dashboard | `http://localhost:8080/admin/dashboard` |
80
- | Health check | `http://localhost:8080/health` |
81
- | Swagger | `http://localhost:8080/swagger/index.html` |
119
+ ### From source
82
120
 
83
- ---
121
+ ```bash
122
+ git clone https://github.com/gurveeer/Aurora.git && cd Aurora
84
123
 
85
- ## What it does
124
+ # Build the dashboard UI (one-time)
125
+ pnpm --dir dashboard-ui install && pnpm --dir dashboard-ui run build
86
126
 
87
- Aurora sits between your application and AI providers. One API key, one endpoint, every model.
127
+ # Build the binary
128
+ go build -o bin/aurora ./apps/aurora
88
129
 
89
- <p align="center">
90
- <a href="docs/assets/analytics-overview.png">
91
- <img src="docs/assets/analytics-overview.png" alt="Usage analytics" width="48%">
92
- </a>
93
- <a href="docs/assets/audit-logs.png">
94
- <img src="docs/assets/audit-logs.png" alt="Audit logs" width="48%">
95
- </a>
96
- </p>
130
+ # Use the CLI's init command
131
+ ./bin/aurora init -dir ./my-gateway
132
+ cd ./my-gateway
97
133
 
98
- **Unified API** -- `/v1/chat/completions`, `/v1/responses`, `/v1/embeddings`, `/v1/models`, `/v1/files`, `/v1/batches`
134
+ # Edit .env with keys, then start
135
+ ../bin/aurora
136
+ ```
137
+
138
+ ---
99
139
 
100
- **12 providers** -- OpenAI, Anthropic, Gemini, DeepSeek, Groq, OpenRouter, Z.ai, xAI, Azure OpenAI, Oracle, Ollama, vLLM (and any OpenAI-compatible backend)
140
+ ## What `aurora init` generates
101
141
 
102
- **Routing** -- Model aliases, provider pools, fallback chains, workflow pipelines, passthrough routes
142
+ ```
143
+ my-gateway/
144
+ ├── config.yaml # Full config (all OSS features ON)
145
+ ├── .env # Every env var documented
146
+ ├── configs/
147
+ │ └── fallback.json # Fallback routing rules (example)
148
+ └── data/
149
+ └── user_pricing.yaml # Model pricing overrides
150
+ ```
103
151
 
104
- **Dashboard** -- Live usage analytics, provider status, cache hit rates, cost tracking, audit logs
152
+ **All 15 config sections are active** nothing needs to be uncommented for the gateway to work. The generated files serve as living documentation: every option is listed with a description and its default value. Commented-out blocks show advanced features that need external infrastructure (Redis, PostgreSQL, vector stores).
153
+
154
+ ### Feature overview
155
+
156
+ | Feature | What it does | How to use |
157
+ |---------|-------------|------------|
158
+ | **HTTP Gateway** | OpenAI-compatible `/v1/chat/completions`, `/v1/embeddings`, `/v1/models`, etc. | Send any OpenAI SDK/client at it |
159
+ | **Admin Dashboard** | Web UI for managing providers, API keys, models, combos | `http://localhost:8080/admin/dashboard` |
160
+ | **Model Discovery** | Detects providers and their models from env vars automatically | Just set `GROQ_API_KEY` — models appear in `/v1/models` |
161
+ | **Passthrough Routes** | Call provider APIs directly through the gateway | `POST /p/groq/v1/chat/completions` |
162
+ | **Anthropic Ingress** | Native Anthropic-format `/v1/messages` endpoint | Send Anthropic SDK traffic directly |
163
+ | **Audit Logging** | Records every request/response with retention | View in dashboard → Audit Logs |
164
+ | **Usage Tracking** | Token counts, cost per request, historical analytics | View in dashboard → Usage |
165
+ | **Prometheus Metrics** | Go runtime + request metrics | `GET /metrics` |
166
+ | **Guardrails** | Content safety filters (system prompt, regex, PII redaction) | Configure in dashboard or `guardrails` in YAML |
167
+ | **Token Saver** | Compresses responses to cut token spend | Set `TOKEN_SAVER_ENABLED=true` (already on by default) |
168
+ | **Swagger UI** | Interactive API docs | `http://localhost:8080/swagger/index.html` |
169
+ | **pprof** | Go performance profiling | `http://localhost:8080/debug/pprof/` |
170
+ | **Fallback Routing** | Auto-failover when a provider returns an error | Configured in `fallback.json` |
171
+ | **Resilience** | Retries transient failures + circuit breaker | On by default (3 retries, 30s backoff) |
172
+ | **Combo Models** | Send one prompt to multiple models, get all responses | Create via dashboard or API |
173
+ | **CLI Tools** | Admin configuration via CLI commands | Enable `apply_enabled` for write access |
174
+ | **SQLite Storage** | Zero-config embedded database for all persistence | Default — no setup needed |
175
+
176
+ ### Your first request
105
177
 
106
- **Controls** -- Managed API keys, model overrides, guardrails, pricing recalculation, exact + semantic response caching
178
+ ```bash
179
+ curl http://localhost:8080/v1/chat/completions \
180
+ -H "Content-Type: application/json" \
181
+ -H "Authorization: Bearer $(grep AURORA_MASTER_KEY .env | cut -d= -f2)" \
182
+ -d '{
183
+ "model": "groq/llama-3.3-70b-versatile",
184
+ "messages": [{"role": "user", "content": "Hello!"}]
185
+ }'
186
+ ```
107
187
 
108
- **Storage** -- SQLite (default), PostgreSQL, MongoDB
188
+ Or using the admin dashboard at `http://localhost:8080/admin/dashboard` to test models interactively.
109
189
 
110
190
  ---
111
191
 
112
- ## Publish readiness and boundaries
113
-
114
- This repository is intended to be published as the **Aurora OSS source tree**. It should contain source code, tests, examples, generated OpenAPI/docs assets, and public documentation only.
192
+ ## Providers
115
193
 
116
- **Current review status:** source publish is acceptable after the checks below pass locally. Do not publish any local runtime files, compiled binaries, package tarballs, databases, logs, or machine-specific configuration.
194
+ Providers are **auto-discovered from environment variables**. Set any of these keys in your `.env` and restart the provider and its models appear automatically.
117
195
 
118
- ### Repository boundary
196
+ | Provider | Env var | Default models |
197
+ |----------|---------|----------------|
198
+ | OpenAI | `OPENAI_API_KEY` | `gpt-4o`, `gpt-4o-mini` |
199
+ | Anthropic | `ANTHROPIC_API_KEY` | `claude-sonnet-4`, `claude-opus-4` |
200
+ | Google Gemini | `GEMINI_API_KEY` | `gemini-2.5-pro`, `gemini-2.5-flash` |
201
+ | Groq | `GROQ_API_KEY` | `llama-3.3-70b`, `qwen3-32b`, `whisper` |
202
+ | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek-chat`, `deepseek-reasoner` |
203
+ | OpenRouter | `OPENROUTER_API_KEY` | 300+ models |
204
+ | xAI | `XAI_API_KEY` | `grok-3`, `grok-3-mini` |
205
+ | Z.ai | `ZAI_API_KEY` | `glm-4.5` |
206
+ | MiniMax | `MINIMAX_API_KEY` | `minimax-m1` |
207
+ | Azure OpenAI | `AZURE_API_KEY` + `AZURE_BASE_URL` | Your deployments |
208
+ | Oracle | `ORACLE_API_KEY` + `ORACLE_BASE_URL` | `cohere.command-r-plus` |
209
+ | Ollama | `OLLAMA_BASE_URL` | Any local model |
210
+ | vLLM | `VLLM_BASE_URL` | Any served model |
119
211
 
120
- Included in the OSS boundary:
212
+ **Custom base URL?** Set `OPENAI_BASE_URL`, `GROQ_BASE_URL`, etc. in `.env`.
121
213
 
122
- - Gateway source under `apps/`, `internal/`, `configuration/`, and supporting packages.
123
- - Dashboard source under `dashboard-ui/` and minimal embedded dashboard placeholders needed by Go builds.
124
- - Public config examples under `configs/`, `configuration/`, `helm/`, `.env.template`, and docs.
125
- - Tests under `test/` and public fixtures with dummy credentials only.
126
- - CI, release, Docker, Helm, and packaging scripts.
214
+ **Multiple instances of the same provider?** Use suffix notation: `OPENAI_EAST_API_KEY`, `OPENAI_EAST_BASE_URL`, `OPENAI_WEST_API_KEY`, etc.
127
215
 
128
- Excluded from the OSS boundary:
216
+ ---
129
217
 
130
- - Local environment files: `.env`, `.env.*`, `.aurora.local/`.
131
- - Runtime data: `data/`, logs, caches, SQLite files, benchmark output, and temporary files.
132
- - Build/package output: `bin/`, `dist/`, `release/`, `npm/`, `*.exe`, `*.tgz`, archives.
133
- - User/editor/agent config that may contain private paths or endpoints: `.vscode/`, `.idea/`, `opencode.json`, `.claude/settings.local.json`.
134
- - Any provider API key, database URL, Redis URL, vector DB token, private certificate/key, or managed API key.
218
+ ## Using the admin dashboard
135
219
 
136
- ### Leakage review summary
220
+ Open `http://localhost:8080/admin/dashboard` to:
137
221
 
138
- The publish tree was checked for common leakage classes:
222
+ - **Manage API keys** Create and revoke gateway-level API keys with usage limits
223
+ - **Toggle models** — Enable/disable specific models per provider
224
+ - **Override pricing** — Set custom input/output token costs per model
225
+ - **View analytics** — Request volume, token usage, latency, error rates
226
+ - **Browse audit logs** — Every request, who made it, what model, how many tokens
227
+ - **Configure guardrails** — Add content safety rules
228
+ - **Create combos** — Multi-model comparison and fallback groups
229
+ - **Monitor cache** — Hit rates for exact and semantic caches
139
230
 
140
- - Hardcoded provider keys and service tokens.
141
- - Live Redis/PostgreSQL/Qdrant connection strings.
142
- - Private certificates and key material.
143
- - Local absolute paths and machine-specific `.aurora.local` files.
144
- - Generated binaries and package archives.
231
+ ---
145
232
 
146
- Local secret-bearing files and generated binaries/package artifacts were removed from the publish tree. Remaining credential-like strings found by the review are dummy examples in docs/tests, such as `sk-test-key-12345`, `postgres://user:pass@localhost/...`, or placeholders in `.env.template`.
233
+ ## Combo models
147
234
 
148
- ### Security posture
235
+ Combos let you send one prompt to multiple models simultaneously. The primary model responds; if it fails, fallback models are tried automatically.
149
236
 
150
- - Keep `AURORA_MASTER_KEY` unset only for isolated local testing. Set a high-entropy value before exposing the gateway outside localhost.
151
- - Keep `LOGGING_LOG_BODIES=false` and `LOGGING_LOG_HEADERS=false` unless you explicitly need request debugging and understand the privacy impact.
152
- - Use `.env.template` as documentation only. Put real values in untracked `.env` files, deployment secrets, or your hosting provider's secret manager.
153
- - Rotate any credential that was ever present in a local `.env`, `.aurora.local`, package artifact, shell history, or shared archive before public release.
154
- - Audit logs hash API keys for identification and redact sensitive headers in reader paths, but request/response body logging can still capture sensitive prompts if enabled.
237
+ ### Create via dashboard
155
238
 
156
- ### Pre-publish checklist
239
+ 1. Open `http://localhost:8080/admin/dashboard`
240
+ 2. Go to **Combos** → **Add Combo**
241
+ 3. Name it, select 2+ models, save
157
242
 
158
- Run these from the repository root before creating a fresh GitHub repository:
243
+ ### Create via API
159
244
 
160
245
  ```bash
161
- # Verify no local runtime secrets or build artifacts are present
162
- find . -maxdepth 3 \( -name .env -o -name '.env.*' -o -name '.aurora.local' -o -name '*.exe' -o -name '*.tgz' -o -name '*.pem' -o -name '*.db' \) -print
246
+ curl -X POST http://localhost:8080/admin/api/v1/combos \
247
+ -H "Authorization: Bearer $AURORA_MASTER_KEY" \
248
+ -H "Content-Type: application/json" \
249
+ -d '{"name":"my-combo","models":["groq/llama-3.3-70b-versatile","groq/qwen/qwen3-32b"],"enabled":true}'
250
+ ```
163
251
 
164
- # Search for common secret patterns. Review every match manually.
165
- rg -n --hidden -g '!node_modules' -g '!dashboard-ui/node_modules' -g '!*.png' -g '!*.jpg' -g '!*.lock' \
166
- '(rediss://|postgres://[^[:space:]"'"'']+:[^[:space:]"'"'']+@|BEGIN (RSA |EC |OPENSSH |)PRIVATE KEY|[A-Z0-9_]*API_KEY\s*=\s*(sk-|gsk_|jina_|eyJ|[A-Za-z0-9_-]{20,}))'
252
+ ### Use a combo
167
253
 
168
- # Build and test source
169
- pnpm --dir dashboard-ui install
170
- pnpm --dir dashboard-ui run build
171
- go test ./apps/... ./internal/...
254
+ ```bash
255
+ curl http://localhost:8080/v1/chat/completions \
256
+ -H "Authorization: Bearer $AURORA_MASTER_KEY" \
257
+ -H "Content-Type: application/json" \
258
+ -d '{"model":"my-combo","messages":[{"role":"user","content":"Hello!"}]}'
172
259
  ```
173
260
 
174
- Expected result for the first command is no output, except intentionally kept public templates. Expected result for the secret search is only placeholders, dummy test keys, or documentation examples.
261
+ ---
175
262
 
176
- ### If a secret was exposed
263
+ ## Configuration
177
264
 
178
- If a real key was committed locally, copied into a package artifact, or shared outside your machine, deleting the file is not enough. Revoke and rotate the credential at the provider, purge generated artifacts, and create the public GitHub repository from a clean tree with no inherited history.
265
+ The gateway loads settings in this order (later wins):
179
266
 
180
- ---
267
+ ```
268
+ code defaults → config.yaml → .env / env vars
269
+ ```
181
270
 
182
- ## Providers
271
+ ### config.yaml
183
272
 
184
- | Provider | Key | Chat | Embeddings | Files | Batches | Passthrough |
185
- |---|---|:---:|:---:|:---:|:---:|:---:|
186
- | OpenAI | `OPENAI_API_KEY` | ✅ | ✅ | ✅ | ✅ | ✅ |
187
- | Anthropic | `ANTHROPIC_API_KEY` | ✅ | | | ✅ | ✅ |
188
- | Google Gemini | `GEMINI_API_KEY` | ✅ | ✅ | ✅ | ✅ | |
189
- | DeepSeek | `DEEPSEEK_API_KEY` | ✅ | | | | |
190
- | Groq | `GROQ_API_KEY` | ✅ | ✅ | ✅ | ✅ | |
191
- | OpenRouter | `OPENROUTER_API_KEY` | ✅ | ✅ | ✅ | ✅ | ✅ |
192
- | Z.ai | `ZAI_API_KEY` | ✅ | ✅ | | | ✅ |
193
- | xAI | `XAI_API_KEY` | ✅ | ✅ | ✅ | ✅ | |
194
- | Azure OpenAI | `AZURE_API_KEY` + `AZURE_BASE_URL` | ✅ | ✅ | ✅ | ✅ | ✅ |
195
- | Oracle | `ORACLE_API_KEY` + `ORACLE_BASE_URL` | ✅ | | | | |
196
- | Ollama | `OLLAMA_BASE_URL` | ✅ | ✅ | | | |
197
- | vLLM | `VLLM_BASE_URL` | ✅ | ✅ | | | ✅ |
198
-
199
- > **Z.ai GLM Coding Plan:** set `ZAI_BASE_URL=https://api.z.ai/api/coding/paas/v4`
200
- >
201
- > **Multiple instances of one provider?** Use suffixed env vars: `OPENAI_EAST_API_KEY`, `OPENAI_EAST_BASE_URL`, `OPENAI_EAST_MODELS`
273
+ Generated by `aurora init`. Every section is documented inline:
202
274
 
203
- ---
275
+ | Section | What it controls |
276
+ |---------|-----------------|
277
+ | `server` | Port, base path, master key, passthrough, Anthropic ingress |
278
+ | `admin` | Dashboard API and UI |
279
+ | `models` | Discovery, overrides, allowlisting |
280
+ | `storage` | SQLite (default), PostgreSQL, or MongoDB |
281
+ | `logging` | Audit logging of requests/responses |
282
+ | `usage` | Token tracking, pricing, retention |
283
+ | `metrics` | Prometheus endpoint |
284
+ | `guardrails` | Content safety filters |
285
+ | `cache` | Model cache, response cache (exact + semantic) |
286
+ | `combos` | Multi-model combo definitions |
287
+ | `cli_tools` | Admin CLI integration |
288
+ | `token_saver` | Output compression |
289
+ | `fallback` | Provider failover rules |
290
+ | `resilience` | Retry + circuit breaker |
291
+ | `workflows` | Workflow refresh cadence |
204
292
 
205
- ## Configuration
293
+ ### .env
206
294
 
207
- Aurora loads config in order: **defaults YAML env vars** (env vars win).
295
+ Every environment variable is listed with its purpose and default value. Free features are uncommented (set to their default or `true`). Features needing external infrastructure (Redis, PostgreSQL, vector stores) are commented out with instructions.
208
296
 
209
- ```bash
210
- # Copy the env template for secrets/runtime values
211
- cp .env.template .env
297
+ ### Using a different config profile
212
298
 
213
- # Pick a config profile. Env vars in .env override YAML values.
214
- export AURORA_CONFIG_PATH=configs/editions/oss.example.yaml
299
+ ```bash
300
+ export AURORA_CONFIG_PATH=configs/editions/oss.team.example.yaml
301
+ aurora
215
302
  ```
216
303
 
217
304
  | Profile | Best for | External services |
218
- |---|---|---|
219
- | [`oss.example.yaml`](configs/editions/oss.example.yaml) | First run, individual devs | None |
220
- | [`oss.local-power.example.yaml`](configs/editions/oss.local-power.example.yaml) | Local power users with audit, usage, metrics, exact cache, guardrail examples, token saver examples | Redis |
221
- | [`oss.team.example.yaml`](configs/editions/oss.team.example.yaml) | Full OSS team profile with Postgres storage, Redis model/exact cache, semantic cache, provider examples, pools, fallback, resilience | PostgreSQL, Redis, Qdrant or another vector store |
222
-
223
- **Key settings:**
224
-
225
- | Setting | Default | What it does |
226
- |---|---|---|
227
- | `PORT` | `8080` | Listen port |
228
- | `AURORA_MASTER_KEY` | -- | Gateway/admin API key (set before exposing outside localhost) |
229
- | `STORAGE_TYPE` | `sqlite` | `sqlite`, `postgresql`, or `mongodb` |
230
- | `LOGGING_ENABLED` | `false` | Audit logging |
231
- | `METRICS_ENABLED` | `false` | Prometheus metrics |
232
- | `GUARDRAILS_ENABLED` | `false` | Guardrail workflows |
233
- | `ENABLE_PASSTHROUGH_ROUTES` | `true` | `/p/{provider}/...` passthrough |
234
- | `TOKEN_SAVER_ENABLED` | `false` | Optional concise-output/token-saving transforms |
235
- | `RESPONSE_CACHE_SIMPLE_ENABLED` | `false` unless configured in YAML | Redis exact response cache |
236
- | `SEMANTIC_CACHE_ENABLED` | `false` unless configured in YAML | Embedding + vector-store semantic response cache |
237
-
238
- Full reference: [`configs/config.example.yaml`](configs/config.example.yaml)
305
+ |---------|----------|-------------------|
306
+ | `aurora init` (default) | First run, individual devs | None |
307
+ | `oss.local-power.example.yaml` | Local power users with caching | Redis |
308
+ | `oss.team.example.yaml` | Team deployment | PostgreSQL, Redis, Qdrant |
239
309
 
240
310
  ---
241
311
 
242
312
  ## Response caching
243
313
 
244
- Two layers, both optional:
314
+ Two optional layers. Both need Redis.
245
315
 
246
- - **Exact cache** -- hashes request path + body, returns `X-Cache: HIT (exact)` on identical requests. Enable with `RESPONSE_CACHE_SIMPLE_ENABLED` + Redis.
247
- - **Semantic cache** -- embeds prompts, searches vector store for similar requests. Returns `X-Cache: HIT (semantic)`. Supports `qdrant`, `pgvector`, `pinecone`, `weaviate`.
316
+ - **Exact cache** Hashes the request body and returns cached response on identical requests. Header: `X-Cache: HIT (exact)`.
317
+ - **Semantic cache** Embeds prompts, searches a vector store for semantically similar requests. Supports Qdrant, pgvector, Pinecone, Weaviate. Header: `X-Cache: HIT (semantic)`.
248
318
 
249
- Per-request bypass: `Cache-Control: no-cache` or `Cache-Control: no-store`.
319
+ Bypass per-request: `Cache-Control: no-cache`
250
320
 
251
321
  ---
252
322
 
@@ -257,48 +327,50 @@ Per-request bypass: `Cache-Control: no-cache` or `Cache-Control: no-store`.
257
327
  docker compose up -d
258
328
 
259
329
  # Full stack (Aurora + infra)
260
- cp .env.template .env
261
330
  docker compose --profile app up -d
262
-
263
- # Local image build
264
- docker build -t aurora-oss .
265
- docker run --rm -p 8080:8080 --env-file .env aurora-oss
266
331
  ```
267
332
 
268
333
  ---
269
334
 
270
335
  ## Build from source
271
336
 
272
- **Prerequisites:** Go 1.26.2+, Node.js + pnpm
337
+ **Prerequisites:** Go 1.26.2+, Node.js ≥18, pnpm
273
338
 
274
339
  ```bash
275
- # Dashboard
276
- pnpm --dir dashboard-ui install
277
- pnpm --dir dashboard-ui run build
340
+ git clone https://github.com/gurveeer/Aurora.git && cd Aurora
341
+
342
+ # Dashboard UI (required for admin dashboard)
343
+ pnpm --dir dashboard-ui install && pnpm --dir dashboard-ui run build
278
344
 
279
345
  # Binary
280
- go build -o bin/aurora-oss.exe ./apps/aurora
346
+ go build -o bin/aurora ./apps/aurora
281
347
 
282
- # Packaged release
283
- .\scripts\release\build-editions.ps1 -Package
348
+ # Test
349
+ go test ./apps/... ./internal/...
284
350
  ```
285
351
 
286
- Outputs: `bin/aurora-oss.exe`, `release/aurora-oss-windows-amd64.zip`
352
+ After building, use `aurora init` to scaffold a project, or run directly with env vars:
287
353
 
288
- **Tests:**
354
+ ```bash
355
+ export AURORA_MASTER_KEY="my-key"
356
+ export GROQ_API_KEY="gsk_..."
357
+ ./bin/aurora
358
+ ```
359
+
360
+ ---
361
+
362
+ ## Self-update & uninstall
289
363
 
290
364
  ```bash
291
- go test ./apps/... ./internal/...
292
- pnpm --dir dashboard-ui run build
365
+ aurora update # Updates iaurora npm package to latest version
366
+ aurora uninstall # Removes iaurora npm package from your system
293
367
  ```
294
368
 
295
369
  ---
296
370
 
297
371
  ## Enterprise
298
372
 
299
- Aurora OSS covers gateway routing, analytics, and provider operations. **Aurora Enterprise** adds SSO, RBAC, tenant isolation, budget enforcement, compliance workflows, and production support.
300
-
301
- The Enterprise edition is a separate distribution. It cannot be enabled by editing files in this OSS tree.
373
+ Aurora OSS covers gateway routing, analytics, and provider operations. **Aurora Enterprise** adds SSO, RBAC, tenant isolation, budget enforcement, compliance workflows, and production support. The Enterprise edition is a separate distribution — it cannot be enabled by editing files in this tree.
302
374
 
303
375
  ---
304
376
 
@@ -306,8 +378,6 @@ The Enterprise edition is a separate distribution. It cannot be enabled by editi
306
378
 
307
379
  | | |
308
380
  |---|---|
309
- | [Discord](https://discord.gg/YJPrfR9uh) | Deployment questions, provider setup, roadmap |
381
+ | [Discord](https://discord.gg/YJPrfR9uh) | Questions, provider setup, roadmap |
310
382
  | [GitHub Issues](https://github.com/gurveeer/Aurora/issues) | Bug reports, feature requests |
311
383
  | [GitHub Stars](https://github.com/gurveeer/Aurora/stargazers) | Support the project |
312
-
313
- If Aurora saves your team time, a star helps others find it.
package/bin/aurora.exe CHANGED
Binary file
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.16",
2
+ "version": "1.0.18",
3
3
  "author": "SantiagoDePolonia",
4
4
  "license": "Apache-2.0",
5
5
  "files": [