yncli 1.2.1__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.
Files changed (42) hide show
  1. {yncli-1.2.1 → yncli-1.2.3}/PKG-INFO +1 -1
  2. {yncli-1.2.1 → yncli-1.2.3}/pyproject.toml +1 -1
  3. {yncli-1.2.1 → yncli-1.2.3}/setup.py +1 -1
  4. {yncli-1.2.1 → yncli-1.2.3}/yncli/tui.py +33 -1
  5. yncli-1.2.3/yncli/version.py +1 -0
  6. {yncli-1.2.1 → yncli-1.2.3}/yncli.egg-info/PKG-INFO +1 -1
  7. yncli-1.2.1/yncli/version.py +0 -1
  8. {yncli-1.2.1 → yncli-1.2.3}/README.md +0 -0
  9. {yncli-1.2.1 → yncli-1.2.3}/setup.cfg +0 -0
  10. {yncli-1.2.1 → yncli-1.2.3}/yncli/__init__.py +0 -0
  11. {yncli-1.2.1 → yncli-1.2.3}/yncli/agent.py +0 -0
  12. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/architect.md +0 -0
  13. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/code_review.md +0 -0
  14. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/debug_oracle.md +0 -0
  15. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/debugger.md +0 -0
  16. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/polyglot.md +0 -0
  17. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/refactor_master.md +0 -0
  18. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/security_auditor.md +0 -0
  19. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/system_architect.md +0 -0
  20. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/test_runner.md +0 -0
  21. {yncli-1.2.1 → yncli-1.2.3}/yncli/built_in_skills/ultrabrain.md +0 -0
  22. {yncli-1.2.1 → yncli-1.2.3}/yncli/clean_text.py +0 -0
  23. {yncli-1.2.1 → yncli-1.2.3}/yncli/client.py +0 -0
  24. {yncli-1.2.1 → yncli-1.2.3}/yncli/config.py +0 -0
  25. {yncli-1.2.1 → yncli-1.2.3}/yncli/language_detector.py +0 -0
  26. {yncli-1.2.1 → yncli-1.2.3}/yncli/main.py +0 -0
  27. {yncli-1.2.1 → yncli-1.2.3}/yncli/mention_resolver.py +0 -0
  28. {yncli-1.2.1 → yncli-1.2.3}/yncli/skills_manager.py +0 -0
  29. {yncli-1.2.1 → yncli-1.2.3}/yncli/system_prompt.py +0 -0
  30. {yncli-1.2.1 → yncli-1.2.3}/yncli/tools/__init__.py +0 -0
  31. {yncli-1.2.1 → yncli-1.2.3}/yncli/tools/file_tools.py +0 -0
  32. {yncli-1.2.1 → yncli-1.2.3}/yncli/tools/polyglot_tools.py +0 -0
  33. {yncli-1.2.1 → yncli-1.2.3}/yncli/tools/search_tools.py +0 -0
  34. {yncli-1.2.1 → yncli-1.2.3}/yncli/tools/system_tools.py +0 -0
  35. {yncli-1.2.1 → yncli-1.2.3}/yncli/update_checker.py +0 -0
  36. {yncli-1.2.1 → yncli-1.2.3}/yncli/workspace_memory.py +0 -0
  37. {yncli-1.2.1 → yncli-1.2.3}/yncli/workspace_scanner.py +0 -0
  38. {yncli-1.2.1 → yncli-1.2.3}/yncli.egg-info/SOURCES.txt +0 -0
  39. {yncli-1.2.1 → yncli-1.2.3}/yncli.egg-info/dependency_links.txt +0 -0
  40. {yncli-1.2.1 → yncli-1.2.3}/yncli.egg-info/entry_points.txt +0 -0
  41. {yncli-1.2.1 → yncli-1.2.3}/yncli.egg-info/requires.txt +0 -0
  42. {yncli-1.2.1 → yncli-1.2.3}/yncli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yncli
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: Autonomous Polyglot AI Coding Agent & TUI
5
5
  Author: Yanzyuyu
6
6
  Requires-Python: >=3.8
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "yncli"
7
- version = "1.2.1"
7
+ version = "1.2.3"
8
8
  description = "Autonomous Polyglot AI Coding Agent & TUI"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -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.1",
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("/google <api_key>", "Hubungkan langsung ke Google AI Studio Gemini API Key Anda!")
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)")
@@ -236,6 +237,10 @@ class TerminalUI:
236
237
  badge = " ⭐ (Ultra Fast & Stable)"
237
238
  elif mid.startswith("cx/"):
238
239
  badge = " ⚡ (Active)"
240
+ elif mid in ("gemini-3.6-flash", "gemini-3.5-flash", "gemini-3.5-flash-lite", "gemini-3-flash-preview"):
241
+ badge = " ⭐ (Google Official - Ultra Fast & Active)"
242
+ elif "pro" in mid:
243
+ badge = " ⚠️ (Tier Pro - Butuh Saldo/Billing)"
239
244
 
240
245
  label = f"{mid}{badge}"
241
246
  values.append((mid, label))
@@ -325,6 +330,33 @@ class TerminalUI:
325
330
  self.console.print(f"[green]Endpoint API berhasil diganti ke: [cyan]{new_url}[/cyan][/green]")
326
331
  return True
327
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
+
328
360
  elif cmd in ("/google", "/gemini"):
329
361
  if not args:
330
362
  self.console.print("Gunakan: [yellow]/google <google_api_key>[/yellow]")
@@ -0,0 +1 @@
1
+ __version__ = "1.2.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yncli
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: Autonomous Polyglot AI Coding Agent & TUI
5
5
  Author: Yanzyuyu
6
6
  Requires-Python: >=3.8
@@ -1 +0,0 @@
1
- __version__ = "1.2.1"
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