velune-cli 0.9.1__tar.gz → 0.9.2__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.
- {velune_cli-0.9.1 → velune_cli-0.9.2}/PKG-INFO +235 -74
- velune_cli-0.9.2/README.md +420 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/docs/CHANGELOG.md +202 -63
- {velune_cli-0.9.1 → velune_cli-0.9.2}/pyproject.toml +59 -27
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/__init__.py +1 -1
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/__main__.py +2 -2
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/app.py +38 -1
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/repl.py +4 -8
- velune_cli-0.9.2/velune/main.py +54 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/llamacpp.py +7 -6
- velune_cli-0.9.1/README.md +0 -277
- velune_cli-0.9.1/velune/main.py +0 -9
- {velune_cli-0.9.1 → velune_cli-0.9.2}/.gitignore +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/LICENSE +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/linter.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/refactor.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/symbol_search.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/type_inferrer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/autocomplete.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/banner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/ask.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/base.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/chat.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/config.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/context.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/daemon.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/doctor.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/file_commands.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/init.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/mcp.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/memory.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/models.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/preflight.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/providers.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/retrieval.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/run.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/session.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/setup.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/trace.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/usage.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/workspace.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/context.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/councilmodel_ui.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/design.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/council_view.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/dashboard.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/memory_view.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/panels.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/pipeline.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/progress.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/themes.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/interrupts.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/main.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/model_selector.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/modes.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/picker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/pull_ui.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/rendering/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/rendering/error_panel.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/rendering/markdown.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/session_manager.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/sessions.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/slash_commands.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/slash_dispatcher.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/statusbar.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/stream_renderer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/theme.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/validators.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/workspaces.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/coder.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/planner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/reviewer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/arbitrator.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/architecture.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/budget.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/base.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/challenger.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/coder.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/critic_agent.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/critic_configs.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/critics.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/debate.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/factory.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/messages.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/planner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/reviewer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/synthesizer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/tiers.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council_runner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/firewall.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/intent.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/orchestrator.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/personality.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/state.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/style_resolver.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/verification.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/assembler.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/budget.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/extractive.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/mentions.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/prompt_adaptation.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/sections.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/token_counter.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/utilization.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/background.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/config/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/catalog.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/execution.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/memory.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/orchestration.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/provider.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/event_loop.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/logging.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/loop_detector.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/paths.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/redaction.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/retry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/runtime.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/startup_profiler.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/task_registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/trace.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/agent.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/context.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/inference.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/memory.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/model.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/provider.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/repository.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/task.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/workspace.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/daemon/client.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/daemon/server.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/daemon/transport.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/events.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/benchmarker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/cancellation.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/checkpointer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/command_spec.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/diff_preview.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/docker_sandbox.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/applier.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/base.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/search_replace.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/udiff.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/whole_file.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/executor.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/hunk_review.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/multi_diff.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/path_guard.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/planner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/rollback.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/sandbox.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/validator.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hardware/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hardware/detector.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hardware/profiles.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/config.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/dispatcher.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/executor.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/matcher.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/types.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/base.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/github.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/gitlab.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/bootstrap.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/config.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/entrypoint.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/health.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/lifecycle.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/modules.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/schemas.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/client.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/config.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/security.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/server.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/base.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/factory.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/http.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/sse.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/stdio.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/websocket.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/compaction.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/embedding_pipeline.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/lifecycle.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/prioritizer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/episodic_schema.sql +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/lancedb_store.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/sqlite_manager.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/sqlite_pool.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/episodic.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/graph.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/lineage.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/semantic.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/working.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/vitality.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/family.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/probes.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/profile_cache.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/profiler.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/scorer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/specializations.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/context_report.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/format.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/retrieval_report.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/trace_log.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/trace_sink.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/workspace_graph.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/engine.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/role_assignments.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/schemas.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/agent.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/command.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/manifest.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/scanner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/skill.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/hooks.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/loader.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/manager.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/runner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/sandbox.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/proactive/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/proactive/alerts.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/proactive/watcher.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/anthropic.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/cohere.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/deepseek.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/fireworks.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/google.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/groq.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/huggingface.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/lmstudio.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/mistral.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/nvidia.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/ollama.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/openai.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/openrouter.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/together.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/xai.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/base.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/benchmarker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/anthropic.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/benchmarks.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/classifier.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/fireworks.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/gguf.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/google.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/gpu.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/groq.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/huggingface.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/lmstudio.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/ollama.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/openai.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/openrouter.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/scanner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/together.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/xai.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/health.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/health_monitor.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/keystore.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/local_paths.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/local_resolver.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/ollama_manager.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/router.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/task_classifier.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/validation.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/py.typed +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/analyzer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/api_mapper.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/architecture_detector.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/ast_parser.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/blast_radius.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/boundary_classifier.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/cognition.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/commit_message.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/config_intelligence.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/context_builder.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/git_context.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/grapher.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/import_graph.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/incremental_indexer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/index_state.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/indexer.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/parser.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/project_type.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/rename_journal.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/scanner.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/schemas.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/symbol_registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/technology_detector.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/tracker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/watcher.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/cache.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/fast_path.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/graph.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/hybrid.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/keyword.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/pipeline.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/reranker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/schemas.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/slow_path.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/vector.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/cognition.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/cost_estimator.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/debug.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/doctor.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/logging.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/spans.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/token_tracker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/usage_tracker.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/__init__.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/base/registry.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/base/tool.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/code/navigate.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/code/search.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/ignore.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/read.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/search.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/write.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/history.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/operations.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/providers.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/state.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/module.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/safety.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/terminal/execute.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/terminal/history.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/web/fetch.py +0 -0
- {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/web/validator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: velune-cli
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.2
|
|
4
4
|
Summary: Local-first multi-model AI developer CLI — council-based agents, persistent memory, repository cognition
|
|
5
5
|
Project-URL: Homepage, https://github.com/Surya-Hariharan/Velune-CLI
|
|
6
6
|
Project-URL: Repository, https://github.com/Surya-Hariharan/Velune-CLI
|
|
@@ -226,52 +226,70 @@ Classifier: Typing :: Typed
|
|
|
226
226
|
Requires-Python: >=3.11
|
|
227
227
|
Requires-Dist: aiosqlite>=0.19.0
|
|
228
228
|
Requires-Dist: anthropic>=0.18.0
|
|
229
|
-
Requires-Dist: gitpython>=3.1.40
|
|
230
229
|
Requires-Dist: httpx>=0.26.0
|
|
231
230
|
Requires-Dist: keyring>=24.0.0
|
|
232
|
-
Requires-Dist: lancedb>=0.5.0
|
|
233
231
|
Requires-Dist: mcp>=1.0.0
|
|
234
232
|
Requires-Dist: networkx>=3.2.0
|
|
235
233
|
Requires-Dist: numpy>=1.24.0
|
|
236
234
|
Requires-Dist: openai>=1.10.0
|
|
237
|
-
Requires-Dist: opentelemetry-api>=1.22.0
|
|
238
|
-
Requires-Dist: opentelemetry-exporter-otlp>=1.22.0
|
|
239
|
-
Requires-Dist: opentelemetry-sdk>=1.22.0
|
|
240
235
|
Requires-Dist: orjson>=3.9.0
|
|
241
236
|
Requires-Dist: pathspec>=0.12.0
|
|
242
237
|
Requires-Dist: platformdirs>=4.2.0
|
|
243
238
|
Requires-Dist: prompt-toolkit>=3.0.0
|
|
244
239
|
Requires-Dist: psutil>=5.9.0
|
|
245
|
-
Requires-Dist: pyarrow>=14.0.0
|
|
246
240
|
Requires-Dist: pydantic-settings>=2.14.2
|
|
247
241
|
Requires-Dist: pydantic>=2.5.0
|
|
248
|
-
Requires-Dist: qdrant-client>=1.7.0
|
|
249
242
|
Requires-Dist: rank-bm25>=0.2.2
|
|
250
243
|
Requires-Dist: rich>=13.7.0
|
|
251
244
|
Requires-Dist: structlog>=24.0.0
|
|
252
245
|
Requires-Dist: tiktoken>=0.5.0
|
|
253
246
|
Requires-Dist: toml>=0.10.2
|
|
254
|
-
Requires-Dist: tree-sitter-go>=0.21.0
|
|
255
|
-
Requires-Dist: tree-sitter-python>=0.21.0
|
|
256
|
-
Requires-Dist: tree-sitter-rust>=0.21.0
|
|
257
|
-
Requires-Dist: tree-sitter-typescript>=0.21.0
|
|
258
|
-
Requires-Dist: tree-sitter>=0.21.0
|
|
259
247
|
Requires-Dist: typer>=0.9.0
|
|
260
248
|
Provides-Extra: all
|
|
261
249
|
Requires-Dist: docker>=7.0.0; extra == 'all'
|
|
262
250
|
Requires-Dist: gguf>=0.6.0; extra == 'all'
|
|
251
|
+
Requires-Dist: gitpython>=3.1.40; extra == 'all'
|
|
252
|
+
Requires-Dist: lancedb>=0.5.0; extra == 'all'
|
|
253
|
+
Requires-Dist: opentelemetry-api>=1.22.0; extra == 'all'
|
|
254
|
+
Requires-Dist: opentelemetry-exporter-otlp>=1.22.0; extra == 'all'
|
|
255
|
+
Requires-Dist: opentelemetry-sdk>=1.22.0; extra == 'all'
|
|
256
|
+
Requires-Dist: pyarrow>=14.0.0; extra == 'all'
|
|
257
|
+
Requires-Dist: qdrant-client>=1.7.0; extra == 'all'
|
|
258
|
+
Requires-Dist: tree-sitter-go>=0.21.0; extra == 'all'
|
|
259
|
+
Requires-Dist: tree-sitter-python>=0.21.0; extra == 'all'
|
|
260
|
+
Requires-Dist: tree-sitter-rust>=0.21.0; extra == 'all'
|
|
261
|
+
Requires-Dist: tree-sitter-typescript>=0.21.0; extra == 'all'
|
|
262
|
+
Requires-Dist: tree-sitter>=0.21.0; extra == 'all'
|
|
263
263
|
Provides-Extra: dev
|
|
264
264
|
Requires-Dist: bandit[toml]>=1.7.0; extra == 'dev'
|
|
265
265
|
Requires-Dist: build>=1.0.0; extra == 'dev'
|
|
266
266
|
Requires-Dist: pip-audit>=2.6.0; extra == 'dev'
|
|
267
267
|
Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
|
|
268
268
|
Requires-Dist: pyright>=1.1.350; extra == 'dev'
|
|
269
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
|
|
270
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
269
271
|
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
270
272
|
Requires-Dist: twine>=4.0.0; extra == 'dev'
|
|
271
273
|
Provides-Extra: docker
|
|
272
274
|
Requires-Dist: docker>=7.0.0; extra == 'docker'
|
|
273
275
|
Provides-Extra: gguf
|
|
274
276
|
Requires-Dist: gguf>=0.6.0; extra == 'gguf'
|
|
277
|
+
Provides-Extra: git
|
|
278
|
+
Requires-Dist: gitpython>=3.1.40; extra == 'git'
|
|
279
|
+
Provides-Extra: parsing
|
|
280
|
+
Requires-Dist: tree-sitter-go>=0.21.0; extra == 'parsing'
|
|
281
|
+
Requires-Dist: tree-sitter-python>=0.21.0; extra == 'parsing'
|
|
282
|
+
Requires-Dist: tree-sitter-rust>=0.21.0; extra == 'parsing'
|
|
283
|
+
Requires-Dist: tree-sitter-typescript>=0.21.0; extra == 'parsing'
|
|
284
|
+
Requires-Dist: tree-sitter>=0.21.0; extra == 'parsing'
|
|
285
|
+
Provides-Extra: rag
|
|
286
|
+
Requires-Dist: lancedb>=0.5.0; extra == 'rag'
|
|
287
|
+
Requires-Dist: pyarrow>=14.0.0; extra == 'rag'
|
|
288
|
+
Requires-Dist: qdrant-client>=1.7.0; extra == 'rag'
|
|
289
|
+
Provides-Extra: telemetry
|
|
290
|
+
Requires-Dist: opentelemetry-api>=1.22.0; extra == 'telemetry'
|
|
291
|
+
Requires-Dist: opentelemetry-exporter-otlp>=1.22.0; extra == 'telemetry'
|
|
292
|
+
Requires-Dist: opentelemetry-sdk>=1.22.0; extra == 'telemetry'
|
|
275
293
|
Description-Content-Type: text/markdown
|
|
276
294
|
|
|
277
295
|
# Velune
|
|
@@ -336,6 +354,34 @@ velune
|
|
|
336
354
|
|
|
337
355
|
Get a free Groq key at <https://console.groq.com/keys> — no credit card.
|
|
338
356
|
|
|
357
|
+
### Installing the `velune` command
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
pip install velune-cli
|
|
361
|
+
velune --version
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
If your shell reports **`velune: command not found`** (or, on Windows,
|
|
365
|
+
*"'velune' is not recognized…"*), the install succeeded but your Python
|
|
366
|
+
scripts directory is not on `PATH`. Two reliable fixes:
|
|
367
|
+
|
|
368
|
+
- **Recommended — install with [pipx](https://pipx.pypa.io/)** (isolated env, auto-managed PATH):
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
pipx install velune-cli
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
- **Or run it as a module** (always works, no PATH changes needed):
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
python -m velune --version
|
|
378
|
+
python -m velune # start the REPL
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
On Windows, a plain `pip install` puts the launcher in a per-user
|
|
382
|
+
`…\PythonXX\Scripts` folder; re-running the Python installer with **“Add
|
|
383
|
+
Python to PATH”** checked (or using `pipx`) resolves it permanently.
|
|
384
|
+
|
|
339
385
|
---
|
|
340
386
|
|
|
341
387
|
## Hardware requirements
|
|
@@ -369,15 +415,23 @@ Velune features a modern, clean terminal interface designed for productivity:
|
|
|
369
415
|
|
|
370
416
|
## Providers
|
|
371
417
|
|
|
372
|
-
| Provider
|
|
373
|
-
|
|
374
|
-
| Ollama
|
|
375
|
-
|
|
|
376
|
-
|
|
|
377
|
-
|
|
|
378
|
-
|
|
|
379
|
-
|
|
|
380
|
-
|
|
|
418
|
+
| Provider | Type | Cost | Models | Setup |
|
|
419
|
+
|--------------|-------|---------------|-----------------------------------------------|------------------------------|
|
|
420
|
+
| Ollama | Local | Free | Any pulled model | Install Ollama, pull a model |
|
|
421
|
+
| LM Studio | Local | Free | Any GGUF / MLX model | Launch LM Studio server |
|
|
422
|
+
| Groq | Cloud | Free tier | Llama 3.3 70B, Mixtral, Gemma2 | `velune setup` → enter key |
|
|
423
|
+
| OpenRouter | Cloud | Pay-per-token | 100+ models | `velune setup` → enter key |
|
|
424
|
+
| OpenAI | Cloud | Pay-per-token | GPT-4o, GPT-4o Mini | `velune setup` → enter key |
|
|
425
|
+
| Anthropic | Cloud | Pay-per-token | Claude Opus, Sonnet, Haiku | `velune setup` → enter key |
|
|
426
|
+
| xAI (Grok) | Cloud | Pay-per-token | Grok 2, Grok 2 Mini | `velune setup` → enter key |
|
|
427
|
+
| Google | Cloud | Free quota | Gemini 2.0 Flash, 1.5 Pro/Flash | `velune setup` → enter key |
|
|
428
|
+
| Together AI | Cloud | Pay-per-token | Llama 3.3 70B, Qwen 2.5 Coder, DeepSeek R1 | `velune setup` → enter key |
|
|
429
|
+
| Fireworks AI | Cloud | Pay-per-token | DeepSeek R1, Qwen 2.5 Coder, Mixtral 8x22B | `velune setup` → enter key |
|
|
430
|
+
| Mistral | Cloud | Pay-per-token | Mistral Large, Codestral, Mixtral | `velune setup` → enter key |
|
|
431
|
+
| DeepSeek | Cloud | Pay-per-token | DeepSeek R1, DeepSeek Coder | `velune setup` → enter key |
|
|
432
|
+
| Cohere | Cloud | Pay-per-token | Command R+, Command R | `velune setup` → enter key |
|
|
433
|
+
| NVIDIA NIM | Cloud | Pay-per-token | Llama, Mistral, and other NIM models | `velune setup` → enter key |
|
|
434
|
+
| HuggingFace | Cloud | Free/paid | Open models via Inference API | `velune setup` → enter key |
|
|
381
435
|
|
|
382
436
|
Keys are stored in your OS keyring — never in files, never in git.
|
|
383
437
|
|
|
@@ -385,46 +439,122 @@ Keys are stored in your OS keyring — never in files, never in git.
|
|
|
385
439
|
|
|
386
440
|
## Commands
|
|
387
441
|
|
|
388
|
-
### CLI (before the REPL
|
|
442
|
+
### CLI (terminal, before the REPL)
|
|
389
443
|
|
|
390
444
|
```bash
|
|
391
|
-
|
|
392
|
-
velune
|
|
393
|
-
velune
|
|
394
|
-
velune
|
|
395
|
-
velune
|
|
445
|
+
# Core
|
|
446
|
+
velune # Start the interactive REPL session
|
|
447
|
+
velune chat # Same as above (explicit form)
|
|
448
|
+
velune run "<task>" # Run a task non-interactively and exit
|
|
449
|
+
velune ask "<question>" # Ask a one-shot question and exit
|
|
450
|
+
velune init # Initialize Velune in a project directory
|
|
451
|
+
|
|
452
|
+
# Workspace & sessions
|
|
453
|
+
velune workspace init # Index the current workspace
|
|
454
|
+
velune workspace status # Show index freshness and file counts
|
|
455
|
+
velune workspace graph # Render the workspace dependency graph
|
|
456
|
+
velune workspace list # List all known workspaces
|
|
457
|
+
velune session list # List saved chat sessions
|
|
458
|
+
velune session delete <id> # Delete a saved session
|
|
459
|
+
|
|
460
|
+
# Setup & models
|
|
461
|
+
velune setup # Configure API keys (stored in OS keyring)
|
|
462
|
+
velune models scan # Discover all available local and cloud models
|
|
463
|
+
velune models list # List discovered models
|
|
464
|
+
velune provider list # Show all configured providers and their status
|
|
465
|
+
velune provider add # Add a new provider interactively
|
|
466
|
+
velune config show # Print effective velune.toml settings
|
|
467
|
+
velune config set <k> <v> # Write a setting to velune.toml
|
|
468
|
+
|
|
469
|
+
# Analytics & monitoring
|
|
470
|
+
velune usage # Token usage and estimated cost for recent sessions
|
|
471
|
+
velune quota # Check provider rate-limit and quota status
|
|
472
|
+
velune health # Check provider reachability and response time
|
|
473
|
+
|
|
474
|
+
# Diagnostics
|
|
475
|
+
velune doctor # Run full environment health check
|
|
476
|
+
velune logs # View recent execution event log
|
|
477
|
+
velune logs live # Follow new events as they are written
|
|
478
|
+
velune status # Index freshness and workspace health snapshot
|
|
479
|
+
velune pipeline "<query>" # Trace a retrieval query through the search pipeline
|
|
480
|
+
velune daemon start # Start the background Velune service
|
|
481
|
+
velune daemon stop # Stop the background service
|
|
482
|
+
velune mcp serve # Expose Velune's tool council as an MCP server
|
|
483
|
+
velune mcp connect <url> <name> # Connect to an external MCP server and list tools
|
|
484
|
+
velune memory inspect # Show memory tier sizes and record counts
|
|
485
|
+
velune memory clear # Clear all memory tiers for the current workspace
|
|
396
486
|
```
|
|
397
487
|
|
|
398
488
|
### Inside the REPL
|
|
399
489
|
|
|
400
490
|
```text
|
|
401
|
-
|
|
491
|
+
─── Session ───────────────────────────────────────────────────────────────────
|
|
492
|
+
/help Show all commands and their aliases
|
|
493
|
+
/exit Exit Velune
|
|
494
|
+
/clear Clear the terminal screen (context is preserved)
|
|
495
|
+
/new [title] Start a new conversation (project memory persists)
|
|
496
|
+
/project [name|path] Switch or manage project workspaces
|
|
497
|
+
|
|
498
|
+
─── Council / Execution ───────────────────────────────────────────────────────
|
|
499
|
+
/run <task> Execute a task through the Reasoning Council
|
|
402
500
|
/run --bg <task> Submit task to background — prompt returns immediately
|
|
501
|
+
/council <task> Force full council tier regardless of task complexity
|
|
403
502
|
/jobs List all background jobs (ID, status, phase, elapsed)
|
|
404
503
|
/jobs cancel <id> Cancel a running background job
|
|
405
504
|
/dashboard Live progress dashboard (jobs + alerts + provider health)
|
|
406
|
-
|
|
505
|
+
|
|
506
|
+
─── Models ────────────────────────────────────────────────────────────────────
|
|
507
|
+
/model [model-id] Switch active model (arrow-key picker if no arg)
|
|
407
508
|
/models List all available models
|
|
408
|
-
/
|
|
409
|
-
/
|
|
410
|
-
/
|
|
411
|
-
/
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
/
|
|
415
|
-
/
|
|
416
|
-
/
|
|
417
|
-
/
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
/
|
|
421
|
-
/
|
|
422
|
-
/
|
|
509
|
+
/pull [model-id] Download an Ollama model with live progress
|
|
510
|
+
/delete <model-id> Delete a locally installed Ollama model
|
|
511
|
+
/councilmodel Assign specific models to Planner / Coder / Reviewer roles
|
|
512
|
+
/bench [run] View or run empirical model capability benchmarks
|
|
513
|
+
|
|
514
|
+
─── Session Modes ─────────────────────────────────────────────────────────────
|
|
515
|
+
/optimus Speed mode — instant tier, smallest model, 4k context
|
|
516
|
+
/godly Max power — full council, largest model, 128k context
|
|
517
|
+
/normal Return to balanced mode (auto-tier, 16k context)
|
|
518
|
+
/mode Show current mode settings and active council tier
|
|
519
|
+
|
|
520
|
+
─── Memory & Context ──────────────────────────────────────────────────────────
|
|
521
|
+
/memory [clear|stats] Inspect or clear memory tiers
|
|
522
|
+
/session Interactive session picker (list / resume / save / export)
|
|
523
|
+
/context Show context window usage for the current conversation
|
|
524
|
+
/graph Render a tree of knowledge graph entities
|
|
525
|
+
|
|
526
|
+
─── Diffs & Editing ───────────────────────────────────────────────────────────
|
|
527
|
+
/diff Show uncommitted file changes from the last council run
|
|
528
|
+
/undo Revert the last Velune-generated git commit (keeps changes staged)
|
|
529
|
+
/hunk Toggle hunk-by-hunk review mode for edits
|
|
530
|
+
/approve [safe|ask|block] Set tool/command approval gate
|
|
531
|
+
|
|
532
|
+
─── Git Integration ───────────────────────────────────────────────────────────
|
|
533
|
+
/push [--force] Push current branch to remote origin
|
|
534
|
+
/pr <title> Create a pull request / merge request on GitHub or GitLab
|
|
535
|
+
/issue <number> Fetch a GitHub/GitLab issue and inject it as context
|
|
536
|
+
/sandbox [docker|status] Show or switch sandbox type (subprocess or Docker)
|
|
537
|
+
|
|
538
|
+
─── Code Intelligence ─────────────────────────────────────────────────────────
|
|
539
|
+
/lint [file] Lint a Python file and display diagnostic output
|
|
540
|
+
/refactor <file> Detect code smells and suggest refactoring targets
|
|
541
|
+
/typify <file> Suggest type hints for unannotated functions
|
|
542
|
+
|
|
543
|
+
─── MCP & Plugins ─────────────────────────────────────────────────────────────
|
|
544
|
+
/mcp [servers|tools|resources|connect|disconnect] Inspect MCP servers and tools
|
|
545
|
+
/plugin [list|enable|disable|reload|show] Manage declarative plugins
|
|
546
|
+
|
|
547
|
+
─── Diagnostics ───────────────────────────────────────────────────────────────
|
|
548
|
+
/doctor Run environment health checks
|
|
549
|
+
/config Show current configuration settings
|
|
550
|
+
/stats Session statistics: tokens, cost, turns, uptime
|
|
551
|
+
/history Show REPL command execution history
|
|
552
|
+
/hooks List active lifecycle hooks and their configuration
|
|
423
553
|
```
|
|
424
554
|
|
|
425
|
-
Tab-completion is active for all `/` commands and for model IDs (type `/model` then
|
|
555
|
+
Tab-completion is active for all `/` commands and for model IDs (type `/model` then Space to trigger).
|
|
426
556
|
|
|
427
|
-
The status bar shows `⚙ N bg` for active background jobs and `⚠ N` for unread proactive alerts. Alerts drain automatically after each prompt
|
|
557
|
+
The status bar shows `⚙ N bg` for active background jobs and `⚠ N` for unread proactive alerts. Alerts drain automatically after each prompt and are printed as Rich panels above the input line.
|
|
428
558
|
|
|
429
559
|
---
|
|
430
560
|
|
|
@@ -433,20 +563,35 @@ The status bar shows `⚙ N bg` for active background jobs and `⚠ N` for unrea
|
|
|
433
563
|
```text
|
|
434
564
|
velune/
|
|
435
565
|
├── cli/ REPL, slash commands, banner, autocomplete, session manager
|
|
436
|
-
│
|
|
437
|
-
├──
|
|
438
|
-
|
|
566
|
+
│ ├── commands/ Typer subcommands (workspace, session, models, doctor, mcp, …)
|
|
567
|
+
│ ├── display/ Live dashboards and council pipeline view
|
|
568
|
+
│ └── rendering/ Rich error panels and markdown streaming
|
|
569
|
+
├── providers/ 15 provider adapters (Ollama, Groq, OpenAI, Anthropic, Mistral, …)
|
|
570
|
+
│ ├── adapters/ Per-provider inference + streaming implementations
|
|
571
|
+
│ └── discovery/ Model catalog discovery for each provider
|
|
572
|
+
├── cognition/ Council: Planner → Coder → Reviewer → Challenger → Synthesizer
|
|
573
|
+
│ └── council/ DebateSession, CouncilRunner, per-role agents, tier classifier
|
|
439
574
|
├── memory/ 5-tier: working → episodic → semantic → graph → lineage
|
|
440
575
|
├── proactive/ Alert store + watcher (CognitiveBus event subscriptions)
|
|
441
|
-
├── repository/ AST indexing,
|
|
576
|
+
├── repository/ AST indexing, import graph, blast-radius estimator, .veluneignore
|
|
577
|
+
├── retrieval/ Hybrid retrieval: BM25 + vector + graph, cross-encoder reranker
|
|
442
578
|
├── execution/ Managed execution (allowlist + limits), diff preview, rollback
|
|
579
|
+
│ └── edit_formats/ Diff format parsers (unified, search-replace, XML, JSON)
|
|
580
|
+
├── analysis/ Code intelligence: linting, code-smell detection, type inference
|
|
581
|
+
├── integrations/ GitHub and GitLab REST clients (push, PR, issues)
|
|
582
|
+
├── hooks/ Lifecycle hook dispatcher and executor (pre/post tool events)
|
|
583
|
+
├── observability/ Context reports, execution trace log, workspace dependency graph
|
|
584
|
+
├── mcp/ MCP server + client; stdio / SSE / HTTP / WebSocket transports
|
|
443
585
|
├── hardware/ Hardware detection, tier classification, GPU probe
|
|
444
586
|
├── telemetry/ Token tracking, cost estimation, latency profiling
|
|
445
587
|
├── models/ Model registry, capability scoring, specializations
|
|
446
|
-
├── context/ Context window tracking, extractive compression
|
|
588
|
+
├── context/ Context window tracking, token counting, extractive compression
|
|
589
|
+
├── orchestration/ ContextOrchestrationEngine — wires intent → council → output
|
|
447
590
|
├── core/ Loop detector, retry policy, task/job registry, error types
|
|
448
591
|
├── kernel/ Bootstrap, lifecycle coordinator, service container
|
|
449
|
-
|
|
592
|
+
├── daemon/ Background Velune service (server + IPC transport)
|
|
593
|
+
├── tools/ File-system, git, web-fetch, and terminal tool implementations
|
|
594
|
+
└── plugins/ Declarative plugin loader, SKILL.md injection, hook wiring
|
|
450
595
|
```
|
|
451
596
|
|
|
452
597
|
---
|
|
@@ -481,13 +626,18 @@ Switch modes at any time mid-session. The prompt badge updates immediately.
|
|
|
481
626
|
|
|
482
627
|
## MCP integration
|
|
483
628
|
|
|
484
|
-
Velune
|
|
485
|
-
Velune's local model council as a tool — giving cloud-based editors access
|
|
486
|
-
to local hardware without sending your code to a third party.
|
|
629
|
+
Velune works as both an MCP **server** and an MCP **client**:
|
|
487
630
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
631
|
+
- **Server** (`velune mcp serve`) — exposes Velune's local tool council over
|
|
632
|
+
stdio so Claude Desktop, VS Code, and other MCP-capable editors can call
|
|
633
|
+
Velune's models without sending your code to a third party.
|
|
634
|
+
- **Client** (`velune mcp connect <url> <name>`) — connects to any external MCP
|
|
635
|
+
server, lists its tools, and makes them available inside the REPL via `/mcp`.
|
|
636
|
+
- **Transports** — stdio, SSE, HTTP, and WebSocket (`ws://` / `wss://`) are all
|
|
637
|
+
supported. Servers can also be declared in `.mcp.json` and loaded automatically.
|
|
638
|
+
|
|
639
|
+
Outbound connections to external MCP servers are trust-gated — see
|
|
640
|
+
[MCP trust gating](docs/SECURITY.md#mcp-trust-gating) in the security policy.
|
|
491
641
|
|
|
492
642
|
---
|
|
493
643
|
|
|
@@ -495,37 +645,48 @@ external MCP servers are trust-gated — see the
|
|
|
495
645
|
|
|
496
646
|
Velune runs natively on Windows (supporting native command execution sandboxing, local Ollama integration, and keyring credentials). It can also run via WSL2 if preferred.
|
|
497
647
|
|
|
498
|
-
See [WINDOWS.md](WINDOWS.md) for the complete native Windows and WSL2 setup guides.
|
|
499
|
-
|
|
500
648
|
---
|
|
501
649
|
|
|
502
650
|
## Project docs
|
|
503
651
|
|
|
504
652
|
| Doc | What's inside |
|
|
505
653
|
| --- | --- |
|
|
506
|
-
| [docs/
|
|
507
|
-
| [
|
|
508
|
-
| [
|
|
654
|
+
| [docs/SECURITY.md](docs/SECURITY.md) | Security posture, trust boundaries, reporting |
|
|
655
|
+
| [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) | Dev setup and contribution workflow |
|
|
656
|
+
| [docs/CHANGELOG.md](docs/CHANGELOG.md) | Full version history |
|
|
509
657
|
|
|
510
658
|
---
|
|
511
659
|
|
|
512
660
|
## Optional extras
|
|
513
661
|
|
|
514
|
-
|
|
662
|
+
The default install is intentionally lean and pure-python-friendly so it
|
|
663
|
+
resolves fast and cleanly on every platform. Heavy or feature-specific
|
|
664
|
+
dependencies live in extras — every feature that needs one **degrades
|
|
665
|
+
gracefully** when it is absent (e.g. semantic search becomes a no-op, but
|
|
666
|
+
lexical search and chat keep working).
|
|
667
|
+
|
|
668
|
+
| Extra | Installs | Enables |
|
|
515
669
|
| --- | --- | --- |
|
|
516
|
-
| `[
|
|
517
|
-
| `[
|
|
670
|
+
| `[rag]` | `lancedb`, `pyarrow`, `qdrant-client` | Semantic memory + vector retrieval (large compiled wheels) |
|
|
671
|
+
| `[parsing]` | `tree-sitter` + grammars | Tree-sitter source parsing for deep repository cognition |
|
|
672
|
+
| `[telemetry]` | `opentelemetry-*` | Export spans/metrics to an OTLP collector |
|
|
673
|
+
| `[git]` | `gitpython` | Git provider tools (push / PR / issue) and richer git context |
|
|
674
|
+
| `[gguf]` | `gguf` | GGUF file metadata reading — safe, no transitive risk |
|
|
518
675
|
| `[docker]` | `docker` | Docker sandbox for isolated code execution |
|
|
519
|
-
| `[all]` |
|
|
676
|
+
| `[all]` | everything above | Full-featured install |
|
|
520
677
|
| `[dev]` | Test/lint tools | For contributors |
|
|
521
678
|
|
|
522
679
|
```bash
|
|
523
|
-
pip install velune-cli
|
|
524
|
-
pip install 'velune-cli[
|
|
525
|
-
pip install 'velune-cli[all]'
|
|
526
|
-
pip install 'velune-cli[llamacpp]' # + in-process GGUF inference (see advisory)
|
|
680
|
+
pip install velune-cli # lean base (Ollama, cloud providers, chat, lexical search)
|
|
681
|
+
pip install 'velune-cli[rag]' # + semantic memory & vector retrieval
|
|
682
|
+
pip install 'velune-cli[all]' # + every optional feature
|
|
527
683
|
```
|
|
528
684
|
|
|
685
|
+
> The former `[llamacpp]` extra has been **permanently removed**:
|
|
686
|
+
> `llama-cpp-python` pulls in `diskcache ≤ 5.6.3` (unsafe pickle
|
|
687
|
+
> deserialization, no patched version). Install `llama-cpp-python` manually,
|
|
688
|
+
> in a trusted single-user environment only, if you accept that risk.
|
|
689
|
+
|
|
529
690
|
---
|
|
530
691
|
|
|
531
692
|
## Contributing
|
|
@@ -541,8 +702,8 @@ pytest tests/ -q
|
|
|
541
702
|
```
|
|
542
703
|
|
|
543
704
|
Report security issues via
|
|
544
|
-
[GitHub Security Advisories](https://github.com/Surya-Hariharan/Velune-CLI/security/advisories/new)
|
|
545
|
-
not public issues.
|
|
705
|
+
[GitHub Security Advisories](https://github.com/Surya-Hariharan/Velune-CLI/security/advisories/new)
|
|
706
|
+
— not public issues.
|
|
546
707
|
|
|
547
708
|
---
|
|
548
709
|
|