Member Junction
    Preparing search index...

    Reusable message input box component (presentational) Now uses MentionEditorComponent for rich

    functionality with chips

    Handles:

    • Text input with keyboard shortcuts via MentionEditorComponent

    autocomplete with visual chips (contentEditable)

    • Send button

    Does NOT handle:

    • Saving messages to database
    • Agent invocation
    • Artifact creation
    • Conversation management
    Index

    Constructors

    Properties

    acceptedFileTypes: string = 'image/*'
    attachmentClicked: EventEmitter<PendingAttachment> = ...
    attachmentError: EventEmitter<string> = ...
    attachmentsChanged: EventEmitter<PendingAttachment[]> = ...
    blurred: EventEmitter<void> = ...

    Composer lost focus — hosts persist drafts on this.

    canStartRealtime: boolean = true

    Whether a voice session can be started right now (mic disabled when false).

    currentUser?: UserInfo
    disabled: boolean = false
    enableAttachments: boolean = true
    enableMentions: boolean = true

    Master switch for all mention/command triggers (pass-through to the mention editor).

    enablePlanMode: boolean = false

    Shows the in-composer Plan Mode toggle button when true.

    enableRealtime: boolean = false

    Shows the in-composer mic button when true.

    ExcludedTriggerKeys: string[] = []

    Discovery-mode filter: provider Keys to skip (pass-through to the mention editor).

    maxAttachments: number = 10
    maxAttachmentSizeBytes: number = ...
    mentionEditor?: MentionEditorComponent
    placeholder: string = 'Type your message to start a new conversation...'
    planModeActive: boolean = false

    Current Plan Mode toggle state (renders the button in its active state).

    planModeToggle: EventEmitter<void> = ...

    Emitted when the user clicks the in-composer Plan Mode toggle button.

    Provider: IMetadataProvider | null = null

    Optional metadata provider scoping this composer (pass-through to the mention editor).

    rows: number = 3
    showCharacterCount: boolean = false
    textSubmitted: EventEmitter<string> = ...
    TriggerProviders: ComposerTriggerProvider[] | null = null

    Explicit trigger-provider list (pass-through to the mention editor; explicit list wins over discovery).

    value: string = ''
    valueChange: EventEmitter<string> = ...
    voiceActive: boolean = false

    Whether a realtime voice session is currently active (mic renders in its active state).

    voiceOptionsRequested: EventEmitter<void> = ...

    Emitted when the user clicks the small caret next to the phone button — the host opens the voice agent/model picker so call options (which agent, which voice model) stay reachable without adding friction to the plain phone click's instant-start path.

    voiceRequested: EventEmitter<void> = ...

    Emitted when the user clicks the mic button to start/stop a voice session.

    Accessors

    Methods

    • Add an artifact as a pending attachment (called by parent after artifact selection)

      Parameters

      • artifact: {
            artifactVersionId?: string;
            fileID: string;
            fileName: string;
            mimeType: string;
            sizeBytes: number;
        }

      Returns PendingAttachment | undefined

    • Get mention chip data including configuration presets

      Returns {
          id: string;
          name: string;
          presetId?: string;
          presetName?: string;
          type: string;
      }[]

    • Handle clicks on the container - focus the mention editor Only moves cursor to end if clicking outside the contentEditable area

      Parameters

      • event: MouseEvent

      Returns void