omni-ai-cli 1.2.0 → 1.3.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.
- package/README.md +4 -1
- package/docs/README.en.md +4 -1
- package/docs/README.es.md +4 -1
- package/docs/README.fr.md +4 -1
- package/omni_ai/cli.py +38 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
8
8
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
9
9
|
[](https://docs.npmjs.com/trusted-publishers)
|
|
10
|
+
[](https://github.com/samuelrms/omni-ai-cli/actions/workflows/coverage.yml)
|
|
10
11
|
[](LICENSE)
|
|
11
12
|

|
|
12
13
|

|
|
@@ -388,6 +389,8 @@ ai --install # instala as ferramentas que faltam (perg
|
|
|
388
389
|
ai --classify "prompt" # mostra como seria classificado
|
|
389
390
|
ai --log # últimas chamadas
|
|
390
391
|
ai doctor # diagnóstico de instalação, contas e chaves
|
|
392
|
+
ai --version # versão do Omni AI CLI
|
|
393
|
+
ai --completions zsh|bash # autocomplete do shell
|
|
391
394
|
```
|
|
392
395
|
|
|
393
396
|
---
|
|
@@ -449,7 +452,7 @@ python3 -m unittest discover -s tests -v
|
|
|
449
452
|
bash -n scripts/install.sh
|
|
450
453
|
```
|
|
451
454
|
|
|
452
|
-
**
|
|
455
|
+
**123 testes**: persistência e retomada de sessão, limite de contexto, permissão dos
|
|
453
456
|
arquivos, sessão aberta em dois terminais, leitura de eventos, cancelamento da árvore de
|
|
454
457
|
processos, paralelismo real, sandbox somente leitura, mascaramento de dados pessoais,
|
|
455
458
|
fallback OpenRouter → Codex, validação de modelos, armazenamento das chaves e o ciclo de vida das contas. Todos os
|
package/docs/README.en.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
8
8
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
9
9
|
[](https://docs.npmjs.com/trusted-publishers)
|
|
10
|
+
[](https://github.com/samuelrms/omni-ai-cli/actions/workflows/coverage.yml)
|
|
10
11
|
[](../LICENSE)
|
|
11
12
|

|
|
12
13
|

|
|
@@ -387,6 +388,8 @@ ai --install # installs the missing tools (asks first)
|
|
|
387
388
|
ai --classify "prompt" # shows how it would be classified
|
|
388
389
|
ai --log # latest calls
|
|
389
390
|
ai doctor # diagnose install, accounts and keys
|
|
391
|
+
ai --version # Omni AI CLI version
|
|
392
|
+
ai --completions zsh|bash # shell autocomplete
|
|
390
393
|
```
|
|
391
394
|
|
|
392
395
|
---
|
|
@@ -448,7 +451,7 @@ python3 -m unittest discover -s tests -v
|
|
|
448
451
|
bash -n scripts/install.sh
|
|
449
452
|
```
|
|
450
453
|
|
|
451
|
-
**
|
|
454
|
+
**123 tests**: session persistence and resume, context limit, file permissions, session
|
|
452
455
|
open in two terminals, event reading, process tree cancellation, real parallelism,
|
|
453
456
|
read-only sandbox, personal data masking, OpenRouter → Codex fallback, model
|
|
454
457
|
validation, key storage and the account lifecycle. All the
|
package/docs/README.es.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
8
8
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
9
9
|
[](https://docs.npmjs.com/trusted-publishers)
|
|
10
|
+
[](https://github.com/samuelrms/omni-ai-cli/actions/workflows/coverage.yml)
|
|
10
11
|
[](../LICENSE)
|
|
11
12
|

|
|
12
13
|

|
|
@@ -388,6 +389,8 @@ ai --install # instala las herramientas que faltan (pr
|
|
|
388
389
|
ai --classify "prompt" # muestra cómo se clasificaría
|
|
389
390
|
ai --log # últimas llamadas
|
|
390
391
|
ai doctor # diagnóstico de instalación, cuentas y claves
|
|
392
|
+
ai --version # versión de Omni AI CLI
|
|
393
|
+
ai --completions zsh|bash # autocompletado del shell
|
|
391
394
|
```
|
|
392
395
|
|
|
393
396
|
---
|
|
@@ -449,7 +452,7 @@ python3 -m unittest discover -s tests -v
|
|
|
449
452
|
bash -n scripts/install.sh
|
|
450
453
|
```
|
|
451
454
|
|
|
452
|
-
**
|
|
455
|
+
**123 pruebas**: persistencia y reanudación de sesión, límite de contexto, permisos de
|
|
453
456
|
los archivos, sesión abierta en dos terminales, lectura de eventos, cancelación del árbol
|
|
454
457
|
de procesos, paralelismo real, sandbox de solo lectura, enmascaramiento de datos
|
|
455
458
|
personales, fallback OpenRouter → Codex, validación de modelos, almacenamiento de las
|
package/docs/README.fr.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
8
8
|
[](https://www.npmjs.com/package/omni-ai-cli)
|
|
9
9
|
[](https://docs.npmjs.com/trusted-publishers)
|
|
10
|
+
[](https://github.com/samuelrms/omni-ai-cli/actions/workflows/coverage.yml)
|
|
10
11
|
[](../LICENSE)
|
|
11
12
|

|
|
12
13
|

|
|
@@ -397,6 +398,8 @@ ai --install # installe les outils manquants (demande
|
|
|
397
398
|
ai --classify "prompt" # montre la classification
|
|
398
399
|
ai --log # derniers appels
|
|
399
400
|
ai doctor # diagnostic installation, comptes et clés
|
|
401
|
+
ai --version # version d'Omni AI CLI
|
|
402
|
+
ai --completions zsh|bash # autocomplétion du shell
|
|
400
403
|
```
|
|
401
404
|
|
|
402
405
|
---
|
|
@@ -458,7 +461,7 @@ python3 -m unittest discover -s tests -v
|
|
|
458
461
|
bash -n scripts/install.sh
|
|
459
462
|
```
|
|
460
463
|
|
|
461
|
-
**
|
|
464
|
+
**123 tests** : persistance et reprise de session, limite de contexte, permissions des
|
|
462
465
|
fichiers, session ouverte dans deux terminaux, lecture des événements, annulation de
|
|
463
466
|
l'arbre de processus, parallélisme réel, sandbox en lecture seule, masquage des données
|
|
464
467
|
personnelles, fallback OpenRouter → Codex, validation des modèles, stockage des clés et
|
package/omni_ai/cli.py
CHANGED
|
@@ -690,6 +690,37 @@ def ai_version():
|
|
|
690
690
|
return '?'
|
|
691
691
|
|
|
692
692
|
|
|
693
|
+
def completion_words():
|
|
694
|
+
"""Every top-level word `ai` accepts, for shell completion."""
|
|
695
|
+
flags = ['--model', '--account', '--key', '--keys', '--sync', '--usage', '--limits', '--setup',
|
|
696
|
+
'--install', '--status', '--doctor', '--reset', '--log', '--classify', '--update',
|
|
697
|
+
'--mode', '--chat', '--resume', '--sessions', '--new', '--help', '--version', '--completions']
|
|
698
|
+
return flags + ['--' + name for name in TOOLS] + ['doctor']
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
def completions(shell):
|
|
702
|
+
"""A completion script for `ai`, printed for the user to source. Completes the top-level flags."""
|
|
703
|
+
words = ' '.join(completion_words())
|
|
704
|
+
if shell == 'bash':
|
|
705
|
+
say(f'''# Omni AI CLI bash completion. Install: ai --completions bash > ~/.ai-completion.bash
|
|
706
|
+
# then add to ~/.bashrc: source ~/.ai-completion.bash
|
|
707
|
+
_ai_complete() {{
|
|
708
|
+
local cur="${{COMP_WORDS[COMP_CWORD]}}"
|
|
709
|
+
COMPREPLY=( $(compgen -W "{words}" -- "$cur") )
|
|
710
|
+
}}
|
|
711
|
+
complete -F _ai_complete ai''')
|
|
712
|
+
return 0
|
|
713
|
+
if shell == 'zsh':
|
|
714
|
+
say(f'''#compdef ai
|
|
715
|
+
# Omni AI CLI zsh completion. Install: ai --completions zsh > ~/.zsh/_ai
|
|
716
|
+
# then ensure that dir is on $fpath before compinit in ~/.zshrc
|
|
717
|
+
_ai() {{ compadd -- {words} }}
|
|
718
|
+
compdef _ai ai''')
|
|
719
|
+
return 0
|
|
720
|
+
say(f'{RED}✗ Shell não suportado: {shell}. Use zsh ou bash.{NC}')
|
|
721
|
+
return 1
|
|
722
|
+
|
|
723
|
+
|
|
693
724
|
def doctor():
|
|
694
725
|
"""Health check: what is installed, logged in and configured, and what is missing. Returns 1 when
|
|
695
726
|
nothing can answer a request (no Claude login and no API key), 0 otherwise."""
|
|
@@ -987,6 +1018,8 @@ USAGE = f'''{BOLD}Uso:{NC}
|
|
|
987
1018
|
ai --install Instala as ferramentas que faltam (pergunta antes)
|
|
988
1019
|
ai --status | --doctor | --reset | --log | --classify "prompt"
|
|
989
1020
|
ai --update Atualizar para a versão mais nova
|
|
1021
|
+
ai --version Versão do Omni AI CLI
|
|
1022
|
+
ai --completions zsh|bash Script de autocomplete do shell
|
|
990
1023
|
'''
|
|
991
1024
|
|
|
992
1025
|
|
|
@@ -1037,6 +1070,11 @@ def main(argv):
|
|
|
1037
1070
|
return 0
|
|
1038
1071
|
elif arg in ('--doctor', 'doctor'):
|
|
1039
1072
|
return doctor()
|
|
1073
|
+
elif arg in ('--version', '-v'):
|
|
1074
|
+
say(ai_version())
|
|
1075
|
+
return 0
|
|
1076
|
+
elif arg == '--completions':
|
|
1077
|
+
return completions(argv[i + 1] if i + 1 < len(argv) else '')
|
|
1040
1078
|
elif arg in ('--setup', '--install'):
|
|
1041
1079
|
from . import onboarding
|
|
1042
1080
|
onboarding.main(install_missing=arg == '--install' or 'install' in argv[i + 1:])
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omni-ai-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "One chat for Claude Code, Codex, Antigravity and OpenRouter, with automatic routing, account fallback, API keys, permission modes and MCP/skill sync.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ai": "bin/ai.js",
|