UNPKG

configure

Version:

Identity layer SDK for AI agents

151 lines (149 loc) 5.68 kB
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 };