OptionalinitialServiceManager: IManagerPrivate_Private_Private_Private_Get the current service manager. This proxies all calls to the underlying service manager.
Private_Clear all sub-proxy caches to force re-creation with new service manager. This is CRITICAL when swapping service managers to prevent stale references.
Create a proxy that forwards all property access to the current service manager. This allows the MutableServiceManager to be used as a drop-in replacement.
IMPORTANT: For properties that are objects (like kernels, sessions, etc.),
we need to return proxies as well, because SessionContext extracts these properties
and holds onto them. Without proxies, SessionContext would keep references to the
old mock service manager's kernels/sessions even after we swap to a real one.
CRITICAL FIX: Do NOT cache sub-proxies! Even though we clear the cache when service manager changes, React components may already have references to the old cached sub-proxies. Always creating fresh proxies ensures every property access reads from the CURRENT service manager.
Get the current service manager type for debugging.
"mock", "pyodide", or "remote"
Check if currently using Pyodide service manager.
True if using JupyterLite with Pyodide kernel
Add a listener for service manager changes.
Callback to invoke when service manager changes
Disposable to remove the listener
Reset to mock service manager.
Update the service manager with new connection settings. This swaps the internal service manager without changing the wrapper reference.
The base URL for the Jupyter server
The authentication token
Update the underlying service manager directly. This is useful when you need to replace the service manager with a custom one (e.g., LocalKernelServiceManager for local kernel connections).
The new service manager to use
Switch to Pyodide service manager for offline execution. Uses JupyterLite with Pyodide kernel from @datalayer/jupyter-react package. Falls back to mock service manager if Pyodide initialization fails.
Mutable service manager wrapper that maintains a stable reference while allowing the underlying service manager to be swapped.