Skip to content
API reference

http

Import
import * as api from "@fungi.computer/shiitake/http";
Kind Export Description
type alias ShiitakeSessionResolver Resolve one addressed Session for Shiitake’s HTTP transport.
constant CommandAuthorSchema Host-supplied attribution, carried beside the exact provider message.
function createShiitakeHttpRoutes() Build Shiitake’s typed HTTP routes around an existing Session owner.

ShiitakeSessionResolvertype alias

Section titled “ShiitakeSessionResolver”
Signature
type ShiitakeSessionResolver = (
sessionId,
) => Promise<ShiitakeSession> | ShiitakeSession;

Resolve one addressed Session for Shiitake’s HTTP transport.

Parameter Type
sessionId string

| Promise<ShiitakeSession> | ShiitakeSession

CommandAuthorSchemaconstant

Section titled “CommandAuthorSchema”
Signature
const CommandAuthorSchema: Struct<{
id: String;
name: String;
}>;

Host-supplied attribution, carried beside the exact provider message.

createShiitakeHttpRoutes()function

Section titled “createShiitakeHttpRoutes()”
Signature
function createShiitakeHttpRoutes(
resolveSession,
listSessions,
createSession,
deleteSession,
resolveExtensions,
): Hono<
BlankEnv,
object &
object &
object &
object &
object &
object &
object &
object &
object &
object &
object &
object,
"/",
"/sessions/:sessionId/events"
>;

Build Shiitake’s typed HTTP routes around an existing Session owner.

Parameter Type
resolveSession ShiitakeSessionResolver
listSessions (after?) => Promise<Readonly<{ sessions: readonly SessionSummaryRow[]; next: string | undefined; }>>
createSession (requestId) => Promise<string>
deleteSession (sessionId) => Promise<boolean>
resolveExtensions () => | Readonly<{ list: () => Promise<readonly Readonly<{ id: string; version: string; revision: string; status: "running" | "stopped"; reason: string | null; stoppedAt: number | null; }>[]>; resume: (extensionId) => Promise<Readonly<{ id: string; version: string; revision: string; status: "running" | "stopped"; reason: string | null; stoppedAt: number | null; }>>; call: (extensionId, command, input) => Promise<Json>; }> | Promise<Readonly<{ list: () => Promise<readonly Readonly<{ id: string; version: string; revision: string; status: … | …; reason: … | …; stoppedAt: … | …; }>[]>; resume: (extensionId) => Promise<Readonly<{ id: string; version: string; revision: string; status: "running" | "stopped"; reason: string | null; stoppedAt: number | null; }>>; call: (extensionId, command, input) => Promise<Json>; }>>

Hono<BlankEnv, object & object & object & object & object & object & object & object & object & object & object & object, "/", "/sessions/:sessionId/events">