Chat, Notes and Mind Maps Class Model

Chat, Notes and Mind Maps Class Model An architecture diagram generated by Archify. NotebookLMClient · composition root · Architecture component · selects backend NotebookLMClient composition root selects backend Namespace ABCs · Chat · Notes · Mind Maps · Architecture component · 3 neutral bases Namespace ABCs Chat · Notes · Mind Maps 3 neutral bases Web Implementations · three concrete subclasses · Architecture component · batchexecute Web Implementations three concrete subclasses batchexecute Android Implementations · three concrete subclasses · Architecture component · AndroidSession Android Implementations three concrete subclasses AndroidSession Public Dataclasses · AskResult · Note · MindMap · Architecture component · shared values Public Dataclasses AskResult · Note · MindMap shared values subclass subclass returns returns Legend Backend

Selected backend graph

  • • NotebookLMClient installs either the Web or Android subclass for every namespace
  • • Both graphs return the same public AskResult, Note and MindMap dataclasses

Chat orchestration

  • • ChatAPI owns conversation state, locking, cache, id recovery and turn numbering
  • • WebChatAPI sends through chat_aware_authed_post; AndroidChatAPI uses AndroidSession

Notes and mind maps

  • • ChatAPI, NotesAPI and MindMapsAPI are the three backend-neutral abstract bases
  • • WebNotesAPI, WebChatAPI and WebMindMapsAPI have matching Android implementations