Client Runtime and Selected Transport

Client Runtime and Selected Transport An architecture diagram generated by Archify. ClientConfig · owner-grouped spec · Architecture component · frozen values ClientConfig owner-grouped spec frozen values _client_options · legacy → typed · Architecture component · one normalization _client_options legacy → typed one normalization _client_assembly · select · install · Architecture component · sole mutation owner _client_assembly select · install sole mutation owner BackendAssembly · Web | Android · Architecture component · complete typed graph BackendAssembly Web | Android complete typed graph NotebookLMClient · public surface · Architecture component · one installed graph NotebookLMClient public surface one installed graph SharedRuntime · metrics · CallSupervisor · root-owned neutral services · no lifecycle SharedRuntime metrics · CallSupervisor no lifecycle ClientLifecycle · frozen participant tuples · root-owned neutral services · open · drain · close ClientLifecycle frozen participant tuples open · drain · close LazyWebSidecar · lazy rpc_call bridge · Architecture component · pre-registered · inert LazyWebSidecar lazy rpc_call bridge pre-registered · inert WebRuntime · executor · HTTP · upload · mutually exclusive primary runtimes · Web selected graph WebRuntime executor · HTTP · upload Web selected graph AndroidRuntime · gRPC · bearer · transfers · mutually exclusive primary runtimes · Android selected graph AndroidRuntime gRPC · bearer · transfers Android selected graph normalizes typed options selects installs builds constructs once pre-registers Web graph Android graph root-owned neutral services mutually exclusive primary runtimes Legend Frontend Backend Database Cloud External

Construction contract

  • • ClientConfig groups public owner values; backend builders return complete assemblies without mutating NotebookLMClient
  • • _client_assembly installs one selected graph and constructs the separate root lifecycle

Compatibility isolation

  • • Android typed namespaces use only the Android graph
  • • LazyWebSidecar materializes Web resources only for deprecated rpc_call and retains them for reopen