Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CODEOWNERS

# Default owners for everything in the repo
* @mistralai/mistral-vibe
* @OEvortex/revibe

# Owners for specific directories
# Not needed for now, can be filled later
4 changes: 2 additions & 2 deletions .github/workflows/build-and-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Set matrix
id: set-matrix
run: |
if [[ "${{ github.repository }}" == "revibe-ai/revibe" ]]; then
if [[ "${{ github.repository }}" == "OEvortex/revibe" ]]; then
matrix='{
"include": [
{"runner": "ubuntu-22.04", "os": "linux", "arch": "x86_64"},
Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:
chmod +x "$dir/revibe-acp"
zip -j "release-assets/${name}.zip" "$dir/revibe-acp"
elif [ -f "$dir/revibe-acp.exe" ]; then
zip -j "release-assets/${name}.zip" "$dir/vibe-acp.exe"
zip -j "release-assets/${name}.zip" "$dir/revibe-acp.exe"
fi
done

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ jobs:

- name: Verify CLI can start
run: |
uv run vibe --help
uv run vibe-acp --help
uv run revibe --help
uv run revibe-acp --help

- name: Install ripgrep
run: sudo apt-get update && sudo apt-get install -y ripgrep
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/mistral-vibe
url: https://pypi.org/p/revibe
permissions:
id-token: write
contents: read
Expand Down Expand Up @@ -41,19 +41,19 @@ jobs:
path: dist/

- name: Publish distribution to PyPI
if: github.repository == 'mistralai/mistral-vibe'
if: github.repository == 'OEvortex/revibe'
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0

release-zed-extension:
name: Release Zed Extension
runs-on: ubuntu-latest
if: github.repository == 'mistralai/mistral-vibe'
if: github.repository == 'OEvortex/revibe'
environment:
name: zed
steps:
- uses: huacnlee/zed-extension-action@8cd592a0d24e1e41157740f1a529aeabddc88a1b # v2
with:
extension-name: mistral-vibe
push-to: mistralai/zed-extensions
extension-name: revibe
push-to: OEvortex/zed-extensions
env:
COMMITTER_TOKEN: ${{ secrets.ZED_EXTENSION_GITHUB_TOKEN }}
18 changes: 16 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `XMLToolFormatHandler` for robust parsing of XML tool calls and generation of XML tool results.
- `supported_formats` field in `ModelConfig` and backend implementations to manage compatibility.
- Dynamic tool prompt resolution in `BaseTool` allowing automatic fallback to standard prompts if XML version is missing.
- First public release of ReVibe with all core functionality
- First public release of ReVibe with all core functionality.
- New models added to Hugging Face provider.
- Animated "ReVibe" text logo in setup completion screen with gradient colors.
- Provider help URLs for all API key requiring providers (Hugging Face, Cerebras).

### Changed

- ReVibe configuration and data now saved in `.revibe` directory (migrated from `.vibe`).
- Setup TUI improvements:
- Skip API key input screen for providers that don't require API keys (ollama, llamacpp, qwencode)
- Display setup completion screen with "Press Enter to exit" instruction
- Hide configuration documentation links from completion screen
- Show usage message "Use 'revibe' to start using ReVibe" after setup completion
- TUI Visual & Functional Enhancements:
- Added `redact_xml_tool_calls(text)` utility in `revibe/core/utils.py` to remove raw `<tool_call>...<tool_call>` blocks from assistant output stream
- Refactored `StreamingMessageBase` in `revibe/cli/textual_ui/widgets/messages.py` to track `_displayed_content` for smart UI updates
- Enhanced premium tool summaries in chat history:
* Grep now shows as `Grep (pattern)` instead of `grep: 'pattern'`
* Find now shows as `Find (pattern)` instead of `grep: 'pattern'`
* Bash now shows as `Bash (command)` instead of raw command string
* Read File now shows as `Read (filename)` with cleaner summary
* Write File now shows as `Write (filename)`
* Search & Replace now shows as `Patch (filename)`
- Applied redaction logic to `ReasoningMessage` in `revibe/cli/textual_ui/widgets/messages.py` to hide raw XML in reasoning blocks
- Model alias validation now allows same aliases for different providers while maintaining uniqueness within each provider.

### Fixed

Comment on lines +40 to 43
Copy link

Copilot AI Dec 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The model configuration now allows duplicate aliases across different providers (e.g., "llama-3.3-70b-groq" and "llama-3.3-70b-cerebras"), but the CHANGELOG states "Model alias validation now allows same aliases for different providers". This seems contradictory - the code changes show aliases were made provider-specific (suffixed with "-groq", "-cerebras"), not that duplicates are allowed. The CHANGELOG description should be clarified to state "Model aliases are now unique per provider rather than globally unique" or similar.

Suggested change
- Model alias validation now allows same aliases for different providers while maintaining uniqueness within each provider.
### Fixed
- Model alias validation now treats aliases as unique per provider rather than globally unique.
### Fixed

Copilot uses AI. Check for mistakes.
- Duplicate model alias found in `VibeConfig` when multiple providers used same alias.
- AttributeError in `revibe --setup` caused by models loaded as dicts instead of ModelConfig objects.
- Type errors in config loading and provider handling.
- Various TUI bug fixes and stability improvements.
- Case-sensitivity issue when specifying tool format via CLI.
- Type errors in backends when implementing `BackendLike` protocol (added missing `supported_formats`).
- Typo in `XMLToolFormatHandler` name property.
Expand Down
Loading
Loading