Creates a new service container instance.
The VS Code extension context for accessing extension state
Private Optional_Lazily initialized authentication provider for managing user auth state.
Private Optional_Lazily initialized bridge service for document operations.
Private Optional_Lazily initialized document registry for managing document lifecycle.
Private Optional_Lazily initialized error handler for centralized error management.
Private Optional_Lazily initialized bridge service for kernel operations.
Private Optional_Lazily initialized logger instance for this service container.
Private Optional_Lazily initialized logger manager for creating loggers.
Private Optional_Lazily initialized network service for notebook communication.
Private Optional_Lazily initialized SDK client for Datalayer platform.
ReadonlycontextThe VS Code extension context for accessing extension state
Gets or lazily initializes the authentication provider. Creates a new SDKAuthProvider instance on first access.
The initialized IAuthProvider instance
Gets or lazily initializes the document bridge service. Creates a new DocumentBridge instance on first access. Responsible for downloading and opening documents from the platform.
The initialized IDocumentBridge instance
Gets or lazily initializes the document registry. Creates a new DocumentRegistry instance on first access.
The initialized DocumentRegistry instance
Gets or lazily initializes the error handler. Creates a new ErrorHandler instance on first access.
The initialized IErrorHandler instance
Gets or lazily initializes the kernel bridge service. Creates a new KernelBridge instance on first access. Routes kernel connections between extension and webview.
The initialized IKernelBridge instance
Gets or lazily initializes the logger for the service container. Creates a logger instance from the logger manager on first access.
The initialized ILogger instance
Gets or lazily initializes the logger manager. Retrieves singleton LoggerManager instance on first access.
The initialized ILoggerManager instance
Gets or lazily initializes the notebook network service. Creates a new NotebookNetworkService instance on first access. Provides HTTP and WebSocket proxy for notebook communication.
The initialized NotebookNetworkService instance
Gets or lazily initializes the Datalayer SDK client. Creates a new SDK instance with VS Code context on first access.
The initialized DatalayerClient instance
Disposes all services in reverse initialization order. Cleans up resources and prepares for extension deactivation.
Initializes core services needed during extension activation. Only initializes SDK, auth, and logging - other services are lazy.
Performance: This method is optimized to initialize only what's needed during extension activation. Document/kernel services are deferred until first use (typically when a command is invoked).
Default implementation of the service container. Provides lazy initialization of services with proper dependency injection.
Example