SoulFire LogoSoulFire
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>

Source

unauthenticated

public static unauthenticated(
  options: SoulFireOptions,
): Effect.Effect<SoulFireClient, SoulFireConnectionError, Scope.Scope>

Source

instance

public instance(instanceId: string): SoulFireInstance

Source

instances

public instances(
  options?: CallOptions,
): Effect.Effect<InstanceListResponse_Instance[], SoulFireOperationError>

Source

close

public close(): Effect.Effect<void>

Source

SoulFireInstance

bot

public bot(botId: string): SoulFireBot

Source

bots

public bots(
  options?: CallOptions,
): Effect.Effect<BotListEntry[], SoulFireOperationError>

Source

events

public events(
  filter: MessageInitShape<
    typeof InstanceEventFilterSchema
  > = DEFAULT_INSTANCE_EVENT_FILTER,
  options?: CallOptions,
): Stream.Stream<InstanceEvent, SoulFireOperationError>

Source

start

public start(
  selection?: BotSelection,
  options?: CallOptions,
): Effect.Effect<BotStatus[], SoulFireOperationError>

Source

stop

public stop(
  selection?: BotSelection,
  options?: CallOptions,
): Effect.Effect<BotStatus[], SoulFireOperationError>

Source

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>

Source

stop

public stop(
  options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>

Source

status

public status(
  options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>

Source

events

public events(
  filter: MessageInitShape<
    typeof BotEventFilterSchema
  > = DEFAULT_EVENT_FILTER,
  options?: CallOptions,
): Stream.Stream<BotEvent, SoulFireOperationError>

Source

observe

public observe(
  options?: BotSessionOptions,
): Effect.Effect<BotSession, SoulFireOperationError, Scope.Scope>

Source

waitForOnline

public waitForOnline(options?: {
  call?: CallOptions;
}): Effect.Effect<BotStatus, SoulFireOperationError>

Source

SoulFireChat

send

public send(
  message: string,
  options: ChatMutationOptions = {},
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

command

public command(
  command: string,
  options: ChatMutationOptions = {},
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

watch

public watch(
  matcher: ChatMatcher,
  options: WatchChatOptions = {},
): Stream.Stream<ChatMatch, SoulFireOperationError>

Source

waitFor

public waitFor(
  matcher: ChatMatcher,
  options: WaitForChatOptions = {},
): Effect.Effect<ChatMatch, SoulFireOperationError>

Source

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
>

Source

followEntity

public followEntity(
  target: FollowEntityTarget,
  distance = 3,
  options: FollowEntityTaskOptions = {},
): Effect.Effect<
  SoulFireTask<typeof FollowEntityTaskResultSchema>,
  SoulFireOperationError
>

Source

collectBlocks

public collectBlocks(
  blockIds: readonly string[],
  options: CollectBlocksTaskOptions = {},
): Effect.Effect<
  SoulFireTask<typeof CollectBlocksTaskResultSchema>,
  SoulFireOperationError
>

Source

stash

public stash(
  container: MessageInitShape<typeof BlockPositionSchema>,
  operations: readonly ContainerTransferSpec[],
  options: ContainerTransferTaskOptions = {},
): Effect.Effect<
  SoulFireTask<typeof ContainerTransferTaskResultSchema>,
  SoulFireOperationError
>

Source

get

public get<Result extends DescMessage | undefined = undefined>(
  taskId: string,
  resultSchema?: Result,
  options?: CallOptions,
): Effect.Effect<SoulFireTask<Result>, SoulFireOperationError>

Source

list

public list(
  options: TaskListOptions = {},
): Effect.Effect<BotTask[], SoulFireOperationError>

Source

watch

public watch(options?: {
  afterSequence?: bigint;
  includeSnapshot?: boolean;
  statuses?: readonly BotTaskStatus[];
  call?: CallOptions;
}): Stream.Stream<BotTaskEvent, SoulFireOperationError>

Source

SoulFireTask

refresh

public refresh(
  options?: CallOptions,
): Effect.Effect<BotTask, SoulFireOperationError>

Source

events

public events(options?: {
  afterRevision?: bigint;
  call?: CallOptions;
}): Stream.Stream<BotTaskEvent, SoulFireOperationError>

Source

wait

public wait(options?: {
  call?: CallOptions;
}): Effect.Effect<BotTask, SoulFireOperationError>

Source

cancel

public cancel(
  reason = "",
  options?: CallOptions,
): Effect.Effect<BotTask, SoulFireOperationError>

Source

result

public result(options?: {
  call?: CallOptions;
}): Effect.Effect<
  Result extends DescMessage ? MessageShape<Result> : BotTask,
  SoulFireOperationError
>

Source

How is this page?

Last updated on

On this page