aether-ai-agent-cli 1.1.4__py3-none-any.whl

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.
@@ -0,0 +1,309 @@
1
+ Metadata-Version: 2.4
2
+ Name: aether-ai-agent-cli
3
+ Version: 1.1.4
4
+ Summary: Aether Core AI v110 — Universal AI Gateway CLI (Python Wrapper)
5
+ Home-page: https://github.com/Krylo-60/aether-ai-cli
6
+ Author: Krishiv PB
7
+ Author-email: krylobloxyt@gmail.com
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.6
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Dynamic: author
15
+ Dynamic: author-email
16
+ Dynamic: classifier
17
+ Dynamic: description
18
+ Dynamic: description-content-type
19
+ Dynamic: home-page
20
+ Dynamic: license-file
21
+ Dynamic: requires-python
22
+ Dynamic: summary
23
+
24
+ # Aether AI CLI
25
+
26
+ > ⚡ **Universal AI Gateway** — 13+ providers, free & paid models, cyberpunk terminal
27
+
28
+ [![npm version](https://img.shields.io/npm/v/@krishivpb60/aether-ai-cli.svg)](https://www.npmjs.com/package/@krishivpb60/aether-ai-cli)
29
+ [![License: MIT](https://img.shields.io/badge/License-MIT-cyan.svg)](LICENSE)
30
+ [![Node.js](https://img.shields.io/badge/Node.js-≥18.0.0-green.svg)](https://nodejs.org)
31
+
32
+ ```
33
+ ╔═══════════════════════════════════════════════════════════╗
34
+ ║ █████╗ ███████╗████████╗██╗ ██╗███████╗██████╗ ║
35
+ ║ ██╔══██╗██╔════╝╚══██╔══╝██║ ██║██╔════╝██╔══██╗ ║
36
+ ║ ███████║█████╗ ██║ ████████║█████╗ ██████╔╝ ║
37
+ ║ ██╔══██║██╔══╝ ██║ ██╔══██║██╔══╝ ██╔══██╗ ║
38
+ ║ ██║ ██║███████╗ ██║ ██║ ██║███████╗██║ ██║ ║
39
+ ║ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ║
40
+ ╚═══════════════════════════════════════════════════════════╝
41
+ ```
42
+
43
+ **Aether Core AI v110** is a production-ready, globally installable command-line AI assistant that connects to **any AI provider in the world** — both free and paid. Chat with GPT-4o, Claude, Gemini, Llama, Mixtral, DeepSeek, and 50+ more models, all from one terminal.
44
+
45
+ ---
46
+
47
+ ## ✨ Features
48
+
49
+ - 🌐 **13+ AI Providers** — OpenAI, Anthropic, Google, Groq, Together, Mistral, OpenRouter, DeepSeek, Cerebras, Cohere, Perplexity, Fireworks, xAI
50
+ - 🆓 **Free Models Included** — Groq, Together AI, Cerebras, OpenRouter, and Cohere all offer generous free tiers
51
+ - 💬 **Interactive Chat** — Full terminal chat with slash commands, mode switching, and file attachments
52
+ - ⚡ **Single-Shot Queries** — Quick one-off questions directly from the CLI
53
+ - 🧠 **4 Reasoning Modes** — Synthesis, Research, Architect, Titan Fusion — each with unique system prompts
54
+ - 📎 **File Context Injection** — Attach code files, logs, or documents for context-aware AI responses
55
+ - 🔄 **Failover Mesh** — Automatic failback across all configured providers
56
+ - 🔢 **Local Math Solver** — Evaluates mathematical expressions without an API call
57
+ - 🤖 **Krylo Companion** — Offline cyberpunk companion bot when no API keys are configured
58
+ - 🔐 **Your Keys, Your Control** — API keys stored locally on YOUR machine, never transmitted anywhere
59
+ - 📤 **Export Conversations** — Save full chat history as Markdown files
60
+ - 🎨 **Cyberpunk UI** — Neon colors, ASCII art, signal bars, and mode badges
61
+ - 🎭 **4 Color Themes** — Cyberpunk, Matrix, Synthwave, Crimson — switch with `/theme`
62
+ - ⌨️ **Custom Commands** — Create reusable prompt shortcuts with `/cmd add`
63
+ - 📝 **File Creation** — AI can create files on your system with path override prompts
64
+ - 📊 **Live Telemetry** — Real-time response latency & tokens/sec in the status bar
65
+ - 🎮 **Mini-Game** — Built-in mainframe hacking game (`/game`)
66
+ - 📋 **Clipboard Copy** — Copy last response to clipboard with `/copy`
67
+
68
+ ---
69
+
70
+ ## 🚀 Quick Start
71
+
72
+ ### Install globally
73
+
74
+ ```bash
75
+ npm install -g @krishivpb60/aether-ai-cli
76
+ ```
77
+
78
+ ### Or run directly with npx
79
+
80
+ ```bash
81
+ npx @krishivpb60/aether-ai-cli chat
82
+ ```
83
+
84
+ ### Setup (Interactive Wizard)
85
+
86
+ ```bash
87
+ aether setup
88
+ ```
89
+
90
+ The wizard walks you through configuring providers — **start with free ones!**
91
+
92
+ ### Or set keys manually
93
+
94
+ ```bash
95
+ # Free providers (recommended to start)
96
+ aether config set GROQ_API_KEY gsk_your_key_here
97
+ aether config set GOOGLE_API_KEY AIza_your_key_here
98
+ aether config set OPENROUTER_API_KEY sk-or-your_key_here
99
+
100
+ # Paid providers
101
+ aether config set OPENAI_API_KEY sk-your_key_here
102
+ aether config set ANTHROPIC_API_KEY sk-ant-your_key_here
103
+ ```
104
+
105
+ ### Start chatting
106
+
107
+ ```bash
108
+ aether chat
109
+ ```
110
+
111
+ ### Quick one-shot query
112
+
113
+ ```bash
114
+ aether ask "Explain quantum computing in simple terms"
115
+ ```
116
+
117
+ ---
118
+
119
+ ## 📦 Supported Providers
120
+
121
+ | Provider | Key | Free Tier | Default Model |
122
+ |----------|-----|-----------|---------------|
123
+ | **Groq** | `GROQ_API_KEY` | ✅ Generous | `llama-3.3-70b-versatile` |
124
+ | **Together AI** | `TOGETHER_API_KEY` | ✅ Free credits | `Meta-Llama-3.1-70B-Instruct-Turbo` |
125
+ | **Cerebras** | `CEREBRAS_API_KEY` | ✅ Free tier | `llama-3.3-70b` |
126
+ | **OpenRouter** | `OPENROUTER_API_KEY` | ✅ Free models | `llama-3.1-70b-instruct:free` |
127
+ | **Google Gemini** | `GOOGLE_API_KEY` | ✅ Free tier | `gemini-2.5-flash` |
128
+ | **Cohere** | `COHERE_API_KEY` | ✅ Dev free | `command-r-plus` |
129
+ | **Fireworks AI** | `FIREWORKS_API_KEY` | ✅ Free tier | `llama-v3p1-70b-instruct` |
130
+ | **OpenAI** | `OPENAI_API_KEY` | 💳 Paid | `gpt-4o` |
131
+ | **Anthropic** | `ANTHROPIC_API_KEY` | 💳 Paid | `claude-sonnet-4` |
132
+ | **xAI** | `XAI_API_KEY` | 💳 Paid | `grok-2` |
133
+ | **Mistral** | `MISTRAL_API_KEY` | 💳 Paid | `mistral-large-latest` |
134
+ | **DeepSeek** | `DEEPSEEK_API_KEY` | 💳 Paid | `deepseek-chat` |
135
+ | **Perplexity** | `PERPLEXITY_API_KEY` | 💳 Paid | `sonar` |
136
+
137
+ > 💡 **Tip:** Start with **Groq** (fastest, free) or **Google Gemini** (most capable free tier). You can configure multiple providers and Aether will automatically failover between them!
138
+
139
+ ---
140
+
141
+ ## 🎮 Commands
142
+
143
+ ### Core Commands
144
+
145
+ ```bash
146
+ aether chat # Interactive chat session
147
+ aether ask "your question" # Single-shot query
148
+ aether setup # Guided provider setup wizard
149
+ ```
150
+
151
+ ### Configuration
152
+
153
+ ```bash
154
+ aether config set <KEY> <value> # Set a config value
155
+ aether config get <KEY> # Get a config value
156
+ aether config list # List all config (keys masked)
157
+ aether config delete <KEY> # Delete a config key
158
+ aether config reset # Delete all config
159
+ aether config path # Show config file location
160
+ ```
161
+
162
+ ### Discovery
163
+
164
+ ```bash
165
+ aether providers # List all 13+ supported providers
166
+ aether providers --free # Show only free-tier providers
167
+ aether models # List all available models
168
+ aether models groq # Models for a specific provider
169
+ aether modes # List reasoning modes
170
+ aether status # System status & active providers
171
+ ```
172
+
173
+ ### Flags
174
+
175
+ ```bash
176
+ aether ask "prompt" --mode research # Use specific reasoning mode
177
+ aether ask "prompt" --file error.log # Attach file context
178
+ aether ask "prompt" --model gpt-4o # Override model
179
+ aether ask "prompt" --raw # Raw text output (for piping)
180
+ aether chat --mode architect # Start chat in specific mode
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 💬 Chat Commands
186
+
187
+ Inside interactive chat mode, use these slash commands:
188
+
189
+ | Command | Description |
190
+ |---------|-------------|
191
+ | `/help` | Show all commands |
192
+ | `/mode <name>` | Switch reasoning mode (synthesis, research, architect, titan) |
193
+ | `/modes` | List all modes with signal bars |
194
+ | `/theme <name>` | Switch visual theme (cyberpunk, matrix, synthwave, crimson) |
195
+ | `/themes` | List available color themes |
196
+ | `/attach <file>` | Attach a file for context (supports Tab autocomplete!) |
197
+ | `/files` | List attached files |
198
+ | `/clear` | Clear terminal screen |
199
+ | `/providers` | Show active providers |
200
+ | `/export` | Export chat to Markdown |
201
+ | `/copy` | Copy last response to clipboard |
202
+ | `/write <file>` | Extract last code block and save to file |
203
+ | `/cmd list` | List custom command shortcuts |
204
+ | `/cmd add <name> <template>` | Create a custom command shortcut |
205
+ | `/cmd remove <name>` | Delete a custom command |
206
+ | `/game` | Start the mainframe hacking mini-game |
207
+ | `/status` | Session status & telemetry |
208
+ | `/history-clear` | Clear saved chat history |
209
+ | `/exit` | End session |
210
+
211
+ ---
212
+
213
+ ## 🧠 Reasoning Modes
214
+
215
+ | Mode | Layer | Style | Signal |
216
+ |------|-------|-------|--------|
217
+ | **Synthesis** | v2.5 | Balanced, clean, direct | ████████░░ 80% |
218
+ | **Research** | v104 | Deep analysis, evidence-based | █████████░ 85% |
219
+ | **Architect** | v55 | Systems thinking, debugging | █████████░ 90% |
220
+ | **Titan Fusion** | v110 | Premium, maximum signal density | █████████░ 95% |
221
+
222
+ ---
223
+
224
+ ## 🔐 Security
225
+
226
+ - **Your keys stay on YOUR machine** — stored at `~/.aether/config.json`
227
+ - **No keys are bundled** in the package
228
+ - **No telemetry** — zero data collection
229
+ - **Keys are masked** when displayed (`aether config list`)
230
+ - **Environment variables** also supported as fallback
231
+
232
+ ---
233
+
234
+ ## 🔄 Failover Mesh
235
+
236
+ Aether routes your prompt through all configured providers automatically:
237
+
238
+ ```
239
+ Your Prompt
240
+
241
+ [Provider 1] → Success? → Response ✓
242
+ ↓ (fail)
243
+ [Provider 2] → Success? → Response ✓
244
+ ↓ (fail)
245
+ [Provider N] → Success? → Response ✓
246
+ ↓ (all fail)
247
+ [Krylo Companion] → Local Response ✓
248
+ ```
249
+
250
+ If a provider returns an error (rate limit, quota, etc.), Aether automatically tries the next one. Configure multiple free providers for maximum resilience!
251
+
252
+ ---
253
+
254
+ ## 📁 File Attachment
255
+
256
+ Attach code files, logs, configs, or documents for context-aware responses:
257
+
258
+ ```bash
259
+ # From CLI
260
+ aether ask "What's wrong with this code?" --file buggy.js
261
+
262
+ # In chat mode
263
+ /attach error.log
264
+ What errors are in this file?
265
+ ```
266
+
267
+ **Supported file types:** `.js`, `.ts`, `.py`, `.html`, `.css`, `.json`, `.md`, `.txt`, `.log`, `.yaml`, `.xml`, `.toml`, `.sql`, `.go`, `.rs`, `.java`, `.c`, `.cpp`, `.rb`, `.php`, `.swift`, `.kt`, `.dart`, `.vue`, `.svelte`, `.sh`, `.bat`, `.ps1`, `.env`, `.csv`
268
+
269
+ ---
270
+
271
+ ## 🏗️ Development
272
+
273
+ ```bash
274
+ # Clone the repo
275
+ git clone https://github.com/Krylo-60/aether-ai-cli.git
276
+ cd aether-ai-cli
277
+
278
+ # Install dependencies
279
+ npm install
280
+
281
+ # Link for local development
282
+ npm link
283
+
284
+ # Test
285
+ aether --help
286
+ aether status
287
+ aether ask "hello"
288
+ ```
289
+
290
+ ---
291
+
292
+ ## 📄 License
293
+
294
+ MIT License — see [LICENSE](LICENSE) for details.
295
+
296
+ ---
297
+
298
+ ## 👨‍💻 Author
299
+
300
+ **Krishiv PB** ([@Krylo-60](https://github.com/Krylo-60))
301
+
302
+ > *"Stay cyberpunk. ⚡"*
303
+
304
+ ---
305
+
306
+ <p align="center">
307
+ <b>⚡ Aether Core AI v110 — Fusion Command Station ⚡</b><br>
308
+ <i>Universal AI Gateway for the Terminal</i>
309
+ </p>
@@ -0,0 +1,25 @@
1
+ aether_ai_agent_cli-1.1.4.dist-info/licenses/LICENSE,sha256=9kKNPpKXSdgtv9HXqHorQiVH6NQKwF34mvXadmIGHYI,1079
2
+ aether_pip/__init__.py,sha256=ZBxjigfvm7oT267tIUeTBR2cZ1e9U4oX6fB_HyGUy04,36
3
+ aether_pip/cli.py,sha256=GIoPS33uzVWEFQII-IVzTLCmAZYs0HTIzKXysI-OeN0,2044
4
+ aether_pip/node_project/package-lock.json,sha256=-F9OM9j_VKaPJ2sttMzfRzt7LSAbm4-rU_8cHwXejbk,28433
5
+ aether_pip/node_project/package.json,sha256=0xxBwmEAFCkIgbXdO_iFw5tF6EwqMz7MHfqc-g4zxqk,1084
6
+ aether_pip/node_project/bin/aether.js,sha256=Amzo0lT1WRl3ylYkc6IV87C6Zdbk-YZClqf8U9c3v8Y,541
7
+ aether_pip/node_project/src/chat.js,sha256=5kccC7tCJbgcETFncnJmIg0bJ96OhNzEdVNb2zu7EO0,34894
8
+ aether_pip/node_project/src/cli.js,sha256=pMN6DfLw1HtkBBXZYlE5Wr_jjvOXa5P1-0oAMCHWOy4,24823
9
+ aether_pip/node_project/src/config.js,sha256=6GPf8aiMY8uH6Omgkm3U2G0n-lJ-ldFk3ik1RtnnFLs,5592
10
+ aether_pip/node_project/src/file-parser.js,sha256=LZfxQKv01J6YkdrvvesUx86qTGF_2Dk2q7yw4WTXsBE,2955
11
+ aether_pip/node_project/src/modes.js,sha256=0NTZGqLeyZ-PErfOJePvC5igBmP2CicYGGdEIAivpls,7292
12
+ aether_pip/node_project/src/ai/fallback.js,sha256=A7ZJEj9QbiJMc8qKKlEQqYg5Mevs7NNlZgsnDSfEoNw,6935
13
+ aether_pip/node_project/src/ai/google.js,sha256=b-nbXalbGV9lCVpxWXnXrlQ3GG_0i55nitJk9q7FPR8,2791
14
+ aether_pip/node_project/src/ai/providers.js,sha256=XBnqn3-d0IdOEAc61gLBM48Ugt7w6stmbQxWO4h6gKQ,7500
15
+ aether_pip/node_project/src/ai/router.js,sha256=sVmdmvTDU3_CBaktGMaeBJ3ONmeckkiYNnQH8Fs9hek,4271
16
+ aether_pip/node_project/src/ai/universal.js,sha256=mbPDhv8lx1sqUwcqptNtBucNYnqiglucsLvl5Nzs47Q,17176
17
+ aether_pip/node_project/src/ai/xai.js,sha256=pGzfmao82HGF0OXBIGLSaFlQr94Nhws9A7vfYlyADNs,1661
18
+ aether_pip/node_project/src/ui/banner.js,sha256=ZnURFLicjZ7IfqVRBxo0uveg5XZM8GFxfZgbeMMBDfY,3431
19
+ aether_pip/node_project/src/ui/spinner.js,sha256=5XOVr3fNODswUmSyST_aaKxQoXa-Zgvt7mVxDwPZyPE,1361
20
+ aether_pip/node_project/src/ui/theme.js,sha256=JO2CSLDzcvQAw-mS5-WfhkZBD4PPZfPfxEdVeB6cg8g,7434
21
+ aether_ai_agent_cli-1.1.4.dist-info/METADATA,sha256=GqxSWBZWrye6LB85P-ymnnE3Q62w9toCNNahq7Zqe4U,11604
22
+ aether_ai_agent_cli-1.1.4.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
23
+ aether_ai_agent_cli-1.1.4.dist-info/entry_points.txt,sha256=fq7dU4sEmrsiKzKCnkap7LxjZRKlg8qm_RO2fgTBBHk,51
24
+ aether_ai_agent_cli-1.1.4.dist-info/top_level.txt,sha256=M2mo27cNqNARNn0DgMIfxsyeniBhsID-UeSBeHMOzZU,11
25
+ aether_ai_agent_cli-1.1.4.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ aether-pip = aether_pip.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Krishiv PB (@Krylo-60)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ aether_pip
aether_pip/__init__.py ADDED
@@ -0,0 +1 @@
1
+ # Aether AI CLI Pip Package Wrapper
aether_pip/cli.py ADDED
@@ -0,0 +1,49 @@
1
+ import sys
2
+ import os
3
+ import subprocess
4
+ import shutil
5
+
6
+ def main():
7
+ # Find the Node.js entry point absolute path inside aether_pip/node_project
8
+ script_dir = os.path.dirname(os.path.abspath(__file__))
9
+ node_project_dir = os.path.join(script_dir, "node_project")
10
+ aether_js = os.path.join(node_project_dir, "bin", "aether.js")
11
+
12
+ # If not found globally, check dev layout relative to current working directory
13
+ if not os.path.exists(aether_js):
14
+ aether_js = os.path.join(os.getcwd(), "bin", "aether.js")
15
+ node_project_dir = os.getcwd()
16
+
17
+ if not shutil.which("node"):
18
+ print("Error: Node.js is required to run Aether AI CLI.", file=sys.stderr)
19
+ print("Please install Node.js (https://nodejs.org) and try again.", file=sys.stderr)
20
+ sys.exit(1)
21
+
22
+ # Check if node_modules exists in the node_project directory.
23
+ # If not, automatically run npm install inside that directory!
24
+ node_modules_dir = os.path.join(node_project_dir, "node_modules")
25
+ if not os.path.exists(node_modules_dir):
26
+ print("First-time launch check: Installing node dependencies via npm...")
27
+ npm_cmd = shutil.which("npm")
28
+ if not npm_cmd:
29
+ print("Error: npm is required to install Node dependencies.", file=sys.stderr)
30
+ print("Please install Node.js/npm and try again.", file=sys.stderr)
31
+ sys.exit(1)
32
+
33
+ # On Windows, run npm using shell=True to handle cmd/bat resolution
34
+ subprocess.run([npm_cmd, "install", "--no-audit", "--no-fund"], cwd=node_project_dir, shell=(os.name == "nt"))
35
+
36
+ try:
37
+ # Run node aether.js passing all command line arguments
38
+ cmd = ["node", aether_js] + sys.argv[1:]
39
+ result = subprocess.run(cmd, check=False)
40
+ sys.exit(result.returncode)
41
+ except KeyboardInterrupt:
42
+ print("\nSession terminated by user.")
43
+ sys.exit(0)
44
+ except Exception as e:
45
+ print(f"Error running Aether: {e}", file=sys.stderr)
46
+ sys.exit(1)
47
+
48
+ if __name__ == "__main__":
49
+ main()
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+
3
+ // ═══════════════════════════════════════════════════════════
4
+ // AETHER AI CLI — Entry Point
5
+ // Universal AI Gateway — 13+ Providers, Free & Paid
6
+ // ═══════════════════════════════════════════════════════════
7
+
8
+ import { createCLI } from "../src/cli.js";
9
+
10
+ createCLI(process.argv);