Support Assistent persona packs via git and local sync.

Replace assistent-personas overlay seed with assistent-extensions SFTP and an assistent: section in extensions.yaml so personalities install like other extensions without private URLs in the public repo.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-23 08:28:31 +03:00
co-authored by Cursor
parent b24c1b5d4b
commit 20ae7bd83a
25 changed files with 258 additions and 206 deletions
+27 -1
View File
@@ -3,7 +3,12 @@ from pathlib import Path
import pytest
from gpu_rent.errors import ConfigError
from gpu_rent.manifests import parse_extensions, parse_models, repo_matches_runtime
from gpu_rent.manifests import (
parse_extensions,
parse_models,
remote_root_for,
repo_matches_runtime,
)
def test_models_skips_version_zero(tmp_path: Path):
@@ -77,3 +82,24 @@ def test_extensions_requires_invalid(tmp_path: Path):
)
with pytest.raises(ConfigError, match="requires"):
parse_extensions(path)
def test_extensions_assistent_kind(tmp_path: Path):
path = tmp_path / "extensions.yaml"
path.write_text(
"assistent:\n"
" - url: https://example.com/org/sample-pack.git\n"
" ref: main\n"
" dir: sample-pack\n"
" requires: ollama\n",
encoding="utf-8",
)
repos = parse_extensions(path)
assert len(repos) == 1
assert repos[0].kind == "assistent"
assert repos[0].directory == "sample-pack"
assert remote_root_for(repos[0]) == (
"/mnt/swarm_data/Assistent/extensions/sample-pack"
)
assert repo_matches_runtime(repos[0], "ollama")
assert not repo_matches_runtime(repos[0], "none")