Core Architecture¶
🏗️ Architecture Overview
SFAI SDK uses a plugin-based architecture for platforms and integrations. All official plugins are bundled with the SDK for convenience, but the system is designed for extensibility.
SFAI SDK Plugin-Based Architecture
🔌 Plugin-Based Platform System¶
SFAI SDK uses a plugin-based architecture for platform and integration support. All platform plugins must inherit from BasePlatform
, which acts as the contract for platform features.
⚙️ How It Works¶
Handles app lifecycle, context, deployment orchestration, and CLI/API interfaces.
Each platform is a separate module that inherits from BasePlatform
All plugins implement: init
, deploy
, delete
, status
, logs
, open
Each platform must be registered in pyproject.toml
✨ Benefits¶
🚀 Extensibility
New platforms can be added as plugins without modifying the core engine.
🛡️ Stability
Changes to platform plugins do not impact the core SDK logic.
🎨 Customization
Organizations can fork or extend platform plugins for their needs.
🏗️ Base Implementations¶
Core Base Classes
Abstract base for app-level operations
Abstract base for all platform plugins
class BasePlatform:
def init(self, **kwargs) -> BaseResponse: ...
def deploy(self, context, **kwargs) -> BaseResponse: ...
def delete(self, context) -> BaseResponse: ...
def status(self, context) -> BaseResponse: ...
def logs(self, context) -> BaseResponse: ...
def open(self, context, **kwargs) -> BaseResponse: ...
Abstract base for integrations (e.g., MuleSoft)