- Name
parts- Kind
- property
- Type
readonly ["root", "copy", "reload", "edit", "speak", "stop-speaking", "feedback-positive", "feedback-negative", "export-markdown"]- Requirement
- required
DocsAPI referenceHeadlessassistant-action-bar
assistant-action-bar headless API
The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.
14 of 14
@grassroot/ui-headless-core/assistant-action-bar
Core connector and vanilla API
ActionBarAutohide
typeActionBarAutohidets
type ActionBarAutohide = "always" | "not-last" | "never";ActionBarFeedback
typeActionBarFeedbackts
type ActionBarFeedback = "positive" | "negative";assistantActionBarAnatomyts
export declare const assistantActionBarAnatomy: { readonly scope: "assistant-action-bar"; readonly parts: readonly ["root", "copy", "reload", "edit", "speak", "stop-speaking", "feedback-positive", "feedback-negative", "export-markdown"];};Name
Kind
Type
Requirement
partsproperty
readonly ["root", "copy", "reload", "edit", "speak", "stop-speaking", "feedback-positive", "feedback-negative", "export-markdown"]required
scopeproperty
"assistant-action-bar"required
- Name
scope- Kind
- property
- Type
"assistant-action-bar"- Requirement
- required
AssistantActionBarApi
interfaceAssistantActionBarApits
interface AssistantActionBarApi { rootProps(): PartProps; copyProps(): PartProps; reloadProps(): PartProps; editProps(): PartProps; speakProps(): PartProps; stopSpeakingProps(): PartProps; feedbackPositiveProps(): PartProps; feedbackNegativeProps(): PartProps; exportMarkdownProps(): PartProps; getVersion(): number; subscribe(listener: () => void): () => void; destroy(): void;}Name
Kind
Type
Requirement
copyPropsmethod
() => PartPropsrequired
destroymethod
() => voidrequired
editPropsmethod
() => PartPropsrequired
exportMarkdownPropsmethod
() => PartPropsrequired
feedbackNegativePropsmethod
() => PartPropsrequired
feedbackPositivePropsmethod
() => PartPropsrequired
getVersionmethod
() => numberrequired
reloadPropsmethod
() => PartPropsrequired
rootPropsmethod
() => PartPropsrequired
speakPropsmethod
() => PartPropsrequired
stopSpeakingPropsmethod
() => PartPropsrequired
subscribemethod
(listener: () => void) => () => voidrequired
- Name
copyProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
editProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
exportMarkdownProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
feedbackNegativeProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
feedbackPositiveProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
getVersion- Kind
- method
- Type
() => number- Requirement
- required
- Name
reloadProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
rootProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
speakProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
stopSpeakingProps- Kind
- method
- Type
() => PartProps- Requirement
- required
- Name
subscribe- Kind
- method
- Type
(listener: () => void) => () => void- Requirement
- required
AssistantActionBarClientLike
interfaceAssistantActionBarClientLikets
interface AssistantActionBarClientLike { readonly thread?: { readonly getState: () => Record<string, unknown>; }; readonly message?: { readonly getState: () => Record<string, unknown>; }; readonly capabilities?: Record<string, boolean>;}Name
Kind
Type
Requirement
capabilitiesproperty
Record<string, boolean>optional
messageproperty
{
readonly getState: () => Record<string, unknown>;
}optional
threadproperty
{
readonly getState: () => Record<string, unknown>;
}optional
- Name
capabilities- Kind
- property
- Type
Record<string, boolean>- Requirement
- optional
- Name
message- Kind
- property
- Type
{ readonly getState: () => Record<string, unknown>; }- Requirement
- optional
- Name
thread- Kind
- property
- Type
{ readonly getState: () => Record<string, unknown>; }- Requirement
- optional
AssistantActionBarConnectOptions
interfaceAssistantActionBarConnectOptionsts
interface AssistantActionBarConnectOptions { readonly messageId?: string; readonly message?: ExportableMessage; readonly copyText?: string; readonly hideWhenRunning?: boolean; readonly autohide?: ActionBarAutohide; readonly autohideFloat?: boolean; readonly isLast?: boolean; readonly copiedDuration?: number; readonly clipboard?: { readonly writeText: (text: string) => void | Promise<void>; }; readonly onFeedback?: (feedback: ActionBarFeedback) => void; readonly onExport?: (markdown: string) => void; readonly onReload?: () => void; readonly onEdit?: () => void; readonly onSpeak?: () => void; readonly onStopSpeaking?: () => void;}Name
Kind
Type
Requirement
autohideproperty
ActionBarAutohideoptional
autohideFloatproperty
booleanoptional
clipboardproperty
{
readonly writeText: (text: string) => void | Promise<void>;
}optional
copiedDurationproperty
numberoptional
copyTextproperty
stringoptional
hideWhenRunningproperty
booleanoptional
isLastproperty
booleanoptional
messageproperty
ExportableMessageoptional
messageIdproperty
stringoptional
onEditproperty
() => voidoptional
onExportproperty
(markdown: string) => voidoptional
onFeedbackproperty
(feedback: ActionBarFeedback) => voidoptional
onReloadproperty
() => voidoptional
onSpeakproperty
() => voidoptional
- Name
autohide- Kind
- property
- Type
ActionBarAutohide- Requirement
- optional
- Name
autohideFloat- Kind
- property
- Type
boolean- Requirement
- optional
- Name
clipboard- Kind
- property
- Type
{ readonly writeText: (text: string) => void | Promise<void>; }- Requirement
- optional
- Name
copiedDuration- Kind
- property
- Type
number- Requirement
- optional
- Name
copyText- Kind
- property
- Type
string- Requirement
- optional
- Name
hideWhenRunning- Kind
- property
- Type
boolean- Requirement
- optional
- Name
isLast- Kind
- property
- Type
boolean- Requirement
- optional
- Name
message- Kind
- property
- Type
ExportableMessage- Requirement
- optional
- Name
messageId- Kind
- property
- Type
string- Requirement
- optional
- Name
onEdit- Kind
- property
- Type
() => void- Requirement
- optional
- Name
onExport- Kind
- property
- Type
(markdown: string) => void- Requirement
- optional
- Name
onFeedback- Kind
- property
- Type
(feedback: ActionBarFeedback) => void- Requirement
- optional
- Name
onReload- Kind
- property
- Type
() => void- Requirement
- optional
- Name
onSpeak- Kind
- property
- Type
() => void- Requirement
- optional
- Name
onStopSpeaking- Kind
- property
- Type
() => void- Requirement
- optional
AssistantActionBarMount
interfaceAssistantActionBarMountts
interface AssistantActionBarMount { readonly connector: AssistantActionBarApi; readonly root: HTMLElement; destroy(): void;}Name
Kind
Type
Requirement
connectorproperty
AssistantActionBarApirequired
destroymethod
() => voidrequired
rootproperty
HTMLElementrequired
- Name
connector- Kind
- property
- Type
AssistantActionBarApi- Requirement
- required
- Name
destroy- Kind
- method
- Type
() => void- Requirement
- required
- Name
root- Kind
- property
- Type
HTMLElement- Requirement
- required
AssistantActionBarPartts
type AssistantActionBarPart = (typeof parts)[number];connectAssistantActionBar
functionconnectAssistantActionBarts
declare function connectAssistantActionBar(client: AssistantActionBarClientLike, scope: PartScope, options?: AssistantActionBarConnectOptions): AssistantActionBarApi;Name
Kind
Type
Requirement
clientparameter
AssistantActionBarClientLikerequired
scopeparameter
PartScoperequired
optionsparameter
AssistantActionBarConnectOptionsoptional
returnreturn value
AssistantActionBarApin/a
- Name
client- Kind
- parameter
- Type
AssistantActionBarClientLike- Requirement
- required
- Name
scope- Kind
- parameter
- Type
PartScope- Requirement
- required
- Name
options- Kind
- parameter
- Type
AssistantActionBarConnectOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
AssistantActionBarApi- Requirement
- n/a
ExportableMessage
interfaceExportableMessagets
interface ExportableMessage { readonly [key: string]: unknown; readonly role?: string; readonly content?: readonly ExportableMessagePart[];}Name
Kind
Type
Requirement
contentproperty
readonly ExportableMessagePart[]optional
roleproperty
stringoptional
- Name
content- Kind
- property
- Type
readonly ExportableMessagePart[]- Requirement
- optional
- Name
role- Kind
- property
- Type
string- Requirement
- optional
ExportableMessagePart
interfaceExportableMessagePartts
interface ExportableMessagePart { readonly id?: string; readonly type?: string; readonly sourceType?: string; readonly toolCallId?: string; readonly text?: string; readonly title?: string; readonly url?: string; readonly filename?: string; readonly image?: string; readonly data?: unknown; readonly name?: string; readonly toolName?: string; readonly args?: unknown; readonly result?: unknown; readonly isError?: boolean; readonly argsText?: string;}Name
Kind
Type
Requirement
argsproperty
unknownoptional
argsTextproperty
stringoptional
dataproperty
unknownoptional
filenameproperty
stringoptional
idproperty
stringoptional
imageproperty
stringoptional
isErrorproperty
booleanoptional
nameproperty
stringoptional
resultproperty
unknownoptional
sourceTypeproperty
stringoptional
textproperty
stringoptional
titleproperty
stringoptional
toolCallIdproperty
stringoptional
toolNameproperty
stringoptional
- Name
args- Kind
- property
- Type
unknown- Requirement
- optional
- Name
argsText- Kind
- property
- Type
string- Requirement
- optional
- Name
data- Kind
- property
- Type
unknown- Requirement
- optional
- Name
filename- Kind
- property
- Type
string- Requirement
- optional
- Name
id- Kind
- property
- Type
string- Requirement
- optional
- Name
image- Kind
- property
- Type
string- Requirement
- optional
- Name
isError- Kind
- property
- Type
boolean- Requirement
- optional
- Name
name- Kind
- property
- Type
string- Requirement
- optional
- Name
result- Kind
- property
- Type
unknown- Requirement
- optional
- Name
sourceType- Kind
- property
- Type
string- Requirement
- optional
- Name
text- Kind
- property
- Type
string- Requirement
- optional
- Name
title- Kind
- property
- Type
string- Requirement
- optional
- Name
toolCallId- Kind
- property
- Type
string- Requirement
- optional
- Name
toolName- Kind
- property
- Type
string- Requirement
- optional
- Name
type- Kind
- property
- Type
string- Requirement
- optional
- Name
url- Kind
- property
- Type
string- Requirement
- optional
exportMessageMarkdown
functionexportMessageMarkdownts
declare function exportMessageMarkdown(message: ExportableMessage): string;Name
Kind
Type
Requirement
messageparameter
ExportableMessagerequired
returnreturn value
stringn/a
- Name
message- Kind
- parameter
- Type
ExportableMessage- Requirement
- required
- Name
return- Kind
- return value
- Type
string- Requirement
- n/a
mountAssistantActionBar
functionmountAssistantActionBarts
declare function mountAssistantActionBar(container: HTMLElement, client: AssistantActionBarClientLike, options?: MountAssistantActionBarOptions): AssistantActionBarMount;Name
Kind
Type
Requirement
containerparameter
HTMLElementrequired
clientparameter
AssistantActionBarClientLikerequired
optionsparameter
MountAssistantActionBarOptionsoptional
returnreturn value
AssistantActionBarMountn/a
- Name
container- Kind
- parameter
- Type
HTMLElement- Requirement
- required
- Name
client- Kind
- parameter
- Type
AssistantActionBarClientLike- Requirement
- required
- Name
options- Kind
- parameter
- Type
MountAssistantActionBarOptions- Requirement
- optional
- Name
return- Kind
- return value
- Type
AssistantActionBarMount- Requirement
- n/a
MountAssistantActionBarOptions
interfaceMountAssistantActionBarOptionsts
interface MountAssistantActionBarOptions extends AssistantActionBarConnectOptions {}Framework adapters
Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.
This entry is core-only. No framework adapter package ships for assistant-action-bar yet — mount it through the vanilla API above.