ouroboros-ai 0.1.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.
Potentially problematic release.
This version of ouroboros-ai might be problematic. Click here for more details.
- ouroboros_ai-0.1.0/.gitignore +100 -0
- ouroboros_ai-0.1.0/.pre-commit-config.yaml +27 -0
- ouroboros_ai-0.1.0/.python-version +1 -0
- ouroboros_ai-0.1.0/LICENSE +21 -0
- ouroboros_ai-0.1.0/PKG-INFO +607 -0
- ouroboros_ai-0.1.0/PR-43-CODE-REVIEW-REPORT.md +614 -0
- ouroboros_ai-0.1.0/README.md +587 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/github-issue-mapping.yaml +195 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/sprint-status.yaml +140 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-1-project-initialization-with-uv.md +171 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-2-core-types-and-error-handling.md +124 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-3-event-store-with-sqlalchemy-core.md +133 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-4-configuration-and-credentials-management.md +97 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-5-llm-provider-adapter-with-litellm.md +91 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-6-cli-skeleton-with-typer-and-rich.md +105 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-7-structured-logging-with-structlog.md +84 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-8-checkpoint-and-recovery-system.md +131 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/0-9-context-compression-engine.md +159 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/1-1-interview-protocol-engine.md +140 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/1-2-ambiguity-score-calculation.md +81 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/1-3-immutable-seed-generation.md +85 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/2-1-three-tier-model-configuration.md +115 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/2-2-complexity-based-routing.md +86 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/2-3-escalation-on-failure.md +76 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/2-4-downgrade-on-success.md +78 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/3-1-double-diamond-cycle-implementation.md +159 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/3-2-hierarchical-ac-decomposition.md +66 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/3-3-atomicity-detection.md +66 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/3-4-subagent-isolation.md +93 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/4-1-stagnation-detection-4-patterns.md +66 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/4-2-lateral-thinking-personas.md +69 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/4-3-persona-rotation-strategy.md +66 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/5-1-stage-1-mechanical-verification.md +67 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/5-2-stage-2-semantic-evaluation.md +70 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/5-3-stage-3-multi-model-consensus.md +72 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/5-4-consensus-trigger-matrix.md +63 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/6-1-drift-measurement-engine.md +68 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/6-2-automatic-retrospective.md +65 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/7-1-todo-registry.md +66 -0
- ouroboros_ai-0.1.0/_bmad-output/implementation-artifacts/stories/7-2-secondary-loop-batch-processing.md +77 -0
- ouroboros_ai-0.1.0/_bmad-output/planning-artifacts/architecture.md +1751 -0
- ouroboros_ai-0.1.0/_bmad-output/planning-artifacts/bmm-workflow-status.yaml +164 -0
- ouroboros_ai-0.1.0/_bmad-output/planning-artifacts/epics.md +835 -0
- ouroboros_ai-0.1.0/_bmad-output/update-stories.sh +84 -0
- ouroboros_ai-0.1.0/docs/running-with-claude-code.md +210 -0
- ouroboros_ai-0.1.0/project-context.md +390 -0
- ouroboros_ai-0.1.0/pyproject.toml +96 -0
- ouroboros_ai-0.1.0/requirement/1_EXECUTIVE_SUMMARY.md +167 -0
- ouroboros_ai-0.1.0/requirement/2_FULL_SPECIFICATION.md +1067 -0
- ouroboros_ai-0.1.0/requirement/3_CONFIG_TEMPLATE.yaml +344 -0
- ouroboros_ai-0.1.0/requirement/4_REDDIT_EXAMPLE.md +2108 -0
- ouroboros_ai-0.1.0/src/ouroboros/__init__.py +15 -0
- ouroboros_ai-0.1.0/src/ouroboros/__main__.py +9 -0
- ouroboros_ai-0.1.0/src/ouroboros/bigbang/__init__.py +39 -0
- ouroboros_ai-0.1.0/src/ouroboros/bigbang/ambiguity.py +464 -0
- ouroboros_ai-0.1.0/src/ouroboros/bigbang/interview.py +530 -0
- ouroboros_ai-0.1.0/src/ouroboros/bigbang/seed_generator.py +610 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/__init__.py +9 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/commands/__init__.py +7 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/commands/config.py +79 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/commands/init.py +425 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/commands/run.py +201 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/commands/status.py +85 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/formatters/__init__.py +31 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/formatters/panels.py +157 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/formatters/progress.py +112 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/formatters/tables.py +166 -0
- ouroboros_ai-0.1.0/src/ouroboros/cli/main.py +60 -0
- ouroboros_ai-0.1.0/src/ouroboros/config/__init__.py +81 -0
- ouroboros_ai-0.1.0/src/ouroboros/config/loader.py +292 -0
- ouroboros_ai-0.1.0/src/ouroboros/config/models.py +332 -0
- ouroboros_ai-0.1.0/src/ouroboros/core/__init__.py +62 -0
- ouroboros_ai-0.1.0/src/ouroboros/core/ac_tree.py +401 -0
- ouroboros_ai-0.1.0/src/ouroboros/core/context.py +472 -0
- ouroboros_ai-0.1.0/src/ouroboros/core/errors.py +246 -0
- ouroboros_ai-0.1.0/src/ouroboros/core/seed.py +212 -0
- ouroboros_ai-0.1.0/src/ouroboros/core/types.py +205 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/__init__.py +110 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/consensus.py +350 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/mechanical.py +351 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/models.py +235 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/pipeline.py +286 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/semantic.py +302 -0
- ouroboros_ai-0.1.0/src/ouroboros/evaluation/trigger.py +278 -0
- ouroboros_ai-0.1.0/src/ouroboros/events/__init__.py +5 -0
- ouroboros_ai-0.1.0/src/ouroboros/events/base.py +80 -0
- ouroboros_ai-0.1.0/src/ouroboros/events/decomposition.py +153 -0
- ouroboros_ai-0.1.0/src/ouroboros/events/evaluation.py +248 -0
- ouroboros_ai-0.1.0/src/ouroboros/execution/__init__.py +44 -0
- ouroboros_ai-0.1.0/src/ouroboros/execution/atomicity.py +451 -0
- ouroboros_ai-0.1.0/src/ouroboros/execution/decomposition.py +481 -0
- ouroboros_ai-0.1.0/src/ouroboros/execution/double_diamond.py +1386 -0
- ouroboros_ai-0.1.0/src/ouroboros/execution/subagent.py +275 -0
- ouroboros_ai-0.1.0/src/ouroboros/observability/__init__.py +63 -0
- ouroboros_ai-0.1.0/src/ouroboros/observability/drift.py +383 -0
- ouroboros_ai-0.1.0/src/ouroboros/observability/logging.py +504 -0
- ouroboros_ai-0.1.0/src/ouroboros/observability/retrospective.py +338 -0
- ouroboros_ai-0.1.0/src/ouroboros/orchestrator/__init__.py +78 -0
- ouroboros_ai-0.1.0/src/ouroboros/orchestrator/adapter.py +391 -0
- ouroboros_ai-0.1.0/src/ouroboros/orchestrator/events.py +278 -0
- ouroboros_ai-0.1.0/src/ouroboros/orchestrator/runner.py +597 -0
- ouroboros_ai-0.1.0/src/ouroboros/orchestrator/session.py +486 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/__init__.py +23 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/checkpoint.py +511 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/event_store.py +183 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/migrations/__init__.py +1 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/migrations/runner.py +100 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/migrations/scripts/001_initial.sql +20 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/schema.py +56 -0
- ouroboros_ai-0.1.0/src/ouroboros/persistence/uow.py +230 -0
- ouroboros_ai-0.1.0/src/ouroboros/providers/__init__.py +28 -0
- ouroboros_ai-0.1.0/src/ouroboros/providers/base.py +133 -0
- ouroboros_ai-0.1.0/src/ouroboros/providers/claude_code_adapter.py +212 -0
- ouroboros_ai-0.1.0/src/ouroboros/providers/litellm_adapter.py +316 -0
- ouroboros_ai-0.1.0/src/ouroboros/py.typed +0 -0
- ouroboros_ai-0.1.0/src/ouroboros/resilience/__init__.py +67 -0
- ouroboros_ai-0.1.0/src/ouroboros/resilience/lateral.py +595 -0
- ouroboros_ai-0.1.0/src/ouroboros/resilience/stagnation.py +727 -0
- ouroboros_ai-0.1.0/src/ouroboros/routing/__init__.py +60 -0
- ouroboros_ai-0.1.0/src/ouroboros/routing/complexity.py +272 -0
- ouroboros_ai-0.1.0/src/ouroboros/routing/downgrade.py +664 -0
- ouroboros_ai-0.1.0/src/ouroboros/routing/escalation.py +340 -0
- ouroboros_ai-0.1.0/src/ouroboros/routing/router.py +204 -0
- ouroboros_ai-0.1.0/src/ouroboros/routing/tiers.py +247 -0
- ouroboros_ai-0.1.0/src/ouroboros/secondary/__init__.py +40 -0
- ouroboros_ai-0.1.0/src/ouroboros/secondary/scheduler.py +467 -0
- ouroboros_ai-0.1.0/src/ouroboros/secondary/todo_registry.py +483 -0
- ouroboros_ai-0.1.0/tests/conftest.py +1 -0
- ouroboros_ai-0.1.0/tests/integration/test_entry_point.py +30 -0
- ouroboros_ai-0.1.0/tests/unit/bigbang/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/bigbang/test_ambiguity.py +974 -0
- ouroboros_ai-0.1.0/tests/unit/bigbang/test_interview.py +789 -0
- ouroboros_ai-0.1.0/tests/unit/bigbang/test_seed_generator.py +734 -0
- ouroboros_ai-0.1.0/tests/unit/cli/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/cli/formatters/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/cli/formatters/test_console.py +87 -0
- ouroboros_ai-0.1.0/tests/unit/cli/formatters/test_panels.py +181 -0
- ouroboros_ai-0.1.0/tests/unit/cli/formatters/test_progress.py +99 -0
- ouroboros_ai-0.1.0/tests/unit/cli/formatters/test_tables.py +164 -0
- ouroboros_ai-0.1.0/tests/unit/cli/test_main.py +132 -0
- ouroboros_ai-0.1.0/tests/unit/config/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/config/test_loader.py +391 -0
- ouroboros_ai-0.1.0/tests/unit/config/test_models.py +468 -0
- ouroboros_ai-0.1.0/tests/unit/core/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/core/test_ac_tree.py +487 -0
- ouroboros_ai-0.1.0/tests/unit/core/test_context.py +622 -0
- ouroboros_ai-0.1.0/tests/unit/core/test_errors.py +173 -0
- ouroboros_ai-0.1.0/tests/unit/core/test_seed.py +533 -0
- ouroboros_ai-0.1.0/tests/unit/core/test_types.py +158 -0
- ouroboros_ai-0.1.0/tests/unit/evaluation/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/evaluation/test_consensus.py +384 -0
- ouroboros_ai-0.1.0/tests/unit/evaluation/test_mechanical.py +276 -0
- ouroboros_ai-0.1.0/tests/unit/evaluation/test_models.py +311 -0
- ouroboros_ai-0.1.0/tests/unit/evaluation/test_semantic.py +307 -0
- ouroboros_ai-0.1.0/tests/unit/evaluation/test_trigger.py +302 -0
- ouroboros_ai-0.1.0/tests/unit/events/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/events/test_base.py +174 -0
- ouroboros_ai-0.1.0/tests/unit/events/test_decomposition_events.py +384 -0
- ouroboros_ai-0.1.0/tests/unit/execution/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/execution/test_atomicity.py +498 -0
- ouroboros_ai-0.1.0/tests/unit/execution/test_decomposition.py +492 -0
- ouroboros_ai-0.1.0/tests/unit/execution/test_double_diamond.py +773 -0
- ouroboros_ai-0.1.0/tests/unit/execution/test_subagent_isolation.py +377 -0
- ouroboros_ai-0.1.0/tests/unit/observability/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/observability/test_drift.py +560 -0
- ouroboros_ai-0.1.0/tests/unit/observability/test_logging.py +555 -0
- ouroboros_ai-0.1.0/tests/unit/observability/test_retrospective.py +509 -0
- ouroboros_ai-0.1.0/tests/unit/orchestrator/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/orchestrator/test_adapter.py +256 -0
- ouroboros_ai-0.1.0/tests/unit/orchestrator/test_events.py +239 -0
- ouroboros_ai-0.1.0/tests/unit/orchestrator/test_runner.py +370 -0
- ouroboros_ai-0.1.0/tests/unit/orchestrator/test_session.py +335 -0
- ouroboros_ai-0.1.0/tests/unit/persistence/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/persistence/test_checkpoint.py +400 -0
- ouroboros_ai-0.1.0/tests/unit/persistence/test_event_store.py +234 -0
- ouroboros_ai-0.1.0/tests/unit/persistence/test_schema.py +81 -0
- ouroboros_ai-0.1.0/tests/unit/persistence/test_uow.py +351 -0
- ouroboros_ai-0.1.0/tests/unit/providers/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/providers/test_base.py +205 -0
- ouroboros_ai-0.1.0/tests/unit/providers/test_litellm_adapter.py +592 -0
- ouroboros_ai-0.1.0/tests/unit/resilience/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/resilience/test_lateral.py +714 -0
- ouroboros_ai-0.1.0/tests/unit/resilience/test_stagnation.py +737 -0
- ouroboros_ai-0.1.0/tests/unit/routing/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/routing/test_complexity.py +442 -0
- ouroboros_ai-0.1.0/tests/unit/routing/test_downgrade.py +783 -0
- ouroboros_ai-0.1.0/tests/unit/routing/test_escalation.py +537 -0
- ouroboros_ai-0.1.0/tests/unit/routing/test_router.py +456 -0
- ouroboros_ai-0.1.0/tests/unit/routing/test_tiers.py +561 -0
- ouroboros_ai-0.1.0/tests/unit/secondary/__init__.py +1 -0
- ouroboros_ai-0.1.0/tests/unit/secondary/test_scheduler.py +543 -0
- ouroboros_ai-0.1.0/tests/unit/secondary/test_todo_registry.py +552 -0
- ouroboros_ai-0.1.0/tests/unit/test_dependencies_configured.py +62 -0
- ouroboros_ai-0.1.0/tests/unit/test_main_entry_point.py +46 -0
- ouroboros_ai-0.1.0/tests/unit/test_module_structure.py +37 -0
- ouroboros_ai-0.1.0/tests/unit/test_project_initialization.py +45 -0
- ouroboros_ai-0.1.0/tests/unit/test_tooling_configuration.py +61 -0
- ouroboros_ai-0.1.0/tools/sync_github_project.py +259 -0
- ouroboros_ai-0.1.0/uv.lock +1674 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
*.manifest
|
|
31
|
+
*.spec
|
|
32
|
+
|
|
33
|
+
# Installer logs
|
|
34
|
+
pip-log.txt
|
|
35
|
+
pip-delete-this-directory.txt
|
|
36
|
+
|
|
37
|
+
# Unit test / coverage reports
|
|
38
|
+
htmlcov/
|
|
39
|
+
.tox/
|
|
40
|
+
.nox/
|
|
41
|
+
.coverage
|
|
42
|
+
.coverage.*
|
|
43
|
+
.cache
|
|
44
|
+
nosetests.xml
|
|
45
|
+
coverage.xml
|
|
46
|
+
*.cover
|
|
47
|
+
*.py,cover
|
|
48
|
+
.hypothesis/
|
|
49
|
+
.pytest_cache/
|
|
50
|
+
|
|
51
|
+
# Translations
|
|
52
|
+
*.mo
|
|
53
|
+
*.pot
|
|
54
|
+
|
|
55
|
+
# Environments
|
|
56
|
+
.env
|
|
57
|
+
.venv
|
|
58
|
+
env/
|
|
59
|
+
venv/
|
|
60
|
+
ENV/
|
|
61
|
+
env.bak/
|
|
62
|
+
venv.bak/
|
|
63
|
+
|
|
64
|
+
# IDEs
|
|
65
|
+
.idea/
|
|
66
|
+
.vscode/
|
|
67
|
+
*.swp
|
|
68
|
+
*.swo
|
|
69
|
+
*~
|
|
70
|
+
|
|
71
|
+
# Jupyter Notebook
|
|
72
|
+
.ipynb_checkpoints
|
|
73
|
+
|
|
74
|
+
# pytype static type analyzer
|
|
75
|
+
.pytype/
|
|
76
|
+
|
|
77
|
+
# mypy
|
|
78
|
+
.mypy_cache/
|
|
79
|
+
.dmypy.json
|
|
80
|
+
dmypy.json
|
|
81
|
+
|
|
82
|
+
# ruff
|
|
83
|
+
.ruff_cache/
|
|
84
|
+
|
|
85
|
+
# uv
|
|
86
|
+
# Note: uv.lock is intentionally NOT ignored for applications
|
|
87
|
+
# Lock files should be committed for reproducible builds
|
|
88
|
+
|
|
89
|
+
# OS files
|
|
90
|
+
.DS_Store
|
|
91
|
+
Thumbs.db
|
|
92
|
+
|
|
93
|
+
# Project specific
|
|
94
|
+
*.db
|
|
95
|
+
*.sqlite
|
|
96
|
+
*.log
|
|
97
|
+
|
|
98
|
+
# BMad framework (tooling - not project-specific)
|
|
99
|
+
_bmad/
|
|
100
|
+
.claude/commands/bmad/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Pre-commit hooks for Ouroboros
|
|
2
|
+
repos:
|
|
3
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
4
|
+
rev: v5.0.0
|
|
5
|
+
hooks:
|
|
6
|
+
- id: trailing-whitespace
|
|
7
|
+
- id: end-of-file-fixer
|
|
8
|
+
- id: check-yaml
|
|
9
|
+
- id: check-toml
|
|
10
|
+
- id: check-added-large-files
|
|
11
|
+
- id: check-merge-conflict
|
|
12
|
+
- id: debug-statements
|
|
13
|
+
|
|
14
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
15
|
+
rev: v0.14.11
|
|
16
|
+
hooks:
|
|
17
|
+
- id: ruff
|
|
18
|
+
args: [--fix, --exit-non-zero-on-fix]
|
|
19
|
+
- id: ruff-format
|
|
20
|
+
|
|
21
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
22
|
+
rev: v1.19.1
|
|
23
|
+
hooks:
|
|
24
|
+
- id: mypy
|
|
25
|
+
additional_dependencies:
|
|
26
|
+
- pydantic>=2.0.0
|
|
27
|
+
- types-PyYAML
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.14
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Q00
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|