Skip to content

Browser console — Reference

⚠️ Frontend removed (#346). The web UI no longer calls these endpoints — the Sessions/Assistant page is the sole assistant entry point now. This backend contract is kept for reference in case any other caller is found later; it is not linked from the app anymore.

Terse reference for the conversational browser-console facade. For implementation details see the deep dive; for operator flow see the experience guide.

Routes

Method & pathBodyReturnsNotes
POST /api/console/turnConsoleTurnRequestConsoleTurnResponsePrimary natural-language console endpoint.
POST /api/console/messagesConsoleTurnRequestConsoleTurnResponseAlias wired to the same handler.

Source: apps/Agentweaver.Api/Endpoints/ConsoleEndpoints.cs:63.

ConsoleTurnRequest

Defined in apps/Agentweaver.Api/Contracts/Dtos.cs:903.

FieldTypeMeaning
textstring | nullUser text. Either text or message must be non-empty.
messagestring | nullAlias used by the browser submit path.
contextConsoleTurnContext | nullRoute-derived scope, project, run, and route.
project_idstring | nullTop-level project fallback when context.project_id is absent.
run_idstring | nullTop-level run fallback when context.run_id is absent.
routestring | nullTop-level route fallback.
conversation_idstring | nullReuses an existing console conversation; blank creates a new id.
confirmation_tokenstring | nullReserved field; the current backend does not use it for execution.

ConsoleTurnContext has scope, project_id, run_id, and route (Dtos.cs:915).

ConsoleTurnResponse

Defined in apps/Agentweaver.Api/Contracts/Dtos.cs:923.

FieldTypeMeaning
conversation_idstring | nullConversation id to send on the next turn.
rolestringDefaults to assistant.
statusstring | nullcompleted, needs_clarification, needs_confirmation, or blocked from the response kind.
kindstringanswer, clarification, gate_required, or error-style kind.
messagestringPrimary display text.
actionstring | nullGate/action name when present.
toolsConsoleToolSummary[] | nullTool labels, statuses, and details for display.
tool_callsConsoleToolCall[] | nullNormalized tool-call summaries.
linksConsoleLink[] | nullRouter links or external hrefs.
gateConsoleGate | nullExplicit gate description; console does not bypass gates.
project_id / run_idstring | nullBound ids after the turn.
message_chunksConsoleMessageChunk[] | nullCurrent response always includes one chunk with the message.
eventsConsoleTurnEvent[] | nullCurrent response includes a message event.
action_summariesConsoleActionSummary[] | nullAction names, statuses, target type/id, label, and detail.
clarificationsConsoleClarification[] | nullRequired clarification prompts and options.
errorsConsoleError[] | nullError code/message list.
actionable_stateConsoleActionableState | nullReturned project/run/route, pending gate, and suggested commands.

Routing behavior

Input categoryResponse behaviorSource
Empty text/message400 text_requiredConsoleTurnService.cs:61
Invalid project id or run id400 invalid_project_id / 400 invalid_run_idConsoleTurnService.cs:158, :174
Missing project/run404 project_not_found / 404 run_not_foundConsoleTurnService.cs:162, :178
Caller does not own project/run403 forbiddenConsoleTurnService.cs:165, :181
Supplied run belongs to another project409 context_mismatchConsoleTurnService.cs:77
Gate words (confirm, approve, merge, review)gate_required, with gate kind assembly_review, review_merge, or outcome_spec_confirmationConsoleTurnService.cs:315
Destructive words (delete, remove, archive, cancel, stop)gate_required with destructive_actionConsoleTurnService.cs:354
Read-only status/list/show questionsMAF facade with safe read-only toolsConsoleTurnService.cs:105; ConsoleFacadeAgent.cs:269
Prose while a run is boundCoordinator steering kind=sendConsoleTurnService.cs:278

Safe facade tools

The facade tool list is read-only/status-oriented: project_list, project_get, project_list_runs, backlog_get_board, run_status, coordinator_work_plan_get, coordinator_children_get, orchestration_topology, list_blueprints, catalog_list_roles, workflows_list, decision_list, decision_inbox_list, and memory_list (packages/Agentweaver.AgentRuntime/ConsoleFacadeAgent.cs:269).

Provider error status codes

Failure kindHTTP statusNotes
Authorization401Missing/invalid Copilot-entitled user token.
RateLimited429Provider limit; retryable.
Configuration503Model/runtime/configuration unavailable.
ProviderUnavailable503Transient provider health or model-list failure.

Source: apps/Agentweaver.Api/Endpoints/ConsoleEndpoints.cs:70; classifier: packages/Agentweaver.AgentRuntime/Providers/AgentProviderException.cs:41.

See also