feat(spaces): implement Phase 7 Composability
Implements space composition and inheritance features: - SpaceReference model for space-to-space references (includes, extends, links_to, composed_of) - Variable inheritance through parent chain with local override - Config inheritance with source tracking - Access control models (SpacePermission, SpaceRole, AccessLevel) - InheritanceResolver for walking parent chains - AccessControlService for permission management - ComposableSpaceService integrating all composability features - Circular reference detection for EXTENDS references - SQLite repositories for references and permissions - 57 comprehensive unit tests Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,6 +60,29 @@ from .events import (
|
||||
reset_event_bus,
|
||||
)
|
||||
|
||||
# Phase 7: Composability
|
||||
from .composability import (
|
||||
# Models
|
||||
SpaceReference,
|
||||
SpaceReferenceType,
|
||||
SpacePermission,
|
||||
SpaceRole,
|
||||
AccessLevel,
|
||||
SpaceAccess,
|
||||
InheritedVariable,
|
||||
InheritedConfig,
|
||||
# Services
|
||||
ComposableSpaceService,
|
||||
InheritanceResolver,
|
||||
AccessControlService,
|
||||
# Repositories
|
||||
ISpaceReferenceRepository,
|
||||
IAccessControlRepository,
|
||||
SqliteSpaceReferenceRepository,
|
||||
SqliteAccessControlRepository,
|
||||
)
|
||||
from .composability.service import CircularReferenceError
|
||||
|
||||
__all__ = [
|
||||
# Models
|
||||
"InformationSpace",
|
||||
@@ -88,4 +111,23 @@ __all__ = [
|
||||
"EventBus",
|
||||
"get_event_bus",
|
||||
"reset_event_bus",
|
||||
# Composability - Models
|
||||
"SpaceReference",
|
||||
"SpaceReferenceType",
|
||||
"SpacePermission",
|
||||
"SpaceRole",
|
||||
"AccessLevel",
|
||||
"SpaceAccess",
|
||||
"InheritedVariable",
|
||||
"InheritedConfig",
|
||||
# Composability - Services
|
||||
"ComposableSpaceService",
|
||||
"InheritanceResolver",
|
||||
"AccessControlService",
|
||||
"CircularReferenceError",
|
||||
# Composability - Repositories
|
||||
"ISpaceReferenceRepository",
|
||||
"IAccessControlRepository",
|
||||
"SqliteSpaceReferenceRepository",
|
||||
"SqliteAccessControlRepository",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user