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.
Files changed (373) hide show
  1. {velune_cli-0.9.1 → velune_cli-0.9.2}/PKG-INFO +235 -74
  2. velune_cli-0.9.2/README.md +420 -0
  3. {velune_cli-0.9.1 → velune_cli-0.9.2}/docs/CHANGELOG.md +202 -63
  4. {velune_cli-0.9.1 → velune_cli-0.9.2}/pyproject.toml +59 -27
  5. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/__init__.py +1 -1
  6. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/__main__.py +2 -2
  7. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/app.py +38 -1
  8. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/repl.py +4 -8
  9. velune_cli-0.9.2/velune/main.py +54 -0
  10. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/llamacpp.py +7 -6
  11. velune_cli-0.9.1/README.md +0 -277
  12. velune_cli-0.9.1/velune/main.py +0 -9
  13. {velune_cli-0.9.1 → velune_cli-0.9.2}/.gitignore +0 -0
  14. {velune_cli-0.9.1 → velune_cli-0.9.2}/LICENSE +0 -0
  15. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/__init__.py +0 -0
  16. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/linter.py +0 -0
  17. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/refactor.py +0 -0
  18. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/symbol_search.py +0 -0
  19. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/analysis/type_inferrer.py +0 -0
  20. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/__init__.py +0 -0
  21. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/autocomplete.py +0 -0
  22. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/banner.py +0 -0
  23. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/__init__.py +0 -0
  24. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/ask.py +0 -0
  25. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/base.py +0 -0
  26. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/chat.py +0 -0
  27. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/config.py +0 -0
  28. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/context.py +0 -0
  29. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/daemon.py +0 -0
  30. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/doctor.py +0 -0
  31. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/file_commands.py +0 -0
  32. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/init.py +0 -0
  33. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/mcp.py +0 -0
  34. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/memory.py +0 -0
  35. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/models.py +0 -0
  36. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/preflight.py +0 -0
  37. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/providers.py +0 -0
  38. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/retrieval.py +0 -0
  39. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/run.py +0 -0
  40. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/session.py +0 -0
  41. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/setup.py +0 -0
  42. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/trace.py +0 -0
  43. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/usage.py +0 -0
  44. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/commands/workspace.py +0 -0
  45. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/context.py +0 -0
  46. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/councilmodel_ui.py +0 -0
  47. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/design.py +0 -0
  48. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/council_view.py +0 -0
  49. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/dashboard.py +0 -0
  50. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/memory_view.py +0 -0
  51. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/panels.py +0 -0
  52. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/pipeline.py +0 -0
  53. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/progress.py +0 -0
  54. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/display/themes.py +0 -0
  55. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/interrupts.py +0 -0
  56. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/main.py +0 -0
  57. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/model_selector.py +0 -0
  58. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/modes.py +0 -0
  59. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/picker.py +0 -0
  60. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/pull_ui.py +0 -0
  61. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/registry.py +0 -0
  62. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/rendering/__init__.py +0 -0
  63. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/rendering/error_panel.py +0 -0
  64. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/rendering/markdown.py +0 -0
  65. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/session_manager.py +0 -0
  66. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/sessions.py +0 -0
  67. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/slash_commands.py +0 -0
  68. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/slash_dispatcher.py +0 -0
  69. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/statusbar.py +0 -0
  70. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/stream_renderer.py +0 -0
  71. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/theme.py +0 -0
  72. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/validators.py +0 -0
  73. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cli/workspaces.py +0 -0
  74. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/__init__.py +0 -0
  75. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/__init__.py +0 -0
  76. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/coder.py +0 -0
  77. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/planner.py +0 -0
  78. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/agents/reviewer.py +0 -0
  79. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/arbitrator.py +0 -0
  80. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/architecture.py +0 -0
  81. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/budget.py +0 -0
  82. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/__init__.py +0 -0
  83. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/base.py +0 -0
  84. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/challenger.py +0 -0
  85. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/coder.py +0 -0
  86. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/critic_agent.py +0 -0
  87. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/critic_configs.py +0 -0
  88. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/critics.py +0 -0
  89. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/debate.py +0 -0
  90. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/factory.py +0 -0
  91. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/messages.py +0 -0
  92. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/planner.py +0 -0
  93. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/reviewer.py +0 -0
  94. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/synthesizer.py +0 -0
  95. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council/tiers.py +0 -0
  96. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/council_runner.py +0 -0
  97. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/firewall.py +0 -0
  98. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/intent.py +0 -0
  99. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/module.py +0 -0
  100. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/orchestrator.py +0 -0
  101. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/personality.py +0 -0
  102. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/state.py +0 -0
  103. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/style_resolver.py +0 -0
  104. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/cognition/verification.py +0 -0
  105. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/__init__.py +0 -0
  106. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/assembler.py +0 -0
  107. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/budget.py +0 -0
  108. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/extractive.py +0 -0
  109. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/mentions.py +0 -0
  110. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/prompt_adaptation.py +0 -0
  111. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/sections.py +0 -0
  112. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/token_counter.py +0 -0
  113. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/context/utilization.py +0 -0
  114. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/__init__.py +0 -0
  115. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/background.py +0 -0
  116. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/config/__init__.py +0 -0
  117. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/__init__.py +0 -0
  118. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/catalog.py +0 -0
  119. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/execution.py +0 -0
  120. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/memory.py +0 -0
  121. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/orchestration.py +0 -0
  122. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/errors/provider.py +0 -0
  123. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/event_loop.py +0 -0
  124. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/logging.py +0 -0
  125. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/loop_detector.py +0 -0
  126. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/paths.py +0 -0
  127. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/redaction.py +0 -0
  128. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/retry.py +0 -0
  129. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/runtime.py +0 -0
  130. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/startup_profiler.py +0 -0
  131. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/task_registry.py +0 -0
  132. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/trace.py +0 -0
  133. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/__init__.py +0 -0
  134. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/agent.py +0 -0
  135. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/context.py +0 -0
  136. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/inference.py +0 -0
  137. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/memory.py +0 -0
  138. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/model.py +0 -0
  139. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/provider.py +0 -0
  140. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/repository.py +0 -0
  141. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/task.py +0 -0
  142. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/core/types/workspace.py +0 -0
  143. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/daemon/client.py +0 -0
  144. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/daemon/server.py +0 -0
  145. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/daemon/transport.py +0 -0
  146. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/events.py +0 -0
  147. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/__init__.py +0 -0
  148. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/benchmarker.py +0 -0
  149. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/cancellation.py +0 -0
  150. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/checkpointer.py +0 -0
  151. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/command_spec.py +0 -0
  152. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/diff_preview.py +0 -0
  153. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/docker_sandbox.py +0 -0
  154. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/__init__.py +0 -0
  155. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/applier.py +0 -0
  156. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/base.py +0 -0
  157. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/registry.py +0 -0
  158. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/search_replace.py +0 -0
  159. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/udiff.py +0 -0
  160. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/edit_formats/whole_file.py +0 -0
  161. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/executor.py +0 -0
  162. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/hunk_review.py +0 -0
  163. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/module.py +0 -0
  164. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/multi_diff.py +0 -0
  165. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/path_guard.py +0 -0
  166. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/planner.py +0 -0
  167. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/rollback.py +0 -0
  168. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/sandbox.py +0 -0
  169. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/execution/validator.py +0 -0
  170. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hardware/__init__.py +0 -0
  171. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hardware/detector.py +0 -0
  172. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hardware/profiles.py +0 -0
  173. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/__init__.py +0 -0
  174. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/config.py +0 -0
  175. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/dispatcher.py +0 -0
  176. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/executor.py +0 -0
  177. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/matcher.py +0 -0
  178. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/hooks/types.py +0 -0
  179. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/__init__.py +0 -0
  180. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/base.py +0 -0
  181. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/github.py +0 -0
  182. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/integrations/gitlab.py +0 -0
  183. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/__init__.py +0 -0
  184. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/bootstrap.py +0 -0
  185. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/config.py +0 -0
  186. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/entrypoint.py +0 -0
  187. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/health.py +0 -0
  188. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/lifecycle.py +0 -0
  189. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/module.py +0 -0
  190. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/modules.py +0 -0
  191. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/registry.py +0 -0
  192. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/kernel/schemas.py +0 -0
  193. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/__init__.py +0 -0
  194. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/client.py +0 -0
  195. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/config.py +0 -0
  196. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/registry.py +0 -0
  197. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/security.py +0 -0
  198. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/server.py +0 -0
  199. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/__init__.py +0 -0
  200. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/base.py +0 -0
  201. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/factory.py +0 -0
  202. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/http.py +0 -0
  203. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/sse.py +0 -0
  204. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/stdio.py +0 -0
  205. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/mcp/transports/websocket.py +0 -0
  206. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/__init__.py +0 -0
  207. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/compaction.py +0 -0
  208. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/embedding_pipeline.py +0 -0
  209. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/lifecycle.py +0 -0
  210. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/module.py +0 -0
  211. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/prioritizer.py +0 -0
  212. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/episodic_schema.sql +0 -0
  213. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/lancedb_store.py +0 -0
  214. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/sqlite_manager.py +0 -0
  215. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/storage/sqlite_pool.py +0 -0
  216. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/episodic.py +0 -0
  217. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/graph.py +0 -0
  218. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/lineage.py +0 -0
  219. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/semantic.py +0 -0
  220. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/tiers/working.py +0 -0
  221. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/memory/vitality.py +0 -0
  222. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/__init__.py +0 -0
  223. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/family.py +0 -0
  224. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/module.py +0 -0
  225. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/probes.py +0 -0
  226. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/profile_cache.py +0 -0
  227. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/profiler.py +0 -0
  228. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/registry.py +0 -0
  229. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/scorer.py +0 -0
  230. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/models/specializations.py +0 -0
  231. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/__init__.py +0 -0
  232. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/context_report.py +0 -0
  233. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/format.py +0 -0
  234. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/module.py +0 -0
  235. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/retrieval_report.py +0 -0
  236. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/trace_log.py +0 -0
  237. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/trace_sink.py +0 -0
  238. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/observability/workspace_graph.py +0 -0
  239. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/__init__.py +0 -0
  240. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/engine.py +0 -0
  241. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/module.py +0 -0
  242. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/role_assignments.py +0 -0
  243. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/orchestration/schemas.py +0 -0
  244. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/__init__.py +0 -0
  245. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/__init__.py +0 -0
  246. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/agent.py +0 -0
  247. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/command.py +0 -0
  248. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/manifest.py +0 -0
  249. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/scanner.py +0 -0
  250. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/declarative/skill.py +0 -0
  251. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/hooks.py +0 -0
  252. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/loader.py +0 -0
  253. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/manager.py +0 -0
  254. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/registry.py +0 -0
  255. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/runner.py +0 -0
  256. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/plugins/sandbox.py +0 -0
  257. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/proactive/__init__.py +0 -0
  258. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/proactive/alerts.py +0 -0
  259. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/proactive/watcher.py +0 -0
  260. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/__init__.py +0 -0
  261. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/anthropic.py +0 -0
  262. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/cohere.py +0 -0
  263. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/deepseek.py +0 -0
  264. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/fireworks.py +0 -0
  265. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/google.py +0 -0
  266. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/groq.py +0 -0
  267. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/huggingface.py +0 -0
  268. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/lmstudio.py +0 -0
  269. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/mistral.py +0 -0
  270. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/nvidia.py +0 -0
  271. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/ollama.py +0 -0
  272. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/openai.py +0 -0
  273. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/openrouter.py +0 -0
  274. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/together.py +0 -0
  275. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/adapters/xai.py +0 -0
  276. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/base.py +0 -0
  277. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/benchmarker.py +0 -0
  278. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/__init__.py +0 -0
  279. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/anthropic.py +0 -0
  280. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/benchmarks.py +0 -0
  281. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/classifier.py +0 -0
  282. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/fireworks.py +0 -0
  283. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/gguf.py +0 -0
  284. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/google.py +0 -0
  285. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/gpu.py +0 -0
  286. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/groq.py +0 -0
  287. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/huggingface.py +0 -0
  288. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/lmstudio.py +0 -0
  289. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/ollama.py +0 -0
  290. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/openai.py +0 -0
  291. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/openrouter.py +0 -0
  292. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/scanner.py +0 -0
  293. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/together.py +0 -0
  294. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/discovery/xai.py +0 -0
  295. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/health.py +0 -0
  296. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/health_monitor.py +0 -0
  297. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/keystore.py +0 -0
  298. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/local_paths.py +0 -0
  299. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/local_resolver.py +0 -0
  300. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/module.py +0 -0
  301. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/ollama_manager.py +0 -0
  302. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/registry.py +0 -0
  303. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/router.py +0 -0
  304. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/task_classifier.py +0 -0
  305. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/providers/validation.py +0 -0
  306. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/py.typed +0 -0
  307. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/__init__.py +0 -0
  308. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/analyzer.py +0 -0
  309. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/api_mapper.py +0 -0
  310. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/architecture_detector.py +0 -0
  311. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/ast_parser.py +0 -0
  312. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/blast_radius.py +0 -0
  313. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/boundary_classifier.py +0 -0
  314. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/cognition.py +0 -0
  315. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/commit_message.py +0 -0
  316. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/config_intelligence.py +0 -0
  317. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/context_builder.py +0 -0
  318. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/git_context.py +0 -0
  319. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/grapher.py +0 -0
  320. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/import_graph.py +0 -0
  321. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/incremental_indexer.py +0 -0
  322. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/index_state.py +0 -0
  323. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/indexer.py +0 -0
  324. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/module.py +0 -0
  325. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/parser.py +0 -0
  326. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/project_type.py +0 -0
  327. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/rename_journal.py +0 -0
  328. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/scanner.py +0 -0
  329. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/schemas.py +0 -0
  330. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/symbol_registry.py +0 -0
  331. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/technology_detector.py +0 -0
  332. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/tracker.py +0 -0
  333. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/repository/watcher.py +0 -0
  334. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/__init__.py +0 -0
  335. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/cache.py +0 -0
  336. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/fast_path.py +0 -0
  337. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/graph.py +0 -0
  338. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/hybrid.py +0 -0
  339. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/keyword.py +0 -0
  340. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/module.py +0 -0
  341. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/pipeline.py +0 -0
  342. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/reranker.py +0 -0
  343. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/schemas.py +0 -0
  344. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/slow_path.py +0 -0
  345. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/retrieval/vector.py +0 -0
  346. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/__init__.py +0 -0
  347. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/cognition.py +0 -0
  348. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/cost_estimator.py +0 -0
  349. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/debug.py +0 -0
  350. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/doctor.py +0 -0
  351. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/logging.py +0 -0
  352. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/spans.py +0 -0
  353. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/token_tracker.py +0 -0
  354. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/telemetry/usage_tracker.py +0 -0
  355. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/__init__.py +0 -0
  356. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/base/registry.py +0 -0
  357. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/base/tool.py +0 -0
  358. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/code/navigate.py +0 -0
  359. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/code/search.py +0 -0
  360. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/ignore.py +0 -0
  361. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/read.py +0 -0
  362. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/search.py +0 -0
  363. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/filesystem/write.py +0 -0
  364. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/history.py +0 -0
  365. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/operations.py +0 -0
  366. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/providers.py +0 -0
  367. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/git/state.py +0 -0
  368. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/module.py +0 -0
  369. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/safety.py +0 -0
  370. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/terminal/execute.py +0 -0
  371. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/terminal/history.py +0 -0
  372. {velune_cli-0.9.1 → velune_cli-0.9.2}/velune/tools/web/fetch.py +0 -0
  373. {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.1
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 | Type | Cost | Models | Setup |
373
- |-----------------------|-------|----------------|--------------------------------------|----------------------------------|
374
- | Ollama | Local | Free | Any pulled model | Install Ollama, pull a model |
375
- | Groq | Cloud | Free tier | Llama 3.3 70B, Mixtral, Gemma2 | `velune setup` enter key |
376
- | OpenRouter | Cloud | Pay-per-token | 100+ models | `velune setup` → enter key |
377
- | OpenAI | Cloud | Pay-per-token | GPT-4o, GPT-4o Mini | `velune setup` → enter key |
378
- | Anthropic | Cloud | Pay-per-token | Claude Opus, Sonnet, Haiku | `velune setup` → enter key |
379
- | xAI (Grok) | Cloud | Pay-per-token | Grok 2, Grok 2 Mini | `velune setup` → enter key |
380
- | Google Gemini | Cloud | Free quota | Gemini 2.0 Flash, 1.5 Pro/Flash | `velune setup` → enter key |
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 starts)
442
+ ### CLI (terminal, before the REPL)
389
443
 
390
444
  ```bash
391
- velune # Start the persistent REPL session
392
- velune init # Initialize Velune in a project
393
- velune setup # Configure API keys securely (stored in OS keyring)
394
- velune doctor # Check hardware, providers, dependencies
395
- velune models scan # Discover all available local and cloud models
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
- /run <task> Execute a task through the council
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
- /model Switch active model (arrow-key picker)
505
+
506
+ ─── Models ────────────────────────────────────────────────────────────────────
507
+ /model [model-id] Switch active model (arrow-key picker if no arg)
407
508
  /models List all available models
408
- /optimus Speed mode instant tier, smallest model
409
- /godly Max power full council, largest model
410
- /normal Return to balanced mode
411
- /mode Show current mode settings
412
- /memory Inspect memory tiers
413
- /session save Save current session
414
- /session list List saved sessions
415
- /session resume <id> Resume a session
416
- /usage Token count and cost for this session
417
- /context Context window usage indicator
418
- /diff Show pending file changes
419
- /doctor Run health checks
420
- /help Show all commands
421
- /clear Clear screen and context
422
- /exit Exit Velune
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 space to trigger).
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 input and are printed as Rich panels above the input line.
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
- └── display/ Live dashboards (ProgressDashboard)
437
- ├── providers/ Ollama, Groq, OpenAI, Anthropic, xAI, Google, OpenRouter
438
- ├── cognition/ Council: Planner + Coder + Reviewer + Challenger + Synthesizer
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, dependency graph, .veluneignore
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
- └── plugins/ Plugin loader & hook registry (experimental; unsandboxed, off by default)
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 exposes an MCP server so that Claude Desktop and VS Code can call
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
- Run `velune mcp --help` for the server commands. Outbound connections to
489
- external MCP servers are trust-gated see the
490
- [MCP trust gating](SECURITY.md#mcp-trust-gating) section of the security policy.
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/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Layering and import-boundary rules |
507
- | [SECURITY.md](SECURITY.md) / [docs/THREAT_MODEL.md](docs/THREAT_MODEL.md) | Security posture, trust boundaries, reporting |
508
- | [CONTRIBUTING.md](CONTRIBUTING.md) | Dev setup and contribution workflow |
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
- | Extra | Installs | Notes |
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
- | `[gguf]` | `gguf` library | GGUF file metadata reading safe, no transitive risk |
517
- | `[llamacpp]` | `llama-cpp-python` | In-process GGUF inference. **Security advisory**: pulls in `diskcache ≤ 5.6.3` (unsafe pickle deserialization, no patched version). Only install in trusted, single-user environments. |
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]` | `[gguf,docker]` | Full install — deliberately excludes `[llamacpp]` due to the advisory above |
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 # base install (Ollama, cloud providers)
524
- pip install 'velune-cli[gguf]' # + GGUF metadata reading
525
- pip install 'velune-cli[all]' # + GGUF + Docker sandbox
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