Skip to main content
Blitz
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

session.proto

Generated from proto/blitz/v1/session.proto by proto-gen-md-diagrams.

Imports

Import Description
blitz/v1/turn.proto
google/protobuf/timestamp.proto

Options

Name Value Description
go_package github.com/retail-cortex/blitz/proto/blitz/v1

blitz.v1 Diagram

classDiagram
direction LR
%% Mermaid Diagram for package: blitz.v1

%% SessionInfo describes a saved session.

class SessionInfo {
  + string id
  + string title
  + string agent
  + string workspace
  + string snapshot
  + string from
  + int32 message_count
  + google.protobuf.Timestamp created
  + google.protobuf.Timestamp updated
  + List~Message~ messages
  + string moved_from
  + int32 moved_at
  + string origin
}
SessionInfo --> `Message`

%% Message is one message in a transcript.

class Message {
  + string role
  + string text
  + google.protobuf.Timestamp time
  + string kind
}

%% Request message for SessionService.ListSessions.

class ListSessionsRequest {
  + string workspace
  + bool all
}

%% Response message for SessionService.ListSessions.

class ListSessionsResponse {
  + List~SessionInfo~ sessions
}
ListSessionsResponse --> `SessionInfo`

%% Request message for SessionService.GetActiveSession.

class GetActiveSessionRequest {
  + string workspace
}

%% Response message for SessionService.GetActiveSession.

class GetActiveSessionResponse {
  + SessionInfo session
}
GetActiveSessionResponse --> `SessionInfo`

%% Request message for SessionService.NewSession.

class NewSessionRequest {
  + string workspace
}

%% Response message for SessionService.NewSession.

class NewSessionResponse {
  + SessionInfo session
}
NewSessionResponse --> `SessionInfo`

%% Request message for SessionService.OpenSession.

class OpenSessionRequest {
  + string workspace
  + string resume
  + bool continue_latest
}

%% Response message for SessionService.OpenSession.

class OpenSessionResponse {
  + SessionInfo session
  + bool resumed
}
OpenSessionResponse --> `SessionInfo`

%% Request message for SessionService.LoadSession.

class LoadSessionRequest {
  + string workspace
  + string ref
}

%% Response message for SessionService.LoadSession.

class LoadSessionResponse {
  + SessionInfo session
  + bool branched
}
LoadSessionResponse --> `SessionInfo`

%% Request message for SessionService.SaveSnapshot.

class SaveSnapshotRequest {
  + string workspace
  + string name
  + bool force
}

%% Response message for SessionService.SaveSnapshot.

class SaveSnapshotResponse {
  + SessionInfo snapshot
}
SaveSnapshotResponse --> `SessionInfo`

%% Request message for SessionService.RenameSession.

class RenameSessionRequest {
  + string workspace
  + string title
}

%% Response message for SessionService.RenameSession.

class RenameSessionResponse {
  + SessionInfo session
}
RenameSessionResponse --> `SessionInfo`

%% Request message for SessionService.DeleteSession.

class DeleteSessionRequest {
  + string workspace
  + string session_id
}

%% Response message for SessionService.DeleteSession.

class DeleteSessionResponse {
}

%% Request message for SessionService.ForkSession.

class ForkSessionRequest {
  + string workspace
  + int32 turn
}

%% Response message for SessionService.ForkSession.

class ForkSessionResponse {
  + SessionInfo session
}
ForkSessionResponse --> `SessionInfo`

%% Request message for SessionService.ExportSession.

class ExportSessionRequest {
  + string workspace
  + string session_id
}

%% Response message for SessionService.ExportSession.

class ExportSessionResponse {
  + string markdown
}

%% Request message for SessionService.MoveSession.

class MoveSessionRequest {
  + string workspace
  + string session_id
}

%% Response message for SessionService.MoveSession.

class MoveSessionResponse {
  + SessionInfo session
}
MoveSessionResponse --> `SessionInfo`

%% Request message for SessionService.RunTurn.

class RunTurnRequest {
  + string workspace
  + string session_id
  + Turn turn
}
RunTurnRequest --> `Turn`

%% Response message for SessionService.RunTurn.

class RunTurnResponse {
  + TurnEvent event
}
RunTurnResponse --> `TurnEvent`

%% Request message for SessionService.Steer.

class SteerRequest {
  + string workspace
  + string session_id
  + string text
}

%% Response message for SessionService.Steer.

class SteerResponse {
}

%% Request message for SessionService.Approve.

class ApproveRequest {
  + string workspace
  + string request_id
  + Decision decision
}
ApproveRequest --> `Decision`

%% Response message for SessionService.Approve.

class ApproveResponse {
}

%% Request message for SessionService.Answer.

class AnswerRequest {
  + string workspace
  + string request_id
  + string answer
}

%% Response message for SessionService.Answer.

class AnswerResponse {
}

%% Request message for SessionService.GetUsage.

class GetUsageRequest {
  + string workspace
  + bool parts
}

%% Response message for SessionService.GetUsage.

class GetUsageResponse {
  + Usage usage
  + bool auto_compact
  + int32 threshold
  + int32 keep
  + List~ContextPart~ parts
}
GetUsageResponse --> `Usage`
GetUsageResponse --> `ContextPart`

%% ContextPart is one category of what a prompt carries.

class ContextPart {
  + string name
  + int64 tokens
}

%% Goal is what a session works toward.

class Goal {
  + string condition
  + int32 continues
  + int32 max
  + string last
}

%% Request message for SessionService.SetGoal.

class SetGoalRequest {
  + string workspace
  + string condition
}

%% Response message for SessionService.SetGoal.

class SetGoalResponse {
  + Goal goal
}
SetGoalResponse --> `Goal`

%% Request message for SessionService.GetGoal.

class GetGoalRequest {
  + string workspace
}

%% Response message for SessionService.GetGoal.

class GetGoalResponse {
  + Goal goal
}
GetGoalResponse --> `Goal`

%% Request message for SessionService.ClearGoal.

class ClearGoalRequest {
  + string workspace
}

%% Response message for SessionService.ClearGoal.

class ClearGoalResponse {
}

%% Request message for SessionService.Compact.

class CompactRequest {
  + string workspace
  + string focus
}

%% Response message for SessionService.Compact.

class CompactResponse {
  + int32 events_compacted
  + int32 summary_chars
  + Usage before
  + Usage after
}
CompactResponse --> `Usage`
CompactResponse --> `Usage`

%% A prompt the conversation can be rewound to: its place in the transcript, its text and time, the files the agent changed from it on, and whether the conversation can go back to it.

class RewindPoint {
  + int32 index
  + string text
  + google.protobuf.Timestamp time
  + List~string~ files
  + bool conversation
}

%% Request message for SessionService.ListRewindPoints.

class ListRewindPointsRequest {
  + string workspace
}

%% Response message for SessionService.ListRewindPoints.

class ListRewindPointsResponse {
  + List~RewindPoint~ points
}
ListRewindPointsResponse --> `RewindPoint`

%% Request message for SessionService.Rewind.

class RewindRequest {
  + string workspace
  + int32 index
  + string mode
  + bool force
}

%% Response message for SessionService.Rewind.

class RewindResponse {
  + string mode
  + List~string~ restored
  + string prompt
  + CompactResponse compacted
}
RewindResponse --> `CompactResponse`

%% Request message for SessionService.SearchSession.

class SearchSessionRequest {
  + string workspace
  + string terms
}

%% Response message for SessionService.SearchSession.

class SearchSessionResponse {
  + int32 found
  + string prompt
}

%% BackgroundRun is a turn the service runs with no client attached.

class BackgroundRun {
  + string id
  + string workspace
  + string session_id
  + string prompt
  + string state
  + google.protobuf.Timestamp started
  + google.protobuf.Timestamp ended
  + double cost_usd
  + int32 waiting
  + string error
  + string workflow_run
}

%% Request message for SessionService.StartBackground.

class StartBackgroundRequest {
  + string workspace
  + Turn turn
}
StartBackgroundRequest --> `Turn`

%% Response message for SessionService.StartBackground.

class StartBackgroundResponse {
  + BackgroundRun run
}
StartBackgroundResponse --> `BackgroundRun`

%% Request message for SessionService.ListBackground.

class ListBackgroundRequest {
}

%% Response message for SessionService.ListBackground.

class ListBackgroundResponse {
  + List~BackgroundRun~ runs
}
ListBackgroundResponse --> `BackgroundRun`

%% Request message for SessionService.WatchBackground.

class WatchBackgroundRequest {
  + string id
  + bool follow
}

%% Response message for SessionService.WatchBackground.

class WatchBackgroundResponse {
  + TurnEvent event
}
WatchBackgroundResponse --> `TurnEvent`

%% Request message for SessionService.StopBackground.

class StopBackgroundRequest {
  + string id
}

%% Response message for SessionService.StopBackground.

class StopBackgroundResponse {
  + BackgroundRun run
}
StopBackgroundResponse --> `BackgroundRun`

%% Request message for SessionService.ListSessionTools.

class ListSessionToolsRequest {
  + string workspace
  + string session_id
}

%% One tool call of a saved session: its call, its result, and the prompt it ran under (turn: the session's n-th prompt, 0 first; prompt: its start).

class SessionTool {
  + int32 turn
  + string prompt
  + ToolCall call
  + ToolResult result
}
SessionTool --> `ToolCall`
SessionTool --> `ToolResult`

%% Response message for SessionService.ListSessionTools.

class ListSessionToolsResponse {
  + List~SessionTool~ tools
}
ListSessionToolsResponse --> `SessionTool`
class SessionService {
  <<service>>
  +ListSessions(ListSessionsRequest) ListSessionsResponse
  +GetActiveSession(GetActiveSessionRequest) GetActiveSessionResponse
  +NewSession(NewSessionRequest) NewSessionResponse
  +OpenSession(OpenSessionRequest) OpenSessionResponse
  +LoadSession(LoadSessionRequest) LoadSessionResponse
  +ListSessionTools(ListSessionToolsRequest) ListSessionToolsResponse
  +SaveSnapshot(SaveSnapshotRequest) SaveSnapshotResponse
  +RenameSession(RenameSessionRequest) RenameSessionResponse
  +DeleteSession(DeleteSessionRequest) DeleteSessionResponse
  +ForkSession(ForkSessionRequest) ForkSessionResponse
  +ExportSession(ExportSessionRequest) ExportSessionResponse
  +MoveSession(MoveSessionRequest) MoveSessionResponse
  +RunTurn(RunTurnRequest) Stream~RunTurnResponse~
  +Steer(SteerRequest) SteerResponse
  +Approve(ApproveRequest) ApproveResponse
  +Answer(AnswerRequest) AnswerResponse
  +GetUsage(GetUsageRequest) GetUsageResponse
  +Compact(CompactRequest) CompactResponse
  +SetGoal(SetGoalRequest) SetGoalResponse
  +GetGoal(GetGoalRequest) GetGoalResponse
  +ClearGoal(ClearGoalRequest) ClearGoalResponse
  +SearchSession(SearchSessionRequest) SearchSessionResponse
  +ListRewindPoints(ListRewindPointsRequest) ListRewindPointsResponse
  +Rewind(RewindRequest) RewindResponse
  +StartBackground(StartBackgroundRequest) StartBackgroundResponse
  +ListBackground(ListBackgroundRequest) ListBackgroundResponse
  +WatchBackground(WatchBackgroundRequest) Stream~WatchBackgroundResponse~
  +StopBackground(StopBackgroundRequest) StopBackgroundResponse
}
SessionService --> `ListSessionsRequest`
SessionService --> `ListSessionsResponse`
SessionService --> `GetActiveSessionRequest`
SessionService --> `GetActiveSessionResponse`
SessionService --> `NewSessionRequest`
SessionService --> `NewSessionResponse`
SessionService --> `OpenSessionRequest`
SessionService --> `OpenSessionResponse`
SessionService --> `LoadSessionRequest`
SessionService --> `LoadSessionResponse`
SessionService --> `ListSessionToolsRequest`
SessionService --> `ListSessionToolsResponse`
SessionService --> `SaveSnapshotRequest`
SessionService --> `SaveSnapshotResponse`
SessionService --> `RenameSessionRequest`
SessionService --> `RenameSessionResponse`
SessionService --> `DeleteSessionRequest`
SessionService --> `DeleteSessionResponse`
SessionService --> `ForkSessionRequest`
SessionService --> `ForkSessionResponse`
SessionService --> `ExportSessionRequest`
SessionService --> `ExportSessionResponse`
SessionService --> `MoveSessionRequest`
SessionService --> `MoveSessionResponse`
SessionService --> `RunTurnRequest`
SessionService --o `RunTurnResponse` : server stream
SessionService --> `SteerRequest`
SessionService --> `SteerResponse`
SessionService --> `ApproveRequest`
SessionService --> `ApproveResponse`
SessionService --> `AnswerRequest`
SessionService --> `AnswerResponse`
SessionService --> `GetUsageRequest`
SessionService --> `GetUsageResponse`
SessionService --> `CompactRequest`
SessionService --> `CompactResponse`
SessionService --> `SetGoalRequest`
SessionService --> `SetGoalResponse`
SessionService --> `GetGoalRequest`
SessionService --> `GetGoalResponse`
SessionService --> `ClearGoalRequest`
SessionService --> `ClearGoalResponse`
SessionService --> `SearchSessionRequest`
SessionService --> `SearchSessionResponse`
SessionService --> `ListRewindPointsRequest`
SessionService --> `ListRewindPointsResponse`
SessionService --> `RewindRequest`
SessionService --> `RewindResponse`
SessionService --> `StartBackgroundRequest`
SessionService --> `StartBackgroundResponse`
SessionService --> `ListBackgroundRequest`
SessionService --> `ListBackgroundResponse`
SessionService --> `WatchBackgroundRequest`
SessionService --o `WatchBackgroundResponse` : server stream
SessionService --> `StopBackgroundRequest`
SessionService --> `StopBackgroundResponse`

Service: SessionService

FQN: blitz.v1
SessionService runs conversations in a workspace: saved sessions, turns, steering, and the answers the agent waits for. Every request names its workspace by absolute directory; the service opens it on first use. Errors carry an ErrorInfo detail.

SessionService Diagram

classDiagram
direction LR
class SessionService {
  <<service>>
  +ListSessions(ListSessionsRequest) ListSessionsResponse
  +GetActiveSession(GetActiveSessionRequest) GetActiveSessionResponse
  +NewSession(NewSessionRequest) NewSessionResponse
  +OpenSession(OpenSessionRequest) OpenSessionResponse
  +LoadSession(LoadSessionRequest) LoadSessionResponse
  +ListSessionTools(ListSessionToolsRequest) ListSessionToolsResponse
  +SaveSnapshot(SaveSnapshotRequest) SaveSnapshotResponse
  +RenameSession(RenameSessionRequest) RenameSessionResponse
  +DeleteSession(DeleteSessionRequest) DeleteSessionResponse
  +ForkSession(ForkSessionRequest) ForkSessionResponse
  +ExportSession(ExportSessionRequest) ExportSessionResponse
  +MoveSession(MoveSessionRequest) MoveSessionResponse
  +RunTurn(RunTurnRequest) Stream~RunTurnResponse~
  +Steer(SteerRequest) SteerResponse
  +Approve(ApproveRequest) ApproveResponse
  +Answer(AnswerRequest) AnswerResponse
  +GetUsage(GetUsageRequest) GetUsageResponse
  +Compact(CompactRequest) CompactResponse
  +SetGoal(SetGoalRequest) SetGoalResponse
  +GetGoal(GetGoalRequest) GetGoalResponse
  +ClearGoal(ClearGoalRequest) ClearGoalResponse
  +SearchSession(SearchSessionRequest) SearchSessionResponse
  +ListRewindPoints(ListRewindPointsRequest) ListRewindPointsResponse
  +Rewind(RewindRequest) RewindResponse
  +StartBackground(StartBackgroundRequest) StartBackgroundResponse
  +ListBackground(ListBackgroundRequest) ListBackgroundResponse
  +WatchBackground(WatchBackgroundRequest) Stream~WatchBackgroundResponse~
  +StopBackground(StopBackgroundRequest) StopBackgroundResponse
}
SessionService --> `ListSessionsRequest`
SessionService --> `ListSessionsResponse`
SessionService --> `GetActiveSessionRequest`
SessionService --> `GetActiveSessionResponse`
SessionService --> `NewSessionRequest`
SessionService --> `NewSessionResponse`
SessionService --> `OpenSessionRequest`
SessionService --> `OpenSessionResponse`
SessionService --> `LoadSessionRequest`
SessionService --> `LoadSessionResponse`
SessionService --> `ListSessionToolsRequest`
SessionService --> `ListSessionToolsResponse`
SessionService --> `SaveSnapshotRequest`
SessionService --> `SaveSnapshotResponse`
SessionService --> `RenameSessionRequest`
SessionService --> `RenameSessionResponse`
SessionService --> `DeleteSessionRequest`
SessionService --> `DeleteSessionResponse`
SessionService --> `ForkSessionRequest`
SessionService --> `ForkSessionResponse`
SessionService --> `ExportSessionRequest`
SessionService --> `ExportSessionResponse`
SessionService --> `MoveSessionRequest`
SessionService --> `MoveSessionResponse`
SessionService --> `RunTurnRequest`
SessionService --o `RunTurnResponse` : server stream
SessionService --> `SteerRequest`
SessionService --> `SteerResponse`
SessionService --> `ApproveRequest`
SessionService --> `ApproveResponse`
SessionService --> `AnswerRequest`
SessionService --> `AnswerResponse`
SessionService --> `GetUsageRequest`
SessionService --> `GetUsageResponse`
SessionService --> `CompactRequest`
SessionService --> `CompactResponse`
SessionService --> `SetGoalRequest`
SessionService --> `SetGoalResponse`
SessionService --> `GetGoalRequest`
SessionService --> `GetGoalResponse`
SessionService --> `ClearGoalRequest`
SessionService --> `ClearGoalResponse`
SessionService --> `SearchSessionRequest`
SessionService --> `SearchSessionResponse`
SessionService --> `ListRewindPointsRequest`
SessionService --> `ListRewindPointsResponse`
SessionService --> `RewindRequest`
SessionService --> `RewindResponse`
SessionService --> `StartBackgroundRequest`
SessionService --> `StartBackgroundResponse`
SessionService --> `ListBackgroundRequest`
SessionService --> `ListBackgroundResponse`
SessionService --> `WatchBackgroundRequest`
SessionService --o `WatchBackgroundResponse` : server stream
SessionService --> `StopBackgroundRequest`
SessionService --> `StopBackgroundResponse`
Method Parameter (In) Parameter (Out) Description
ListSessions ListSessionsRequest ListSessionsResponse Returns the workspace’s sessions (or with all, every saved session), newest first, without their messages.
GetActiveSession GetActiveSessionRequest GetActiveSessionResponse Returns the session prompts go to, with its messages.
NewSession NewSessionRequest NewSessionResponse Starts a new session for the active agent and makes it active. It is named after its first prompt.
OpenSession OpenSessionRequest OpenSessionResponse Opens the session to use at startup: the one resume names (an ID, or a snapshot to start a new session from), the latest in the workspace, or a new one. Fails with RESUME_FAILED when there is nothing to resume.
LoadSession LoadSessionRequest LoadSessionResponse Makes a session active: by ID, or a new session copied from the snapshot a name refers to (branched).
ListSessionTools ListSessionToolsRequest ListSessionToolsResponse The tool calls a saved session made, each with its result and the prompt it ran under, so a reopened chat shows them.
SaveSnapshot SaveSnapshotRequest SaveSnapshotResponse Saves a copy of the active session under a name (SNAPSHOT_NAME_TAKEN unless force).
RenameSession RenameSessionRequest RenameSessionResponse Sets the active session’s title.
DeleteSession DeleteSessionRequest DeleteSessionResponse Deletes a saved session or snapshot, by ID (another workspace’s too): its transcript and history. The workspace’s active session, or one a background run uses, is refused (SESSION_OPEN); an unknown ID is SESSION_NOT_FOUND.
ForkSession ForkSessionRequest ForkSessionResponse Starts a copy of the active session up to and including a prompt turn, in the transcript and the event log, and makes it active (/fork).
ExportSession ExportSessionRequest ExportSessionResponse Returns a session as Markdown, secrets masked (/export).
MoveSession MoveSessionRequest MoveSessionResponse Carries a session into this workspace from the one it was in, and makes it active there (/cd).
RunTurn RunTurnRequest Stream<RunTurnResponse> Runs one turn in a session and streams its events, ending with TurnFinished. Cancelling the call interrupts the turn. While it runs, answer approval requests and questions with Approve and Answer, and send steer messages with Steer.
Steer SteerRequest SteerResponse Queues a message for the agent while a turn runs; it reads it with its next tool result. Fails with PROMPT_BLOCKED if a hook refuses it.
Approve ApproveRequest ApproveResponse Answers an approval request from a running turn.
Answer AnswerRequest AnswerResponse Answers a question from a running turn.
GetUsage GetUsageRequest GetUsageResponse Returns the active session’s usage and context size.
Compact CompactRequest CompactResponse Summarises the active session’s older turns to shrink the model’s context (NOTHING_TO_COMPACT when it is too short).
SetGoal SetGoalRequest SetGoalResponse Gives the active session a goal: after each turn a model judges it, and the agent is sent on until it holds (/goal).
GetGoal GetGoalRequest GetGoalResponse Returns the active session’s goal (NO_GOAL).
ClearGoal ClearGoalRequest ClearGoalResponse Removes the active session’s goal (NO_GOAL).
SearchSession SearchSessionRequest SearchSessionResponse Looks for terms in the active session’s transcript and returns the prompt that asks the agent about the matches (run it as a turn).
ListRewindPoints ListRewindPointsRequest ListRewindPointsResponse Lists the active session’s prompts, which it can be rewound to.
Rewind RewindRequest RewindResponse Takes the active session back to one of its prompts: files, conversation or both, or summarizes either side of it (SESSION_BUSY, NOT_REWIND_POINT, CANT_REWIND_CONVERSATION, UNDO_CONFLICT unless force).
StartBackground StartBackgroundRequest StartBackgroundResponse Background runs (blitz –bg, agents, attach, logs, stop): turns the service runs in sessions of their own, with no client attached. Their approval requests and questions wait until a client watching the run answers them with Approve and Answer. Starts a turn in a new session of the workspace, without making it the active one, and returns at once.
ListBackground ListBackgroundRequest ListBackgroundResponse Returns the service’s background runs in every workspace, newest first: those running or waiting, and the latest that ended.
WatchBackground WatchBackgroundRequest Stream<WatchBackgroundResponse> Streams a background run’s events so far (the requests still waiting among them) and, with follow, those to come, ending with TurnFinished once it has ended (UNKNOWN_RUN).
StopBackground StopBackgroundRequest StopBackgroundResponse Stops a background run (UNKNOWN_RUN).

SessionInfo Diagram

classDiagram
direction LR

%% SessionInfo describes a saved session.

class SessionInfo {
  + string id
  + string title
  + string agent
  + string workspace
  + string snapshot
  + string from
  + int32 message_count
  + google.protobuf.Timestamp created
  + google.protobuf.Timestamp updated
  + List~Message~ messages
  + string moved_from
  + int32 moved_at
  + string origin
}
SessionInfo --> `Message`

Message Diagram

classDiagram
direction LR

%% Message is one message in a transcript.

class Message {
  + string role
  + string text
  + google.protobuf.Timestamp time
  + string kind
}

ListSessionsRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ListSessions.

class ListSessionsRequest {
  + string workspace
  + bool all
}

ListSessionsResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ListSessions.

class ListSessionsResponse {
  + List~SessionInfo~ sessions
}
ListSessionsResponse --> `SessionInfo`

GetActiveSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.GetActiveSession.

class GetActiveSessionRequest {
  + string workspace
}

GetActiveSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.GetActiveSession.

class GetActiveSessionResponse {
  + SessionInfo session
}
GetActiveSessionResponse --> `SessionInfo`

NewSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.NewSession.

class NewSessionRequest {
  + string workspace
}

NewSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.NewSession.

class NewSessionResponse {
  + SessionInfo session
}
NewSessionResponse --> `SessionInfo`

OpenSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.OpenSession.

class OpenSessionRequest {
  + string workspace
  + string resume
  + bool continue_latest
}

OpenSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.OpenSession.

class OpenSessionResponse {
  + SessionInfo session
  + bool resumed
}
OpenSessionResponse --> `SessionInfo`

LoadSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.LoadSession.

class LoadSessionRequest {
  + string workspace
  + string ref
}

LoadSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.LoadSession.

class LoadSessionResponse {
  + SessionInfo session
  + bool branched
}
LoadSessionResponse --> `SessionInfo`

SaveSnapshotRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.SaveSnapshot.

class SaveSnapshotRequest {
  + string workspace
  + string name
  + bool force
}

SaveSnapshotResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.SaveSnapshot.

class SaveSnapshotResponse {
  + SessionInfo snapshot
}
SaveSnapshotResponse --> `SessionInfo`

RenameSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.RenameSession.

class RenameSessionRequest {
  + string workspace
  + string title
}

RenameSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.RenameSession.

class RenameSessionResponse {
  + SessionInfo session
}
RenameSessionResponse --> `SessionInfo`

DeleteSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.DeleteSession.

class DeleteSessionRequest {
  + string workspace
  + string session_id
}

DeleteSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.DeleteSession.

class DeleteSessionResponse {
}

ForkSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ForkSession.

class ForkSessionRequest {
  + string workspace
  + int32 turn
}

ForkSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ForkSession.

class ForkSessionResponse {
  + SessionInfo session
}
ForkSessionResponse --> `SessionInfo`

ExportSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ExportSession.

class ExportSessionRequest {
  + string workspace
  + string session_id
}

ExportSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ExportSession.

class ExportSessionResponse {
  + string markdown
}

MoveSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.MoveSession.

class MoveSessionRequest {
  + string workspace
  + string session_id
}

MoveSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.MoveSession.

class MoveSessionResponse {
  + SessionInfo session
}
MoveSessionResponse --> `SessionInfo`

RunTurnRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.RunTurn.

class RunTurnRequest {
  + string workspace
  + string session_id
  + Turn turn
}
RunTurnRequest --> `Turn`

RunTurnResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.RunTurn.

class RunTurnResponse {
  + TurnEvent event
}
RunTurnResponse --> `TurnEvent`

SteerRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.Steer.

class SteerRequest {
  + string workspace
  + string session_id
  + string text
}

SteerResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.Steer.

class SteerResponse {
}

ApproveRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.Approve.

class ApproveRequest {
  + string workspace
  + string request_id
  + Decision decision
}
ApproveRequest --> `Decision`

ApproveResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.Approve.

class ApproveResponse {
}

AnswerRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.Answer.

class AnswerRequest {
  + string workspace
  + string request_id
  + string answer
}

AnswerResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.Answer.

class AnswerResponse {
}

GetUsageRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.GetUsage.

class GetUsageRequest {
  + string workspace
  + bool parts
}

GetUsageResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.GetUsage.

class GetUsageResponse {
  + Usage usage
  + bool auto_compact
  + int32 threshold
  + int32 keep
  + List~ContextPart~ parts
}
GetUsageResponse --> `Usage`
GetUsageResponse --> `ContextPart`

ContextPart Diagram

classDiagram
direction LR

%% ContextPart is one category of what a prompt carries.

class ContextPart {
  + string name
  + int64 tokens
}

Goal Diagram

classDiagram
direction LR

%% Goal is what a session works toward.

class Goal {
  + string condition
  + int32 continues
  + int32 max
  + string last
}

SetGoalRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.SetGoal.

class SetGoalRequest {
  + string workspace
  + string condition
}

SetGoalResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.SetGoal.

class SetGoalResponse {
  + Goal goal
}
SetGoalResponse --> `Goal`

GetGoalRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.GetGoal.

class GetGoalRequest {
  + string workspace
}

GetGoalResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.GetGoal.

class GetGoalResponse {
  + Goal goal
}
GetGoalResponse --> `Goal`

ClearGoalRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ClearGoal.

class ClearGoalRequest {
  + string workspace
}

ClearGoalResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ClearGoal.

class ClearGoalResponse {
}

CompactRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.Compact.

class CompactRequest {
  + string workspace
  + string focus
}

CompactResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.Compact.

class CompactResponse {
  + int32 events_compacted
  + int32 summary_chars
  + Usage before
  + Usage after
}
CompactResponse --> `Usage`
CompactResponse --> `Usage`

RewindPoint Diagram

classDiagram
direction LR

%% A prompt the conversation can be rewound to: its place in the transcript, its text and time, the files the agent changed from it on, and whether the conversation can go back to it.

class RewindPoint {
  + int32 index
  + string text
  + google.protobuf.Timestamp time
  + List~string~ files
  + bool conversation
}

ListRewindPointsRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ListRewindPoints.

class ListRewindPointsRequest {
  + string workspace
}

ListRewindPointsResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ListRewindPoints.

class ListRewindPointsResponse {
  + List~RewindPoint~ points
}
ListRewindPointsResponse --> `RewindPoint`

RewindRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.Rewind.

class RewindRequest {
  + string workspace
  + int32 index
  + string mode
  + bool force
}

RewindResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.Rewind.

class RewindResponse {
  + string mode
  + List~string~ restored
  + string prompt
  + CompactResponse compacted
}
RewindResponse --> `CompactResponse`

SearchSessionRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.SearchSession.

class SearchSessionRequest {
  + string workspace
  + string terms
}

SearchSessionResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.SearchSession.

class SearchSessionResponse {
  + int32 found
  + string prompt
}

BackgroundRun Diagram

classDiagram
direction LR

%% BackgroundRun is a turn the service runs with no client attached.

class BackgroundRun {
  + string id
  + string workspace
  + string session_id
  + string prompt
  + string state
  + google.protobuf.Timestamp started
  + google.protobuf.Timestamp ended
  + double cost_usd
  + int32 waiting
  + string error
  + string workflow_run
}

StartBackgroundRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.StartBackground.

class StartBackgroundRequest {
  + string workspace
  + Turn turn
}
StartBackgroundRequest --> `Turn`

StartBackgroundResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.StartBackground.

class StartBackgroundResponse {
  + BackgroundRun run
}
StartBackgroundResponse --> `BackgroundRun`

ListBackgroundRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ListBackground.

class ListBackgroundRequest {
}

ListBackgroundResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ListBackground.

class ListBackgroundResponse {
  + List~BackgroundRun~ runs
}
ListBackgroundResponse --> `BackgroundRun`

WatchBackgroundRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.WatchBackground.

class WatchBackgroundRequest {
  + string id
  + bool follow
}

WatchBackgroundResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.WatchBackground.

class WatchBackgroundResponse {
  + TurnEvent event
}
WatchBackgroundResponse --> `TurnEvent`

StopBackgroundRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.StopBackground.

class StopBackgroundRequest {
  + string id
}

StopBackgroundResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.StopBackground.

class StopBackgroundResponse {
  + BackgroundRun run
}
StopBackgroundResponse --> `BackgroundRun`

ListSessionToolsRequest Diagram

classDiagram
direction LR

%% Request message for SessionService.ListSessionTools.

class ListSessionToolsRequest {
  + string workspace
  + string session_id
}

SessionTool Diagram

classDiagram
direction LR

%% One tool call of a saved session: its call, its result, and the prompt it ran under (turn: the session's n-th prompt, 0 first; prompt: its start).

class SessionTool {
  + int32 turn
  + string prompt
  + ToolCall call
  + ToolResult result
}
SessionTool --> `ToolCall`
SessionTool --> `ToolResult`

ListSessionToolsResponse Diagram

classDiagram
direction LR

%% Response message for SessionService.ListSessionTools.

class ListSessionToolsResponse {
  + List~SessionTool~ tools
}
ListSessionToolsResponse --> `SessionTool`

Message: SessionInfo

FQN: blitz.v1.SessionInfo
SessionInfo describes a saved session.
Field Ordinal Type Label Description
id 1 string
title 2 string Empty until the first prompt names it.
agent 3 string
workspace 4 string The workspace directory it belongs to (empty for old sessions).
snapshot 5 string The snapshot name, for a snapshot.
from 6 string The session this one was copied from.
message_count 7 int32
created 8 google.protobuf.Timestamp
updated 9 google.protobuf.Timestamp
messages 10 Message Repeated Filled in only where noted.
moved_from 11 string The workspace /cd moved the session from, and how many messages it had then: earlier prompts were there (empty and 0 if never moved).
moved_at 12 int32
origin 13 string What started it: “worker” (a worker’s run), “background” (a detached run, blitz –bg), or "" for a chat.

Message: Message

FQN: blitz.v1.Message
Message is one message in a transcript.
Field Ordinal Type Label Description
role 1 string “user” or “model”.
text 2 string
time 3 google.protobuf.Timestamp
kind 4 string For user messages: "" for a prompt (a rewind point), “steer”, “hook” (a stop hook’s request) or “plan” (an approved plan’s go-ahead).

Message: ListSessionsRequest

FQN: blitz.v1.ListSessionsRequest
Request message for SessionService.ListSessions.
Field Ordinal Type Label Description
workspace 1 string
all 2 bool Every saved session, not only this workspace’s.

Message: ListSessionsResponse

FQN: blitz.v1.ListSessionsResponse
Response message for SessionService.ListSessions.
Field Ordinal Type Label Description
sessions 1 SessionInfo Repeated

Message: GetActiveSessionRequest

FQN: blitz.v1.GetActiveSessionRequest
Request message for SessionService.GetActiveSession.
Field Ordinal Type Label Description
workspace 1 string

Message: GetActiveSessionResponse

FQN: blitz.v1.GetActiveSessionResponse
Response message for SessionService.GetActiveSession.
Field Ordinal Type Label Description
session 1 SessionInfo Unset when no session is active.

Message: NewSessionRequest

FQN: blitz.v1.NewSessionRequest
Request message for SessionService.NewSession.
Field Ordinal Type Label Description
workspace 1 string

Message: NewSessionResponse

FQN: blitz.v1.NewSessionResponse
Response message for SessionService.NewSession.
Field Ordinal Type Label Description
session 1 SessionInfo

Message: OpenSessionRequest

FQN: blitz.v1.OpenSessionRequest
Request message for SessionService.OpenSession.
Field Ordinal Type Label Description
workspace 1 string
resume 2 string A session ID, a snapshot name, or “latest”; empty for a new session unless continue_latest.
continue_latest 3 bool

Message: OpenSessionResponse

FQN: blitz.v1.OpenSessionResponse
Response message for SessionService.OpenSession.
Field Ordinal Type Label Description
session 1 SessionInfo
resumed 2 bool An existing session was resumed.

Message: LoadSessionRequest

FQN: blitz.v1.LoadSessionRequest
Request message for SessionService.LoadSession.
Field Ordinal Type Label Description
workspace 1 string
ref 2 string A session ID or snapshot name.

Message: LoadSessionResponse

FQN: blitz.v1.LoadSessionResponse
Response message for SessionService.LoadSession.
Field Ordinal Type Label Description
session 1 SessionInfo With its messages.
branched 2 bool A new session started from a snapshot.

Message: SaveSnapshotRequest

FQN: blitz.v1.SaveSnapshotRequest
Request message for SessionService.SaveSnapshot.
Field Ordinal Type Label Description
workspace 1 string
name 2 string
force 3 bool

Message: SaveSnapshotResponse

FQN: blitz.v1.SaveSnapshotResponse
Response message for SessionService.SaveSnapshot.
Field Ordinal Type Label Description
snapshot 1 SessionInfo

Message: RenameSessionRequest

FQN: blitz.v1.RenameSessionRequest
Request message for SessionService.RenameSession.
Field Ordinal Type Label Description
workspace 1 string
title 2 string

Message: RenameSessionResponse

FQN: blitz.v1.RenameSessionResponse
Response message for SessionService.RenameSession.
Field Ordinal Type Label Description
session 1 SessionInfo

Message: DeleteSessionRequest

FQN: blitz.v1.DeleteSessionRequest
Request message for SessionService.DeleteSession.
Field Ordinal Type Label Description
workspace 1 string
session_id 2 string

Message: DeleteSessionResponse

FQN: blitz.v1.DeleteSessionResponse
Response message for SessionService.DeleteSession.
Field Ordinal Type Label Description

Message: ForkSessionRequest

FQN: blitz.v1.ForkSessionRequest
Request message for SessionService.ForkSession.
Field Ordinal Type Label Description
workspace 1 string
turn 2 int32 The last prompt turn to keep: 1 the first; 0 all of them.

Message: ForkSessionResponse

FQN: blitz.v1.ForkSessionResponse
Response message for SessionService.ForkSession.
Field Ordinal Type Label Description
session 1 SessionInfo

Message: ExportSessionRequest

FQN: blitz.v1.ExportSessionRequest
Request message for SessionService.ExportSession.
Field Ordinal Type Label Description
workspace 1 string
session_id 2 string The session; empty for the active one.

Message: ExportSessionResponse

FQN: blitz.v1.ExportSessionResponse
Response message for SessionService.ExportSession.
Field Ordinal Type Label Description
markdown 1 string

Message: MoveSessionRequest

FQN: blitz.v1.MoveSessionRequest
Request message for SessionService.MoveSession.
Field Ordinal Type Label Description
workspace 1 string The workspace it moves to.
session_id 2 string

Message: MoveSessionResponse

FQN: blitz.v1.MoveSessionResponse
Response message for SessionService.MoveSession.
Field Ordinal Type Label Description
session 1 SessionInfo

Message: RunTurnRequest

FQN: blitz.v1.RunTurnRequest
Request message for SessionService.RunTurn.
Field Ordinal Type Label Description
workspace 1 string
session_id 2 string
turn 3 Turn

Message: RunTurnResponse

FQN: blitz.v1.RunTurnResponse
Response message for SessionService.RunTurn.
Field Ordinal Type Label Description
event 1 TurnEvent

Message: SteerRequest

FQN: blitz.v1.SteerRequest
Request message for SessionService.Steer.
Field Ordinal Type Label Description
workspace 1 string
session_id 2 string
text 3 string

Message: SteerResponse

FQN: blitz.v1.SteerResponse
Response message for SessionService.Steer.
Field Ordinal Type Label Description

Message: ApproveRequest

FQN: blitz.v1.ApproveRequest
Request message for SessionService.Approve.
Field Ordinal Type Label Description
workspace 1 string
request_id 2 string
decision 3 Decision

Message: ApproveResponse

FQN: blitz.v1.ApproveResponse
Response message for SessionService.Approve.
Field Ordinal Type Label Description

Message: AnswerRequest

FQN: blitz.v1.AnswerRequest
Request message for SessionService.Answer.
Field Ordinal Type Label Description
workspace 1 string
request_id 2 string
answer 3 string

Message: AnswerResponse

FQN: blitz.v1.AnswerResponse
Response message for SessionService.Answer.
Field Ordinal Type Label Description

Message: GetUsageRequest

FQN: blitz.v1.GetUsageRequest
Request message for SessionService.GetUsage.
Field Ordinal Type Label Description
workspace 1 string
parts 2 bool Also estimate what the context is made of (parts).

Message: GetUsageResponse

FQN: blitz.v1.GetUsageResponse
Response message for SessionService.GetUsage.
Field Ordinal Type Label Description
usage 1 Usage
auto_compact 2 bool The context is compacted when it passes threshold tokens, keeping the last keep events.
threshold 3 int32
keep 4 int32
parts 5 ContextPart Repeated What the context is made of, estimated by category, when asked for.

Message: ContextPart

FQN: blitz.v1.ContextPart
ContextPart is one category of what a prompt carries.
Field Ordinal Type Label Description
name 1 string system prompt, instructions and notes, tool declarations, your messages, replies, tool calls, tool results, images, earlier conversation (summary).
tokens 2 int64

Message: Goal

FQN: blitz.v1.Goal
Goal is what a session works toward.
Field Ordinal Type Label Description
condition 1 string
continues 2 int32 How often the agent was sent on, and the limit.
max 3 int32
last 4 string The judge’s latest reason.

Message: SetGoalRequest

FQN: blitz.v1.SetGoalRequest
Request message for SessionService.SetGoal.
Field Ordinal Type Label Description
workspace 1 string
condition 2 string

Message: SetGoalResponse

FQN: blitz.v1.SetGoalResponse
Response message for SessionService.SetGoal.
Field Ordinal Type Label Description
goal 1 Goal

Message: GetGoalRequest

FQN: blitz.v1.GetGoalRequest
Request message for SessionService.GetGoal.
Field Ordinal Type Label Description
workspace 1 string

Message: GetGoalResponse

FQN: blitz.v1.GetGoalResponse
Response message for SessionService.GetGoal.
Field Ordinal Type Label Description
goal 1 Goal

Message: ClearGoalRequest

FQN: blitz.v1.ClearGoalRequest
Request message for SessionService.ClearGoal.
Field Ordinal Type Label Description
workspace 1 string

Message: ClearGoalResponse

FQN: blitz.v1.ClearGoalResponse
Response message for SessionService.ClearGoal.
Field Ordinal Type Label Description

Message: CompactRequest

FQN: blitz.v1.CompactRequest
Request message for SessionService.Compact.
Field Ordinal Type Label Description
workspace 1 string
focus 2 string What the summary should keep.

Message: CompactResponse

FQN: blitz.v1.CompactResponse
Response message for SessionService.Compact.
Field Ordinal Type Label Description
events_compacted 1 int32
summary_chars 2 int32
before 3 Usage
after 4 Usage

Message: RewindPoint

FQN: blitz.v1.RewindPoint
A prompt the conversation can be rewound to: its place in the transcript, its text and time, the files the agent changed from it on, and whether the conversation can go back to it.
Field Ordinal Type Label Description
index 1 int32 The prompt’s position in the transcript.
text 2 string
time 3 google.protobuf.Timestamp
files 4 string Repeated Files the agent changed from this prompt until the next.
conversation 5 bool Whether the conversation can be rewound to it.

Message: ListRewindPointsRequest

FQN: blitz.v1.ListRewindPointsRequest
Request message for SessionService.ListRewindPoints.
Field Ordinal Type Label Description
workspace 1 string

Message: ListRewindPointsResponse

FQN: blitz.v1.ListRewindPointsResponse
Response message for SessionService.ListRewindPoints.
Field Ordinal Type Label Description
points 1 RewindPoint Repeated

Message: RewindRequest

FQN: blitz.v1.RewindRequest
Request message for SessionService.Rewind.
Field Ordinal Type Label Description
workspace 1 string
index 2 int32
mode 3 string both, conversation, code, summarize_from or summarize_up_to.
force 4 bool Restore files even if they changed since the agent’s edits.

Message: RewindResponse

FQN: blitz.v1.RewindResponse
Response message for SessionService.Rewind.
Field Ordinal Type Label Description
mode 1 string
restored 2 string Repeated
prompt 3 string The prompt’s text, to edit and send again.
compacted 4 CompactResponse

Message: SearchSessionRequest

FQN: blitz.v1.SearchSessionRequest
Request message for SessionService.SearchSession.
Field Ordinal Type Label Description
workspace 1 string
terms 2 string

Message: SearchSessionResponse

FQN: blitz.v1.SearchSessionResponse
Response message for SessionService.SearchSession.
Field Ordinal Type Label Description
found 1 int32 How many passages matched.
prompt 2 string

Message: BackgroundRun

FQN: blitz.v1.BackgroundRun
BackgroundRun is a turn the service runs with no client attached.
Field Ordinal Type Label Description
id 1 string bg-1, bg-2, … for the service’s lifetime.
workspace 2 string
session_id 3 string
prompt 4 string The prompt’s first line.
state 5 string running, waiting (for an answer), done, failed or stopped.
started 6 google.protobuf.Timestamp
ended 7 google.protobuf.Timestamp Unset while it runs.
cost_usd 8 double
waiting 9 int32 Requests waiting for an answer.
error 10 string
workflow_run 11 string The workflow run it runs, when it runs one (GetWorkflowRun).

Message: StartBackgroundRequest

FQN: blitz.v1.StartBackgroundRequest
Request message for SessionService.StartBackground.
Field Ordinal Type Label Description
workspace 1 string
turn 2 Turn

Message: StartBackgroundResponse

FQN: blitz.v1.StartBackgroundResponse
Response message for SessionService.StartBackground.
Field Ordinal Type Label Description
run 1 BackgroundRun

Message: ListBackgroundRequest

FQN: blitz.v1.ListBackgroundRequest
Request message for SessionService.ListBackground.
Field Ordinal Type Label Description

Message: ListBackgroundResponse

FQN: blitz.v1.ListBackgroundResponse
Response message for SessionService.ListBackground.
Field Ordinal Type Label Description
runs 1 BackgroundRun Repeated

Message: WatchBackgroundRequest

FQN: blitz.v1.WatchBackgroundRequest
Request message for SessionService.WatchBackground.
Field Ordinal Type Label Description
id 1 string
follow 2 bool Keep streaming until the run ends; otherwise stop after what has happened so far.

Message: WatchBackgroundResponse

FQN: blitz.v1.WatchBackgroundResponse
Response message for SessionService.WatchBackground.
Field Ordinal Type Label Description
event 1 TurnEvent

Message: StopBackgroundRequest

FQN: blitz.v1.StopBackgroundRequest
Request message for SessionService.StopBackground.
Field Ordinal Type Label Description
id 1 string

Message: StopBackgroundResponse

FQN: blitz.v1.StopBackgroundResponse
Response message for SessionService.StopBackground.
Field Ordinal Type Label Description
run 1 BackgroundRun

Message: ListSessionToolsRequest

FQN: blitz.v1.ListSessionToolsRequest
Request message for SessionService.ListSessionTools.
Field Ordinal Type Label Description
workspace 1 string
session_id 2 string

Message: SessionTool

FQN: blitz.v1.SessionTool
One tool call of a saved session: its call, its result, and the prompt it ran under (turn: the session's n-th prompt, 0 first; prompt: its start).
Field Ordinal Type Label Description
turn 1 int32
prompt 2 string
call 3 ToolCall
result 4 ToolResult

Message: ListSessionToolsResponse

FQN: blitz.v1.ListSessionToolsResponse
Response message for SessionService.ListSessionTools.
Field Ordinal Type Label Description
tools 1 SessionTool Repeated