DocsAPI referenceHeadlesstool-ui-resolver

tool-ui-resolver 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.

@grassroot/ui-headless-core/tool-ui-resolver

Core connector and vanilla API

18 exports
View source packages/ui-headless/core/src/tool-ui-resolver.ts
DeclarationView source
AssistantDataUIRegistrationts
type AssistantDataUIRegistration<T = unknown> = {
readonly name: string;
readonly render: T;
};
Name
Kind
Type
Requirement
name
property
string
required
render
property
T
required
Name
name
Kind
property
Type
string
Requirement
required
Name
render
Kind
property
Type
T
Requirement
required
DeclarationView source
AssistantToolUIRegistrationts
type AssistantToolUIRegistration<T = unknown> = {
readonly name?: string;
readonly render?: T;
readonly renderText?: (value: unknown) => string | null;
};
Name
Kind
Type
Requirement
name
property
string
optional
render
property
T
optional
renderText
property
(value: unknown) => string | null
optional
Name
name
Kind
property
Type
string
Requirement
optional
Name
render
Kind
property
Type
T
Requirement
optional
Name
renderText
Kind
property
Type
(value: unknown) => string | null
Requirement
optional
DeclarationView source
createToolUIResolverts
export declare const createToolUIResolver: <TResult = unknown, TPart = unknown>(defaults?: Omit<ToolUIResolverOptions<TResult, TPart>, "part" | "toolName" | "name">) => {
resolve: (options: Pick<ToolUIResolverOptions<TResult, TPart>, "part" | "toolName" | "name">) => string | TResult | null;
};
Name
Kind
Type
Requirement
defaults
parameter
Omit<ToolUIResolverOptions<TResult, TPart>, "part" | "toolName" | "name">
optional
return
return value
{ resolve: (options: Pick<ToolUIResolverOptions<TResult, TPart>, "part" | "toolName" | "name">) => string | TResult | null; }
n/a
Name
defaults
Kind
parameter
Type
Omit<ToolUIResolverOptions<TResult, TPart>, "part" | "toolName" | "name">
Requirement
optional
Name
return
Kind
return value
Type
{ resolve: (options: Pick<ToolUIResolverOptions<TResult, TPart>, "part" | "toolName" | "name">) => string | TResult | null; }
Requirement
n/a
DeclarationView source
DataRenderContextts
type DataRenderContext<TData = unknown> = {
readonly name: string;
readonly data: TData;
};
Name
Kind
Type
Requirement
data
property
TData
required
name
property
string
required
Name
data
Kind
property
Type
TData
Requirement
required
Name
name
Kind
property
Type
string
Requirement
required
DeclarationView source
DataRendererts
type DataRenderer<TResult, TData = unknown> = TResult | null | undefined | ((context: DataRenderContext<TData>) => unknown);
DeclarationView source
DataUIResolverOptionsts
type DataUIResolverOptions<TResult = unknown, TData = unknown> = {
readonly name: string;
readonly data: TData;
readonly by_name?: Readonly<Record<string, DataRenderer<TResult, TData>>>;
readonly byName?: Readonly<Record<string, DataRenderer<TResult, TData>>>;
readonly Fallback?: DataRenderer<TResult, TData>;
readonly fallback?: DataRenderer<TResult, TData>;
};
Name
Kind
Type
Requirement
by_name
property
Readonly<Record<string, DataRenderer<TResult, TData>>>
optional
byName
property
Readonly<Record<string, DataRenderer<TResult, TData>>>
optional
data
property
TData
required
fallback
property
DataRenderer<TResult, TData>
optional
Fallback
property
DataRenderer<TResult, TData>
optional
name
property
string
required
Name
by_name
Kind
property
Type
Readonly<Record<string, DataRenderer<TResult, TData>>>
Requirement
optional
Name
byName
Kind
property
Type
Readonly<Record<string, DataRenderer<TResult, TData>>>
Requirement
optional
Name
data
Kind
property
Type
TData
Requirement
required
Name
fallback
Kind
property
Type
DataRenderer<TResult, TData>
Requirement
optional
Name
Fallback
Kind
property
Type
DataRenderer<TResult, TData>
Requirement
optional
Name
name
Kind
property
Type
string
Requirement
required
DeclarationView source
makeAssistantDataUIts
export declare const makeAssistantDataUI: <T extends {
readonly name: string;
}>(definition: T) => T;
Name
Kind
Type
Requirement
definition
parameter
T
required
return
return value
T
n/a
Name
definition
Kind
parameter
Type
T
Requirement
required
Name
return
Kind
return value
Type
T
Requirement
n/a
DeclarationView source
makeAssistantToolts
export declare const makeAssistantTool: <T>(definition: T) => T;
Name
Kind
Type
Requirement
definition
parameter
T
required
return
return value
T
n/a
Name
definition
Kind
parameter
Type
T
Requirement
required
Name
return
Kind
return value
Type
T
Requirement
n/a
DeclarationView source
makeAssistantToolUIts
export declare const makeAssistantToolUI: <T extends AssistantToolUIRegistration>(definition: T) => T;
Name
Kind
Type
Requirement
definition
parameter
T
required
return
return value
T
n/a
Name
definition
Kind
parameter
Type
T
Requirement
required
Name
return
Kind
return value
Type
T
Requirement
n/a

resolveDataUI

function
DeclarationView source
resolveDataUIts
declare function resolveDataUI<TResult = unknown, TData = unknown>(options: DataUIResolverOptions<TResult, TData>): TResult | null;
Name
Kind
Type
Requirement
options
parameter
DataUIResolverOptions<TResult, TData>
required
return
return value
TResult | null
n/a
Name
options
Kind
parameter
Type
DataUIResolverOptions<TResult, TData>
Requirement
required
Name
return
Kind
return value
Type
TResult | null
Requirement
n/a

resolveToolUI

function
DeclarationView source
resolveToolUIts
declare function resolveToolUI<TResult = unknown, TPart = unknown>(options: ToolUIResolverOptions<TResult, TPart>): TResult | string | null;
Name
Kind
Type
Requirement
options
parameter
ToolUIResolverOptions<TResult, TPart>
required
return
return value
TResult | string | null
n/a
Name
options
Kind
parameter
Type
ToolUIResolverOptions<TResult, TPart>
Requirement
required
Name
return
Kind
return value
Type
TResult | string | null
Requirement
n/a
DeclarationView source
ToolRenderContextts
type ToolRenderContext<TPart = unknown> = {
readonly part: TPart;
readonly toolName: string;
readonly args: unknown;
};
Name
Kind
Type
Requirement
args
property
unknown
required
part
property
TPart
required
toolName
property
string
required
Name
args
Kind
property
Type
unknown
Requirement
required
Name
part
Kind
property
Type
TPart
Requirement
required
Name
toolName
Kind
property
Type
string
Requirement
required
DeclarationView source
ToolRendererts
type ToolRenderer<TResult, TPart = unknown> = TResult | null | undefined | ((context: ToolRenderContext<TPart>) => unknown);
DeclarationView source
ToolUIResolverOptionsts
type ToolUIResolverOptions<TResult = unknown, TPart = unknown> = {
readonly part?: TPart;
readonly toolName?: string;
readonly name?: string;
readonly by_name?: Readonly<Record<string, ToolRenderer<TResult, TPart>>>;
readonly byName?: Readonly<Record<string, ToolRenderer<TResult, TPart>>>;
readonly toolkit?: {
readonly render?: ToolRenderer<TResult, TPart>;
readonly renderText?: ToolRenderer<string, TPart>;
};
readonly mcpApp?: ToolRenderer<TResult, TPart>;
readonly mcpAppRenderer?: ToolRenderer<TResult, TPart>;
readonly Fallback?: ToolRenderer<TResult, TPart>;
readonly fallback?: ToolRenderer<TResult, TPart>;
readonly useInlineRender?: boolean;
};
Name
Kind
Type
Requirement
by_name
property
Readonly<Record<string, ToolRenderer<TResult, TPart>>>
optional
byName
property
Readonly<Record<string, ToolRenderer<TResult, TPart>>>
optional
fallback
property
ToolRenderer<TResult, TPart>
optional
Fallback
property
ToolRenderer<TResult, TPart>
optional
mcpApp
property
ToolRenderer<TResult, TPart>
optional
mcpAppRenderer
property
ToolRenderer<TResult, TPart>
optional
name
property
string
optional
part
property
TPart
optional
toolkit
property
{ readonly render?: ToolRenderer<TResult, TPart>; readonly renderText?: ToolRenderer<string, TPart>; }
optional
toolName
property
string
optional
useInlineRender
property
boolean
optional
Name
by_name
Kind
property
Type
Readonly<Record<string, ToolRenderer<TResult, TPart>>>
Requirement
optional
Name
byName
Kind
property
Type
Readonly<Record<string, ToolRenderer<TResult, TPart>>>
Requirement
optional
Name
fallback
Kind
property
Type
ToolRenderer<TResult, TPart>
Requirement
optional
Name
Fallback
Kind
property
Type
ToolRenderer<TResult, TPart>
Requirement
optional
Name
mcpApp
Kind
property
Type
ToolRenderer<TResult, TPart>
Requirement
optional
Name
mcpAppRenderer
Kind
property
Type
ToolRenderer<TResult, TPart>
Requirement
optional
Name
name
Kind
property
Type
string
Requirement
optional
Name
part
Kind
property
Type
TPart
Requirement
optional
Name
toolkit
Kind
property
Type
{ readonly render?: ToolRenderer<TResult, TPart>; readonly renderText?: ToolRenderer<string, TPart>; }
Requirement
optional
Name
toolName
Kind
property
Type
string
Requirement
optional
Name
useInlineRender
Kind
property
Type
boolean
Requirement
optional
DeclarationView source
useAssistantDataUIts
export declare const useAssistantDataUI: <TResult = unknown, TData = unknown>(options: DataUIResolverOptions<TResult, TData>) => TResult | null;
Name
Kind
Type
Requirement
options
parameter
DataUIResolverOptions<TResult, TData>
required
return
return value
TResult | null
n/a
Name
options
Kind
parameter
Type
DataUIResolverOptions<TResult, TData>
Requirement
required
Name
return
Kind
return value
Type
TResult | null
Requirement
n/a
DeclarationView source
useAssistantToolts
export declare const useAssistantTool: <T>(definition: T) => T;
Name
Kind
Type
Requirement
definition
parameter
T
required
return
return value
T
n/a
Name
definition
Kind
parameter
Type
T
Requirement
required
Name
return
Kind
return value
Type
T
Requirement
n/a
DeclarationView source
useAssistantToolUIts
export declare const useAssistantToolUI: typeof useInlineRender;
Name
Kind
Type
Requirement
options
parameter
ToolUIResolverOptions<TResult, TPart>
required
return
return value
TResult | string | null
n/a
Name
options
Kind
parameter
Type
ToolUIResolverOptions<TResult, TPart>
Requirement
required
Name
return
Kind
return value
Type
TResult | string | null
Requirement
n/a
DeclarationView source
useInlineRenderts
export declare const useInlineRender: <TResult = unknown, TPart = unknown>(options: ToolUIResolverOptions<TResult, TPart>) => TResult | string | null;
Name
Kind
Type
Requirement
options
parameter
ToolUIResolverOptions<TResult, TPart>
required
return
return value
TResult | string | null
n/a
Name
options
Kind
parameter
Type
ToolUIResolverOptions<TResult, TPart>
Requirement
required
Name
return
Kind
return value
Type
TResult | string | null
Requirement
n/a

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 tool-ui-resolver yet — mount it through the vanilla API above.