PrivateallPrivateexpirationPrivateglobalPrivateglobalPrivatelastProtected ReadonlyloggerLogger instance for this service
Protected ReadonlynameService name for logging
PrivatenotebookPrivate ReadonlyRUNTIME_PrivateruntimePrivateruntimePrivate ReadonlysdkPrivatestateGets the current service state.
ProtectedassertPrivateclearClear all expiration timers.
Create a runtime for a specific notebook.
OptionalnotebookPath: stringOptionaloptions: RuntimeOptionsPrivatecreateInternal runtime creation method.
OptionalnotebookPath: stringOptionaloptions: RuntimeOptionsDisposes the service and cleans up resources. Ensures disposal only happens once.
PrivateemitGet runtime for a notebook.
Get service manager for a notebook.
PrivatehandlePrivatehandleHandle runtime expiration.
Initializes the service. Ensures initialization only happens once and tracks state.
List all runtimes on the platform. Uses cached data if available and fresh (< 30 seconds old).
PrivatenotifyNotify all subscribers that the runtime list has been refreshed.
Manually trigger runtime expiration (e.g., when user terminates a runtime) This will notify all subscribers that the runtime is no longer available
ProtectedonImplementation-specific disposal logic. Called once during dispose().
ProtectedonImplementation-specific initialization logic. Called once during initialize().
Subscribe to global runtime expiration events. Called when ANY runtime on the platform expires.
Function to call with the expired runtime's podName
Unsubscribe function
Subscribe to runtime list refresh events. Called when the list of all runtimes has been updated.
Subscribe to runtime state changes.
Refresh the list of all platform runtimes. Forces a fresh fetch even if cached data exists.
Set service manager for a notebook.
PrivatestartStart expiration timer for runtime.
Terminate a runtime for a specific notebook.
PrivateupdateUpdate global expiration timers for all platform runtimes. This monitors ALL runtimes and notifies when they expire.
Runtime service implementation using dependency injection. No global state, no singletons - all dependencies injected.