Member Junction
    Preparing search index...

    Container component for displaying a list of messages Uses dynamic component creation (like skip-chat) to avoid Angular binding overhead This dramatically improves performance when messages are added/removed

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnDestroy
    • OnChanges
    • AfterViewInit
    • AfterViewChecked
    Index

    Constructors

    Properties

    afterResponseFormSubmitted: EventEmitter<AfterResponseFormSubmittedEventArgs> = ...

    Forwarded from MessageItemComponent — see its docs.

    agentRunMap: Map<string, MJAIAgentRunEntityExtended> = ...
    allowMessageDelete: boolean = true
    allowMessageEdit: boolean = true
    allowPinning: boolean = true
    artifactClicked: EventEmitter<{ artifactId: string; versionId?: string }> = ...
    artifactMap: Map<string, LazyArtifactInfo[]> = ...
    attachmentClicked: EventEmitter<MessageAttachment> = ...
    attachmentsMap: Map<string, MessageAttachment[]> = ...
    beforeResponseFormSubmitted: EventEmitter<BeforeResponseFormSubmittedEventArgs> = ...

    Forwarded from MessageItemComponent — see its docs.

    conversation: MJConversationEntity | null
    currentDateDisplay: string = 'Today'
    currentUser: UserInfo
    deleteMessage: EventEmitter<MJConversationDetailEntity> = ...
    diagnosticRequested: EventEmitter<string> = ...
    editMessage: EventEmitter<MJConversationDetailEntity> = ...
    isProcessing: boolean = false
    messageContainerRef: ViewContainerRef
    messageEdited: EventEmitter<MJConversationDetailEntity> = ...
    messageExtraTemplate: TemplateRef<unknown> | null = null

    Optional per-message additive decoration template, projected INSIDE the default MessageItemComponent (after the message text). Forwarded by chat-area when a consumer projects mjChatSlot="messageExtra". Ignored when messageRendererTemplate is set (custom renderers own all per-message content).

    messagePinToggled: EventEmitter<MJConversationDetailEntity> = ...
    messageRendererTemplate: TemplateRef<unknown> | null = null

    Optional per-iteration custom message renderer. When set, the list renders each message via this template (full replacement) instead of the default MessageItemComponent. Forwarded by chat-area when a consumer projects mjChatSlot="messageRenderer". The template receives the message as $implicit and as a named message context binding.

    Consumers opting into a custom renderer take full responsibility for displaying the message — edit/delete/retry affordances, artifacts, ratings, attachments, etc. The minimal MJChatMessageBubbleDefaultComponent ships as a ready-to-use bubble renderer.

    openEntityRecord: EventEmitter<
        { compositeKey: CompositeKey; entityName: string },
    > = ...
    Provider: IMetadataProvider | null

    If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.

    ratingsMap: Map<string, RatingJSON[]> = ...
    realtimeSessionOpenRequested: EventEmitter<string> = ...

    Emitted with the MJ: AI Agent Sessions.ID when a realtime session block's Open affordance is clicked.

    replyInThread: EventEmitter<MJConversationDetailEntity> = ...
    retryMessage: EventEmitter<MJConversationDetailEntity> = ...
    scrollContainer: ElementRef
    sessionMetaMap: Map<string, RealtimeSessionTimelineMeta> = ...

    Optional session-row enrichment for realtime SESSION BLOCKS, keyed by NormalizeUUID(sessionId) (agent name / status / close reason). Details stamped with an AgentSessionID collapse into one timeline card per session — see BuildConversationTimeline — and this map dresses those cards up when present.

    shouldShowDateFilter: boolean = false
    showAgentRunDetails: boolean = true
    showDateNav: boolean = false
    showDateNavigation: boolean = true

    Whether the sticky date header + jump-to-date dropdown render.

    showEmptyFill: boolean = true

    Whether the built-in "No messages yet" filler renders for empty conversations. Hosts with their own empty-state chrome set false.

    showMessageRating: boolean = true
    showReactions: boolean = true
    suggestedResponseSelected: EventEmitter<{ customInput?: string; text: string }> = ...
    testFeedbackMessage: EventEmitter<MJConversationDetailEntity> = ...
    userAvatarMap: Map<
        string,
        { iconClass: string
        | null; imageUrl: string | null },
    > = ...
    viewThread: EventEmitter<MJConversationDetailEntity> = ...
    "ɵdir": unknown
    "ɵfac": unknown

    Accessors

    • get ProviderToUse(): IMetadataProvider

      Returns either the default Metadata provider or the one specified in the Provider property, if it was specified

      Returns IMetadataProvider

    • get RunQueryToUse(): IRunQueryProvider

      Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified

      Returns IRunQueryProvider

    • get RunReportToUse(): IRunReportProvider

      Returns either the default RunReport provider or the one specified in the Provider property, if it was specified

      Returns IRunReportProvider

    • get RunViewToUse(): IRunViewProvider

      Returns either the default RunView provider or the one specified in the Provider property, if it was specified

      Returns IRunViewProvider

    Methods

    • A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.

      Parameters

      • changes: { [propName: string]: SimpleChange<any> }

        The changed properties.

      Returns void