ChatStreamingMdComponent

Renders one explicitly-versioned markdown document through the shared view registry. A generation owns one parser session; append-only updates preserve parser and subtree identity, while generation changes replace the session.

import { ChatStreamingMdComponent } from '@threadplane/chat';

Declaration

export declare class ChatStreamingMdComponent  {
  constructor();
  readonly document: import("@angular/core").InputSignal<StreamingMarkdownDocument>;
  readonly resolvedRegistry: import("@angular/core").Signal<Readonly<Record<string, import("@threadplane/render").RenderViewEntry | import("@angular/core").Type<unknown>>>>;
  readonly root: import("@angular/core").Signal<MarkdownDocumentNode | null>;
  readonly viewRegistry: import("@angular/core").InputSignal<Readonly<Record<string, import("@threadplane/render").RenderViewEntry | import("@angular/core").Type<unknown>>> | undefined>;
}

Angular template API

Selector: chat-streaming-md

Inputs

document · required
StreamingMarkdownDocument
viewRegistry
Readonly<Record<string, RenderViewEntry | Type<unknown>>> | undefined

Members

Constructor · overload 1

Constructs a new instance of the ChatStreamingMdComponent class

constructor();

document

readonly document: import("@angular/core").InputSignal<StreamingMarkdownDocument>;

resolvedRegistry

Most specific wins: the [viewRegistry] input, then a registry provided by an ancestor injector, then the built-in markdown views.

readonly resolvedRegistry: import("@angular/core").Signal<Readonly<Record<string, import("@threadplane/render").RenderViewEntry | import("@angular/core").Type<unknown>>>>;

root

readonly root: import("@angular/core").Signal<MarkdownDocumentNode | null>;

viewRegistry

readonly viewRegistry: import("@angular/core").InputSignal<Readonly<Record<string, import("@threadplane/render").RenderViewEntry | import("@angular/core").Type<unknown>>> | undefined>;