Application context snapshot for AI agent awareness. Updated by the host app on navigation transitions.
Pixels the floating bubble has been dragged up from its default bottom-right corner position. Always >= 0; clamping at render time keeps the bubble on-screen even after a viewport resize.
Active conversation entity
Emitted when the active conversation changes in the overlay
Current user info, passed through to conversation-chat-area. Auto-resolved from Metadata if not provided.
Greeting message shown in the empty state when no conversation is active
Environment ID, passed through to conversation-chat-area. Auto-resolved from default if not provided.
True while the user is actively dragging the bubble; used to swap cursor + suppress click.
True from mousedown until mouseup on the bubble, regardless of whether the gesture became a drag. Used to give immediate "I'm being held" feedback so the user can see drag is possible even before crossing the move threshold.
When true, the floating bubble is hidden and replaced by a thin sliver flush with the right edge of the viewport. Persisted across sessions via OverlayPrefs.bubbleHidden. Clicking the sliver restores the bubble.
Whether a new unsaved conversation is in progress
Emitted when navigation is requested (entity record, etc.)
Emitted when an entity record open is requested
Emitted when the user requests opening the full chat workspace
Panel dimensions (persisted via UserInfoEngine)
Pending attachments to send after conversation creation
Pending message to send after conversation creation
The conversation PendingMessage is destined for — pins the auto-send to that conversation's input so a fast conversation-swap can't redirect it elsewhere.
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.
Emitted when a task is clicked
Emitted when a tool finishes executing in the agent client
Pixels reserved at the top of the viewport that the bubble and panel must not cross. Set this from the host app to the height of any fixed top chrome (e.g. Explorer's shell-header). Defaults to 0 — generic apps without top chrome keep the full viewport available.
Emitted when the overlay visibility changes
StaticɵdirStaticɵfacEffective bottom (px) for the floating bubble, clamped to the current viewport.
Effective bottom (px) for the expanded panel. Anchors to the bubble's
current bottom edge so the panel grows up from where the user parked the
bubble, but clamps downward whenever the panel would otherwise extend
past the viewport's top boundary — that's the "reposition lower so the
chat interface stays visible" behavior.
Returns either the default Metadata provider or the one specified in the Provider property, if it was specified
Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified
Returns either the default RunReport provider or the one specified in the Provider property, if it was specified
Returns either the default RunView provider or the one specified in the Provider property, if it was specified
Collapse the overlay to the floating button
Expand the overlay to show the chat panel
Hide the floating bubble — leaves a thin sliver on the right edge as the only affordance to bring it back. Invoked from the small "×" pill that appears on hover. Stops propagation so the bubble's own click handler doesn't fire and toggle the panel open.
Increment unread badge (called externally when messages arrive while collapsed)
A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.
A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
Start tracking a potential bubble drag. We don't enter drag mode until the pointer moves past BUBBLE_DRAG_THRESHOLD_PX — releasing before that threshold is treated as a normal click/tap and opens the chat (via Toggle()).
Pointer Events (not mousedown) so the same code path serves desktop mouse, touch on phones/tablets, and pen input. setPointerCapture keeps the gesture tied to this element even if the finger or cursor strays off the bubble.
Handle conversation creation from the chat area
Handle entity record open requests
Handle the user requesting to open full chat workspace
Handle pending message consumed by chat area
Start resizing from an edge or corner
Restore the floating bubble after it was hidden. Triggered by clicking the sliver.
Start a new conversation in the overlay
Toggle between collapsed and expanded states
Toggle between expanded and maximized states
Base class for all Angular components in the MemberJunction system.