omni-catalyst 1.0.0

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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1137 -0
  3. package/core/bin/core +85 -0
  4. package/core/bin/omni +21 -0
  5. package/core/cli/commands/--version.sh +8 -0
  6. package/core/cli/commands/brain.sh +1549 -0
  7. package/core/cli/commands/doctor.sh +834 -0
  8. package/core/cli/commands/env.sh +226 -0
  9. package/core/cli/commands/init.sh +1266 -0
  10. package/core/cli/commands/install.sh +759 -0
  11. package/core/cli/commands/list.sh +397 -0
  12. package/core/cli/commands/open.sh +71 -0
  13. package/core/cli/commands/pg.sh +761 -0
  14. package/core/cli/commands/reinstall.sh +694 -0
  15. package/core/cli/commands/show.sh +90 -0
  16. package/core/cli/commands/uninstall.sh +700 -0
  17. package/core/cli/commands/update.sh +754 -0
  18. package/core/cli/commands/voice.sh +170 -0
  19. package/core/cli/core.sh +82 -0
  20. package/core/cli/omni.sh +634 -0
  21. package/core/modules/ai.sh +152 -0
  22. package/core/modules/auto.sh +90 -0
  23. package/core/modules/db.sh +94 -0
  24. package/core/modules/deploy.sh +50 -0
  25. package/core/modules/dev.sh +126 -0
  26. package/core/modules/editor.sh +101 -0
  27. package/core/modules/lang.sh +100 -0
  28. package/core/modules/npm.sh +122 -0
  29. package/core/modules/shell.sh +312 -0
  30. package/core/modules/ui.sh +115 -0
  31. package/core/tools/ai/all.sh +63 -0
  32. package/core/tools/ai/antigravity-cli/README.md +45 -0
  33. package/core/tools/ai/antigravity-cli/bin/agy +28 -0
  34. package/core/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
  35. package/core/tools/ai/antigravity-cli/install.sh +469 -0
  36. package/core/tools/ai/claude-code/README.md +45 -0
  37. package/core/tools/ai/claude-code/bin/claude +29 -0
  38. package/core/tools/ai/claude-code/helper/claude_helper.c +42 -0
  39. package/core/tools/ai/claude-code/install.sh +278 -0
  40. package/core/tools/ai/codegraph/README.md +43 -0
  41. package/core/tools/ai/codegraph/bin/codegraph +3 -0
  42. package/core/tools/ai/codegraph/install.sh +149 -0
  43. package/core/tools/ai/codex/README.md +44 -0
  44. package/core/tools/ai/codex/install.sh +104 -0
  45. package/core/tools/ai/command-code/README.md +62 -0
  46. package/core/tools/ai/command-code/install.sh +136 -0
  47. package/core/tools/ai/engram/README.md +44 -0
  48. package/core/tools/ai/engram/install.sh +127 -0
  49. package/core/tools/ai/freebuff/README.md +52 -0
  50. package/core/tools/ai/freebuff/bin/freebuff +28 -0
  51. package/core/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
  52. package/core/tools/ai/freebuff/install.sh +301 -0
  53. package/core/tools/ai/gemini-cli/README.md +46 -0
  54. package/core/tools/ai/gemini-cli/install.sh +111 -0
  55. package/core/tools/ai/gentle-ai/README.md +42 -0
  56. package/core/tools/ai/gentle-ai/install.sh +253 -0
  57. package/core/tools/ai/gentle-ai/termux-patches.go +256 -0
  58. package/core/tools/ai/gga/README.md +49 -0
  59. package/core/tools/ai/gga/install.sh +134 -0
  60. package/core/tools/ai/hermes-agent/README.md +50 -0
  61. package/core/tools/ai/hermes-agent/install.sh +80 -0
  62. package/core/tools/ai/heygen/README.md +24 -0
  63. package/core/tools/ai/heygen/install.sh +126 -0
  64. package/core/tools/ai/kilocode-cli/README.md +45 -0
  65. package/core/tools/ai/kilocode-cli/bin/kilocode +21 -0
  66. package/core/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
  67. package/core/tools/ai/kilocode-cli/install.sh +179 -0
  68. package/core/tools/ai/kimchi-code/README.md +8 -0
  69. package/core/tools/ai/kimchi-code/install.sh +120 -0
  70. package/core/tools/ai/kimi-code/README.md +45 -0
  71. package/core/tools/ai/kimi-code/install.sh +111 -0
  72. package/core/tools/ai/kiro-cli/README.md +23 -0
  73. package/core/tools/ai/kiro-cli/install.sh +127 -0
  74. package/core/tools/ai/mimocode/README.md +43 -0
  75. package/core/tools/ai/mimocode/bin/mimo +28 -0
  76. package/core/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
  77. package/core/tools/ai/mimocode/install.sh +287 -0
  78. package/core/tools/ai/minimax-cli/README.md +45 -0
  79. package/core/tools/ai/minimax-cli/install.sh +111 -0
  80. package/core/tools/ai/mistral-vibe/README.md +46 -0
  81. package/core/tools/ai/mistral-vibe/install.sh +119 -0
  82. package/core/tools/ai/odysseus/README.md +35 -0
  83. package/core/tools/ai/odysseus/install.sh +163 -0
  84. package/core/tools/ai/ollama/README.md +44 -0
  85. package/core/tools/ai/ollama/install.sh +78 -0
  86. package/core/tools/ai/openclaude/README.md +46 -0
  87. package/core/tools/ai/openclaude/install.sh +110 -0
  88. package/core/tools/ai/openclaw/README.md +47 -0
  89. package/core/tools/ai/openclaw/install.sh +112 -0
  90. package/core/tools/ai/opencode/README.md +51 -0
  91. package/core/tools/ai/opencode/bin/opencode +28 -0
  92. package/core/tools/ai/opencode/helper/opencode_helper.c +57 -0
  93. package/core/tools/ai/opencode/install.sh +290 -0
  94. package/core/tools/ai/pi/README.md +46 -0
  95. package/core/tools/ai/pi/install.sh +104 -0
  96. package/core/tools/ai/qwen-code/README.md +45 -0
  97. package/core/tools/ai/qwen-code/install.sh +111 -0
  98. package/core/tools/ai/seedance/README.md +22 -0
  99. package/core/tools/ai/seedance/install.sh +134 -0
  100. package/core/tools/ai/veo3/README.md +36 -0
  101. package/core/tools/ai/veo3/install.sh +151 -0
  102. package/core/tools/auto/all.sh +57 -0
  103. package/core/tools/auto/n8n/README.md +47 -0
  104. package/core/tools/auto/n8n/install.sh +102 -0
  105. package/core/tools/db/all.sh +60 -0
  106. package/core/tools/db/mariadb/README.md +43 -0
  107. package/core/tools/db/mariadb/install.sh +65 -0
  108. package/core/tools/db/mongodb/README.md +42 -0
  109. package/core/tools/db/mongodb/install.sh +73 -0
  110. package/core/tools/db/postgresql/README.md +45 -0
  111. package/core/tools/db/postgresql/install.sh +65 -0
  112. package/core/tools/db/sqlite/README.md +44 -0
  113. package/core/tools/db/sqlite/install.sh +65 -0
  114. package/core/tools/deploy/all.sh +39 -0
  115. package/core/tools/deploy/netlify/install.sh +41 -0
  116. package/core/tools/deploy/railway/install.sh +47 -0
  117. package/core/tools/deploy/vercel/install.sh +43 -0
  118. package/core/tools/dev/all.sh +75 -0
  119. package/core/tools/dev/bat/README.md +44 -0
  120. package/core/tools/dev/bat/install.sh +82 -0
  121. package/core/tools/dev/bc/README.md +44 -0
  122. package/core/tools/dev/bc/install.sh +82 -0
  123. package/core/tools/dev/cloudflared/README.md +43 -0
  124. package/core/tools/dev/cloudflared/install.sh +82 -0
  125. package/core/tools/dev/curl/README.md +43 -0
  126. package/core/tools/dev/curl/install.sh +82 -0
  127. package/core/tools/dev/fzf/README.md +44 -0
  128. package/core/tools/dev/fzf/install.sh +82 -0
  129. package/core/tools/dev/gh/README.md +43 -0
  130. package/core/tools/dev/gh/install.sh +82 -0
  131. package/core/tools/dev/html2text/README.md +44 -0
  132. package/core/tools/dev/html2text/install.sh +82 -0
  133. package/core/tools/dev/imagemagick/README.md +44 -0
  134. package/core/tools/dev/imagemagick/install.sh +82 -0
  135. package/core/tools/dev/jq/README.md +44 -0
  136. package/core/tools/dev/jq/install.sh +82 -0
  137. package/core/tools/dev/lsd/README.md +44 -0
  138. package/core/tools/dev/lsd/install.sh +82 -0
  139. package/core/tools/dev/make/README.md +44 -0
  140. package/core/tools/dev/make/install.sh +82 -0
  141. package/core/tools/dev/ncurses/README.md +42 -0
  142. package/core/tools/dev/ncurses/install.sh +82 -0
  143. package/core/tools/dev/proot/README.md +43 -0
  144. package/core/tools/dev/proot/install.sh +82 -0
  145. package/core/tools/dev/shfmt/README.md +44 -0
  146. package/core/tools/dev/shfmt/install.sh +82 -0
  147. package/core/tools/dev/tmate/README.md +44 -0
  148. package/core/tools/dev/tmate/install.sh +82 -0
  149. package/core/tools/dev/translate/README.md +44 -0
  150. package/core/tools/dev/translate/install.sh +82 -0
  151. package/core/tools/dev/tree/README.md +44 -0
  152. package/core/tools/dev/tree/install.sh +82 -0
  153. package/core/tools/dev/udocker/README.md +44 -0
  154. package/core/tools/dev/udocker/install.sh +82 -0
  155. package/core/tools/dev/wget/README.md +44 -0
  156. package/core/tools/dev/wget/install.sh +82 -0
  157. package/core/tools/editor/all.sh +58 -0
  158. package/core/tools/editor/neovim/README.md +43 -0
  159. package/core/tools/editor/neovim/install.sh +66 -0
  160. package/core/tools/editor/nvchad/README.md +45 -0
  161. package/core/tools/editor/nvchad/install.sh +110 -0
  162. package/core/tools/lang/all.sh +63 -0
  163. package/core/tools/lang/clang/README.md +43 -0
  164. package/core/tools/lang/clang/install.sh +79 -0
  165. package/core/tools/lang/golang/README.md +43 -0
  166. package/core/tools/lang/golang/install.sh +79 -0
  167. package/core/tools/lang/nodejs/README.md +43 -0
  168. package/core/tools/lang/nodejs/install.sh +79 -0
  169. package/core/tools/lang/perl/README.md +43 -0
  170. package/core/tools/lang/perl/install.sh +79 -0
  171. package/core/tools/lang/php/README.md +43 -0
  172. package/core/tools/lang/php/install.sh +79 -0
  173. package/core/tools/lang/python/README.md +43 -0
  174. package/core/tools/lang/python/install.sh +79 -0
  175. package/core/tools/lang/rust/README.md +43 -0
  176. package/core/tools/lang/rust/install.sh +79 -0
  177. package/core/tools/npm/all.sh +67 -0
  178. package/core/tools/npm/live-server/README.md +43 -0
  179. package/core/tools/npm/live-server/install.sh +95 -0
  180. package/core/tools/npm/localtunnel/README.md +43 -0
  181. package/core/tools/npm/localtunnel/install.sh +111 -0
  182. package/core/tools/npm/markserv/README.md +43 -0
  183. package/core/tools/npm/markserv/install.sh +94 -0
  184. package/core/tools/npm/ncu/README.md +43 -0
  185. package/core/tools/npm/ncu/install.sh +94 -0
  186. package/core/tools/npm/nestjs/README.md +43 -0
  187. package/core/tools/npm/nestjs/install.sh +94 -0
  188. package/core/tools/npm/ngrok/README.md +44 -0
  189. package/core/tools/npm/ngrok/install.sh +94 -0
  190. package/core/tools/npm/prettier/README.md +43 -0
  191. package/core/tools/npm/prettier/install.sh +94 -0
  192. package/core/tools/npm/psqlformat/README.md +43 -0
  193. package/core/tools/npm/psqlformat/install.sh +94 -0
  194. package/core/tools/npm/turbopack/README.md +8 -0
  195. package/core/tools/npm/turbopack/install.sh +41 -0
  196. package/core/tools/npm/typescript/README.md +43 -0
  197. package/core/tools/npm/typescript/install.sh +94 -0
  198. package/core/tools/npm/vercel/README.md +43 -0
  199. package/core/tools/npm/vercel/install.sh +94 -0
  200. package/core/tools/shell/all.sh +67 -0
  201. package/core/tools/shell/better-npm/README.md +43 -0
  202. package/core/tools/shell/better-npm/install.sh +85 -0
  203. package/core/tools/shell/fzf-tab/README.md +44 -0
  204. package/core/tools/shell/fzf-tab/install.sh +85 -0
  205. package/core/tools/shell/history-substring/README.md +43 -0
  206. package/core/tools/shell/history-substring/install.sh +85 -0
  207. package/core/tools/shell/powerlevel10k/README.md +43 -0
  208. package/core/tools/shell/powerlevel10k/install.sh +85 -0
  209. package/core/tools/shell/you-should-use/README.md +43 -0
  210. package/core/tools/shell/you-should-use/install.sh +85 -0
  211. package/core/tools/shell/zsh-autopair/README.md +44 -0
  212. package/core/tools/shell/zsh-autopair/install.sh +85 -0
  213. package/core/tools/shell/zsh-autosuggestions/README.md +43 -0
  214. package/core/tools/shell/zsh-autosuggestions/install.sh +85 -0
  215. package/core/tools/shell/zsh-completions/README.md +43 -0
  216. package/core/tools/shell/zsh-completions/install.sh +85 -0
  217. package/core/tools/shell/zsh-defer/README.md +43 -0
  218. package/core/tools/shell/zsh-defer/install.sh +85 -0
  219. package/core/tools/shell/zsh-syntax-highlighting/README.md +43 -0
  220. package/core/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
  221. package/core/tools/ui/all.sh +61 -0
  222. package/core/tools/ui/banner/README.md +42 -0
  223. package/core/tools/ui/banner/install.sh +151 -0
  224. package/core/tools/ui/cursor/README.md +42 -0
  225. package/core/tools/ui/cursor/install.sh +58 -0
  226. package/core/tools/ui/extra-keys/README.md +43 -0
  227. package/core/tools/ui/extra-keys/install.sh +62 -0
  228. package/core/tools/ui/font/README.md +43 -0
  229. package/core/tools/ui/font/install.sh +63 -0
  230. package/core/utils/banner.sh +519 -0
  231. package/core/utils/bootstrap.sh +25 -0
  232. package/core/utils/colors.sh +31 -0
  233. package/core/utils/dialogrc +30 -0
  234. package/core/utils/env.sh +53 -0
  235. package/core/utils/log.sh +598 -0
  236. package/install.sh +272 -0
  237. package/package.json +43 -0
@@ -0,0 +1,754 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+ import "@/utils/colors"
5
+
6
+ update_main() {
7
+
8
+ if [[ $# -eq 0 ]]; then
9
+ echo
10
+ box "Omni Update"
11
+ echo
12
+ log_info "Usage: omni update <target>"
13
+ log_info "Usage: omni update <target> --tool1 --tool2"
14
+ echo
15
+ log_info "Available targets:"
16
+ echo
17
+ list_item "omni - Update only Omni framework"
18
+ list_item "lang - Update language packages (pkg upgrade)"
19
+ list_item "db - Update databases"
20
+ list_item "ai - Update AI tools (npm/pip/pkg)"
21
+ list_item "editor - Update Neovim configuration"
22
+ list_item "dev - Update development tools"
23
+ list_item "npm - Update Node.js global modules"
24
+ list_item "shell - Update ZSH plugins"
25
+ list_item "ui - Update Termux UI"
26
+ list_item "auto - Update Automation Tools"
27
+ list_item "deploy - Update Deploy CLIs (Vercel, Railway, Netlify)"
28
+ echo
29
+ log_info "Update specific tools with flags:"
30
+ echo
31
+ list_item "omni update ai --qwen-code --ollama"
32
+ list_item "omni update db --postgresql --sqlite"
33
+ list_item "Run ${D_CYAN}omni list <target>${NC} to see all available tools"
34
+ echo
35
+ return
36
+ fi
37
+
38
+ # Separate module target from tool flags
39
+ local module_target=""
40
+ local -a tool_flags=()
41
+
42
+ for arg in "$@"; do
43
+ if [[ "$arg" == --* ]]; then
44
+ local flag="${arg#--}"
45
+ tool_flags+=("$flag")
46
+ elif [[ -z "$module_target" ]]; then
47
+ module_target="$arg"
48
+ fi
49
+ done
50
+
51
+ # If no module target specified, show error
52
+ if [[ -z "$module_target" ]]; then
53
+ log_error "No target specified"
54
+ echo "Run 'omni update' to see available targets"
55
+ return 1
56
+ fi
57
+
58
+ # If no tool flags, update entire module (original behavior)
59
+ if [[ ${#tool_flags[@]} -eq 0 ]]; then
60
+ _update_full_module "$module_target"
61
+ else
62
+ # Update specific tools
63
+ _update_specific_tools "$module_target" "${tool_flags[@]}"
64
+ fi
65
+ }
66
+
67
+ # Update entire module (original behavior)
68
+ _update_full_module() {
69
+ local target="$1"
70
+
71
+ case "$target" in
72
+ core|omni)
73
+ update_omni
74
+ ;;
75
+ lang)
76
+ import "@/modules/lang"
77
+ update_lang
78
+ ;;
79
+ db)
80
+ import "@/modules/db"
81
+ update_db
82
+ ;;
83
+ ai)
84
+ import "@/modules/ai"
85
+ update_ai
86
+ ;;
87
+ editor)
88
+ import "@/modules/editor"
89
+ update_editor
90
+ ;;
91
+ dev)
92
+ import "@/modules/dev"
93
+ update_dev
94
+ ;;
95
+ npm)
96
+ import "@/modules/npm"
97
+ update_npm
98
+ ;;
99
+ shell)
100
+ import "@/modules/shell"
101
+ update_shell
102
+ ;;
103
+ ui)
104
+ import "@/modules/ui"
105
+ update_ui
106
+ ;;
107
+ auto)
108
+ import "@/modules/auto"
109
+ update_auto
110
+ ;;
111
+ deploy)
112
+ import "@/modules/deploy"
113
+ update_deploy
114
+ ;;
115
+ *)
116
+ log_warn "Unknown update target: $target"
117
+ echo "Run 'omni update' to see available targets"
118
+ ;;
119
+ esac
120
+ }
121
+
122
+ # Update specific tools within a module
123
+ _update_specific_tools() {
124
+ local module="$1"
125
+ shift
126
+ local -a tools=("$@")
127
+
128
+ case "$module" in
129
+ ai)
130
+ import "@/tools/ai/all"
131
+ local updated_count=0
132
+ local failed_count=0
133
+
134
+ for tool in "${tools[@]}"; do
135
+ case "$tool" in
136
+ qwen-code)
137
+ update_qwen_code
138
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
139
+ ;;
140
+ gemini-cli)
141
+ update_gemini_cli
142
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
143
+ ;;
144
+ claude-code)
145
+ update_claude_code
146
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
147
+ ;;
148
+ mistral-vibe)
149
+ update_mistral_vibe
150
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
151
+ ;;
152
+ openclaude)
153
+ update_openclaude
154
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
155
+ ;;
156
+ openclaw)
157
+ update_openclaw
158
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
159
+ ;;
160
+ ollama)
161
+ update_ollama
162
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
163
+ ;;
164
+ codex)
165
+ update_codex
166
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
167
+ ;;
168
+ opencode)
169
+ update_opencode
170
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
171
+ ;;
172
+ kilocode-cli)
173
+ update_kilocode_cli
174
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
175
+ ;;
176
+ mimocode)
177
+ update_mimocode
178
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
179
+ ;;
180
+ engram)
181
+ update_engram
182
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
183
+ ;;
184
+ codegraph)
185
+ update_codegraph
186
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
187
+ ;;
188
+ pi)
189
+ update_pi
190
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
191
+ ;;
192
+ antigravity-cli)
193
+ update_antigravity_cli
194
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
195
+ ;;
196
+ minimax-cli)
197
+ update_minimax_cli
198
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
199
+ ;;
200
+ gentle-ai)
201
+ update_gentle_ai
202
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
203
+ ;;
204
+ gga)
205
+ update_gga
206
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
207
+ ;;
208
+ hermes-agent)
209
+ update_hermes_agent
210
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
211
+ ;;
212
+ kimi-code)
213
+ update_kimi_code
214
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
215
+ ;;
216
+ command-code)
217
+ update_command_code
218
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
219
+ ;;
220
+ freebuff)
221
+ update_freebuff
222
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
223
+ ;;
224
+ kiro-cli)
225
+ update_kiro_cli
226
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
227
+ ;;
228
+ heygen)
229
+ update_heygen
230
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
231
+ ;;
232
+ seedance)
233
+ update_seedance
234
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
235
+ ;;
236
+ veo3)
237
+ update_veo3
238
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
239
+ ;;
240
+ odysseus)
241
+ update_odysseus
242
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
243
+ ;;
244
+ *)
245
+ log_warn "Unknown AI tool: --$tool"
246
+ ;;
247
+ esac
248
+ done
249
+
250
+ echo
251
+ if [[ $updated_count -gt 0 ]]; then
252
+ log_success "$updated_count AI tool(s) updated"
253
+ fi
254
+ if [[ $failed_count -gt 0 ]]; then
255
+ log_warn "$failed_count tool(s) failed to update"
256
+ fi
257
+ echo
258
+ ;;
259
+ db)
260
+ import "@/tools/db/all"
261
+ local updated_count=0
262
+ local failed_count=0
263
+
264
+ for tool in "${tools[@]}"; do
265
+ case "$tool" in
266
+ postgresql)
267
+ update_postgresql
268
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
269
+ ;;
270
+ mariadb)
271
+ update_mariadb
272
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
273
+ ;;
274
+ sqlite)
275
+ update_sqlite
276
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
277
+ ;;
278
+ mongodb)
279
+ update_mongodb
280
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
281
+ ;;
282
+ *)
283
+ log_warn "Unknown database: --$tool"
284
+ ;;
285
+ esac
286
+ done
287
+
288
+ echo
289
+ if [[ $updated_count -gt 0 ]]; then
290
+ log_success "$updated_count database(s) updated"
291
+ fi
292
+ if [[ $failed_count -gt 0 ]]; then
293
+ log_warn "$failed_count database(s) failed to update"
294
+ fi
295
+ echo
296
+ ;;
297
+ dev)
298
+ import "@/tools/dev/all"
299
+ local updated_count=0
300
+ local failed_count=0
301
+
302
+ for tool in "${tools[@]}"; do
303
+ case "$tool" in
304
+ gh)
305
+ update_gh
306
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
307
+ ;;
308
+ wget)
309
+ update_wget
310
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
311
+ ;;
312
+ curl)
313
+ update_curl
314
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
315
+ ;;
316
+ lsd)
317
+ update_lsd
318
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
319
+ ;;
320
+ bat)
321
+ update_bat
322
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
323
+ ;;
324
+ proot)
325
+ update_proot
326
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
327
+ ;;
328
+ ncurses)
329
+ update_ncurses
330
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
331
+ ;;
332
+ tmate)
333
+ update_tmate
334
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
335
+ ;;
336
+ cloudflared)
337
+ update_cloudflared
338
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
339
+ ;;
340
+ translate)
341
+ update_translate
342
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
343
+ ;;
344
+ html2text)
345
+ update_html2text
346
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
347
+ ;;
348
+ jq)
349
+ update_jq
350
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
351
+ ;;
352
+ bc)
353
+ update_bc
354
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
355
+ ;;
356
+ tree)
357
+ update_tree
358
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
359
+ ;;
360
+ fzf)
361
+ update_fzf
362
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
363
+ ;;
364
+ imagemagick)
365
+ update_imagemagick
366
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
367
+ ;;
368
+ shfmt)
369
+ update_shfmt
370
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
371
+ ;;
372
+ make)
373
+ update_make
374
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
375
+ ;;
376
+ udocker)
377
+ update_udocker
378
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
379
+ ;;
380
+ *)
381
+ log_warn "Unknown tool: --$tool"
382
+ ;;
383
+ esac
384
+ done
385
+
386
+ echo
387
+ if [[ $updated_count -gt 0 ]]; then
388
+ log_success "$updated_count tool(s) updated"
389
+ fi
390
+ if [[ $failed_count -gt 0 ]]; then
391
+ log_warn "$failed_count tool(s) failed to update"
392
+ fi
393
+ echo
394
+ ;;
395
+ npm)
396
+ import "@/tools/npm/all"
397
+ local updated_count=0
398
+ local failed_count=0
399
+
400
+ for tool in "${tools[@]}"; do
401
+ case "$tool" in
402
+ typescript)
403
+ update_typescript
404
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
405
+ ;;
406
+ nestjs)
407
+ update_nestjs
408
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
409
+ ;;
410
+ prettier)
411
+ update_prettier
412
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
413
+ ;;
414
+ live-server)
415
+ update_live_server
416
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
417
+ ;;
418
+ localtunnel)
419
+ update_localtunnel
420
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
421
+ ;;
422
+ vercel)
423
+ update_vercel
424
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
425
+ ;;
426
+ markserv)
427
+ update_markserv
428
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
429
+ ;;
430
+ psqlformat)
431
+ update_psqlformat
432
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
433
+ ;;
434
+ ncu)
435
+ update_ncu
436
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
437
+ ;;
438
+ ngrok)
439
+ update_ngrok
440
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
441
+ ;;
442
+ *)
443
+ log_warn "Unknown node module: --$tool"
444
+ ;;
445
+ esac
446
+ done
447
+
448
+ echo
449
+ if [[ $updated_count -gt 0 ]]; then
450
+ log_success "$updated_count Node.js module(s) updated"
451
+ fi
452
+ if [[ $failed_count -gt 0 ]]; then
453
+ log_warn "$failed_count module(s) failed to update"
454
+ fi
455
+ echo
456
+ ;;
457
+ lang)
458
+ import "@/tools/lang/all"
459
+ local updated_count=0
460
+ local failed_count=0
461
+
462
+ for tool in "${tools[@]}"; do
463
+ case "$tool" in
464
+ nodejs)
465
+ update_npmjs
466
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
467
+ ;;
468
+ python)
469
+ update_python
470
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
471
+ ;;
472
+ perl)
473
+ update_perl
474
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
475
+ ;;
476
+ php)
477
+ update_php
478
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
479
+ ;;
480
+ rust)
481
+ update_rust
482
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
483
+ ;;
484
+ clang)
485
+ update_clang
486
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
487
+ ;;
488
+ golang)
489
+ update_golang
490
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
491
+ ;;
492
+ *)
493
+ log_warn "Unknown language: --$tool"
494
+ ;;
495
+ esac
496
+ done
497
+
498
+ echo
499
+ if [[ $updated_count -gt 0 ]]; then
500
+ log_success "$updated_count language(s) updated"
501
+ fi
502
+ if [[ $failed_count -gt 0 ]]; then
503
+ log_warn "$failed_count language(s) failed to update"
504
+ fi
505
+ echo
506
+ ;;
507
+ shell)
508
+ import "@/tools/shell/all"
509
+ local updated_count=0
510
+ local failed_count=0
511
+
512
+ for tool in "${tools[@]}"; do
513
+ case "$tool" in
514
+ powerlevel10k)
515
+ update_powerlevel10k
516
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
517
+ ;;
518
+ zsh-defer)
519
+ update_zsh_defer
520
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
521
+ ;;
522
+ zsh-autosuggestions)
523
+ update_zsh_autosuggestions
524
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
525
+ ;;
526
+ zsh-syntax-highlighting)
527
+ update_zsh_syntax_highlighting
528
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
529
+ ;;
530
+ history-substring)
531
+ update_history_substring
532
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
533
+ ;;
534
+ zsh-completions)
535
+ update_zsh_completions
536
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
537
+ ;;
538
+ fzf-tab)
539
+ update_fzf_tab
540
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
541
+ ;;
542
+ you-should-use)
543
+ update_you_should_use
544
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
545
+ ;;
546
+ zsh-autopair)
547
+ update_zsh_autopair
548
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
549
+ ;;
550
+ better-npm)
551
+ update_better_npm
552
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
553
+ ;;
554
+ *)
555
+ log_warn "Unknown plugin: --$tool"
556
+ ;;
557
+ esac
558
+ done
559
+
560
+ echo
561
+ if [[ $updated_count -gt 0 ]]; then
562
+ log_success "$updated_count plugin(s) updated"
563
+ fi
564
+ if [[ $failed_count -gt 0 ]]; then
565
+ log_warn "$failed_count plugin(s) failed to update"
566
+ fi
567
+ echo
568
+ ;;
569
+ editor)
570
+ import "@/tools/editor/all"
571
+ local updated_count=0
572
+ local failed_count=0
573
+
574
+ for tool in "${tools[@]}"; do
575
+ case "$tool" in
576
+ neovim)
577
+ update_neovim
578
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
579
+ ;;
580
+ nvchad)
581
+ update_nvchad
582
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
583
+ ;;
584
+ *)
585
+ log_warn "Unknown editor component: --$tool"
586
+ ;;
587
+ esac
588
+ done
589
+
590
+ echo
591
+ if [[ $updated_count -gt 0 ]]; then
592
+ log_success "$updated_count editor component(s) updated"
593
+ fi
594
+ if [[ $failed_count -gt 0 ]]; then
595
+ log_warn "$failed_count component(s) failed to update"
596
+ fi
597
+ echo
598
+ ;;
599
+ ui)
600
+ import "@/tools/ui/all"
601
+ local updated_count=0
602
+ local failed_count=0
603
+
604
+ for tool in "${tools[@]}"; do
605
+ case "$tool" in
606
+ font)
607
+ update_font
608
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
609
+ ;;
610
+ extra-keys)
611
+ update_extra_keys
612
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
613
+ ;;
614
+ cursor)
615
+ update_cursor
616
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
617
+ ;;
618
+ banner)
619
+ update_banner
620
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
621
+ ;;
622
+ *)
623
+ log_warn "Unknown UI component: --$tool"
624
+ ;;
625
+ esac
626
+ done
627
+
628
+ echo
629
+ if [[ $updated_count -gt 0 ]]; then
630
+ log_success "$updated_count UI component(s) updated"
631
+ fi
632
+ if [[ $failed_count -gt 0 ]]; then
633
+ log_warn "$failed_count component(s) failed to update"
634
+ fi
635
+ echo
636
+ ;;
637
+ auto)
638
+ import "@/tools/auto/all"
639
+ local updated_count=0
640
+ local failed_count=0
641
+
642
+ for tool in "${tools[@]}"; do
643
+ case "$tool" in
644
+ n8n)
645
+ update_n8n
646
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
647
+ ;;
648
+ *)
649
+ log_warn "Unknown automation tool: --$tool"
650
+ ;;
651
+ esac
652
+ done
653
+
654
+ echo
655
+ if [[ $updated_count -gt 0 ]]; then
656
+ log_success "$updated_count automation tool(s) updated"
657
+ fi
658
+ if [[ $failed_count -gt 0 ]]; then
659
+ log_warn "$failed_count tool(s) failed to update"
660
+ fi
661
+ echo
662
+ ;;
663
+ deploy)
664
+ import "@/tools/deploy/all"
665
+ local updated_count=0
666
+ local failed_count=0
667
+
668
+ for tool in "${tools[@]}"; do
669
+ case "$tool" in
670
+ vercel)
671
+ update_vercel
672
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
673
+ ;;
674
+ railway)
675
+ update_railway
676
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
677
+ ;;
678
+ netlify)
679
+ update_netlify
680
+ case $? in 0) ((updated_count++));; 1) ((failed_count++));; esac
681
+ ;;
682
+ *)
683
+ log_warn "Unknown deploy tool: --$tool"
684
+ ;;
685
+ esac
686
+ done
687
+
688
+ echo
689
+ if [[ $updated_count -gt 0 ]]; then
690
+ log_success "$updated_count deploy CLI(s) updated"
691
+ fi
692
+ if [[ $failed_count -gt 0 ]]; then
693
+ log_warn "$failed_count CLI(s) failed to update"
694
+ fi
695
+ echo
696
+ ;;
697
+ *)
698
+ log_warn "Unknown update target: $module"
699
+ echo "Run 'omni update' to see available targets"
700
+ ;;
701
+ esac
702
+ }
703
+
704
+ # Update Omni
705
+ update_omni() {
706
+ separator
707
+ box "◈ UPDATING OMNI CATALYST ◈"
708
+ separator
709
+ echo
710
+
711
+ if [[ -d "$OMNI_PATH/../.git" ]]; then
712
+ loading "Updating Omni" _update_omni_repo
713
+ local rc=$?
714
+
715
+ echo
716
+ if [[ $rc -eq 0 ]]; then
717
+ log_success "Omni updated"
718
+ elif [[ $rc -eq 2 ]]; then
719
+ log_success "Omni is already up to date"
720
+ else
721
+ log_error "Failed to update Omni"
722
+ log_info "Check your internet connection or run git pull manually"
723
+ fi
724
+
725
+ rm -f "$OMNI_CACHE/new_version" "$OMNI_CACHE/last_version_check"
726
+ else
727
+ log_warn "Not a git repository, cannot update"
728
+ log_info "If you installed via curl, reinstall with:"
729
+ echo " curl -fsSL https://raw.githubusercontent.com/israel676767/omni/main/install.sh | bash"
730
+ fi
731
+
732
+ echo
733
+ }
734
+
735
+ _update_omni_repo() {
736
+ local repo_dir="$OMNI_PATH/.."
737
+ local old_head
738
+
739
+ old_head=$(git -C "$repo_dir" rev-parse HEAD 2>/dev/null)
740
+
741
+ if ! git -C "$repo_dir" pull --ff-only &>/dev/null; then
742
+ return 1
743
+ fi
744
+
745
+ if [[ "$(git -C "$repo_dir" rev-parse HEAD 2>/dev/null)" == "$old_head" ]]; then
746
+ return 2
747
+ fi
748
+
749
+ git -C "$repo_dir" log --oneline --no-decorate "$old_head..HEAD" 2>/dev/null | while IFS= read -r line; do
750
+ printf " ${CYAN}▸${NC} %s\n" "$line"
751
+ done
752
+
753
+ return 0
754
+ }