SDKReferenceSDK API
TypeScript API
Core TypeScript SDK operations and stream signatures.
Generated from the SoulFire SDK source. Each signature links to the same source revision.
The SoulFire factory connects a scoped SoulFireClient. Network operations return Effect values or streams. See TypeScript setup for connection and layer examples.
Connect and select bots
Use the root client to connect, select an instance, and close the connection.
SoulFireClient
connect
public static connect(
options: SoulFireOptions,
): Effect.Effect<SoulFireClient, SoulFireConnectionError, Scope.Scope>unauthenticated
public static unauthenticated(
options: SoulFireOptions,
): Effect.Effect<SoulFireClient, SoulFireConnectionError, Scope.Scope>instance
public instance(instanceId: string): SoulFireInstanceinstances
public instances(
options?: CallOptions,
): Effect.Effect<InstanceListResponse_Instance[], SoulFireOperationError>close
public close(): Effect.Effect<void>SoulFireInstance
bot
public bot(botId: string): SoulFireBotbots
public bots(
options?: CallOptions,
): Effect.Effect<BotListEntry[], SoulFireOperationError>events
public events(
filter: MessageInitShape<
typeof InstanceEventFilterSchema
> = DEFAULT_INSTANCE_EVENT_FILTER,
options?: CallOptions,
): Stream.Stream<InstanceEvent, SoulFireOperationError>start
public start(
selection?: BotSelection,
options?: CallOptions,
): Effect.Effect<BotStatus[], SoulFireOperationError>stop
public stop(
selection?: BotSelection,
options?: CallOptions,
): Effect.Effect<BotStatus[], SoulFireOperationError>Control a bot
Bot methods handle one action. Use the linked guides for stream and task lifecycles.
SoulFireBot
start
public start(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>stop
public stop(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>status
public status(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>events
public events(
filter: MessageInitShape<
typeof BotEventFilterSchema
> = DEFAULT_EVENT_FILTER,
options?: CallOptions,
): Stream.Stream<BotEvent, SoulFireOperationError>observe
public observe(
options?: BotSessionOptions,
): Effect.Effect<BotSession, SoulFireOperationError, Scope.Scope>waitForOnline
public waitForOnline(options?: {
call?: CallOptions;
}): Effect.Effect<BotStatus, SoulFireOperationError>SoulFireChat
send
public send(
message: string,
options: ChatMutationOptions = {},
): Effect.Effect<BotActionResult, SoulFireOperationError>command
public command(
command: string,
options: ChatMutationOptions = {},
): Effect.Effect<BotActionResult, SoulFireOperationError>watch
public watch(
matcher: ChatMatcher,
options: WatchChatOptions = {},
): Stream.Stream<ChatMatch, SoulFireOperationError>waitFor
public waitFor(
matcher: ChatMatcher,
options: WaitForChatOptions = {},
): Effect.Effect<ChatMatch, SoulFireOperationError>Run durable tasks
Task handles survive SDK disconnects. Read their state or resume them by ID.
SoulFireTasks
goTo
public goTo(
goal: PathfindGoal,
options: GoToTaskOptions = {},
): Effect.Effect<
SoulFireTask<typeof GoToTaskResultSchema>,
SoulFireOperationError
>followEntity
public followEntity(
target: FollowEntityTarget,
distance = 3,
options: FollowEntityTaskOptions = {},
): Effect.Effect<
SoulFireTask<typeof FollowEntityTaskResultSchema>,
SoulFireOperationError
>collectBlocks
public collectBlocks(
blockIds: readonly string[],
options: CollectBlocksTaskOptions = {},
): Effect.Effect<
SoulFireTask<typeof CollectBlocksTaskResultSchema>,
SoulFireOperationError
>stash
public stash(
container: MessageInitShape<typeof BlockPositionSchema>,
operations: readonly ContainerTransferSpec[],
options: ContainerTransferTaskOptions = {},
): Effect.Effect<
SoulFireTask<typeof ContainerTransferTaskResultSchema>,
SoulFireOperationError
>get
public get<Result extends DescMessage | undefined = undefined>(
taskId: string,
resultSchema?: Result,
options?: CallOptions,
): Effect.Effect<SoulFireTask<Result>, SoulFireOperationError>list
public list(
options: TaskListOptions = {},
): Effect.Effect<BotTask[], SoulFireOperationError>watch
public watch(options?: {
afterSequence?: bigint;
includeSnapshot?: boolean;
statuses?: readonly BotTaskStatus[];
call?: CallOptions;
}): Stream.Stream<BotTaskEvent, SoulFireOperationError>SoulFireTask
refresh
public refresh(
options?: CallOptions,
): Effect.Effect<BotTask, SoulFireOperationError>events
public events(options?: {
afterRevision?: bigint;
call?: CallOptions;
}): Stream.Stream<BotTaskEvent, SoulFireOperationError>wait
public wait(options?: {
call?: CallOptions;
}): Effect.Effect<BotTask, SoulFireOperationError>cancel
public cancel(
reason = "",
options?: CallOptions,
): Effect.Effect<BotTask, SoulFireOperationError>result
public result(options?: {
call?: CallOptions;
}): Effect.Effect<
Result extends DescMessage ? MessageShape<Result> : BotTask,
SoulFireOperationError
>How is this page?
Last updated on
