yncli 1.2.2__tar.gz → 1.2.3__tar.gz
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.
- {yncli-1.2.2 → yncli-1.2.3}/PKG-INFO +1 -1
- {yncli-1.2.2 → yncli-1.2.3}/pyproject.toml +1 -1
- {yncli-1.2.2 → yncli-1.2.3}/setup.py +1 -1
- {yncli-1.2.2 → yncli-1.2.3}/yncli/tui.py +29 -1
- yncli-1.2.3/yncli/version.py +1 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli.egg-info/PKG-INFO +1 -1
- yncli-1.2.2/yncli/version.py +0 -1
- {yncli-1.2.2 → yncli-1.2.3}/README.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/setup.cfg +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/__init__.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/agent.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/architect.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/code_review.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/debug_oracle.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/debugger.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/polyglot.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/refactor_master.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/security_auditor.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/system_architect.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/test_runner.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/built_in_skills/ultrabrain.md +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/clean_text.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/client.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/config.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/language_detector.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/main.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/mention_resolver.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/skills_manager.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/system_prompt.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/tools/__init__.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/tools/file_tools.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/tools/polyglot_tools.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/tools/search_tools.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/tools/system_tools.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/update_checker.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/workspace_memory.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli/workspace_scanner.py +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli.egg-info/SOURCES.txt +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli.egg-info/dependency_links.txt +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli.egg-info/entry_points.txt +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli.egg-info/requires.txt +0 -0
- {yncli-1.2.2 → yncli-1.2.3}/yncli.egg-info/top_level.txt +0 -0
|
@@ -6,7 +6,7 @@ long_description = (this_directory / "README.md").read_text(encoding="utf-8") if
|
|
|
6
6
|
|
|
7
7
|
setup(
|
|
8
8
|
name="yncli",
|
|
9
|
-
version="1.2.
|
|
9
|
+
version="1.2.3",
|
|
10
10
|
description="Autonomous Polyglot AI Coding Agent & TUI",
|
|
11
11
|
long_description=long_description,
|
|
12
12
|
long_description_content_type="text/markdown",
|
|
@@ -179,7 +179,8 @@ class TerminalUI:
|
|
|
179
179
|
table.add_column("Keterangan", style="white")
|
|
180
180
|
|
|
181
181
|
table.add_row("/model, /models", "Buka popup interaktif untuk memilih model AI (klik mouse / panah)")
|
|
182
|
-
table.add_row("/
|
|
182
|
+
table.add_row("/default, /reset", "Kembalikan provider & model ke bawaan (Model ag/*, cx/*)")
|
|
183
|
+
table.add_row("/google <api_key>", "Hubungkan langsung ke Google AI Studio Gemini API Key Anda")
|
|
183
184
|
table.add_row("/key <api_key>", "Ganti API Key kustom Anda")
|
|
184
185
|
table.add_row("/endpoint <url>", "Ganti Endpoint API kustom (OpenAI, Ollama, OpenRouter, Groq, dll)")
|
|
185
186
|
table.add_row("/plan", "Masuk ke Plan Mode (Riset & susun PRD plan.md otomatis)")
|
|
@@ -329,6 +330,33 @@ class TerminalUI:
|
|
|
329
330
|
self.console.print(f"[green]Endpoint API berhasil diganti ke: [cyan]{new_url}[/cyan][/green]")
|
|
330
331
|
return True
|
|
331
332
|
|
|
333
|
+
elif cmd in ("/default", "/reset", "/reset-api"):
|
|
334
|
+
from yncli.config import DEFAULT_BASE_URL, DEFAULT_API_KEY, DEFAULT_MODEL
|
|
335
|
+
self.agent.client.base_url = DEFAULT_BASE_URL
|
|
336
|
+
self.agent.client.api_key = DEFAULT_API_KEY
|
|
337
|
+
self.agent.set_model(DEFAULT_MODEL)
|
|
338
|
+
save_config({
|
|
339
|
+
"base_url": DEFAULT_BASE_URL,
|
|
340
|
+
"api_key": DEFAULT_API_KEY,
|
|
341
|
+
"model": DEFAULT_MODEL
|
|
342
|
+
})
|
|
343
|
+
self.console.print("[bold green]Berhasil reset ke konfigurasi bawaan (Default Provider)![/bold green]")
|
|
344
|
+
self.console.print(f"Endpoint: [cyan]{DEFAULT_BASE_URL}[/cyan]")
|
|
345
|
+
self.console.print(f"Model aktif: [cyan]{DEFAULT_MODEL}[/cyan] (Daftar model ag/*, cx/* kembali tersedia via [yellow]/model[/yellow])")
|
|
346
|
+
return True
|
|
347
|
+
|
|
348
|
+
elif cmd in ("/key", "/apikey"):
|
|
349
|
+
if not args:
|
|
350
|
+
masked = self.agent.client.api_key[:6] + "..." + self.agent.client.api_key[-4:] if len(self.agent.client.api_key) > 10 else "***"
|
|
351
|
+
self.console.print(f"API Key saat ini: [cyan]{masked}[/cyan]")
|
|
352
|
+
self.console.print("Gunakan: [yellow]/key <api_key_anda>[/yellow]")
|
|
353
|
+
return True
|
|
354
|
+
new_key = args[0].strip()
|
|
355
|
+
self.agent.client.api_key = new_key
|
|
356
|
+
save_config({"api_key": new_key})
|
|
357
|
+
self.console.print("[green]API Key berhasil disimpan dan diperbarui.[/green]")
|
|
358
|
+
return True
|
|
359
|
+
|
|
332
360
|
elif cmd in ("/google", "/gemini"):
|
|
333
361
|
if not args:
|
|
334
362
|
self.console.print("Gunakan: [yellow]/google <google_api_key>[/yellow]")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.2.3"
|
yncli-1.2.2/yncli/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.2.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|