iaurora 1.0.18 → 1.0.20

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.
package/LICENSE CHANGED
@@ -1,201 +1,201 @@
1
1
  Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright 2025 Gurveer
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright 2025 Gurveer
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
package/README.md CHANGED
@@ -1,191 +1,153 @@
1
- <div align="center">
2
-
3
- <img alt="Aurora OSS" src="https://raw.githubusercontent.com/gurveeer/Aurora/main/dashboard-ui/public/aurora-oss-logo.svg" width="72">
4
-
5
- # Aurora Gateway
6
-
7
- **One gateway. Every provider. Open source.**
1
+ <p align="center">
2
+ <svg viewBox="0 0 32 32" width="96" height="96" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="M4 20 C8 12, 14 10, 16 16 C18 22, 24 20, 28 12" stroke="#6AD87A" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0.5" stroke-dasharray="40" stroke-dashoffset="40">
4
+ <animate attributeName="stroke-dashoffset" from="40" to="0" dur="1.8s" fill="freeze"/>
5
+ </path>
6
+ <path d="M2 24 C8 14, 14 8, 16 18 C18 28, 24 22, 30 14" stroke="#6AD87A" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0.35" stroke-dasharray="50" stroke-dashoffset="50">
7
+ <animate attributeName="stroke-dashoffset" from="50" to="0" dur="2.2s" begin="0.3s" fill="freeze"/>
8
+ </path>
9
+ <path d="M6 16 C10 10, 14 12, 16 14 C18 16, 22 14, 26 10" stroke="#6AD87A" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0.65" stroke-dasharray="35" stroke-dashoffset="35">
10
+ <animate attributeName="stroke-dashoffset" from="35" to="0" dur="1.6s" begin="0.6s" fill="freeze"/>
11
+ </path>
12
+ <circle cx="16" cy="16" r="2.2" fill="#6AD87A">
13
+ <animate attributeName="opacity" values="1;0.5;1" dur="2.5s" repeatCount="indefinite"/>
14
+ <animate attributeName="r" values="2.2;2.8;2.2" dur="2.5s" repeatCount="indefinite"/>
15
+ </circle>
16
+ </svg>
17
+ </p>
18
+
19
+ <h1 align="center">Aurora Gateway</h1>
20
+
21
+ <p align="center">
22
+ <a href="LICENSE"><img src="https://img.shields.io/github/license/aurorallm/aurora" alt="License" height="20"></a>
23
+ <a href="https://www.npmjs.com/package/iaurora"><img src="https://img.shields.io/npm/v/iaurora" alt="npm" height="20"></a>
24
+ <a href="https://goreportcard.com/report/github.com/aurorallm/aurora"><img src="https://goreportcard.com/badge/github.com/aurorallm/aurora" alt="Go Report Card" height="20"></a>
25
+ <a href="https://codecov.io/gh/aurorallm/aurora"><img src="https://codecov.io/gh/aurorallm/aurora/branch/main/graph/badge.svg" alt="codecov" height="20"></a>
26
+ <a href="https://github.com/aurorallm/aurora"><img src="https://img.shields.io/github/stars/aurorallm/aurora" alt="GitHub Stars" height="20"></a>
27
+ <a href="https://discord.gg/YJPrfR9uh"><img src="https://dcbadge.limes.pink/api/server/https://discord.gg/YJPrfR9uh?style=flat" alt="Discord" height="20"></a>
28
+ <img src="https://img.shields.io/docker/pulls/aurorallm/aurora" alt="Docker Pulls" height="20">
29
+ <a href="https://app.getpostman.com/run-collection/31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916%26entityType%3Dcollection%26workspaceId%3D63e853c8-9aec-477f-909c-7f02f543150e"><img src="https://run.pstmn.io/button.svg" alt="Run In Postman" height="20"></a>
30
+ <a href="https://artifacthub.io/packages/search?repo=aurora"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/aurora" alt="Artifact Hub" height="20"></a>
31
+ </p>
32
+
33
+ ## One gateway. Every provider. Open source.
8
34
 
9
35
  Route AI traffic through a single OpenAI- and Anthropic-compatible API.
10
36
  Self-hosted. No vendor lock-in. Full source visibility.
11
37
 
12
- <table>
13
- <tr>
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
- <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://www.npmjs.com/package/iaurora"><img src="https://img.shields.io/npm/v/iaurora?style=flat-square&label=npm" alt="npm"></a></td>
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
- </tr>
19
- <tr>
20
- <td><a href="LICENSE"><img src="https://img.shields.io/github/license/gurveeer/Aurora?style=flat-square" alt="License"></a></td>
21
- <td><a href="https://hub.docker.com/r/gurveeer/Aurora"><img src="https://img.shields.io/docker/pulls/gurveeer/Aurora?style=flat-square" alt="Docker Pulls"></a></td>
22
- <td><a href="https://github.com/gurveeer/Aurora/commits/main"><img src="https://img.shields.io/github/last-commit/gurveeer/Aurora?style=flat-square" alt="Last Commit"></a></td>
23
- <td><a href="https://github.com/gurveeer/Aurora/issues"><img src="https://img.shields.io/github/issues/gurveeer/Aurora?style=flat-square" alt="Open Issues"></a></td>
24
- </tr>
25
- <tr>
26
- <td><a href="https://github.com/gurveeer/Aurora/pulls"><img src="https://img.shields.io/badge/PRs-Welcome-brightgreen?style=flat-square" alt="PRs Welcome"></a></td>
27
- <td><a href="https://discord.gg/YJPrfR9uh"><img src="https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord"></a></td>
28
- <td></td>
29
- <td></td>
30
- </tr>
31
- </table>
32
-
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%">
38
+ <a href="docs/assets/dashboard-overview.png">
39
+ <img src="docs/assets/dashboard-overview.png" alt="Aurora dashboard" width="100%">
35
40
  </a>
36
41
 
37
- </div>
38
-
39
- ---
42
+ ## Quick Start
40
43
 
41
- ## CLI reference
42
-
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
- ---
44
+ **Go from zero to running in under a minute.**
74
45
 
75
- ## Quick start
46
+ <img src="./install.gif" alt="Install demo" style="max-width:100%;border-radius:12px;margin:12px 0;">
76
47
 
77
- ### npm (recommended)
48
+ **1. Install Aurora Gateway**
78
49
 
79
50
  ```bash
80
- # Install globally
81
51
  npm install -g iaurora
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
52
+ # or
53
+ docker run --rm -p 8080:8080 \
54
+ -e AURORA_MASTER_KEY="your-key" \
55
+ -e GROQ_API_KEY="gsk_..." \
56
+ aurorallm/aurora
95
57
  ```
96
58
 
97
- The gateway boots on `http://localhost:8080` with every free feature enabled.
98
- Open the dashboard at `http://localhost:8080/admin/dashboard`.
99
-
100
- ### Docker
59
+ **2. Init and start**
101
60
 
102
61
  ```bash
103
- docker run --rm -p 8080:8080 \
104
- -e AURORA_MASTER_KEY="your-secure-key" \
105
- -e GROQ_API_KEY="gsk_..." \
106
- gurveeer/Aurora
62
+ mkdir my-gateway && cd my-gateway
63
+ aurora init # scaffolds config.yaml, .env, data/
64
+ aurora # starts gateway on port 8080
107
65
  ```
108
66
 
109
- For configurable deployments, mount your `config.yaml` and `.env`:
67
+ **3. Make your first request**
110
68
 
111
69
  ```bash
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
70
+ curl http://localhost:8080/v1/chat/completions \
71
+ -H "Content-Type: application/json" \
72
+ -H "Authorization: Bearer $(grep AURORA_MASTER_KEY .env | cut -d= -f2)" \
73
+ -d '{"model":"groq/llama-3.3-70b-versatile","messages":[{"role":"user","content":"Hello!"}]}'
117
74
  ```
118
75
 
119
- ### From source
76
+ The dashboard is at `http://localhost:8080/admin/dashboard`.
120
77
 
121
- ```bash
122
- git clone https://github.com/gurveeer/Aurora.git && cd Aurora
78
+ **Setup guides:** [npm](https://www.npmjs.com/package/iaurora) · [Docker](https://hub.docker.com/r/aurorallm/aurora) · [Source](https://github.com/aurorallm/aurora)
123
79
 
124
- # Build the dashboard UI (one-time)
125
- pnpm --dir dashboard-ui install && pnpm --dir dashboard-ui run build
80
+ ---
126
81
 
127
- # Build the binary
128
- go build -o bin/aurora ./apps/aurora
82
+ ## Enterprise Deployments
129
83
 
130
- # Use the CLI's init command
131
- ./bin/aurora init -dir ./my-gateway
132
- cd ./my-gateway
84
+ Aurora supports enterprise-grade deployments for teams running production AI systems at scale.
85
+ In addition to private networking, custom security controls, and governance, **Aurora Enterprise** unlocks advanced capabilities including SSO, RBAC, tenant isolation, budget enforcement, compliance workflows, and production support.
133
86
 
134
- # Edit .env with keys, then start
135
- ../bin/aurora
136
- ```
87
+ The Enterprise edition is a separate distribution with a signed license — it cannot be enabled by editing files in this tree.
88
+
89
+ <a href="./comparison.png">
90
+ <img src="./comparison.png" alt="OSS vs Enterprise comparison" width="100%" style="border-radius:12px;margin:16px 0;">
91
+ </a>
92
+
93
+ <div align="center">
94
+ <a href="https://discord.com/invite/YJPrfR9uh">
95
+ <img src="https://img.shields.io/badge/Contact%20Us-Enterprise-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Contact Us" width="200" style="margin-top:5px;"/>
96
+ </a>
97
+ </div>
137
98
 
138
99
  ---
139
100
 
140
- ## What `aurora init` generates
101
+ ## Key Features
141
102
 
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
+ ### Core Infrastructure
151
104
 
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
+ - **Unified Interface** — Single OpenAI- and Anthropic-compatible API for all providers
106
+ - **Multi-Provider Support** — 15+ providers auto-discovered from env vars (OpenAI, Anthropic, Gemini, Groq, DeepSeek, and more)
107
+ - **Automatic Fallbacks** — Seamless failover with fallback routing and combo models
108
+ - **Model Discovery** — Providers and models auto-detected from environment variables
177
109
 
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
- ```
110
+ ### Advanced Features
111
+
112
+ - **Admin Dashboard** — Web UI for managing providers, API keys, models, and combos
113
+ - **Semantic Caching** Intelligent response caching based on semantic similarity to reduce costs and latency
114
+ - **Anthropic Ingress** — Native Anthropic-format `/v1/messages` endpoint
115
+ - **Audit Logging** — Records every request/response with retention
116
+ - **Guardrails** — Content safety filters (system prompt, regex, PII redaction)
187
117
 
188
- Or using the admin dashboard at `http://localhost:8080/admin/dashboard` to test models interactively.
118
+ ### Developer Experience
119
+
120
+ - **Zero-Config Startup** — Start immediately with auto-detected providers
121
+ - **Prometheus Metrics** — Go runtime + request metrics at `/metrics`
122
+ - **Swagger UI** — Interactive API docs at `/swagger/index.html`
123
+ - **SQLite Storage** — Zero-config embedded database, no setup needed
124
+ - **CLI Tools** — Admin configuration via CLI commands
125
+
126
+ ---
127
+
128
+ ## Repository Structure
129
+
130
+ Aurora uses a modular architecture for maximum flexibility:
131
+
132
+ ```text
133
+ aurora/
134
+ ├── apps/ # Application entrypoints
135
+ │ └── aurora/ # Main gateway binary
136
+ ├── internal/ # Internal packages
137
+ │ ├── api/ # HTTP handlers, middleware
138
+ │ ├── config/ # Configuration loading and validation
139
+ │ ├── providers/ # Provider implementations (OpenAI, Anthropic, etc.)
140
+ │ ├── storage/ # SQLite, PostgreSQL, MongoDB backends
141
+ │ ├── guardrails/ # Content safety filters
142
+ │ ├── cache/ # Exact and semantic caching
143
+ │ └── analytics/ # Usage tracking and metrics
144
+ ├── dashboard-ui/ # React admin dashboard frontend
145
+ ├── configs/ # Configuration profiles and examples
146
+ ├── docs/ # Documentation and assets
147
+ ├── scripts/ # Build and release scripts
148
+ ├── test/ # Test suites
149
+ └── helm/ # Kubernetes Helm charts
150
+ ```
189
151
 
190
152
  ---
191
153
 
@@ -211,52 +173,7 @@ Providers are **auto-discovered from environment variables**. Set any of these k
211
173
 
212
174
  **Custom base URL?** Set `OPENAI_BASE_URL`, `GROQ_BASE_URL`, etc. in `.env`.
213
175
 
214
- **Multiple instances of the same provider?** Use suffix notation: `OPENAI_EAST_API_KEY`, `OPENAI_EAST_BASE_URL`, `OPENAI_WEST_API_KEY`, etc.
215
-
216
- ---
217
-
218
- ## Using the admin dashboard
219
-
220
- Open `http://localhost:8080/admin/dashboard` to:
221
-
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
230
-
231
- ---
232
-
233
- ## Combo models
234
-
235
- Combos let you send one prompt to multiple models simultaneously. The primary model responds; if it fails, fallback models are tried automatically.
236
-
237
- ### Create via dashboard
238
-
239
- 1. Open `http://localhost:8080/admin/dashboard`
240
- 2. Go to **Combos** → **Add Combo**
241
- 3. Name it, select 2+ models, save
242
-
243
- ### Create via API
244
-
245
- ```bash
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
- ```
251
-
252
- ### Use a combo
253
-
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!"}]}'
259
- ```
176
+ **Multiple instances of the same provider?** Use suffix notation: `OPENAI_EAST_API_KEY`, `OPENAI_WEST_API_KEY`, etc.
260
177
 
261
178
  ---
262
179
 
@@ -268,9 +185,7 @@ The gateway loads settings in this order (later wins):
268
185
  code defaults → config.yaml → .env / env vars
269
186
  ```
270
187
 
271
- ### config.yaml
272
-
273
- Generated by `aurora init`. Every section is documented inline:
188
+ Generated by `aurora init`, every section is documented inline:
274
189
 
275
190
  | Section | What it controls |
276
191
  |---------|-----------------|
@@ -284,100 +199,38 @@ Generated by `aurora init`. Every section is documented inline:
284
199
  | `guardrails` | Content safety filters |
285
200
  | `cache` | Model cache, response cache (exact + semantic) |
286
201
  | `combos` | Multi-model combo definitions |
287
- | `cli_tools` | Admin CLI integration |
288
202
  | `token_saver` | Output compression |
289
203
  | `fallback` | Provider failover rules |
290
204
  | `resilience` | Retry + circuit breaker |
291
- | `workflows` | Workflow refresh cadence |
292
-
293
- ### .env
294
-
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.
296
-
297
- ### Using a different config profile
298
-
299
- ```bash
300
- export AURORA_CONFIG_PATH=configs/editions/oss.team.example.yaml
301
- aurora
302
- ```
303
-
304
- | Profile | Best for | External services |
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 |
309
205
 
310
206
  ---
311
207
 
312
- ## Response caching
208
+ ## Documentation
313
209
 
314
- Two optional layers. Both need Redis.
210
+ - [CLI Reference](https://github.com/aurorallm/aurora)
211
+ - [Provider Configuration](https://github.com/aurorallm/aurora)
212
+ - [Admin Dashboard](https://github.com/aurorallm/aurora)
213
+ - [Docker Compose & Helm](https://github.com/aurorallm/aurora)
315
214
 
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)`.
215
+ ## Need Help?
318
216
 
319
- Bypass per-request: `Cache-Control: no-cache`
217
+ [Join our Discord](https://discord.com/invite/YJPrfR9uh) for community support, setup help, and discussions.
320
218
 
321
219
  ---
322
220
 
323
- ## Docker Compose
221
+ ## Contributing
324
222
 
325
- ```bash
326
- # Infrastructure only (Redis, Qdrant, Postgres)
327
- docker compose up -d
223
+ We welcome contributions of all kinds! Check out the repository to get started:
328
224
 
329
- # Full stack (Aurora + infra)
330
- docker compose --profile app up -d
331
- ```
225
+ - Setting up the development environment
226
+ - Code conventions and best practices
227
+ - How to submit pull requests
228
+ - Building and testing locally
332
229
 
333
230
  ---
334
231
 
335
- ## Build from source
336
-
337
- **Prerequisites:** Go 1.26.2+, Node.js ≥18, pnpm
338
-
339
- ```bash
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
344
-
345
- # Binary
346
- go build -o bin/aurora ./apps/aurora
347
-
348
- # Test
349
- go test ./apps/... ./internal/...
350
- ```
351
-
352
- After building, use `aurora init` to scaffold a project, or run directly with env vars:
353
-
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
363
-
364
- ```bash
365
- aurora update # Updates iaurora npm package to latest version
366
- aurora uninstall # Removes iaurora npm package from your system
367
- ```
368
-
369
- ---
370
-
371
- ## Enterprise
372
-
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.
374
-
375
- ---
232
+ ## License
376
233
 
377
- ## Community
234
+ This project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.
378
235
 
379
- | | |
380
- |---|---|
381
- | [Discord](https://discord.gg/YJPrfR9uh) | Questions, provider setup, roadmap |
382
- | [GitHub Issues](https://github.com/gurveeer/Aurora/issues) | Bug reports, feature requests |
383
- | [GitHub Stars](https://github.com/gurveeer/Aurora/stargazers) | Support the project |
236
+ Built with ❤️ by the Aurora team.
package/bin/aurora.exe CHANGED
Binary file
package/bin/aurora.js CHANGED
@@ -68,7 +68,7 @@ SETUP
68
68
  4. Set AURORA_CONFIG_PATH=./config.yaml
69
69
  5. ${cmd} # Start the gateway
70
70
 
71
- Docs: https://github.com/gurveeer/Aurora#readme
71
+ Docs: https://github.com/aurorallm/aurora#readme
72
72
  `.trim());
73
73
  }
74
74
 
package/config.yaml CHANGED
@@ -20,7 +20,7 @@ server:
20
20
  admin:
21
21
  endpoints_enabled: true
22
22
  ui_enabled: true
23
- dashboard_variant: "react"
23
+
24
24
 
25
25
  models:
26
26
  enabled_by_default: true
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.18",
2
+ "version": "1.0.20",
3
3
  "author": "SantiagoDePolonia",
4
4
  "license": "Apache-2.0",
5
5
  "files": [
@@ -23,7 +23,7 @@
23
23
  "name": "iaurora",
24
24
  "type": "module",
25
25
  "bugs": {
26
- "url": "https://github.com/gurveeer/Aurora/issues"
26
+ "url": "https://github.com/aurorallm/aurora/issues"
27
27
  },
28
28
  "description": "Aurora AI Gateway - one API for every LLM provider. Self-hosted, open-source.",
29
29
  "engines": {
@@ -32,10 +32,10 @@
32
32
  "scripts": {
33
33
  "postinstall": "node ./scripts/npm-postinstall.js"
34
34
  },
35
- "homepage": "https://github.com/gurveeer/Aurora#readme",
35
+ "homepage": "https://github.com/aurorallm/aurora#readme",
36
36
  "repository": {
37
37
  "type": "git",
38
- "url": "git+https://github.com/gurveeer/Aurora.git"
38
+ "url": "git+https://github.com/aurorallm/aurora.git"
39
39
  },
40
40
  "bin": {
41
41
  "aurora": "bin/aurora.js"
@@ -10,7 +10,7 @@ const __dirname = dirname(__filename);
10
10
  const require = createRequire(import.meta.url);
11
11
  const pkg = require(resolve(__dirname, '..', 'package.json'));
12
12
 
13
- const GITHUB_REPO = 'gurveeer/Aurora';
13
+ const GITHUB_REPO = 'aurorallm/aurora';
14
14
  const BINARY_DIR = join(os.homedir(), '.aurora', 'bin');
15
15
 
16
16
  function platformAssetName() {