Skip to content

BlockSuite API Documentation / @blocksuite/presets / AIProvider

Class: AIProvider

AI provider for the block suite

To use it, downstream (affine) has to provide AI actions implementation, user info etc

todo: breakdown into different parts?

Constructors

new AIProvider(undefined)

new AIProvider(): AIProvider

Returns

AIProvider

Properties

actions

private readonly actions: Partial<AIActions> = {}

Source

packages/presets/src/ai/provider.ts:21


histories

private histories: null | AIHistoryService = null

Source

packages/presets/src/ai/provider.ts:25


photoEngine

private photoEngine: null | AIPhotoEngineService = null

Source

packages/presets/src/ai/provider.ts:24


slots

private readonly slots: object

requestContinueInChat

requestContinueInChat: Slot<object>

Type declaration
host

host: EditorHost

show

show: boolean

requestLogin

requestLogin: Slot<object>

Type declaration
host

host: EditorHost

requestUpgradePlan

requestUpgradePlan: Slot<object>

Type declaration
host

host: EditorHost

Source

packages/presets/src/ai/provider.ts:26


userInfoFn()

private userInfoFn: () => null | AIUserInfo | Promise<AIUserInfo>

Returns

null | AIUserInfo | Promise<AIUserInfo>

Source

packages/presets/src/ai/provider.ts:22


instance

private static readonly instance: AIProvider

Source

packages/presets/src/ai/provider.ts:20

Accessors

actions

get static actions(): Partial<AIActions>

Returns

Partial<AIActions>

Source

packages/presets/src/ai/provider.ts:90


histories

get static histories(): null | AIHistoryService

Returns

null | AIHistoryService

Source

packages/presets/src/ai/provider.ts:102


photoEngine

get static photoEngine(): null | AIPhotoEngineService

Returns

null | AIPhotoEngineService

Source

packages/presets/src/ai/provider.ts:98


slots

get static slots(): object

Returns

object

requestContinueInChat

requestContinueInChat: Slot<object>

Type declaration
host

host: EditorHost

show

show: boolean

requestLogin

requestLogin: Slot<object>

Type declaration
host

host: EditorHost

requestUpgradePlan

requestUpgradePlan: Slot<object>

Type declaration
host

host: EditorHost

Source

packages/presets/src/ai/provider.ts:86


userInfo

get static userInfo(): null | AIUserInfo | Promise<AIUserInfo>

Returns

null | AIUserInfo | Promise<AIUserInfo>

Source

packages/presets/src/ai/provider.ts:94

Methods

provideAction()

private provideAction<T>(id, action): void

Type parameters

T extends keyof AIActions

Parameters

id: T

action

Returns

void

Source

packages/presets/src/ai/provider.ts:73


provide()

provide(id, fn)

static provide(id, fn): void

Parameters

id: "userInfo"

fn

Returns

void

Source

packages/presets/src/ai/provider.ts:35

provide(id, service)

static provide(id, service): void

Parameters

id: "histories"

service: AIHistoryService

Returns

void

Source

packages/presets/src/ai/provider.ts:40

provide(id, engine)

static provide(id, engine): void

Parameters

id: "photoEngine"

engine: AIPhotoEngineService

Returns

void

Source

packages/presets/src/ai/provider.ts:45

provide(id, action)

static provide<T>(id, action): void

Type parameters

T extends keyof AIActions

Parameters

id: T

action

Returns

void

Source

packages/presets/src/ai/provider.ts:51