karnel-termux 4.17.28 → 4.17.29

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.
@@ -1 +1 @@
1
- 613289b8469f461b2ec48e1804ab1f9cbfe42f61
1
+ 62c3cc59db741285e68a9e070fd9dbc9c4b145a1
@@ -172,6 +172,7 @@ _list_ai() {
172
172
  echo
173
173
 
174
174
  table_start "Tool" "Install Flag" "Command" "Status"
175
+ table_row "10Router" "--10router" "10router" "$(_check_cmd "10router")"
175
176
  table_row "Qwen Code" "--qwen-code" "qwen" "$(_check_cmd "qwen")"
176
177
  table_row "Gemini CLI" "--gemini-cli" "gemini" "$(_check_cmd "gemini")"
177
178
  table_row "Claude Code" "--claude-code" "claude" "$(_check_cmd "claude")"
@@ -0,0 +1,10 @@
1
+ # 10Router
2
+
3
+ Instala o [10Router CLI](https://www.npmjs.com/package/@techysy/10router) para iniciar e gerenciar servidores 10Router.
4
+
5
+ ```bash
6
+ karnel install ai --10router
7
+ 10router --help
8
+ ```
9
+
10
+ O instalador usa o pacote npm `@techysy/10router` e corrige o shebang do binario para Termux.
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+ import "@/utils/version"
5
+ import "@/utils/npm-shebang"
6
+
7
+ LOG_FILE="$KARNEL_CACHE/install_ai.log"
8
+ TENROUTER_PACKAGE="@techysy/10router"
9
+
10
+ _10router_dependencies() {
11
+ if command -v node &>/dev/null && command -v npm &>/dev/null; then
12
+ return 0
13
+ fi
14
+ pkg install nodejs-lts -y &>>"$LOG_FILE"
15
+ }
16
+
17
+ _install_10router_impl() {
18
+ if ! npm install -g "$TENROUTER_PACKAGE" &>>"$LOG_FILE"; then
19
+ log_error "Failed to install 10Router"
20
+ return 1
21
+ fi
22
+ _fix_npm_shebang "10router" || return 1
23
+ command -v 10router &>/dev/null
24
+ }
25
+
26
+ install_10router() {
27
+ if command -v 10router &>/dev/null; then
28
+ log_info "10Router is already installed"
29
+ return 2
30
+ fi
31
+ mkdir -p "$(dirname "$LOG_FILE")"
32
+ _10router_dependencies || { log_error "Failed to install Node.js"; return 1; }
33
+ loading "Installing 10Router" _install_10router_impl || return 1
34
+ log_success "10Router installed"
35
+ }
36
+
37
+ _uninstall_10router_impl() {
38
+ npm uninstall -g "$TENROUTER_PACKAGE" &>>"$LOG_FILE"
39
+ }
40
+
41
+ uninstall_10router() {
42
+ if ! command -v 10router &>/dev/null; then
43
+ log_info "10Router is not installed"
44
+ return 2
45
+ fi
46
+ loading "Removing 10Router" _uninstall_10router_impl || { log_error "Failed to uninstall 10Router"; return 1; }
47
+ log_success "10Router uninstalled"
48
+ }
49
+
50
+ _update_10router_impl() {
51
+ if ! npm update -g "$TENROUTER_PACKAGE" &>>"$LOG_FILE"; then
52
+ log_error "Failed to update 10Router"
53
+ return 1
54
+ fi
55
+ _fix_npm_shebang "10router"
56
+ }
57
+
58
+ update_10router() {
59
+ _check_update_needed "10Router" "$(_get_installed_npm_version "$TENROUTER_PACKAGE")" "$(_get_remote_npm_version "$TENROUTER_PACKAGE")" _update_10router_impl
60
+ }
61
+
62
+ reinstall_10router() {
63
+ uninstall_10router || [[ $? -eq 2 ]] || return 1
64
+ install_10router
65
+ }
@@ -28,6 +28,7 @@ import "@/utils/colors"
28
28
  # update_fn = nome da função update (gerado automaticamente)
29
29
 
30
30
  AI_TOOLS_REGISTRY=(
31
+ "10router:10Router:10router"
31
32
  "qwen-code:Qwen Code:qwen"
32
33
  "gemini-cli:Gemini CLI:gemini"
33
34
  "claude-code:Claude Code:claude"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "karnel-termux",
3
- "version": "4.17.28",
3
+ "version": "4.17.29",
4
4
  "description": "Modular Dev Environment for Termux — install languages, databases, AI agents, editors, and more with one command",
5
5
  "bin": {
6
6
  "karnel": "karnel/bin/karnel"
@@ -2,7 +2,7 @@
2
2
 
3
3
  _karnel_tool_flags() {
4
4
  local module="$1"
5
- local ai_tools="qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
5
+ local ai_tools="10router qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
6
6
  local tools=""
7
7
 
8
8
  case "$module" in
@@ -41,7 +41,7 @@ _karnel_completions() {
41
41
  local update_targets="$modules supabase karnel"
42
42
  local show_targets="$modules backup restore"
43
43
  local open_targets="karnel help lang db ai editor dev npm shell ui auto deploy supabase games cleanup network utils voice plugin security osint robin"
44
- local ai_tools="qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
44
+ local ai_tools="10router qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
45
45
 
46
46
  if [[ $cword -eq 1 ]]; then
47
47
  COMPREPLY=($(compgen -W "$commands --help --version" -- "$cur"))
@@ -64,7 +64,7 @@ _karnel_modules() {
64
64
 
65
65
  _karnel_tool_flags() {
66
66
  local module="$1"
67
- local ai_tools="qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
67
+ local ai_tools="10router qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
68
68
  local tools=""
69
69
 
70
70
  case "$module" in
@@ -167,7 +167,7 @@ _karnel() {
167
167
  elif [[ "${words[3]}" == sessions ]]; then
168
168
  _karnel_add "--all"
169
169
  elif [[ "${words[3]}" == install ]]; then
170
- local ai_tools="qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
170
+ local ai_tools="10router qwen-code gemini-cli claude-code mistral-vibe openclaude openclaw ollama codex opencode mimocode engram codegraph pi antigravity-cli minimax-cli gentle-ai gga hermes-agent kimi-code command-code codebuff freebuff kilocode-cli kiro crush cline odysseus kimchi-code omni-route ctx7 openspec supercode-cli puter keelcode copilot-termux qoder ampcode cursor-cli oh-my-pi goose droid cactus cactus-needle hugging-face walkie"
171
171
  _karnel_add "$ai_tools"
172
172
  fi
173
173
  ;;