v2.8.0 (#616)
Co-authored-by: Kim-Adeline Miguel <51720070+kimadeline@users.noreply.github.com> Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai> Co-authored-by: Michel Thomazo <51709227+michelTho@users.noreply.github.com> Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
|
|
@ -28,7 +28,7 @@ class TestACPInitialize:
|
|||
session_capabilities=SessionCapabilities(list=SessionListCapabilities()),
|
||||
)
|
||||
assert response.agent_info == Implementation(
|
||||
name="@mistralai/mistral-vibe", title="Mistral Vibe", version="2.7.6"
|
||||
name="@mistralai/mistral-vibe", title="Mistral Vibe", version="2.8.0"
|
||||
)
|
||||
|
||||
assert response.auth_methods == []
|
||||
|
|
@ -52,7 +52,7 @@ class TestACPInitialize:
|
|||
session_capabilities=SessionCapabilities(list=SessionListCapabilities()),
|
||||
)
|
||||
assert response.agent_info == Implementation(
|
||||
name="@mistralai/mistral-vibe", title="Mistral Vibe", version="2.7.6"
|
||||
name="@mistralai/mistral-vibe", title="Mistral Vibe", version="2.8.0"
|
||||
)
|
||||
|
||||
assert response.auth_methods is not None
|
||||
|
|
|
|||
0
tests/banner/__init__.py
Normal file
167
tests/banner/test_banner_initial_state.py
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
"""Tests for the Banner widget initial state with connectors/MCP."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import Mock, patch
|
||||
|
||||
from vibe.cli.textual_ui.widgets.banner.banner import (
|
||||
Banner,
|
||||
BannerState,
|
||||
_connector_count,
|
||||
_pluralize,
|
||||
)
|
||||
from vibe.core.config import VibeConfig
|
||||
from vibe.core.skills.manager import SkillManager
|
||||
from vibe.core.tools.connectors.connector_registry import ConnectorRegistry
|
||||
from vibe.core.tools.mcp.registry import MCPRegistry
|
||||
|
||||
|
||||
class TestBannerInitialState:
|
||||
"""Test that Banner properly displays initial state including connectors/MCP."""
|
||||
|
||||
def test_pluralize(self) -> None:
|
||||
"""Test pluralization helper."""
|
||||
assert _pluralize(0, "model") == "0 models"
|
||||
assert _pluralize(1, "model") == "1 model"
|
||||
assert _pluralize(2, "model") == "2 models"
|
||||
assert _pluralize(0, "MCP server") == "0 MCP servers"
|
||||
assert _pluralize(1, "MCP server") == "1 MCP server"
|
||||
assert _pluralize(2, "connector") == "2 connectors"
|
||||
|
||||
def test_connector_count_with_registry(self) -> None:
|
||||
"""Test _connector_count with a populated registry."""
|
||||
registry = Mock(spec=ConnectorRegistry)
|
||||
registry.connector_count = 3
|
||||
assert _connector_count(registry) == 3
|
||||
|
||||
def test_connector_count_without_registry(self) -> None:
|
||||
"""Test _connector_count with None registry."""
|
||||
assert _connector_count(None) == 0
|
||||
|
||||
def test_banner_initial_state_includes_connectors(self) -> None:
|
||||
"""Test that Banner._initial_state includes connector count."""
|
||||
config = Mock(spec=VibeConfig)
|
||||
config.active_model = "test-model"
|
||||
config.models = ["test-model"]
|
||||
config.mcp_servers = []
|
||||
config.disable_welcome_banner_animation = False
|
||||
|
||||
skill_manager = Mock(spec=SkillManager)
|
||||
skill_manager.custom_skills_count = 0
|
||||
|
||||
mcp_registry = Mock(spec=MCPRegistry)
|
||||
mcp_registry.count_loaded.return_value = 0
|
||||
|
||||
connector_registry = Mock(spec=ConnectorRegistry)
|
||||
connector_registry.connector_count = 5
|
||||
|
||||
banner = Banner(
|
||||
config=config,
|
||||
skill_manager=skill_manager,
|
||||
mcp_registry=mcp_registry,
|
||||
connector_registry=connector_registry,
|
||||
)
|
||||
|
||||
assert banner._initial_state.active_model == "test-model"
|
||||
assert banner._initial_state.models_count == 1
|
||||
assert banner._initial_state.mcp_servers_count == 0
|
||||
assert banner._initial_state.connectors_count == 5
|
||||
assert banner._initial_state.skills_count == 0
|
||||
|
||||
def test_banner_initial_state_with_none_connector_registry(self) -> None:
|
||||
"""Test that Banner._initial_state handles None connector registry."""
|
||||
config = Mock(spec=VibeConfig)
|
||||
config.active_model = "test-model"
|
||||
config.models = ["test-model"]
|
||||
config.mcp_servers = []
|
||||
config.disable_welcome_banner_animation = False
|
||||
|
||||
skill_manager = Mock(spec=SkillManager)
|
||||
skill_manager.custom_skills_count = 0
|
||||
|
||||
mcp_registry = Mock(spec=MCPRegistry)
|
||||
mcp_registry.count_loaded.return_value = 0
|
||||
|
||||
banner = Banner(
|
||||
config=config,
|
||||
skill_manager=skill_manager,
|
||||
mcp_registry=mcp_registry,
|
||||
connector_registry=None,
|
||||
)
|
||||
|
||||
assert banner._initial_state.connectors_count == 0
|
||||
|
||||
def test_format_meta_counts_includes_connectors(self) -> None:
|
||||
"""Test that _format_meta_counts includes connector count when > 0."""
|
||||
# Test _format_meta_counts by directly calling it on a Banner instance
|
||||
config = Mock(spec=VibeConfig)
|
||||
config.active_model = "test-model"
|
||||
config.models = [] # Must be a list for len() to work
|
||||
config.mcp_servers = []
|
||||
config.disable_welcome_banner_animation = False
|
||||
|
||||
skill_manager = Mock(spec=SkillManager)
|
||||
skill_manager.custom_skills_count = 0
|
||||
|
||||
mcp_registry = Mock(spec=MCPRegistry)
|
||||
mcp_registry.count_loaded.return_value = 0
|
||||
|
||||
banner = Banner(
|
||||
config=config,
|
||||
skill_manager=skill_manager,
|
||||
mcp_registry=mcp_registry,
|
||||
connector_registry=None,
|
||||
)
|
||||
|
||||
# Now test _format_meta_counts by setting state
|
||||
banner.state = BannerState(
|
||||
models_count=2, mcp_servers_count=1, connectors_count=3, skills_count=5
|
||||
)
|
||||
result = banner._format_meta_counts()
|
||||
assert "2 models" in result
|
||||
assert "3 connectors" in result
|
||||
assert "1 MCP server" in result
|
||||
assert "5 skills" in result
|
||||
|
||||
# Test without connectors
|
||||
banner.state = BannerState(
|
||||
models_count=2, mcp_servers_count=1, connectors_count=0, skills_count=5
|
||||
)
|
||||
result = banner._format_meta_counts()
|
||||
assert "2 models" in result
|
||||
assert "connectors" not in result # Should not appear when 0
|
||||
assert "1 MCP server" in result
|
||||
assert "5 skills" in result
|
||||
|
||||
|
||||
class TestBannerWithEnabledConnectors:
|
||||
"""Integration tests for Banner with EXPERIMENTAL_ENABLE_CONNECTORS=1."""
|
||||
|
||||
@patch("vibe.core.tools.connectors.connectors_enabled")
|
||||
def test_connectors_enabled_flag(self, mock_enabled: Mock) -> None:
|
||||
"""Test that connector count is read when enabled."""
|
||||
mock_enabled.return_value = True
|
||||
|
||||
config = Mock(spec=VibeConfig)
|
||||
config.active_model = "test-model"
|
||||
config.models = ["test-model"]
|
||||
config.mcp_servers = []
|
||||
config.disable_welcome_banner_animation = False
|
||||
|
||||
skill_manager = Mock(spec=SkillManager)
|
||||
skill_manager.custom_skills_count = 0
|
||||
|
||||
mcp_registry = Mock(spec=MCPRegistry)
|
||||
mcp_registry.count_loaded.return_value = 0
|
||||
|
||||
connector_registry = Mock(spec=ConnectorRegistry)
|
||||
connector_registry.connector_count = 5
|
||||
|
||||
banner = Banner(
|
||||
config=config,
|
||||
skill_manager=skill_manager,
|
||||
mcp_registry=mcp_registry,
|
||||
connector_registry=connector_registry,
|
||||
)
|
||||
|
||||
assert banner._initial_state.connectors_count == 5
|
||||
|
|
@ -9,6 +9,7 @@ class TestCommandRegistry:
|
|||
assert registry.get_command_name("/help") == "help"
|
||||
assert registry.get_command_name("/config") == "config"
|
||||
assert registry.get_command_name("/model") == "model"
|
||||
assert registry.get_command_name("/connectors") == "mcp"
|
||||
assert registry.get_command_name("/clear") == "clear"
|
||||
assert registry.get_command_name("/exit") == "exit"
|
||||
assert registry.get_command_name("/data-retention") == "data-retention"
|
||||
|
|
@ -77,6 +78,11 @@ class TestCommandRegistry:
|
|||
result = registry.parse_command("/mcp filesystem")
|
||||
assert result == ("mcp", registry.commands["mcp"], "filesystem")
|
||||
|
||||
def test_parse_command_maps_connector_alias_to_mcp(self) -> None:
|
||||
registry = CommandRegistry()
|
||||
result = registry.parse_command("/connectors filesystem")
|
||||
assert result == ("mcp", registry.commands["mcp"], "filesystem")
|
||||
|
||||
def test_data_retention_command_registration(self) -> None:
|
||||
registry = CommandRegistry()
|
||||
result = registry.parse_command("/data-retention")
|
||||
|
|
|
|||
|
|
@ -2,11 +2,19 @@ from __future__ import annotations
|
|||
|
||||
from collections.abc import AsyncGenerator
|
||||
from typing import Any
|
||||
from unittest.mock import MagicMock
|
||||
from unittest.mock import AsyncMock, MagicMock
|
||||
|
||||
from vibe.cli.textual_ui.widgets.mcp_app import MCPApp, collect_mcp_tool_index
|
||||
import pytest
|
||||
|
||||
from tests.stubs.fake_connector_registry import FakeConnectorRegistry
|
||||
from vibe.cli.textual_ui.widgets.mcp_app import (
|
||||
MCPApp,
|
||||
_sort_connector_names_for_menu,
|
||||
collect_mcp_tool_index,
|
||||
)
|
||||
from vibe.core.config import MCPStdio
|
||||
from vibe.core.tools.base import InvokeContext
|
||||
from vibe.core.tools.connectors.connector_registry import RemoteTool
|
||||
from vibe.core.tools.mcp.tools import MCPTool, MCPToolResult, _OpenArgs
|
||||
from vibe.core.types import ToolStreamEvent
|
||||
|
||||
|
|
@ -158,3 +166,103 @@ class TestMCPAppInit:
|
|||
)
|
||||
app.action_back()
|
||||
assert render_calls == []
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_action_refresh_dispatches_worker(self) -> None:
|
||||
servers = [MCPStdio(name="srv", transport="stdio", command="cmd")]
|
||||
mgr = _make_tool_manager({})
|
||||
refresh_callback = AsyncMock(return_value="Refreshed.")
|
||||
app = MCPApp(
|
||||
mcp_servers=servers, tool_manager=mgr, refresh_callback=refresh_callback
|
||||
)
|
||||
app._viewing_server = "srv"
|
||||
render_calls: list[tuple[str | None, str | None]] = []
|
||||
app._refresh_view = lambda server_name, *, kind=None: render_calls.append((
|
||||
server_name,
|
||||
kind,
|
||||
))
|
||||
app.run_worker = MagicMock()
|
||||
|
||||
await app.action_refresh()
|
||||
|
||||
assert app._status_message == "Refreshing..."
|
||||
assert render_calls == [("srv", None)]
|
||||
app.run_worker.assert_called_once()
|
||||
|
||||
def test_on_worker_state_changed_updates_after_refresh(self) -> None:
|
||||
from textual.worker import Worker
|
||||
|
||||
servers = [MCPStdio(name="srv", transport="stdio", command="cmd")]
|
||||
mgr = _make_tool_manager({})
|
||||
app = MCPApp(mcp_servers=servers, tool_manager=mgr)
|
||||
app.refresh_index = MagicMock()
|
||||
|
||||
worker = MagicMock(spec=Worker)
|
||||
worker.group = "refresh"
|
||||
worker.is_finished = True
|
||||
worker.result = "Refreshed."
|
||||
event = MagicMock(spec=Worker.StateChanged)
|
||||
event.worker = worker
|
||||
|
||||
app.on_worker_state_changed(event)
|
||||
|
||||
assert app._status_message == "Refreshed."
|
||||
assert app._refreshing is False
|
||||
app.refresh_index.assert_called_once()
|
||||
|
||||
def test_close_blocked_while_refreshing(self) -> None:
|
||||
mgr = _make_tool_manager({})
|
||||
app = MCPApp(mcp_servers=[], tool_manager=mgr)
|
||||
app._refreshing = True
|
||||
app.post_message = MagicMock()
|
||||
|
||||
app.action_close()
|
||||
|
||||
app.post_message.assert_not_called()
|
||||
|
||||
def test_back_blocked_while_refreshing(self) -> None:
|
||||
servers = [MCPStdio(name="srv", transport="stdio", command="cmd")]
|
||||
mgr = _make_tool_manager({})
|
||||
app = MCPApp(mcp_servers=servers, tool_manager=mgr)
|
||||
app._viewing_server = "srv"
|
||||
app._refreshing = True
|
||||
render_calls: list[str | None] = []
|
||||
app._refresh_view = lambda server_name, *, kind=None: render_calls.append(
|
||||
server_name
|
||||
)
|
||||
|
||||
app.action_back()
|
||||
|
||||
assert render_calls == []
|
||||
|
||||
|
||||
class TestConnectorMenuOrdering:
|
||||
def test_connectors_are_sorted_by_connected_state_then_name(self) -> None:
|
||||
registry = FakeConnectorRegistry(
|
||||
connectors={
|
||||
"zeta": [],
|
||||
"alpha": [RemoteTool(name="lookup", description="Lookup")],
|
||||
"beta": [],
|
||||
}
|
||||
)
|
||||
|
||||
ordered = _sort_connector_names_for_menu(
|
||||
registry.get_connector_names(), registry
|
||||
)
|
||||
|
||||
assert ordered == ["alpha", "beta", "zeta"]
|
||||
|
||||
def test_sorting_is_case_insensitive(self) -> None:
|
||||
registry = FakeConnectorRegistry(
|
||||
connectors={
|
||||
"Zeta": [],
|
||||
"alpha": [RemoteTool(name="lookup", description="Lookup")],
|
||||
"Beta": [],
|
||||
}
|
||||
)
|
||||
|
||||
ordered = _sort_connector_names_for_menu(
|
||||
registry.get_connector_names(), registry
|
||||
)
|
||||
|
||||
assert ordered == ["alpha", "Beta", "Zeta"]
|
||||
|
|
|
|||
|
|
@ -129,24 +129,3 @@ async def test_skill_without_args_does_not_prepend_invocation_line(
|
|||
vibe_app_with_skills, pilot, "Do the thing."
|
||||
)
|
||||
assert "/my-skill" not in message._content
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_skill_with_missing_file_shows_error(tmp_path: Path) -> None:
|
||||
skills_dir = tmp_path / "skills"
|
||||
skills_dir.mkdir()
|
||||
skill_dir = create_skill(skills_dir, "my-skill", body=SKILL_BODY)
|
||||
vibe_app = build_test_vibe_app(
|
||||
config=build_test_vibe_config(skill_paths=[skills_dir])
|
||||
)
|
||||
(skill_dir / "SKILL.md").unlink()
|
||||
|
||||
async with vibe_app.run_test() as pilot:
|
||||
await pilot.pause(0.1)
|
||||
chat_input = vibe_app.query_one(ChatInputContainer)
|
||||
chat_input.post_message(ChatInputContainer.Submitted("/my-skill"))
|
||||
|
||||
error = await _wait_for_error_message_containing(
|
||||
vibe_app, pilot, "Failed to read skill file"
|
||||
)
|
||||
assert "Failed to read skill file" in error._error
|
||||
|
|
|
|||
216
tests/core/test_config_field.py
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from dataclasses import FrozenInstanceError
|
||||
from typing import Annotated
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
import pytest
|
||||
|
||||
from vibe.core.config.schema import (
|
||||
DuplicateMergeMetadataError,
|
||||
MergeFieldMetadata,
|
||||
WithConcatMerge,
|
||||
WithConflictMerge,
|
||||
WithReplaceMerge,
|
||||
WithShallowMerge,
|
||||
WithUnionMerge,
|
||||
)
|
||||
from vibe.core.utils.merge import MergeConflictError, MergeKeyError, MergeStrategy
|
||||
|
||||
|
||||
class TestMergeFieldMetadata:
|
||||
def test_frozen(self) -> None:
|
||||
info = WithReplaceMerge()
|
||||
with pytest.raises(FrozenInstanceError):
|
||||
info.merge_strategy = MergeStrategy.CONCAT # type: ignore[misc]
|
||||
|
||||
def test_equality(self) -> None:
|
||||
assert WithReplaceMerge() == WithReplaceMerge()
|
||||
|
||||
def test_inequality(self) -> None:
|
||||
assert WithReplaceMerge() != WithConcatMerge()
|
||||
|
||||
def test_from_field_returns_correct_subclass(self) -> None:
|
||||
class _M(BaseModel):
|
||||
x: Annotated[str, WithReplaceMerge()] = "a"
|
||||
|
||||
info = MergeFieldMetadata.from_field(_M.model_fields["x"])
|
||||
assert isinstance(info, WithReplaceMerge)
|
||||
assert info.merge_strategy is MergeStrategy.REPLACE
|
||||
|
||||
def test_from_field_rejects_duplicate_markers(self) -> None:
|
||||
class _M(BaseModel):
|
||||
x: Annotated[str, WithReplaceMerge(), WithConflictMerge()] = "a"
|
||||
|
||||
with pytest.raises(DuplicateMergeMetadataError):
|
||||
MergeFieldMetadata.from_field(_M.model_fields["x"])
|
||||
|
||||
def test_from_field_returns_none_for_plain_field(self) -> None:
|
||||
class _M(BaseModel):
|
||||
x: str = "a"
|
||||
|
||||
assert MergeFieldMetadata.from_field(_M.model_fields["x"]) is None
|
||||
|
||||
|
||||
class TestWithUnionMerge:
|
||||
def test_merge_key_required(self) -> None:
|
||||
with pytest.raises(TypeError, match="requires merge_key"):
|
||||
WithUnionMerge()
|
||||
|
||||
def test_merge_key_stored(self) -> None:
|
||||
marker = WithUnionMerge(merge_key="alias")
|
||||
assert marker.merge_key == "alias"
|
||||
assert marker.merge_strategy is MergeStrategy.UNION
|
||||
|
||||
|
||||
class _ToolConfig(BaseModel):
|
||||
enabled: bool = True
|
||||
timeout: int = 30
|
||||
|
||||
|
||||
class _ModelConfig(BaseModel):
|
||||
alias: str
|
||||
provider: str
|
||||
|
||||
|
||||
class _SampleConfig(BaseModel):
|
||||
active_model: Annotated[str, WithReplaceMerge()] = "devstral-2"
|
||||
disabled_tools: Annotated[list[str], WithConcatMerge()] = Field(
|
||||
default_factory=list
|
||||
)
|
||||
models: Annotated[list[_ModelConfig], WithUnionMerge(merge_key="alias")] = Field(
|
||||
default_factory=list
|
||||
)
|
||||
tools: Annotated[dict[str, _ToolConfig], WithShallowMerge()] = Field(
|
||||
default_factory=dict
|
||||
)
|
||||
allowed_hosts: Annotated[list[str] | None, WithConflictMerge()] = None
|
||||
|
||||
|
||||
class TestAnnotatedFieldInModel:
|
||||
def test_model_instantiates_with_defaults(self) -> None:
|
||||
cfg = _SampleConfig()
|
||||
assert cfg.active_model == "devstral-2"
|
||||
assert cfg.disabled_tools == []
|
||||
assert cfg.models == []
|
||||
assert cfg.tools == {}
|
||||
assert cfg.allowed_hosts is None
|
||||
|
||||
def test_all_fields_have_merge_info(self) -> None:
|
||||
for name, field_info in _SampleConfig.model_fields.items():
|
||||
info = MergeFieldMetadata.from_field(field_info)
|
||||
assert info is not None, f"Field '{name}' missing MergeFieldMetadata"
|
||||
|
||||
def test_merge_replace_via_field(self) -> None:
|
||||
info = MergeFieldMetadata.from_field(_SampleConfig.model_fields["active_model"])
|
||||
assert info is not None
|
||||
assert (
|
||||
info.merge_strategy.apply("devstral-2", "mistral-large") == "mistral-large"
|
||||
)
|
||||
|
||||
def test_merge_concat_via_field(self) -> None:
|
||||
info = MergeFieldMetadata.from_field(
|
||||
_SampleConfig.model_fields["disabled_tools"]
|
||||
)
|
||||
assert info is not None
|
||||
result = info.merge_strategy.apply(["tool_a"], ["tool_b", "tool_c"])
|
||||
assert result == ["tool_a", "tool_b", "tool_c"]
|
||||
|
||||
def test_merge_union_via_field(self) -> None:
|
||||
info = MergeFieldMetadata.from_field(_SampleConfig.model_fields["models"])
|
||||
assert info is not None
|
||||
assert info.merge_key == "alias"
|
||||
|
||||
base = [{"alias": "m1", "provider": "p1"}, {"alias": "m2", "provider": "p2"}]
|
||||
override = [{"alias": "m2", "provider": "p2-override"}]
|
||||
key_fn = lambda item: item[info.merge_key]
|
||||
result = info.merge_strategy.apply(base, override, key_fn=key_fn)
|
||||
|
||||
assert len(result) == 2
|
||||
assert result[0] == {"alias": "m1", "provider": "p1"}
|
||||
assert result[1] == {"alias": "m2", "provider": "p2-override"}
|
||||
|
||||
def test_merge_union_missing_key_raises(self) -> None:
|
||||
base = [{"alias": "m1", "provider": "p1"}]
|
||||
override = [{"provider": "p2"}] # missing "alias"
|
||||
key_fn = lambda item: item["alias"]
|
||||
with pytest.raises(MergeKeyError):
|
||||
MergeStrategy.UNION.apply(base, override, key_fn=key_fn)
|
||||
|
||||
def test_merge_merge_via_field(self) -> None:
|
||||
info = MergeFieldMetadata.from_field(_SampleConfig.model_fields["tools"])
|
||||
assert info is not None
|
||||
|
||||
base = {
|
||||
"search": _ToolConfig(enabled=True, timeout=30),
|
||||
"browser": _ToolConfig(timeout=60),
|
||||
}
|
||||
override = {
|
||||
"browser": _ToolConfig(enabled=False, timeout=120),
|
||||
"code": _ToolConfig(),
|
||||
}
|
||||
result = info.merge_strategy.apply(base, override)
|
||||
assert result == {
|
||||
"search": _ToolConfig(enabled=True, timeout=30),
|
||||
"browser": _ToolConfig(enabled=False, timeout=120),
|
||||
"code": _ToolConfig(),
|
||||
}
|
||||
|
||||
def test_merge_conflict_via_field(self) -> None:
|
||||
info = MergeFieldMetadata.from_field(
|
||||
_SampleConfig.model_fields["allowed_hosts"]
|
||||
)
|
||||
assert info is not None
|
||||
with pytest.raises(MergeConflictError):
|
||||
info.merge_strategy.apply(["host1"], ["host2"])
|
||||
|
||||
def test_merge_conflict_single_side_ok(self) -> None:
|
||||
info = MergeFieldMetadata.from_field(
|
||||
_SampleConfig.model_fields["allowed_hosts"]
|
||||
)
|
||||
assert info is not None
|
||||
assert info.merge_strategy.apply(None, ["host1"]) == ["host1"]
|
||||
assert info.merge_strategy.apply(["host1"], None) == ["host1"]
|
||||
|
||||
def test_full_merge_through_model_validate(self) -> None:
|
||||
base_layer: dict[str, object] = {
|
||||
"active_model": "devstral-2",
|
||||
"disabled_tools": ["tool_a"],
|
||||
"models": [{"alias": "m1", "provider": "p1"}],
|
||||
"tools": {"search": {"enabled": True, "timeout": 30}},
|
||||
}
|
||||
override_layer: dict[str, object] = {
|
||||
"active_model": "mistral-large",
|
||||
"disabled_tools": ["tool_b"],
|
||||
"models": [
|
||||
{"alias": "m1", "provider": "p1-override"},
|
||||
{"alias": "m2", "provider": "p2"},
|
||||
],
|
||||
"tools": {"code": {"enabled": True, "timeout": 10}},
|
||||
}
|
||||
|
||||
merged = {**base_layer}
|
||||
for key, override_val in override_layer.items():
|
||||
info = MergeFieldMetadata.from_field(_SampleConfig.model_fields[key])
|
||||
assert info is not None
|
||||
|
||||
key_fn = None
|
||||
if info.merge_key is not None:
|
||||
attr = info.merge_key
|
||||
key_fn = lambda item, a=attr: item[a]
|
||||
|
||||
merged[key] = info.merge_strategy.apply(
|
||||
base_layer.get(key), override_val, key_fn=key_fn
|
||||
)
|
||||
|
||||
cfg = _SampleConfig.model_validate(merged)
|
||||
|
||||
assert cfg.active_model == "mistral-large"
|
||||
assert cfg.disabled_tools == ["tool_a", "tool_b"]
|
||||
assert len(cfg.models) == 2
|
||||
assert cfg.models[0].alias == "m1"
|
||||
assert cfg.models[0].provider == "p1-override"
|
||||
assert cfg.models[1].alias == "m2"
|
||||
assert cfg.tools["search"].enabled is True
|
||||
assert cfg.tools["code"].timeout == 10
|
||||
assert cfg.allowed_hosts is None
|
||||
|
|
@ -4,7 +4,7 @@ from unittest.mock import MagicMock
|
|||
|
||||
import pytest
|
||||
|
||||
from vibe.core.utils.merge import MergeConflictError, MergeStrategy
|
||||
from vibe.core.utils.merge import MergeConflictError, MergeKeyError, MergeStrategy
|
||||
|
||||
|
||||
class TestMergeStrategyEnum:
|
||||
|
|
@ -103,6 +103,13 @@ class TestUnion:
|
|||
with pytest.raises(TypeError, match="UNION requires list operands"):
|
||||
MergeStrategy.UNION.apply("a", [1], key_fn=str)
|
||||
|
||||
def test_raises_merge_key_error_for_missing_key(self) -> None:
|
||||
base = [{"name": "a", "v": 1}]
|
||||
override = [{"v": 2}] # missing "name"
|
||||
with pytest.raises(MergeKeyError) as exc_info:
|
||||
MergeStrategy.UNION.apply(base, override, key_fn=lambda x: x["name"])
|
||||
assert exc_info.value.key == "name"
|
||||
|
||||
|
||||
class TestMerge:
|
||||
def test_dicts_merged_one_level(self) -> None:
|
||||
|
|
@ -161,3 +168,16 @@ class TestMergeConflictError:
|
|||
err = MergeConflictError("active_model")
|
||||
assert str(err) == "Merge conflict on field 'active_model'"
|
||||
assert err.field_name == "active_model"
|
||||
|
||||
|
||||
class TestMergeKeyError:
|
||||
def test_message_includes_key_and_item(self) -> None:
|
||||
item = {"v": 2}
|
||||
err = MergeKeyError("name", item)
|
||||
assert "name" in str(err)
|
||||
assert str(item) in str(err)
|
||||
assert err.key == "name"
|
||||
assert err.item == item
|
||||
|
||||
def test_is_key_error(self) -> None:
|
||||
assert issubclass(MergeKeyError, KeyError)
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ class TestTelemetryClient:
|
|||
status="success",
|
||||
decision=decision,
|
||||
agent_profile_name="default",
|
||||
model="mistral-large",
|
||||
)
|
||||
|
||||
assert len(telemetry_events) == 1
|
||||
|
|
@ -146,6 +147,7 @@ class TestTelemetryClient:
|
|||
assert properties["decision"] == "execute"
|
||||
assert properties["approval_type"] == "always"
|
||||
assert properties["agent_profile_name"] == "default"
|
||||
assert properties["model"] == "mistral-large"
|
||||
assert properties["nb_files_created"] == 0
|
||||
assert properties["nb_files_modified"] == 0
|
||||
|
||||
|
|
@ -161,6 +163,7 @@ class TestTelemetryClient:
|
|||
status="success",
|
||||
decision=None,
|
||||
agent_profile_name="default",
|
||||
model="mistral-large",
|
||||
result={"file_existed": False},
|
||||
)
|
||||
|
||||
|
|
@ -179,6 +182,7 @@ class TestTelemetryClient:
|
|||
status="success",
|
||||
decision=None,
|
||||
agent_profile_name="default",
|
||||
model="mistral-large",
|
||||
result={"file_existed": True},
|
||||
)
|
||||
|
||||
|
|
@ -197,6 +201,7 @@ class TestTelemetryClient:
|
|||
status="skipped",
|
||||
decision=None,
|
||||
agent_profile_name="default",
|
||||
model="mistral-large",
|
||||
)
|
||||
|
||||
assert telemetry_events[0]["properties"]["decision"] is None
|
||||
|
|
@ -384,6 +389,27 @@ class TestTelemetryClient:
|
|||
calls[1].kwargs["json"]["properties"]["session_id"] == "second-session-id"
|
||||
)
|
||||
|
||||
def test_send_request_sent_payload(
|
||||
self, telemetry_events: list[dict[str, Any]]
|
||||
) -> None:
|
||||
config = build_test_vibe_config(enable_telemetry=True)
|
||||
client = TelemetryClient(config_getter=lambda: config)
|
||||
|
||||
client.send_request_sent(
|
||||
model="codestral",
|
||||
nb_context_chars=1234,
|
||||
nb_context_messages=5,
|
||||
nb_prompt_chars=42,
|
||||
)
|
||||
|
||||
assert len(telemetry_events) == 1
|
||||
assert telemetry_events[0]["event_name"] == "vibe.request_sent"
|
||||
properties = telemetry_events[0]["properties"]
|
||||
assert properties["model"] == "codestral"
|
||||
assert properties["nb_context_chars"] == 1234
|
||||
assert properties["nb_context_messages"] == 5
|
||||
assert properties["nb_prompt_chars"] == 42
|
||||
|
||||
def test_send_user_rating_feedback_payload(
|
||||
self, telemetry_events: list[dict[str, Any]]
|
||||
) -> None:
|
||||
|
|
|
|||
51
tests/skills/test_builtin_sync.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from tests.conftest import build_test_vibe_config
|
||||
from tests.skills.conftest import create_skill
|
||||
from vibe.core.skills.builtins import BUILTIN_SKILLS
|
||||
from vibe.core.skills.manager import SkillManager
|
||||
|
||||
|
||||
class TestBuiltinSkills:
|
||||
def test_vibe_skill_is_registered(self) -> None:
|
||||
assert "vibe" in BUILTIN_SKILLS
|
||||
|
||||
def test_vibe_skill_has_no_path(self) -> None:
|
||||
assert BUILTIN_SKILLS["vibe"].skill_path is None
|
||||
|
||||
def test_vibe_skill_has_inline_prompt(self) -> None:
|
||||
assert BUILTIN_SKILLS["vibe"].prompt
|
||||
|
||||
def test_discovers_builtin_skills(self, monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
monkeypatch.setattr("vibe.core.skills.manager.BUILTIN_SKILLS", BUILTIN_SKILLS)
|
||||
config = build_test_vibe_config(
|
||||
system_prompt_id="tests", include_project_context=False
|
||||
)
|
||||
manager = SkillManager(lambda: config)
|
||||
|
||||
assert "vibe" in manager.available_skills
|
||||
|
||||
def test_user_skill_cannot_override_builtin(
|
||||
self, tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
||||
) -> None:
|
||||
monkeypatch.setattr("vibe.core.skills.manager.BUILTIN_SKILLS", BUILTIN_SKILLS)
|
||||
skills_dir = tmp_path / "skills"
|
||||
skills_dir.mkdir()
|
||||
create_skill(skills_dir, "vibe", "Custom vibe override")
|
||||
|
||||
config = build_test_vibe_config(
|
||||
system_prompt_id="tests",
|
||||
include_project_context=False,
|
||||
skill_paths=[skills_dir],
|
||||
)
|
||||
manager = SkillManager(lambda: config)
|
||||
|
||||
assert "vibe" in manager.available_skills
|
||||
assert (
|
||||
manager.available_skills["vibe"].description
|
||||
== BUILTIN_SKILLS["vibe"].description
|
||||
)
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
from typing import cast
|
||||
|
||||
import pytest
|
||||
|
||||
from tests.conftest import build_test_vibe_config
|
||||
from tests.skills.conftest import create_skill
|
||||
from vibe.core.config import VibeConfig
|
||||
from vibe.core.skills.builtins import BUILTIN_SKILLS
|
||||
from vibe.core.skills.manager import SkillManager
|
||||
from vibe.core.trusted_folders import trusted_folders_manager
|
||||
|
||||
|
|
@ -24,10 +26,15 @@ def skill_manager(config: VibeConfig) -> SkillManager:
|
|||
|
||||
|
||||
class TestSkillManagerDiscovery:
|
||||
def test_available_skills_is_frozen(self, skill_manager: SkillManager) -> None:
|
||||
frozen_skills = cast(dict[str, object], skill_manager.available_skills)
|
||||
with pytest.raises(TypeError):
|
||||
frozen_skills["new-skill"] = object()
|
||||
|
||||
def test_discovers_no_skills_when_directory_empty(
|
||||
self, skill_manager: SkillManager
|
||||
) -> None:
|
||||
assert skill_manager.available_skills == {}
|
||||
assert skill_manager.available_skills == BUILTIN_SKILLS
|
||||
|
||||
def test_discovers_skill_from_skill_paths(self, skills_dir: Path) -> None:
|
||||
create_skill(skills_dir, "test-skill", "A test skill")
|
||||
|
|
@ -54,7 +61,7 @@ class TestSkillManagerDiscovery:
|
|||
)
|
||||
manager = SkillManager(lambda: config)
|
||||
|
||||
assert len(manager.available_skills) == 3
|
||||
assert len(manager.available_skills) == 3 + len(BUILTIN_SKILLS)
|
||||
assert "skill-one" in manager.available_skills
|
||||
assert "skill-two" in manager.available_skills
|
||||
assert "skill-three" in manager.available_skills
|
||||
|
|
@ -76,7 +83,7 @@ class TestSkillManagerDiscovery:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert "valid-skill" in skills
|
||||
assert "not-a-skill" not in skills
|
||||
|
||||
|
|
@ -95,7 +102,7 @@ class TestSkillManagerDiscovery:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert "valid-skill" in skills
|
||||
|
||||
|
||||
|
|
@ -159,7 +166,7 @@ class TestSkillManagerParsing:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert "valid-skill" in skills
|
||||
assert "invalid-skill" not in skills
|
||||
|
||||
|
|
@ -180,7 +187,7 @@ class TestSkillManagerParsing:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert "valid-skill" in skills
|
||||
|
||||
|
||||
|
|
@ -239,9 +246,10 @@ class TestSkillManagerSearchPaths:
|
|||
)
|
||||
manager = SkillManager(lambda: config)
|
||||
|
||||
assert len(manager.available_skills) == 2
|
||||
assert manager.available_skills["vibe-only"].description == "From .vibe"
|
||||
assert manager.available_skills["agents-only"].description == "From .agents"
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 2 + len(BUILTIN_SKILLS)
|
||||
assert skills["vibe-only"].description == "From .vibe"
|
||||
assert skills["agents-only"].description == "From .agents"
|
||||
|
||||
def test_first_discovered_wins_when_same_skill_in_vibe_and_agents(
|
||||
self, tmp_working_directory: Path
|
||||
|
|
@ -259,10 +267,9 @@ class TestSkillManagerSearchPaths:
|
|||
)
|
||||
manager = SkillManager(lambda: config)
|
||||
|
||||
assert len(manager.available_skills) == 1
|
||||
assert (
|
||||
manager.available_skills["shared-skill"].description == "First from .vibe"
|
||||
)
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert skills["shared-skill"].description == "First from .vibe"
|
||||
|
||||
def test_discovers_from_multiple_skill_paths(self, tmp_path: Path) -> None:
|
||||
# Create two separate skill directories
|
||||
|
|
@ -282,7 +289,7 @@ class TestSkillManagerSearchPaths:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 2
|
||||
assert len(skills) == 2 + len(BUILTIN_SKILLS)
|
||||
assert "skill-from-dir1" in skills
|
||||
assert "skill-from-dir2" in skills
|
||||
|
||||
|
|
@ -304,7 +311,7 @@ class TestSkillManagerSearchPaths:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert skills["duplicate-skill"].description == "First version"
|
||||
|
||||
def test_ignores_nonexistent_skill_paths(self, tmp_path: Path) -> None:
|
||||
|
|
@ -319,8 +326,9 @@ class TestSkillManagerSearchPaths:
|
|||
)
|
||||
manager = SkillManager(lambda: config)
|
||||
|
||||
assert len(manager.available_skills) == 1
|
||||
assert "valid-skill" in manager.available_skills
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 1 + len(BUILTIN_SKILLS)
|
||||
assert "valid-skill" in skills
|
||||
|
||||
|
||||
class TestSkillManagerGetSkill:
|
||||
|
|
@ -376,7 +384,7 @@ class TestSkillManagerFiltering:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 2
|
||||
assert len(skills) == 2 + len(BUILTIN_SKILLS)
|
||||
assert "skill-a" in skills
|
||||
assert "skill-b" not in skills
|
||||
assert "skill-c" in skills
|
||||
|
|
@ -514,7 +522,7 @@ class TestSkillUserInvocable:
|
|||
manager = SkillManager(lambda: config)
|
||||
|
||||
skills = manager.available_skills
|
||||
assert len(skills) == 3
|
||||
assert len(skills) == 3 + len(BUILTIN_SKILLS)
|
||||
assert skills["visible-skill"].user_invocable is True
|
||||
assert skills["hidden-skill"].user_invocable is False
|
||||
assert skills["default-skill"].user_invocable is True
|
||||
|
|
@ -561,16 +569,6 @@ class TestParseSkillCommand:
|
|||
assert parsed is not None
|
||||
assert parsed.name == "my-skill"
|
||||
|
||||
def test_raises_on_unreadable_skill(
|
||||
self, skills_dir: Path, skill_config: VibeConfig
|
||||
) -> None:
|
||||
create_skill(skills_dir, "bad-skill", body="content")
|
||||
manager = SkillManager(lambda: skill_config)
|
||||
(skills_dir / "bad-skill" / "SKILL.md").unlink()
|
||||
|
||||
with pytest.raises(OSError):
|
||||
manager.parse_skill_command("/bad-skill")
|
||||
|
||||
|
||||
class TestBuildSkillPrompt:
|
||||
def test_without_args(self, skills_dir: Path, skill_config: VibeConfig) -> None:
|
||||
|
|
|
|||
|
|
@ -127,13 +127,14 @@ class TestSkillInfo:
|
|||
meta = SkillMetadata(
|
||||
name="test-skill", description="A test skill", license="MIT"
|
||||
)
|
||||
info = SkillInfo.from_metadata(meta, skill_path)
|
||||
info = SkillInfo.from_metadata(meta, skill_path, prompt="Skill body")
|
||||
skill_dir = info.skill_dir
|
||||
|
||||
assert info.name == "test-skill"
|
||||
assert info.description == "A test skill"
|
||||
assert info.license == "MIT"
|
||||
assert info.skill_path == skill_path.resolve()
|
||||
assert info.skill_dir == skill_path.parent.resolve()
|
||||
assert skill_dir == skill_path.parent.resolve()
|
||||
|
||||
def test_creates_with_all_fields(self, tmp_path: Path) -> None:
|
||||
skill_path = tmp_path / "full-skill" / "SKILL.md"
|
||||
|
|
@ -149,6 +150,7 @@ class TestSkillInfo:
|
|||
allowed_tools=["bash"],
|
||||
user_invocable=False,
|
||||
skill_path=skill_path,
|
||||
prompt="Skill body",
|
||||
)
|
||||
|
||||
assert info.name == "full-skill"
|
||||
|
|
@ -167,9 +169,11 @@ class TestSkillInfo:
|
|||
skill_path.touch()
|
||||
|
||||
meta = SkillMetadata(name="test-skill", description="A test skill")
|
||||
info = SkillInfo.from_metadata(meta, skill_path)
|
||||
info = SkillInfo.from_metadata(meta, skill_path, prompt="Skill body")
|
||||
|
||||
assert info.skill_path is not None
|
||||
assert info.skill_path.is_absolute()
|
||||
assert info.skill_dir is not None
|
||||
assert info.skill_dir.is_absolute()
|
||||
|
||||
def test_inherits_all_metadata_fields(self, tmp_path: Path) -> None:
|
||||
|
|
@ -186,10 +190,18 @@ class TestSkillInfo:
|
|||
allowed_tools=["bash", "grep"],
|
||||
user_invocable=False,
|
||||
)
|
||||
info = SkillInfo.from_metadata(meta, skill_path)
|
||||
info = SkillInfo.from_metadata(meta, skill_path, prompt="Skill body")
|
||||
|
||||
assert info.license == meta.license
|
||||
assert info.compatibility == meta.compatibility
|
||||
assert info.metadata == meta.metadata
|
||||
assert info.allowed_tools == meta.allowed_tools
|
||||
assert info.user_invocable == meta.user_invocable
|
||||
|
||||
def test_can_omit_skill_path_for_builtin_inline_prompt(self) -> None:
|
||||
info = SkillInfo(
|
||||
name="vibe", description="Builtin skill", prompt="Inline prompt"
|
||||
)
|
||||
|
||||
assert info.skill_path is None
|
||||
assert info.skill_dir is None
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ from __future__ import annotations
|
|||
|
||||
import pytest
|
||||
|
||||
from vibe.core.skills.parser import SkillParseError, parse_frontmatter
|
||||
from vibe.core.skills.parser import SkillParseError, parse_skill_markdown
|
||||
|
||||
|
||||
class TestParseFrontmatter:
|
||||
class TestParseSkillMarkdown:
|
||||
def test_parses_valid_frontmatter(self) -> None:
|
||||
content = """---
|
||||
name: test-skill
|
||||
|
|
@ -14,7 +14,7 @@ description: A test skill
|
|||
|
||||
## Body content here
|
||||
"""
|
||||
frontmatter, body = parse_frontmatter(content)
|
||||
frontmatter, body = parse_skill_markdown(content)
|
||||
|
||||
assert frontmatter["name"] == "test-skill"
|
||||
assert frontmatter["description"] == "A test skill"
|
||||
|
|
@ -34,7 +34,7 @@ allowed-tools: bash read_file
|
|||
|
||||
Instructions here.
|
||||
"""
|
||||
frontmatter, body = parse_frontmatter(content)
|
||||
frontmatter, body = parse_skill_markdown(content)
|
||||
|
||||
assert frontmatter["name"] == "full-skill"
|
||||
assert frontmatter["description"] == "A skill with all fields"
|
||||
|
|
@ -49,7 +49,7 @@ Instructions here.
|
|||
content = "Just markdown content without frontmatter"
|
||||
|
||||
with pytest.raises(SkillParseError) as exc_info:
|
||||
parse_frontmatter(content)
|
||||
parse_skill_markdown(content)
|
||||
|
||||
assert "Missing or invalid YAML frontmatter" in str(exc_info.value)
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ description: Missing closing delimiter
|
|||
"""
|
||||
|
||||
with pytest.raises(SkillParseError) as exc_info:
|
||||
parse_frontmatter(content)
|
||||
parse_skill_markdown(content)
|
||||
|
||||
assert "Missing or invalid YAML frontmatter" in str(exc_info.value)
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ Body here.
|
|||
"""
|
||||
|
||||
with pytest.raises(SkillParseError) as exc_info:
|
||||
parse_frontmatter(content)
|
||||
parse_skill_markdown(content)
|
||||
|
||||
assert "Invalid YAML frontmatter" in str(exc_info.value)
|
||||
|
||||
|
|
@ -88,7 +88,7 @@ Body here.
|
|||
"""
|
||||
|
||||
with pytest.raises(SkillParseError) as exc_info:
|
||||
parse_frontmatter(content)
|
||||
parse_skill_markdown(content)
|
||||
|
||||
assert "must be a mapping" in str(exc_info.value)
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ Body here.
|
|||
|
||||
Body content.
|
||||
"""
|
||||
frontmatter, body = parse_frontmatter(content)
|
||||
frontmatter, body = parse_skill_markdown(content)
|
||||
|
||||
assert frontmatter == {}
|
||||
assert "Body content." in body
|
||||
|
|
@ -109,7 +109,7 @@ name: minimal
|
|||
description: No body
|
||||
---
|
||||
"""
|
||||
frontmatter, body = parse_frontmatter(content)
|
||||
frontmatter, body = parse_skill_markdown(content)
|
||||
|
||||
assert frontmatter["name"] == "minimal"
|
||||
assert body.strip() == ""
|
||||
|
|
|
|||
|
|
@ -19,187 +19,187 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-4926488215-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-4926488215-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #868887 }
|
||||
.terminal-4926488215-r1 { fill: #c5c8c6 }
|
||||
.terminal-4926488215-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-4926488215-r3 { fill: #68a0b3 }
|
||||
.terminal-4926488215-r4 { fill: #ff8205 }
|
||||
.terminal-4926488215-r5 { fill: #9a9b99 }
|
||||
.terminal-4926488215-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-4926488215-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-4926488215-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-4926488215-r9 { fill: #868887 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-4926488215-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-4926488215-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-4926488215-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-4926488215-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-4926488215-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-4926488215-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-4926488215-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-4926488215-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-4926488215-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-4926488215-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-4926488215-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-4926488215-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-4926488215-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-4926488215-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-4926488215-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-4926488215-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-4926488215-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-4926488215-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-4926488215-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-4926488215-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-4926488215-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-4926488215-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-4926488215-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-4926488215-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-4926488215-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-4926488215-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-4926488215-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-4926488215-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-4926488215-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-4926488215-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-4926488215-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-4926488215-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-4926488215-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-4926488215-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-4926488215-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-4926488215-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-4926488215-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-4926488215-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="733.5" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="183" y="733.5" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="292.8" y="733.5" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="733.5" width="1037" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-line-17)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-line-17)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-line-17)">devstral-latest</text><text class="terminal-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-line-17)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">Type </text><text class="terminal-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">/help</text><text class="terminal-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-line-19)"> for more information</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">┃</text><text class="terminal-r2" x="24.4" y="556.8" textLength="183" clip-path="url(#terminal-line-22)">/mcp filesystem</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">⎣</text><text class="terminal-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-line-23)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-line-27)">MCP Servers</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-line-29)">Local MCP Servers</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r7" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-line-30)">  filesystem</text><text class="terminal-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  [stdio]</text><text class="terminal-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-line-30)">  1 tool</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-line-31)">  search    </text><text class="terminal-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  [http] </text><text class="terminal-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-line-31)">  1 tool</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-4926488215-matrix">
|
||||
<text class="terminal-4926488215-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-4926488215-line-0)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-1)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-2)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-3)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-4)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-4926488215-line-5)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-6)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-7)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-8)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-9)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-4926488215-line-10)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-11)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-12)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-13)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-14)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-4926488215-line-15)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-16)">
|
||||
</text><text class="terminal-4926488215-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-4926488215-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-4926488215-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-4926488215-line-17)">Mistral Vibe</text><text class="terminal-4926488215-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-4926488215-line-17)"> v0.0.0 · </text><text class="terminal-4926488215-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-4926488215-line-17)">devstral-latest</text><text class="terminal-4926488215-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-4926488215-line-17)"> · [Subscription] Pro</text><text class="terminal-4926488215-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-17)">
|
||||
</text><text class="terminal-4926488215-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-4926488215-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-4926488215-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-4926488215-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-4926488215-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-18)">
|
||||
</text><text class="terminal-4926488215-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-4926488215-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-4926488215-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-4926488215-line-19)">Type </text><text class="terminal-4926488215-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-4926488215-line-19)">/help</text><text class="terminal-4926488215-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-4926488215-line-19)"> for more information</text><text class="terminal-4926488215-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-19)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-4926488215-line-20)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-21)">
|
||||
</text><text class="terminal-4926488215-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-22)">┃</text><text class="terminal-4926488215-r2" x="24.4" y="556.8" textLength="183" clip-path="url(#terminal-4926488215-line-22)">/mcp filesystem</text><text class="terminal-4926488215-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-22)">
|
||||
</text><text class="terminal-4926488215-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-23)">⎣</text><text class="terminal-4926488215-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-4926488215-line-23)">MCP servers opened...</text><text class="terminal-4926488215-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-23)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-24)">
|
||||
</text><text class="terminal-4926488215-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-4926488215-line-25)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-4926488215-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-4926488215-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-26)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-27)">│</text><text class="terminal-4926488215-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-4926488215-line-27)">MCP Servers</text><text class="terminal-4926488215-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-27)">│</text><text class="terminal-4926488215-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-27)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-28)">│</text><text class="terminal-4926488215-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-28)">│</text><text class="terminal-4926488215-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-28)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-29)">│</text><text class="terminal-4926488215-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-4926488215-line-29)">Local MCP Servers</text><text class="terminal-4926488215-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-29)">│</text><text class="terminal-4926488215-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-29)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-4926488215-line-30)">│</text><text class="terminal-4926488215-r7" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-4926488215-line-30)">  filesystem</text><text class="terminal-4926488215-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-4926488215-line-30)">  [stdio]</text><text class="terminal-4926488215-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-4926488215-line-30)">  1 tool</text><text class="terminal-4926488215-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-4926488215-line-30)">│</text><text class="terminal-4926488215-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-4926488215-line-30)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-31)">│</text><text class="terminal-4926488215-r1" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-4926488215-line-31)">  search    </text><text class="terminal-4926488215-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-4926488215-line-31)">  [http] </text><text class="terminal-4926488215-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-4926488215-line-31)">  1 tool</text><text class="terminal-4926488215-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-31)">│</text><text class="terminal-4926488215-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-4926488215-line-31)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-32)">│</text><text class="terminal-4926488215-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-32)">│</text><text class="terminal-4926488215-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-4926488215-line-32)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-33)">│</text><text class="terminal-4926488215-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-4926488215-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-4926488215-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-33)">│</text><text class="terminal-4926488215-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-4926488215-line-33)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-4926488215-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-4926488215-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-4926488215-line-34)">
|
||||
</text><text class="terminal-4926488215-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-4926488215-line-35)">/test/workdir</text><text class="terminal-4926488215-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-4926488215-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
|
@ -19,187 +19,187 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-2811199383-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-2811199383-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #868887 }
|
||||
.terminal-2811199383-r1 { fill: #c5c8c6 }
|
||||
.terminal-2811199383-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-2811199383-r3 { fill: #68a0b3 }
|
||||
.terminal-2811199383-r4 { fill: #ff8205 }
|
||||
.terminal-2811199383-r5 { fill: #9a9b99 }
|
||||
.terminal-2811199383-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-2811199383-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-2811199383-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-2811199383-r9 { fill: #868887 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-2811199383-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-2811199383-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-2811199383-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-2811199383-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-2811199383-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-2811199383-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-2811199383-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-2811199383-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-2811199383-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-2811199383-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-2811199383-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-2811199383-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-2811199383-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-2811199383-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-2811199383-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-2811199383-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-2811199383-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-2811199383-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-2811199383-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-2811199383-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-2811199383-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-2811199383-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-2811199383-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-2811199383-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-2811199383-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-2811199383-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-2811199383-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-2811199383-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-2811199383-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-2811199383-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-2811199383-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-2811199383-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-2811199383-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-2811199383-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-2811199383-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-2811199383-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithBrokenMcpServer</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-2811199383-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithBrokenMcpServer</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-2811199383-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="709.1" width="183" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="219.6" y="709.1" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="329.4" y="709.1" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="427" y="709.1" width="1000.4" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-line-16)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="410.4" textLength="146.4" clip-path="url(#terminal-line-16)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="410.4" textLength="122" clip-path="url(#terminal-line-16)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="410.4" textLength="183" clip-path="url(#terminal-line-16)">devstral-latest</text><text class="terminal-r1" x="622.2" y="410.4" textLength="256.2" clip-path="url(#terminal-line-16)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-line-17)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="434.8" textLength="414.8" clip-path="url(#terminal-line-17)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="459.2" textLength="61" clip-path="url(#terminal-line-18)">Type </text><text class="terminal-r3" x="231.8" y="459.2" textLength="61" clip-path="url(#terminal-line-18)">/help</text><text class="terminal-r1" x="292.8" y="459.2" textLength="256.2" clip-path="url(#terminal-line-18)"> for more information</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">┃</text><text class="terminal-r2" x="24.4" y="532.4" textLength="48.8" clip-path="url(#terminal-line-21)">/mcp</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">⎣</text><text class="terminal-r1" x="48.8" y="556.8" textLength="256.2" clip-path="url(#terminal-line-22)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r5" x="0" y="630" textLength="1464" clip-path="url(#terminal-line-25)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r6" x="24.4" y="654.4" textLength="134.2" clip-path="url(#terminal-line-26)">MCP Servers</text><text class="terminal-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r7" x="36.6" y="703.2" textLength="207.4" clip-path="url(#terminal-line-28)">Local MCP Servers</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="183" clip-path="url(#terminal-line-29)">  filesystem   </text><text class="terminal-r8" x="219.6" y="727.6" textLength="109.8" clip-path="url(#terminal-line-29)">  [stdio]</text><text class="terminal-r8" x="329.4" y="727.6" textLength="97.6" clip-path="url(#terminal-line-29)">  1 tool</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="36.6" y="752" textLength="183" clip-path="url(#terminal-line-30)">  broken-server</text><text class="terminal-r9" x="219.6" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  [stdio]</text><text class="terminal-r9" x="329.4" y="752" textLength="122" clip-path="url(#terminal-line-30)">  no tools</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="183" clip-path="url(#terminal-line-31)">  search       </text><text class="terminal-r9" x="219.6" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  [http] </text><text class="terminal-r9" x="329.4" y="776.4" textLength="97.6" clip-path="url(#terminal-line-31)">  1 tool</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-2811199383-matrix">
|
||||
<text class="terminal-2811199383-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-2811199383-line-0)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-1)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-2)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-3)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-4)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-2811199383-line-5)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-6)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-7)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-8)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-9)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-2811199383-line-10)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-11)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-12)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-13)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-14)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-2811199383-line-15)">
|
||||
</text><text class="terminal-2811199383-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-2811199383-line-16)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-2811199383-r2" x="170.8" y="410.4" textLength="146.4" clip-path="url(#terminal-2811199383-line-16)">Mistral Vibe</text><text class="terminal-2811199383-r1" x="317.2" y="410.4" textLength="122" clip-path="url(#terminal-2811199383-line-16)"> v0.0.0 · </text><text class="terminal-2811199383-r3" x="439.2" y="410.4" textLength="183" clip-path="url(#terminal-2811199383-line-16)">devstral-latest</text><text class="terminal-2811199383-r1" x="622.2" y="410.4" textLength="256.2" clip-path="url(#terminal-2811199383-line-16)"> · [Subscription] Pro</text><text class="terminal-2811199383-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-16)">
|
||||
</text><text class="terminal-2811199383-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-2811199383-line-17)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-2811199383-r1" x="170.8" y="434.8" textLength="414.8" clip-path="url(#terminal-2811199383-line-17)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-2811199383-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-17)">
|
||||
</text><text class="terminal-2811199383-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-2811199383-line-18)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-2811199383-r1" x="170.8" y="459.2" textLength="61" clip-path="url(#terminal-2811199383-line-18)">Type </text><text class="terminal-2811199383-r3" x="231.8" y="459.2" textLength="61" clip-path="url(#terminal-2811199383-line-18)">/help</text><text class="terminal-2811199383-r1" x="292.8" y="459.2" textLength="256.2" clip-path="url(#terminal-2811199383-line-18)"> for more information</text><text class="terminal-2811199383-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-18)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-19)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-2811199383-line-20)">
|
||||
</text><text class="terminal-2811199383-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-21)">┃</text><text class="terminal-2811199383-r2" x="24.4" y="532.4" textLength="48.8" clip-path="url(#terminal-2811199383-line-21)">/mcp</text><text class="terminal-2811199383-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-21)">
|
||||
</text><text class="terminal-2811199383-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-22)">⎣</text><text class="terminal-2811199383-r1" x="48.8" y="556.8" textLength="256.2" clip-path="url(#terminal-2811199383-line-22)">MCP servers opened...</text><text class="terminal-2811199383-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-22)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-23)">
|
||||
</text><text class="terminal-2811199383-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-24)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="630" textLength="1464" clip-path="url(#terminal-2811199383-line-25)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-2811199383-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-2811199383-line-25)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-26)">│</text><text class="terminal-2811199383-r6" x="24.4" y="654.4" textLength="134.2" clip-path="url(#terminal-2811199383-line-26)">MCP Servers</text><text class="terminal-2811199383-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-26)">│</text><text class="terminal-2811199383-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-26)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-27)">│</text><text class="terminal-2811199383-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-27)">│</text><text class="terminal-2811199383-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-27)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-28)">│</text><text class="terminal-2811199383-r7" x="36.6" y="703.2" textLength="207.4" clip-path="url(#terminal-2811199383-line-28)">Local MCP Servers</text><text class="terminal-2811199383-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-28)">│</text><text class="terminal-2811199383-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-28)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-29)">│</text><text class="terminal-2811199383-r7" x="36.6" y="727.6" textLength="183" clip-path="url(#terminal-2811199383-line-29)">  filesystem   </text><text class="terminal-2811199383-r8" x="219.6" y="727.6" textLength="109.8" clip-path="url(#terminal-2811199383-line-29)">  [stdio]</text><text class="terminal-2811199383-r8" x="329.4" y="727.6" textLength="97.6" clip-path="url(#terminal-2811199383-line-29)">  1 tool</text><text class="terminal-2811199383-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-29)">│</text><text class="terminal-2811199383-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-29)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-2811199383-line-30)">│</text><text class="terminal-2811199383-r1" x="36.6" y="752" textLength="183" clip-path="url(#terminal-2811199383-line-30)">  broken-server</text><text class="terminal-2811199383-r9" x="219.6" y="752" textLength="109.8" clip-path="url(#terminal-2811199383-line-30)">  [stdio]</text><text class="terminal-2811199383-r9" x="329.4" y="752" textLength="122" clip-path="url(#terminal-2811199383-line-30)">  no tools</text><text class="terminal-2811199383-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-2811199383-line-30)">│</text><text class="terminal-2811199383-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-2811199383-line-30)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-31)">│</text><text class="terminal-2811199383-r1" x="36.6" y="776.4" textLength="183" clip-path="url(#terminal-2811199383-line-31)">  search       </text><text class="terminal-2811199383-r9" x="219.6" y="776.4" textLength="109.8" clip-path="url(#terminal-2811199383-line-31)">  [http] </text><text class="terminal-2811199383-r9" x="329.4" y="776.4" textLength="97.6" clip-path="url(#terminal-2811199383-line-31)">  1 tool</text><text class="terminal-2811199383-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-31)">│</text><text class="terminal-2811199383-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-2811199383-line-31)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-32)">│</text><text class="terminal-2811199383-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-32)">│</text><text class="terminal-2811199383-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-2811199383-line-32)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-33)">│</text><text class="terminal-2811199383-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-2811199383-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-2811199383-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-33)">│</text><text class="terminal-2811199383-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-2811199383-line-33)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-2811199383-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-2811199383-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-2811199383-line-34)">
|
||||
</text><text class="terminal-2811199383-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-2811199383-line-35)">/test/workdir</text><text class="terminal-2811199383-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-2811199383-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 19 KiB |
|
|
@ -19,188 +19,188 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-6499786123-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-6499786123-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #868887 }
|
||||
.terminal-r10 { fill: #98a84b }
|
||||
.terminal-6499786123-r1 { fill: #c5c8c6 }
|
||||
.terminal-6499786123-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-6499786123-r3 { fill: #68a0b3 }
|
||||
.terminal-6499786123-r4 { fill: #ff8205 }
|
||||
.terminal-6499786123-r5 { fill: #9a9b99 }
|
||||
.terminal-6499786123-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-6499786123-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-6499786123-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-6499786123-r9 { fill: #868887 }
|
||||
.terminal-6499786123-r10 { fill: #98a84b }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-6499786123-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-6499786123-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-6499786123-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-6499786123-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-6499786123-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-6499786123-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-6499786123-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-6499786123-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-6499786123-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-6499786123-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-6499786123-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-6499786123-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-6499786123-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-6499786123-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-6499786123-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-6499786123-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-6499786123-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-6499786123-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-6499786123-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-6499786123-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-6499786123-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-6499786123-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-6499786123-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-6499786123-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-6499786123-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-6499786123-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-6499786123-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-6499786123-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-6499786123-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-6499786123-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-6499786123-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-6499786123-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-6499786123-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-6499786123-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-6499786123-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-6499786123-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithConnectors</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-6499786123-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithConnectors</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-6499786123-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="660.3" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="183" y="660.3" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="292.8" y="660.3" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="660.3" width="1037" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="0" y="361.6" textLength="134.2" clip-path="url(#terminal-line-14)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="361.6" textLength="146.4" clip-path="url(#terminal-line-14)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="361.6" textLength="122" clip-path="url(#terminal-line-14)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="361.6" textLength="183" clip-path="url(#terminal-line-14)">devstral-latest</text><text class="terminal-r1" x="622.2" y="361.6" textLength="256.2" clip-path="url(#terminal-line-14)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="0" y="386" textLength="134.2" clip-path="url(#terminal-line-15)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="386" textLength="585.6" clip-path="url(#terminal-line-15)">1 model · 2 connectors · 1 MCP server · 0 skills</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-line-16)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="410.4" textLength="61" clip-path="url(#terminal-line-16)">Type </text><text class="terminal-r3" x="231.8" y="410.4" textLength="61" clip-path="url(#terminal-line-16)">/help</text><text class="terminal-r1" x="292.8" y="410.4" textLength="256.2" clip-path="url(#terminal-line-16)"> for more information</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">┃</text><text class="terminal-r2" x="24.4" y="483.6" textLength="48.8" clip-path="url(#terminal-line-19)">/mcp</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">⎣</text><text class="terminal-r1" x="48.8" y="508" textLength="256.2" clip-path="url(#terminal-line-20)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r5" x="0" y="581.2" textLength="1464" clip-path="url(#terminal-line-23)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">│</text><text class="terminal-r6" x="24.4" y="605.6" textLength="292.8" clip-path="url(#terminal-line-24)">MCP Servers & Connectors</text><text class="terminal-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">│</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">│</text><text class="terminal-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">│</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r7" x="36.6" y="654.4" textLength="207.4" clip-path="url(#terminal-line-26)">Local MCP Servers</text><text class="terminal-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r7" x="36.6" y="678.8" textLength="146.4" clip-path="url(#terminal-line-27)">  filesystem</text><text class="terminal-r8" x="183" y="678.8" textLength="109.8" clip-path="url(#terminal-line-27)">  [stdio]</text><text class="terminal-r8" x="292.8" y="678.8" textLength="97.6" clip-path="url(#terminal-line-27)">  1 tool</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="244" clip-path="url(#terminal-line-29)">Workspace Connectors</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-line-30)">  gmail</text><text class="terminal-r9" x="122" y="752" textLength="158.6" clip-path="url(#terminal-line-30)">  [connector]</text><text class="terminal-r9" x="280.6" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  3 tools</text><text class="terminal-r10" x="414.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">●</text><text class="terminal-r9" x="427" y="752" textLength="122" clip-path="url(#terminal-line-30)"> connected</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-line-31)">  slack</text><text class="terminal-r9" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-line-31)">  [connector]</text><text class="terminal-r9" x="280.6" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  2 tools</text><text class="terminal-r10" x="414.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">●</text><text class="terminal-r9" x="427" y="776.4" textLength="122" clip-path="url(#terminal-line-31)"> connected</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-6499786123-matrix">
|
||||
<text class="terminal-6499786123-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-6499786123-line-0)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-1)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-2)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-3)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-4)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-6499786123-line-5)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-6)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-7)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-8)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-9)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-6499786123-line-10)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-11)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-12)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-13)">
|
||||
</text><text class="terminal-6499786123-r1" x="0" y="361.6" textLength="134.2" clip-path="url(#terminal-6499786123-line-14)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-6499786123-r2" x="170.8" y="361.6" textLength="146.4" clip-path="url(#terminal-6499786123-line-14)">Mistral Vibe</text><text class="terminal-6499786123-r1" x="317.2" y="361.6" textLength="122" clip-path="url(#terminal-6499786123-line-14)"> v0.0.0 · </text><text class="terminal-6499786123-r3" x="439.2" y="361.6" textLength="183" clip-path="url(#terminal-6499786123-line-14)">devstral-latest</text><text class="terminal-6499786123-r1" x="622.2" y="361.6" textLength="256.2" clip-path="url(#terminal-6499786123-line-14)"> · [Subscription] Pro</text><text class="terminal-6499786123-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-14)">
|
||||
</text><text class="terminal-6499786123-r1" x="0" y="386" textLength="134.2" clip-path="url(#terminal-6499786123-line-15)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-6499786123-r1" x="170.8" y="386" textLength="585.6" clip-path="url(#terminal-6499786123-line-15)">1 model · 2 connectors · 1 MCP server · 0 skills</text><text class="terminal-6499786123-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-6499786123-line-15)">
|
||||
</text><text class="terminal-6499786123-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-6499786123-line-16)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-6499786123-r1" x="170.8" y="410.4" textLength="61" clip-path="url(#terminal-6499786123-line-16)">Type </text><text class="terminal-6499786123-r3" x="231.8" y="410.4" textLength="61" clip-path="url(#terminal-6499786123-line-16)">/help</text><text class="terminal-6499786123-r1" x="292.8" y="410.4" textLength="256.2" clip-path="url(#terminal-6499786123-line-16)"> for more information</text><text class="terminal-6499786123-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-16)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-17)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-18)">
|
||||
</text><text class="terminal-6499786123-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-19)">┃</text><text class="terminal-6499786123-r2" x="24.4" y="483.6" textLength="48.8" clip-path="url(#terminal-6499786123-line-19)">/mcp</text><text class="terminal-6499786123-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-19)">
|
||||
</text><text class="terminal-6499786123-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-6499786123-line-20)">⎣</text><text class="terminal-6499786123-r1" x="48.8" y="508" textLength="256.2" clip-path="url(#terminal-6499786123-line-20)">MCP servers opened...</text><text class="terminal-6499786123-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-6499786123-line-20)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-21)">
|
||||
</text><text class="terminal-6499786123-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-22)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="581.2" textLength="1464" clip-path="url(#terminal-6499786123-line-23)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-6499786123-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-23)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-24)">│</text><text class="terminal-6499786123-r6" x="24.4" y="605.6" textLength="292.8" clip-path="url(#terminal-6499786123-line-24)">MCP Servers & Connectors</text><text class="terminal-6499786123-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-24)">│</text><text class="terminal-6499786123-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-24)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-6499786123-line-25)">│</text><text class="terminal-6499786123-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#terminal-6499786123-line-25)">│</text><text class="terminal-6499786123-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-6499786123-line-25)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-26)">│</text><text class="terminal-6499786123-r7" x="36.6" y="654.4" textLength="207.4" clip-path="url(#terminal-6499786123-line-26)">Local MCP Servers</text><text class="terminal-6499786123-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-26)">│</text><text class="terminal-6499786123-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-26)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-27)">│</text><text class="terminal-6499786123-r7" x="36.6" y="678.8" textLength="146.4" clip-path="url(#terminal-6499786123-line-27)">  filesystem</text><text class="terminal-6499786123-r8" x="183" y="678.8" textLength="109.8" clip-path="url(#terminal-6499786123-line-27)">  [stdio]</text><text class="terminal-6499786123-r8" x="292.8" y="678.8" textLength="97.6" clip-path="url(#terminal-6499786123-line-27)">  1 tool</text><text class="terminal-6499786123-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-27)">│</text><text class="terminal-6499786123-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-27)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-28)">│</text><text class="terminal-6499786123-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-28)">│</text><text class="terminal-6499786123-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-28)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-29)">│</text><text class="terminal-6499786123-r7" x="36.6" y="727.6" textLength="244" clip-path="url(#terminal-6499786123-line-29)">Workspace Connectors</text><text class="terminal-6499786123-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-29)">│</text><text class="terminal-6499786123-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-29)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-6499786123-line-30)">│</text><text class="terminal-6499786123-r1" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-6499786123-line-30)">  gmail</text><text class="terminal-6499786123-r9" x="122" y="752" textLength="158.6" clip-path="url(#terminal-6499786123-line-30)">  [connector]</text><text class="terminal-6499786123-r9" x="280.6" y="752" textLength="109.8" clip-path="url(#terminal-6499786123-line-30)">  3 tools</text><text class="terminal-6499786123-r10" x="414.8" y="752" textLength="12.2" clip-path="url(#terminal-6499786123-line-30)">●</text><text class="terminal-6499786123-r9" x="427" y="752" textLength="122" clip-path="url(#terminal-6499786123-line-30)"> connected</text><text class="terminal-6499786123-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-6499786123-line-30)">│</text><text class="terminal-6499786123-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-6499786123-line-30)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-31)">│</text><text class="terminal-6499786123-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-6499786123-line-31)">  slack</text><text class="terminal-6499786123-r9" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-6499786123-line-31)">  [connector]</text><text class="terminal-6499786123-r9" x="280.6" y="776.4" textLength="109.8" clip-path="url(#terminal-6499786123-line-31)">  2 tools</text><text class="terminal-6499786123-r10" x="414.8" y="776.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-31)">●</text><text class="terminal-6499786123-r9" x="427" y="776.4" textLength="122" clip-path="url(#terminal-6499786123-line-31)"> connected</text><text class="terminal-6499786123-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-31)">│</text><text class="terminal-6499786123-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-6499786123-line-31)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-32)">│</text><text class="terminal-6499786123-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-32)">│</text><text class="terminal-6499786123-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-6499786123-line-32)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-33)">│</text><text class="terminal-6499786123-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-6499786123-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-6499786123-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-33)">│</text><text class="terminal-6499786123-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-6499786123-line-33)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-6499786123-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-6499786123-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-6499786123-line-34)">
|
||||
</text><text class="terminal-6499786123-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-6499786123-line-35)">/test/workdir</text><text class="terminal-6499786123-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-6499786123-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
|
|
@ -19,189 +19,189 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-4242019355-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-4242019355-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #98a84b;font-weight: bold }
|
||||
.terminal-r10 { fill: #868887 }
|
||||
.terminal-r11 { fill: #98a84b }
|
||||
.terminal-4242019355-r1 { fill: #c5c8c6 }
|
||||
.terminal-4242019355-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-4242019355-r3 { fill: #68a0b3 }
|
||||
.terminal-4242019355-r4 { fill: #ff8205 }
|
||||
.terminal-4242019355-r5 { fill: #9a9b99 }
|
||||
.terminal-4242019355-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-4242019355-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-4242019355-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-4242019355-r9 { fill: #98a84b;font-weight: bold }
|
||||
.terminal-4242019355-r10 { fill: #868887 }
|
||||
.terminal-4242019355-r11 { fill: #98a84b }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-4242019355-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-4242019355-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-4242019355-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-4242019355-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-4242019355-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-4242019355-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-4242019355-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-4242019355-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-4242019355-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-4242019355-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-4242019355-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-4242019355-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-4242019355-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-4242019355-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-4242019355-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-4242019355-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-4242019355-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-4242019355-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-4242019355-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-4242019355-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-4242019355-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-4242019355-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-4242019355-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-4242019355-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-4242019355-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-4242019355-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-4242019355-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-4242019355-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-4242019355-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-4242019355-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-4242019355-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-4242019355-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-4242019355-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-4242019355-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-4242019355-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-4242019355-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppConnectorsOnly</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-4242019355-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppConnectorsOnly</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-4242019355-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="733.5" width="85.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="122" y="733.5" width="158.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="280.6" y="733.5" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="733.5" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="414.8" y="733.5" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="427" y="733.5" width="122" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="549" y="733.5" width="878.4" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-line-17)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-line-17)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-line-17)">devstral-latest</text><text class="terminal-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-line-17)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="459.2" textLength="597.8" clip-path="url(#terminal-line-18)">1 model · 2 connectors · 0 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">Type </text><text class="terminal-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">/help</text><text class="terminal-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-line-19)"> for more information</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">┃</text><text class="terminal-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-line-22)">/mcp</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">⎣</text><text class="terminal-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-line-23)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r6" x="24.4" y="678.8" textLength="292.8" clip-path="url(#terminal-line-27)">MCP Servers & Connectors</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="244" clip-path="url(#terminal-line-29)">Workspace Connectors</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r7" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-line-30)">  gmail</text><text class="terminal-r8" x="122" y="752" textLength="158.6" clip-path="url(#terminal-line-30)">  [connector]</text><text class="terminal-r8" x="280.6" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  3 tools</text><text class="terminal-r9" x="414.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">●</text><text class="terminal-r8" x="427" y="752" textLength="122" clip-path="url(#terminal-line-30)"> connected</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-line-31)">  slack</text><text class="terminal-r10" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-line-31)">  [connector]</text><text class="terminal-r10" x="280.6" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  2 tools</text><text class="terminal-r11" x="414.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">●</text><text class="terminal-r10" x="427" y="776.4" textLength="122" clip-path="url(#terminal-line-31)"> connected</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-4242019355-matrix">
|
||||
<text class="terminal-4242019355-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-4242019355-line-0)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-1)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-2)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-3)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-4)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-4242019355-line-5)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-6)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-7)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-8)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-9)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-4242019355-line-10)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-11)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-12)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-13)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-14)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-4242019355-line-15)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-16)">
|
||||
</text><text class="terminal-4242019355-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-4242019355-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-4242019355-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-4242019355-line-17)">Mistral Vibe</text><text class="terminal-4242019355-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-4242019355-line-17)"> v0.0.0 · </text><text class="terminal-4242019355-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-4242019355-line-17)">devstral-latest</text><text class="terminal-4242019355-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-4242019355-line-17)"> · [Subscription] Pro</text><text class="terminal-4242019355-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-17)">
|
||||
</text><text class="terminal-4242019355-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-4242019355-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-4242019355-r1" x="170.8" y="459.2" textLength="597.8" clip-path="url(#terminal-4242019355-line-18)">1 model · 2 connectors · 0 MCP servers · 0 skills</text><text class="terminal-4242019355-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-18)">
|
||||
</text><text class="terminal-4242019355-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-4242019355-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-4242019355-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-4242019355-line-19)">Type </text><text class="terminal-4242019355-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-4242019355-line-19)">/help</text><text class="terminal-4242019355-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-4242019355-line-19)"> for more information</text><text class="terminal-4242019355-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-19)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-4242019355-line-20)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-21)">
|
||||
</text><text class="terminal-4242019355-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-22)">┃</text><text class="terminal-4242019355-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-4242019355-line-22)">/mcp</text><text class="terminal-4242019355-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-22)">
|
||||
</text><text class="terminal-4242019355-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-23)">⎣</text><text class="terminal-4242019355-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-4242019355-line-23)">MCP servers opened...</text><text class="terminal-4242019355-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-23)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-24)">
|
||||
</text><text class="terminal-4242019355-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-4242019355-line-25)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-4242019355-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-4242019355-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-26)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-27)">│</text><text class="terminal-4242019355-r6" x="24.4" y="678.8" textLength="292.8" clip-path="url(#terminal-4242019355-line-27)">MCP Servers & Connectors</text><text class="terminal-4242019355-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-27)">│</text><text class="terminal-4242019355-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-27)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-28)">│</text><text class="terminal-4242019355-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-28)">│</text><text class="terminal-4242019355-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-28)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-29)">│</text><text class="terminal-4242019355-r7" x="36.6" y="727.6" textLength="244" clip-path="url(#terminal-4242019355-line-29)">Workspace Connectors</text><text class="terminal-4242019355-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-29)">│</text><text class="terminal-4242019355-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-29)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-4242019355-line-30)">│</text><text class="terminal-4242019355-r7" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-4242019355-line-30)">  gmail</text><text class="terminal-4242019355-r8" x="122" y="752" textLength="158.6" clip-path="url(#terminal-4242019355-line-30)">  [connector]</text><text class="terminal-4242019355-r8" x="280.6" y="752" textLength="109.8" clip-path="url(#terminal-4242019355-line-30)">  3 tools</text><text class="terminal-4242019355-r9" x="414.8" y="752" textLength="12.2" clip-path="url(#terminal-4242019355-line-30)">●</text><text class="terminal-4242019355-r8" x="427" y="752" textLength="122" clip-path="url(#terminal-4242019355-line-30)"> connected</text><text class="terminal-4242019355-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-4242019355-line-30)">│</text><text class="terminal-4242019355-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-4242019355-line-30)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-31)">│</text><text class="terminal-4242019355-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-4242019355-line-31)">  slack</text><text class="terminal-4242019355-r10" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-4242019355-line-31)">  [connector]</text><text class="terminal-4242019355-r10" x="280.6" y="776.4" textLength="109.8" clip-path="url(#terminal-4242019355-line-31)">  2 tools</text><text class="terminal-4242019355-r11" x="414.8" y="776.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-31)">●</text><text class="terminal-4242019355-r10" x="427" y="776.4" textLength="122" clip-path="url(#terminal-4242019355-line-31)"> connected</text><text class="terminal-4242019355-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-31)">│</text><text class="terminal-4242019355-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-4242019355-line-31)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-32)">│</text><text class="terminal-4242019355-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-32)">│</text><text class="terminal-4242019355-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-4242019355-line-32)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-33)">│</text><text class="terminal-4242019355-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-4242019355-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-4242019355-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-33)">│</text><text class="terminal-4242019355-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-4242019355-line-33)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-4242019355-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-4242019355-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-4242019355-line-34)">
|
||||
</text><text class="terminal-4242019355-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-4242019355-line-35)">/test/workdir</text><text class="terminal-4242019355-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-4242019355-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
|
|
@ -0,0 +1,206 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 928.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #98a84b;font-weight: bold }
|
||||
.terminal-r10 { fill: #868887 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppConnectorsMixedState</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="709.1" width="85.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="122" y="709.1" width="158.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="280.6" y="709.1" width="122" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="402.6" y="709.1" width="24.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="427" y="709.1" width="12.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="439.2" y="709.1" width="122" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="561.2" y="709.1" width="866.2" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-line-16)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="410.4" textLength="146.4" clip-path="url(#terminal-line-16)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="410.4" textLength="122" clip-path="url(#terminal-line-16)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="410.4" textLength="183" clip-path="url(#terminal-line-16)">devstral-latest</text><text class="terminal-r1" x="622.2" y="410.4" textLength="256.2" clip-path="url(#terminal-line-16)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-line-17)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="434.8" textLength="597.8" clip-path="url(#terminal-line-17)">1 model · 3 connectors · 0 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="459.2" textLength="61" clip-path="url(#terminal-line-18)">Type </text><text class="terminal-r3" x="231.8" y="459.2" textLength="61" clip-path="url(#terminal-line-18)">/help</text><text class="terminal-r1" x="292.8" y="459.2" textLength="256.2" clip-path="url(#terminal-line-18)"> for more information</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">┃</text><text class="terminal-r2" x="24.4" y="532.4" textLength="48.8" clip-path="url(#terminal-line-21)">/mcp</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">⎣</text><text class="terminal-r1" x="48.8" y="556.8" textLength="256.2" clip-path="url(#terminal-line-22)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r5" x="0" y="630" textLength="1464" clip-path="url(#terminal-line-25)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r6" x="24.4" y="654.4" textLength="292.8" clip-path="url(#terminal-line-26)">MCP Servers & Connectors</text><text class="terminal-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r7" x="36.6" y="703.2" textLength="244" clip-path="url(#terminal-line-28)">Workspace Connectors</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="85.4" clip-path="url(#terminal-line-29)">  alpha</text><text class="terminal-r8" x="122" y="727.6" textLength="158.6" clip-path="url(#terminal-line-29)">  [connector]</text><text class="terminal-r8" x="280.6" y="727.6" textLength="122" clip-path="url(#terminal-line-29)">  1 tool  </text><text class="terminal-r9" x="427" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">●</text><text class="terminal-r8" x="439.2" y="727.6" textLength="122" clip-path="url(#terminal-line-29)"> connected</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-line-30)">  beta </text><text class="terminal-r10" x="122" y="752" textLength="158.6" clip-path="url(#terminal-line-30)">  [connector]</text><text class="terminal-r10" x="280.6" y="752" textLength="122" clip-path="url(#terminal-line-30)">  no tools</text><text class="terminal-r10" x="427" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">○</text><text class="terminal-r10" x="439.2" y="752" textLength="170.8" clip-path="url(#terminal-line-30)"> not connected</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-line-31)">  zeta </text><text class="terminal-r10" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-line-31)">  [connector]</text><text class="terminal-r10" x="280.6" y="776.4" textLength="122" clip-path="url(#terminal-line-31)">  no tools</text><text class="terminal-r10" x="427" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">○</text><text class="terminal-r10" x="439.2" y="776.4" textLength="170.8" clip-path="url(#terminal-line-31)"> not connected</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
|
@ -19,185 +19,185 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-1928557542-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-1928557542-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-1928557542-r1 { fill: #c5c8c6 }
|
||||
.terminal-1928557542-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-1928557542-r3 { fill: #68a0b3 }
|
||||
.terminal-1928557542-r4 { fill: #ff8205 }
|
||||
.terminal-1928557542-r5 { fill: #9a9b99 }
|
||||
.terminal-1928557542-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-1928557542-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-1928557542-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-1928557542-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-1928557542-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-1928557542-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-1928557542-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-1928557542-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-1928557542-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-1928557542-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-1928557542-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-1928557542-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-1928557542-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-1928557542-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-1928557542-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-1928557542-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-1928557542-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-1928557542-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-1928557542-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-1928557542-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-1928557542-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-1928557542-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-1928557542-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-1928557542-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-1928557542-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-1928557542-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-1928557542-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-1928557542-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-1928557542-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-1928557542-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-1928557542-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-1928557542-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-1928557542-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-1928557542-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-1928557542-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-1928557542-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-1928557542-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-1928557542-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithConnectors</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-1928557542-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithConnectors</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1928557542-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="733.5" width="183" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="219.6" y="733.5" width="317.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="536.8" y="733.5" width="890.6" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="459.2" textLength="146.4" clip-path="url(#terminal-line-18)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="459.2" textLength="122" clip-path="url(#terminal-line-18)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="459.2" textLength="183" clip-path="url(#terminal-line-18)">devstral-latest</text><text class="terminal-r1" x="622.2" y="459.2" textLength="256.2" clip-path="url(#terminal-line-18)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="483.6" textLength="585.6" clip-path="url(#terminal-line-19)">1 model · 2 connectors · 1 MCP server · 0 skills</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-line-20)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="508" textLength="61" clip-path="url(#terminal-line-20)">Type </text><text class="terminal-r3" x="231.8" y="508" textLength="61" clip-path="url(#terminal-line-20)">/help</text><text class="terminal-r1" x="292.8" y="508" textLength="256.2" clip-path="url(#terminal-line-20)"> for more information</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">┃</text><text class="terminal-r2" x="24.4" y="581.2" textLength="48.8" clip-path="url(#terminal-line-23)">/mcp</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">⎣</text><text class="terminal-r1" x="48.8" y="605.6" textLength="256.2" clip-path="url(#terminal-line-24)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="1464" clip-path="url(#terminal-line-27)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r6" x="24.4" y="703.2" textLength="195.2" clip-path="url(#terminal-line-28)">Connector: slack</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r7" x="36.6" y="752" textLength="183" clip-path="url(#terminal-line-30)">search_messages</text><text class="terminal-r7" x="219.6" y="752" textLength="317.2" clip-path="url(#terminal-line-30)">  -  Search Slack messages</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r7" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-line-31)">send_message</text><text class="terminal-r1" x="183" y="776.4" textLength="305" clip-path="url(#terminal-line-31)">  -  Send a Slack message</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="463.6" clip-path="url(#terminal-line-33)">↑↓ Navigate  Backspace Back  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-1928557542-matrix">
|
||||
<text class="terminal-1928557542-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1928557542-line-0)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-1)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-2)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-3)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-4)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-1928557542-line-5)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-6)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-7)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-8)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-9)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-1928557542-line-10)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-11)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-12)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-13)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-14)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-1928557542-line-15)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-16)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-17)">
|
||||
</text><text class="terminal-1928557542-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-1928557542-line-18)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-1928557542-r2" x="170.8" y="459.2" textLength="146.4" clip-path="url(#terminal-1928557542-line-18)">Mistral Vibe</text><text class="terminal-1928557542-r1" x="317.2" y="459.2" textLength="122" clip-path="url(#terminal-1928557542-line-18)"> v0.0.0 · </text><text class="terminal-1928557542-r3" x="439.2" y="459.2" textLength="183" clip-path="url(#terminal-1928557542-line-18)">devstral-latest</text><text class="terminal-1928557542-r1" x="622.2" y="459.2" textLength="256.2" clip-path="url(#terminal-1928557542-line-18)"> · [Subscription] Pro</text><text class="terminal-1928557542-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-18)">
|
||||
</text><text class="terminal-1928557542-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-1928557542-line-19)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-1928557542-r1" x="170.8" y="483.6" textLength="585.6" clip-path="url(#terminal-1928557542-line-19)">1 model · 2 connectors · 1 MCP server · 0 skills</text><text class="terminal-1928557542-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-19)">
|
||||
</text><text class="terminal-1928557542-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-1928557542-line-20)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-1928557542-r1" x="170.8" y="508" textLength="61" clip-path="url(#terminal-1928557542-line-20)">Type </text><text class="terminal-1928557542-r3" x="231.8" y="508" textLength="61" clip-path="url(#terminal-1928557542-line-20)">/help</text><text class="terminal-1928557542-r1" x="292.8" y="508" textLength="256.2" clip-path="url(#terminal-1928557542-line-20)"> for more information</text><text class="terminal-1928557542-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-1928557542-line-20)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-21)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-22)">
|
||||
</text><text class="terminal-1928557542-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-23)">┃</text><text class="terminal-1928557542-r2" x="24.4" y="581.2" textLength="48.8" clip-path="url(#terminal-1928557542-line-23)">/mcp</text><text class="terminal-1928557542-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-23)">
|
||||
</text><text class="terminal-1928557542-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-24)">⎣</text><text class="terminal-1928557542-r1" x="48.8" y="605.6" textLength="256.2" clip-path="url(#terminal-1928557542-line-24)">MCP servers opened...</text><text class="terminal-1928557542-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-24)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-1928557542-line-25)">
|
||||
</text><text class="terminal-1928557542-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-26)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="678.8" textLength="1464" clip-path="url(#terminal-1928557542-line-27)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-1928557542-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-27)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-28)">│</text><text class="terminal-1928557542-r6" x="24.4" y="703.2" textLength="195.2" clip-path="url(#terminal-1928557542-line-28)">Connector: slack</text><text class="terminal-1928557542-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-28)">│</text><text class="terminal-1928557542-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-28)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-29)">│</text><text class="terminal-1928557542-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-29)">│</text><text class="terminal-1928557542-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-29)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-1928557542-line-30)">│</text><text class="terminal-1928557542-r7" x="36.6" y="752" textLength="183" clip-path="url(#terminal-1928557542-line-30)">search_messages</text><text class="terminal-1928557542-r7" x="219.6" y="752" textLength="317.2" clip-path="url(#terminal-1928557542-line-30)">  -  Search Slack messages</text><text class="terminal-1928557542-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-1928557542-line-30)">│</text><text class="terminal-1928557542-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-1928557542-line-30)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-31)">│</text><text class="terminal-1928557542-r7" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-1928557542-line-31)">send_message</text><text class="terminal-1928557542-r1" x="183" y="776.4" textLength="305" clip-path="url(#terminal-1928557542-line-31)">  -  Send a Slack message</text><text class="terminal-1928557542-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-31)">│</text><text class="terminal-1928557542-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-1928557542-line-31)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-32)">│</text><text class="terminal-1928557542-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-32)">│</text><text class="terminal-1928557542-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-1928557542-line-32)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-33)">│</text><text class="terminal-1928557542-r5" x="24.4" y="825.2" textLength="597.8" clip-path="url(#terminal-1928557542-line-33)">↑↓ Navigate  Backspace Back  R Refresh  Esc Close</text><text class="terminal-1928557542-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-33)">│</text><text class="terminal-1928557542-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-1928557542-line-33)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-1928557542-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-1928557542-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-1928557542-line-34)">
|
||||
</text><text class="terminal-1928557542-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-1928557542-line-35)">/test/workdir</text><text class="terminal-1928557542-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-1928557542-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
|
@ -19,185 +19,185 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-4237726511-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-4237726511-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-4237726511-r1 { fill: #c5c8c6 }
|
||||
.terminal-4237726511-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-4237726511-r3 { fill: #68a0b3 }
|
||||
.terminal-4237726511-r4 { fill: #ff8205 }
|
||||
.terminal-4237726511-r5 { fill: #9a9b99 }
|
||||
.terminal-4237726511-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-4237726511-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-4237726511-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-4237726511-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-4237726511-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-4237726511-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-4237726511-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-4237726511-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-4237726511-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-4237726511-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-4237726511-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-4237726511-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-4237726511-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-4237726511-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-4237726511-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-4237726511-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-4237726511-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-4237726511-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-4237726511-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-4237726511-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-4237726511-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-4237726511-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-4237726511-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-4237726511-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-4237726511-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-4237726511-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-4237726511-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-4237726511-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-4237726511-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-4237726511-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-4237726511-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-4237726511-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-4237726511-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-4237726511-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-4237726511-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-4237726511-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-4237726511-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-4237726511-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-4237726511-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-4237726511-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="757.9" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="146.4" y="757.9" width="378.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="524.6" y="757.9" width="902.8" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="483.6" textLength="146.4" clip-path="url(#terminal-line-19)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="483.6" textLength="122" clip-path="url(#terminal-line-19)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="483.6" textLength="183" clip-path="url(#terminal-line-19)">devstral-latest</text><text class="terminal-r1" x="622.2" y="483.6" textLength="256.2" clip-path="url(#terminal-line-19)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-line-20)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="508" textLength="414.8" clip-path="url(#terminal-line-20)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-line-21)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="532.4" textLength="61" clip-path="url(#terminal-line-21)">Type </text><text class="terminal-r3" x="231.8" y="532.4" textLength="61" clip-path="url(#terminal-line-21)">/help</text><text class="terminal-r1" x="292.8" y="532.4" textLength="256.2" clip-path="url(#terminal-line-21)"> for more information</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">┃</text><text class="terminal-r2" x="24.4" y="605.6" textLength="48.8" clip-path="url(#terminal-line-24)">/mcp</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">⎣</text><text class="terminal-r1" x="48.8" y="630" textLength="256.2" clip-path="url(#terminal-line-25)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="1464" clip-path="url(#terminal-line-28)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r6" x="24.4" y="727.6" textLength="268.4" clip-path="url(#terminal-line-29)">MCP Server: filesystem</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r7" x="36.6" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">fake_tool</text><text class="terminal-r7" x="146.4" y="776.4" textLength="378.2" clip-path="url(#terminal-line-31)">  -  A fake tool for filesystem</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="463.6" clip-path="url(#terminal-line-33)">↑↓ Navigate  Backspace Back  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-4237726511-matrix">
|
||||
<text class="terminal-4237726511-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-4237726511-line-0)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-1)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-2)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-3)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-4)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-4237726511-line-5)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-6)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-7)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-8)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-9)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-4237726511-line-10)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-11)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-12)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-13)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-14)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-4237726511-line-15)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-16)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-17)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-18)">
|
||||
</text><text class="terminal-4237726511-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-4237726511-line-19)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-4237726511-r2" x="170.8" y="483.6" textLength="146.4" clip-path="url(#terminal-4237726511-line-19)">Mistral Vibe</text><text class="terminal-4237726511-r1" x="317.2" y="483.6" textLength="122" clip-path="url(#terminal-4237726511-line-19)"> v0.0.0 · </text><text class="terminal-4237726511-r3" x="439.2" y="483.6" textLength="183" clip-path="url(#terminal-4237726511-line-19)">devstral-latest</text><text class="terminal-4237726511-r1" x="622.2" y="483.6" textLength="256.2" clip-path="url(#terminal-4237726511-line-19)"> · [Subscription] Pro</text><text class="terminal-4237726511-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-19)">
|
||||
</text><text class="terminal-4237726511-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-4237726511-line-20)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-4237726511-r1" x="170.8" y="508" textLength="414.8" clip-path="url(#terminal-4237726511-line-20)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-4237726511-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-4237726511-line-20)">
|
||||
</text><text class="terminal-4237726511-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-4237726511-line-21)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-4237726511-r1" x="170.8" y="532.4" textLength="61" clip-path="url(#terminal-4237726511-line-21)">Type </text><text class="terminal-4237726511-r3" x="231.8" y="532.4" textLength="61" clip-path="url(#terminal-4237726511-line-21)">/help</text><text class="terminal-4237726511-r1" x="292.8" y="532.4" textLength="256.2" clip-path="url(#terminal-4237726511-line-21)"> for more information</text><text class="terminal-4237726511-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-21)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-22)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-23)">
|
||||
</text><text class="terminal-4237726511-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-24)">┃</text><text class="terminal-4237726511-r2" x="24.4" y="605.6" textLength="48.8" clip-path="url(#terminal-4237726511-line-24)">/mcp</text><text class="terminal-4237726511-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-24)">
|
||||
</text><text class="terminal-4237726511-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-4237726511-line-25)">⎣</text><text class="terminal-4237726511-r1" x="48.8" y="630" textLength="256.2" clip-path="url(#terminal-4237726511-line-25)">MCP servers opened...</text><text class="terminal-4237726511-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-4237726511-line-25)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-26)">
|
||||
</text><text class="terminal-4237726511-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-27)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="703.2" textLength="1464" clip-path="url(#terminal-4237726511-line-28)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-4237726511-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-28)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-29)">│</text><text class="terminal-4237726511-r6" x="24.4" y="727.6" textLength="268.4" clip-path="url(#terminal-4237726511-line-29)">MCP Server: filesystem</text><text class="terminal-4237726511-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-29)">│</text><text class="terminal-4237726511-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-29)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-4237726511-line-30)">│</text><text class="terminal-4237726511-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-4237726511-line-30)">│</text><text class="terminal-4237726511-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-4237726511-line-30)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-31)">│</text><text class="terminal-4237726511-r7" x="36.6" y="776.4" textLength="109.8" clip-path="url(#terminal-4237726511-line-31)">fake_tool</text><text class="terminal-4237726511-r7" x="146.4" y="776.4" textLength="378.2" clip-path="url(#terminal-4237726511-line-31)">  -  A fake tool for filesystem</text><text class="terminal-4237726511-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-31)">│</text><text class="terminal-4237726511-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-4237726511-line-31)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-32)">│</text><text class="terminal-4237726511-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-32)">│</text><text class="terminal-4237726511-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-4237726511-line-32)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-33)">│</text><text class="terminal-4237726511-r5" x="24.4" y="825.2" textLength="597.8" clip-path="url(#terminal-4237726511-line-33)">↑↓ Navigate  Backspace Back  R Refresh  Esc Close</text><text class="terminal-4237726511-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-33)">│</text><text class="terminal-4237726511-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-4237726511-line-33)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-4237726511-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-4237726511-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-4237726511-line-34)">
|
||||
</text><text class="terminal-4237726511-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-4237726511-line-35)">/test/workdir</text><text class="terminal-4237726511-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-4237726511-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
|
@ -19,183 +19,183 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-7514237046-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-7514237046-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-7514237046-r1 { fill: #c5c8c6 }
|
||||
.terminal-7514237046-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-7514237046-r3 { fill: #68a0b3 }
|
||||
.terminal-7514237046-r4 { fill: #ff8205 }
|
||||
.terminal-7514237046-r5 { fill: #9a9b99 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-7514237046-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-7514237046-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-7514237046-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-7514237046-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-7514237046-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-7514237046-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-7514237046-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-7514237046-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-7514237046-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-7514237046-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-7514237046-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-7514237046-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-7514237046-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-7514237046-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-7514237046-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-7514237046-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-7514237046-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-7514237046-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-7514237046-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-7514237046-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-7514237046-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-7514237046-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-7514237046-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-7514237046-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-7514237046-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-7514237046-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-7514237046-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-7514237046-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-7514237046-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-7514237046-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-7514237046-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-7514237046-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-7514237046-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-7514237046-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-7514237046-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-7514237046-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-7514237046-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-7514237046-clip-terminal)">
|
||||
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-line-20)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="508" textLength="146.4" clip-path="url(#terminal-line-20)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="508" textLength="122" clip-path="url(#terminal-line-20)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="508" textLength="183" clip-path="url(#terminal-line-20)">devstral-latest</text><text class="terminal-r1" x="622.2" y="508" textLength="256.2" clip-path="url(#terminal-line-20)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-line-21)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="532.4" textLength="414.8" clip-path="url(#terminal-line-21)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="0" y="556.8" textLength="134.2" clip-path="url(#terminal-line-22)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="556.8" textLength="61" clip-path="url(#terminal-line-22)">Type </text><text class="terminal-r3" x="231.8" y="556.8" textLength="61" clip-path="url(#terminal-line-22)">/help</text><text class="terminal-r1" x="292.8" y="556.8" textLength="256.2" clip-path="url(#terminal-line-22)"> for more information</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">┃</text><text class="terminal-r2" x="24.4" y="630" textLength="48.8" clip-path="url(#terminal-line-25)">/mcp</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="24.4" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">⎣</text><text class="terminal-r1" x="48.8" y="654.4" textLength="256.2" clip-path="url(#terminal-line-26)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="24.4" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">⎣</text><text class="terminal-r1" x="48.8" y="678.8" textLength="231.8" clip-path="url(#terminal-line-27)">MCP servers closed.</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="1464" clip-path="url(#terminal-line-30)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────── default ─┐</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r2" x="24.4" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">></text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-7514237046-matrix">
|
||||
<text class="terminal-7514237046-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-7514237046-line-0)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-1)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-2)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-3)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-4)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-7514237046-line-5)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-6)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-7)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-8)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-9)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-7514237046-line-10)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-11)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-12)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-13)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-14)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-7514237046-line-15)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-16)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-17)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-18)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-19)">
|
||||
</text><text class="terminal-7514237046-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-7514237046-line-20)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-7514237046-r2" x="170.8" y="508" textLength="146.4" clip-path="url(#terminal-7514237046-line-20)">Mistral Vibe</text><text class="terminal-7514237046-r1" x="317.2" y="508" textLength="122" clip-path="url(#terminal-7514237046-line-20)"> v0.0.0 · </text><text class="terminal-7514237046-r3" x="439.2" y="508" textLength="183" clip-path="url(#terminal-7514237046-line-20)">devstral-latest</text><text class="terminal-7514237046-r1" x="622.2" y="508" textLength="256.2" clip-path="url(#terminal-7514237046-line-20)"> · [Subscription] Pro</text><text class="terminal-7514237046-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-7514237046-line-20)">
|
||||
</text><text class="terminal-7514237046-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-7514237046-line-21)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-7514237046-r1" x="170.8" y="532.4" textLength="414.8" clip-path="url(#terminal-7514237046-line-21)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-7514237046-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-21)">
|
||||
</text><text class="terminal-7514237046-r1" x="0" y="556.8" textLength="134.2" clip-path="url(#terminal-7514237046-line-22)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-7514237046-r1" x="170.8" y="556.8" textLength="61" clip-path="url(#terminal-7514237046-line-22)">Type </text><text class="terminal-7514237046-r3" x="231.8" y="556.8" textLength="61" clip-path="url(#terminal-7514237046-line-22)">/help</text><text class="terminal-7514237046-r1" x="292.8" y="556.8" textLength="256.2" clip-path="url(#terminal-7514237046-line-22)"> for more information</text><text class="terminal-7514237046-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-22)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-23)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-24)">
|
||||
</text><text class="terminal-7514237046-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-7514237046-line-25)">┃</text><text class="terminal-7514237046-r2" x="24.4" y="630" textLength="48.8" clip-path="url(#terminal-7514237046-line-25)">/mcp</text><text class="terminal-7514237046-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-7514237046-line-25)">
|
||||
</text><text class="terminal-7514237046-r5" x="24.4" y="654.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-26)">⎣</text><text class="terminal-7514237046-r1" x="48.8" y="654.4" textLength="256.2" clip-path="url(#terminal-7514237046-line-26)">MCP servers opened...</text><text class="terminal-7514237046-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-26)">
|
||||
</text><text class="terminal-7514237046-r5" x="24.4" y="678.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-27)">⎣</text><text class="terminal-7514237046-r1" x="48.8" y="678.8" textLength="231.8" clip-path="url(#terminal-7514237046-line-27)">MCP servers closed.</text><text class="terminal-7514237046-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-27)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-28)">
|
||||
</text><text class="terminal-7514237046-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-29)">
|
||||
</text><text class="terminal-7514237046-r5" x="0" y="752" textLength="1464" clip-path="url(#terminal-7514237046-line-30)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────── default ─┐</text><text class="terminal-7514237046-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-7514237046-line-30)">
|
||||
</text><text class="terminal-7514237046-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-31)">│</text><text class="terminal-7514237046-r2" x="24.4" y="776.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-31)">></text><text class="terminal-7514237046-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-31)">│</text><text class="terminal-7514237046-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-7514237046-line-31)">
|
||||
</text><text class="terminal-7514237046-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-32)">│</text><text class="terminal-7514237046-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-32)">│</text><text class="terminal-7514237046-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-7514237046-line-32)">
|
||||
</text><text class="terminal-7514237046-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-33)">│</text><text class="terminal-7514237046-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-33)">│</text><text class="terminal-7514237046-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-7514237046-line-33)">
|
||||
</text><text class="terminal-7514237046-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-7514237046-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-7514237046-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-7514237046-line-34)">
|
||||
</text><text class="terminal-7514237046-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-7514237046-line-35)">/test/workdir</text><text class="terminal-7514237046-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-7514237046-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
|
|
@ -19,183 +19,183 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-9108451134-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-9108451134-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-9108451134-r1 { fill: #c5c8c6 }
|
||||
.terminal-9108451134-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-9108451134-r3 { fill: #68a0b3 }
|
||||
.terminal-9108451134-r4 { fill: #ff8205 }
|
||||
.terminal-9108451134-r5 { fill: #9a9b99 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-9108451134-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-9108451134-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-9108451134-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-9108451134-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-9108451134-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-9108451134-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-9108451134-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-9108451134-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-9108451134-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-9108451134-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-9108451134-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-9108451134-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-9108451134-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-9108451134-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-9108451134-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-9108451134-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-9108451134-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-9108451134-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-9108451134-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-9108451134-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-9108451134-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-9108451134-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-9108451134-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-9108451134-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-9108451134-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-9108451134-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-9108451134-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-9108451134-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-9108451134-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-9108451134-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-9108451134-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-9108451134-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-9108451134-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-9108451134-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-9108451134-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-9108451134-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppNoMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-9108451134-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppNoMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-9108451134-clip-terminal)">
|
||||
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-line-21)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="532.4" textLength="146.4" clip-path="url(#terminal-line-21)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="532.4" textLength="122" clip-path="url(#terminal-line-21)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="532.4" textLength="183" clip-path="url(#terminal-line-21)">devstral-latest</text><text class="terminal-r1" x="622.2" y="532.4" textLength="256.2" clip-path="url(#terminal-line-21)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="0" y="556.8" textLength="134.2" clip-path="url(#terminal-line-22)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="556.8" textLength="414.8" clip-path="url(#terminal-line-22)">1 model · 0 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r1" x="0" y="581.2" textLength="134.2" clip-path="url(#terminal-line-23)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="581.2" textLength="61" clip-path="url(#terminal-line-23)">Type </text><text class="terminal-r3" x="231.8" y="581.2" textLength="61" clip-path="url(#terminal-line-23)">/help</text><text class="terminal-r1" x="292.8" y="581.2" textLength="256.2" clip-path="url(#terminal-line-23)"> for more information</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">┃</text><text class="terminal-r2" x="24.4" y="654.4" textLength="48.8" clip-path="url(#terminal-line-26)">/mcp</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="24.4" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">⎣</text><text class="terminal-r1" x="48.8" y="678.8" textLength="317.2" clip-path="url(#terminal-line-27)">No MCP servers configured.</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="1464" clip-path="url(#terminal-line-30)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────── default ─┐</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r2" x="24.4" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">></text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-9108451134-matrix">
|
||||
<text class="terminal-9108451134-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-9108451134-line-0)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-1)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-2)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-3)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-4)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-9108451134-line-5)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-6)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-7)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-8)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-9)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-9108451134-line-10)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-11)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-12)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-13)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-14)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-9108451134-line-15)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-16)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-17)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-18)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-19)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-9108451134-line-20)">
|
||||
</text><text class="terminal-9108451134-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-9108451134-line-21)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-9108451134-r2" x="170.8" y="532.4" textLength="146.4" clip-path="url(#terminal-9108451134-line-21)">Mistral Vibe</text><text class="terminal-9108451134-r1" x="317.2" y="532.4" textLength="122" clip-path="url(#terminal-9108451134-line-21)"> v0.0.0 · </text><text class="terminal-9108451134-r3" x="439.2" y="532.4" textLength="183" clip-path="url(#terminal-9108451134-line-21)">devstral-latest</text><text class="terminal-9108451134-r1" x="622.2" y="532.4" textLength="256.2" clip-path="url(#terminal-9108451134-line-21)"> · [Subscription] Pro</text><text class="terminal-9108451134-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-21)">
|
||||
</text><text class="terminal-9108451134-r1" x="0" y="556.8" textLength="134.2" clip-path="url(#terminal-9108451134-line-22)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-9108451134-r1" x="170.8" y="556.8" textLength="414.8" clip-path="url(#terminal-9108451134-line-22)">1 model · 0 MCP servers · 0 skills</text><text class="terminal-9108451134-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-22)">
|
||||
</text><text class="terminal-9108451134-r1" x="0" y="581.2" textLength="134.2" clip-path="url(#terminal-9108451134-line-23)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-9108451134-r1" x="170.8" y="581.2" textLength="61" clip-path="url(#terminal-9108451134-line-23)">Type </text><text class="terminal-9108451134-r3" x="231.8" y="581.2" textLength="61" clip-path="url(#terminal-9108451134-line-23)">/help</text><text class="terminal-9108451134-r1" x="292.8" y="581.2" textLength="256.2" clip-path="url(#terminal-9108451134-line-23)"> for more information</text><text class="terminal-9108451134-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-23)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-24)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-9108451134-line-25)">
|
||||
</text><text class="terminal-9108451134-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-26)">┃</text><text class="terminal-9108451134-r2" x="24.4" y="654.4" textLength="48.8" clip-path="url(#terminal-9108451134-line-26)">/mcp</text><text class="terminal-9108451134-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-26)">
|
||||
</text><text class="terminal-9108451134-r5" x="24.4" y="678.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-27)">⎣</text><text class="terminal-9108451134-r1" x="48.8" y="678.8" textLength="317.2" clip-path="url(#terminal-9108451134-line-27)">No MCP servers configured.</text><text class="terminal-9108451134-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-27)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-28)">
|
||||
</text><text class="terminal-9108451134-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-29)">
|
||||
</text><text class="terminal-9108451134-r5" x="0" y="752" textLength="1464" clip-path="url(#terminal-9108451134-line-30)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────── default ─┐</text><text class="terminal-9108451134-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-9108451134-line-30)">
|
||||
</text><text class="terminal-9108451134-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-31)">│</text><text class="terminal-9108451134-r2" x="24.4" y="776.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-31)">></text><text class="terminal-9108451134-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-31)">│</text><text class="terminal-9108451134-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-9108451134-line-31)">
|
||||
</text><text class="terminal-9108451134-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-32)">│</text><text class="terminal-9108451134-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-32)">│</text><text class="terminal-9108451134-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-9108451134-line-32)">
|
||||
</text><text class="terminal-9108451134-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-33)">│</text><text class="terminal-9108451134-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-33)">│</text><text class="terminal-9108451134-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-9108451134-line-33)">
|
||||
</text><text class="terminal-9108451134-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-9108451134-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-9108451134-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-9108451134-line-34)">
|
||||
</text><text class="terminal-9108451134-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-9108451134-line-35)">/test/workdir</text><text class="terminal-9108451134-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-9108451134-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
|
|
@ -19,187 +19,187 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-606925797-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-606925797-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #868887 }
|
||||
.terminal-606925797-r1 { fill: #c5c8c6 }
|
||||
.terminal-606925797-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-606925797-r3 { fill: #68a0b3 }
|
||||
.terminal-606925797-r4 { fill: #ff8205 }
|
||||
.terminal-606925797-r5 { fill: #9a9b99 }
|
||||
.terminal-606925797-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-606925797-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-606925797-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-606925797-r9 { fill: #868887 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-606925797-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-606925797-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-606925797-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-606925797-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-606925797-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-606925797-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-606925797-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-606925797-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-606925797-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-606925797-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-606925797-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-606925797-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-606925797-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-606925797-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-606925797-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-606925797-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-606925797-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-606925797-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-606925797-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-606925797-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-606925797-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-606925797-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-606925797-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-606925797-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-606925797-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-606925797-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-606925797-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-606925797-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-606925797-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-606925797-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-606925797-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-606925797-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-606925797-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-606925797-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-606925797-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-606925797-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-606925797-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-606925797-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="733.5" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="183" y="733.5" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="292.8" y="733.5" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="733.5" width="1037" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-line-17)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-line-17)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-line-17)">devstral-latest</text><text class="terminal-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-line-17)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">Type </text><text class="terminal-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">/help</text><text class="terminal-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-line-19)"> for more information</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">┃</text><text class="terminal-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-line-22)">/mcp</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">⎣</text><text class="terminal-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-line-23)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-line-27)">MCP Servers</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-line-29)">Local MCP Servers</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r7" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-line-30)">  filesystem</text><text class="terminal-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  [stdio]</text><text class="terminal-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-line-30)">  1 tool</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-line-31)">  search    </text><text class="terminal-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  [http] </text><text class="terminal-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-line-31)">  1 tool</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-606925797-matrix">
|
||||
<text class="terminal-606925797-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-606925797-line-0)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-606925797-line-1)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-606925797-line-2)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-606925797-line-3)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-606925797-line-4)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-606925797-line-5)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-606925797-line-6)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-606925797-line-7)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-606925797-line-8)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-606925797-line-9)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-606925797-line-10)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-606925797-line-11)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-606925797-line-12)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-606925797-line-13)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-606925797-line-14)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-606925797-line-15)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-606925797-line-16)">
|
||||
</text><text class="terminal-606925797-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-606925797-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-606925797-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-606925797-line-17)">Mistral Vibe</text><text class="terminal-606925797-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-606925797-line-17)"> v0.0.0 · </text><text class="terminal-606925797-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-606925797-line-17)">devstral-latest</text><text class="terminal-606925797-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-606925797-line-17)"> · [Subscription] Pro</text><text class="terminal-606925797-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-606925797-line-17)">
|
||||
</text><text class="terminal-606925797-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-606925797-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-606925797-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-606925797-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-606925797-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-606925797-line-18)">
|
||||
</text><text class="terminal-606925797-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-606925797-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-606925797-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-606925797-line-19)">Type </text><text class="terminal-606925797-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-606925797-line-19)">/help</text><text class="terminal-606925797-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-606925797-line-19)"> for more information</text><text class="terminal-606925797-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-606925797-line-19)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-606925797-line-20)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-606925797-line-21)">
|
||||
</text><text class="terminal-606925797-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-606925797-line-22)">┃</text><text class="terminal-606925797-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-606925797-line-22)">/mcp</text><text class="terminal-606925797-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-606925797-line-22)">
|
||||
</text><text class="terminal-606925797-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-606925797-line-23)">⎣</text><text class="terminal-606925797-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-606925797-line-23)">MCP servers opened...</text><text class="terminal-606925797-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-606925797-line-23)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-606925797-line-24)">
|
||||
</text><text class="terminal-606925797-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-606925797-line-25)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-606925797-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-606925797-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-606925797-line-26)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-606925797-line-27)">│</text><text class="terminal-606925797-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-606925797-line-27)">MCP Servers</text><text class="terminal-606925797-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-606925797-line-27)">│</text><text class="terminal-606925797-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-606925797-line-27)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-606925797-line-28)">│</text><text class="terminal-606925797-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-606925797-line-28)">│</text><text class="terminal-606925797-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-606925797-line-28)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-606925797-line-29)">│</text><text class="terminal-606925797-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-606925797-line-29)">Local MCP Servers</text><text class="terminal-606925797-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-606925797-line-29)">│</text><text class="terminal-606925797-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-606925797-line-29)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-606925797-line-30)">│</text><text class="terminal-606925797-r7" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-606925797-line-30)">  filesystem</text><text class="terminal-606925797-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-606925797-line-30)">  [stdio]</text><text class="terminal-606925797-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-606925797-line-30)">  1 tool</text><text class="terminal-606925797-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-606925797-line-30)">│</text><text class="terminal-606925797-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-606925797-line-30)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-606925797-line-31)">│</text><text class="terminal-606925797-r1" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-606925797-line-31)">  search    </text><text class="terminal-606925797-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-606925797-line-31)">  [http] </text><text class="terminal-606925797-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-606925797-line-31)">  1 tool</text><text class="terminal-606925797-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-606925797-line-31)">│</text><text class="terminal-606925797-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-606925797-line-31)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-606925797-line-32)">│</text><text class="terminal-606925797-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-606925797-line-32)">│</text><text class="terminal-606925797-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-606925797-line-32)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-606925797-line-33)">│</text><text class="terminal-606925797-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-606925797-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-606925797-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-606925797-line-33)">│</text><text class="terminal-606925797-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-606925797-line-33)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-606925797-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-606925797-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-606925797-line-34)">
|
||||
</text><text class="terminal-606925797-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-606925797-line-35)">/test/workdir</text><text class="terminal-606925797-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-606925797-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
|
@ -19,187 +19,187 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-9601757275-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-9601757275-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #868887 }
|
||||
.terminal-r9 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-9601757275-r1 { fill: #c5c8c6 }
|
||||
.terminal-9601757275-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-9601757275-r3 { fill: #68a0b3 }
|
||||
.terminal-9601757275-r4 { fill: #ff8205 }
|
||||
.terminal-9601757275-r5 { fill: #9a9b99 }
|
||||
.terminal-9601757275-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-9601757275-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-9601757275-r8 { fill: #868887 }
|
||||
.terminal-9601757275-r9 { fill: #9cafbd;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-9601757275-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-9601757275-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-9601757275-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-9601757275-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-9601757275-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-9601757275-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-9601757275-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-9601757275-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-9601757275-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-9601757275-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-9601757275-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-9601757275-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-9601757275-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-9601757275-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-9601757275-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-9601757275-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-9601757275-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-9601757275-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-9601757275-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-9601757275-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-9601757275-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-9601757275-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-9601757275-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-9601757275-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-9601757275-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-9601757275-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-9601757275-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-9601757275-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-9601757275-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-9601757275-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-9601757275-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-9601757275-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-9601757275-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-9601757275-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-9601757275-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-9601757275-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-9601757275-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-9601757275-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="757.9" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="183" y="757.9" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="292.8" y="757.9" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="757.9" width="1037" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-line-17)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-line-17)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-line-17)">devstral-latest</text><text class="terminal-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-line-17)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">Type </text><text class="terminal-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-line-19)">/help</text><text class="terminal-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-line-19)"> for more information</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">┃</text><text class="terminal-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-line-22)">/mcp</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">⎣</text><text class="terminal-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-line-23)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-line-27)">MCP Servers</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-line-29)">Local MCP Servers</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-line-30)">  filesystem</text><text class="terminal-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  [stdio]</text><text class="terminal-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-line-30)">  1 tool</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r7" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-line-31)">  search    </text><text class="terminal-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  [http] </text><text class="terminal-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-line-31)">  1 tool</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-9601757275-matrix">
|
||||
<text class="terminal-9601757275-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-9601757275-line-0)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-1)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-2)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-3)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-4)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-9601757275-line-5)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-6)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-7)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-8)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-9)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-9601757275-line-10)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-11)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-12)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-13)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-14)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-9601757275-line-15)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-16)">
|
||||
</text><text class="terminal-9601757275-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-9601757275-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-9601757275-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-9601757275-line-17)">Mistral Vibe</text><text class="terminal-9601757275-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-9601757275-line-17)"> v0.0.0 · </text><text class="terminal-9601757275-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-9601757275-line-17)">devstral-latest</text><text class="terminal-9601757275-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-9601757275-line-17)"> · [Subscription] Pro</text><text class="terminal-9601757275-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-17)">
|
||||
</text><text class="terminal-9601757275-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-9601757275-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-9601757275-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-9601757275-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-9601757275-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-18)">
|
||||
</text><text class="terminal-9601757275-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-9601757275-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-9601757275-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-9601757275-line-19)">Type </text><text class="terminal-9601757275-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-9601757275-line-19)">/help</text><text class="terminal-9601757275-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-9601757275-line-19)"> for more information</text><text class="terminal-9601757275-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-19)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-9601757275-line-20)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-21)">
|
||||
</text><text class="terminal-9601757275-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-22)">┃</text><text class="terminal-9601757275-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-9601757275-line-22)">/mcp</text><text class="terminal-9601757275-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-22)">
|
||||
</text><text class="terminal-9601757275-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-23)">⎣</text><text class="terminal-9601757275-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-9601757275-line-23)">MCP servers opened...</text><text class="terminal-9601757275-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-23)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-24)">
|
||||
</text><text class="terminal-9601757275-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-9601757275-line-25)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-9601757275-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-9601757275-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-26)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-27)">│</text><text class="terminal-9601757275-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-9601757275-line-27)">MCP Servers</text><text class="terminal-9601757275-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-27)">│</text><text class="terminal-9601757275-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-27)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-28)">│</text><text class="terminal-9601757275-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-28)">│</text><text class="terminal-9601757275-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-28)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-29)">│</text><text class="terminal-9601757275-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-9601757275-line-29)">Local MCP Servers</text><text class="terminal-9601757275-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-29)">│</text><text class="terminal-9601757275-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-29)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-9601757275-line-30)">│</text><text class="terminal-9601757275-r1" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-9601757275-line-30)">  filesystem</text><text class="terminal-9601757275-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-9601757275-line-30)">  [stdio]</text><text class="terminal-9601757275-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-9601757275-line-30)">  1 tool</text><text class="terminal-9601757275-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-9601757275-line-30)">│</text><text class="terminal-9601757275-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-9601757275-line-30)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-31)">│</text><text class="terminal-9601757275-r7" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-9601757275-line-31)">  search    </text><text class="terminal-9601757275-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-9601757275-line-31)">  [http] </text><text class="terminal-9601757275-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-9601757275-line-31)">  1 tool</text><text class="terminal-9601757275-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-31)">│</text><text class="terminal-9601757275-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-9601757275-line-31)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-32)">│</text><text class="terminal-9601757275-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-32)">│</text><text class="terminal-9601757275-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-9601757275-line-32)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-33)">│</text><text class="terminal-9601757275-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-9601757275-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-9601757275-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-33)">│</text><text class="terminal-9601757275-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-9601757275-line-33)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-9601757275-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-9601757275-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-9601757275-line-34)">
|
||||
</text><text class="terminal-9601757275-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-9601757275-line-35)">/test/workdir</text><text class="terminal-9601757275-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-9601757275-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
|
|
@ -0,0 +1,205 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 928.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-3878668141-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-3878668141-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-3878668141-r1 { fill: #c5c8c6 }
|
||||
.terminal-3878668141-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-3878668141-r3 { fill: #68a0b3 }
|
||||
.terminal-3878668141-r4 { fill: #ff8205 }
|
||||
.terminal-3878668141-r5 { fill: #9a9b99 }
|
||||
.terminal-3878668141-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-3878668141-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-3878668141-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-3878668141-r9 { fill: #868887 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-3878668141-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3878668141-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-3878668141-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-3878668141-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="733.5" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="183" y="733.5" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="292.8" y="733.5" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="733.5" width="1037" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-3878668141-matrix">
|
||||
<text class="terminal-3878668141-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3878668141-line-0)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-1)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-2)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-3)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-4)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-3878668141-line-5)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-6)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-7)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-8)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-9)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-3878668141-line-10)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-11)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-12)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-13)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-14)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-3878668141-line-15)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-16)">
|
||||
</text><text class="terminal-3878668141-r1" x="0" y="434.8" textLength="134.2" clip-path="url(#terminal-3878668141-line-17)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-3878668141-r2" x="170.8" y="434.8" textLength="146.4" clip-path="url(#terminal-3878668141-line-17)">Mistral Vibe</text><text class="terminal-3878668141-r1" x="317.2" y="434.8" textLength="122" clip-path="url(#terminal-3878668141-line-17)"> v0.0.0 · </text><text class="terminal-3878668141-r3" x="439.2" y="434.8" textLength="183" clip-path="url(#terminal-3878668141-line-17)">devstral-latest</text><text class="terminal-3878668141-r1" x="622.2" y="434.8" textLength="256.2" clip-path="url(#terminal-3878668141-line-17)"> · [Subscription] Pro</text><text class="terminal-3878668141-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-17)">
|
||||
</text><text class="terminal-3878668141-r1" x="0" y="459.2" textLength="134.2" clip-path="url(#terminal-3878668141-line-18)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-3878668141-r1" x="170.8" y="459.2" textLength="414.8" clip-path="url(#terminal-3878668141-line-18)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-3878668141-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-18)">
|
||||
</text><text class="terminal-3878668141-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-3878668141-line-19)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-3878668141-r1" x="170.8" y="483.6" textLength="61" clip-path="url(#terminal-3878668141-line-19)">Type </text><text class="terminal-3878668141-r3" x="231.8" y="483.6" textLength="61" clip-path="url(#terminal-3878668141-line-19)">/help</text><text class="terminal-3878668141-r1" x="292.8" y="483.6" textLength="256.2" clip-path="url(#terminal-3878668141-line-19)"> for more information</text><text class="terminal-3878668141-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-19)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-3878668141-line-20)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-21)">
|
||||
</text><text class="terminal-3878668141-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-22)">┃</text><text class="terminal-3878668141-r2" x="24.4" y="556.8" textLength="48.8" clip-path="url(#terminal-3878668141-line-22)">/mcp</text><text class="terminal-3878668141-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-22)">
|
||||
</text><text class="terminal-3878668141-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-23)">⎣</text><text class="terminal-3878668141-r1" x="48.8" y="581.2" textLength="256.2" clip-path="url(#terminal-3878668141-line-23)">MCP servers opened...</text><text class="terminal-3878668141-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-23)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-24)">
|
||||
</text><text class="terminal-3878668141-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-3878668141-line-25)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-3878668141-line-26)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-3878668141-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-26)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-27)">│</text><text class="terminal-3878668141-r6" x="24.4" y="678.8" textLength="134.2" clip-path="url(#terminal-3878668141-line-27)">MCP Servers</text><text class="terminal-3878668141-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-27)">│</text><text class="terminal-3878668141-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-27)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-28)">│</text><text class="terminal-3878668141-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-28)">│</text><text class="terminal-3878668141-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-28)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-29)">│</text><text class="terminal-3878668141-r7" x="36.6" y="727.6" textLength="207.4" clip-path="url(#terminal-3878668141-line-29)">Local MCP Servers</text><text class="terminal-3878668141-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-29)">│</text><text class="terminal-3878668141-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-29)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-3878668141-line-30)">│</text><text class="terminal-3878668141-r7" x="36.6" y="752" textLength="146.4" clip-path="url(#terminal-3878668141-line-30)">  filesystem</text><text class="terminal-3878668141-r8" x="183" y="752" textLength="109.8" clip-path="url(#terminal-3878668141-line-30)">  [stdio]</text><text class="terminal-3878668141-r8" x="292.8" y="752" textLength="97.6" clip-path="url(#terminal-3878668141-line-30)">  1 tool</text><text class="terminal-3878668141-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-3878668141-line-30)">│</text><text class="terminal-3878668141-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-3878668141-line-30)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-31)">│</text><text class="terminal-3878668141-r1" x="36.6" y="776.4" textLength="146.4" clip-path="url(#terminal-3878668141-line-31)">  search    </text><text class="terminal-3878668141-r9" x="183" y="776.4" textLength="109.8" clip-path="url(#terminal-3878668141-line-31)">  [http] </text><text class="terminal-3878668141-r9" x="292.8" y="776.4" textLength="97.6" clip-path="url(#terminal-3878668141-line-31)">  1 tool</text><text class="terminal-3878668141-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-31)">│</text><text class="terminal-3878668141-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-3878668141-line-31)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-32)">│</text><text class="terminal-3878668141-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-32)">│</text><text class="terminal-3878668141-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-3878668141-line-32)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-33)">│</text><text class="terminal-3878668141-r5" x="24.4" y="825.2" textLength="768.6" clip-path="url(#terminal-3878668141-line-33)">Refreshed.  ↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-3878668141-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-33)">│</text><text class="terminal-3878668141-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-3878668141-line-33)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-3878668141-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-3878668141-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-3878668141-line-34)">
|
||||
</text><text class="terminal-3878668141-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-3878668141-line-35)">/test/workdir</text><text class="terminal-3878668141-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-3878668141-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
|
@ -19,185 +19,185 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-5744808340-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-5744808340-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-5744808340-r1 { fill: #c5c8c6 }
|
||||
.terminal-5744808340-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-5744808340-r3 { fill: #68a0b3 }
|
||||
.terminal-5744808340-r4 { fill: #ff8205 }
|
||||
.terminal-5744808340-r5 { fill: #9a9b99 }
|
||||
.terminal-5744808340-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-5744808340-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-5744808340-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-5744808340-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-5744808340-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-5744808340-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-5744808340-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-5744808340-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-5744808340-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-5744808340-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-5744808340-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-5744808340-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-5744808340-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-5744808340-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-5744808340-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-5744808340-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-5744808340-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-5744808340-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-5744808340-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-5744808340-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-5744808340-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-5744808340-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-5744808340-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-5744808340-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-5744808340-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-5744808340-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-5744808340-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-5744808340-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-5744808340-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-5744808340-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-5744808340-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-5744808340-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-5744808340-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-5744808340-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-5744808340-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-5744808340-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-5744808340-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-5744808340-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-5744808340-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithMcpServers</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-5744808340-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="757.9" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="146.4" y="757.9" width="378.2" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="524.6" y="757.9" width="902.8" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="483.6" textLength="146.4" clip-path="url(#terminal-line-19)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="483.6" textLength="122" clip-path="url(#terminal-line-19)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="483.6" textLength="183" clip-path="url(#terminal-line-19)">devstral-latest</text><text class="terminal-r1" x="622.2" y="483.6" textLength="256.2" clip-path="url(#terminal-line-19)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-line-20)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="508" textLength="414.8" clip-path="url(#terminal-line-20)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-line-21)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="532.4" textLength="61" clip-path="url(#terminal-line-21)">Type </text><text class="terminal-r3" x="231.8" y="532.4" textLength="61" clip-path="url(#terminal-line-21)">/help</text><text class="terminal-r1" x="292.8" y="532.4" textLength="256.2" clip-path="url(#terminal-line-21)"> for more information</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">┃</text><text class="terminal-r2" x="24.4" y="605.6" textLength="183" clip-path="url(#terminal-line-24)">/mcp filesystem</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">⎣</text><text class="terminal-r1" x="48.8" y="630" textLength="256.2" clip-path="url(#terminal-line-25)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="1464" clip-path="url(#terminal-line-28)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r6" x="24.4" y="727.6" textLength="268.4" clip-path="url(#terminal-line-29)">MCP Server: filesystem</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r7" x="36.6" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">fake_tool</text><text class="terminal-r7" x="146.4" y="776.4" textLength="378.2" clip-path="url(#terminal-line-31)">  -  A fake tool for filesystem</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="463.6" clip-path="url(#terminal-line-33)">↑↓ Navigate  Backspace Back  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-5744808340-matrix">
|
||||
<text class="terminal-5744808340-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-5744808340-line-0)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-1)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-2)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-3)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-4)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-5744808340-line-5)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-6)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-7)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-8)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-9)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-5744808340-line-10)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-11)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-12)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-13)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-14)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-5744808340-line-15)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-16)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-17)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-18)">
|
||||
</text><text class="terminal-5744808340-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-5744808340-line-19)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-5744808340-r2" x="170.8" y="483.6" textLength="146.4" clip-path="url(#terminal-5744808340-line-19)">Mistral Vibe</text><text class="terminal-5744808340-r1" x="317.2" y="483.6" textLength="122" clip-path="url(#terminal-5744808340-line-19)"> v0.0.0 · </text><text class="terminal-5744808340-r3" x="439.2" y="483.6" textLength="183" clip-path="url(#terminal-5744808340-line-19)">devstral-latest</text><text class="terminal-5744808340-r1" x="622.2" y="483.6" textLength="256.2" clip-path="url(#terminal-5744808340-line-19)"> · [Subscription] Pro</text><text class="terminal-5744808340-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-19)">
|
||||
</text><text class="terminal-5744808340-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-5744808340-line-20)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-5744808340-r1" x="170.8" y="508" textLength="414.8" clip-path="url(#terminal-5744808340-line-20)">1 model · 2 MCP servers · 0 skills</text><text class="terminal-5744808340-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-5744808340-line-20)">
|
||||
</text><text class="terminal-5744808340-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-5744808340-line-21)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-5744808340-r1" x="170.8" y="532.4" textLength="61" clip-path="url(#terminal-5744808340-line-21)">Type </text><text class="terminal-5744808340-r3" x="231.8" y="532.4" textLength="61" clip-path="url(#terminal-5744808340-line-21)">/help</text><text class="terminal-5744808340-r1" x="292.8" y="532.4" textLength="256.2" clip-path="url(#terminal-5744808340-line-21)"> for more information</text><text class="terminal-5744808340-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-21)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-22)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-23)">
|
||||
</text><text class="terminal-5744808340-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-24)">┃</text><text class="terminal-5744808340-r2" x="24.4" y="605.6" textLength="183" clip-path="url(#terminal-5744808340-line-24)">/mcp filesystem</text><text class="terminal-5744808340-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-24)">
|
||||
</text><text class="terminal-5744808340-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-5744808340-line-25)">⎣</text><text class="terminal-5744808340-r1" x="48.8" y="630" textLength="256.2" clip-path="url(#terminal-5744808340-line-25)">MCP servers opened...</text><text class="terminal-5744808340-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-5744808340-line-25)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-26)">
|
||||
</text><text class="terminal-5744808340-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-27)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="703.2" textLength="1464" clip-path="url(#terminal-5744808340-line-28)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-5744808340-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-28)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-29)">│</text><text class="terminal-5744808340-r6" x="24.4" y="727.6" textLength="268.4" clip-path="url(#terminal-5744808340-line-29)">MCP Server: filesystem</text><text class="terminal-5744808340-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-29)">│</text><text class="terminal-5744808340-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-29)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-5744808340-line-30)">│</text><text class="terminal-5744808340-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-5744808340-line-30)">│</text><text class="terminal-5744808340-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-5744808340-line-30)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-31)">│</text><text class="terminal-5744808340-r7" x="36.6" y="776.4" textLength="109.8" clip-path="url(#terminal-5744808340-line-31)">fake_tool</text><text class="terminal-5744808340-r7" x="146.4" y="776.4" textLength="378.2" clip-path="url(#terminal-5744808340-line-31)">  -  A fake tool for filesystem</text><text class="terminal-5744808340-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-31)">│</text><text class="terminal-5744808340-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-5744808340-line-31)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-32)">│</text><text class="terminal-5744808340-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-32)">│</text><text class="terminal-5744808340-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-5744808340-line-32)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-33)">│</text><text class="terminal-5744808340-r5" x="24.4" y="825.2" textLength="597.8" clip-path="url(#terminal-5744808340-line-33)">↑↓ Navigate  Backspace Back  R Refresh  Esc Close</text><text class="terminal-5744808340-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-33)">│</text><text class="terminal-5744808340-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-5744808340-line-33)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-5744808340-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-5744808340-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-5744808340-line-34)">
|
||||
</text><text class="terminal-5744808340-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-5744808340-line-35)">/test/workdir</text><text class="terminal-5744808340-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-5744808340-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
|
@ -19,188 +19,188 @@
|
|||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-matrix {
|
||||
.terminal-4913728344-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-title {
|
||||
.terminal-4913728344-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-r1 { fill: #c5c8c6 }
|
||||
.terminal-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-r3 { fill: #68a0b3 }
|
||||
.terminal-r4 { fill: #ff8205 }
|
||||
.terminal-r5 { fill: #9a9b99 }
|
||||
.terminal-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-r9 { fill: #868887 }
|
||||
.terminal-r10 { fill: #98a84b }
|
||||
.terminal-4913728344-r1 { fill: #c5c8c6 }
|
||||
.terminal-4913728344-r2 { fill: #ff8205;font-weight: bold }
|
||||
.terminal-4913728344-r3 { fill: #68a0b3 }
|
||||
.terminal-4913728344-r4 { fill: #ff8205 }
|
||||
.terminal-4913728344-r5 { fill: #9a9b99 }
|
||||
.terminal-4913728344-r6 { fill: #608ab1;font-weight: bold }
|
||||
.terminal-4913728344-r7 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-4913728344-r8 { fill: #9cafbd;font-weight: bold }
|
||||
.terminal-4913728344-r9 { fill: #868887 }
|
||||
.terminal-4913728344-r10 { fill: #98a84b }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-clip-terminal">
|
||||
<clipPath id="terminal-4913728344-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="877.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-0">
|
||||
<clipPath id="terminal-4913728344-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-1">
|
||||
<clipPath id="terminal-4913728344-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-2">
|
||||
<clipPath id="terminal-4913728344-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-3">
|
||||
<clipPath id="terminal-4913728344-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-4">
|
||||
<clipPath id="terminal-4913728344-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-5">
|
||||
<clipPath id="terminal-4913728344-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-6">
|
||||
<clipPath id="terminal-4913728344-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-7">
|
||||
<clipPath id="terminal-4913728344-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-8">
|
||||
<clipPath id="terminal-4913728344-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-9">
|
||||
<clipPath id="terminal-4913728344-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-10">
|
||||
<clipPath id="terminal-4913728344-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-11">
|
||||
<clipPath id="terminal-4913728344-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-12">
|
||||
<clipPath id="terminal-4913728344-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-13">
|
||||
<clipPath id="terminal-4913728344-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-14">
|
||||
<clipPath id="terminal-4913728344-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-15">
|
||||
<clipPath id="terminal-4913728344-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-16">
|
||||
<clipPath id="terminal-4913728344-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-17">
|
||||
<clipPath id="terminal-4913728344-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-18">
|
||||
<clipPath id="terminal-4913728344-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-19">
|
||||
<clipPath id="terminal-4913728344-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-20">
|
||||
<clipPath id="terminal-4913728344-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-21">
|
||||
<clipPath id="terminal-4913728344-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-22">
|
||||
<clipPath id="terminal-4913728344-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-23">
|
||||
<clipPath id="terminal-4913728344-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-24">
|
||||
<clipPath id="terminal-4913728344-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-25">
|
||||
<clipPath id="terminal-4913728344-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-26">
|
||||
<clipPath id="terminal-4913728344-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-27">
|
||||
<clipPath id="terminal-4913728344-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-28">
|
||||
<clipPath id="terminal-4913728344-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-29">
|
||||
<clipPath id="terminal-4913728344-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-30">
|
||||
<clipPath id="terminal-4913728344-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-31">
|
||||
<clipPath id="terminal-4913728344-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-32">
|
||||
<clipPath id="terminal-4913728344-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-33">
|
||||
<clipPath id="terminal-4913728344-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-line-34">
|
||||
<clipPath id="terminal-4913728344-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithConnectors</text>
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="926.4" rx="8"/><text class="terminal-4913728344-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">SnapshotTestAppWithConnectors</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-clip-terminal)">
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-4913728344-clip-terminal)">
|
||||
<rect fill="#608ab1" x="36.6" y="660.3" width="146.4" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="183" y="660.3" width="109.8" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="292.8" y="660.3" width="97.6" height="24.65" shape-rendering="crispEdges"/><rect fill="#608ab1" x="390.4" y="660.3" width="1037" height="24.65" shape-rendering="crispEdges"/>
|
||||
<g class="terminal-matrix">
|
||||
<text class="terminal-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-line-0)">
|
||||
</text><text class="terminal-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-line-1)">
|
||||
</text><text class="terminal-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-line-2)">
|
||||
</text><text class="terminal-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-line-3)">
|
||||
</text><text class="terminal-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-line-4)">
|
||||
</text><text class="terminal-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-line-5)">
|
||||
</text><text class="terminal-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-line-6)">
|
||||
</text><text class="terminal-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-line-7)">
|
||||
</text><text class="terminal-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-line-8)">
|
||||
</text><text class="terminal-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-line-9)">
|
||||
</text><text class="terminal-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-line-10)">
|
||||
</text><text class="terminal-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-line-11)">
|
||||
</text><text class="terminal-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-line-12)">
|
||||
</text><text class="terminal-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-line-13)">
|
||||
</text><text class="terminal-r1" x="0" y="361.6" textLength="134.2" clip-path="url(#terminal-line-14)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="361.6" textLength="146.4" clip-path="url(#terminal-line-14)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="361.6" textLength="122" clip-path="url(#terminal-line-14)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="361.6" textLength="183" clip-path="url(#terminal-line-14)">devstral-latest</text><text class="terminal-r1" x="622.2" y="361.6" textLength="256.2" clip-path="url(#terminal-line-14)"> · [Subscription] Pro</text><text class="terminal-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-line-14)">
|
||||
</text><text class="terminal-r1" x="0" y="386" textLength="134.2" clip-path="url(#terminal-line-15)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="386" textLength="585.6" clip-path="url(#terminal-line-15)">1 model · 2 connectors · 1 MCP server · 0 skills</text><text class="terminal-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-line-15)">
|
||||
</text><text class="terminal-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-line-16)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="410.4" textLength="61" clip-path="url(#terminal-line-16)">Type </text><text class="terminal-r3" x="231.8" y="410.4" textLength="61" clip-path="url(#terminal-line-16)">/help</text><text class="terminal-r1" x="292.8" y="410.4" textLength="256.2" clip-path="url(#terminal-line-16)"> for more information</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">┃</text><text class="terminal-r2" x="24.4" y="483.6" textLength="48.8" clip-path="url(#terminal-line-19)">/mcp</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">⎣</text><text class="terminal-r1" x="48.8" y="508" textLength="256.2" clip-path="url(#terminal-line-20)">MCP servers opened...</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r5" x="0" y="581.2" textLength="1464" clip-path="url(#terminal-line-23)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">│</text><text class="terminal-r6" x="24.4" y="605.6" textLength="292.8" clip-path="url(#terminal-line-24)">MCP Servers & Connectors</text><text class="terminal-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">│</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
</text><text class="terminal-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">│</text><text class="terminal-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">│</text><text class="terminal-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-line-25)">
|
||||
</text><text class="terminal-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r7" x="36.6" y="654.4" textLength="207.4" clip-path="url(#terminal-line-26)">Local MCP Servers</text><text class="terminal-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">│</text><text class="terminal-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-line-26)">
|
||||
</text><text class="terminal-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r7" x="36.6" y="678.8" textLength="146.4" clip-path="url(#terminal-line-27)">  filesystem</text><text class="terminal-r8" x="183" y="678.8" textLength="109.8" clip-path="url(#terminal-line-27)">  [stdio]</text><text class="terminal-r8" x="292.8" y="678.8" textLength="97.6" clip-path="url(#terminal-line-27)">  1 tool</text><text class="terminal-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">│</text><text class="terminal-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-line-27)">
|
||||
</text><text class="terminal-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">│</text><text class="terminal-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-line-28)">
|
||||
</text><text class="terminal-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r7" x="36.6" y="727.6" textLength="244" clip-path="url(#terminal-line-29)">Workspace Connectors</text><text class="terminal-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">│</text><text class="terminal-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-line-29)">
|
||||
</text><text class="terminal-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-line-30)">  gmail</text><text class="terminal-r9" x="122" y="752" textLength="158.6" clip-path="url(#terminal-line-30)">  [connector]</text><text class="terminal-r9" x="280.6" y="752" textLength="109.8" clip-path="url(#terminal-line-30)">  3 tools</text><text class="terminal-r10" x="414.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">●</text><text class="terminal-r9" x="427" y="752" textLength="122" clip-path="url(#terminal-line-30)"> connected</text><text class="terminal-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">│</text><text class="terminal-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-line-30)">
|
||||
</text><text class="terminal-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-line-31)">  slack</text><text class="terminal-r9" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-line-31)">  [connector]</text><text class="terminal-r9" x="280.6" y="776.4" textLength="109.8" clip-path="url(#terminal-line-31)">  2 tools</text><text class="terminal-r10" x="414.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">●</text><text class="terminal-r9" x="427" y="776.4" textLength="122" clip-path="url(#terminal-line-31)"> connected</text><text class="terminal-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">│</text><text class="terminal-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-line-31)">
|
||||
</text><text class="terminal-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">│</text><text class="terminal-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-line-32)">
|
||||
</text><text class="terminal-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r5" x="24.4" y="825.2" textLength="488" clip-path="url(#terminal-line-33)">↑↓ Navigate  Enter Show tools  Esc Close</text><text class="terminal-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">│</text><text class="terminal-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-line-33)">
|
||||
</text><text class="terminal-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-line-34)">
|
||||
</text><text class="terminal-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-line-35)">/test/workdir</text><text class="terminal-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-line-35)">0% of 200k tokens</text>
|
||||
<g class="terminal-4913728344-matrix">
|
||||
<text class="terminal-4913728344-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-4913728344-line-0)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-1)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-2)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-3)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-4)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-4913728344-line-5)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-6)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-7)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-8)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-9)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-4913728344-line-10)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-11)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-12)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-13)">
|
||||
</text><text class="terminal-4913728344-r1" x="0" y="361.6" textLength="134.2" clip-path="url(#terminal-4913728344-line-14)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-4913728344-r2" x="170.8" y="361.6" textLength="146.4" clip-path="url(#terminal-4913728344-line-14)">Mistral Vibe</text><text class="terminal-4913728344-r1" x="317.2" y="361.6" textLength="122" clip-path="url(#terminal-4913728344-line-14)"> v0.0.0 · </text><text class="terminal-4913728344-r3" x="439.2" y="361.6" textLength="183" clip-path="url(#terminal-4913728344-line-14)">devstral-latest</text><text class="terminal-4913728344-r1" x="622.2" y="361.6" textLength="256.2" clip-path="url(#terminal-4913728344-line-14)"> · [Subscription] Pro</text><text class="terminal-4913728344-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-14)">
|
||||
</text><text class="terminal-4913728344-r1" x="0" y="386" textLength="134.2" clip-path="url(#terminal-4913728344-line-15)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-4913728344-r1" x="170.8" y="386" textLength="585.6" clip-path="url(#terminal-4913728344-line-15)">1 model · 2 connectors · 1 MCP server · 0 skills</text><text class="terminal-4913728344-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-4913728344-line-15)">
|
||||
</text><text class="terminal-4913728344-r1" x="0" y="410.4" textLength="134.2" clip-path="url(#terminal-4913728344-line-16)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-4913728344-r1" x="170.8" y="410.4" textLength="61" clip-path="url(#terminal-4913728344-line-16)">Type </text><text class="terminal-4913728344-r3" x="231.8" y="410.4" textLength="61" clip-path="url(#terminal-4913728344-line-16)">/help</text><text class="terminal-4913728344-r1" x="292.8" y="410.4" textLength="256.2" clip-path="url(#terminal-4913728344-line-16)"> for more information</text><text class="terminal-4913728344-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-16)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-17)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-18)">
|
||||
</text><text class="terminal-4913728344-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-19)">┃</text><text class="terminal-4913728344-r2" x="24.4" y="483.6" textLength="48.8" clip-path="url(#terminal-4913728344-line-19)">/mcp</text><text class="terminal-4913728344-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-19)">
|
||||
</text><text class="terminal-4913728344-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-4913728344-line-20)">⎣</text><text class="terminal-4913728344-r1" x="48.8" y="508" textLength="256.2" clip-path="url(#terminal-4913728344-line-20)">MCP servers opened...</text><text class="terminal-4913728344-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-4913728344-line-20)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-21)">
|
||||
</text><text class="terminal-4913728344-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-22)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="581.2" textLength="1464" clip-path="url(#terminal-4913728344-line-23)">┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐</text><text class="terminal-4913728344-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-23)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-24)">│</text><text class="terminal-4913728344-r6" x="24.4" y="605.6" textLength="292.8" clip-path="url(#terminal-4913728344-line-24)">MCP Servers & Connectors</text><text class="terminal-4913728344-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-24)">│</text><text class="terminal-4913728344-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-24)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-4913728344-line-25)">│</text><text class="terminal-4913728344-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#terminal-4913728344-line-25)">│</text><text class="terminal-4913728344-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-4913728344-line-25)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-26)">│</text><text class="terminal-4913728344-r7" x="36.6" y="654.4" textLength="207.4" clip-path="url(#terminal-4913728344-line-26)">Local MCP Servers</text><text class="terminal-4913728344-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-26)">│</text><text class="terminal-4913728344-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-26)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-27)">│</text><text class="terminal-4913728344-r7" x="36.6" y="678.8" textLength="146.4" clip-path="url(#terminal-4913728344-line-27)">  filesystem</text><text class="terminal-4913728344-r8" x="183" y="678.8" textLength="109.8" clip-path="url(#terminal-4913728344-line-27)">  [stdio]</text><text class="terminal-4913728344-r8" x="292.8" y="678.8" textLength="97.6" clip-path="url(#terminal-4913728344-line-27)">  1 tool</text><text class="terminal-4913728344-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-27)">│</text><text class="terminal-4913728344-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-27)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-28)">│</text><text class="terminal-4913728344-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-28)">│</text><text class="terminal-4913728344-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-28)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-29)">│</text><text class="terminal-4913728344-r7" x="36.6" y="727.6" textLength="244" clip-path="url(#terminal-4913728344-line-29)">Workspace Connectors</text><text class="terminal-4913728344-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-29)">│</text><text class="terminal-4913728344-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-29)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-4913728344-line-30)">│</text><text class="terminal-4913728344-r1" x="36.6" y="752" textLength="85.4" clip-path="url(#terminal-4913728344-line-30)">  gmail</text><text class="terminal-4913728344-r9" x="122" y="752" textLength="158.6" clip-path="url(#terminal-4913728344-line-30)">  [connector]</text><text class="terminal-4913728344-r9" x="280.6" y="752" textLength="109.8" clip-path="url(#terminal-4913728344-line-30)">  3 tools</text><text class="terminal-4913728344-r10" x="414.8" y="752" textLength="12.2" clip-path="url(#terminal-4913728344-line-30)">●</text><text class="terminal-4913728344-r9" x="427" y="752" textLength="122" clip-path="url(#terminal-4913728344-line-30)"> connected</text><text class="terminal-4913728344-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#terminal-4913728344-line-30)">│</text><text class="terminal-4913728344-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-4913728344-line-30)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-31)">│</text><text class="terminal-4913728344-r1" x="36.6" y="776.4" textLength="85.4" clip-path="url(#terminal-4913728344-line-31)">  slack</text><text class="terminal-4913728344-r9" x="122" y="776.4" textLength="158.6" clip-path="url(#terminal-4913728344-line-31)">  [connector]</text><text class="terminal-4913728344-r9" x="280.6" y="776.4" textLength="109.8" clip-path="url(#terminal-4913728344-line-31)">  2 tools</text><text class="terminal-4913728344-r10" x="414.8" y="776.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-31)">●</text><text class="terminal-4913728344-r9" x="427" y="776.4" textLength="122" clip-path="url(#terminal-4913728344-line-31)"> connected</text><text class="terminal-4913728344-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-31)">│</text><text class="terminal-4913728344-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-4913728344-line-31)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-32)">│</text><text class="terminal-4913728344-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-32)">│</text><text class="terminal-4913728344-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-4913728344-line-32)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-33)">│</text><text class="terminal-4913728344-r5" x="24.4" y="825.2" textLength="622.2" clip-path="url(#terminal-4913728344-line-33)">↑↓ Navigate  Enter Show tools  R Refresh  Esc Close</text><text class="terminal-4913728344-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-33)">│</text><text class="terminal-4913728344-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-4913728344-line-33)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-4913728344-line-34)">└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</text><text class="terminal-4913728344-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-4913728344-line-34)">
|
||||
</text><text class="terminal-4913728344-r5" x="0" y="874" textLength="158.6" clip-path="url(#terminal-4913728344-line-35)">/test/workdir</text><text class="terminal-4913728344-r5" x="1256.6" y="874" textLength="207.4" clip-path="url(#terminal-4913728344-line-35)">0% of 200k tokens</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
|
|
@ -180,9 +180,9 @@
|
|||
</text><text class="terminal-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-line-16)">
|
||||
</text><text class="terminal-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-line-17)">
|
||||
</text><text class="terminal-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-line-18)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="483.6" textLength="146.4" clip-path="url(#terminal-line-19)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="483.6" textLength="122" clip-path="url(#terminal-line-19)"> v0.0.0 · </text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-line-20)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="508" textLength="61" clip-path="url(#terminal-line-20)">Type </text><text class="terminal-r3" x="231.8" y="508" textLength="61" clip-path="url(#terminal-line-20)">/help</text><text class="terminal-r1" x="292.8" y="508" textLength="256.2" clip-path="url(#terminal-line-20)"> for more information</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-line-21)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="0" y="483.6" textLength="134.2" clip-path="url(#terminal-line-19)">  ⡠⣒⠄  ⡔⢄⠔⡄</text><text class="terminal-r2" x="170.8" y="483.6" textLength="146.4" clip-path="url(#terminal-line-19)">Mistral Vibe</text><text class="terminal-r1" x="317.2" y="483.6" textLength="122" clip-path="url(#terminal-line-19)"> v0.0.0 · </text><text class="terminal-r3" x="439.2" y="483.6" textLength="183" clip-path="url(#terminal-line-19)">devstral-latest</text><text class="terminal-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-line-19)">
|
||||
</text><text class="terminal-r1" x="0" y="508" textLength="134.2" clip-path="url(#terminal-line-20)"> ⢸⠸⣀⡔⢉⠱⣃⡢⣂⡣</text><text class="terminal-r1" x="170.8" y="508" textLength="414.8" clip-path="url(#terminal-line-20)">1 model · 0 MCP servers · 0 skills</text><text class="terminal-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-line-20)">
|
||||
</text><text class="terminal-r1" x="0" y="532.4" textLength="134.2" clip-path="url(#terminal-line-21)">  ⠉⠒⠣⠤⠵⠤⠬⠮⠆</text><text class="terminal-r1" x="170.8" y="532.4" textLength="61" clip-path="url(#terminal-line-21)">Type </text><text class="terminal-r3" x="231.8" y="532.4" textLength="61" clip-path="url(#terminal-line-21)">/help</text><text class="terminal-r1" x="292.8" y="532.4" textLength="256.2" clip-path="url(#terminal-line-21)"> for more information</text><text class="terminal-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-line-21)">
|
||||
</text><text class="terminal-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-line-22)">
|
||||
</text><text class="terminal-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">┃</text><text class="terminal-r5" x="24.4" y="581.2" textLength="122" clip-path="url(#terminal-line-23)">What's New</text><text class="terminal-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-line-23)">
|
||||
</text><text class="terminal-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">┃</text><text class="terminal-r1" x="24.4" y="605.6" textLength="134.2" clip-path="url(#terminal-line-24)">• Feature 1</text><text class="terminal-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-line-24)">
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
|
|
@ -29,6 +29,12 @@ _FAKE_CONNECTORS = {
|
|||
],
|
||||
}
|
||||
|
||||
_FAKE_CONNECTORS_MIXED_CONNECTION = {
|
||||
"zeta": [],
|
||||
"alpha": [RemoteTool(name="lookup", description="Lookup Alpha records")],
|
||||
"beta": [],
|
||||
}
|
||||
|
||||
|
||||
class SnapshotTestAppNoMcpServers(BaseSnapshotTestApp):
|
||||
def __init__(self) -> None:
|
||||
|
|
@ -174,6 +180,20 @@ def test_snapshot_mcp_escape_closes(snap_compare: SnapCompare) -> None:
|
|||
)
|
||||
|
||||
|
||||
def test_snapshot_mcp_refresh_shortcut(snap_compare: SnapCompare) -> None:
|
||||
async def run_before(pilot: Pilot) -> None:
|
||||
await _run_mcp_command(pilot, "/mcp")
|
||||
await pilot.press("r")
|
||||
await pilot.pause(0.2)
|
||||
|
||||
with patch(_MCP_PATCH, FakeMCPRegistry):
|
||||
assert snap_compare(
|
||||
"test_ui_snapshot_mcp_command.py:SnapshotTestAppWithMcpServers",
|
||||
terminal_size=(120, 36),
|
||||
run_before=run_before,
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Apps with connectors
|
||||
# ---------------------------------------------------------------------------
|
||||
|
|
@ -203,6 +223,17 @@ class SnapshotTestAppConnectorsOnly(BaseSnapshotTestApp):
|
|||
self.agent_loop.tool_manager.integrate_connectors()
|
||||
|
||||
|
||||
class SnapshotTestAppConnectorsMixedState(BaseSnapshotTestApp):
|
||||
def __init__(self) -> None:
|
||||
config = default_config()
|
||||
config.mcp_servers = []
|
||||
super().__init__(config=config)
|
||||
registry = FakeConnectorRegistry(connectors=_FAKE_CONNECTORS_MIXED_CONNECTION)
|
||||
self.agent_loop.connector_registry = registry
|
||||
self.agent_loop.tool_manager._connector_registry = registry
|
||||
self.agent_loop.tool_manager.integrate_connectors()
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Connector snapshot tests
|
||||
# ---------------------------------------------------------------------------
|
||||
|
|
@ -235,6 +266,19 @@ def test_snapshot_mcp_connectors_only(snap_compare: SnapCompare) -> None:
|
|||
)
|
||||
|
||||
|
||||
@patch.dict("os.environ", {CONNECTORS_ENV_VAR: "1"})
|
||||
def test_snapshot_mcp_connectors_sorted_by_status(snap_compare: SnapCompare) -> None:
|
||||
|
||||
async def run_before(pilot: Pilot) -> None:
|
||||
await _run_mcp_command(pilot, "/mcp")
|
||||
|
||||
assert snap_compare(
|
||||
"test_ui_snapshot_mcp_command.py:SnapshotTestAppConnectorsMixedState",
|
||||
terminal_size=(120, 36),
|
||||
run_before=run_before,
|
||||
)
|
||||
|
||||
|
||||
@patch.dict("os.environ", {CONNECTORS_ENV_VAR: "1"})
|
||||
def test_snapshot_mcp_drill_into_connector(snap_compare: SnapCompare) -> None:
|
||||
|
||||
|
|
|
|||
|
|
@ -39,8 +39,14 @@ class FakeConnectorRegistry(ConnectorRegistry):
|
|||
self._connector_connected[alias] = bool(tool_map)
|
||||
|
||||
def get_tools(self) -> dict[str, type[BaseTool]]:
|
||||
if self._cache is None:
|
||||
self._build_cache()
|
||||
|
||||
result: dict[str, type[BaseTool]] = {}
|
||||
if self._cache:
|
||||
for tools in self._cache.values():
|
||||
result.update(tools)
|
||||
return result
|
||||
|
||||
async def get_tools_async(self) -> dict[str, type[BaseTool]]:
|
||||
return self.get_tools()
|
||||
|
|
|
|||
|
|
@ -1,53 +1,73 @@
|
|||
"""Tests for deferred initialization: _complete_init, wait_for_init, integrate_mcp idempotency."""
|
||||
"""Tests for deferred initialization: _complete_init, _wait_for_init, integrate_mcp idempotency."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import threading
|
||||
from unittest.mock import MagicMock, patch
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from tests.conftest import build_test_agent_loop, build_test_vibe_config
|
||||
from tests.mock.utils import mock_llm_chunk
|
||||
from tests.stubs.fake_backend import FakeBackend
|
||||
from tests.stubs.fake_connector_registry import FakeConnectorRegistry
|
||||
from tests.stubs.fake_mcp_registry import FakeMCPRegistry
|
||||
from vibe.core.agent_loop import AgentLoop
|
||||
from vibe.core.config import MCPStdio
|
||||
from vibe.core.tools.manager import ToolManager
|
||||
from vibe.core.tools.mcp.tools import RemoteTool
|
||||
|
||||
|
||||
def _build_uninitiated_loop(**kwargs):
|
||||
"""Build a test loop with defer_heavy_init=True but without auto-starting the init thread."""
|
||||
with patch.object(AgentLoop, "_start_deferred_init"):
|
||||
return build_test_agent_loop(defer_heavy_init=True, **kwargs)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# _complete_init
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def _run_init(loop: AgentLoop) -> None:
|
||||
"""Run _complete_init in a thread (matching production behavior) and wait."""
|
||||
thread = threading.Thread(target=loop._complete_init, daemon=True)
|
||||
loop._deferred_init_thread = thread
|
||||
thread.start()
|
||||
thread.join()
|
||||
|
||||
|
||||
class TestCompleteInit:
|
||||
def test_success_sets_init_complete(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
loop = _build_uninitiated_loop()
|
||||
assert not loop.is_initialized
|
||||
|
||||
loop._complete_init()
|
||||
_run_init(loop)
|
||||
|
||||
assert loop.is_initialized
|
||||
assert loop._init_error is None
|
||||
|
||||
def test_failure_sets_init_complete_and_stores_error(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
loop = _build_uninitiated_loop()
|
||||
error = RuntimeError("mcp boom")
|
||||
|
||||
with patch.object(loop.tool_manager, "integrate_all", side_effect=error):
|
||||
loop._complete_init()
|
||||
_run_init(loop)
|
||||
|
||||
assert loop.is_initialized
|
||||
assert loop._init_error is error
|
||||
|
||||
def test_mcp_integration_internal_failure_sets_init_error(self) -> None:
|
||||
def test_mcp_failure_sets_init_error(self) -> None:
|
||||
mcp_server = MCPStdio(name="test-server", transport="stdio", command="echo")
|
||||
config = build_test_vibe_config(mcp_servers=[mcp_server])
|
||||
loop = build_test_agent_loop(config=config, defer_heavy_init=True)
|
||||
loop = _build_uninitiated_loop(config=config)
|
||||
|
||||
with patch.object(
|
||||
loop.tool_manager._mcp_registry,
|
||||
"get_tools_async",
|
||||
side_effect=RuntimeError("mcp discovery boom"),
|
||||
):
|
||||
loop._complete_init()
|
||||
_run_init(loop)
|
||||
|
||||
assert loop.is_initialized
|
||||
assert isinstance(loop._init_error, RuntimeError)
|
||||
|
|
@ -55,7 +75,7 @@ class TestCompleteInit:
|
|||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# wait_for_init
|
||||
# wait_until_ready
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
@ -63,46 +83,43 @@ class TestWaitForInit:
|
|||
@pytest.mark.asyncio
|
||||
async def test_returns_immediately_when_already_complete(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
loop._complete_init()
|
||||
|
||||
await loop.wait_for_init() # should not block
|
||||
await loop.wait_until_ready() # should not block
|
||||
|
||||
assert loop.is_initialized
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_waits_for_background_thread(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
|
||||
thread = threading.Thread(target=loop._complete_init, daemon=True)
|
||||
thread.start()
|
||||
|
||||
await loop.wait_for_init()
|
||||
thread.join(timeout=1)
|
||||
await loop.wait_until_ready()
|
||||
|
||||
assert loop.is_initialized
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_raises_stored_error(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
loop = _build_uninitiated_loop()
|
||||
error = RuntimeError("init failed")
|
||||
|
||||
with patch.object(loop.tool_manager, "integrate_all", side_effect=error):
|
||||
loop._complete_init()
|
||||
|
||||
with pytest.raises(RuntimeError, match="init failed"):
|
||||
await loop.wait_for_init()
|
||||
await loop.wait_until_ready()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_raises_error_for_every_caller(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
loop = _build_uninitiated_loop()
|
||||
error = RuntimeError("once only")
|
||||
|
||||
with patch.object(loop.tool_manager, "integrate_all", side_effect=error):
|
||||
loop._complete_init()
|
||||
|
||||
with pytest.raises(RuntimeError):
|
||||
await loop.wait_for_init()
|
||||
await loop.wait_until_ready()
|
||||
|
||||
with pytest.raises(RuntimeError):
|
||||
await loop.wait_for_init()
|
||||
await loop.wait_until_ready()
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
|
@ -136,3 +153,106 @@ class TestIntegrateMcpIdempotency:
|
|||
# No servers means the method returns early without setting the flag,
|
||||
# so a future call with servers would still run discovery.
|
||||
assert not manager._mcp_integrated
|
||||
|
||||
|
||||
class TestRefreshRemoteTools:
|
||||
@pytest.mark.asyncio
|
||||
async def test_refresh_rediscovers_mcp_and_connector_tools(self) -> None:
|
||||
mcp_server = MCPStdio(name="srv", transport="stdio", command="echo")
|
||||
config = build_test_vibe_config(mcp_servers=[mcp_server])
|
||||
registry = FakeMCPRegistry()
|
||||
registry.get_tools_async = AsyncMock(wraps=registry.get_tools_async)
|
||||
connector_registry = FakeConnectorRegistry({
|
||||
"alpha": [RemoteTool(name="search", description="Search alpha")]
|
||||
})
|
||||
manager = ToolManager(
|
||||
lambda: config,
|
||||
mcp_registry=registry,
|
||||
connector_registry=connector_registry,
|
||||
defer_mcp=True,
|
||||
)
|
||||
|
||||
await manager.refresh_remote_tools_async()
|
||||
|
||||
assert "srv_fake_tool" in manager.registered_tools
|
||||
assert "connector_alpha_search" in manager.registered_tools
|
||||
|
||||
connector_registry._fake_connectors = {
|
||||
"beta": [RemoteTool(name="list", description="List beta")]
|
||||
}
|
||||
|
||||
await manager.refresh_remote_tools_async()
|
||||
|
||||
assert registry.get_tools_async.await_count == 2
|
||||
assert "srv_fake_tool" in manager.registered_tools
|
||||
assert "connector_alpha_search" not in manager.registered_tools
|
||||
assert "connector_beta_list" in manager.registered_tools
|
||||
|
||||
|
||||
class TestDeferredInitPublicMethods:
|
||||
@pytest.mark.asyncio
|
||||
async def test_act_waits_for_deferred_init(self) -> None:
|
||||
loop = build_test_agent_loop(
|
||||
defer_heavy_init=True, backend=FakeBackend(mock_llm_chunk(content="hello"))
|
||||
)
|
||||
|
||||
events = [event async for event in loop.act("Hello")]
|
||||
|
||||
assert loop.is_initialized
|
||||
assert [event.content for event in events if hasattr(event, "content")][
|
||||
-1
|
||||
] == "hello"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_reload_with_initial_messages_waits_for_deferred_init(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
|
||||
await loop.reload_with_initial_messages()
|
||||
|
||||
assert loop.is_initialized
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_switch_agent_waits_for_deferred_init(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
|
||||
await loop.switch_agent("plan")
|
||||
|
||||
assert loop.is_initialized
|
||||
assert loop.agent_profile.name == "plan"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_clear_history_waits_for_deferred_init(self) -> None:
|
||||
loop = build_test_agent_loop(
|
||||
defer_heavy_init=True, backend=FakeBackend(mock_llm_chunk(content="hello"))
|
||||
)
|
||||
[_ async for _ in loop.act("Hello")]
|
||||
|
||||
await loop.clear_history()
|
||||
|
||||
assert loop.is_initialized
|
||||
assert len(loop.messages) == 1
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_compact_waits_for_deferred_init(self) -> None:
|
||||
loop = build_test_agent_loop(
|
||||
defer_heavy_init=True,
|
||||
backend=FakeBackend([
|
||||
[mock_llm_chunk(content="hello")],
|
||||
[mock_llm_chunk(content="summary")],
|
||||
]),
|
||||
)
|
||||
[_ async for _ in loop.act("Hello")]
|
||||
|
||||
summary = await loop.compact()
|
||||
|
||||
assert loop.is_initialized
|
||||
assert summary == "summary"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_inject_user_context_waits_for_deferred_init(self) -> None:
|
||||
loop = build_test_agent_loop(defer_heavy_init=True)
|
||||
|
||||
await loop.inject_user_context("context")
|
||||
|
||||
assert loop.is_initialized
|
||||
assert loop.messages[-1].content == "context"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ import logging
|
|||
import os
|
||||
import threading
|
||||
import time
|
||||
from unittest.mock import MagicMock, patch
|
||||
from typing import Any, cast
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
from pydantic import ValidationError
|
||||
import pytest
|
||||
|
|
@ -17,8 +18,10 @@ from vibe.core.tools.mcp import (
|
|||
_mcp_stderr_capture,
|
||||
_parse_call_result,
|
||||
_stderr_logger_thread,
|
||||
call_tool_stdio,
|
||||
create_mcp_http_proxy_tool_class,
|
||||
create_mcp_stdio_proxy_tool_class,
|
||||
list_tools_stdio,
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -566,3 +569,144 @@ class TestMCPRegistry:
|
|||
assert "cached_ct" in tools
|
||||
assert "new_nt" in tools
|
||||
assert len(registry._cache) == 2
|
||||
|
||||
|
||||
class TestMCPStdioCwd:
|
||||
def test_mcp_stdio_cwd_defaults_to_none(self):
|
||||
config = MCPStdio(name="test", transport="stdio", command="python -m srv")
|
||||
|
||||
assert config.cwd is None
|
||||
|
||||
def test_mcp_stdio_cwd_accepts_string(self):
|
||||
config = MCPStdio(
|
||||
name="test",
|
||||
transport="stdio",
|
||||
command="python -m srv",
|
||||
cwd="/tmp/myproject",
|
||||
)
|
||||
|
||||
assert config.cwd == "/tmp/myproject"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_list_tools_stdio_passes_cwd_to_params(self):
|
||||
with (
|
||||
patch("vibe.core.tools.mcp.tools.stdio_client") as mock_client,
|
||||
patch("vibe.core.tools.mcp.tools.ClientSession") as mock_session_cls,
|
||||
patch("vibe.core.tools.mcp.tools.StdioServerParameters") as mock_params_cls,
|
||||
):
|
||||
mock_client.return_value.__aenter__ = AsyncMock(
|
||||
return_value=(MagicMock(), MagicMock())
|
||||
)
|
||||
mock_client.return_value.__aexit__ = AsyncMock(return_value=False)
|
||||
mock_session = MagicMock()
|
||||
mock_session.initialize = AsyncMock()
|
||||
mock_session.list_tools = AsyncMock(return_value=MagicMock(tools=[]))
|
||||
mock_session_cls.return_value.__aenter__ = AsyncMock(
|
||||
return_value=mock_session
|
||||
)
|
||||
mock_session_cls.return_value.__aexit__ = AsyncMock(return_value=False)
|
||||
|
||||
await list_tools_stdio(["python", "-m", "srv"], cwd="/tmp/myproject")
|
||||
|
||||
mock_params_cls.assert_called_once_with(
|
||||
command="python", args=["-m", "srv"], env=None, cwd="/tmp/myproject"
|
||||
)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_call_tool_stdio_passes_cwd_to_params(self):
|
||||
with (
|
||||
patch("vibe.core.tools.mcp.tools.stdio_client") as mock_client,
|
||||
patch("vibe.core.tools.mcp.tools.ClientSession") as mock_session_cls,
|
||||
patch("vibe.core.tools.mcp.tools.StdioServerParameters") as mock_params_cls,
|
||||
patch("vibe.core.tools.mcp.tools._parse_call_result") as mock_parse,
|
||||
):
|
||||
mock_client.return_value.__aenter__ = AsyncMock(
|
||||
return_value=(MagicMock(), MagicMock())
|
||||
)
|
||||
mock_client.return_value.__aexit__ = AsyncMock(return_value=False)
|
||||
mock_session = MagicMock()
|
||||
mock_session.initialize = AsyncMock()
|
||||
mock_session.call_tool = AsyncMock(return_value=MagicMock())
|
||||
mock_session_cls.return_value.__aenter__ = AsyncMock(
|
||||
return_value=mock_session
|
||||
)
|
||||
mock_session_cls.return_value.__aexit__ = AsyncMock(return_value=False)
|
||||
mock_parse.return_value = MagicMock(spec=MCPToolResult)
|
||||
|
||||
await call_tool_stdio(
|
||||
["python", "-m", "srv"], "my_tool", {}, cwd="/tmp/myproject"
|
||||
)
|
||||
|
||||
mock_params_cls.assert_called_once_with(
|
||||
command="python", args=["-m", "srv"], env=None, cwd="/tmp/myproject"
|
||||
)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_discover_stdio_passes_cwd_to_list_tools(self):
|
||||
registry = MCPRegistry()
|
||||
srv = MCPStdio(
|
||||
name="local",
|
||||
transport="stdio",
|
||||
command="python -m srv",
|
||||
cwd="/tmp/myproject",
|
||||
)
|
||||
remote = RemoteTool(name="run", description="Run it")
|
||||
|
||||
with patch(
|
||||
"vibe.core.tools.mcp.registry.list_tools_stdio", return_value=[remote]
|
||||
) as mock_list:
|
||||
await registry._discover_stdio(srv)
|
||||
|
||||
mock_list.assert_called_once_with(
|
||||
["python", "-m", "srv"],
|
||||
env=None,
|
||||
cwd="/tmp/myproject",
|
||||
startup_timeout_sec=srv.startup_timeout_sec,
|
||||
)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_discover_stdio_passes_cwd_to_proxy_class(self):
|
||||
registry = MCPRegistry()
|
||||
srv = MCPStdio(
|
||||
name="local",
|
||||
transport="stdio",
|
||||
command="python -m srv",
|
||||
cwd="/tmp/myproject",
|
||||
)
|
||||
remote = RemoteTool(name="run", description="Run it")
|
||||
|
||||
with (
|
||||
patch(
|
||||
"vibe.core.tools.mcp.registry.list_tools_stdio", return_value=[remote]
|
||||
),
|
||||
patch(
|
||||
"vibe.core.tools.mcp.registry.create_mcp_stdio_proxy_tool_class",
|
||||
wraps=create_mcp_stdio_proxy_tool_class,
|
||||
) as mock_create,
|
||||
):
|
||||
await registry._discover_stdio(srv)
|
||||
|
||||
_, kwargs = mock_create.call_args
|
||||
assert kwargs["cwd"] == "/tmp/myproject"
|
||||
|
||||
def test_proxy_tool_stores_cwd(self):
|
||||
remote = RemoteTool(name="run")
|
||||
proxy_cls = cast(
|
||||
Any,
|
||||
create_mcp_stdio_proxy_tool_class(
|
||||
command=["python", "-m", "srv"], remote=remote, cwd="/tmp/myproject"
|
||||
),
|
||||
)
|
||||
|
||||
assert proxy_cls._cwd == "/tmp/myproject"
|
||||
|
||||
def test_proxy_tool_cwd_defaults_to_none(self):
|
||||
remote = RemoteTool(name="run")
|
||||
proxy_cls = cast(
|
||||
Any,
|
||||
create_mcp_stdio_proxy_tool_class(
|
||||
command=["python", "-m", "srv"], remote=remote
|
||||
),
|
||||
)
|
||||
|
||||
assert proxy_cls._cwd is None
|
||||
|
|
|
|||
|
|
@ -8,14 +8,13 @@ import pytest
|
|||
from tests.mock.utils import collect_result
|
||||
from vibe.core.skills.manager import SkillManager
|
||||
from vibe.core.skills.models import SkillInfo
|
||||
from vibe.core.tools.base import BaseToolState, InvokeContext, ToolError
|
||||
from vibe.core.tools.base import BaseToolState, InvokeContext, ToolError, ToolPermission
|
||||
from vibe.core.tools.builtins.skill import (
|
||||
Skill,
|
||||
SkillArgs,
|
||||
SkillResult,
|
||||
SkillToolConfig,
|
||||
)
|
||||
from vibe.core.tools.permissions import PermissionScope
|
||||
|
||||
|
||||
def _make_skill_dir(
|
||||
|
|
@ -37,7 +36,10 @@ def _make_skill_dir(
|
|||
file_path.write_text(f"content of {f}", encoding="utf-8")
|
||||
|
||||
return SkillInfo(
|
||||
name=name, description=description, skill_path=skill_dir / "SKILL.md"
|
||||
name=name,
|
||||
description=description,
|
||||
skill_path=skill_dir / "SKILL.md",
|
||||
prompt=body,
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -83,11 +85,13 @@ class TestSkillRun:
|
|||
ctx = _make_ctx(manager)
|
||||
|
||||
result = await collect_result(skill_tool.run(SkillArgs(name="my-skill"), ctx))
|
||||
skill_dir = info.skill_dir
|
||||
assert skill_dir is not None
|
||||
|
||||
assert "<skill_files>" in result.content
|
||||
assert "<file>scripts/run.sh</file>" in result.content
|
||||
assert "<file>references/guide.md</file>" in result.content
|
||||
assert f"<file>{info.skill_dir / 'scripts/run.sh'}</file>" not in result.content
|
||||
assert f"<file>{skill_dir / 'scripts/run.sh'}</file>" not in result.content
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_excludes_skill_md_from_file_list(
|
||||
|
|
@ -137,8 +141,10 @@ class TestSkillRun:
|
|||
ctx = _make_ctx(manager)
|
||||
|
||||
result = await collect_result(skill_tool.run(SkillArgs(name="my-skill"), ctx))
|
||||
skill_dir = info.skill_dir
|
||||
assert skill_dir is not None
|
||||
|
||||
assert result.skill_dir == str(info.skill_dir)
|
||||
assert result.skill_dir == str(skill_dir)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_includes_base_directory(
|
||||
|
|
@ -149,8 +155,30 @@ class TestSkillRun:
|
|||
ctx = _make_ctx(manager)
|
||||
|
||||
result = await collect_result(skill_tool.run(SkillArgs(name="my-skill"), ctx))
|
||||
skill_dir = info.skill_dir
|
||||
assert skill_dir is not None
|
||||
|
||||
assert f"Base directory for this skill: {info.skill_dir}" in result.content
|
||||
assert f"Base directory for this skill: {skill_dir}" in result.content
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_uses_in_memory_prompt_when_available(
|
||||
self, skill_tool: Skill
|
||||
) -> None:
|
||||
info = SkillInfo(
|
||||
name="inline-skill",
|
||||
description="Inline prompt skill",
|
||||
prompt="Inline instructions from Python object.",
|
||||
)
|
||||
manager = _make_skill_manager({"inline-skill": info})
|
||||
ctx = _make_ctx(manager)
|
||||
|
||||
result = await collect_result(
|
||||
skill_tool.run(SkillArgs(name="inline-skill"), ctx)
|
||||
)
|
||||
|
||||
assert "Inline instructions from Python object." in result.content
|
||||
assert "Base directory for this skill:" not in result.content
|
||||
assert result.skill_dir is None
|
||||
|
||||
|
||||
class TestSkillErrors:
|
||||
|
|
@ -182,30 +210,35 @@ class TestSkillErrors:
|
|||
await collect_result(skill_tool.run(SkillArgs(name="missing"), ctx=ctx))
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_unreadable_skill_file(
|
||||
async def test_ignores_unreadable_file_when_prompt_is_available(
|
||||
self, tmp_path: Path, skill_tool: Skill
|
||||
) -> None:
|
||||
info = SkillInfo(
|
||||
name="broken",
|
||||
description="Broken skill",
|
||||
skill_path=tmp_path / "nonexistent" / "SKILL.md",
|
||||
prompt="Use prompt from state.",
|
||||
)
|
||||
manager = _make_skill_manager({"broken": info})
|
||||
ctx = _make_ctx(manager)
|
||||
|
||||
with pytest.raises(ToolError, match="Cannot load skill file"):
|
||||
await collect_result(skill_tool.run(SkillArgs(name="broken"), ctx=ctx))
|
||||
result = await collect_result(skill_tool.run(SkillArgs(name="broken"), ctx=ctx))
|
||||
assert "Use prompt from state." in result.content
|
||||
|
||||
|
||||
class TestSkillPermission:
|
||||
def test_resolve_permission_returns_file_pattern(self, skill_tool: Skill) -> None:
|
||||
def test_resolve_permission_always_allowed(self, skill_tool: Skill) -> None:
|
||||
perm = skill_tool.resolve_permission(SkillArgs(name="my-skill"))
|
||||
|
||||
assert perm is not None
|
||||
assert len(perm.required_permissions) == 1
|
||||
assert perm.required_permissions[0].scope == PermissionScope.FILE_PATTERN
|
||||
assert perm.required_permissions[0].invocation_pattern == "my-skill"
|
||||
assert perm.required_permissions[0].session_pattern == "my-skill"
|
||||
assert perm.permission == ToolPermission.ALWAYS
|
||||
assert perm.required_permissions == []
|
||||
|
||||
def test_non_builtin_skill_is_still_always_allowed(self, skill_tool: Skill) -> None:
|
||||
perm = skill_tool.resolve_permission(SkillArgs(name="custom-skill"))
|
||||
|
||||
assert perm is not None
|
||||
assert perm.permission == ToolPermission.ALWAYS
|
||||
|
||||
|
||||
class TestSkillMeta:
|
||||
|
|
|
|||