Package-level declarations

Types

Link copied to clipboard
interface Tool<Args : ToolArgs>

实现此接口并打上 @AutoService(Tool::class) 来注册成为 agent 的一个工具。

Link copied to clipboard
interface ToolArgs

表示 Tool 的调用参数,应该由插件自动生成。

Functions

Link copied to clipboard
inline fun <T> Ready(serializer: KSerializer<T>, result: T, crossinline request: MutableList<UiBlock>.(reason: String) -> Unit, crossinline executing: MutableList<UiBlock>.() -> Unit, crossinline cancelled: MutableList<UiBlock>.() -> Unit, crossinline rejected: MutableList<UiBlock>.(reason: String?) -> Unit, crossinline failed: MutableList<UiBlock>.(e: Throwable) -> Unit, crossinline timeout: MutableList<UiBlock>.(elapsed: Duration) -> Unit): Tool.ResolveResult.Ready
Link copied to clipboard
Link copied to clipboard
fun <T> String.toolFail(serializer: KSerializer<T>, data: T, presentation: MutableList<UiBlock>.() -> Unit): Tool.ToolOutput
Link copied to clipboard
fun String.toolResult(success: Boolean, presentation: MutableList<UiBlock>.() -> Unit): Tool.ToolOutput
fun <T> String.toolResult(serializer: KSerializer<T>, data: T, success: Boolean, presentation: MutableList<UiBlock>.() -> Unit): Tool.ToolOutput
Link copied to clipboard
fun <T> String.toolSuccess(serializer: KSerializer<T>, data: T, presentation: MutableList<UiBlock>.() -> Unit): Tool.ToolOutput