package notebooklm.v1alpha1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service InteractionEventService

orchestration.proto:1878

InteractionEventService records UI interactions that do not mutate the artifact itself. The binding and method name are taken from the production JavaScript descriptor for HpN0Ub.

service LabsTailwindGuidebooksService

sharing.proto:304

service LabsTailwindOrchestrationService

orchestration.proto:1160

Service definition

service LabsTailwindSharingService

sharing.proto:276

Service definitions

message AccessTokenScopes

orchestration.proto:3874

Used in: GenerateAccessTokenResponse

message AccessTokenTTL

orchestration.proto:3870

Used in: GenerateAccessTokenResponse

message Account

orchestration.proto:1093

Account: [account_id, limits, settings, unknown_4, unknown_5]. Field 2 was previously modeled as an "email" string, but the wire carries a [tier, notebook_limit, source_limit, upload_limit, tier] quota array instead (see AccountLimits; confirmed against the hand-written AccountStatus decoder in internal/notebooklm/api/account.go, which reads the same ZwVcOc response positionally). No live code reads Account.email, so the field is replaced rather than kept alongside the real shape.

Used as response type in: LabsTailwindOrchestrationService.GetOrCreateAccount, LabsTailwindOrchestrationService.MutateAccount

message AccountBanner

orchestration.proto:1150

AccountBanner is the Account field 5 message: [true, 1, 3, 6, true]. Meaning of the individual fields is not yet confirmed.

Used in: Account

message AccountFlags

orchestration.proto:1144

AccountFlags is the Account field 4 message: [[1]], a single repeated int64 field.

Used in: Account

message AccountLimits

orchestration.proto:1104

AccountLimits is the [tier, notebook_limit, source_limit, upload_limit, tier] quota array at Account field 2. Position 1 and 5 both carry the same tier value in observed captures.

Used in: Account

message AccountSettings

orchestration.proto:1112

Used in: Account

message AccountSettingsDetail

orchestration.proto:1128

AccountSettingsDetail is the nested message at AccountSettings field 5: [null, null, null, [[2,2,1]]]. Only field 4 (a repeated AccountSettingsRule) is populated in observed captures.

Used in: AccountSettings

message AccountSettingsRule

orchestration.proto:1136

AccountSettingsRule is a [2, 2, 1] positional triple within AccountSettingsDetail.rules. Meaning of the three integers is not yet confirmed.

Used in: AccountSettingsDetail

message ActOnSourcesHistoryEntry

orchestration.proto:514

Used in: ActOnSourcesPromptHistory

message ActOnSourcesOptions

orchestration.proto:500

ActOnSourcesOptions carries numeric selectors. Their semantics are unconfirmed; all observed values are 2.

Used in: ActOnSourcesRequest

message ActOnSourcesPromptHistory

orchestration.proto:507

ActOnSourcesPromptHistory is the prompt and prior-turn rows in the observed chat-query shape. The numeric field's semantics are unconfirmed.

Used in: ActOnSourcesRequest

message ActOnSourcesSourceGroup

orchestration.proto:494

Used in: ActOnSourcesRequest

enum AgentCommsMessageType

orchestration.proto:2708

Used in: AgentCommsUserMessage

message AgentCommsPayload

orchestration.proto:2731

AgentCommsPayload reconstructs the typed DataChannel payload at field 4. The sub-field numbers match AgentCommsMessageType values.

Used in: AgentCommsUserMessage

message AgentCommsUserMessage

orchestration.proto:2701

AgentCommsUserMessage is the protobuf transmitted over the WebRTC DataChannel for real-time bidirectional UI and transcript synchronization.

message AgentUtterance

orchestration.proto:2748

Used in: AgentCommsPayload

message App

orchestration.proto:176

Used in: Artifact

message Artifact

orchestration.proto:63

Artifact is the gArtLc (ListArtifacts/QueryArtifacts) row shape. Fields Fields 7-19 are a de-facto oneof keyed by type: exactly one of note, audio_overview, video_preview, report_config, mindmap_preview, slide_deck_preview, flashcard_config is populated per artifact, matching ArtifactType. These are each artifact-tree-local message shapes distinct from the top-level AudioOverview/VideoOverview/Report messages used by the Create*/Get* RPCs — the field numbers coincide but the wire shapes do not (AudioOverview.content/instructions are plain strings there; here they are structured payloads). See ArtifactAudioOverview etc. below.

Used as response type in: LabsTailwindOrchestrationService.CreateArtifact, LabsTailwindOrchestrationService.CreateAudioOverview, LabsTailwindOrchestrationService.CreateUniversalArtifact, LabsTailwindOrchestrationService.CreateVideoOverview, LabsTailwindOrchestrationService.GenerateArtifact, LabsTailwindOrchestrationService.GetArtifact, LabsTailwindOrchestrationService.RenameArtifact, LabsTailwindOrchestrationService.ReviseArtifact, LabsTailwindOrchestrationService.UpdateArtifact

Used as field type in: CreateArtifactRequest, ListArtifactsResponse, QueryArtifactsResponse, ReviseArtifactResponse, UpdateArtifactRequest

message ArtifactAudioContent

orchestration.proto:239

ArtifactAudioContent is the [topic, description, null, source_refs, language, prompt, length?, flag] generation-options blob at ArtifactAudioOverview field 2.

Used in: ArtifactAudioOverview

message ArtifactAudioOverview

orchestration.proto:230

ArtifactAudioOverview is the type-AUDIO_OVERVIEW gArtLc payload at Artifact field 8: [markdown_status, content, instructions]. This is a different shape than the top-level AudioOverview message (whose content and instructions are plain strings on Create/GetAudioOverview).

Used in: Artifact

message ArtifactDownloadVariant

orchestration.proto:185

ArtifactDownloadVariant is one rendered-output link for an artifact preview: a URL plus an integer format code and (for audio) a MIME type. [url, format_code, mime_type?]

Used in: ArtifactNotePreview, ArtifactVideoPreview

message ArtifactFileDetails

orchestration.proto:106

ArtifactFileDetails is the five-string trailer returned by direct GetArtifact reads. The field meanings beyond filename and MIME type are unconfirmed; URLs are retained independently for lossless round-tripping.

Used in: Artifact

message ArtifactFlashcardConfig

orchestration.proto:415

ArtifactFlashcardConfig is the type-9 (flashcards) gArtLc payload at Artifact field 19: [null, [null, language]].

Used in: Artifact

message ArtifactFlashcardOptions

orchestration.proto:423

Used in: ArtifactFlashcardConfig

message ArtifactImageRef

orchestration.proto:407

ArtifactImageRef is a [url, width, height] image reference.

Used in: ArtifactSlideImage

message ArtifactMindMapConfig

orchestration.proto:324

ArtifactMindMapConfig is the [null, language, null, int, int, int] config blob at ArtifactMindMapPreview field 1. orientation_code is inferred from the generated image dimensions; the remaining code meanings are unconfirmed.

Used in: ArtifactMindMapPreview, UniversalArtifactOptions

message ArtifactMindMapImageRef

orchestration.proto:347

ArtifactMindMapImageRef is a [url, width, height] image reference. Unlike ArtifactImageRef (the slide-deck variant), width/height are carried as integers here, not numeric strings.

Used in: ArtifactMindMapSlide

message ArtifactMindMapPreview

orchestration.proto:315

ArtifactMindMapPreview is the type-7 (mind map / infographic) gArtLc payload at Artifact field 15: [config, title, [slide]].

Used in: Artifact

message ArtifactMindMapSlide

orchestration.proto:337

ArtifactMindMapSlide is one [title, [url, width, height], description, text] entry in ArtifactMindMapPreview.slides.

Used in: ArtifactMindMapPreview

message ArtifactNoteConfig

orchestration.proto:215

ArtifactNoteConfig is the [null, const, null, source_refs, language, flag, int] config blob inside ArtifactNotePreview.

Used in: ArtifactNotePreview

message ArtifactNotePreview

orchestration.proto:193

ArtifactNotePreview is the type-NOTE gArtLc payload at Artifact field 7: [null, config, thumbnail_url, thumbnail_url_2, has_audio?, download_variants, duration]

Used in: Artifact

message ArtifactReportConfig

orchestration.proto:290

ArtifactReportConfig is the type-REPORT gArtLc payload at Artifact field 10: ["", [report_type, null, description_or_instructions, language, null, null, length_range_a?, length_range_b?, flag]]. The leading string is empty in every observed capture.

Used in: Artifact

message ArtifactReportOptions

orchestration.proto:298

Used in: ArtifactReportConfig

message ArtifactRevisionInstruction

orchestration.proto:3390

Used in: ArtifactRevisionInstructions

message ArtifactRevisionInstructions

orchestration.proto:3386

Used in: ReviseArtifactRequest

message ArtifactSlideDeckConfig

orchestration.proto:386

ArtifactSlideDeckConfig is the [null, language, format, length] config blob at ArtifactSlideDeckPreview field 1, mirroring the [format, length] pair EncodeCreateSlideDeckArgs sends on create (see internal/method/labs_tailwind_overview_custom.go SlideDeckFormat).

Used in: ArtifactSlideDeckPreview

message ArtifactSlideDeckPreview

orchestration.proto:356

ArtifactSlideDeckPreview is the type-8 (slide deck) gArtLc payload at Artifact field 17: [config, title, [slide_image], download_url, download_url_2].

Used in: Artifact

message ArtifactSlideEditInstruction

orchestration.proto:377

ArtifactSlideEditInstruction is one [slide_index, text] revision-request pair.

Used in: ArtifactSlideEditInstructions

message ArtifactSlideEditInstructions

orchestration.proto:371

ArtifactSlideEditInstructions is the per-slide revision-request blob at ArtifactSlideDeckPreview position [5] (field 6): [[[slide_index, text], ...]]. Each entry pairs a zero-based slide index with the user's edit instruction for that slide (e.g. [0, "simplify this slide"]). Present only on slide-deck artifacts the user has requested edits on; absent otherwise. Surfaced by a gArtLc (QueryArtifacts) poll capture; the list is wrapped one level deep.

Used in: ArtifactSlideDeckPreview

message ArtifactSlideImage

orchestration.proto:400

ArtifactSlideImage is one [[url, width, height], description, text] entry in ArtifactSlideDeckPreview.slides.

Used in: ArtifactSlideDeckPreview

message ArtifactSource

orchestration.proto:152

Used in: Artifact

enum ArtifactState

orchestration.proto:141

Used in: Artifact

message ArtifactSuggestion

orchestration.proto:3436

One suggestion pair. Pass description (optionally edited) as the instructions argument to CreateAudioOverview / CreateUniversalArtifact.

Used in: GenerateArtifactSuggestionsResponse

message ArtifactTimestampRow

orchestration.proto:121

Used in: ArtifactTimestamps

message ArtifactTimestamps

orchestration.proto:117

ArtifactTimestamps is the wrapped list carried at Artifact field 18: [[ [secs, nanos] ]] — an outer list of rows, each row an inline [seconds, nanos] pair (not a google.protobuf.Timestamp sub-message).

Used in: Artifact

enum ArtifactType

orchestration.proto:126

Used in: Artifact

message ArtifactUserState

orchestration.proto:3548

ArtifactUserState is the per-user, per-artifact state the orchestration service persists. Today the only observed payload is a single repeated PlaybackPosition recording the user's last playback position in an audio overview; the field is repeated to leave room for additional markers (resume points, chapter offsets) that the UI may emit later. Wire shape (HAR-verified 2026-04-25): [[[seconds, nanos]]] That is: ArtifactUserState is a message with field 1 = repeated PlaybackPosition, and a single PlaybackPosition encodes positionally as [seconds, nanos].

Used in: GetArtifactUserStateResponse, UpsertArtifactUserStateRequest, UpsertArtifactUserStateResponse

message ArtifactVideoContent

orchestration.proto:273

ArtifactVideoContent is the [source_refs, language, topic?, null, length, unknown_6?, null, flag?] generation-options blob at ArtifactVideoPreview field 3, the same family of shape as ArtifactAudioContent (a source-ref list plus language/topic/length/flag), but with source_refs and language/topic swapped in position relative to the audio variant. The array length varies (5, 6, or 8 observed) as trailing fields are omitted when unset, so every field past source_refs/language is optional.

Used in: ArtifactVideoPreview

message ArtifactVideoPreview

orchestration.proto:256

ArtifactVideoPreview is the type-VIDEO_OVERVIEW gArtLc payload at Artifact field 9: [status?, thumbnail_url, content, video_url, download_variants, duration]. Unlike ArtifactAudioOverview, this was previously mismodeled as the unrelated Report message (field 9 used to be declared `Report tailored_report`), which is why the wire's positions 4-6 showed up as Report.unknown_4/5/6 in earlier verify runs.

Used in: Artifact

message AudioFormat

orchestration.proto:3148

AudioFormat captured kinds (HAR 2026-04-19+): 1 = "Deep Dive" — two-host conversation 2 = "Brief" — bite-sized overview 3 = "Critique" — expert review w/ feedback 4 = "Debate" — two-host opposing perspectives

Used in: AudioFormatList

message AudioFormatList

orchestration.proto:3135

Used in: GetAudioFormatsResponse

enum AudioLength

orchestration.proto:536

Audio length options (confirmed from /tmp/notebooklm2.har analysis)

Used in: CreateAudioOverviewRequest

message AudioOverview

notebooklm.proto:387

Used as response type in: LabsTailwindOrchestrationService.CreateAudioOverviewLegacy, LabsTailwindOrchestrationService.GetAudioOverview

enum AudioType

orchestration.proto:527

Audio style types (confirmed from sqTeoe RPC in HAR analysis)

Used in: CreateAudioOverviewRequest, CreateVideoOverviewRequest

message BatchExecuteEncoding

rpc_extensions.proto:87

Encoding hints for batchexecute format

(message has no fields)

enum BatchExecuteEncoding.ArrayEncoding

rpc_extensions.proto:97

How to encode arrays

enum BatchExecuteEncoding.EmptyValueHandling

rpc_extensions.proto:89

How to handle empty/zero values

message BlobTokens

notebooklm.proto:157

Used in: SourceBlob

message BulkImportFromResearchResponse

orchestration.proto:3089

BulkImportFromResearchResponse carries enriched Source descriptors in request order. The live API projects the generated response to its narrow BulkImportResult public type.

Used as response type in: LabsTailwindOrchestrationService.BulkImportFromResearch, LabsTailwindOrchestrationService.BulkImportFromResearchWire

message BulkImportResult

orchestration.proto:3095

BulkImportResult is the former partial projection of an imported Source. Deprecated: BulkImportFromResearchResponse now returns Source values.

message BulkImportSourceInput

orchestration.proto:3041

Used in: BulkImportFromResearchRequest

message BulkImportTextContent

orchestration.proto:3081

Used in: BulkImportTextSource

message BulkImportTextSource

orchestration.proto:3064

Used in: BulkImportFromResearchWireRequest

BulkImportTextSourceLink is an observed [URL, title] source reference.

Used in: BulkImportTextSource

message ChatAnswer

orchestration.proto:823

Used in: GenerateFreeFormStreamedWireResponse

message ChatCharacterRange

orchestration.proto:721

Used in: ChatCitation, ChatCitationExcerpt, ChatCitationSegment, ChatSourceMapping

message ChatCitation

orchestration.proto:737

Used in: GenerateFreeFormStreamedResponse

message ChatCitationExcerpt

orchestration.proto:732

Used in: ChatCitation

message ChatCitationSegment

orchestration.proto:726

Used in: ChatCitationExcerpt

message ChatConversationMetadata

orchestration.proto:715

Used in: ChatAnswer, GenerateFreeFormStreamedResponse

message ChatFollowUp

orchestration.proto:748

Used in: ChatFollowUpList, GenerateFreeFormStreamedResponse

message ChatFollowUpList

orchestration.proto:839

Used in: GenerateFreeFormStreamedWireResponse

message ChatFollowUpOptions

orchestration.proto:806

Used in: ChatStreamOptions

message ChatFollowUpTextList

orchestration.proto:835

Used in: GenerateFreeFormStreamedWireResponse

message ChatGoalConfig

notebooklm.proto:115

Used in: ChatbotConfig

message ChatMessage

orchestration.proto:2295

ChatMessage is one turn in a GetConversationHistory response. Field numbers are positional and match the observed wire layout (HAR-verified against a sanitized khqZz capture, 2026-07-20): [message_id, [secs,nanos], role, text, [content_segment...]] User turns (role = 1) populate text (field 4); assistant turns (role = 2) populate rich_content (field 5) instead. The live client reads this shape directly in api.parseConversationHistory; this message mirrors it so GetConversationHistoryResponse round-trips through the proto view.

Used in: GetConversationHistoryResponse

message ChatSourceMapping

orchestration.proto:743

Used in: GenerateFreeFormStreamedResponse

message ChatSourceSelection

orchestration.proto:795

Used in: GenerateFreeFormStreamedWireRequest

message ChatStreamOptions

orchestration.proto:799

Used in: ActOnSourcesRequest, DeleteChatTurnsRequest, GenerateFreeFormStreamedWireRequest, SubmitFeedbackRequest

message ChatStreamSourceMapping

orchestration.proto:830

Used in: GenerateFreeFormStreamedWireResponse

message ChatStreamUnknown13

orchestration.proto:780

ChatStreamUnknown13 is an opaque repeated row carried by some streamed chat requests. Field meanings are unconfirmed.

Used in: GenerateFreeFormStreamedWireRequest

message ChatStreamUnknown13Entry

orchestration.proto:784

Used in: ChatStreamUnknown13

message ChatStreamUnknown13Values

orchestration.proto:789

Used in: ChatStreamUnknown13Entry

message ChatbotConfig

notebooklm.proto:124

Used in: FeaturedProject, Project

message ChunkRef

orchestration.proto:2691

ChunkRef is a [[chunk_id], ref_id] reference within a grounding record.

Used in: Grounding

message CitationRef

orchestration.proto:2336

CitationRef links a ContentSegment back to its source. The two id fields hold the same source UUID in every observed capture; ref is an integer whose meaning (chunk offset or citation index) is not yet confirmed.

Used in: ContentSegment

message Collection

orchestration.proto:3520

Collection is one collection row: a user-defined grouping of notebooks, returned in the collections scope of I3xc3c/agX4Bc. It occupies the same four slots as Label, but field 2 is a flat list of project ids rather than the wrapped ["uuid"] elements Label.sources uses. The split is exact across the corpus: 131 notebook-scope rows are wrapped and all 8 collections-scope rows are flat, with no row of either kind in the other scope.

Used in: CreateLabelResponse, GetLabelsResponse

message ContentAnnotation

orchestration.proto:2316

ContentAnnotation ties an offset range of the reply to the source indices that support it: [[null, start, end], [source_index...]].

Used in: RichContent

message ContentSegment

orchestration.proto:2324

ContentSegment is one span of an assistant turn's rich_content. Each segment carries its text and a citation reference; complex segments additionally carry a rich-text document payload not modeled here.

Used in: RichContent

message Context

orchestration.proto:17

Used in: CreateArtifactRequest

message ConversationRef

orchestration.proto:2264

Used in: GetConversationsResponse

message CreateLabelResponse

orchestration.proto:3647

CreateLabelResponse returns the full refreshed list rather than just the new row, at a slot that depends on the request scope: field 2 in the notebook scope (8 observed) and field 3 in the collections scope (2 observed).

Used as response type in: LabsTailwindOrchestrationService.CreateLabel, LabsTailwindOrchestrationService.MutateLabelsMode

message DeepResearchMainBlob

orchestration.proto:2962

DeepResearchMainBlob is [report_tree, extra]. The extra string is present only on fast-research results.

Used in: DeepResearchSessionDetails

message DeepResearchMetadata

orchestration.proto:2992

Used in: DeepResearchSessionDetails

message DeepResearchQuery

orchestration.proto:2955

Used in: DeepResearchSessionDetails

message DeepResearchReportDetail

orchestration.proto:2984

DeepResearchReportDetail covers the header's rendered report and the citation row's extracted text. Their wire layouts share the same six-slot positional group and differ only in which optional fields are populated.

Used in: DeepResearchReportEntry

message DeepResearchReportEntry

orchestration.proto:2970

DeepResearchReportEntry covers both the report header at entry zero and the source-citation rows that follow it. Fast-research results use the same prefix, omitting the deep-only detail fields.

Used in: DeepResearchMainBlob

message DeepResearchSession

orchestration.proto:2938

HAR-verified wire shape (2026-07-21, e3bVqc/GetDeepResearchSessions), per session entry: [ conversation_id, // [0] UUID string [ // [1] inner project_id, // [0] UUID string [query, 1], // [1] query + int mode, // [2] 1 = fast, 5 = deep [ <report_tree> (, extra_str) ],// [3] main_blob; variable length state, // [4] int (6 observed) [research_id, plan_b64, 5, null, ts_str],// [5] DEEP ONLY (absent for fast) ], [secs, nanos], // [2] timestamp pair [secs, nanos], // [3] timestamp pair "157962509464", // [4] numeric timestamp string ] report_tree ([1][3][0]) is a 72-element deep-research report: element [0] is a [null, title, ...] header, elements [1..N] are source citations [url, title, ...9 fields]. ~334KB; distinct from the Span/chat document tree.

Used in: GetDeepResearchSessionsResponse, PollDeepResearchResponse

message DeepResearchSessionDetails

orchestration.proto:2946

Used in: DeepResearchSession

message DeepResearchTimestamp

orchestration.proto:2999

Used in: DeepResearchSession

message DocTemplate

orchestration.proto:3156

DocTemplate is a prebuilt briefing-doc/study-guide template: [title, subtitle, system_prompt].

Used in: DocTemplateList

message DocTemplateList

orchestration.proto:3139

Used in: GetAudioFormatsResponse

message DocumentGuide

notebooklm.proto:419

DocumentGuide is one per-source guide in a GenerateDocumentGuides (tr032e) reply. HAR-verified wire (more-requests3, keyed by source_id): [ [[source_id]], [summary], [[topic, topic, ...]], [] ] The live reader (api.Client.GenerateSourceGuide) hand-parses these positions directly; this message mirrors the wire for betool/beprotojson decode. Positions [1] and [2] wrap their payload one level deep, so each is modeled as a small wrapper message.

Used in: GenerateDocumentGuidesResponse

message DocumentGuideExtra

notebooklm.proto:446

DocumentGuideExtra is the empty list at DocumentGuide[3]. Modeled as a present-but-empty message so the [] round-trips rather than collapsing to null (mirrors ProjectCollaboratorTags).

Used in: DocumentGuide

message DocumentGuideId

notebooklm.proto:428

DocumentGuideId wraps the doubly-nested source id at DocumentGuide[0]: [[source_id]].

Used in: DocumentGuide

message DocumentGuideSummary

notebooklm.proto:433

DocumentGuideSummary wraps the summary text at DocumentGuide[1]: [summary].

Used in: DocumentGuide

message DocumentGuideTopics

notebooklm.proto:439

DocumentGuideTopics wraps the key-topic chips at DocumentGuide[2]: [[topic, topic, ...]].

Used in: DocumentGuide

message ExpertIntelligenceItem

orchestration.proto:3843

Used in: ListExpertIntelligenceContentResponse

message ExpertIntelligencePublicationTime

orchestration.proto:3856

Used in: ExpertIntelligenceItem

message FeaturedProject

orchestration.proto:923

Used in: ListFeaturedProjectsResponse

message FeaturedProjectImage

orchestration.proto:904

Used in: FeaturedProjectPresentation

message FeaturedProjectLimits

orchestration.proto:938

Used in: FeaturedProject

message FeaturedProjectPresentation

orchestration.proto:914

Used in: FeaturedProject

message GenerateAnswerSettings

sharing.proto:257

Used in: GuidebookGenerateAnswerRequest

message GenerateDocumentGuideSource

orchestration.proto:2196

Used in: GenerateDocumentGuideSources

message GenerateDocumentGuideSources

orchestration.proto:2192

Used in: GenerateDocumentGuidesRequest

message GenerateFreeFormStreamedHistoryEntry

orchestration.proto:676

Used in: GenerateFreeFormStreamedRequest, GenerateFreeFormStreamedWireRequest

message GenerateFreeFormStreamedOptions

orchestration.proto:682

Used in: GenerateFreeFormStreamedRequest

message GetNotesEntry

notebooklm.proto:342

GetNotesEntry is one keyed GetNotes result: [note_id, note].

Used in: GetNotesWireResponse

message GetNotesResponse

notebooklm.proto:375

message GetNotesRichEntry

orchestration.proto:2362

GetNotesRichEntry is one keyed GetNotes result: [note_id, note].

Used in: GetNotesRichWireResponse

message GetNotesRichRecord

orchestration.proto:2370

GetNotesRichRecord is the response-side note tuple used by cFji9.

Used in: GetNotesRichEntry

message GetNotesWireResponse

notebooklm.proto:382

GetNotesWireResponse is the keyed response shape returned by cFji9.

message GetProjectFilter

orchestration.proto:1912

Used in: GetProjectRequest

message GetProjectFilterEntry

orchestration.proto:1916

Used in: GetProjectFilter

message GoogleDocsSourceInput

orchestration.proto:975

GoogleDocsSourceInput is the AddSources field-1 Google Drive document variant. A 2026-07-23 capture verified this for application/vnd.google-apps.document.

Used in: SourceInput

message GoogleDocsSourceMetadata

notebooklm.proto:231

Used in: SourceMetadata

message GroundedAgentCustomMessage

orchestration.proto:2720

Used in: AgentCommsPayload

message Grounding

orchestration.proto:2675

Grounding is the detail of a GroundingRecord: [null, null, score, [reply_span], [source_spans], [chunk_ref], source_id].

Used in: CreateNoteRequest, GenerateFreeFormStreamedWireResponse, GroundingRecord, NoteGroundingDetails, RichContent

message GroundingRecord

orchestration.proto:2668

GroundingRecord links reply spans to the source spans that ground them: [[source_id], [null, null, score, [reply_span], [source_spans], [ref], source_id]].

Used in: RichDocument

message GuideQuestion

notebooklm.proto:471

Used in: GuideQuestions

message GuideQuestions

notebooklm.proto:467

Used in: NotebookGuide

message GuideScoredQuestion

notebooklm.proto:481

Used in: GuideScoredQuestions

message GuideScoredQuestions

notebooklm.proto:477

Used in: NotebookGuide

message GuideSummary

notebooklm.proto:463

Used in: NotebookGuide

enum GuideType

orchestration.proto:552

Guide type for GenerateNotebookGuide (confirmed from /tmp/notebooklm3.har analysis)

message Guidebook

sharing.proto:169

Guidebook-related messages

Used as response type in: LabsTailwindGuidebooksService.GetGuidebook

Used as field type in: GuidebookDetails, ListRecentlyViewedGuidebooksResponse, PublishGuidebookResponse

message GuidebookAnalytics

sharing.proto:235

Used in: GuidebookDetails

message GuidebookSection

sharing.proto:228

Used in: GuidebookDetails

enum GuidebookStatus

sharing.proto:178

Used in: Guidebook

message Int32List

orchestration.proto:2068

Used in: BulkImportFromResearchWireRequest, ChatStreamOptions, CreateNoteRequest, GetProjectAnalyticsRequest, LoadSourceRequest, ProjectCoverSelection

message InteractionEventContext

orchestration.proto:1931

Used in: LogInteractionEventRequest

message InteractionEventSurface

orchestration.proto:1939

Used in: InteractionEventContext

message InteractionEventTarget

orchestration.proto:1943

Used in: LogInteractionEventRequest

message InteractivityICEServer

orchestration.proto:2804

Used in: FetchInteractivityTokenResponse

message Label

orchestration.proto:3502

Label is one autolabel cluster, as returned in the notebook scope of I3xc3c/agX4Bc. The collections scope returns the same four slots but with a different element shape at field 2, so it is modeled separately as Collection.

Used in: CreateLabelResponse, GetLabelsResponse, MutateLabelResponse

message LabelCreation

orchestration.proto:3639

Used in: LabelCreationRequest

message LabelCreationRequest

orchestration.proto:3618

LabelCreationRequest is CreateLabelRequest field 6. It is a single structure rather than a list of them: slot 1 holds the label or collection being created, and a collection create adds the notebooks to seed it with at slot 3. Observed as [[name, emoji]] for a label and [[name], null, [project_id]] for a collection.

Used in: CreateLabelRequest

message LabelMode

orchestration.proto:3635

Used in: MutateLabelsModeRequest

message LabelNameChange

orchestration.proto:3703

Used in: MutateLabelEntry

message ListItem

orchestration.proto:2607

ListItem describes one list-item run within a span group: [null, null, nesting, {101:bullet, ...}]. Positions 1 and 2 are null in observed captures.

Used in: LoadedSourceText, SpanGroup

message ListItemMarker

orchestration.proto:2617

ListItemMarker is a shape union. Most list items carry their sparse marker object directly at position 4. A newer variant carries [null,null,flag] at position 4 and shifts the sparse marker object to position 5.

Used in: ListItem

message ListItemMarkerEmpty

orchestration.proto:2625

Used in: ListItemMarker

(message has no fields)

message ListItemMarkerMeta

orchestration.proto:2629

ListItemMarkerMeta is the [null, null, flag] tuple in shifted-marker items.

Used in: ListItemMarker

message ListMarker

orchestration.proto:2638

ListMarker is the list-item style object, carried on the wire as a sparse object keyed by field number: {"101":"•", "102":1, "103":1, "104":0}. The bullet glyph cycles •/◦/▪ with nesting. marker_kind distinguishes unordered (1) from ordered (2) markers; the other counters' exact meanings remain unconfirmed.

Used in: ListItem, ListItemMarker

message ListRecentlyViewedProjectsFilter

orchestration.proto:1960

Used in: ListRecentlyViewedProjectsRequest

message ListRecentlyViewedProjectsFilterA

orchestration.proto:1971

The three filter sub-messages each carry a single present-but-empty list. The list is wrapped in a StringList message so a present (non-nil) wrapper round-trips as [] rather than collapsing to null (an empty bare repeated field is indistinguishable from absent in proto3).

Used in: ListRecentlyViewedProjectsFilter

message ListRecentlyViewedProjectsFilterB

orchestration.proto:1976

Used in: ListRecentlyViewedProjectsFilter

message ListRecentlyViewedProjectsFilterC

orchestration.proto:1982

Used in: ListRecentlyViewedProjectsFilter

message LoadedSourceContent

orchestration.proto:2080

Used in: LoadSourceResponse

message LoadedSourceContentKind

orchestration.proto:2088

LoadedSourceContentKind preserves the observed scalar discriminator and present-empty marker variants at LoadedSourceContent position 2.

Used in: LoadedSourceContent

message LoadedSourceEmpty

orchestration.proto:2095

Used in: LoadedSourceContentKind

(message has no fields)

message LoadedSourceImage

orchestration.proto:2143

Used in: LoadedSourceRow

message LoadedSourceRow

orchestration.proto:2116

Used in: LoadedSourceRows, LoadedSourceTableCell

message LoadedSourceRows

orchestration.proto:2111

Used in: LoadedSourceContent

message LoadedSourceSpan

orchestration.proto:2155

Used in: LoadedSourceText

message LoadedSourceSpanFlags

orchestration.proto:2166

Used in: LoadedSourceSpanText

message LoadedSourceSpanText

orchestration.proto:2161

Used in: LoadedSourceSpan

message LoadedSourceStyle

orchestration.proto:2097

Used in: LoadedSourceContent

message LoadedSourceStyleData

orchestration.proto:2102

Used in: LoadedSourceStyle

message LoadedSourceTable

orchestration.proto:2125

Used in: LoadedSourceRow

message LoadedSourceTableCell

orchestration.proto:2137

Used in: LoadedSourceTableRow

message LoadedSourceTableRow

orchestration.proto:2131

Used in: LoadedSourceTable

message LoadedSourceText

orchestration.proto:2149

Used in: LoadedSourceRow

message LoadedSourceTextStyle

orchestration.proto:2176

Used in: LoadedSourceText

message LogEventContext

orchestration.proto:3200

Used in: LogEventEntry

message LogEventEntry

orchestration.proto:3188

Used in: LogEventRequest

message LogEventMarker

orchestration.proto:3205

Used in: LogEventContext

message LogEventSlot

orchestration.proto:3194

Used in: LogEventEntry

message MagicViewItem

notebooklm.proto:677

message MagicViewRequestCaps

notebooklm.proto:672

Used in: MagicViewRequestContext

message MagicViewRequestContext

notebooklm.proto:662

Used in: GenerateMagicViewRequest

message MagicViewRequestSurface

notebooklm.proto:668

Used in: MagicViewRequestContext

message MicrophoneEvent

orchestration.proto:2777

Used in: AgentCommsPayload

message ModelOption

orchestration.proto:3770

Used in: ListModelOptionsResponse

message MutateAccountCapabilityPair

orchestration.proto:1081

MutateAccountCapabilityPair is an observed two-integer capability pair.

Used in: MutateAccountCapabilitySet

message MutateAccountCapabilitySet

orchestration.proto:1076

MutateAccountCapabilitySet is [null, null, null, [pair...]].

Used in: MutateAccountChange

message MutateAccountChange

orchestration.proto:1071

MutateAccountChange carries a capability set at field 5.

Used in: MutateAccountUpdate

message MutateAccountUpdate

orchestration.proto:1066

MutateAccountUpdate is [null, [change...]]. Pair semantics are unconfirmed.

Used in: MutateAccountUpdateEnvelope

message MutateAccountUpdateEnvelope

orchestration.proto:1061

MutateAccountUpdateEnvelope wraps the update at field 1.

Used in: MutateAccountRequest

message MutateLabelEntry

orchestration.proto:3686

Used in: MutateLabelMutation

message MutateLabelMutation

orchestration.proto:3676

MutateLabelMutation is field 4: [[null, [[source_id]]]] (source-attach form) or [[name, emoji]] (metadata form). Field 1 wraps the inner mutation entry.

Used in: MutateLabelRequest

message MutateSourceTitle

orchestration.proto:2044

Used in: MutateSourceUpdate

message MutateSourceUpdate

orchestration.proto:2040

Used in: MutateSourceUpdates

message MutateSourceUpdates

orchestration.proto:2036

Used in: MutateSourceRequest

message Note

notebooklm.proto:317

Used as response type in: LabsTailwindOrchestrationService.MutateNote

Used as field type in: GetNotesResponse

message NoteGroundingDetails

orchestration.proto:2410

NoteGroundingDetails wraps the unkeyed grounding-detail list at note field 4. For rich notes, each item is byte-for-byte equal to the Grounding part of the corresponding source-keyed GroundingRecord in RichDocument.grounding.

Used in: CreateNoteRichRecord, GetNotesRichRecord

message NoteMetadata

notebooklm.proto:358

NoteMetadata is the note-metadata blob carried at Note position [2] in CreateNote (CYK0Xb) and MutateNote (cYAfTb) replies: [1, "157962509464", [secs, nanos], null, null, [secs, nanos], false] field_1 is a constant 1; note_id_int is the server-side numeric note id (stable across a note's lifetime); the two timestamp pairs are the note's created and last-modified times (equal on the first write, the modified pair advancing on each subsequent MutateNote). Positions [3] and [4] are null in all observed captures; field_7 is a constant false. Modeled with optional scalars so the trailing false and the interior nulls round-trip.

Used in: CreateNoteRichRecord, GetNotesRichRecord, Note, NoteRecord

message NoteRecord

notebooklm.proto:332

NoteRecord is the response-side note tuple. Unlike Note, content_text has presence because CreateNote returns an explicit empty string.

Used in: GetNotesEntry

message NoteRichText

orchestration.proto:2382

NoteRichText is a shape union. Older notes carry a plain string; rich notes carry the same positional RichDocument tree used by rendered chat content.

Used in: CreateNoteRequest, CreateNoteRichRecord, GetNotesRichRecord

message NoteTags

orchestration.proto:1044

Used in: NoteUpdate

message NoteTimestamp

notebooklm.proto:370

NoteTimestamp is an inline [seconds, nanos] pair (two positional int fields, not a wrapped google.protobuf.Timestamp).

Used in: NoteMetadata

message NoteUpdate

orchestration.proto:1035

Used in: NoteUpdateGroup

message NoteUpdateGroup

orchestration.proto:1031

Used in: NoteUpdates

message NoteUpdates

orchestration.proto:1027

Used in: MutateNoteRequest

message NotebookGuide

notebooklm.proto:456

Used in: GenerateNotebookGuideResponse

message OffsetRange

orchestration.proto:2659

OffsetRange is a [null, start, end] character span of the rendered document.

Used in: ChatStreamSourceMapping, ContentAnnotation, Grounding, SourceAnnotation

message PlaybackEvent

orchestration.proto:2773

Used in: AgentCommsPayload

message PlaybackPosition

orchestration.proto:3532

PlaybackPosition is a positional (seconds, nanos) tuple that mirrors google.protobuf.Duration's two int fields. Used inside ArtifactUserState to record the listener's place in an interactive audio overview.

Used in: ArtifactUserState

message Project

notebooklm.proto:14

Used as response type in: LabsTailwindOrchestrationService.CreateProject, LabsTailwindOrchestrationService.GetProject, LabsTailwindOrchestrationService.MutateProject, LabsTailwindOrchestrationService.MutateProjectCover

Used as field type in: ListRecentlyViewedProjectsResponse, MutateProjectRequest

message ProjectAnalyticsBuckets

orchestration.proto:882

ProjectAnalyticsBuckets retains the observed one-field wrapper around the repeated metric buckets.

Used in: ProjectAnalyticsSeries

message ProjectAnalyticsPoint

orchestration.proto:893

ProjectAnalyticsPoint is one [timestamp, null, value] metric bucket.

Used in: ProjectAnalyticsPointList

message ProjectAnalyticsPointList

orchestration.proto:888

ProjectAnalyticsPointList retains the second observed wrapper around the repeated metric buckets.

Used in: ProjectAnalyticsBuckets

message ProjectAnalyticsSeries

orchestration.proto:875

ProjectAnalyticsSeries contains the time buckets for one metric.

Used in: ProjectAnalytics

message ProjectCollaborator

sharing.proto:110

ProjectCollaborator is one per-user wire entry: [email, role_int, [], [display_name, avatar_url]]. Field 3 is an empty list in observed captures; the display name and avatar live in a nested profile at position 4. role_int 1 = OWNER.

Used in: ProjectDetails

message ProjectCollaboratorTags

sharing.proto:120

ProjectCollaboratorTags is the empty list at collaborator entry position 3. Modeled as a present-but-empty message so the [] round-trips (rather than collapsing to null).

Used in: ProjectCollaborator

message ProjectCoverImage

notebooklm.proto:64

ProjectCoverImage: [id, filename, position, image_kind, image_url]. Field 1 holds a UUID (not a URL) in this context, unlike orchestration.proto's FeaturedProjectImage.url — otherwise the same shape.

Used in: ProjectCoverPresentation

message ProjectCoverMutation

orchestration.proto:2006

Used in: MutateProjectCoverRequest

message ProjectCoverMutationUnknown4

orchestration.proto:2014

ProjectCoverMutationUnknown4 is the [null, title] metadata tuple observed on a project cover mutation. Its semantics are unconfirmed.

Used in: ProjectCoverMutation

message ProjectCoverPresentation

notebooklm.proto:52

ProjectCoverPresentation is Project field 15: a cover-image/presentation block, positionally identical to orchestration.proto's FeaturedProjectPresentation.

Used in: Project

message ProjectCoverSelection

orchestration.proto:2018

Used in: ProjectCoverMutation

message ProjectCoverSelectionUnknown1

orchestration.proto:2025

Used in: ProjectCoverSelection

message ProjectDetailsFlags

sharing.proto:94

ProjectDetailsFlags is the visibility flags tuple at ProjectDetails[1]: [flag_0, flag_1], both true when the notebook is fully public. Present as null when private.

Used in: ProjectDetails

message ProjectDetailsPermissions

sharing.proto:100

ProjectDetailsPermissions is the [3, true, true] blob at ProjectDetails[6].

Used in: ProjectDetails

message ProjectLimits

notebooklm.proto:41

ProjectLimits is Project field 11: a 5-slot quota tuple. Modeled as optional fields (not repeated int64) because the first slot is null on some notebooks.

Used in: Project

message ProjectMetadata

notebooklm.proto:74

Used in: FeaturedProject, Project

message ProjectMetadataExtra

notebooklm.proto:104

ProjectMetadataExtra is ProjectMetadata field 20: [null, [null, 1]]. Field 1 is null in all observed captures; field 2 is itself a 2-field message whose own field 1 is null and field 2 an observed int (1).

Used in: ProjectMetadata

message ProjectMetadataExtraInner

notebooklm.proto:109

Used in: ProjectMetadataExtra

message ProjectUserProfile

sharing.proto:126

ProjectUserProfile is the [display_name, avatar_url] pair carried at collaborator entry position 4.

Used in: ProjectCollaborator

message PromoCard

orchestration.proto:3257

PromoCard is one upsell-card placement.

Used in: PromoLogEntry

message PromoCardAction

orchestration.proto:3297

PromoCardAction is the "Manage subscription" call-to-action.

Used in: PromoCardContent

message PromoCardContent

orchestration.proto:3284

PromoCardContent pairs the card's icon with its click action.

Used in: PromoCardRender

message PromoCardEvent

orchestration.proto:3320

PromoCardEvent wraps a logged UI event: [context, kinds, token, sig].

Used in: PromoCardAction, PromoCardRender

message PromoCardEventContext

orchestration.proto:3329

PromoCardEventContext carries the placement coordinates repeated in both the click and impression events.

Used in: PromoCardEvent

message PromoCardIcon

orchestration.proto:3290

PromoCardIcon: [null, icon_name, glyph_id].

Used in: PromoCardContent

PromoCardLink: [null, null, url].

Used in: PromoCardLinkWrapper

PromoCardLinkWrapper: [[null, null, url], enabled_flag].

Used in: PromoCardAction

message PromoCardRef

orchestration.proto:3351

PromoCardRef: [id, campaign_id, tags].

Used in: PromoCardRefList

message PromoCardRefList

orchestration.proto:3360

PromoCardRefList wraps PromoCard.refs: present-but-empty in all captures, so it needs the wrapper idiom (see SpanList) to round-trip [] instead of collapsing to null.

Used in: PromoCard, PromoCardEventContext

message PromoCardRender

orchestration.proto:3276

PromoCardRender is the 21-position rendering blob for a PromoCard. Only positions 10 and 21 carry data in observed captures.

Used in: PromoCard

message PromoLogEntry

orchestration.proto:3237

PromoLogEntry is one acknowledged log event: [slot, cards, status].

Used in: LogEventResponse

message PromoSlot

orchestration.proto:3250

PromoSlot identifies a promo placement: [_, surface_locale, campaign_id]. Reused both as the top-level slot and nested inside PromoCardEventContext.

Used in: PromoCardEventContext, PromoLogEntry

message PublishSettings

sharing.proto:208

Used in: PublishGuidebookRequest

message Report

orchestration.proto:165

message ReportSuggestion

orchestration.proto:849

Used in: GenerateReportSuggestionsResponse

message RequestArtifactTypeFilter

orchestration.proto:50

RequestArtifactTypeFilter is RequestContext field 5: [[1,4,8,10,2,3,6,9]].

Used in: InteractionEventContext, RequestContext

message RequestClientCaps

orchestration.proto:43

RequestClientCaps is RequestContext field 4: [1, null×9, [1]] (11 elements).

Used in: FetchInteractivityTokenRequest, GetOrCreateAccountRequest, InteractionEventContext, ListFeaturedProjectsRequest, ListModelOptionsRequest, RequestContext

message RequestContext

orchestration.proto:26

RequestContext is the client-capabilities preamble the web UI prepends to most orchestration requests. Observed as [2, null, null, [1, null×8, [1]]] — with an extra artifact-type filter list at field 5 in ListArtifacts.

Used in: AddSourceRequest, BulkImportFromResearchWireRequest, CheckSourceFreshnessRequest, CopyProjectRequest, CreateLabelRequest, CreateNoteRequest, CreateUniversalArtifactRequest, DeleteChatHistoryRequest, DeleteNotesRequest, DeleteSourcesRequest, GenerateArtifactRequest, GenerateArtifactSuggestionsRequest, GenerateDocumentGuidesRequest, GenerateNotebookGuideRequest, GenerateReportSuggestionsRequest, GetArtifactRequest, GetAudioFormatsRequest, GetConversationHistoryRequest, GetConversationsRequest, GetLabelsRequest, GetNotesRequest, GetProjectAnalyticsRequest, GetProjectDetailsRequest, GetProjectRequest, ListArtifactsRequest, ListExpertIntelligenceContentRequest, ListRecentlyViewedProjectsRequest, LoadSourceRequest, MutateAccountRequest, MutateLabelRequest, MutateLabelsModeRequest, MutateNoteRequest, MutateProjectCoverRequest, MutateSourceRequest, PollDeepResearchRequest, RefreshSourceRequest, ReviseArtifactRequest, StartDeepResearchWireRequest, UpdateProjectUserStateRequest, UpsertArtifactUserStateRequest

message RequestSurface

orchestration.proto:38

RequestSurface is the optional [1] marker carried by some UI reads.

Used in: FetchInteractivityTokenRequest, GetOrCreateAccountRequest, ListFeaturedProjectsRequest, ListModelOptionsRequest, RequestContext

message ResearchQuery

orchestration.proto:3403

Used in: StartDeepResearchWireRequest

message ResponseLengthConfig

notebooklm.proto:120

Used in: ChatbotConfig

message ReviseArtifactResponse

orchestration.proto:3408

message RevisionData

notebooklm.proto:210

Used in: SourceMetadata

message RichContent

orchestration.proto:2307

RichContent is an assistant turn's structured payload: [segment, [grounding...], [], [annotation...]]. The segment carries the text and rich-text document; the grounding and annotation lists tie the reply back to its sources.

Used in: ChatMessage

message RichDocument

orchestration.proto:2345

RichDocument is the rendered rich-text form of an assistant turn: a tree of character-offset spans plus per-source grounding records. It is the [body, [], [], grounding, flag] payload at ContentSegment field 5.

Used in: ArtifactAudioOverview, ArtifactFlashcardConfig, ChatAnswer, ContentSegment, DeepResearchReportDetail, NoteRichText

message Section

orchestration.proto:171

Used in: Report

message SendAudioEvent

orchestration.proto:2768

Used in: AgentCommsPayload

message Separator

orchestration.proto:2486

Separator marks a zero-content boundary span. It is empty on the wire ([]) but present, distinguishing a separator span from an ordinary one.

Used in: Span

(message has no fields)

message ShareOptions

notebooklm.proto:508

Additional message not in sharing.proto

message ShareSettings

sharing.proto:142

Used in: ShareGuidebookRequest, ShareProjectRequest, ShareProjectResponse

message Source

notebooklm.proto:133

Used as response type in: LabsTailwindOrchestrationService.MutateSource, LabsTailwindOrchestrationService.RefreshSource

Used as field type in: AddSourcesResponse, BulkImportFromResearchResponse, DiscoverSourcesResponse, FeaturedProject, LoadSourceResponse, Project

message SourceAnnotation

orchestration.proto:2648

SourceAnnotation maps an offset range of the rendered document back to a source: [[source_id], [null, start, end]].

Used in: SpanLayers

message SourceBlob

notebooklm.proto:148

Used in: Source

message SourceFile

notebooklm.proto:200

Used in: SourceMetadata

message SourceId

notebooklm.proto:129

Used in: ArtifactSource, Source

message SourceIdList

orchestration.proto:2654

SourceIdList wraps a single source UUID in its own array ([source_id]).

Used in: ActOnSourcesSourceGroup, ArtifactAudioContent, ArtifactNoteConfig, ArtifactVideoContent, ChatSourceSelection, CheckSourceFreshnessRequest, CheckSourceFreshnessResponse, ChunkRef, DeleteSourcesRequest, GenerateArtifactSuggestionsRequest, GenerateDocumentGuideSource, GenerateReportSuggestionsRequest, Grounding, GroundingRecord, Label, LoadSourceRequest, MutateLabelEntry, MutateSourceRequest, RefreshSourceRequest, ReportSuggestion, SourceAnnotation, UniversalArtifactSourceGroup, UniversalAudioDetails

message SourceInput

orchestration.proto:962

Used in: AddSourceRequest

message SourceIssue

notebooklm.proto:295

Used in: SourceIssueList

enum SourceIssue.Reason

notebooklm.proto:296

Used in: SourceIssue

message SourceIssueList

notebooklm.proto:291

Used in: SourceSettingsDetail

message SourceLanguageDetection

notebooklm.proto:191

SourceLanguageDetection is SourceMetadata field 17: [[[lang, confidence], ...]] — field 1 wraps the ranked guess list.

Used in: SourceMetadata

message SourceLanguageGuess

notebooklm.proto:195

Used in: SourceLanguageDetection

message SourceMetadata

notebooklm.proto:161

Used in: Source

message SourceReference

sharing.proto:269

Used in: GuidebookGenerateAnswerResponse

message SourceSettings

notebooklm.proto:247

Used in: Source

enum SourceSettings.SourceStatus

notebooklm.proto:248

Used in: SourceMetadata, SourceSettings

message SourceSettingsDetail

notebooklm.proto:263

Used in: SourceSettings

message SourceSettingsIntList

notebooklm.proto:287

SourceSettingsIntList wraps a repeated int64 so a present-but-empty list round-trips as [] rather than null.

Used in: SourceSettingsDetail

message SourceSettingsSize

notebooklm.proto:280

SourceSettingsSize is SourceSettingsDetail field 2: [null, 650690, 500000], a byte/char size pair (field 1 null in observed captures).

Used in: SourceSettingsDetail

message SourceSummary

sharing.proto:131

Used in: ProjectDetails

message SourceTextInput

orchestration.proto:982

Used in: SourceInput

enum SourceType

notebooklm.proto:217

Used in: SourceMetadata, SourceSummary

message Span

orchestration.proto:2426

Span is one character-offset range [start, end] of the rendered document and its content. Spans nest recursively: a block span's content is a group of child spans, a leaf span's content is text. content is a shape union (see SpanContent).

Used in: SpanElement, SpanLayers, SpanList, SpanTableRow

message SpanCodeBlock

orchestration.proto:2492

SpanCodeBlock is a fenced code block within a rich-text document: [code_text, language]. Carried at Span position 7. Observed languages include "protobuf" and "go".

Used in: LoadedSourceRow, Span

message SpanContent

orchestration.proto:2500

SpanContent is a shape union: a span holds EITHER a text leaf (["text"] or ["text", marks]) OR a group of nested child spans ([[spans], ...]), at the same wire position. beprotojson selects the case by shape.

Used in: Span

message SpanElement

orchestration.proto:2526

SpanElement is a shape union used by SpanGroup.spans. Most entries are the normal [start, end, content] Span shape, but some captures contain a bare integer leaf (for example 0 or 11) at the same repeated position.

Used in: SpanGroup

message SpanGroup

orchestration.proto:2516

SpanGroup is a container span's content: a list of child spans plus optional layout metadata.

Used in: SpanContent

message SpanGroupMeta

orchestration.proto:2596

SpanGroupMeta is the [null, indent, flag?] metadata trailing a span group.

Used in: SpanGroup

message SpanImage

orchestration.proto:2478

SpanImage is an inline image reference: [image_url, null, image_id].

Used in: Span

message SpanLayers

orchestration.proto:2417

SpanLayers holds the document body as two parallel layers over the same text: the block tree (headings, paragraphs, list items) and a per-source annotation index mapping offset ranges back to their source.

Used in: RichDocument

message SpanList

orchestration.proto:2686

SpanList wraps a list of spans in one extra array layer ([[span...]]), the shape grounding uses for its source spans.

Used in: Grounding

message SpanTable

orchestration.proto:2456

SpanTable is a table block within a rich-text document: [type_code, columns, rows]. Observed type codes vary; their meaning is not yet known. columns is the column count; each row contains nested cell Spans.

Used in: Span

message SpanTableRow

orchestration.proto:2465

SpanTableRow is one table row: [start, end, cells]. Its content is a bare list of cell Spans, unlike an ordinary Span's content (which goes through the SpanContent leaf/group shape union), so it is not itself a Span.

Used in: SpanTable

message SpanTableRowMeta

orchestration.proto:2473

SpanTableRowMeta is the [null, flag] trailer on table rows.

Used in: SpanTableRow

message StartDeepResearchResponse

orchestration.proto:2888

Used as response type in: LabsTailwindOrchestrationService.StartDeepResearch, LabsTailwindOrchestrationService.StartDeepResearchWire

message StatusMessagePayload

orchestration.proto:2724

Used in: AgentCommsPayload

message StringList

orchestration.proto:1991

StringList wraps a repeated string so a present-but-empty list marshals as [] instead of null. Mirrors the SourceIssueList idiom.

Used in: GetProjectFilterEntry, ListRecentlyViewedProjectsFilterA, ListRecentlyViewedProjectsFilterB, ListRecentlyViewedProjectsFilterC, MutateLabelMutation

message SubmitFeedbackContent

orchestration.proto:2244

SubmitFeedbackContent carries the question and full answer context.

Used in: SubmitFeedbackRequest

message SubmitFeedbackSignal

orchestration.proto:2238

SubmitFeedbackSignal preserves the observed selector shape. The values' meanings are unconfirmed because only one direction is captured.

Used in: SubmitFeedbackRequest

message SubmitFeedbackTurn

orchestration.proto:2230

SubmitFeedbackTurn identifies the conversation turn that supplied feedback.

Used in: SubmitFeedbackRequest

message TTSEvent

orchestration.proto:2761

Used in: AgentCommsPayload

message TTSTimestamp

orchestration.proto:2756

Used in: TTSEvent

message TextFragment

orchestration.proto:159

Used in: ArtifactSource

message TextLeaf

orchestration.proto:2509

TextLeaf is the innermost span content: a run of text with optional positional formatting marks.

Used in: SpanContent

message TextMarkColor

orchestration.proto:2589

Used in: LoadedSourceStyleData, TextMarkColorOrFlag

message TextMarkColorOrFlag

orchestration.proto:2582

TextMarkColorOrFlag is a shape union. Position 6 is a boolean formatting flag in older spans and an [red, green, blue] tuple in styled rich text.

Used in: LoadedSourceSpanFlags, TextMarks

message TextMarkFont

orchestration.proto:2574

Used in: LoadedSourceStyleData, TextMarkFontOrFlag

message TextMarkFontOrFlag

orchestration.proto:2567

TextMarkFontOrFlag is a shape union. Position 5 is a boolean formatting flag in older spans and a [font_family, weight] tuple in styled rich text.

Used in: LoadedSourceSpanFlags, TextMarks

message TextMarks

orchestration.proto:2552

TextMarks carries the positional formatting marks on a text leaf. Observed forms include [true] (flag1, on inline headings/labels), [null x7, true] (flag8, on code/identifier runs), and [null, null, null, url] (link, a hyperlink target). Boolean marks are carried as JSON booleans on the wire, not batchexecute's 1/0; exact bold/italic/code meanings are not yet confirmed, so they are modeled generically. KNOWN ASYMMETRY, deliberately not modeled: responses carry these flags as JSON booleans but CYK0Xb requests carry the identical structure with 1/0 instead ([0,0,0,null,null,null,null,0,0] against [false,false,false,null,null,null,null,false,false]). The split is by direction and absolute across the corpus — 1960 numeric occurrences on requests, 1931 boolean on responses, no crossover — with no discriminator field to key on. json_bool is a static per-field choice, so no single setting round-trips both, and the same asymmetry affects ListItem and SpanTableRowMeta. Preserving it would mean either a form-remembering codec or a duplicate request-side span tree, both of which touch the shared path that carries ~687k spans, for a field no client of this package sends. Two CYK0Xb request records therefore stay lossy on purpose.

Used in: TextLeaf

message TimestampPair

orchestration.proto:208

TimestampPair wraps a [seconds, nanos] pair so it can be present-but-empty ([]) on the wire, distinct from being absent (null).

Used in: ArtifactNotePreview

message UniversalArtifactOptions

orchestration.proto:585

Used in: CreateUniversalArtifactRequest

message UniversalArtifactOptionsUnknown10

orchestration.proto:603

UniversalArtifactOptionsUnknown10 is the observed [null, [kind, null, optional_text]] trailer. Its semantics are unconfirmed.

Used in: UniversalArtifactOptions

message UniversalArtifactOptionsUnknown10Details

orchestration.proto:607

Used in: UniversalArtifactOptionsUnknown10

message UniversalArtifactSourceGroup

orchestration.proto:612

Used in: UniversalArtifactOptions

message UniversalArtifactSources

orchestration.proto:646

Used in: UniversalVideoDetails

message UniversalAudioDetails

orchestration.proto:621

Used in: UniversalAudioOptions

message UniversalAudioOptions

orchestration.proto:616

Used in: UniversalArtifactOptions

message UniversalSlideOptions

orchestration.proto:650

Used in: UniversalArtifactOptions

message UniversalVideoDetails

orchestration.proto:637

Used in: UniversalVideoOptions

message UniversalVideoOptions

orchestration.proto:632

Used in: UniversalArtifactOptions

message UpdateProjectUserStateKeys

orchestration.proto:3804

UpdateProjectUserStateKeys is field 4: [["notebook_lm_state...."]]. Field 1 is the repeated list of dotted state-key paths being updated (e.g. "notebook_lm_state.saved_source_panel_view").

Used in: UpdateProjectUserStateRequest

message UpdateProjectUserStateResult

orchestration.proto:3814

Used in: UpdateProjectUserStateResponse

message UpdateProjectUserStateValue

orchestration.proto:3790

UpdateProjectUserStateValue is field 3: [null, [null, 2]].

Used in: UpdateProjectUserStateRequest

message UpdateProjectUserStateValueInner

orchestration.proto:3795

Used in: UpdateProjectUserStateValue

message UserUtterance

orchestration.proto:2742

Used in: AgentCommsPayload

message VideoOverview

notebooklm.proto:396

enum VideoStyle

orchestration.proto:544

Video style options (confirmed from /tmp/notebooklm3.har analysis)

Used in: CreateVideoOverviewRequest

message YoutubeSourceMetadata

notebooklm.proto:239

Used in: SourceMetadata