Android gRPC Call Path

Android gRPC Call Path A sequence diagram generated by Archify. typed method / client.raw unary / stream AndroidRawAPI.unary_stream delegates to session.stream; typed workflows inherit the task-local epoch resolve replay safety safe read or single attempt get(expected_epoch) Authorization + generation shared mint wave; re-minted before expiry or after matching-generation invalidation gRPC over TLS protobuf response / status decoded or raw result gRPC status is sanitized into notebooklm.exceptions typed / decoded result Enter selected transport Classify and authenticate Wire and return Caller · backend=android · Sequence participant Caller backend=android Android Adapter · typed API · AndroidRawAPI · Sequence participant Android Adapter typed API · AndroidRawAPI Retry Policy · manifest · raw capability · Sequence participant Retry Policy manifest · raw capability AndroidSession · epoch-fenced transport · Sequence participant AndroidSession epoch-fenced transport BearerProvider · AndroidRuntime field · Sequence participant BearerProvider AndroidRuntime field NotebookLM PA · notebooklm-pa.googleapis.com · Sequence participant NotebookLM PA notebooklm-pa.googleapis.com Legend request return security

One Android transport

  • • Typed namespace hooks and AndroidRawAPI.unary or unary_stream converge on AndroidSession
  • • Raw descriptors carry replay policy; typed scopes propagate one epoch through nested calls

Retry parity

  • • The Android manifest is the replay ceiling for every typed gRPC method
  • • Safe unary calls match Web recovery; streams and non-idempotent writes stay single-attempt

Credential safety

  • • AndroidRuntime.bearer_provider mints and caches the short-lived OAuth bearer
  • • Auth invalidates the observed generation; escaping failures release secret-owning frames