configure
Version:
Identity layer SDK for AI agents
151 lines (149 loc) • 5.68 kB
text/typescript
type ConfigureHostedTheme = "light" | "dark";
type ConfigureHostedPresentation = "inline" | "modal";
type ConfigureHostedMethod = "phone";
type ConfigureHostedSurface = "auth" | "profile" | "connections" | "single_connector" | "access_request" | "memory_import" | "memory_card" | "confirmation" | "tool_approval";
interface ConfigureFrame {
id: string;
iframe: HTMLIFrameElement;
destroy(): void;
close(): void;
refresh(): void;
}
interface ConfigureController {
destroy(): void;
close(): void;
refresh(): void;
}
interface ConfigurePersonalizationEntry extends ConfigureController {
root: HTMLElement;
open(): void;
}
interface ConfigureHostedEvent {
type: string;
frameId?: string;
payload: Record<string, unknown>;
}
interface ConfigureHostedBaseOptions {
el?: string | Element;
publishableKey: string;
agent: string;
baseUrl?: string;
theme?: ConfigureHostedTheme;
presentation?: ConfigureHostedPresentation;
/** Legacy alias for presentation; public docs should use presentation. */
mode?: ConfigureHostedPresentation;
agentName?: string;
/** Legacy alias for agentName; public docs should use agentName. */
displayName?: string;
agentLogo?: string;
font?: string;
onEvent?: (event: ConfigureHostedEvent) => void;
props?: Record<string, unknown>;
}
interface ConfigureHostedSessionOptions extends ConfigureHostedBaseOptions {
token?: string;
userId?: string;
}
interface ConfigureMountOptions extends ConfigureHostedBaseOptions {
surface: ConfigureHostedSurface;
token?: string;
userId?: string;
externalId?: string;
loginHint?: string;
methods?: ConfigureHostedMethod[] | string;
connectors?: string[] | string;
connector?: string;
tool?: string;
tools?: string[] | string;
providers?: string[] | string;
message?: string;
description?: string;
memories?: unknown[];
confirmLabel?: string;
cancelLabel?: string;
params?: Record<string, unknown>;
actionId?: string;
timeoutSeconds?: number;
maxVisible?: number;
showSettings?: boolean;
showActions?: boolean;
}
interface ConfigureLinkOptions extends ConfigureHostedBaseOptions {
externalId?: string;
loginHint?: string;
methods?: ConfigureHostedMethod[] | string;
token?: string;
userId?: string;
connectors?: string[] | string;
tools?: string[] | string;
}
interface ConfigureProfileEditorOptions extends ConfigureHostedSessionOptions {
}
interface ConfigureConnectionsOptions extends ConfigureHostedSessionOptions {
connectors?: string[] | string;
tools?: string[] | string;
}
interface ConfigureSingleConnectorOptions extends ConfigureHostedSessionOptions {
connector?: string;
tool?: string;
}
interface ConfigureAccessRequestOptions extends ConfigureHostedSessionOptions {
connector?: string;
tool?: string;
message?: string;
description?: string;
}
interface ConfigureMemoryImportOptions extends ConfigureHostedSessionOptions {
providers?: string[] | string;
}
interface ConfigureMemoryCardOptions extends ConfigureHostedBaseOptions {
memories: unknown[];
maxVisible?: number;
showSettings?: boolean;
showActions?: boolean;
}
interface ConfigureConfirmationOptions extends ConfigureHostedBaseOptions {
message: string;
confirmLabel?: string;
cancelLabel?: string;
}
interface ConfigureToolApprovalOptions extends ConfigureHostedBaseOptions {
tool: string;
params?: Record<string, unknown>;
actionId?: string;
timeoutSeconds?: number;
}
interface ConfigurePersonalizationButtonOptions extends ConfigureHostedBaseOptions {
token?: string;
userId?: string;
externalId?: string;
connectors?: string[] | string;
tools?: string[] | string;
placeholder?: string;
personalizationLabel?: string;
imageLabel?: string;
fileLabel?: string;
showImages?: boolean;
showFiles?: boolean;
onImage?: () => void;
onFile?: () => void;
}
interface ConfigureWindow {
mount(options: ConfigureMountOptions): ConfigureFrame | null;
link(options: ConfigureLinkOptions): ConfigureFrame | null;
profileEditor(options: ConfigureProfileEditorOptions): ConfigureFrame | null;
connections(options: ConfigureConnectionsOptions): ConfigureFrame | null;
singleConnector(options: ConfigureSingleConnectorOptions): ConfigureFrame | null;
accessRequest(options: ConfigureAccessRequestOptions): ConfigureFrame | null;
memoryImport(options: ConfigureMemoryImportOptions): ConfigureFrame | null;
memoryCard(options: ConfigureMemoryCardOptions): ConfigureFrame | null;
confirmation(options: ConfigureConfirmationOptions): ConfigureFrame | null;
toolApproval(options: ConfigureToolApprovalOptions): ConfigureFrame | null;
personalizationButton(options: ConfigurePersonalizationButtonOptions): ConfigurePersonalizationEntry | ConfigureController | null;
}
declare global {
interface Window {
Configure?: ConfigureWindow;
}
}
export type { ConfigureAccessRequestOptions, ConfigureConfirmationOptions, ConfigureConnectionsOptions, ConfigureController, ConfigureFrame, ConfigureHostedBaseOptions, ConfigureHostedEvent, ConfigureHostedMethod, ConfigureHostedPresentation, ConfigureHostedSessionOptions, ConfigureHostedSurface, ConfigureHostedTheme, ConfigureLinkOptions, ConfigureMemoryCardOptions, ConfigureMemoryImportOptions, ConfigureMountOptions, ConfigurePersonalizationButtonOptions, ConfigurePersonalizationEntry, ConfigureProfileEditorOptions, ConfigureSingleConnectorOptions, ConfigureToolApprovalOptions, ConfigureWindow };