quoriv 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quoriv-1.0.0/.gitignore +125 -0
- quoriv-1.0.0/CHANGELOG.md +759 -0
- quoriv-1.0.0/LICENSE +201 -0
- quoriv-1.0.0/PKG-INFO +285 -0
- quoriv-1.0.0/README.md +211 -0
- quoriv-1.0.0/pyproject.toml +248 -0
- quoriv-1.0.0/src/quoriv/__init__.py +20 -0
- quoriv-1.0.0/src/quoriv/__main__.py +11 -0
- quoriv-1.0.0/src/quoriv/app.py +1019 -0
- quoriv-1.0.0/src/quoriv/cli.py +384 -0
- quoriv-1.0.0/src/quoriv/config/__init__.py +59 -0
- quoriv-1.0.0/src/quoriv/config/keychain.py +110 -0
- quoriv-1.0.0/src/quoriv/config/loader.py +96 -0
- quoriv-1.0.0/src/quoriv/config/schema.py +363 -0
- quoriv-1.0.0/src/quoriv/core/__init__.py +70 -0
- quoriv-1.0.0/src/quoriv/core/agent.py +141 -0
- quoriv-1.0.0/src/quoriv/core/events.py +76 -0
- quoriv-1.0.0/src/quoriv/core/memory.py +118 -0
- quoriv-1.0.0/src/quoriv/core/persistence.py +214 -0
- quoriv-1.0.0/src/quoriv/core/subagents.py +184 -0
- quoriv-1.0.0/src/quoriv/eval.py +306 -0
- quoriv-1.0.0/src/quoriv/hooks.py +105 -0
- quoriv-1.0.0/src/quoriv/models/__init__.py +33 -0
- quoriv-1.0.0/src/quoriv/models/anthropic.py +52 -0
- quoriv-1.0.0/src/quoriv/models/base.py +78 -0
- quoriv-1.0.0/src/quoriv/models/factory.py +139 -0
- quoriv-1.0.0/src/quoriv/models/gemini.py +56 -0
- quoriv-1.0.0/src/quoriv/models/ollama.py +56 -0
- quoriv-1.0.0/src/quoriv/models/openai.py +45 -0
- quoriv-1.0.0/src/quoriv/models/openrouter.py +70 -0
- quoriv-1.0.0/src/quoriv/models/vllm.py +79 -0
- quoriv-1.0.0/src/quoriv/observability/__init__.py +34 -0
- quoriv-1.0.0/src/quoriv/observability/cost.py +140 -0
- quoriv-1.0.0/src/quoriv/observability/telemetry.py +162 -0
- quoriv-1.0.0/src/quoriv/observability/trace.py +155 -0
- quoriv-1.0.0/src/quoriv/permissions/__init__.py +57 -0
- quoriv-1.0.0/src/quoriv/permissions/allowlist.py +63 -0
- quoriv-1.0.0/src/quoriv/permissions/guard.py +190 -0
- quoriv-1.0.0/src/quoriv/permissions/modes.py +91 -0
- quoriv-1.0.0/src/quoriv/permissions/paths.py +39 -0
- quoriv-1.0.0/src/quoriv/plugins/__init__.py +27 -0
- quoriv-1.0.0/src/quoriv/plugins/loader.py +153 -0
- quoriv-1.0.0/src/quoriv/plugins/mcp/__init__.py +18 -0
- quoriv-1.0.0/src/quoriv/plugins/mcp/client.py +121 -0
- quoriv-1.0.0/src/quoriv/py.typed +0 -0
- quoriv-1.0.0/src/quoriv/replay.py +112 -0
- quoriv-1.0.0/src/quoriv/repo/__init__.py +21 -0
- quoriv-1.0.0/src/quoriv/repo/ast.py +152 -0
- quoriv-1.0.0/src/quoriv/repo/symbols.py +326 -0
- quoriv-1.0.0/src/quoriv/tools/__init__.py +85 -0
- quoriv-1.0.0/src/quoriv/tools/ast_tools.py +296 -0
- quoriv-1.0.0/src/quoriv/tools/git.py +476 -0
- quoriv-1.0.0/src/quoriv/tools/tests.py +435 -0
- quoriv-1.0.0/src/quoriv/tools/web.py +204 -0
- quoriv-1.0.0/src/quoriv/ui/__init__.py +40 -0
- quoriv-1.0.0/src/quoriv/ui/diff.py +72 -0
- quoriv-1.0.0/src/quoriv/ui/prompts.py +186 -0
- quoriv-1.0.0/src/quoriv/ui/stream.py +84 -0
- quoriv-1.0.0/src/quoriv/ui/themes.py +135 -0
- quoriv-1.0.0/tests/conftest.py +69 -0
- quoriv-1.0.0/tests/integration/test_e2e_stubbed_chat.py +234 -0
- quoriv-1.0.0/tests/unit/config/test_keychain.py +100 -0
- quoriv-1.0.0/tests/unit/config/test_loader.py +160 -0
- quoriv-1.0.0/tests/unit/config/test_schema.py +209 -0
- quoriv-1.0.0/tests/unit/core/test_agent.py +209 -0
- quoriv-1.0.0/tests/unit/core/test_events.py +123 -0
- quoriv-1.0.0/tests/unit/core/test_memory.py +103 -0
- quoriv-1.0.0/tests/unit/core/test_persistence.py +218 -0
- quoriv-1.0.0/tests/unit/core/test_subagents.py +237 -0
- quoriv-1.0.0/tests/unit/models/test_anthropic.py +113 -0
- quoriv-1.0.0/tests/unit/models/test_base.py +107 -0
- quoriv-1.0.0/tests/unit/models/test_factory.py +101 -0
- quoriv-1.0.0/tests/unit/models/test_fallbacks.py +184 -0
- quoriv-1.0.0/tests/unit/models/test_gemini.py +103 -0
- quoriv-1.0.0/tests/unit/models/test_ollama.py +87 -0
- quoriv-1.0.0/tests/unit/models/test_openai.py +83 -0
- quoriv-1.0.0/tests/unit/models/test_openrouter.py +126 -0
- quoriv-1.0.0/tests/unit/models/test_vllm.py +141 -0
- quoriv-1.0.0/tests/unit/observability/__init__.py +0 -0
- quoriv-1.0.0/tests/unit/observability/test_cost.py +240 -0
- quoriv-1.0.0/tests/unit/observability/test_telemetry.py +226 -0
- quoriv-1.0.0/tests/unit/observability/test_trace.py +220 -0
- quoriv-1.0.0/tests/unit/permissions/test_allowlist.py +68 -0
- quoriv-1.0.0/tests/unit/permissions/test_guard.py +218 -0
- quoriv-1.0.0/tests/unit/permissions/test_modes.py +104 -0
- quoriv-1.0.0/tests/unit/permissions/test_paths.py +48 -0
- quoriv-1.0.0/tests/unit/plugins/__init__.py +0 -0
- quoriv-1.0.0/tests/unit/plugins/test_loader.py +241 -0
- quoriv-1.0.0/tests/unit/plugins/test_mcp_client.py +183 -0
- quoriv-1.0.0/tests/unit/plugins/test_mcp_schema.py +132 -0
- quoriv-1.0.0/tests/unit/repo/__init__.py +0 -0
- quoriv-1.0.0/tests/unit/repo/test_ast.py +100 -0
- quoriv-1.0.0/tests/unit/repo/test_symbols.py +207 -0
- quoriv-1.0.0/tests/unit/test_app_decisions.py +222 -0
- quoriv-1.0.0/tests/unit/test_app_slash.py +575 -0
- quoriv-1.0.0/tests/unit/test_binaries_workflow.py +184 -0
- quoriv-1.0.0/tests/unit/test_cli.py +249 -0
- quoriv-1.0.0/tests/unit/test_docs_setup.py +209 -0
- quoriv-1.0.0/tests/unit/test_eval.py +114 -0
- quoriv-1.0.0/tests/unit/test_eval_runner.py +328 -0
- quoriv-1.0.0/tests/unit/test_hooks.py +99 -0
- quoriv-1.0.0/tests/unit/test_release_workflow.py +151 -0
- quoriv-1.0.0/tests/unit/test_replay.py +137 -0
- quoriv-1.0.0/tests/unit/tools/test_ast_tools.py +213 -0
- quoriv-1.0.0/tests/unit/tools/test_git.py +585 -0
- quoriv-1.0.0/tests/unit/tools/test_runner.py +614 -0
- quoriv-1.0.0/tests/unit/tools/test_web.py +388 -0
- quoriv-1.0.0/tests/unit/ui/test_diff.py +98 -0
- quoriv-1.0.0/tests/unit/ui/test_prompts.py +134 -0
- quoriv-1.0.0/tests/unit/ui/test_stream.py +74 -0
- quoriv-1.0.0/tests/unit/ui/test_themes.py +141 -0
quoriv-1.0.0/.gitignore
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# ------------------------------------------------------------
|
|
2
|
+
# Python
|
|
3
|
+
# ------------------------------------------------------------
|
|
4
|
+
__pycache__/
|
|
5
|
+
*.py[cod]
|
|
6
|
+
*$py.class
|
|
7
|
+
*.so
|
|
8
|
+
.Python
|
|
9
|
+
*.egg
|
|
10
|
+
*.egg-info/
|
|
11
|
+
.eggs/
|
|
12
|
+
build/
|
|
13
|
+
dist/
|
|
14
|
+
develop-eggs/
|
|
15
|
+
downloads/
|
|
16
|
+
parts/
|
|
17
|
+
sdist/
|
|
18
|
+
wheels/
|
|
19
|
+
share/python-wheels/
|
|
20
|
+
MANIFEST
|
|
21
|
+
pip-log.txt
|
|
22
|
+
pip-delete-this-directory.txt
|
|
23
|
+
|
|
24
|
+
# ------------------------------------------------------------
|
|
25
|
+
# Virtual environments
|
|
26
|
+
# ------------------------------------------------------------
|
|
27
|
+
.env
|
|
28
|
+
.venv
|
|
29
|
+
env/
|
|
30
|
+
venv/
|
|
31
|
+
ENV/
|
|
32
|
+
env.bak/
|
|
33
|
+
venv.bak/
|
|
34
|
+
|
|
35
|
+
# ------------------------------------------------------------
|
|
36
|
+
# Testing & coverage
|
|
37
|
+
# ------------------------------------------------------------
|
|
38
|
+
.coverage
|
|
39
|
+
.coverage.*
|
|
40
|
+
.cache
|
|
41
|
+
.pytest_cache/
|
|
42
|
+
.tox/
|
|
43
|
+
.nox/
|
|
44
|
+
htmlcov/
|
|
45
|
+
nosetests.xml
|
|
46
|
+
coverage.xml
|
|
47
|
+
*.cover
|
|
48
|
+
*.py,cover
|
|
49
|
+
.hypothesis/
|
|
50
|
+
|
|
51
|
+
# ------------------------------------------------------------
|
|
52
|
+
# Type checking
|
|
53
|
+
# ------------------------------------------------------------
|
|
54
|
+
.mypy_cache/
|
|
55
|
+
.dmypy.json
|
|
56
|
+
dmypy.json
|
|
57
|
+
.pyre/
|
|
58
|
+
.pytype/
|
|
59
|
+
|
|
60
|
+
# ------------------------------------------------------------
|
|
61
|
+
# Ruff
|
|
62
|
+
# ------------------------------------------------------------
|
|
63
|
+
.ruff_cache/
|
|
64
|
+
|
|
65
|
+
# ------------------------------------------------------------
|
|
66
|
+
# Docs (MkDocs)
|
|
67
|
+
# ------------------------------------------------------------
|
|
68
|
+
site/
|
|
69
|
+
docs/_build/
|
|
70
|
+
|
|
71
|
+
# ------------------------------------------------------------
|
|
72
|
+
# Editors / IDEs
|
|
73
|
+
# ------------------------------------------------------------
|
|
74
|
+
.idea/
|
|
75
|
+
.vscode/
|
|
76
|
+
*.swp
|
|
77
|
+
*.swo
|
|
78
|
+
*~
|
|
79
|
+
.DS_Store
|
|
80
|
+
Thumbs.db
|
|
81
|
+
|
|
82
|
+
# ------------------------------------------------------------
|
|
83
|
+
# Quoriv-specific
|
|
84
|
+
# ------------------------------------------------------------
|
|
85
|
+
# Local config & memory (user-specific, never commit)
|
|
86
|
+
.quoriv/
|
|
87
|
+
# But DO keep the example config
|
|
88
|
+
!.quoriv/config.example.toml
|
|
89
|
+
|
|
90
|
+
# Trace logs and SQLite databases
|
|
91
|
+
*.sqlite
|
|
92
|
+
*.sqlite3
|
|
93
|
+
*.db
|
|
94
|
+
traces/
|
|
95
|
+
sessions/
|
|
96
|
+
|
|
97
|
+
# Environment / secrets
|
|
98
|
+
.env.local
|
|
99
|
+
.env.*.local
|
|
100
|
+
*.pem
|
|
101
|
+
*.key
|
|
102
|
+
secrets/
|
|
103
|
+
|
|
104
|
+
# ------------------------------------------------------------
|
|
105
|
+
# Build artifacts
|
|
106
|
+
# ------------------------------------------------------------
|
|
107
|
+
*.spec
|
|
108
|
+
# The PyInstaller spec used by the binaries CI workflow is checked in
|
|
109
|
+
# — every other generated spec stays ignored.
|
|
110
|
+
!pyinstaller.spec
|
|
111
|
+
pyinstaller-build/
|
|
112
|
+
build/
|
|
113
|
+
dist/
|
|
114
|
+
|
|
115
|
+
# ------------------------------------------------------------
|
|
116
|
+
# Screenshots / scratch (CI debugging, design refs, etc.)
|
|
117
|
+
# ------------------------------------------------------------
|
|
118
|
+
Screenshot*.png
|
|
119
|
+
Screenshot*.jpg
|
|
120
|
+
*.png
|
|
121
|
+
*.jpg
|
|
122
|
+
*.jpeg
|
|
123
|
+
!docs/**/*.png
|
|
124
|
+
!docs/**/*.jpg
|
|
125
|
+
!docs/**/*.jpeg
|