Creates a new session in this frontend and sends the initial prompt, if one is given.
The created session becomes the frontend's active session. The request's workspace is
ignored; routing to a matching frontend is the backend's responsibility.
Returns the detail of the given session, or undefined if the session is unknown to this
frontend. For persisted sessions that are not restored, the detail carries no messages.
Returns summaries of all sessions known to this frontend: sessions restored in memory
as well as persisted sessions that have not been restored (reported with their
persisted metadata and restored: false).
Returns the summary of the given session, or undefined if the session is unknown to this
frontend. Used to pick the frontend a session action is routed to, so it must stay cheap:
unlike getSession it does not carry the conversation.
Returns the URI of the workspace this frontend has opened, or undefined if none.
Restores the given session if necessary and shows it in this frontend's chat view.
Returns false if the session is unknown to this frontend.
Restores the given session in this frontend without focusing it. Returns the detail of
the restored session, or undefined if the session is unknown to this frontend.
Sends a prompt to the given session, restoring it first if necessary. Returns undefined
if the session is unknown to this frontend.
Provides chat session information and session actions for the external API.
Implemented by each frontend and registered with the backend over RPC. The backend queries the registered providers on demand when external clients call the HTTP API.