943acbc573
Durcit la convention de nommage des projets (dérive constatée : 'Sliding Automation', 'code_versioning'... au lieu des formes canoniques). - trilium_api.py : projets_canoniques() lit le référentiel = valeurs du label projet sur les notes de type=projet (source unique, pas de constante en dur). Note-projet CodeVersioning créée (manquait). - mcp_server.py : _valider_projet() branché dans les 6 tools de création (add_decision/history/backlog, new_conversation, create_entite, add_skill). Refuse un projet non canonique (suggestion si faute) ou inconnu (renvoi au processus de création de projet). Ne verrouille pas si référentiel illisible. - lint_audit.py : VAL-nommage aligné sur le référentiel (attrape casse, espace ET snake_case ; l'ancien 'contient un espace' ratait code_versioning). - Données : 79 notes ré-étiquetées vers les 3 formes canoniques. Quality by design : l'erreur de nommage devient impossible à l'écriture, le Lint n'est plus que le filet de sécurité.
132 lines
2.9 KiB
Python
132 lines
2.9 KiB
Python
# flake8: noqa
|
|
from pydantic.v1 import dataclasses
|
|
from pydantic.v1.annotated_types import create_model_from_namedtuple, create_model_from_typeddict
|
|
from pydantic.v1.class_validators import root_validator, validator
|
|
from pydantic.v1.config import BaseConfig, ConfigDict, Extra
|
|
from pydantic.v1.decorator import validate_arguments
|
|
from pydantic.v1.env_settings import BaseSettings
|
|
from pydantic.v1.error_wrappers import ValidationError
|
|
from pydantic.v1.errors import *
|
|
from pydantic.v1.fields import Field, PrivateAttr, Required
|
|
from pydantic.v1.main import *
|
|
from pydantic.v1.networks import *
|
|
from pydantic.v1.parse import Protocol
|
|
from pydantic.v1.tools import *
|
|
from pydantic.v1.types import *
|
|
from pydantic.v1.version import VERSION, compiled
|
|
|
|
__version__ = VERSION
|
|
|
|
# WARNING __all__ from pydantic.errors is not included here, it will be removed as an export here in v2
|
|
# please use "from pydantic.v1.errors import ..." instead
|
|
__all__ = [
|
|
# annotated types utils
|
|
'create_model_from_namedtuple',
|
|
'create_model_from_typeddict',
|
|
# dataclasses
|
|
'dataclasses',
|
|
# class_validators
|
|
'root_validator',
|
|
'validator',
|
|
# config
|
|
'BaseConfig',
|
|
'ConfigDict',
|
|
'Extra',
|
|
# decorator
|
|
'validate_arguments',
|
|
# env_settings
|
|
'BaseSettings',
|
|
# error_wrappers
|
|
'ValidationError',
|
|
# fields
|
|
'Field',
|
|
'Required',
|
|
# main
|
|
'BaseModel',
|
|
'create_model',
|
|
'validate_model',
|
|
# network
|
|
'AnyUrl',
|
|
'AnyHttpUrl',
|
|
'FileUrl',
|
|
'HttpUrl',
|
|
'stricturl',
|
|
'EmailStr',
|
|
'NameEmail',
|
|
'IPvAnyAddress',
|
|
'IPvAnyInterface',
|
|
'IPvAnyNetwork',
|
|
'PostgresDsn',
|
|
'CockroachDsn',
|
|
'AmqpDsn',
|
|
'RedisDsn',
|
|
'MongoDsn',
|
|
'KafkaDsn',
|
|
'validate_email',
|
|
# parse
|
|
'Protocol',
|
|
# tools
|
|
'parse_file_as',
|
|
'parse_obj_as',
|
|
'parse_raw_as',
|
|
'schema_of',
|
|
'schema_json_of',
|
|
# types
|
|
'NoneStr',
|
|
'NoneBytes',
|
|
'StrBytes',
|
|
'NoneStrBytes',
|
|
'StrictStr',
|
|
'ConstrainedBytes',
|
|
'conbytes',
|
|
'ConstrainedList',
|
|
'conlist',
|
|
'ConstrainedSet',
|
|
'conset',
|
|
'ConstrainedFrozenSet',
|
|
'confrozenset',
|
|
'ConstrainedStr',
|
|
'constr',
|
|
'PyObject',
|
|
'ConstrainedInt',
|
|
'conint',
|
|
'PositiveInt',
|
|
'NegativeInt',
|
|
'NonNegativeInt',
|
|
'NonPositiveInt',
|
|
'ConstrainedFloat',
|
|
'confloat',
|
|
'PositiveFloat',
|
|
'NegativeFloat',
|
|
'NonNegativeFloat',
|
|
'NonPositiveFloat',
|
|
'FiniteFloat',
|
|
'ConstrainedDecimal',
|
|
'condecimal',
|
|
'ConstrainedDate',
|
|
'condate',
|
|
'UUID1',
|
|
'UUID3',
|
|
'UUID4',
|
|
'UUID5',
|
|
'FilePath',
|
|
'DirectoryPath',
|
|
'Json',
|
|
'JsonWrapper',
|
|
'SecretField',
|
|
'SecretStr',
|
|
'SecretBytes',
|
|
'StrictBool',
|
|
'StrictBytes',
|
|
'StrictInt',
|
|
'StrictFloat',
|
|
'PaymentCardNumber',
|
|
'PrivateAttr',
|
|
'ByteSize',
|
|
'PastDate',
|
|
'FutureDate',
|
|
# version
|
|
'compiled',
|
|
'VERSION',
|
|
]
|