argus-cli 0.1.0__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.
- argus_cli-0.1.0/.gitignore +191 -0
- argus_cli-0.1.0/PKG-INFO +99 -0
- argus_cli-0.1.0/README.md +56 -0
- argus_cli-0.1.0/argus_cli/__init__.py +10 -0
- argus_cli-0.1.0/argus_cli/__main__.py +6 -0
- argus_cli-0.1.0/argus_cli/_console.py +47 -0
- argus_cli-0.1.0/argus_cli/client.py +446 -0
- argus_cli-0.1.0/argus_cli/commands/__init__.py +1 -0
- argus_cli-0.1.0/argus_cli/commands/audit.py +119 -0
- argus_cli-0.1.0/argus_cli/commands/auth.py +112 -0
- argus_cli-0.1.0/argus_cli/commands/backends.py +395 -0
- argus_cli-0.1.0/argus_cli/commands/batch.py +121 -0
- argus_cli-0.1.0/argus_cli/commands/config_cmd.py +171 -0
- argus_cli-0.1.0/argus_cli/commands/config_server.py +305 -0
- argus_cli-0.1.0/argus_cli/commands/containers.py +392 -0
- argus_cli-0.1.0/argus_cli/commands/events.py +93 -0
- argus_cli-0.1.0/argus_cli/commands/health.py +150 -0
- argus_cli-0.1.0/argus_cli/commands/operations.py +198 -0
- argus_cli-0.1.0/argus_cli/commands/pods.py +299 -0
- argus_cli-0.1.0/argus_cli/commands/prompts.py +128 -0
- argus_cli-0.1.0/argus_cli/commands/registry.py +255 -0
- argus_cli-0.1.0/argus_cli/commands/resources.py +78 -0
- argus_cli-0.1.0/argus_cli/commands/secrets.py +194 -0
- argus_cli-0.1.0/argus_cli/commands/server.py +269 -0
- argus_cli-0.1.0/argus_cli/commands/skills.py +204 -0
- argus_cli-0.1.0/argus_cli/commands/tools.py +208 -0
- argus_cli-0.1.0/argus_cli/commands/workflows.py +147 -0
- argus_cli-0.1.0/argus_cli/config.py +242 -0
- argus_cli-0.1.0/argus_cli/daemon_client.py +394 -0
- argus_cli-0.1.0/argus_cli/design.py +77 -0
- argus_cli-0.1.0/argus_cli/main.py +253 -0
- argus_cli-0.1.0/argus_cli/output.py +290 -0
- argus_cli-0.1.0/argus_cli/repl/__init__.py +29 -0
- argus_cli-0.1.0/argus_cli/repl/completions.py +166 -0
- argus_cli-0.1.0/argus_cli/repl/dispatch.py +105 -0
- argus_cli-0.1.0/argus_cli/repl/handlers.py +292 -0
- argus_cli-0.1.0/argus_cli/repl/loop.py +170 -0
- argus_cli-0.1.0/argus_cli/repl/state.py +109 -0
- argus_cli-0.1.0/argus_cli/repl/toolbar.py +79 -0
- argus_cli-0.1.0/argus_cli/theme.py +256 -0
- argus_cli-0.1.0/argus_cli/themes/catppuccin-frappe.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/catppuccin-latte.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/catppuccin-macchiato.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/catppuccin-mocha.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/dracula.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/everforest.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/gruvbox.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/kanagawa.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/monokai.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/nord.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/one-dark.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/rose-pine-moon.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/rose-pine.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/solarized-dark.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/solarized-light.yaml +18 -0
- argus_cli-0.1.0/argus_cli/themes/tokyo-night.yaml +18 -0
- argus_cli-0.1.0/argus_cli/tui/__init__.py +19 -0
- argus_cli-0.1.0/argus_cli/tui/_config_ops.py +119 -0
- argus_cli-0.1.0/argus_cli/tui/_constants.py +23 -0
- argus_cli-0.1.0/argus_cli/tui/_dev_launch.py +81 -0
- argus_cli-0.1.0/argus_cli/tui/_error_utils.py +81 -0
- argus_cli-0.1.0/argus_cli/tui/api_client.py +17 -0
- argus_cli-0.1.0/argus_cli/tui/app.py +1258 -0
- argus_cli-0.1.0/argus_cli/tui/argus.tcss +589 -0
- argus_cli-0.1.0/argus_cli/tui/commands.py +125 -0
- argus_cli-0.1.0/argus_cli/tui/events.py +74 -0
- argus_cli-0.1.0/argus_cli/tui/screens/__init__.py +25 -0
- argus_cli-0.1.0/argus_cli/tui/screens/_base_log.py +143 -0
- argus_cli-0.1.0/argus_cli/tui/screens/audit_log.py +226 -0
- argus_cli-0.1.0/argus_cli/tui/screens/backend_config.py +461 -0
- argus_cli-0.1.0/argus_cli/tui/screens/backend_detail.py +205 -0
- argus_cli-0.1.0/argus_cli/tui/screens/base.py +59 -0
- argus_cli-0.1.0/argus_cli/tui/screens/catalog_browser.py +227 -0
- argus_cli-0.1.0/argus_cli/tui/screens/client_config.py +244 -0
- argus_cli-0.1.0/argus_cli/tui/screens/containers.py +248 -0
- argus_cli-0.1.0/argus_cli/tui/screens/dashboard.py +67 -0
- argus_cli-0.1.0/argus_cli/tui/screens/elicitation.py +83 -0
- argus_cli-0.1.0/argus_cli/tui/screens/exit_modal.py +104 -0
- argus_cli-0.1.0/argus_cli/tui/screens/export_import.py +376 -0
- argus_cli-0.1.0/argus_cli/tui/screens/health.py +440 -0
- argus_cli-0.1.0/argus_cli/tui/screens/kubernetes.py +260 -0
- argus_cli-0.1.0/argus_cli/tui/screens/operations.py +144 -0
- argus_cli-0.1.0/argus_cli/tui/screens/registry.py +262 -0
- argus_cli-0.1.0/argus_cli/tui/screens/security.py +240 -0
- argus_cli-0.1.0/argus_cli/tui/screens/server_detail.py +170 -0
- argus_cli-0.1.0/argus_cli/tui/screens/server_logs.py +232 -0
- argus_cli-0.1.0/argus_cli/tui/screens/settings.py +494 -0
- argus_cli-0.1.0/argus_cli/tui/screens/setup_wizard.py +714 -0
- argus_cli-0.1.0/argus_cli/tui/screens/skills.py +472 -0
- argus_cli-0.1.0/argus_cli/tui/screens/theme_picker.py +116 -0
- argus_cli-0.1.0/argus_cli/tui/screens/tool_editor.py +327 -0
- argus_cli-0.1.0/argus_cli/tui/screens/tools.py +268 -0
- argus_cli-0.1.0/argus_cli/tui/server_manager.py +312 -0
- argus_cli-0.1.0/argus_cli/tui/settings.py +92 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/__init__.py +15 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/backend_status.py +223 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/capability_tables.py +204 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/container_logs.py +112 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/container_stats.py +125 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/container_table.py +104 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/elicitation_form.py +133 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/event_log.py +124 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/filter_bar.py +176 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/filter_toggle.py +64 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/health_panel.py +263 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/install_panel.py +125 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/jump_overlay.py +180 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/middleware_panel.py +124 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/module_container.py +57 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/network_panel.py +135 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/optimizer_panel.py +213 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/otel_panel.py +169 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/param_editor.py +156 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/percentage_bar.py +110 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/pod_table.py +50 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/quick_actions.py +94 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/registry_browser.py +299 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/registry_panel.py +137 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/secrets_panel.py +276 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/server_connections_panel.py +125 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/server_groups.py +108 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/server_info.py +127 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/server_selector.py +98 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/sessions_panel.py +201 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/sync_status.py +164 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/tool_ops_panel.py +167 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/tool_preview.py +65 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/toolbar.py +101 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/tplot.py +288 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/version_badge.py +47 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/version_drift.py +216 -0
- argus_cli-0.1.0/argus_cli/tui/widgets/workflows_panel.py +590 -0
- argus_cli-0.1.0/argus_cli/widgets/__init__.py +23 -0
- argus_cli-0.1.0/argus_cli/widgets/banner.py +35 -0
- argus_cli-0.1.0/argus_cli/widgets/panels.py +80 -0
- argus_cli-0.1.0/argus_cli/widgets/spinners.py +83 -0
- argus_cli-0.1.0/argus_cli/widgets/tables.py +84 -0
- argus_cli-0.1.0/pyproject.toml +137 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.venv*
|
|
11
|
+
.Python
|
|
12
|
+
build/
|
|
13
|
+
develop-eggs/
|
|
14
|
+
dist/
|
|
15
|
+
downloads/
|
|
16
|
+
eggs/
|
|
17
|
+
.eggs/
|
|
18
|
+
lib/
|
|
19
|
+
lib64/
|
|
20
|
+
parts/
|
|
21
|
+
sdist/
|
|
22
|
+
var/
|
|
23
|
+
wheels/
|
|
24
|
+
share/python-wheels/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.installed.cfg
|
|
27
|
+
*.egg
|
|
28
|
+
MANIFEST
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
# Usually these files are written by a python script from a template
|
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
33
|
+
*.manifest
|
|
34
|
+
*.spec
|
|
35
|
+
|
|
36
|
+
# Installer logs
|
|
37
|
+
pip-log.txt
|
|
38
|
+
pip-delete-this-directory.txt
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.nox/
|
|
44
|
+
.coverage
|
|
45
|
+
.coverage.*
|
|
46
|
+
.cache
|
|
47
|
+
nosetests.xml
|
|
48
|
+
coverage.xml
|
|
49
|
+
*.cover
|
|
50
|
+
*.py,cover
|
|
51
|
+
.hypothesis/
|
|
52
|
+
.pytest_cache/
|
|
53
|
+
cover/
|
|
54
|
+
|
|
55
|
+
# Translations
|
|
56
|
+
*.mo
|
|
57
|
+
*.pot
|
|
58
|
+
|
|
59
|
+
# Django stuff:
|
|
60
|
+
*.log
|
|
61
|
+
local_settings.py
|
|
62
|
+
db.sqlite3
|
|
63
|
+
db.sqlite3-journal
|
|
64
|
+
|
|
65
|
+
# Flask stuff:
|
|
66
|
+
instance/
|
|
67
|
+
.webassets-cache
|
|
68
|
+
|
|
69
|
+
# Scrapy stuff:
|
|
70
|
+
.scrapy
|
|
71
|
+
|
|
72
|
+
# Sphinx documentation
|
|
73
|
+
docs/_build/
|
|
74
|
+
|
|
75
|
+
# PyBuilder
|
|
76
|
+
.pybuilder/
|
|
77
|
+
target/
|
|
78
|
+
|
|
79
|
+
# Jupyter Notebook
|
|
80
|
+
.ipynb_checkpoints
|
|
81
|
+
|
|
82
|
+
# IPython
|
|
83
|
+
profile_default/
|
|
84
|
+
ipython_config.py
|
|
85
|
+
|
|
86
|
+
# pyenv
|
|
87
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
88
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
89
|
+
# .python-version
|
|
90
|
+
|
|
91
|
+
# pipenv
|
|
92
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
93
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
94
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
95
|
+
# install all needed dependencies.
|
|
96
|
+
#Pipfile.lock
|
|
97
|
+
|
|
98
|
+
# UV
|
|
99
|
+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
|
|
100
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
101
|
+
# commonly ignored for libraries.
|
|
102
|
+
#uv.lock
|
|
103
|
+
|
|
104
|
+
# poetry
|
|
105
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
106
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
107
|
+
# commonly ignored for libraries.
|
|
108
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
109
|
+
#poetry.lock
|
|
110
|
+
|
|
111
|
+
# pdm
|
|
112
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
113
|
+
#pdm.lock
|
|
114
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
115
|
+
# in version control.
|
|
116
|
+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
|
|
117
|
+
.pdm.toml
|
|
118
|
+
.pdm-python
|
|
119
|
+
.pdm-build/
|
|
120
|
+
|
|
121
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
122
|
+
__pypackages__/
|
|
123
|
+
|
|
124
|
+
# Celery stuff
|
|
125
|
+
celerybeat-schedule
|
|
126
|
+
celerybeat.pid
|
|
127
|
+
|
|
128
|
+
# PID files
|
|
129
|
+
*.pid
|
|
130
|
+
|
|
131
|
+
# SageMath parsed files
|
|
132
|
+
*.sage.py
|
|
133
|
+
|
|
134
|
+
# Environments
|
|
135
|
+
.env
|
|
136
|
+
.venv
|
|
137
|
+
env/
|
|
138
|
+
venv/
|
|
139
|
+
ENV/
|
|
140
|
+
env.bak/
|
|
141
|
+
venv.bak/
|
|
142
|
+
|
|
143
|
+
# Spyder project settings
|
|
144
|
+
.spyderproject
|
|
145
|
+
.spyproject
|
|
146
|
+
|
|
147
|
+
# Rope project settings
|
|
148
|
+
.ropeproject
|
|
149
|
+
|
|
150
|
+
# mkdocs documentation
|
|
151
|
+
/site
|
|
152
|
+
|
|
153
|
+
# mypy
|
|
154
|
+
.mypy_cache/
|
|
155
|
+
.dmypy.json
|
|
156
|
+
dmypy.json
|
|
157
|
+
mypy.json
|
|
158
|
+
reports/
|
|
159
|
+
|
|
160
|
+
# Pyre type checker
|
|
161
|
+
.pyre/
|
|
162
|
+
|
|
163
|
+
# pytype static type analyzer
|
|
164
|
+
.pytype/
|
|
165
|
+
|
|
166
|
+
# Cython debug symbols
|
|
167
|
+
cython_debug/
|
|
168
|
+
|
|
169
|
+
# PyCharm
|
|
170
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
171
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
172
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
173
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
174
|
+
#.idea/
|
|
175
|
+
|
|
176
|
+
# Ruff stuff:
|
|
177
|
+
.ruff_cache/
|
|
178
|
+
|
|
179
|
+
# PyPI configuration file
|
|
180
|
+
.pypirc
|
|
181
|
+
*config.yaml
|
|
182
|
+
.vscode
|
|
183
|
+
logs/*
|
|
184
|
+
|
|
185
|
+
# Session metadata
|
|
186
|
+
.argus/
|
|
187
|
+
|
|
188
|
+
# Snyk Security Extension
|
|
189
|
+
.github/instructions/snyk_rules.instructions.md
|
|
190
|
+
.snyk
|
|
191
|
+
.typos.toml
|
argus_cli-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: argus-cli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Interactive CLI for Argus MCP — dual-mode REPL + one-shot commands
|
|
5
|
+
Project-URL: Repository, https://github.com/diaz3618/argus-mcp
|
|
6
|
+
Author: Daniel Diaz Santiago
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Keywords: argus,cli,mcp,repl
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
19
|
+
Classifier: Typing :: Typed
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Requires-Dist: argus-mcp
|
|
22
|
+
Requires-Dist: httpx-sse>=0.4.0
|
|
23
|
+
Requires-Dist: httpx>=0.28.0
|
|
24
|
+
Requires-Dist: prompt-toolkit>=3.0.50
|
|
25
|
+
Requires-Dist: pydantic>=2.10.0
|
|
26
|
+
Requires-Dist: python-dotenv>=1.1.0
|
|
27
|
+
Requires-Dist: pyyaml>=6.0.2
|
|
28
|
+
Requires-Dist: rich>=14.0.0
|
|
29
|
+
Requires-Dist: shellingham>=1.5.4
|
|
30
|
+
Requires-Dist: tabulate>=0.9
|
|
31
|
+
Requires-Dist: typer>=0.15.0
|
|
32
|
+
Requires-Dist: typing-extensions>=4.12.0; python_version < '3.11'
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: mypy>=1.15; extra == 'dev'
|
|
35
|
+
Requires-Dist: pytest-asyncio>=0.25.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: pytest-cov>=6.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: pytest>=8.3; extra == 'dev'
|
|
38
|
+
Requires-Dist: ruff>=0.11.0; extra == 'dev'
|
|
39
|
+
Provides-Extra: tui
|
|
40
|
+
Requires-Dist: textual-plotext>=1.0.0; extra == 'tui'
|
|
41
|
+
Requires-Dist: textual>=1.0.0; extra == 'tui'
|
|
42
|
+
Description-Content-Type: text/markdown
|
|
43
|
+
|
|
44
|
+
# Argus CLI
|
|
45
|
+
|
|
46
|
+
Interactive CLI for [Argus MCP](https://github.com/diaz3618/argus-mcp) — dual-mode REPL + one-shot commands.
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
pip install argus-cli # REPL + one-shot CLI
|
|
52
|
+
pip install argus-cli[tui] # adds TUI frontend
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Usage
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
argus # launch interactive REPL
|
|
59
|
+
argus status # one-shot command
|
|
60
|
+
argus tui # launch TUI (requires tui extra)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Entry Points
|
|
64
|
+
|
|
65
|
+
| Command | Description |
|
|
66
|
+
|---------|-------------|
|
|
67
|
+
| `argus` | Main CLI / interactive REPL |
|
|
68
|
+
| `argus-cli` | Alias for `argus` |
|
|
69
|
+
| `argus-tui` | Launch the TUI frontend (requires `tui` extra) |
|
|
70
|
+
|
|
71
|
+
## Command Groups
|
|
72
|
+
|
|
73
|
+
| Group | Description |
|
|
74
|
+
|-------|-------------|
|
|
75
|
+
| `status` | Server status overview |
|
|
76
|
+
| `health` | Health and readiness probes |
|
|
77
|
+
| `backends` | List and inspect backend connections |
|
|
78
|
+
| `tools` | Browse and call aggregated MCP tools |
|
|
79
|
+
| `resources` | Browse and read aggregated MCP resources |
|
|
80
|
+
| `prompts` | Browse aggregated MCP prompts |
|
|
81
|
+
| `events` | View recent server events |
|
|
82
|
+
| `sessions` | List active MCP client sessions |
|
|
83
|
+
| `config` | View server configuration |
|
|
84
|
+
| `config-server` | Retrieve running server config |
|
|
85
|
+
| `operations` | Reload, reconnect, and shutdown |
|
|
86
|
+
| `batch` | Fetch combined status/backends/capabilities/events |
|
|
87
|
+
| `auth` | Authentication status and re-auth |
|
|
88
|
+
| `audit` | View audit log entries |
|
|
89
|
+
| `registry` | Search external MCP server registries |
|
|
90
|
+
| `skills` | List, enable, and disable skills |
|
|
91
|
+
| `workflows` | List and manage workflows |
|
|
92
|
+
| `secrets` | Manage encrypted secrets |
|
|
93
|
+
| `containers` | Docker container management (via argusd) |
|
|
94
|
+
| `pods` | Kubernetes pod management (via argusd) |
|
|
95
|
+
| `server` | Start/stop argus-mcp server |
|
|
96
|
+
|
|
97
|
+
## Documentation
|
|
98
|
+
|
|
99
|
+
See the full [CLI Reference](../../docs/cli/) and [REPL Guide](../../docs/cli/repl.md).
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Argus CLI
|
|
2
|
+
|
|
3
|
+
Interactive CLI for [Argus MCP](https://github.com/diaz3618/argus-mcp) — dual-mode REPL + one-shot commands.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install argus-cli # REPL + one-shot CLI
|
|
9
|
+
pip install argus-cli[tui] # adds TUI frontend
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
argus # launch interactive REPL
|
|
16
|
+
argus status # one-shot command
|
|
17
|
+
argus tui # launch TUI (requires tui extra)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Entry Points
|
|
21
|
+
|
|
22
|
+
| Command | Description |
|
|
23
|
+
|---------|-------------|
|
|
24
|
+
| `argus` | Main CLI / interactive REPL |
|
|
25
|
+
| `argus-cli` | Alias for `argus` |
|
|
26
|
+
| `argus-tui` | Launch the TUI frontend (requires `tui` extra) |
|
|
27
|
+
|
|
28
|
+
## Command Groups
|
|
29
|
+
|
|
30
|
+
| Group | Description |
|
|
31
|
+
|-------|-------------|
|
|
32
|
+
| `status` | Server status overview |
|
|
33
|
+
| `health` | Health and readiness probes |
|
|
34
|
+
| `backends` | List and inspect backend connections |
|
|
35
|
+
| `tools` | Browse and call aggregated MCP tools |
|
|
36
|
+
| `resources` | Browse and read aggregated MCP resources |
|
|
37
|
+
| `prompts` | Browse aggregated MCP prompts |
|
|
38
|
+
| `events` | View recent server events |
|
|
39
|
+
| `sessions` | List active MCP client sessions |
|
|
40
|
+
| `config` | View server configuration |
|
|
41
|
+
| `config-server` | Retrieve running server config |
|
|
42
|
+
| `operations` | Reload, reconnect, and shutdown |
|
|
43
|
+
| `batch` | Fetch combined status/backends/capabilities/events |
|
|
44
|
+
| `auth` | Authentication status and re-auth |
|
|
45
|
+
| `audit` | View audit log entries |
|
|
46
|
+
| `registry` | Search external MCP server registries |
|
|
47
|
+
| `skills` | List, enable, and disable skills |
|
|
48
|
+
| `workflows` | List and manage workflows |
|
|
49
|
+
| `secrets` | Manage encrypted secrets |
|
|
50
|
+
| `containers` | Docker container management (via argusd) |
|
|
51
|
+
| `pods` | Kubernetes pod management (via argusd) |
|
|
52
|
+
| `server` | Start/stop argus-mcp server |
|
|
53
|
+
|
|
54
|
+
## Documentation
|
|
55
|
+
|
|
56
|
+
See the full [CLI Reference](../../docs/cli/) and [REPL Guide](../../docs/cli/repl.md).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""Argus CLI — Interactive command-line interface for Argus MCP."""
|
|
2
|
+
|
|
3
|
+
__all__ = ["__version__"]
|
|
4
|
+
|
|
5
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
6
|
+
|
|
7
|
+
try:
|
|
8
|
+
__version__ = version("argus-cli")
|
|
9
|
+
except PackageNotFoundError:
|
|
10
|
+
__version__ = "0.0.0-dev"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""Console singleton — shared by theme.py and output.py to avoid circular imports.
|
|
2
|
+
|
|
3
|
+
The module-global singleton pattern is intentional: Rich Console configuration
|
|
4
|
+
(theme, no_color) must be consistent across all output paths. ``reset_console()``
|
|
5
|
+
exists to support tests that need to reconfigure the console between runs.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
__all__ = ["get_console", "reset_console"]
|
|
11
|
+
|
|
12
|
+
from rich.console import Console
|
|
13
|
+
|
|
14
|
+
_console: Console | None = None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def get_console(no_color: bool | None = None) -> Console:
|
|
18
|
+
"""Get or create the Rich console singleton.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
no_color: Override color setting. When ``None``, reads from
|
|
22
|
+
the active CLI config.
|
|
23
|
+
"""
|
|
24
|
+
global _console
|
|
25
|
+
if _console is None:
|
|
26
|
+
from argus_cli.theme import ARGUS_THEME, _ensure_loaded
|
|
27
|
+
|
|
28
|
+
_ensure_loaded()
|
|
29
|
+
if no_color is None:
|
|
30
|
+
from argus_cli.config import get_config
|
|
31
|
+
|
|
32
|
+
try:
|
|
33
|
+
no_color = get_config().no_color
|
|
34
|
+
except RuntimeError:
|
|
35
|
+
no_color = False
|
|
36
|
+
_console = Console(
|
|
37
|
+
theme=ARGUS_THEME,
|
|
38
|
+
no_color=no_color,
|
|
39
|
+
stderr=False,
|
|
40
|
+
)
|
|
41
|
+
return _console
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def reset_console() -> None:
|
|
45
|
+
"""Reset console singleton so the next call picks up a new theme."""
|
|
46
|
+
global _console
|
|
47
|
+
_console = None
|