ExperimentalOptional Readonly ExperimentalauthOptional Readonly ExperimentalbaseBase of the honua-server API — the session calls ${baseUrl}/v1/studio/ai/* and ${baseUrl}/mcp.
Optional Readonly ExperimentaldisableSkips tools/list discovery entirely. The session then advertises and
routes only its runtime-kit tools. Use for a host with no MCP endpoint.
Optional Readonly ExperimentaldraftComposition draft honua_studio_* tools mutate.
Optional ReadonlyexecuteExplicit executor, when not supplying a kit.
Optional ReadonlyfetchOverride for tests. Defaults to globalThis.fetch.
Optionalinit: RequestInitOptionalinit: RequestInitOptional Readonly ExperimentalkitThe local runtime tool plane.
Optional Readonly ExperimentalmaxOptional Readonly ExperimentalmaxAssistant rounds per chat() before the loop stops asking.
Optional Readonly ExperimentalmcpReplaces the MCP client used for composition-tool routing.
Optional Readonly ExperimentalmodelOptional ReadonlyonObserves every streamed event and every tool dispatch. Never throws into the loop.
Optional Readonly ExperimentalproviderOptional Readonly ExperimentalstudioWhich server-advertised Studio descriptors this session may route and
advertise. Defaults approve the canonical server family in every view, keep
the allowlist empty, and use the deprecated
HONUA_STUDIO_MCP_TOOL_NAMES table as the migration-diagnostic
required baseline. See ./tool-catalog.ts.
Optional Readonly ExperimentalsystemSystem prompt. A function is awaited once per chat() call, so a kit's
systemPrompt() re-reads live map context on every turn.
Optional Readonly ExperimentaltemperatureOptional Readonly ExperimentaltoolOptional Readonly ExperimentaltoolWall-clock bound on one tools/list discovery pass (handshake plus every
page). An MCP endpoint that accepts the request and never answers would
otherwise hold every chat() open forever, since fetch has no deadline
of its own. On expiry the pass fails like any other discovery failure: the
turn degrades to runtime-kit tools, the reason is reported on
StudioAgentSession.toolDiscovery, and the next turn retries.
0 disables the bound.
Optional Readonly ExperimentaltoolBackoff, budget, and observer overrides for the
watchToolListChanged subscription. The session supplies
onNotification itself; everything else is passed through.
Optional Readonly ExperimentaltoolsExplicit tool definitions, when not supplying a kit. Merged with the kit's tools when both are present.
Optional Readonly ExperimentaltransportReplaces the SSE transport. Supply a scripted transport to drive a session with no model.
Optional Readonly ExperimentalwatchSubscribes to the server's GET /mcp notification stream after the first
successful discovery pass and re-runs discovery on every
notifications/tools/list_changed, so a catalog the server changes
mid-session does not go stale until the next reconnect().
Off by default: opening a second long-lived HTTP request is a network
behavior change no existing consumer asked for, and a server that offers
no such stream would be probed for nothing. When the server declines the
channel (405/501) the subscription ends unsupported and the session
carries on exactly as it does today.
Bearer-token source. The model's own credentials never leave the server.