API reference
http
Import
Section titled “Import”import * as api from "@fungi.computer/shiitake/http";Exports
Section titled “Exports”| Kind | Export | Description |
|---|---|---|
| type alias | ShiitakeHttpEnv | Hono variables Shiitake’s routes read. Only the host’s own middleware sets
shiitakeMeta; no request body can, because every body schema is closed. |
| type alias | ShiitakeSessionResolver | Resolve one addressed Session for Shiitake’s HTTP transport. meta is what the
host’s middleware attached to this request; a host that attaches none may ignore
it. |
| function | createShiitakeHttpRoutes() | Build Shiitake’s typed HTTP routes around an existing Session owner. |
ShiitakeHttpEnvtype alias
Section titled “ShiitakeHttpEnv”type ShiitakeHttpEnv = object;Hono variables Shiitake’s routes read. Only the host’s own middleware sets
shiitakeMeta; no request body can, because every body schema is closed.
Properties
Section titled “Properties”Variables
Section titled “Variables”Variables: object;shiitakeMeta
Section titled “shiitakeMeta”shiitakeMeta: Json | undefined;Opaque host metadata for prompts and operator lines on this request.
ShiitakeSessionResolvertype alias
Section titled “ShiitakeSessionResolver”type ShiitakeSessionResolver = ( sessionId, meta,) => Promise<ShiitakeSession> | ShiitakeSession;Resolve one addressed Session for Shiitake’s HTTP transport. meta is what the
host’s middleware attached to this request; a host that attaches none may ignore
it.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
sessionId |
string |
meta |
Json | undefined |
Returns
Section titled “Returns”| Promise<ShiitakeSession> |
ShiitakeSession
createShiitakeHttpRoutes()function
Section titled “createShiitakeHttpRoutes()”function createShiitakeHttpRoutes( resolveSession, listSessions, createSession, deleteSession, resolveExtensions,): Hono< ShiitakeHttpEnv, object & object & object & 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.
Parameters
Section titled “Parameters”| 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>; }>> |
Returns
Section titled “Returns”Hono<ShiitakeHttpEnv, object & object & object &
object & object & object & object & object & object & object &
object & object & object & object & object, "/",
"/sessions/:sessionId/events">