workspace.proto
Generated from proto/blitz/v1/workspace.proto by proto-gen-md-diagrams.
| Import | Description |
|---|---|
| blitz/v1/session.proto | |
| blitz/v1/turn.proto | |
| google/protobuf/duration.proto | |
| google/protobuf/timestamp.proto |
| Name | Value | Description |
|---|---|---|
| go_package | github.com/retail-cortex/blitz/proto/blitz/v1 |
classDiagram
direction LR
%% Mermaid Diagram for package: blitz.v1
%% Saved reports where a change was written in the config file. The change applies even when saving fails.
class Saved {
+ string path
+ string error
}
%% Request message for WorkspaceService.Shutdown.
class ShutdownRequest {
}
%% Response message for WorkspaceService.Shutdown: sent before the service stops.
class ShutdownResponse {
}
%% Request message for WorkspaceService.GetServiceInfo.
class GetServiceInfoRequest {
}
%% Response message for WorkspaceService.GetServiceInfo.
class GetServiceInfoResponse {
+ string version
+ string executable
+ google.protobuf.Timestamp started
+ int32 pid
+ bool replaced
}
%% Request message for WorkspaceService.ListLogDays.
class ListLogDaysRequest {
}
%% Response message for WorkspaceService.ListLogDays.
class ListLogDaysResponse {
+ List~string~ days
+ string dir
}
%% Request message for WorkspaceService.ReadLog.
class ReadLogRequest {
+ string day
+ string min_level
+ string text
+ int32 limit
}
%% A field of a log record.
class LogAttr {
+ string key
+ string value
}
%% A log record.
class LogEntry {
+ google.protobuf.Timestamp time
+ string level
+ string message
+ List~LogAttr~ attrs
}
LogEntry --> `LogAttr`
%% Response message for WorkspaceService.ReadLog.
class ReadLogResponse {
+ string day
+ string path
+ List~LogEntry~ entries
+ int32 matched
}
ReadLogResponse --> `LogEntry`
%% Request message for WorkspaceService.DeleteLogDay.
class DeleteLogDayRequest {
+ string day
}
%% Response message for WorkspaceService.DeleteLogDay.
class DeleteLogDayResponse {
}
%% Request message for WorkspaceService.ListWorkspaces.
class ListWorkspacesRequest {
}
%% Response message for WorkspaceService.ListWorkspaces.
class ListWorkspacesResponse {
+ List~string~ workspaces
}
%% Request message for WorkspaceService.CloseWorkspace.
class CloseWorkspaceRequest {
+ string workspace
}
%% Response message for WorkspaceService.CloseWorkspace.
class CloseWorkspaceResponse {
}
%% Request message for WorkspaceService.GetSandbox.
class GetSandboxRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetSandbox.
class GetSandboxResponse {
+ List~string~ summary
}
%% AgentInfo describes an agent.
class AgentInfo {
+ string name
+ string display_name
+ string description
+ bool active
+ string pinned_model
}
%% Request message for WorkspaceService.ListAgents.
class ListAgentsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListAgents.
class ListAgentsResponse {
+ List~AgentInfo~ agents
}
ListAgentsResponse --> `AgentInfo`
%% Request message for WorkspaceService.SetAgent.
class SetAgentRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.SetAgent.
class SetAgentResponse {
+ AgentInfo agent
}
SetAgentResponse --> `AgentInfo`
%% Suggestion is one welcome tile.
class Suggestion {
+ SuggestionKind kind
+ string title
+ string prompt
+ string session_id
+ string worker
+ int32 count
+ string detail
}
Suggestion --> `SuggestionKind`
%% Request message for WorkspaceService.GetSuggestions.
class GetSuggestionsRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetSuggestions.
class GetSuggestionsResponse {
+ List~Suggestion~ suggestions
+ bool harness_missing
+ bool pending
}
GetSuggestionsResponse --> `Suggestion`
%% AgentDefinition is an agent's file: its frontmatter and its prompt.
class AgentDefinition {
+ string name
+ string display_name
+ string description
+ List~string~ tools
+ string default_model
+ string agency_level
+ string permission_mode
+ int32 max_turns
+ bool background
+ string isolation
+ Optional~double~ temperature
+ Optional~double~ top_p
+ Optional~int32~ max_tokens
+ string effort
+ Optional~int32~ thinking_budget
+ string prompt
}
%% AgentFile is one agent file of a scope.
class AgentFile {
+ string path
+ AgentDefinition agent
+ string problem
}
AgentFile --> `AgentDefinition`
%% Request message for WorkspaceService.ListAgentFiles.
class ListAgentFilesRequest {
+ string workspace
+ AgentScope scope
}
ListAgentFilesRequest --> `AgentScope`
%% Response message for WorkspaceService.ListAgentFiles.
class ListAgentFilesResponse {
+ List~AgentFile~ files
+ string dir
}
ListAgentFilesResponse --> `AgentFile`
%% Request message for WorkspaceService.SaveAgentFile.
class SaveAgentFileRequest {
+ string workspace
+ AgentScope scope
+ string previous_name
+ AgentDefinition agent
}
SaveAgentFileRequest --> `AgentScope`
SaveAgentFileRequest --> `AgentDefinition`
%% Response message for WorkspaceService.SaveAgentFile.
class SaveAgentFileResponse {
+ AgentFile file
+ List~string~ problems
}
SaveAgentFileResponse --> `AgentFile`
%% Request message for WorkspaceService.DeleteAgentFile.
class DeleteAgentFileRequest {
+ string workspace
+ AgentScope scope
+ string name
+ string path
}
DeleteAgentFileRequest --> `AgentScope`
%% Response message for WorkspaceService.DeleteAgentFile.
class DeleteAgentFileResponse {
}
%% Request message for WorkspaceService.GetModel.
class GetModelRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetModel.
class GetModelResponse {
+ string name
+ string provider
+ string unavailable
}
%% Request message for WorkspaceService.SetModel.
class SetModelRequest {
+ string workspace
+ string ref
}
%% Response message for WorkspaceService.SetModel.
class SetModelResponse {
+ string active_pin
}
%% Request message for WorkspaceService.PinModel.
class PinModelRequest {
+ string workspace
+ string agent
+ string ref
}
%% Response message for WorkspaceService.PinModel.
class PinModelResponse {
+ string agent
+ string model
+ Saved saved
}
PinModelResponse --> `Saved`
%% Request message for WorkspaceService.UnpinModel.
class UnpinModelRequest {
+ string workspace
+ string agent
}
%% Response message for WorkspaceService.UnpinModel.
class UnpinModelResponse {
+ string agent
+ string model
+ Saved saved
}
UnpinModelResponse --> `Saved`
%% ModelSettings are a model's generation settings; unset fields use the global value or the provider's default.
class ModelSettings {
+ Optional~double~ temperature
+ Optional~int32~ max_tokens
+ Optional~double~ top_p
+ Optional~int32~ seed
+ Optional~string~ reasoning_effort
+ Optional~int32~ thinking_budget
}
%% ModelSettingsInfo is one model's settings and what applies otherwise.
class ModelSettingsInfo {
+ string model
+ string provider
+ ModelSettings settings
+ double global_temperature
+ int32 global_max_tokens
}
ModelSettingsInfo --> `ModelSettings`
%% Request message for WorkspaceService.GetModelSettings.
class GetModelSettingsRequest {
+ string workspace
+ string ref
}
%% Response message for WorkspaceService.GetModelSettings.
class GetModelSettingsResponse {
+ Map~string, ModelSettings~ all
+ ModelSettingsInfo model
}
GetModelSettingsResponse .. ` ModelSettings`
GetModelSettingsResponse --> `ModelSettingsInfo`
%% Setting is one key=value change; an empty value clears the key.
class Setting {
+ string key
+ string value
}
%% Request message for WorkspaceService.UpdateModelSettings.
class UpdateModelSettingsRequest {
+ string workspace
+ string ref
+ bool reset
+ List~Setting~ changes
}
UpdateModelSettingsRequest --> `Setting`
%% Response message for WorkspaceService.UpdateModelSettings.
class UpdateModelSettingsResponse {
+ ModelSettingsInfo model
+ List~string~ unsupported
+ Saved saved
}
UpdateModelSettingsResponse --> `ModelSettingsInfo`
UpdateModelSettingsResponse --> `Saved`
%% Request message for WorkspaceService.GetSettings.
class GetSettingsRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetSettings.
class GetSettingsResponse {
+ string agency
+ string model
+ string provider
+ string agent
+ string locale
+ bool images_enabled
+ string permission_mode
+ string effort
+ string style
+ string speech_model
+ string speech_error
+ List~AcceptedMedia~ accepted_media
}
GetSettingsResponse --> `AcceptedMedia`
%% AcceptedMedia is a kind of attachment a model takes.
class AcceptedMedia {
+ string kind
+ List~string~ mime_types
+ List~string~ extensions
+ int64 max_bytes
}
%% Request message for WorkspaceService.SetPermissionMode.
class SetPermissionModeRequest {
+ string workspace
+ string mode
}
%% Response message for WorkspaceService.SetPermissionMode.
class SetPermissionModeResponse {
+ string mode
}
%% Command is a custom slash command.
class Command {
+ string name
+ string description
+ string argument_hint
+ string source
}
%% Request message for WorkspaceService.ListCommands.
class ListCommandsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListCommands.
class ListCommandsResponse {
+ List~Command~ commands
}
ListCommandsResponse --> `Command`
%% PermissionRule is an allow, ask or deny rule.
class PermissionRule {
+ string effect
+ string rule
+ string source
}
%% Request message for WorkspaceService.ListPermissionRules.
class ListPermissionRulesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListPermissionRules.
class ListPermissionRulesResponse {
+ List~PermissionRule~ rules
+ string problem
}
ListPermissionRulesResponse --> `PermissionRule`
%% Request message for WorkspaceService.AddPermissionRule.
class AddPermissionRuleRequest {
+ string workspace
+ string effect
+ string rule
+ bool save
+ string scope
}
%% Response message for WorkspaceService.AddPermissionRule.
class AddPermissionRuleResponse {
+ string rule
+ bool next_start
+ Saved saved
}
AddPermissionRuleResponse --> `Saved`
%% Request message for WorkspaceService.RemovePermissionRule.
class RemovePermissionRuleRequest {
+ string workspace
+ string rule
+ bool save
+ string scope
}
%% Response message for WorkspaceService.RemovePermissionRule.
class RemovePermissionRuleResponse {
+ string rule
+ int32 removed
+ Saved saved
}
RemovePermissionRuleResponse --> `Saved`
%% Request message for WorkspaceService.SetSetting.
class SetSettingRequest {
+ string workspace
+ string key
+ string value
}
%% Response message for WorkspaceService.SetSetting.
class SetSettingResponse {
+ string key
}
%% SkillInfo describes a skill and what the skills policy lets it do.
class SkillInfo {
+ string name
+ string description
+ string version
+ string license
+ string category
+ string compatibility
+ List~string~ tags
+ string hash
+ List~SkillTool~ tools
+ List~SkillScript~ scripts
+ string tier
+ bool bypass
+ bool network
+ bool needs_network
+ List~string~ env
+ List~string~ withheld
+ List~string~ blocked
+ string dir
+ string kind
+ List~string~ agents
+ List~string~ members
+ List~string~ references
+ bool project
+ List~string~ package_files
+ bool needs_review
}
SkillInfo --> `SkillTool`
SkillInfo --> `SkillScript`
%% SkillTool is a tool a skill needs.
class SkillTool {
+ string name
+ List~string~ scopes
+ string why
}
%% SkillScript is one of a skill's scripts and the policy's verdict.
class SkillScript {
+ string name
+ string language
+ string source
+ google.protobuf.Duration timeout
+ List~string~ deps
+ bool allowed
+ List~string~ reasons
+ bool found
}
%% Request message for WorkspaceService.ListSkills.
class ListSkillsRequest {
+ string workspace
+ string query
}
%% Response message for WorkspaceService.ListSkills.
class ListSkillsResponse {
+ List~SkillInfo~ skills
}
ListSkillsResponse --> `SkillInfo`
%% Request message for WorkspaceService.GetSkill.
class GetSkillRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.GetSkill.
class GetSkillResponse {
+ SkillInfo skill
}
GetSkillResponse --> `SkillInfo`
%% What Studio's skill form edits.
class SkillSpec {
+ string name
+ string description
+ string tools
+ List~string~ agents
+ List~string~ members
+ string instructions
}
%% A skill as Studio edits it.
class SkillFile {
+ SkillInfo skill
+ string path
+ string hash
+ SkillSpec spec
+ bool editable
}
SkillFile --> `SkillInfo`
SkillFile --> `SkillSpec`
%% Request message for WorkspaceService.GetSkillFile.
class GetSkillFileRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.GetSkillFile.
class GetSkillFileResponse {
+ SkillFile file
}
GetSkillFileResponse --> `SkillFile`
%% Request message for WorkspaceService.SaveSkill.
class SaveSkillRequest {
+ string workspace
+ string previous_name
+ string hash
+ SkillSpec skill
}
SaveSkillRequest --> `SkillSpec`
%% Response message for WorkspaceService.SaveSkill.
class SaveSkillResponse {
+ SkillFile file
+ List~string~ problems
}
SaveSkillResponse --> `SkillFile`
%% Request message for WorkspaceService.DeleteSkill.
class DeleteSkillRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.DeleteSkill.
class DeleteSkillResponse {
}
%% Request message for WorkspaceService.ReadSkillFile.
class ReadSkillFileRequest {
+ string workspace
+ string name
+ string path
}
%% Response message for WorkspaceService.ReadSkillFile.
class ReadSkillFileResponse {
+ bytes content
}
%% Request message for WorkspaceService.WriteSkillFile.
class WriteSkillFileRequest {
+ string workspace
+ string name
+ string path
+ bytes content
}
%% Response message for WorkspaceService.WriteSkillFile.
class WriteSkillFileResponse {
+ SkillFile file
}
WriteSkillFileResponse --> `SkillFile`
%% Request message for WorkspaceService.DeleteSkillFile.
class DeleteSkillFileRequest {
+ string workspace
+ string name
+ string path
}
%% Response message for WorkspaceService.DeleteSkillFile.
class DeleteSkillFileResponse {
+ SkillFile file
}
DeleteSkillFileResponse --> `SkillFile`
%% Request message for WorkspaceService.CopySkill.
class CopySkillRequest {
+ string workspace
+ string from
+ string name
}
%% Response message for WorkspaceService.CopySkill.
class CopySkillResponse {
+ SkillFile file
+ List~string~ problems
}
CopySkillResponse --> `SkillFile`
%% Request message for WorkspaceService.RunSkillScript.
class RunSkillScriptRequest {
+ string workspace
+ string name
+ string script
+ List~string~ args
}
%% Response message for WorkspaceService.RunSkillScript.
class RunSkillScriptResponse {
+ int32 exit_code
+ string stdout
+ string stderr
+ bool timed_out
+ string sandbox
+ List~string~ output_files
+ string error
}
%% Env is an isolated Python environment built for skill scripts.
class Env {
+ string key
+ List~string~ deps
+ List~string~ skills
+ int64 size
+ google.protobuf.Timestamp last_used
+ bool ready
}
%% Request message for WorkspaceService.ListEnvs.
class ListEnvsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListEnvs.
class ListEnvsResponse {
+ List~Env~ envs
}
ListEnvsResponse --> `Env`
%% Request message for WorkspaceService.RemoveEnv.
class RemoveEnvRequest {
+ string workspace
+ string key
}
%% Response message for WorkspaceService.RemoveEnv.
class RemoveEnvResponse {
}
%% Request message for WorkspaceService.PruneEnvs.
class PruneEnvsRequest {
+ string workspace
}
%% EnvError is an environment that couldn't be removed.
class EnvError {
+ string key
+ string error
}
%% Response message for WorkspaceService.PruneEnvs.
class PruneEnvsResponse {
+ int32 removed
+ int64 freed
+ List~EnvError~ failed
}
PruneEnvsResponse --> `EnvError`
%% MCPServer is a configured MCP server.
class MCPServer {
+ string name
+ string target
+ bool auto_approve
+ bool disabled
+ string state
+ string error
+ int32 tools
}
%% Request message for WorkspaceService.ListMCPServers.
class ListMCPServersRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListMCPServers.
class ListMCPServersResponse {
+ List~MCPServer~ servers
}
ListMCPServersResponse --> `MCPServer`
%% Request message for WorkspaceService.RestartMCPServer.
class RestartMCPServerRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.RestartMCPServer.
class RestartMCPServerResponse {
}
%% ToolInfo is a tool an agent can call.
class ToolInfo {
+ string name
+ string description
+ bool plan_allowed
}
%% MCPOffer is an MCP server offered to an agent.
class MCPOffer {
+ string server
+ List~string~ tools
+ string prefix
}
%% Request message for WorkspaceService.ListTools.
class ListToolsRequest {
+ string workspace
+ bool all
}
%% Response message for WorkspaceService.ListTools.
class ListToolsResponse {
+ string agent
+ List~ToolInfo~ tools
+ List~MCPOffer~ mcp
}
ListToolsResponse --> `ToolInfo`
ListToolsResponse --> `MCPOffer`
%% Request message for WorkspaceService.ReloadMemory.
class ReloadMemoryRequest {
+ string workspace
}
%% Response message for WorkspaceService.ReloadMemory.
class ReloadMemoryResponse {
+ List~string~ paths
+ List~string~ files
}
%% Request message for WorkspaceService.ReloadAgentFiles.
class ReloadAgentFilesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ReloadAgentFiles.
class ReloadAgentFilesResponse {
+ int32 agents
+ int32 skills
+ List~string~ files
+ List~string~ problems
}
%% Request message for WorkspaceService.AddMemory.
class AddMemoryRequest {
+ string workspace
+ string text
}
%% Response message for WorkspaceService.AddMemory.
class AddMemoryResponse {
+ string path
}
%% LocaleInfo names a language with an interface catalog.
class LocaleInfo {
+ string tag
+ string name
}
%% Request message for WorkspaceService.ListLocales.
class ListLocalesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListLocales.
class ListLocalesResponse {
+ List~LocaleInfo~ locales
+ string custom_dir
}
ListLocalesResponse --> `LocaleInfo`
%% Request message for WorkspaceService.SetLocale.
class SetLocaleRequest {
+ string workspace
+ string input
}
%% Response message for WorkspaceService.SetLocale.
class SetLocaleResponse {
+ string tag
+ string native_name
+ string language_name
+ bool has_catalog
+ Saved saved
}
SetLocaleResponse --> `Saved`
%% Checkpoint is the files one turn changed.
class Checkpoint {
+ int32 id
+ string label
+ google.protobuf.Timestamp time
+ List~string~ files
}
%% Request message for WorkspaceService.ListCheckpoints.
class ListCheckpointsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListCheckpoints.
class ListCheckpointsResponse {
+ List~Checkpoint~ checkpoints
}
ListCheckpointsResponse --> `Checkpoint`
%% Request message for WorkspaceService.Undo.
class UndoRequest {
+ string workspace
+ bool force
}
%% Response message for WorkspaceService.Undo.
class UndoResponse {
+ string label
+ List~string~ restored
+ ErrorInfo error
}
UndoResponse --> `ErrorInfo`
%% Request message for WorkspaceService.GetDiff.
class GetDiffRequest {
+ string workspace
+ bool git
+ bool color
}
%% Response message for WorkspaceService.GetDiff.
class GetDiffResponse {
+ string diff
}
%% Approval is a standing permission.
class Approval {
+ string key
+ string kind
+ string subject
+ string dir
+ bool always
+ google.protobuf.Timestamp added
}
%% Request message for WorkspaceService.ListApprovals.
class ListApprovalsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListApprovals.
class ListApprovalsResponse {
+ List~Approval~ approvals
}
ListApprovalsResponse --> `Approval`
%% Request message for WorkspaceService.RevokeApprovals.
class RevokeApprovalsRequest {
+ string workspace
+ List~string~ keys
+ bool all
}
%% Response message for WorkspaceService.RevokeApprovals.
class RevokeApprovalsResponse {
+ int32 revoked
+ ErrorInfo error
}
RevokeApprovalsResponse --> `ErrorInfo`
%% Process is a background process the agent started, and how it is.
class Process {
+ int32 id
+ string command
+ bool running
+ int32 exit_code
+ int64 runtime_ms
}
%% Request message for WorkspaceService.ListProcesses.
class ListProcessesRequest {
+ string workspace
+ List~string~ session_ids
}
%% Response message for WorkspaceService.ListProcesses.
class ListProcessesResponse {
+ List~Process~ processes
}
ListProcessesResponse --> `Process`
%% Request message for WorkspaceService.GetProcessOutput.
class GetProcessOutputRequest {
+ string workspace
+ List~string~ session_ids
+ int32 id
}
%% Response message for WorkspaceService.GetProcessOutput.
class GetProcessOutputResponse {
+ string output
+ Process process
}
GetProcessOutputResponse --> `Process`
%% Request message for WorkspaceService.KillProcess.
class KillProcessRequest {
+ string workspace
+ List~string~ session_ids
+ int32 id
}
%% Response message for WorkspaceService.KillProcess.
class KillProcessResponse {
+ Process process
}
KillProcessResponse --> `Process`
%% Request message for WorkspaceService.AuditShell.
class AuditShellRequest {
+ string workspace
+ string command
+ int32 exit_code
+ string start_error
}
%% Response message for WorkspaceService.AuditShell.
class AuditShellResponse {
}
%% BackgroundTask is a sub-agent running beside the turn that started it.
class BackgroundTask {
+ string id
+ string agent
+ string prompt
+ string session_id
+ string state
+ google.protobuf.Timestamp started
+ google.protobuf.Timestamp ended
+ string result
+ string error
+ Usage usage
+ string worktree
+ string branch
}
BackgroundTask --> `Usage`
%% Request message for WorkspaceService.ListTasks.
class ListTasksRequest {
+ string workspace
+ List~string~ session_ids
}
%% Response message for WorkspaceService.ListTasks.
class ListTasksResponse {
+ List~BackgroundTask~ tasks
}
ListTasksResponse --> `BackgroundTask`
%% Request message for WorkspaceService.GetTask.
class GetTaskRequest {
+ string workspace
+ List~string~ session_ids
+ string id
}
%% Response message for WorkspaceService.GetTask.
class GetTaskResponse {
+ BackgroundTask task
+ List~string~ events
}
GetTaskResponse --> `BackgroundTask`
%% Request message for WorkspaceService.StopTask.
class StopTaskRequest {
+ string workspace
+ List~string~ session_ids
+ string id
}
%% TaskEvent is something that happened to a background task outside a turn.
class TaskEvent {
+ Oneof~BackgroundTask~ task [oneof: kind]
+ Oneof~ApprovalRequest~ approval_request [oneof: kind]
+ Oneof~Question~ question [oneof: kind]
+ Oneof~string~ resolved [oneof: kind]
+ Oneof~bool~ ready [oneof: kind]
+ Oneof~bool~ settings_changed [oneof: kind]
}
TaskEvent --> `BackgroundTask`
TaskEvent --> `ApprovalRequest`
TaskEvent --> `Question`
%% Request message for WorkspaceService.WatchTasks.
class WatchTasksRequest {
+ string workspace
+ List~string~ session_ids
}
%% Response message for WorkspaceService.WatchTasks.
class WatchTasksResponse {
+ TaskEvent event
}
WatchTasksResponse --> `TaskEvent`
%% Request message for WorkspaceService.ListTaskRequests.
class ListTaskRequestsRequest {
+ string workspace
+ List~string~ session_ids
}
%% Response message for WorkspaceService.ListTaskRequests.
class ListTaskRequestsResponse {
+ List~TaskEvent~ requests
}
ListTaskRequestsResponse --> `TaskEvent`
%% Response message for WorkspaceService.StopTask.
class StopTaskResponse {
+ BackgroundTask task
}
StopTaskResponse --> `BackgroundTask`
%% ProjectItem is one setting from a project file.
class ProjectItem {
+ string file
+ string kind
+ string key
+ string value
+ string reason
}
%% ProjectSettings are what a workspace's project files say.
class ProjectSettings {
+ List~string~ files
+ string state
+ string hash
+ bool loaded
+ List~ProjectItem~ applied
+ List~ProjectItem~ pending
+ List~ProjectItem~ ignored
+ List~string~ problems
}
ProjectSettings --> `ProjectItem`
ProjectSettings --> `ProjectItem`
ProjectSettings --> `ProjectItem`
%% Request message for WorkspaceService.GetProjectSettings.
class GetProjectSettingsRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetProjectSettings.
class GetProjectSettingsResponse {
+ ProjectSettings settings
}
GetProjectSettingsResponse --> `ProjectSettings`
%% Request message for WorkspaceService.TakeProcessNotices.
class TakeProcessNoticesRequest {
+ string workspace
+ string session_id
}
%% Response message for WorkspaceService.TakeProcessNotices.
class TakeProcessNoticesResponse {
+ List~string~ notices
}
%% Style is an output style.
class Style {
+ string name
+ string description
+ string source
+ bool active
}
%% Request message for WorkspaceService.ListStyles.
class ListStylesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListStyles.
class ListStylesResponse {
+ List~Style~ styles
}
ListStylesResponse --> `Style`
%% Hook is a configured hook.
class Hook {
+ string event
+ string type
+ string match
+ string if
+ string runs
+ string source
+ bool fail_closed
+ List~HookFailure~ failures
}
Hook --> `HookFailure`
%% HookFailure is one failed run of a hook.
class HookFailure {
+ google.protobuf.Timestamp time
+ string error
}
%% Request message for WorkspaceService.ListHooks.
class ListHooksRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListHooks.
class ListHooksResponse {
+ List~Hook~ hooks
}
ListHooksResponse --> `Hook`
%% Note is something the agent remembered across sessions of a workspace.
class Note {
+ string name
+ string kind
+ string text
+ google.protobuf.Timestamp time
+ string path
}
%% Request message for WorkspaceService.ListNotes.
class ListNotesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListNotes.
class ListNotesResponse {
+ List~Note~ notes
}
ListNotesResponse --> `Note`
%% Request message for WorkspaceService.ForgetNote.
class ForgetNoteRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.ForgetNote.
class ForgetNoteResponse {
}
%% Request message for WorkspaceService.ForgetProjectTrust.
class ForgetProjectTrustRequest {
+ string workspace
}
%% Response message for WorkspaceService.ForgetProjectTrust.
class ForgetProjectTrustResponse {
+ bool reopened
}
%% Request message for WorkspaceService.TrustProject.
class TrustProjectRequest {
+ string workspace
+ string hash
+ bool trusted
}
%% Response message for WorkspaceService.TrustProject.
class TrustProjectResponse {
+ bool reopened
}
%% Image is an image or a PDF stored for a prompt.
class Image {
+ string id
+ string name
+ string mime_type
+ int32 width
+ int32 height
+ int64 size
+ bool resized
+ int32 pages
+ string kind
+ double seconds
}
%% Request message for WorkspaceService.LoadImage.
class LoadImageRequest {
+ string workspace
+ string path
}
%% Response message for WorkspaceService.LoadImage.
class LoadImageResponse {
+ Image image
}
LoadImageResponse --> `Image`
%% Request message for WorkspaceService.AddImage.
class AddImageRequest {
+ string workspace
+ string name
+ bytes data
}
%% Response message for WorkspaceService.AddImage.
class AddImageResponse {
+ Image image
}
AddImageResponse --> `Image`
%% Link is a search result handed to the agent.
class Link {
+ string title
+ string url
}
%% Request message for WorkspaceService.GetSearchProvider.
class GetSearchProviderRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetSearchProvider.
class GetSearchProviderResponse {
+ string provider
}
%% Request message for WorkspaceService.SearchWeb.
class SearchWebRequest {
+ string workspace
+ string terms
}
%% Response message for WorkspaceService.SearchWeb.
class SearchWebResponse {
+ string provider
+ List~Link~ links
+ string prompt
}
SearchWebResponse --> `Link`
%% Request message for WorkspaceService.SearchWorkspace.
class SearchWorkspaceRequest {
+ string workspace
+ string query
+ List~string~ sources
+ int32 limit
+ string mode
+ bool hidden
}
%% SearchHit is one item workspace search found.
class SearchHit {
+ string source
+ string ref
+ string title
+ int32 line
+ string section
+ string snippet
+ double score
+ string summary
+ List~string~ tags
}
%% Response message for WorkspaceService.SearchWorkspace.
class SearchWorkspaceResponse {
+ List~SearchHit~ hits
+ List~string~ sources
}
SearchWorkspaceResponse --> `SearchHit`
%% Request message for WorkspaceService.GetSearchStatus.
class GetSearchStatusRequest {
+ string workspace
}
%% SearchStatus is how a workspace's search index is.
class SearchStatus {
+ bool enabled
+ Map~string, int32~ items
+ bool scanning
+ google.protobuf.Timestamp last_scan
+ int32 unreadable
+ string error
+ string embedding_model
+ int32 embedded
+ string embed_error
+ int32 enriched
+ string enrich_error
+ SearchSettings settings
+ string problem
}
SearchStatus --> `SearchSettings`
%% SearchSettings are a workspace's [search] settings (set with ConfigService.SetConfigValue: search.enabled, search.sources, …).
class SearchSettings {
+ bool enabled
+ List~string~ sources
+ string embedding_model
+ bool enrich
+ string enrich_model
+ int32 enrich_daily_limit
+ bool include_ignored
}
%% Response message for WorkspaceService.GetSearchStatus.
class GetSearchStatusResponse {
+ SearchStatus status
}
GetSearchStatusResponse --> `SearchStatus`
%% Request message for WorkspaceService.Reindex.
class ReindexRequest {
+ string workspace
}
%% Response message for WorkspaceService.Reindex.
class ReindexResponse {
}
%% Request message for WorkspaceService.GetGitStatus.
class GetGitStatusRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetGitStatus.
class GetGitStatusResponse {
+ bool repo
+ string branch
+ int32 changed
+ bool git
+ bool remote
+ string upstream
+ int32 ahead
+ int32 behind
+ GitOperation operation
+ List~string~ conflicts
+ string merging
}
GetGitStatusResponse --> `GitOperation`
%% Request message for WorkspaceService.InitGitRepo.
class InitGitRepoRequest {
+ string workspace
}
%% Response message for WorkspaceService.InitGitRepo.
class InitGitRepoResponse {
+ GetGitStatusResponse status
}
InitGitRepoResponse --> `GetGitStatusResponse`
%% A file in the index, for the commit dialog.
class StagedFile {
+ string status
+ string path
}
%% Request message for WorkspaceService.DraftCommit.
class DraftCommitRequest {
+ string workspace
+ bool stage_all
}
%% Response message for WorkspaceService.DraftCommit.
class DraftCommitResponse {
+ List~StagedFile~ files
+ string message
+ string problem
}
DraftCommitResponse --> `StagedFile`
%% Request message for WorkspaceService.Commit.
class CommitRequest {
+ string workspace
+ string message
}
%% Response message for WorkspaceService.Commit.
class CommitResponse {
+ string hash
+ string subject
}
%% Request message for WorkspaceService.FetchRemote.
class FetchRemoteRequest {
+ string workspace
}
%% Response message for WorkspaceService.FetchRemote.
class FetchRemoteResponse {
+ GetGitStatusResponse status
}
FetchRemoteResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.Pull.
class PullRequest {
+ string workspace
}
%% Response message for WorkspaceService.Pull.
class PullResponse {
+ PullOutcome outcome
+ int32 commits
+ GetGitStatusResponse status
}
PullResponse --> `PullOutcome`
PullResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.Push.
class PushRequest {
+ string workspace
}
%% Response message for WorkspaceService.Push.
class PushResponse {
+ string target
+ GetGitStatusResponse status
}
PushResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.ResolveConflict.
class ResolveConflictRequest {
+ string workspace
+ string path
+ ConflictChoice choice
}
ResolveConflictRequest --> `ConflictChoice`
%% Response message for WorkspaceService.ResolveConflict.
class ResolveConflictResponse {
+ GetGitStatusResponse status
}
ResolveConflictResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.CompleteMerge.
class CompleteMergeRequest {
+ string workspace
}
%% Response message for WorkspaceService.CompleteMerge.
class CompleteMergeResponse {
+ GetGitStatusResponse status
}
CompleteMergeResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.AbortMerge.
class AbortMergeRequest {
+ string workspace
}
%% Response message for WorkspaceService.AbortMerge.
class AbortMergeResponse {
+ GetGitStatusResponse status
}
AbortMergeResponse --> `GetGitStatusResponse`
%% A branch the workspace can switch to or merge.
class Branch {
+ string name
+ bool remote
+ bool current
+ string upstream
+ string subject
+ google.protobuf.Timestamp time
}
%% Request message for WorkspaceService.ListBranches.
class ListBranchesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListBranches.
class ListBranchesResponse {
+ List~Branch~ branches
}
ListBranchesResponse --> `Branch`
%% Request message for WorkspaceService.SwitchBranch.
class SwitchBranchRequest {
+ string workspace
+ string branch
}
%% Response message for WorkspaceService.SwitchBranch.
class SwitchBranchResponse {
+ GetGitStatusResponse status
}
SwitchBranchResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.CreateBranch.
class CreateBranchRequest {
+ string workspace
+ string branch
}
%% Response message for WorkspaceService.CreateBranch.
class CreateBranchResponse {
+ GetGitStatusResponse status
}
CreateBranchResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.MergeBranch.
class MergeBranchRequest {
+ string workspace
+ string branch
}
%% Response message for WorkspaceService.MergeBranch.
class MergeBranchResponse {
+ PullOutcome outcome
+ int32 commits
+ GetGitStatusResponse status
}
MergeBranchResponse --> `PullOutcome`
MergeBranchResponse --> `GetGitStatusResponse`
%% Request message for WorkspaceService.DraftManifest.
class DraftManifestRequest {
+ string workspace
+ string kind
+ string name
+ string description
+ string current
+ string request
+ string language
}
%% Response message for WorkspaceService.DraftManifest.
class DraftManifestResponse {
+ string text
+ List~string~ changes
+ string problem
}
%% A rule file: a gate (when set) or an instruction rule.
class RuleFile {
+ string name
+ string path
+ string when
+ string action
+ int32 order
+ List~string~ agents
+ string description
+ List~string~ paths
+ string text
+ string problem
+ bool editable
}
%% What Studio's rule form edits.
class RuleSpec {
+ string name
+ string when
+ string action
+ int32 order
+ List~string~ agents
+ string description
+ List~string~ paths
+ string text
}
%% Request message for WorkspaceService.ListRules.
class ListRulesRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListRules.
class ListRulesResponse {
+ List~RuleFile~ rules
+ string dir
}
ListRulesResponse --> `RuleFile`
%% Request message for WorkspaceService.SaveRule.
class SaveRuleRequest {
+ string workspace
+ string previous_name
+ RuleSpec rule
}
SaveRuleRequest --> `RuleSpec`
%% Response message for WorkspaceService.SaveRule.
class SaveRuleResponse {
+ RuleFile rule
+ List~string~ problems
}
SaveRuleResponse --> `RuleFile`
%% Request message for WorkspaceService.DeleteRule.
class DeleteRuleRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.DeleteRule.
class DeleteRuleResponse {
}
%% Request message for WorkspaceService.ReorderRules.
class ReorderRulesRequest {
+ string workspace
+ List~string~ names
}
%% Response message for WorkspaceService.ReorderRules.
class ReorderRulesResponse {
}
%% Request message for WorkspaceService.TryRule.
class TryRuleRequest {
+ string workspace
+ RuleSpec rule
+ string sample
}
TryRuleRequest --> `RuleSpec`
%% Response message for WorkspaceService.TryRule.
class TryRuleResponse {
+ bool pass
+ string reason
+ string problem
}
%% The limits guardrail's limits; zero or empty means none of that kind.
class GuardrailLimits {
+ double max_cost_usd
+ int32 max_turns
+ int32 max_files_changed
+ List~string~ allowed_domains
+ List~string~ commands
}
%% A guardrail file, or a built-in guardrail without one (its defaults).
class GuardrailFile {
+ string name
+ string path
+ string builtin
+ string stage
+ string action
+ List~string~ agents
+ List~string~ tools
+ string description
+ bool pii
+ bool judge
+ GuardrailLimits limits
+ string text
+ string problem
+ bool editable
+ bool off
}
GuardrailFile --> `GuardrailLimits`
%% A built-in guardrail: on by default.
class BuiltinGuardrail {
+ string id
+ string stage
+ string default_action
+ List~string~ actions
+ GuardrailFile file
}
BuiltinGuardrail --> `GuardrailFile`
%% What Studio's guardrail form edits.
class GuardrailSpec {
+ string name
+ string builtin
+ string stage
+ string action
+ List~string~ agents
+ List~string~ tools
+ string description
+ bool pii
+ bool judge
+ GuardrailLimits limits
+ string text
+ bool off
}
GuardrailSpec --> `GuardrailLimits`
%% Request message for WorkspaceService.ListGuardrails.
class ListGuardrailsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListGuardrails.
class ListGuardrailsResponse {
+ List~BuiltinGuardrail~ builtins
+ List~GuardrailFile~ guardrails
+ string dir
}
ListGuardrailsResponse --> `BuiltinGuardrail`
ListGuardrailsResponse --> `GuardrailFile`
%% Request message for WorkspaceService.SaveGuardrail.
class SaveGuardrailRequest {
+ string workspace
+ string previous_name
+ GuardrailSpec guardrail
}
SaveGuardrailRequest --> `GuardrailSpec`
%% Response message for WorkspaceService.SaveGuardrail.
class SaveGuardrailResponse {
+ GuardrailFile guardrail
+ List~string~ problems
}
SaveGuardrailResponse --> `GuardrailFile`
%% Request message for WorkspaceService.DeleteGuardrail.
class DeleteGuardrailRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.DeleteGuardrail.
class DeleteGuardrailResponse {
}
%% Request message for WorkspaceService.TryGuardrail.
class TryGuardrailRequest {
+ string workspace
+ GuardrailSpec guardrail
+ string sample
}
TryGuardrailRequest --> `GuardrailSpec`
%% Response message for WorkspaceService.TryGuardrail.
class TryGuardrailResponse {
+ bool pass
+ string reason
+ string problem
}
%% A row of an eval's table.
class EvalCase {
+ string id
+ string name
+ string prompt
+ string output
+ string type
+ double threshold
+ string scope
}
%% An eval file in .agents/evals.
class EvalFile {
+ string name
+ string path
+ string description
+ List~string~ agents
+ List~string~ skills
+ string near
+ List~string~ allow
+ List~EvalCase~ cases
+ string problem
+ EvalRun last_run
}
EvalFile --> `EvalCase`
EvalFile --> `EvalRun`
%% What Studio's eval form edits.
class EvalSpec {
+ string name
+ string description
+ List~string~ agents
+ List~string~ skills
+ string near
+ List~string~ allow
+ List~EvalCase~ cases
}
EvalSpec --> `EvalCase`
%% One case run by one agent, and its score.
class EvalResult {
+ string case
+ string name
+ string agent
+ string type
+ string scope
+ string status
+ double score
+ double threshold
+ string prompt
+ string expected
+ string output
+ string reason
+ List~string~ refusals
+ double cost_usd
+ google.protobuf.Duration duration
}
%% A run of an eval.
class EvalRun {
+ string id
+ string eval
+ google.protobuf.Timestamp started
+ google.protobuf.Duration duration
+ string status
+ List~EvalResult~ results
+ double cost_usd
+ string error
+ Map~string, int32~ counts
}
EvalRun --> `EvalResult`
%% Request message for WorkspaceService.ListEvals.
class ListEvalsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListEvals.
class ListEvalsResponse {
+ List~EvalFile~ evals
+ string dir
}
ListEvalsResponse --> `EvalFile`
%% Request message for WorkspaceService.SaveEval.
class SaveEvalRequest {
+ string workspace
+ string previous_name
+ EvalSpec eval
}
SaveEvalRequest --> `EvalSpec`
%% Response message for WorkspaceService.SaveEval.
class SaveEvalResponse {
+ EvalFile eval
+ List~string~ problems
}
SaveEvalResponse --> `EvalFile`
%% Request message for WorkspaceService.DeleteEval.
class DeleteEvalRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.DeleteEval.
class DeleteEvalResponse {
}
%% Request message for WorkspaceService.RunEval.
class RunEvalRequest {
+ string workspace
+ string name
+ List~string~ cases
}
%% Response message for WorkspaceService.RunEval: the run as it starts, each result, then the finished run.
class RunEvalResponse {
+ Oneof~EvalRun~ started [oneof: event]
+ Oneof~EvalResult~ result [oneof: event]
+ Oneof~EvalRun~ finished [oneof: event]
}
RunEvalResponse --> `EvalRun`
RunEvalResponse --> `EvalResult`
RunEvalResponse --> `EvalRun`
%% Request message for WorkspaceService.ListEvalRuns.
class ListEvalRunsRequest {
+ string workspace
+ string name
+ int32 limit
}
%% Response message for WorkspaceService.ListEvalRuns.
class ListEvalRunsResponse {
+ List~EvalRun~ runs
}
ListEvalRunsResponse --> `EvalRun`
%% Request message for WorkspaceService.DraftEvalCases.
class DraftEvalCasesRequest {
+ string workspace
+ string agent
+ string request
+ List~EvalCase~ existing
}
DraftEvalCasesRequest --> `EvalCase`
%% Response message for WorkspaceService.DraftEvalCases.
class DraftEvalCasesResponse {
+ List~EvalCase~ cases
+ string problem
}
DraftEvalCasesResponse --> `EvalCase`
%% A workflow's step.
class FlowNode {
+ string id
+ string type
+ string title
+ double x
+ double y
+ string agent
+ List~string~ skills
+ string instructions
+ List~string~ rules
+ string skill
+ string script
+ List~string~ args
+ string path
+ List~FlowField~ fields
+ int32 retry_attempts
+ string retry_delay
+ string timeout
+ string server
+ string tool
+ string arguments_json
+ string url
+ string method
+ List~FlowPair~ query
+ List~FlowPair~ headers
+ string body
+ string json_body
+ FlowAuth auth
+ string workflow
+ string for_each
+ int32 concurrency
+ string form_json
+ string wait
+ string until
}
FlowNode --> `FlowField`
FlowNode --> `FlowPair`
FlowNode --> `FlowPair`
FlowNode --> `FlowAuth`
%% A paused workflow run's task: a human task's form waiting for an answer, or a timer waiting for its time.
class HumanTask {
+ string id
+ string run
+ string workspace
+ string workflow
+ string step
+ string title
+ string kind
+ string message
+ string a2ui_json
+ google.protobuf.Timestamp fire_at
+ google.protobuf.Timestamp created
+ string session_id
}
%% Request message for WorkspaceService.ListHumanTasks.
class ListHumanTasksRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListHumanTasks.
class ListHumanTasksResponse {
+ List~HumanTask~ tasks
+ string alerts
}
ListHumanTasksResponse --> `HumanTask`
%% Request message for WorkspaceService.WatchHumanTasks.
class WatchHumanTasksRequest {
+ string workspace
}
%% Response message for WorkspaceService.WatchHumanTasks: the tasks now (each message the whole list).
class WatchHumanTasksResponse {
+ List~HumanTask~ tasks
+ string alerts
}
WatchHumanTasksResponse --> `HumanTask`
%% Request message for WorkspaceService.AnswerHumanTask.
class AnswerHumanTaskRequest {
+ string workspace
+ string task_id
+ string action_json
+ string data_json
}
%% Response message for WorkspaceService.AnswerHumanTask.
class AnswerHumanTaskResponse {
+ BackgroundRun run
}
AnswerHumanTaskResponse --> `BackgroundRun`
%% A named value: a header, a query parameter.
class FlowPair {
+ string name
+ string value
}
%% How an API call authenticates.
class FlowAuth {
+ string type
+ string token
+ string username
+ string password
+ string name
+ string value
+ string in
+ string token_url
+ string client_id
+ string client_secret
+ List~string~ scopes
+ string audience
}
%% A value an extract step pulls out.
class FlowField {
+ string name
+ string type
+ string description
}
%% A link carrying a step's output to another.
class FlowEdge {
+ string from
+ string to
+ string when
+ string if
+ bool default
+ bool error
+ string label
}
%% A workflow file in .agents/workflows.
class WorkflowFile {
+ string name
+ string path
+ string description
+ List~FlowNode~ nodes
+ List~FlowEdge~ edges
+ string problem
+ string mode
}
WorkflowFile --> `FlowNode`
WorkflowFile --> `FlowEdge`
%% Request message for WorkspaceService.ListWorkflows.
class ListWorkflowsRequest {
+ string workspace
}
%% Response message for WorkspaceService.ListWorkflows.
class ListWorkflowsResponse {
+ List~WorkflowFile~ workflows
+ string dir
}
ListWorkflowsResponse --> `WorkflowFile`
%% Request message for WorkspaceService.SaveWorkflow.
class SaveWorkflowRequest {
+ string workspace
+ string previous_name
+ WorkflowFile workflow
}
SaveWorkflowRequest --> `WorkflowFile`
%% Response message for WorkspaceService.SaveWorkflow.
class SaveWorkflowResponse {
+ WorkflowFile workflow
+ List~string~ problems
}
SaveWorkflowResponse --> `WorkflowFile`
%% Request message for WorkspaceService.DeleteWorkflow.
class DeleteWorkflowRequest {
+ string workspace
+ string name
}
%% Response message for WorkspaceService.DeleteWorkflow.
class DeleteWorkflowResponse {
}
%% A workflow run's receipt (spec_workflows_043 WF-19): its envelope (what started it, when, on what) and routing slip (each step's run, in the order they ran), with what it spent.
class WorkflowRun {
+ string id
+ string workspace
+ string workflow
+ string origin
+ string session_id
+ string input
+ google.protobuf.Timestamp started
+ google.protobuf.Timestamp ended
+ string status
+ string error
+ string output
+ Usage usage
+ List~string~ models
+ List~WorkflowRunStep~ steps
+ List~WorkflowRunEvent~ events
+ string background_id
+ int32 approvals
+ string mode
}
WorkflowRun --> `Usage`
WorkflowRun --> `WorkflowRunStep`
WorkflowRun --> `WorkflowRunEvent`
%% One run of a workflow's step.
class WorkflowRunStep {
+ string id
+ string title
+ string type
+ string status
+ google.protobuf.Timestamp started
+ google.protobuf.Timestamp ended
+ int32 attempts
+ string agent
+ List~string~ models
+ Usage usage
+ string output
+ string stream
+ string error
}
WorkflowRunStep --> `Usage`
%% Something that happened in a workflow run.
class WorkflowRunEvent {
+ google.protobuf.Timestamp at
+ string step
+ string kind
+ string text
+ bool error
}
%% Request message for WorkspaceService.ListWorkflowRuns.
class ListWorkflowRunsRequest {
+ string workspace
+ string workflow
+ int32 limit
}
%% Response message for WorkspaceService.ListWorkflowRuns.
class ListWorkflowRunsResponse {
+ List~WorkflowRun~ runs
}
ListWorkflowRunsResponse --> `WorkflowRun`
%% Request message for WorkspaceService.GetWorkflowRun.
class GetWorkflowRunRequest {
+ string workspace
+ string id
}
%% Response message for WorkspaceService.GetWorkflowRun.
class GetWorkflowRunResponse {
+ WorkflowRun run
}
GetWorkflowRunResponse --> `WorkflowRun`
%% Request message for WorkspaceService.WatchWorkflowRun.
class WatchWorkflowRunRequest {
+ string workspace
+ string id
}
%% Response message for WorkspaceService.WatchWorkflowRun.
class WatchWorkflowRunResponse {
+ WorkflowRun run
}
WatchWorkflowRunResponse --> `WorkflowRun`
%% Request message for WorkspaceService.WatchWorkflowRuns.
class WatchWorkflowRunsRequest {
+ string workspace
}
%% Response message for WorkspaceService.WatchWorkflowRuns.
class WatchWorkflowRunsResponse {
+ List~WorkflowRun~ runs
}
WatchWorkflowRunsResponse --> `WorkflowRun`
%% Request message for WorkspaceService.StopWorkflowRun.
class StopWorkflowRunRequest {
+ string workspace
+ string id
}
%% Response message for WorkspaceService.StopWorkflowRun.
class StopWorkflowRunResponse {
}
%% A workspace's dashboard (spec_health_044).
class WorkspaceHealth {
+ google.protobuf.Timestamp at
+ List~HealthItem~ items
+ List~HealthDay~ days
+ List~HealthSignal~ signals
+ double overall
+ Map~string, double~ by_kind
+ double previous_overall
+ google.protobuf.Timestamp last_check
+ double last_cost_usd
+ string skipped
+ string model
+ string schedule
+ google.protobuf.Timestamp next
+ double max_cost_usd
+ bool checking
+ HealthCheckProgress progress
+ int32 last_judged
+ List~string~ last_errors
}
WorkspaceHealth --> `HealthItem`
WorkspaceHealth --> `HealthDay`
WorkspaceHealth --> `HealthSignal`
WorkspaceHealth --> `HealthCheckProgress`
%% How far a check going is.
class HealthCheckProgress {
+ string item
+ int32 index
+ int32 total
+ double cost_usd
}
%% One agent, skill, rule, guardrail, eval, workflow or worker.
class HealthItem {
+ string kind
+ string name
+ string path
+ string detail
+ string problem
+ List~string~ flags
+ int32 uses
+ int32 fired
+ HealthRuns runs
+ HealthEvals evals
+ List~int32~ daily
+ HealthVerdict verdict
+ List~double~ history
}
HealthItem --> `HealthRuns`
HealthItem --> `HealthEvals`
HealthItem --> `HealthVerdict`
%% A workflow's or a worker's runs in the last 30 days.
class HealthRuns {
+ int32 runs
+ int32 done
+ int32 failed
+ int32 stopped
+ double cost_usd
+ int64 median_ms
+ google.protobuf.Timestamp last
+ string failing_step
}
%% An agent's or an eval's latest eval results.
class HealthEvals {
+ int32 runs
+ google.protobuf.Timestamp last
+ int32 passed
+ int32 cases
}
%% The judge's verdict on an item.
class HealthVerdict {
+ string model
+ google.protobuf.Timestamp at
+ List~HealthScore~ scores
+ double overall
+ string grade
+ string summary
+ List~string~ fixes
+ double cost_usd
+ bool current
}
HealthVerdict --> `HealthScore`
%% One rubric line's score.
class HealthScore {
+ string line
+ int32 score
+ string reason
}
%% One day's runs.
class HealthDay {
+ string date
+ int32 done
+ int32 failed
+ int32 stopped
+ double cost_usd
}
%% A safety signal: the reviewer's denials, a rule's or a guardrail's decisions, by what they were about.
class HealthSignal {
+ string kind
+ string about
+ int32 count
+ google.protobuf.Timestamp last
+ string detail
}
%% Request message for WorkspaceService.GetWorkspaceHealth.
class GetWorkspaceHealthRequest {
+ string workspace
}
%% Response message for WorkspaceService.GetWorkspaceHealth.
class GetWorkspaceHealthResponse {
+ WorkspaceHealth health
}
GetWorkspaceHealthResponse --> `WorkspaceHealth`
%% Request message for WorkspaceService.WatchWorkspaceHealth.
class WatchWorkspaceHealthRequest {
+ string workspace
}
%% Response message for WorkspaceService.WatchWorkspaceHealth.
class WatchWorkspaceHealthResponse {
+ WorkspaceHealth health
}
WatchWorkspaceHealthResponse --> `WorkspaceHealth`
%% Which items a check judges: kinds, items ("kind/name"), or all; force re-judges unchanged ones.
class HealthCheckScope {
+ List~string~ kinds
+ List~string~ items
+ bool force
}
%% Request message for WorkspaceService.EstimateHealthCheck.
class EstimateHealthCheckRequest {
+ string workspace
+ HealthCheckScope scope
}
EstimateHealthCheckRequest --> `HealthCheckScope`
%% Response message for WorkspaceService.EstimateHealthCheck.
class EstimateHealthCheckResponse {
+ int32 items
+ double cost_usd
+ bool priced
}
%% Request message for WorkspaceService.CheckWorkspaceHealth.
class CheckWorkspaceHealthRequest {
+ string workspace
+ HealthCheckScope scope
}
CheckWorkspaceHealthRequest --> `HealthCheckScope`
%% Response message for WorkspaceService.CheckWorkspaceHealth: one item's verdict (or why it has none), then a last one with done.
class CheckWorkspaceHealthResponse {
+ string item
+ int32 index
+ int32 total
+ HealthVerdict verdict
+ string error
+ double cost_usd
+ bool done
+ int32 judged
}
CheckWorkspaceHealthResponse --> `HealthVerdict`
%% Request message for WorkspaceService.StopHealthCheck.
class StopHealthCheckRequest {
+ string workspace
}
%% Response message for WorkspaceService.StopHealthCheck.
class StopHealthCheckResponse {
}
%% Request message for WorkspaceService.StartHealthCheck.
class StartHealthCheckRequest {
+ string workspace
+ HealthCheckScope scope
}
StartHealthCheckRequest --> `HealthCheckScope`
%% Response message for WorkspaceService.StartHealthCheck.
class StartHealthCheckResponse {
}
%% A composer conversation as it is.
class ComposeSession {
+ string id
+ string kind
+ List~ComposeTurn~ turns
+ bool asking
+ ComposeDraft draft
+ double cost_usd
}
ComposeSession --> `ComposeTurn`
ComposeSession --> `ComposeDraft`
%% One message of a composer conversation: the user's, or the composer's (a question with its suggested answers, or a draft's summary).
class ComposeTurn {
+ string role
+ string text
+ List~string~ options
}
%% A component the composer wrote: its name, a summary, its file, what the kind's checks still find wrong, and for a workflow the workflow itself.
class ComposeDraft {
+ string name
+ string summary
+ string file
+ List~string~ problems
+ WorkflowFile workflow
}
ComposeDraft --> `WorkflowFile`
%% Request message for WorkspaceService.StartCompose.
class StartComposeRequest {
+ string workspace
+ string kind
+ string request
+ string current
}
%% Response message for WorkspaceService.StartCompose.
class StartComposeResponse {
+ ComposeSession session
}
StartComposeResponse --> `ComposeSession`
%% Request message for WorkspaceService.AnswerCompose.
class AnswerComposeRequest {
+ string workspace
+ string id
+ string answer
}
%% Response message for WorkspaceService.AnswerCompose.
class AnswerComposeResponse {
+ ComposeSession session
}
AnswerComposeResponse --> `ComposeSession`
%% Request message for WorkspaceService.DropCompose.
class DropComposeRequest {
+ string workspace
+ string id
}
%% Response message for WorkspaceService.DropCompose.
class DropComposeResponse {
}
%% SuggestionKind is what a welcome tile does. The state kinds carry data for the front end to word in its own language; IDEA carries text.
class SuggestionKind{
<<enumeration>>
SUGGESTION_KIND_UNSPECIFIED
SUGGESTION_KIND_SETUP
SUGGESTION_KIND_CONTINUE
SUGGESTION_KIND_CHANGES
SUGGESTION_KIND_WORKER_FAILED
SUGGESTION_KIND_IDEA
SUGGESTION_KIND_HARNESS_UPDATE
}
%% AgentScope is where an agent's file is kept.
class AgentScope{
<<enumeration>>
AGENT_SCOPE_UNSPECIFIED
AGENT_SCOPE_WORKSPACE
AGENT_SCOPE_USER
}
%% What a repository is in the middle of.
class GitOperation{
<<enumeration>>
GIT_OPERATION_UNSPECIFIED
GIT_OPERATION_MERGE
GIT_OPERATION_REBASE
}
%% How a pull went.
class PullOutcome{
<<enumeration>>
PULL_OUTCOME_UNSPECIFIED
PULL_OUTCOME_UP_TO_DATE
PULL_OUTCOME_FAST_FORWARD
PULL_OUTCOME_MERGED
PULL_OUTCOME_REBASED
PULL_OUTCOME_CONFLICTS
}
%% How a conflicted file is settled.
class ConflictChoice{
<<enumeration>>
CONFLICT_CHOICE_UNSPECIFIED
CONFLICT_CHOICE_MINE
CONFLICT_CHOICE_THEIRS
CONFLICT_CHOICE_RESOLVED
}
class WorkspaceService {
<<service>>
+GetServiceInfo(GetServiceInfoRequest) GetServiceInfoResponse
+Shutdown(ShutdownRequest) ShutdownResponse
+ListLogDays(ListLogDaysRequest) ListLogDaysResponse
+ReadLog(ReadLogRequest) ReadLogResponse
+DeleteLogDay(DeleteLogDayRequest) DeleteLogDayResponse
+ListWorkspaces(ListWorkspacesRequest) ListWorkspacesResponse
+CloseWorkspace(CloseWorkspaceRequest) CloseWorkspaceResponse
+GetSandbox(GetSandboxRequest) GetSandboxResponse
+ListAgents(ListAgentsRequest) ListAgentsResponse
+SetAgent(SetAgentRequest) SetAgentResponse
+GetSuggestions(GetSuggestionsRequest) GetSuggestionsResponse
+ListAgentFiles(ListAgentFilesRequest) ListAgentFilesResponse
+SaveAgentFile(SaveAgentFileRequest) SaveAgentFileResponse
+DeleteAgentFile(DeleteAgentFileRequest) DeleteAgentFileResponse
+GetModel(GetModelRequest) GetModelResponse
+SetModel(SetModelRequest) SetModelResponse
+PinModel(PinModelRequest) PinModelResponse
+UnpinModel(UnpinModelRequest) UnpinModelResponse
+GetModelSettings(GetModelSettingsRequest) GetModelSettingsResponse
+UpdateModelSettings(UpdateModelSettingsRequest) UpdateModelSettingsResponse
+GetSettings(GetSettingsRequest) GetSettingsResponse
+GetGitStatus(GetGitStatusRequest) GetGitStatusResponse
+InitGitRepo(InitGitRepoRequest) InitGitRepoResponse
+DraftCommit(DraftCommitRequest) DraftCommitResponse
+Commit(CommitRequest) CommitResponse
+FetchRemote(FetchRemoteRequest) FetchRemoteResponse
+Pull(PullRequest) PullResponse
+Push(PushRequest) PushResponse
+ResolveConflict(ResolveConflictRequest) ResolveConflictResponse
+CompleteMerge(CompleteMergeRequest) CompleteMergeResponse
+AbortMerge(AbortMergeRequest) AbortMergeResponse
+ListBranches(ListBranchesRequest) ListBranchesResponse
+SwitchBranch(SwitchBranchRequest) SwitchBranchResponse
+CreateBranch(CreateBranchRequest) CreateBranchResponse
+MergeBranch(MergeBranchRequest) MergeBranchResponse
+SetSetting(SetSettingRequest) SetSettingResponse
+SetPermissionMode(SetPermissionModeRequest) SetPermissionModeResponse
+ListCommands(ListCommandsRequest) ListCommandsResponse
+ListPermissionRules(ListPermissionRulesRequest) ListPermissionRulesResponse
+AddPermissionRule(AddPermissionRuleRequest) AddPermissionRuleResponse
+RemovePermissionRule(RemovePermissionRuleRequest) RemovePermissionRuleResponse
+ListSkills(ListSkillsRequest) ListSkillsResponse
+GetSkill(GetSkillRequest) GetSkillResponse
+GetSkillFile(GetSkillFileRequest) GetSkillFileResponse
+SaveSkill(SaveSkillRequest) SaveSkillResponse
+DeleteSkill(DeleteSkillRequest) DeleteSkillResponse
+ReadSkillFile(ReadSkillFileRequest) ReadSkillFileResponse
+WriteSkillFile(WriteSkillFileRequest) WriteSkillFileResponse
+DeleteSkillFile(DeleteSkillFileRequest) DeleteSkillFileResponse
+CopySkill(CopySkillRequest) CopySkillResponse
+RunSkillScript(RunSkillScriptRequest) RunSkillScriptResponse
+ListRules(ListRulesRequest) ListRulesResponse
+SaveRule(SaveRuleRequest) SaveRuleResponse
+DeleteRule(DeleteRuleRequest) DeleteRuleResponse
+ReorderRules(ReorderRulesRequest) ReorderRulesResponse
+TryRule(TryRuleRequest) TryRuleResponse
+ListGuardrails(ListGuardrailsRequest) ListGuardrailsResponse
+SaveGuardrail(SaveGuardrailRequest) SaveGuardrailResponse
+DeleteGuardrail(DeleteGuardrailRequest) DeleteGuardrailResponse
+TryGuardrail(TryGuardrailRequest) TryGuardrailResponse
+ListEvals(ListEvalsRequest) ListEvalsResponse
+SaveEval(SaveEvalRequest) SaveEvalResponse
+DeleteEval(DeleteEvalRequest) DeleteEvalResponse
+RunEval(RunEvalRequest) Stream~RunEvalResponse~
+ListEvalRuns(ListEvalRunsRequest) ListEvalRunsResponse
+DraftEvalCases(DraftEvalCasesRequest) DraftEvalCasesResponse
+ListWorkflows(ListWorkflowsRequest) ListWorkflowsResponse
+SaveWorkflow(SaveWorkflowRequest) SaveWorkflowResponse
+DeleteWorkflow(DeleteWorkflowRequest) DeleteWorkflowResponse
+ListWorkflowRuns(ListWorkflowRunsRequest) ListWorkflowRunsResponse
+GetWorkflowRun(GetWorkflowRunRequest) GetWorkflowRunResponse
+WatchWorkflowRun(WatchWorkflowRunRequest) Stream~WatchWorkflowRunResponse~
+WatchWorkflowRuns(WatchWorkflowRunsRequest) Stream~WatchWorkflowRunsResponse~
+StopWorkflowRun(StopWorkflowRunRequest) StopWorkflowRunResponse
+GetWorkspaceHealth(GetWorkspaceHealthRequest) GetWorkspaceHealthResponse
+WatchWorkspaceHealth(WatchWorkspaceHealthRequest) Stream~WatchWorkspaceHealthResponse~
+EstimateHealthCheck(EstimateHealthCheckRequest) EstimateHealthCheckResponse
+CheckWorkspaceHealth(CheckWorkspaceHealthRequest) Stream~CheckWorkspaceHealthResponse~
+StopHealthCheck(StopHealthCheckRequest) StopHealthCheckResponse
+StartHealthCheck(StartHealthCheckRequest) StartHealthCheckResponse
+StartCompose(StartComposeRequest) StartComposeResponse
+AnswerCompose(AnswerComposeRequest) AnswerComposeResponse
+DropCompose(DropComposeRequest) DropComposeResponse
+ListHumanTasks(ListHumanTasksRequest) ListHumanTasksResponse
+WatchHumanTasks(WatchHumanTasksRequest) Stream~WatchHumanTasksResponse~
+AnswerHumanTask(AnswerHumanTaskRequest) AnswerHumanTaskResponse
+ListEnvs(ListEnvsRequest) ListEnvsResponse
+RemoveEnv(RemoveEnvRequest) RemoveEnvResponse
+PruneEnvs(PruneEnvsRequest) PruneEnvsResponse
+DraftManifest(DraftManifestRequest) DraftManifestResponse
+ListMCPServers(ListMCPServersRequest) ListMCPServersResponse
+RestartMCPServer(RestartMCPServerRequest) RestartMCPServerResponse
+ListTools(ListToolsRequest) ListToolsResponse
+ReloadMemory(ReloadMemoryRequest) ReloadMemoryResponse
+ReloadAgentFiles(ReloadAgentFilesRequest) ReloadAgentFilesResponse
+AddMemory(AddMemoryRequest) AddMemoryResponse
+ListLocales(ListLocalesRequest) ListLocalesResponse
+SetLocale(SetLocaleRequest) SetLocaleResponse
+ListCheckpoints(ListCheckpointsRequest) ListCheckpointsResponse
+Undo(UndoRequest) UndoResponse
+GetDiff(GetDiffRequest) GetDiffResponse
+ListApprovals(ListApprovalsRequest) ListApprovalsResponse
+RevokeApprovals(RevokeApprovalsRequest) RevokeApprovalsResponse
+ListProcesses(ListProcessesRequest) ListProcessesResponse
+GetProcessOutput(GetProcessOutputRequest) GetProcessOutputResponse
+KillProcess(KillProcessRequest) KillProcessResponse
+AuditShell(AuditShellRequest) AuditShellResponse
+ListTasks(ListTasksRequest) ListTasksResponse
+GetTask(GetTaskRequest) GetTaskResponse
+StopTask(StopTaskRequest) StopTaskResponse
+WatchTasks(WatchTasksRequest) Stream~WatchTasksResponse~
+ListTaskRequests(ListTaskRequestsRequest) ListTaskRequestsResponse
+GetProjectSettings(GetProjectSettingsRequest) GetProjectSettingsResponse
+TrustProject(TrustProjectRequest) TrustProjectResponse
+ForgetProjectTrust(ForgetProjectTrustRequest) ForgetProjectTrustResponse
+TakeProcessNotices(TakeProcessNoticesRequest) TakeProcessNoticesResponse
+ListStyles(ListStylesRequest) ListStylesResponse
+ListHooks(ListHooksRequest) ListHooksResponse
+ListNotes(ListNotesRequest) ListNotesResponse
+ForgetNote(ForgetNoteRequest) ForgetNoteResponse
+LoadImage(LoadImageRequest) LoadImageResponse
+AddImage(AddImageRequest) AddImageResponse
+GetSearchProvider(GetSearchProviderRequest) GetSearchProviderResponse
+SearchWeb(SearchWebRequest) SearchWebResponse
+SearchWorkspace(SearchWorkspaceRequest) SearchWorkspaceResponse
+GetSearchStatus(GetSearchStatusRequest) GetSearchStatusResponse
+Reindex(ReindexRequest) ReindexResponse
}
WorkspaceService --> `GetServiceInfoRequest`
WorkspaceService --> `GetServiceInfoResponse`
WorkspaceService --> `ShutdownRequest`
WorkspaceService --> `ShutdownResponse`
WorkspaceService --> `ListLogDaysRequest`
WorkspaceService --> `ListLogDaysResponse`
WorkspaceService --> `ReadLogRequest`
WorkspaceService --> `ReadLogResponse`
WorkspaceService --> `DeleteLogDayRequest`
WorkspaceService --> `DeleteLogDayResponse`
WorkspaceService --> `ListWorkspacesRequest`
WorkspaceService --> `ListWorkspacesResponse`
WorkspaceService --> `CloseWorkspaceRequest`
WorkspaceService --> `CloseWorkspaceResponse`
WorkspaceService --> `GetSandboxRequest`
WorkspaceService --> `GetSandboxResponse`
WorkspaceService --> `ListAgentsRequest`
WorkspaceService --> `ListAgentsResponse`
WorkspaceService --> `SetAgentRequest`
WorkspaceService --> `SetAgentResponse`
WorkspaceService --> `GetSuggestionsRequest`
WorkspaceService --> `GetSuggestionsResponse`
WorkspaceService --> `ListAgentFilesRequest`
WorkspaceService --> `ListAgentFilesResponse`
WorkspaceService --> `SaveAgentFileRequest`
WorkspaceService --> `SaveAgentFileResponse`
WorkspaceService --> `DeleteAgentFileRequest`
WorkspaceService --> `DeleteAgentFileResponse`
WorkspaceService --> `GetModelRequest`
WorkspaceService --> `GetModelResponse`
WorkspaceService --> `SetModelRequest`
WorkspaceService --> `SetModelResponse`
WorkspaceService --> `PinModelRequest`
WorkspaceService --> `PinModelResponse`
WorkspaceService --> `UnpinModelRequest`
WorkspaceService --> `UnpinModelResponse`
WorkspaceService --> `GetModelSettingsRequest`
WorkspaceService --> `GetModelSettingsResponse`
WorkspaceService --> `UpdateModelSettingsRequest`
WorkspaceService --> `UpdateModelSettingsResponse`
WorkspaceService --> `GetSettingsRequest`
WorkspaceService --> `GetSettingsResponse`
WorkspaceService --> `GetGitStatusRequest`
WorkspaceService --> `GetGitStatusResponse`
WorkspaceService --> `InitGitRepoRequest`
WorkspaceService --> `InitGitRepoResponse`
WorkspaceService --> `DraftCommitRequest`
WorkspaceService --> `DraftCommitResponse`
WorkspaceService --> `CommitRequest`
WorkspaceService --> `CommitResponse`
WorkspaceService --> `FetchRemoteRequest`
WorkspaceService --> `FetchRemoteResponse`
WorkspaceService --> `PullRequest`
WorkspaceService --> `PullResponse`
WorkspaceService --> `PushRequest`
WorkspaceService --> `PushResponse`
WorkspaceService --> `ResolveConflictRequest`
WorkspaceService --> `ResolveConflictResponse`
WorkspaceService --> `CompleteMergeRequest`
WorkspaceService --> `CompleteMergeResponse`
WorkspaceService --> `AbortMergeRequest`
WorkspaceService --> `AbortMergeResponse`
WorkspaceService --> `ListBranchesRequest`
WorkspaceService --> `ListBranchesResponse`
WorkspaceService --> `SwitchBranchRequest`
WorkspaceService --> `SwitchBranchResponse`
WorkspaceService --> `CreateBranchRequest`
WorkspaceService --> `CreateBranchResponse`
WorkspaceService --> `MergeBranchRequest`
WorkspaceService --> `MergeBranchResponse`
WorkspaceService --> `SetSettingRequest`
WorkspaceService --> `SetSettingResponse`
WorkspaceService --> `SetPermissionModeRequest`
WorkspaceService --> `SetPermissionModeResponse`
WorkspaceService --> `ListCommandsRequest`
WorkspaceService --> `ListCommandsResponse`
WorkspaceService --> `ListPermissionRulesRequest`
WorkspaceService --> `ListPermissionRulesResponse`
WorkspaceService --> `AddPermissionRuleRequest`
WorkspaceService --> `AddPermissionRuleResponse`
WorkspaceService --> `RemovePermissionRuleRequest`
WorkspaceService --> `RemovePermissionRuleResponse`
WorkspaceService --> `ListSkillsRequest`
WorkspaceService --> `ListSkillsResponse`
WorkspaceService --> `GetSkillRequest`
WorkspaceService --> `GetSkillResponse`
WorkspaceService --> `GetSkillFileRequest`
WorkspaceService --> `GetSkillFileResponse`
WorkspaceService --> `SaveSkillRequest`
WorkspaceService --> `SaveSkillResponse`
WorkspaceService --> `DeleteSkillRequest`
WorkspaceService --> `DeleteSkillResponse`
WorkspaceService --> `ReadSkillFileRequest`
WorkspaceService --> `ReadSkillFileResponse`
WorkspaceService --> `WriteSkillFileRequest`
WorkspaceService --> `WriteSkillFileResponse`
WorkspaceService --> `DeleteSkillFileRequest`
WorkspaceService --> `DeleteSkillFileResponse`
WorkspaceService --> `CopySkillRequest`
WorkspaceService --> `CopySkillResponse`
WorkspaceService --> `RunSkillScriptRequest`
WorkspaceService --> `RunSkillScriptResponse`
WorkspaceService --> `ListRulesRequest`
WorkspaceService --> `ListRulesResponse`
WorkspaceService --> `SaveRuleRequest`
WorkspaceService --> `SaveRuleResponse`
WorkspaceService --> `DeleteRuleRequest`
WorkspaceService --> `DeleteRuleResponse`
WorkspaceService --> `ReorderRulesRequest`
WorkspaceService --> `ReorderRulesResponse`
WorkspaceService --> `TryRuleRequest`
WorkspaceService --> `TryRuleResponse`
WorkspaceService --> `ListGuardrailsRequest`
WorkspaceService --> `ListGuardrailsResponse`
WorkspaceService --> `SaveGuardrailRequest`
WorkspaceService --> `SaveGuardrailResponse`
WorkspaceService --> `DeleteGuardrailRequest`
WorkspaceService --> `DeleteGuardrailResponse`
WorkspaceService --> `TryGuardrailRequest`
WorkspaceService --> `TryGuardrailResponse`
WorkspaceService --> `ListEvalsRequest`
WorkspaceService --> `ListEvalsResponse`
WorkspaceService --> `SaveEvalRequest`
WorkspaceService --> `SaveEvalResponse`
WorkspaceService --> `DeleteEvalRequest`
WorkspaceService --> `DeleteEvalResponse`
WorkspaceService --> `RunEvalRequest`
WorkspaceService --o `RunEvalResponse` : server stream
WorkspaceService --> `ListEvalRunsRequest`
WorkspaceService --> `ListEvalRunsResponse`
WorkspaceService --> `DraftEvalCasesRequest`
WorkspaceService --> `DraftEvalCasesResponse`
WorkspaceService --> `ListWorkflowsRequest`
WorkspaceService --> `ListWorkflowsResponse`
WorkspaceService --> `SaveWorkflowRequest`
WorkspaceService --> `SaveWorkflowResponse`
WorkspaceService --> `DeleteWorkflowRequest`
WorkspaceService --> `DeleteWorkflowResponse`
WorkspaceService --> `ListWorkflowRunsRequest`
WorkspaceService --> `ListWorkflowRunsResponse`
WorkspaceService --> `GetWorkflowRunRequest`
WorkspaceService --> `GetWorkflowRunResponse`
WorkspaceService --> `WatchWorkflowRunRequest`
WorkspaceService --o `WatchWorkflowRunResponse` : server stream
WorkspaceService --> `WatchWorkflowRunsRequest`
WorkspaceService --o `WatchWorkflowRunsResponse` : server stream
WorkspaceService --> `StopWorkflowRunRequest`
WorkspaceService --> `StopWorkflowRunResponse`
WorkspaceService --> `GetWorkspaceHealthRequest`
WorkspaceService --> `GetWorkspaceHealthResponse`
WorkspaceService --> `WatchWorkspaceHealthRequest`
WorkspaceService --o `WatchWorkspaceHealthResponse` : server stream
WorkspaceService --> `EstimateHealthCheckRequest`
WorkspaceService --> `EstimateHealthCheckResponse`
WorkspaceService --> `CheckWorkspaceHealthRequest`
WorkspaceService --o `CheckWorkspaceHealthResponse` : server stream
WorkspaceService --> `StopHealthCheckRequest`
WorkspaceService --> `StopHealthCheckResponse`
WorkspaceService --> `StartHealthCheckRequest`
WorkspaceService --> `StartHealthCheckResponse`
WorkspaceService --> `StartComposeRequest`
WorkspaceService --> `StartComposeResponse`
WorkspaceService --> `AnswerComposeRequest`
WorkspaceService --> `AnswerComposeResponse`
WorkspaceService --> `DropComposeRequest`
WorkspaceService --> `DropComposeResponse`
WorkspaceService --> `ListHumanTasksRequest`
WorkspaceService --> `ListHumanTasksResponse`
WorkspaceService --> `WatchHumanTasksRequest`
WorkspaceService --o `WatchHumanTasksResponse` : server stream
WorkspaceService --> `AnswerHumanTaskRequest`
WorkspaceService --> `AnswerHumanTaskResponse`
WorkspaceService --> `ListEnvsRequest`
WorkspaceService --> `ListEnvsResponse`
WorkspaceService --> `RemoveEnvRequest`
WorkspaceService --> `RemoveEnvResponse`
WorkspaceService --> `PruneEnvsRequest`
WorkspaceService --> `PruneEnvsResponse`
WorkspaceService --> `DraftManifestRequest`
WorkspaceService --> `DraftManifestResponse`
WorkspaceService --> `ListMCPServersRequest`
WorkspaceService --> `ListMCPServersResponse`
WorkspaceService --> `RestartMCPServerRequest`
WorkspaceService --> `RestartMCPServerResponse`
WorkspaceService --> `ListToolsRequest`
WorkspaceService --> `ListToolsResponse`
WorkspaceService --> `ReloadMemoryRequest`
WorkspaceService --> `ReloadMemoryResponse`
WorkspaceService --> `ReloadAgentFilesRequest`
WorkspaceService --> `ReloadAgentFilesResponse`
WorkspaceService --> `AddMemoryRequest`
WorkspaceService --> `AddMemoryResponse`
WorkspaceService --> `ListLocalesRequest`
WorkspaceService --> `ListLocalesResponse`
WorkspaceService --> `SetLocaleRequest`
WorkspaceService --> `SetLocaleResponse`
WorkspaceService --> `ListCheckpointsRequest`
WorkspaceService --> `ListCheckpointsResponse`
WorkspaceService --> `UndoRequest`
WorkspaceService --> `UndoResponse`
WorkspaceService --> `GetDiffRequest`
WorkspaceService --> `GetDiffResponse`
WorkspaceService --> `ListApprovalsRequest`
WorkspaceService --> `ListApprovalsResponse`
WorkspaceService --> `RevokeApprovalsRequest`
WorkspaceService --> `RevokeApprovalsResponse`
WorkspaceService --> `ListProcessesRequest`
WorkspaceService --> `ListProcessesResponse`
WorkspaceService --> `GetProcessOutputRequest`
WorkspaceService --> `GetProcessOutputResponse`
WorkspaceService --> `KillProcessRequest`
WorkspaceService --> `KillProcessResponse`
WorkspaceService --> `AuditShellRequest`
WorkspaceService --> `AuditShellResponse`
WorkspaceService --> `ListTasksRequest`
WorkspaceService --> `ListTasksResponse`
WorkspaceService --> `GetTaskRequest`
WorkspaceService --> `GetTaskResponse`
WorkspaceService --> `StopTaskRequest`
WorkspaceService --> `StopTaskResponse`
WorkspaceService --> `WatchTasksRequest`
WorkspaceService --o `WatchTasksResponse` : server stream
WorkspaceService --> `ListTaskRequestsRequest`
WorkspaceService --> `ListTaskRequestsResponse`
WorkspaceService --> `GetProjectSettingsRequest`
WorkspaceService --> `GetProjectSettingsResponse`
WorkspaceService --> `TrustProjectRequest`
WorkspaceService --> `TrustProjectResponse`
WorkspaceService --> `ForgetProjectTrustRequest`
WorkspaceService --> `ForgetProjectTrustResponse`
WorkspaceService --> `TakeProcessNoticesRequest`
WorkspaceService --> `TakeProcessNoticesResponse`
WorkspaceService --> `ListStylesRequest`
WorkspaceService --> `ListStylesResponse`
WorkspaceService --> `ListHooksRequest`
WorkspaceService --> `ListHooksResponse`
WorkspaceService --> `ListNotesRequest`
WorkspaceService --> `ListNotesResponse`
WorkspaceService --> `ForgetNoteRequest`
WorkspaceService --> `ForgetNoteResponse`
WorkspaceService --> `LoadImageRequest`
WorkspaceService --> `LoadImageResponse`
WorkspaceService --> `AddImageRequest`
WorkspaceService --> `AddImageResponse`
WorkspaceService --> `GetSearchProviderRequest`
WorkspaceService --> `GetSearchProviderResponse`
WorkspaceService --> `SearchWebRequest`
WorkspaceService --> `SearchWebResponse`
WorkspaceService --> `SearchWorkspaceRequest`
WorkspaceService --> `SearchWorkspaceResponse`
WorkspaceService --> `GetSearchStatusRequest`
WorkspaceService --> `GetSearchStatusResponse`
WorkspaceService --> `ReindexRequest`
WorkspaceService --> `ReindexResponse`
FQN: blitz.v1
WorkspaceService covers everything about a workspace except its conversations (SessionService) and workers (WorkerService): agents and models, settings, skills and their environments, MCP servers and tools, project memory, the reply language, checkpoints, approvals, images and web search. Mirrors pkg/api's Backend. Every request names its workspace by absolute directory; the service opens it on first use. Errors carry an ErrorInfo detail.
classDiagram
direction LR
class WorkspaceService {
<<service>>
+GetServiceInfo(GetServiceInfoRequest) GetServiceInfoResponse
+Shutdown(ShutdownRequest) ShutdownResponse
+ListLogDays(ListLogDaysRequest) ListLogDaysResponse
+ReadLog(ReadLogRequest) ReadLogResponse
+DeleteLogDay(DeleteLogDayRequest) DeleteLogDayResponse
+ListWorkspaces(ListWorkspacesRequest) ListWorkspacesResponse
+CloseWorkspace(CloseWorkspaceRequest) CloseWorkspaceResponse
+GetSandbox(GetSandboxRequest) GetSandboxResponse
+ListAgents(ListAgentsRequest) ListAgentsResponse
+SetAgent(SetAgentRequest) SetAgentResponse
+GetSuggestions(GetSuggestionsRequest) GetSuggestionsResponse
+ListAgentFiles(ListAgentFilesRequest) ListAgentFilesResponse
+SaveAgentFile(SaveAgentFileRequest) SaveAgentFileResponse
+DeleteAgentFile(DeleteAgentFileRequest) DeleteAgentFileResponse
+GetModel(GetModelRequest) GetModelResponse
+SetModel(SetModelRequest) SetModelResponse
+PinModel(PinModelRequest) PinModelResponse
+UnpinModel(UnpinModelRequest) UnpinModelResponse
+GetModelSettings(GetModelSettingsRequest) GetModelSettingsResponse
+UpdateModelSettings(UpdateModelSettingsRequest) UpdateModelSettingsResponse
+GetSettings(GetSettingsRequest) GetSettingsResponse
+GetGitStatus(GetGitStatusRequest) GetGitStatusResponse
+InitGitRepo(InitGitRepoRequest) InitGitRepoResponse
+DraftCommit(DraftCommitRequest) DraftCommitResponse
+Commit(CommitRequest) CommitResponse
+FetchRemote(FetchRemoteRequest) FetchRemoteResponse
+Pull(PullRequest) PullResponse
+Push(PushRequest) PushResponse
+ResolveConflict(ResolveConflictRequest) ResolveConflictResponse
+CompleteMerge(CompleteMergeRequest) CompleteMergeResponse
+AbortMerge(AbortMergeRequest) AbortMergeResponse
+ListBranches(ListBranchesRequest) ListBranchesResponse
+SwitchBranch(SwitchBranchRequest) SwitchBranchResponse
+CreateBranch(CreateBranchRequest) CreateBranchResponse
+MergeBranch(MergeBranchRequest) MergeBranchResponse
+SetSetting(SetSettingRequest) SetSettingResponse
+SetPermissionMode(SetPermissionModeRequest) SetPermissionModeResponse
+ListCommands(ListCommandsRequest) ListCommandsResponse
+ListPermissionRules(ListPermissionRulesRequest) ListPermissionRulesResponse
+AddPermissionRule(AddPermissionRuleRequest) AddPermissionRuleResponse
+RemovePermissionRule(RemovePermissionRuleRequest) RemovePermissionRuleResponse
+ListSkills(ListSkillsRequest) ListSkillsResponse
+GetSkill(GetSkillRequest) GetSkillResponse
+GetSkillFile(GetSkillFileRequest) GetSkillFileResponse
+SaveSkill(SaveSkillRequest) SaveSkillResponse
+DeleteSkill(DeleteSkillRequest) DeleteSkillResponse
+ReadSkillFile(ReadSkillFileRequest) ReadSkillFileResponse
+WriteSkillFile(WriteSkillFileRequest) WriteSkillFileResponse
+DeleteSkillFile(DeleteSkillFileRequest) DeleteSkillFileResponse
+CopySkill(CopySkillRequest) CopySkillResponse
+RunSkillScript(RunSkillScriptRequest) RunSkillScriptResponse
+ListRules(ListRulesRequest) ListRulesResponse
+SaveRule(SaveRuleRequest) SaveRuleResponse
+DeleteRule(DeleteRuleRequest) DeleteRuleResponse
+ReorderRules(ReorderRulesRequest) ReorderRulesResponse
+TryRule(TryRuleRequest) TryRuleResponse
+ListGuardrails(ListGuardrailsRequest) ListGuardrailsResponse
+SaveGuardrail(SaveGuardrailRequest) SaveGuardrailResponse
+DeleteGuardrail(DeleteGuardrailRequest) DeleteGuardrailResponse
+TryGuardrail(TryGuardrailRequest) TryGuardrailResponse
+ListEvals(ListEvalsRequest) ListEvalsResponse
+SaveEval(SaveEvalRequest) SaveEvalResponse
+DeleteEval(DeleteEvalRequest) DeleteEvalResponse
+RunEval(RunEvalRequest) Stream~RunEvalResponse~
+ListEvalRuns(ListEvalRunsRequest) ListEvalRunsResponse
+DraftEvalCases(DraftEvalCasesRequest) DraftEvalCasesResponse
+ListWorkflows(ListWorkflowsRequest) ListWorkflowsResponse
+SaveWorkflow(SaveWorkflowRequest) SaveWorkflowResponse
+DeleteWorkflow(DeleteWorkflowRequest) DeleteWorkflowResponse
+ListWorkflowRuns(ListWorkflowRunsRequest) ListWorkflowRunsResponse
+GetWorkflowRun(GetWorkflowRunRequest) GetWorkflowRunResponse
+WatchWorkflowRun(WatchWorkflowRunRequest) Stream~WatchWorkflowRunResponse~
+WatchWorkflowRuns(WatchWorkflowRunsRequest) Stream~WatchWorkflowRunsResponse~
+StopWorkflowRun(StopWorkflowRunRequest) StopWorkflowRunResponse
+GetWorkspaceHealth(GetWorkspaceHealthRequest) GetWorkspaceHealthResponse
+WatchWorkspaceHealth(WatchWorkspaceHealthRequest) Stream~WatchWorkspaceHealthResponse~
+EstimateHealthCheck(EstimateHealthCheckRequest) EstimateHealthCheckResponse
+CheckWorkspaceHealth(CheckWorkspaceHealthRequest) Stream~CheckWorkspaceHealthResponse~
+StopHealthCheck(StopHealthCheckRequest) StopHealthCheckResponse
+StartHealthCheck(StartHealthCheckRequest) StartHealthCheckResponse
+StartCompose(StartComposeRequest) StartComposeResponse
+AnswerCompose(AnswerComposeRequest) AnswerComposeResponse
+DropCompose(DropComposeRequest) DropComposeResponse
+ListHumanTasks(ListHumanTasksRequest) ListHumanTasksResponse
+WatchHumanTasks(WatchHumanTasksRequest) Stream~WatchHumanTasksResponse~
+AnswerHumanTask(AnswerHumanTaskRequest) AnswerHumanTaskResponse
+ListEnvs(ListEnvsRequest) ListEnvsResponse
+RemoveEnv(RemoveEnvRequest) RemoveEnvResponse
+PruneEnvs(PruneEnvsRequest) PruneEnvsResponse
+DraftManifest(DraftManifestRequest) DraftManifestResponse
+ListMCPServers(ListMCPServersRequest) ListMCPServersResponse
+RestartMCPServer(RestartMCPServerRequest) RestartMCPServerResponse
+ListTools(ListToolsRequest) ListToolsResponse
+ReloadMemory(ReloadMemoryRequest) ReloadMemoryResponse
+ReloadAgentFiles(ReloadAgentFilesRequest) ReloadAgentFilesResponse
+AddMemory(AddMemoryRequest) AddMemoryResponse
+ListLocales(ListLocalesRequest) ListLocalesResponse
+SetLocale(SetLocaleRequest) SetLocaleResponse
+ListCheckpoints(ListCheckpointsRequest) ListCheckpointsResponse
+Undo(UndoRequest) UndoResponse
+GetDiff(GetDiffRequest) GetDiffResponse
+ListApprovals(ListApprovalsRequest) ListApprovalsResponse
+RevokeApprovals(RevokeApprovalsRequest) RevokeApprovalsResponse
+ListProcesses(ListProcessesRequest) ListProcessesResponse
+GetProcessOutput(GetProcessOutputRequest) GetProcessOutputResponse
+KillProcess(KillProcessRequest) KillProcessResponse
+AuditShell(AuditShellRequest) AuditShellResponse
+ListTasks(ListTasksRequest) ListTasksResponse
+GetTask(GetTaskRequest) GetTaskResponse
+StopTask(StopTaskRequest) StopTaskResponse
+WatchTasks(WatchTasksRequest) Stream~WatchTasksResponse~
+ListTaskRequests(ListTaskRequestsRequest) ListTaskRequestsResponse
+GetProjectSettings(GetProjectSettingsRequest) GetProjectSettingsResponse
+TrustProject(TrustProjectRequest) TrustProjectResponse
+ForgetProjectTrust(ForgetProjectTrustRequest) ForgetProjectTrustResponse
+TakeProcessNotices(TakeProcessNoticesRequest) TakeProcessNoticesResponse
+ListStyles(ListStylesRequest) ListStylesResponse
+ListHooks(ListHooksRequest) ListHooksResponse
+ListNotes(ListNotesRequest) ListNotesResponse
+ForgetNote(ForgetNoteRequest) ForgetNoteResponse
+LoadImage(LoadImageRequest) LoadImageResponse
+AddImage(AddImageRequest) AddImageResponse
+GetSearchProvider(GetSearchProviderRequest) GetSearchProviderResponse
+SearchWeb(SearchWebRequest) SearchWebResponse
+SearchWorkspace(SearchWorkspaceRequest) SearchWorkspaceResponse
+GetSearchStatus(GetSearchStatusRequest) GetSearchStatusResponse
+Reindex(ReindexRequest) ReindexResponse
}
WorkspaceService --> `GetServiceInfoRequest`
WorkspaceService --> `GetServiceInfoResponse`
WorkspaceService --> `ShutdownRequest`
WorkspaceService --> `ShutdownResponse`
WorkspaceService --> `ListLogDaysRequest`
WorkspaceService --> `ListLogDaysResponse`
WorkspaceService --> `ReadLogRequest`
WorkspaceService --> `ReadLogResponse`
WorkspaceService --> `DeleteLogDayRequest`
WorkspaceService --> `DeleteLogDayResponse`
WorkspaceService --> `ListWorkspacesRequest`
WorkspaceService --> `ListWorkspacesResponse`
WorkspaceService --> `CloseWorkspaceRequest`
WorkspaceService --> `CloseWorkspaceResponse`
WorkspaceService --> `GetSandboxRequest`
WorkspaceService --> `GetSandboxResponse`
WorkspaceService --> `ListAgentsRequest`
WorkspaceService --> `ListAgentsResponse`
WorkspaceService --> `SetAgentRequest`
WorkspaceService --> `SetAgentResponse`
WorkspaceService --> `GetSuggestionsRequest`
WorkspaceService --> `GetSuggestionsResponse`
WorkspaceService --> `ListAgentFilesRequest`
WorkspaceService --> `ListAgentFilesResponse`
WorkspaceService --> `SaveAgentFileRequest`
WorkspaceService --> `SaveAgentFileResponse`
WorkspaceService --> `DeleteAgentFileRequest`
WorkspaceService --> `DeleteAgentFileResponse`
WorkspaceService --> `GetModelRequest`
WorkspaceService --> `GetModelResponse`
WorkspaceService --> `SetModelRequest`
WorkspaceService --> `SetModelResponse`
WorkspaceService --> `PinModelRequest`
WorkspaceService --> `PinModelResponse`
WorkspaceService --> `UnpinModelRequest`
WorkspaceService --> `UnpinModelResponse`
WorkspaceService --> `GetModelSettingsRequest`
WorkspaceService --> `GetModelSettingsResponse`
WorkspaceService --> `UpdateModelSettingsRequest`
WorkspaceService --> `UpdateModelSettingsResponse`
WorkspaceService --> `GetSettingsRequest`
WorkspaceService --> `GetSettingsResponse`
WorkspaceService --> `GetGitStatusRequest`
WorkspaceService --> `GetGitStatusResponse`
WorkspaceService --> `InitGitRepoRequest`
WorkspaceService --> `InitGitRepoResponse`
WorkspaceService --> `DraftCommitRequest`
WorkspaceService --> `DraftCommitResponse`
WorkspaceService --> `CommitRequest`
WorkspaceService --> `CommitResponse`
WorkspaceService --> `FetchRemoteRequest`
WorkspaceService --> `FetchRemoteResponse`
WorkspaceService --> `PullRequest`
WorkspaceService --> `PullResponse`
WorkspaceService --> `PushRequest`
WorkspaceService --> `PushResponse`
WorkspaceService --> `ResolveConflictRequest`
WorkspaceService --> `ResolveConflictResponse`
WorkspaceService --> `CompleteMergeRequest`
WorkspaceService --> `CompleteMergeResponse`
WorkspaceService --> `AbortMergeRequest`
WorkspaceService --> `AbortMergeResponse`
WorkspaceService --> `ListBranchesRequest`
WorkspaceService --> `ListBranchesResponse`
WorkspaceService --> `SwitchBranchRequest`
WorkspaceService --> `SwitchBranchResponse`
WorkspaceService --> `CreateBranchRequest`
WorkspaceService --> `CreateBranchResponse`
WorkspaceService --> `MergeBranchRequest`
WorkspaceService --> `MergeBranchResponse`
WorkspaceService --> `SetSettingRequest`
WorkspaceService --> `SetSettingResponse`
WorkspaceService --> `SetPermissionModeRequest`
WorkspaceService --> `SetPermissionModeResponse`
WorkspaceService --> `ListCommandsRequest`
WorkspaceService --> `ListCommandsResponse`
WorkspaceService --> `ListPermissionRulesRequest`
WorkspaceService --> `ListPermissionRulesResponse`
WorkspaceService --> `AddPermissionRuleRequest`
WorkspaceService --> `AddPermissionRuleResponse`
WorkspaceService --> `RemovePermissionRuleRequest`
WorkspaceService --> `RemovePermissionRuleResponse`
WorkspaceService --> `ListSkillsRequest`
WorkspaceService --> `ListSkillsResponse`
WorkspaceService --> `GetSkillRequest`
WorkspaceService --> `GetSkillResponse`
WorkspaceService --> `GetSkillFileRequest`
WorkspaceService --> `GetSkillFileResponse`
WorkspaceService --> `SaveSkillRequest`
WorkspaceService --> `SaveSkillResponse`
WorkspaceService --> `DeleteSkillRequest`
WorkspaceService --> `DeleteSkillResponse`
WorkspaceService --> `ReadSkillFileRequest`
WorkspaceService --> `ReadSkillFileResponse`
WorkspaceService --> `WriteSkillFileRequest`
WorkspaceService --> `WriteSkillFileResponse`
WorkspaceService --> `DeleteSkillFileRequest`
WorkspaceService --> `DeleteSkillFileResponse`
WorkspaceService --> `CopySkillRequest`
WorkspaceService --> `CopySkillResponse`
WorkspaceService --> `RunSkillScriptRequest`
WorkspaceService --> `RunSkillScriptResponse`
WorkspaceService --> `ListRulesRequest`
WorkspaceService --> `ListRulesResponse`
WorkspaceService --> `SaveRuleRequest`
WorkspaceService --> `SaveRuleResponse`
WorkspaceService --> `DeleteRuleRequest`
WorkspaceService --> `DeleteRuleResponse`
WorkspaceService --> `ReorderRulesRequest`
WorkspaceService --> `ReorderRulesResponse`
WorkspaceService --> `TryRuleRequest`
WorkspaceService --> `TryRuleResponse`
WorkspaceService --> `ListGuardrailsRequest`
WorkspaceService --> `ListGuardrailsResponse`
WorkspaceService --> `SaveGuardrailRequest`
WorkspaceService --> `SaveGuardrailResponse`
WorkspaceService --> `DeleteGuardrailRequest`
WorkspaceService --> `DeleteGuardrailResponse`
WorkspaceService --> `TryGuardrailRequest`
WorkspaceService --> `TryGuardrailResponse`
WorkspaceService --> `ListEvalsRequest`
WorkspaceService --> `ListEvalsResponse`
WorkspaceService --> `SaveEvalRequest`
WorkspaceService --> `SaveEvalResponse`
WorkspaceService --> `DeleteEvalRequest`
WorkspaceService --> `DeleteEvalResponse`
WorkspaceService --> `RunEvalRequest`
WorkspaceService --o `RunEvalResponse` : server stream
WorkspaceService --> `ListEvalRunsRequest`
WorkspaceService --> `ListEvalRunsResponse`
WorkspaceService --> `DraftEvalCasesRequest`
WorkspaceService --> `DraftEvalCasesResponse`
WorkspaceService --> `ListWorkflowsRequest`
WorkspaceService --> `ListWorkflowsResponse`
WorkspaceService --> `SaveWorkflowRequest`
WorkspaceService --> `SaveWorkflowResponse`
WorkspaceService --> `DeleteWorkflowRequest`
WorkspaceService --> `DeleteWorkflowResponse`
WorkspaceService --> `ListWorkflowRunsRequest`
WorkspaceService --> `ListWorkflowRunsResponse`
WorkspaceService --> `GetWorkflowRunRequest`
WorkspaceService --> `GetWorkflowRunResponse`
WorkspaceService --> `WatchWorkflowRunRequest`
WorkspaceService --o `WatchWorkflowRunResponse` : server stream
WorkspaceService --> `WatchWorkflowRunsRequest`
WorkspaceService --o `WatchWorkflowRunsResponse` : server stream
WorkspaceService --> `StopWorkflowRunRequest`
WorkspaceService --> `StopWorkflowRunResponse`
WorkspaceService --> `GetWorkspaceHealthRequest`
WorkspaceService --> `GetWorkspaceHealthResponse`
WorkspaceService --> `WatchWorkspaceHealthRequest`
WorkspaceService --o `WatchWorkspaceHealthResponse` : server stream
WorkspaceService --> `EstimateHealthCheckRequest`
WorkspaceService --> `EstimateHealthCheckResponse`
WorkspaceService --> `CheckWorkspaceHealthRequest`
WorkspaceService --o `CheckWorkspaceHealthResponse` : server stream
WorkspaceService --> `StopHealthCheckRequest`
WorkspaceService --> `StopHealthCheckResponse`
WorkspaceService --> `StartHealthCheckRequest`
WorkspaceService --> `StartHealthCheckResponse`
WorkspaceService --> `StartComposeRequest`
WorkspaceService --> `StartComposeResponse`
WorkspaceService --> `AnswerComposeRequest`
WorkspaceService --> `AnswerComposeResponse`
WorkspaceService --> `DropComposeRequest`
WorkspaceService --> `DropComposeResponse`
WorkspaceService --> `ListHumanTasksRequest`
WorkspaceService --> `ListHumanTasksResponse`
WorkspaceService --> `WatchHumanTasksRequest`
WorkspaceService --o `WatchHumanTasksResponse` : server stream
WorkspaceService --> `AnswerHumanTaskRequest`
WorkspaceService --> `AnswerHumanTaskResponse`
WorkspaceService --> `ListEnvsRequest`
WorkspaceService --> `ListEnvsResponse`
WorkspaceService --> `RemoveEnvRequest`
WorkspaceService --> `RemoveEnvResponse`
WorkspaceService --> `PruneEnvsRequest`
WorkspaceService --> `PruneEnvsResponse`
WorkspaceService --> `DraftManifestRequest`
WorkspaceService --> `DraftManifestResponse`
WorkspaceService --> `ListMCPServersRequest`
WorkspaceService --> `ListMCPServersResponse`
WorkspaceService --> `RestartMCPServerRequest`
WorkspaceService --> `RestartMCPServerResponse`
WorkspaceService --> `ListToolsRequest`
WorkspaceService --> `ListToolsResponse`
WorkspaceService --> `ReloadMemoryRequest`
WorkspaceService --> `ReloadMemoryResponse`
WorkspaceService --> `ReloadAgentFilesRequest`
WorkspaceService --> `ReloadAgentFilesResponse`
WorkspaceService --> `AddMemoryRequest`
WorkspaceService --> `AddMemoryResponse`
WorkspaceService --> `ListLocalesRequest`
WorkspaceService --> `ListLocalesResponse`
WorkspaceService --> `SetLocaleRequest`
WorkspaceService --> `SetLocaleResponse`
WorkspaceService --> `ListCheckpointsRequest`
WorkspaceService --> `ListCheckpointsResponse`
WorkspaceService --> `UndoRequest`
WorkspaceService --> `UndoResponse`
WorkspaceService --> `GetDiffRequest`
WorkspaceService --> `GetDiffResponse`
WorkspaceService --> `ListApprovalsRequest`
WorkspaceService --> `ListApprovalsResponse`
WorkspaceService --> `RevokeApprovalsRequest`
WorkspaceService --> `RevokeApprovalsResponse`
WorkspaceService --> `ListProcessesRequest`
WorkspaceService --> `ListProcessesResponse`
WorkspaceService --> `GetProcessOutputRequest`
WorkspaceService --> `GetProcessOutputResponse`
WorkspaceService --> `KillProcessRequest`
WorkspaceService --> `KillProcessResponse`
WorkspaceService --> `AuditShellRequest`
WorkspaceService --> `AuditShellResponse`
WorkspaceService --> `ListTasksRequest`
WorkspaceService --> `ListTasksResponse`
WorkspaceService --> `GetTaskRequest`
WorkspaceService --> `GetTaskResponse`
WorkspaceService --> `StopTaskRequest`
WorkspaceService --> `StopTaskResponse`
WorkspaceService --> `WatchTasksRequest`
WorkspaceService --o `WatchTasksResponse` : server stream
WorkspaceService --> `ListTaskRequestsRequest`
WorkspaceService --> `ListTaskRequestsResponse`
WorkspaceService --> `GetProjectSettingsRequest`
WorkspaceService --> `GetProjectSettingsResponse`
WorkspaceService --> `TrustProjectRequest`
WorkspaceService --> `TrustProjectResponse`
WorkspaceService --> `ForgetProjectTrustRequest`
WorkspaceService --> `ForgetProjectTrustResponse`
WorkspaceService --> `TakeProcessNoticesRequest`
WorkspaceService --> `TakeProcessNoticesResponse`
WorkspaceService --> `ListStylesRequest`
WorkspaceService --> `ListStylesResponse`
WorkspaceService --> `ListHooksRequest`
WorkspaceService --> `ListHooksResponse`
WorkspaceService --> `ListNotesRequest`
WorkspaceService --> `ListNotesResponse`
WorkspaceService --> `ForgetNoteRequest`
WorkspaceService --> `ForgetNoteResponse`
WorkspaceService --> `LoadImageRequest`
WorkspaceService --> `LoadImageResponse`
WorkspaceService --> `AddImageRequest`
WorkspaceService --> `AddImageResponse`
WorkspaceService --> `GetSearchProviderRequest`
WorkspaceService --> `GetSearchProviderResponse`
WorkspaceService --> `SearchWebRequest`
WorkspaceService --> `SearchWebResponse`
WorkspaceService --> `SearchWorkspaceRequest`
WorkspaceService --> `SearchWorkspaceResponse`
WorkspaceService --> `GetSearchStatusRequest`
WorkspaceService --> `GetSearchStatusResponse`
WorkspaceService --> `ReindexRequest`
WorkspaceService --> `ReindexResponse`
| Method | Parameter (In) | Parameter (Out) | Description |
|---|---|---|---|
| GetServiceInfo | GetServiceInfoRequest | GetServiceInfoResponse | Describes the service itself, so a client can tell whether it’s the version it expects (older services don’t have it: Unimplemented). |
| Shutdown | ShutdownRequest | ShutdownResponse | Stops the service as SIGTERM does: turns in progress get a few seconds, then it exits. For clients that can’t signal it (Windows, where it isn’t a login item: the tray stops it this way). A service that can’t stop itself (one in a test) is FAILED_PRECONDITION. |
| ListLogDays | ListLogDaysRequest | ListLogDaysResponse | The days the service has a log for, newest first, and its log directory. |
| ReadLog | ReadLogRequest | ReadLogResponse | A day’s log records, newest first, filtered by level and text. |
| DeleteLogDay | DeleteLogDayRequest | DeleteLogDayResponse | Deletes a past day’s log. Today’s is being written: LOG_IN_USE; a day with no log is LOG_NOT_FOUND. |
| ListWorkspaces | ListWorkspacesRequest | ListWorkspacesResponse | Returns the workspaces the service has open. |
| CloseWorkspace | CloseWorkspaceRequest | CloseWorkspaceResponse | Closes a workspace: kills its background processes and MCP servers. |
| GetSandbox | GetSandboxRequest | GetSandboxResponse | Describes the sandbox commands run in, one line each. |
| ListAgents | ListAgentsRequest | ListAgentsResponse | Returns every agent and which is active. |
| SetAgent | SetAgentRequest | SetAgentResponse | Makes an agent the active one (UNKNOWN_AGENT). |
| GetSuggestions | GetSuggestionsRequest | GetSuggestionsResponse | Returns what the welcome screen suggests for the workspace: tiles from its state at once, and up to three a model wrote from the recent conversations (cached; pending while new ones are being written), and whether it has no agent instructions yet, so setup (/setup) is offered. |
| ListAgentFiles | ListAgentFilesRequest | ListAgentFilesResponse | Lists the agent files of a scope: the workspace’s (.agents/agents) or the user’s (~/.blitz/agents), with why a file doesn’t load. |
| SaveAgentFile | SaveAgentFileRequest | SaveAgentFileResponse | Writes an agent’s file, a new one or in place of previous_name’s; what is wrong with it comes back as problems, with nothing written. |
| DeleteAgentFile | DeleteAgentFileRequest | DeleteAgentFileResponse | Deletes an agent’s file (UNKNOWN_AGENT). |
| GetModel | GetModelRequest | GetModelResponse | Returns the model the active agent runs on. |
| SetModel | SetModelRequest | SetModelResponse | Switches every unpinned agent to a model. |
| PinModel | PinModelRequest | PinModelResponse | Pins an agent to a model and saves the pin (UNKNOWN_AGENT). |
| UnpinModel | UnpinModelRequest | UnpinModelResponse | Returns an agent to the configured model, or its own default. |
| GetModelSettings | GetModelSettingsRequest | GetModelSettingsResponse | Returns every model’s generation settings, or one model’s. |
| UpdateModelSettings | UpdateModelSettingsRequest | UpdateModelSettingsResponse | Changes a model’s generation settings and saves them (BAD_MODEL_REF, INVALID_SETTING; nothing changes on error). |
| GetSettings | GetSettingsRequest | GetSettingsResponse | Returns the agency level, plus model, agent and reply language. |
| GetGitStatus | GetGitStatusRequest | GetGitStatusResponse | Returns the workspace’s git branch and how many files differ from HEAD (repo false outside a repository; one with no commit yet is a repository), and whether git is installed, for the status bar and Changes. |
| InitGitRepo | InitGitRepoRequest | InitGitRepoResponse | Makes the workspace a git repository (git init) unless it’s in one already, and returns its git status (NO_GIT without git on the service’s PATH, GIT_FAILED). |
| DraftCommit | DraftCommitRequest | DraftCommitResponse | Lists what’s staged (everything staged first with stage_all, as git add –all) and has the model draft a commit message from its diff, secrets redacted; nothing is asked with nothing staged, and a model that fails leaves the message empty with problem saying why (NOT_A_REPOSITORY, GIT_FAILED). |
| Commit | CommitRequest | CommitResponse | Commits what’s staged with the message (the repository’s hooks run) (NOT_A_REPOSITORY, NOTHING_STAGED, EMPTY_MESSAGE, GIT_FAILED). |
| FetchRemote | FetchRemoteRequest | FetchRemoteResponse | Fetches the upstream’s remote (else every remote) for the ahead and behind counts, and returns the git status (NOT_A_REPOSITORY, NO_REMOTE, REPO_CONFIG_COMMAND, REMOTE_AUTH, GIT_FAILED). |
| Pull | PullRequest | PullResponse | Pulls the upstream’s commits as the repository’s git config says (pull.rebase, pull.ff; a merge when neither is set), keeping uncommitted changes. One that stops on conflicts isn’t an error: its outcome is CONFLICTS (NOT_A_REPOSITORY, NO_UPSTREAM, GIT_BUSY, REPO_CONFIG_COMMAND, REMOTE_AUTH, GIT_FAILED). |
| Push | PushRequest | PushResponse | Pushes the branch to its upstream, or publishes it to the remote and tracks it (NOT_A_REPOSITORY, NO_REMOTE, GIT_BUSY, PUSH_REJECTED, REPO_CONFIG_COMMAND, REMOTE_AUTH, GIT_FAILED). |
| ResolveConflict | ResolveConflictRequest | ResolveConflictResponse | Settles a file a pull left in conflict (NO_MERGE, NOT_CONFLICTED, MARKERS_REMAIN, BAD_PATH, REPO_CONFIG_COMMAND, GIT_FAILED). |
| CompleteMerge | CompleteMergeRequest | CompleteMergeResponse | Completes the merge or rebase a pull started; a rebase may stop on its next commit’s conflicts (NO_MERGE, CONFLICTS_REMAIN, REPO_CONFIG_COMMAND, GIT_FAILED). |
| AbortMerge | AbortMergeRequest | AbortMergeResponse | Gives up the merge or rebase a pull started, putting the branch and the uncommitted changes back (NO_MERGE, REPO_CONFIG_COMMAND, GIT_FAILED). |
| ListBranches | ListBranchesRequest | ListBranchesResponse | Lists the local branches, then the remotes’ branches no local branch tracks, each newest commit first (NOT_A_REPOSITORY, GIT_FAILED). |
| SwitchBranch | SwitchBranchRequest | SwitchBranchResponse | Checks out a branch, carrying uncommitted changes along; a remote’s branch gets a local one that tracks it (NOT_A_REPOSITORY, NO_BRANCH, BAD_BRANCH_NAME, LOCAL_CHANGES, GIT_BUSY, REPO_CONFIG_COMMAND, GIT_FAILED). |
| CreateBranch | CreateBranchRequest | CreateBranchResponse | Makes a branch at the current commit and switches to it, keeping uncommitted changes (NOT_A_REPOSITORY, BRANCH_EXISTS, BAD_BRANCH_NAME, GIT_BUSY, REPO_CONFIG_COMMAND, GIT_FAILED). |
| MergeBranch | MergeBranchRequest | MergeBranchResponse | Merges a branch into the current one, keeping uncommitted changes. One that stops on conflicts isn’t an error: its outcome is CONFLICTS, and ResolveConflict, CompleteMerge and AbortMerge finish it (NOT_A_REPOSITORY, NO_BRANCH, BAD_BRANCH_NAME, MERGE_SELF, GIT_BUSY, REPO_CONFIG_COMMAND, GIT_FAILED). |
| SetSetting | SetSettingRequest | SetSettingResponse | Changes a setting for the workspace: agency, or effort (a reasoning effort, or “auto” to clear it) (UNKNOWN_SETTING, INVALID_AGENCY, INVALID_SETTING). |
| SetPermissionMode | SetPermissionModeRequest | SetPermissionModeResponse | Changes which actions run without asking, for every session of the workspace (UNKNOWN_MODE; BYPASS_NEEDS_SANDBOX when bypass is asked for without an active OS sandbox). |
| ListCommands | ListCommandsRequest | ListCommandsResponse | Returns the custom slash commands: command files, bundled commands, and skills run by name. |
| ListPermissionRules | ListPermissionRulesRequest | ListPermissionRulesResponse | Returns the permission rules in force: deny, then ask, then allow. |
| AddPermissionRule | AddPermissionRuleRequest | AddPermissionRuleResponse | Adds an allow, ask or deny rule for the workspace and, with save, to a settings file: the global one or, with scope “workspace”, the workspace’s own (BAD_RULE). Read rules must be saved and apply from the next start. |
| RemovePermissionRule | RemovePermissionRuleRequest | RemovePermissionRuleResponse | Removes a rule (any effect), and with save from a settings file. |
| ListSkills | ListSkillsRequest | ListSkillsResponse | Returns the skills found, or those matching a query. |
| GetSkill | GetSkillRequest | GetSkillResponse | Returns one skill (SKILL_NOT_FOUND). |
| GetSkillFile | GetSkillFileRequest | GetSkillFileResponse | Returns a skill as Studio edits it: its SKILL.md’s fields and hash, and whether it’s the workspace’s own, which may be edited (SKILL_NOT_FOUND; spec_skills_013 SK-100). |
| SaveSkill | SaveSkillRequest | SaveSkillResponse | Writes a skill of the workspace’s from Studio’s form: a new one in .agents/skills, or an existing one (renamed when the name differs) if its SKILL.md still has the hash read (HASH_MISMATCH). Its front matter’s other fields are kept. Problems are returned, with nothing written, when it can’t be saved. |
| DeleteSkill | DeleteSkillRequest | DeleteSkillResponse | Deletes a skill of the workspace’s: its folder (SKILL_NOT_FOUND). |
| ReadSkillFile | ReadSkillFileRequest | ReadSkillFileResponse | Returns one of a skill’s files (references/…, scripts/…). |
| WriteSkillFile | WriteSkillFileRequest | WriteSkillFileResponse | Writes one of a workspace skill’s files, under references/ or scripts/, never outside its folder. |
| DeleteSkillFile | DeleteSkillFileRequest | DeleteSkillFileResponse | Removes one of a workspace skill’s files. |
| CopySkill | CopySkillRequest | CopySkillResponse | Copies any skill the workspace sees into .agents/skills under a name of its own, files and all, to edit (problems, nothing written, when the name won’t do). |
| RunSkillScript | RunSkillScriptRequest | RunSkillScriptResponse | Runs one of a skill’s scripts now with arguments, as run_skill_script would (the policy, its sandbox and the permission rules apply): the user starts it, so its approvals are given. |
| ListRules | ListRulesRequest | ListRulesResponse | Returns the workspace’s rules (spec_gates_041): the gates in the order they run (before the agent, then after), then the instruction rules. |
| SaveRule | SaveRuleRequest | SaveRuleResponse | Writes a rule in .agents/rules from Studio’s form (renamed when the name differs from previous_name), keeping its front matter’s other fields; problems, with nothing written, when it can’t be saved. |
| DeleteRule | DeleteRuleRequest | DeleteRuleResponse | Deletes a rule from .agents/rules (RULE_NOT_FOUND). |
| ReorderRules | ReorderRulesRequest | ReorderRulesResponse | Numbers the named rules in .agents/rules 10, 20, 30… in the order given: the order they run. |
| TryRule | TryRuleRequest | TryRuleResponse | Judges a sample against a rule as written (Try it): a prompt for a before-agent rule, an answer for an after-agent one. A judge that fails gives problem. |
| ListGuardrails | ListGuardrailsRequest | ListGuardrailsResponse | Returns the workspace’s guardrails (spec_gates_041): each built-in one (its file, or its defaults), then the custom ones. |
| SaveGuardrail | SaveGuardrailRequest | SaveGuardrailResponse | Writes a guardrail in .agents/guardrails from Studio’s form (a built-in’s file holds its settings, or switches it off), keeping its front matter’s other fields; problems, with nothing written, when it can’t be saved. |
| DeleteGuardrail | DeleteGuardrailRequest | DeleteGuardrailResponse | Deletes a guardrail from .agents/guardrails (a built-in’s: back to its defaults; GUARDRAIL_NOT_FOUND). |
| TryGuardrail | TryGuardrailRequest | TryGuardrailResponse | Checks a sample against a guardrail as written (Try it): a custom one by the judge, the injection and secrets ones by their patterns. A judge that fails gives problem. |
| ListEvals | ListEvalsRequest | ListEvalsResponse | Returns the workspace’s evals (spec_evals_042), by name, each with its last run’s status. |
| SaveEval | SaveEvalRequest | SaveEvalResponse | Writes an eval in .agents/evals from Studio’s form, keeping its front matter’s other fields and the text around its table; problems, with nothing written, when it can’t be saved (EVAL_NOT_FOUND for an unknown previous_name). |
| DeleteEval | DeleteEvalRequest | DeleteEvalResponse | Deletes an eval from .agents/evals (EVAL_NOT_FOUND). |
| RunEval | RunEvalRequest | Stream<RunEvalResponse> | Runs an eval: its cases (or those named) on each of its agents, streaming each result as it’s scored, then the finished run, which is recorded. An eval with a problem, or no case to run, is FAILED_PRECONDITION (EVAL_NOT_RUNNABLE). |
| ListEvalRuns | ListEvalRunsRequest | ListEvalRunsResponse | Returns an eval’s recorded runs, newest first. |
| DraftEvalCases | DraftEvalCasesRequest | DraftEvalCasesResponse | Drafts cases for an agent from its description and instructions, beside the cases given, saving nothing. An unknown agent is INVALID_ARGUMENT; a model that fails gives problem. |
| ListWorkflows | ListWorkflowsRequest | ListWorkflowsResponse | Returns the workspace’s workflows (spec_workflows_043), by name. Run one as a turn ("/name input"), in a session or in the background. |
| SaveWorkflow | SaveWorkflowRequest | SaveWorkflowResponse | Writes a workflow in .agents/workflows from Studio’s canvas; problems, with nothing written, when it can’t be saved (WORKFLOW_NOT_FOUND for an unknown previous_name). A step not filled in yet is saved, and is the workflow’s problem until it is. |
| DeleteWorkflow | DeleteWorkflowRequest | DeleteWorkflowResponse | Deletes a workflow from .agents/workflows (WORKFLOW_NOT_FOUND). |
| ListWorkflowRuns | ListWorkflowRunsRequest | ListWorkflowRunsResponse | Returns workflows’ runs, newest first: each run’s receipt (WF-19) without its events and its steps’ text. Running ones are as they are now. |
| GetWorkflowRun | GetWorkflowRunRequest | GetWorkflowRunResponse | Returns one run’s whole receipt (RUN_NOT_FOUND). |
| WatchWorkflowRun | WatchWorkflowRunRequest | Stream<WatchWorkflowRunResponse> | Streams one run’s receipt: as it is, then again each time it changes, until the run ends or pauses (RUN_NOT_FOUND). |
| WatchWorkflowRuns | WatchWorkflowRunsRequest | Stream<WatchWorkflowRunsResponse> | Streams the runs going and those that ended lately (summaries): as they are, then again each time one starts, changes state or ends, so a client shows what’s running and hears of a failure from anywhere. |
| StopWorkflowRun | StopWorkflowRunRequest | StopWorkflowRunResponse | Stops a running workflow run, wherever it was started (a chat, the background, a worker); RUN_NOT_FOUND when it isn’t running. |
| GetWorkspaceHealth | GetWorkspaceHealthRequest | GetWorkspaceHealthResponse | The workspace dashboard (spec_health_044): the facts about its items and runs, each item’s latest verdict, and the scores. |
| WatchWorkspaceHealth | WatchWorkspaceHealthRequest | Stream<WatchWorkspaceHealthResponse> | Streams the dashboard: as it is, then again each time it changes (a file, a run, a verdict). |
| EstimateHealthCheck | EstimateHealthCheckRequest | EstimateHealthCheckResponse | How many items a check would judge, and its estimated cost. |
| CheckWorkspaceHealth | CheckWorkspaceHealthRequest | Stream<CheckWorkspaceHealthResponse> | Judges the items that changed (or all, with force), one at a time, streaming each verdict; HEALTH_CHECK_RUNNING when one is going. |
| StopHealthCheck | StopHealthCheckRequest | StopHealthCheckResponse | Stops the workspace’s check after the item being judged. |
| StartHealthCheck | StartHealthCheckRequest | StartHealthCheckResponse | Starts a check in the service and returns at once: it goes on whoever watches, its progress in the dashboard (WorkspaceHealth.progress); HEALTH_CHECK_RUNNING when one is going. |
| StartCompose | StartComposeRequest | StartComposeResponse | The composer (spec_composer_045): starts a guided conversation that makes a component of a kind (“workflow”), and runs its first turn: a question, or a draft checked by the kind’s own rules. |
| AnswerCompose | AnswerComposeRequest | AnswerComposeResponse | Answers the composer’s question (or asks a change of its draft) and runs its next turn; COMPOSE_NOT_FOUND once the session has ended. |
| DropCompose | DropComposeRequest | DropComposeResponse | Ends a composer session. |
| ListHumanTasks | ListHumanTasksRequest | ListHumanTasksResponse | Returns the tasks paused workflow runs wait on (human tasks’ forms, timers), oldest first: one workspace’s, or every one’s. |
| WatchHumanTasks | WatchHumanTasksRequest | Stream<WatchHumanTasksResponse> | Streams the tasks: the list now, then again each time it changes (a run pauses, a task is answered, a timer fires). |
| AnswerHumanTask | AnswerHumanTaskRequest | AnswerHumanTaskResponse | Answers a human task with A2UI’s action message, checked against its form by the service: its run resumes in the background (TASK_NOT_FOUND; ANSWER_INVALID with the problems; NOT_ANSWERABLE for a timer; WORKFLOW_CHANGED when its workflow changed since). |
| ListEnvs | ListEnvsRequest | ListEnvsResponse | Returns skill scripts’ environments (SCRIPTS_DISABLED). |
| RemoveEnv | RemoveEnvRequest | RemoveEnvResponse | Removes one environment. |
| PruneEnvs | PruneEnvsRequest | PruneEnvsResponse | Removes environments no allowed script needs, and incomplete ones. |
| DraftManifest | DraftManifestRequest | DraftManifestResponse | Has the model write or improve a manifest field (an agent’s or a skill’s instructions, a script, a rule): nothing is saved. |
| ListMCPServers | ListMCPServersRequest | ListMCPServersResponse | Returns the configured MCP servers and how each is doing. |
| RestartMCPServer | RestartMCPServerRequest | RestartMCPServerResponse | Stops an MCP server and starts it afresh when the next turn lists its tools (NOT_FOUND when it isn’t running). |
| ListTools | ListToolsRequest | ListToolsResponse | Returns what the active agent can use. |
| ReloadMemory | ReloadMemoryRequest | ReloadMemoryResponse | Re-reads project instruction files and returns their paths. |
| ReloadAgentFiles | ReloadAgentFilesRequest | ReloadAgentFilesResponse | Re-reads the agents, skills, instruction files and rules whether or not they look changed, and says what it loaded (/reload). Each turn already reloads what changed; MCP servers aren’t restarted. |
| AddMemory | AddMemoryRequest | AddMemoryResponse | Appends a note to the project instruction file. |
| ListLocales | ListLocalesRequest | ListLocalesResponse | Returns the languages with an interface catalog. |
| SetLocale | SetLocaleRequest | SetLocaleResponse | Sets the language the model replies in and saves it (UNKNOWN_LOCALE). The client switches its own interface language to the returned tag. |
| ListCheckpoints | ListCheckpointsRequest | ListCheckpointsResponse | Returns the turns that changed files, newest first. |
| Undo | UndoRequest | UndoResponse | Restores the files the latest turn with changes modified (UNDO_CONFLICT unless force; NOTHING_TO_UNDO when none are left). |
| GetDiff | GetDiffRequest | GetDiffResponse | Returns a diff of the agent’s changes this session, or git’s. |
| ListApprovals | ListApprovalsRequest | ListApprovalsResponse | Returns standing approvals. |
| RevokeApprovals | RevokeApprovalsRequest | RevokeApprovalsResponse | Revokes approvals by key, or all of them. |
| ListProcesses | ListProcessesRequest | ListProcessesResponse | Returns the background processes started in the given sessions’ turns (a client’s), finished ones too, ordered by ID. |
| GetProcessOutput | GetProcessOutputRequest | GetProcessOutputResponse | Returns a background process’s captured output and status (UNKNOWN_PROCESS unless one of the given sessions started it). |
| KillProcess | KillProcessRequest | KillProcessResponse | Stops a background process and its descendants (UNKNOWN_PROCESS unless one of the given sessions started it). |
| AuditShell | AuditShellRequest | AuditShellResponse | Records in the workspace’s audit log a command the user ran directly in a client (!cmd), as user_shell. |
| ListTasks | ListTasksRequest | ListTasksResponse | Returns the background tasks (invoke_agent with background: true) started in the given sessions’ turns, oldest first. |
| GetTask | GetTaskRequest | GetTaskResponse | Returns a background task with its latest events (UNKNOWN_TASK unless one of the given sessions started it). |
| StopTask | StopTaskRequest | StopTaskResponse | Stops a background task (UNKNOWN_TASK unless one of the given sessions started it). |
| WatchTasks | WatchTasksRequest | Stream<WatchTasksResponse> | Streams what happens to the given sessions’ background tasks outside turns: first their active tasks and waiting requests, then ready, then each change. Requests are answered with SessionService.Approve and Answer. |
| ListTaskRequests | ListTaskRequestsRequest | ListTaskRequestsResponse | Returns the given sessions’ tasks’ approval requests and questions waiting for an answer. |
| GetProjectSettings | GetProjectSettingsRequest | GetProjectSettingsResponse | Returns the workspace’s project settings (.blitz/settings.toml) and the trust decision for the part that runs code or loosens a policy. |
| TrustProject | TrustProjectRequest | TrustProjectResponse | Records trusting or declining the project settings with the hash shown (PROJECT_CHANGED if they have changed since), and reopens the workspace so they take effect, unless a turn is running in it. |
| ForgetProjectTrust | ForgetProjectTrustRequest | ForgetProjectTrustResponse | Forgets the decision about the project settings (blitz trust –revoke): they wait for trust again, and the workspace reopens without them unless a turn is running in it. |
| TakeProcessNotices | TakeProcessNoticesRequest | TakeProcessNoticesResponse | Removes and returns what watched background processes (notify) of a session reported while no turn ran there. |
| ListStyles | ListStylesRequest | ListStylesResponse | Returns the output styles, with the one in use (SetSetting “style” changes it). |
| ListHooks | ListHooksRequest | ListHooksResponse | Returns the configured hooks, by event, with their recent failures. |
| ListNotes | ListNotesRequest | ListNotesResponse | Returns the notes the agent saved across sessions of the workspace with its remember tool, newest first. |
| ForgetNote | ForgetNoteRequest | ForgetNoteResponse | Deletes one of those notes, by its name (NO_NOTE). |
| LoadImage | LoadImageRequest | LoadImageResponse | Reads an image or a PDF from the workspace for a prompt (IMAGES_DISABLED). |
| AddImage | AddImageRequest | AddImageResponse | Stores image or PDF data (e.g. pasted) for a prompt (IMAGES_DISABLED). |
| GetSearchProvider | GetSearchProviderRequest | GetSearchProviderResponse | Names the web search provider (NO_FETCH when the agent can’t fetch pages, so a search would give it nothing to read). |
| SearchWeb | SearchWebRequest | SearchWebResponse | Searches the web and prepares the prompt that hands the readable results to the agent (NO_FETCH, NO_SEARCH): run it as a turn with fetch_grants set to the links’ URLs. |
| SearchWorkspace | SearchWorkspaceRequest | SearchWorkspaceResponse | Searches the workspace’s index: its files, the text of its PDFs and notebooks, its chats and notes (SEARCH_DISABLED, UNKNOWN_SEARCH_SOURCE; spec_search_035). |
| GetSearchStatus | GetSearchStatusRequest | GetSearchStatusResponse | Says how the workspace’s search index is. |
| Reindex | ReindexRequest | ReindexResponse | Starts a scan of the workspace for search and returns at once (SEARCH_DISABLED). |
FQN: blitz.v1.SuggestionKind
SuggestionKind is what a welcome tile does. The state kinds carry data for the front end to word in its own language; IDEA carries text.
| Name | Ordinal | Description |
|---|---|---|
| SUGGESTION_KIND_UNSPECIFIED | 0 | |
| SUGGESTION_KIND_SETUP | 1 | No agent instructions yet: run /setup in a new chat. |
| SUGGESTION_KIND_CONTINUE | 2 | Pick up the latest conversation: open session_id (title is its title). |
| SUGGESTION_KIND_CHANGES | 3 | Uncommitted changes (count files): review them and propose a commit. |
| SUGGESTION_KIND_WORKER_FAILED | 4 | A worker’s latest run failed or hit a limit (worker, detail: why). |
| SUGGESTION_KIND_IDEA | 5 | A model’s suggestion from the recent conversations: title on the tile, prompt sent when it’s chosen. |
| SUGGESTION_KIND_HARNESS_UPDATE | 6 | The specification (.agents/specs/) changed after the skills and agents: run /skills update (then /agents update). |
FQN: blitz.v1.AgentScope
AgentScope is where an agent's file is kept.
| Name | Ordinal | Description |
|---|---|---|
| AGENT_SCOPE_UNSPECIFIED | 0 | |
| AGENT_SCOPE_WORKSPACE | 1 | The workspace’s .agents/agents. |
| AGENT_SCOPE_USER | 2 | The user’s ~/.blitz/agents, for every workspace. |
FQN: blitz.v1.GitOperation
What a repository is in the middle of.
| Name | Ordinal | Description |
|---|---|---|
| GIT_OPERATION_UNSPECIFIED | 0 | Nothing: no merge or rebase in progress. |
| GIT_OPERATION_MERGE | 1 | A merge, to complete (a merge commit) or abort. |
| GIT_OPERATION_REBASE | 2 | A rebase, to continue or abort. |
FQN: blitz.v1.PullOutcome
How a pull went.
| Name | Ordinal | Description |
|---|---|---|
| PULL_OUTCOME_UNSPECIFIED | 0 | |
| PULL_OUTCOME_UP_TO_DATE | 1 | Nothing new. |
| PULL_OUTCOME_FAST_FORWARD | 2 | The branch moved to the upstream’s commit. |
| PULL_OUTCOME_MERGED | 3 | A merge commit joined the two. |
| PULL_OUTCOME_REBASED | 4 | The branch’s commits were replayed on the upstream’s. |
| PULL_OUTCOME_CONFLICTS | 5 | Stopped on conflicts: a merge or rebase waits (status.conflicts). |
FQN: blitz.v1.ConflictChoice
How a conflicted file is settled.
| Name | Ordinal | Description |
|---|---|---|
| CONFLICT_CHOICE_UNSPECIFIED | 0 | |
| CONFLICT_CHOICE_MINE | 1 | The branch’s version, from before the pull. |
| CONFLICT_CHOICE_THEIRS | 2 | The upstream’s version. |
| CONFLICT_CHOICE_RESOLVED | 3 | As edited by hand (refused while conflict markers remain). |
classDiagram
direction LR
%% SuggestionKind is what a welcome tile does. The state kinds carry data for the front end to word in its own language; IDEA carries text.
class SuggestionKind{
<<enumeration>>
SUGGESTION_KIND_UNSPECIFIED
SUGGESTION_KIND_SETUP
SUGGESTION_KIND_CONTINUE
SUGGESTION_KIND_CHANGES
SUGGESTION_KIND_WORKER_FAILED
SUGGESTION_KIND_IDEA
SUGGESTION_KIND_HARNESS_UPDATE
}
classDiagram
direction LR
%% AgentScope is where an agent's file is kept.
class AgentScope{
<<enumeration>>
AGENT_SCOPE_UNSPECIFIED
AGENT_SCOPE_WORKSPACE
AGENT_SCOPE_USER
}
classDiagram
direction LR
%% What a repository is in the middle of.
class GitOperation{
<<enumeration>>
GIT_OPERATION_UNSPECIFIED
GIT_OPERATION_MERGE
GIT_OPERATION_REBASE
}
classDiagram
direction LR
%% How a pull went.
class PullOutcome{
<<enumeration>>
PULL_OUTCOME_UNSPECIFIED
PULL_OUTCOME_UP_TO_DATE
PULL_OUTCOME_FAST_FORWARD
PULL_OUTCOME_MERGED
PULL_OUTCOME_REBASED
PULL_OUTCOME_CONFLICTS
}
classDiagram
direction LR
%% How a conflicted file is settled.
class ConflictChoice{
<<enumeration>>
CONFLICT_CHOICE_UNSPECIFIED
CONFLICT_CHOICE_MINE
CONFLICT_CHOICE_THEIRS
CONFLICT_CHOICE_RESOLVED
}
classDiagram
direction LR
%% Saved reports where a change was written in the config file. The change applies even when saving fails.
class Saved {
+ string path
+ string error
}
classDiagram
direction LR
%% Request message for WorkspaceService.Shutdown.
class ShutdownRequest {
}
classDiagram
direction LR
%% Response message for WorkspaceService.Shutdown: sent before the service stops.
class ShutdownResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.GetServiceInfo.
class GetServiceInfoRequest {
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetServiceInfo.
class GetServiceInfoResponse {
+ string version
+ string executable
+ google.protobuf.Timestamp started
+ int32 pid
+ bool replaced
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListLogDays.
class ListLogDaysRequest {
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListLogDays.
class ListLogDaysResponse {
+ List~string~ days
+ string dir
}
classDiagram
direction LR
%% Request message for WorkspaceService.ReadLog.
class ReadLogRequest {
+ string day
+ string min_level
+ string text
+ int32 limit
}
classDiagram
direction LR
%% A field of a log record.
class LogAttr {
+ string key
+ string value
}
classDiagram
direction LR
%% A log record.
class LogEntry {
+ google.protobuf.Timestamp time
+ string level
+ string message
+ List~LogAttr~ attrs
}
LogEntry --> `LogAttr`
classDiagram
direction LR
%% Response message for WorkspaceService.ReadLog.
class ReadLogResponse {
+ string day
+ string path
+ List~LogEntry~ entries
+ int32 matched
}
ReadLogResponse --> `LogEntry`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteLogDay.
class DeleteLogDayRequest {
+ string day
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteLogDay.
class DeleteLogDayResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListWorkspaces.
class ListWorkspacesRequest {
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListWorkspaces.
class ListWorkspacesResponse {
+ List~string~ workspaces
}
classDiagram
direction LR
%% Request message for WorkspaceService.CloseWorkspace.
class CloseWorkspaceRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.CloseWorkspace.
class CloseWorkspaceResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.GetSandbox.
class GetSandboxRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSandbox.
class GetSandboxResponse {
+ List~string~ summary
}
classDiagram
direction LR
%% AgentInfo describes an agent.
class AgentInfo {
+ string name
+ string display_name
+ string description
+ bool active
+ string pinned_model
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListAgents.
class ListAgentsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListAgents.
class ListAgentsResponse {
+ List~AgentInfo~ agents
}
ListAgentsResponse --> `AgentInfo`
classDiagram
direction LR
%% Request message for WorkspaceService.SetAgent.
class SetAgentRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.SetAgent.
class SetAgentResponse {
+ AgentInfo agent
}
SetAgentResponse --> `AgentInfo`
classDiagram
direction LR
%% Suggestion is one welcome tile.
class Suggestion {
+ SuggestionKind kind
+ string title
+ string prompt
+ string session_id
+ string worker
+ int32 count
+ string detail
}
Suggestion --> `SuggestionKind`
classDiagram
direction LR
%% Request message for WorkspaceService.GetSuggestions.
class GetSuggestionsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSuggestions.
class GetSuggestionsResponse {
+ List~Suggestion~ suggestions
+ bool harness_missing
+ bool pending
}
GetSuggestionsResponse --> `Suggestion`
classDiagram
direction LR
%% AgentDefinition is an agent's file: its frontmatter and its prompt.
class AgentDefinition {
+ string name
+ string display_name
+ string description
+ List~string~ tools
+ string default_model
+ string agency_level
+ string permission_mode
+ int32 max_turns
+ bool background
+ string isolation
+ Optional~double~ temperature
+ Optional~double~ top_p
+ Optional~int32~ max_tokens
+ string effort
+ Optional~int32~ thinking_budget
+ string prompt
}
classDiagram
direction LR
%% AgentFile is one agent file of a scope.
class AgentFile {
+ string path
+ AgentDefinition agent
+ string problem
}
AgentFile --> `AgentDefinition`
classDiagram
direction LR
%% Request message for WorkspaceService.ListAgentFiles.
class ListAgentFilesRequest {
+ string workspace
+ AgentScope scope
}
ListAgentFilesRequest --> `AgentScope`
classDiagram
direction LR
%% Response message for WorkspaceService.ListAgentFiles.
class ListAgentFilesResponse {
+ List~AgentFile~ files
+ string dir
}
ListAgentFilesResponse --> `AgentFile`
classDiagram
direction LR
%% Request message for WorkspaceService.SaveAgentFile.
class SaveAgentFileRequest {
+ string workspace
+ AgentScope scope
+ string previous_name
+ AgentDefinition agent
}
SaveAgentFileRequest --> `AgentScope`
SaveAgentFileRequest --> `AgentDefinition`
classDiagram
direction LR
%% Response message for WorkspaceService.SaveAgentFile.
class SaveAgentFileResponse {
+ AgentFile file
+ List~string~ problems
}
SaveAgentFileResponse --> `AgentFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteAgentFile.
class DeleteAgentFileRequest {
+ string workspace
+ AgentScope scope
+ string name
+ string path
}
DeleteAgentFileRequest --> `AgentScope`
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteAgentFile.
class DeleteAgentFileResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.GetModel.
class GetModelRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetModel.
class GetModelResponse {
+ string name
+ string provider
+ string unavailable
}
classDiagram
direction LR
%% Request message for WorkspaceService.SetModel.
class SetModelRequest {
+ string workspace
+ string ref
}
classDiagram
direction LR
%% Response message for WorkspaceService.SetModel.
class SetModelResponse {
+ string active_pin
}
classDiagram
direction LR
%% Request message for WorkspaceService.PinModel.
class PinModelRequest {
+ string workspace
+ string agent
+ string ref
}
classDiagram
direction LR
%% Response message for WorkspaceService.PinModel.
class PinModelResponse {
+ string agent
+ string model
+ Saved saved
}
PinModelResponse --> `Saved`
classDiagram
direction LR
%% Request message for WorkspaceService.UnpinModel.
class UnpinModelRequest {
+ string workspace
+ string agent
}
classDiagram
direction LR
%% Response message for WorkspaceService.UnpinModel.
class UnpinModelResponse {
+ string agent
+ string model
+ Saved saved
}
UnpinModelResponse --> `Saved`
classDiagram
direction LR
%% ModelSettings are a model's generation settings; unset fields use the global value or the provider's default.
class ModelSettings {
+ Optional~double~ temperature
+ Optional~int32~ max_tokens
+ Optional~double~ top_p
+ Optional~int32~ seed
+ Optional~string~ reasoning_effort
+ Optional~int32~ thinking_budget
}
classDiagram
direction LR
%% ModelSettingsInfo is one model's settings and what applies otherwise.
class ModelSettingsInfo {
+ string model
+ string provider
+ ModelSettings settings
+ double global_temperature
+ int32 global_max_tokens
}
ModelSettingsInfo --> `ModelSettings`
classDiagram
direction LR
%% Request message for WorkspaceService.GetModelSettings.
class GetModelSettingsRequest {
+ string workspace
+ string ref
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetModelSettings.
class GetModelSettingsResponse {
+ Map~string, ModelSettings~ all
+ ModelSettingsInfo model
}
GetModelSettingsResponse .. ` ModelSettings`
GetModelSettingsResponse --> `ModelSettingsInfo`
classDiagram
direction LR
%% Setting is one key=value change; an empty value clears the key.
class Setting {
+ string key
+ string value
}
classDiagram
direction LR
%% Request message for WorkspaceService.UpdateModelSettings.
class UpdateModelSettingsRequest {
+ string workspace
+ string ref
+ bool reset
+ List~Setting~ changes
}
UpdateModelSettingsRequest --> `Setting`
classDiagram
direction LR
%% Response message for WorkspaceService.UpdateModelSettings.
class UpdateModelSettingsResponse {
+ ModelSettingsInfo model
+ List~string~ unsupported
+ Saved saved
}
UpdateModelSettingsResponse --> `ModelSettingsInfo`
UpdateModelSettingsResponse --> `Saved`
classDiagram
direction LR
%% Request message for WorkspaceService.GetSettings.
class GetSettingsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSettings.
class GetSettingsResponse {
+ string agency
+ string model
+ string provider
+ string agent
+ string locale
+ bool images_enabled
+ string permission_mode
+ string effort
+ string style
+ string speech_model
+ string speech_error
+ List~AcceptedMedia~ accepted_media
}
GetSettingsResponse --> `AcceptedMedia`
classDiagram
direction LR
%% AcceptedMedia is a kind of attachment a model takes.
class AcceptedMedia {
+ string kind
+ List~string~ mime_types
+ List~string~ extensions
+ int64 max_bytes
}
classDiagram
direction LR
%% Request message for WorkspaceService.SetPermissionMode.
class SetPermissionModeRequest {
+ string workspace
+ string mode
}
classDiagram
direction LR
%% Response message for WorkspaceService.SetPermissionMode.
class SetPermissionModeResponse {
+ string mode
}
classDiagram
direction LR
%% Command is a custom slash command.
class Command {
+ string name
+ string description
+ string argument_hint
+ string source
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListCommands.
class ListCommandsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListCommands.
class ListCommandsResponse {
+ List~Command~ commands
}
ListCommandsResponse --> `Command`
classDiagram
direction LR
%% PermissionRule is an allow, ask or deny rule.
class PermissionRule {
+ string effect
+ string rule
+ string source
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListPermissionRules.
class ListPermissionRulesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListPermissionRules.
class ListPermissionRulesResponse {
+ List~PermissionRule~ rules
+ string problem
}
ListPermissionRulesResponse --> `PermissionRule`
classDiagram
direction LR
%% Request message for WorkspaceService.AddPermissionRule.
class AddPermissionRuleRequest {
+ string workspace
+ string effect
+ string rule
+ bool save
+ string scope
}
classDiagram
direction LR
%% Response message for WorkspaceService.AddPermissionRule.
class AddPermissionRuleResponse {
+ string rule
+ bool next_start
+ Saved saved
}
AddPermissionRuleResponse --> `Saved`
classDiagram
direction LR
%% Request message for WorkspaceService.RemovePermissionRule.
class RemovePermissionRuleRequest {
+ string workspace
+ string rule
+ bool save
+ string scope
}
classDiagram
direction LR
%% Response message for WorkspaceService.RemovePermissionRule.
class RemovePermissionRuleResponse {
+ string rule
+ int32 removed
+ Saved saved
}
RemovePermissionRuleResponse --> `Saved`
classDiagram
direction LR
%% Request message for WorkspaceService.SetSetting.
class SetSettingRequest {
+ string workspace
+ string key
+ string value
}
classDiagram
direction LR
%% Response message for WorkspaceService.SetSetting.
class SetSettingResponse {
+ string key
}
classDiagram
direction LR
%% SkillInfo describes a skill and what the skills policy lets it do.
class SkillInfo {
+ string name
+ string description
+ string version
+ string license
+ string category
+ string compatibility
+ List~string~ tags
+ string hash
+ List~SkillTool~ tools
+ List~SkillScript~ scripts
+ string tier
+ bool bypass
+ bool network
+ bool needs_network
+ List~string~ env
+ List~string~ withheld
+ List~string~ blocked
+ string dir
+ string kind
+ List~string~ agents
+ List~string~ members
+ List~string~ references
+ bool project
+ List~string~ package_files
+ bool needs_review
}
SkillInfo --> `SkillTool`
SkillInfo --> `SkillScript`
classDiagram
direction LR
%% SkillTool is a tool a skill needs.
class SkillTool {
+ string name
+ List~string~ scopes
+ string why
}
classDiagram
direction LR
%% SkillScript is one of a skill's scripts and the policy's verdict.
class SkillScript {
+ string name
+ string language
+ string source
+ google.protobuf.Duration timeout
+ List~string~ deps
+ bool allowed
+ List~string~ reasons
+ bool found
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListSkills.
class ListSkillsRequest {
+ string workspace
+ string query
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListSkills.
class ListSkillsResponse {
+ List~SkillInfo~ skills
}
ListSkillsResponse --> `SkillInfo`
classDiagram
direction LR
%% Request message for WorkspaceService.GetSkill.
class GetSkillRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSkill.
class GetSkillResponse {
+ SkillInfo skill
}
GetSkillResponse --> `SkillInfo`
classDiagram
direction LR
%% What Studio's skill form edits.
class SkillSpec {
+ string name
+ string description
+ string tools
+ List~string~ agents
+ List~string~ members
+ string instructions
}
classDiagram
direction LR
%% A skill as Studio edits it.
class SkillFile {
+ SkillInfo skill
+ string path
+ string hash
+ SkillSpec spec
+ bool editable
}
SkillFile --> `SkillInfo`
SkillFile --> `SkillSpec`
classDiagram
direction LR
%% Request message for WorkspaceService.GetSkillFile.
class GetSkillFileRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSkillFile.
class GetSkillFileResponse {
+ SkillFile file
}
GetSkillFileResponse --> `SkillFile`
classDiagram
direction LR
%% Request message for WorkspaceService.SaveSkill.
class SaveSkillRequest {
+ string workspace
+ string previous_name
+ string hash
+ SkillSpec skill
}
SaveSkillRequest --> `SkillSpec`
classDiagram
direction LR
%% Response message for WorkspaceService.SaveSkill.
class SaveSkillResponse {
+ SkillFile file
+ List~string~ problems
}
SaveSkillResponse --> `SkillFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteSkill.
class DeleteSkillRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteSkill.
class DeleteSkillResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.ReadSkillFile.
class ReadSkillFileRequest {
+ string workspace
+ string name
+ string path
}
classDiagram
direction LR
%% Response message for WorkspaceService.ReadSkillFile.
class ReadSkillFileResponse {
+ bytes content
}
classDiagram
direction LR
%% Request message for WorkspaceService.WriteSkillFile.
class WriteSkillFileRequest {
+ string workspace
+ string name
+ string path
+ bytes content
}
classDiagram
direction LR
%% Response message for WorkspaceService.WriteSkillFile.
class WriteSkillFileResponse {
+ SkillFile file
}
WriteSkillFileResponse --> `SkillFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteSkillFile.
class DeleteSkillFileRequest {
+ string workspace
+ string name
+ string path
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteSkillFile.
class DeleteSkillFileResponse {
+ SkillFile file
}
DeleteSkillFileResponse --> `SkillFile`
classDiagram
direction LR
%% Request message for WorkspaceService.CopySkill.
class CopySkillRequest {
+ string workspace
+ string from
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.CopySkill.
class CopySkillResponse {
+ SkillFile file
+ List~string~ problems
}
CopySkillResponse --> `SkillFile`
classDiagram
direction LR
%% Request message for WorkspaceService.RunSkillScript.
class RunSkillScriptRequest {
+ string workspace
+ string name
+ string script
+ List~string~ args
}
classDiagram
direction LR
%% Response message for WorkspaceService.RunSkillScript.
class RunSkillScriptResponse {
+ int32 exit_code
+ string stdout
+ string stderr
+ bool timed_out
+ string sandbox
+ List~string~ output_files
+ string error
}
classDiagram
direction LR
%% Env is an isolated Python environment built for skill scripts.
class Env {
+ string key
+ List~string~ deps
+ List~string~ skills
+ int64 size
+ google.protobuf.Timestamp last_used
+ bool ready
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListEnvs.
class ListEnvsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListEnvs.
class ListEnvsResponse {
+ List~Env~ envs
}
ListEnvsResponse --> `Env`
classDiagram
direction LR
%% Request message for WorkspaceService.RemoveEnv.
class RemoveEnvRequest {
+ string workspace
+ string key
}
classDiagram
direction LR
%% Response message for WorkspaceService.RemoveEnv.
class RemoveEnvResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.PruneEnvs.
class PruneEnvsRequest {
+ string workspace
}
classDiagram
direction LR
%% EnvError is an environment that couldn't be removed.
class EnvError {
+ string key
+ string error
}
classDiagram
direction LR
%% Response message for WorkspaceService.PruneEnvs.
class PruneEnvsResponse {
+ int32 removed
+ int64 freed
+ List~EnvError~ failed
}
PruneEnvsResponse --> `EnvError`
classDiagram
direction LR
%% MCPServer is a configured MCP server.
class MCPServer {
+ string name
+ string target
+ bool auto_approve
+ bool disabled
+ string state
+ string error
+ int32 tools
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListMCPServers.
class ListMCPServersRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListMCPServers.
class ListMCPServersResponse {
+ List~MCPServer~ servers
}
ListMCPServersResponse --> `MCPServer`
classDiagram
direction LR
%% Request message for WorkspaceService.RestartMCPServer.
class RestartMCPServerRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.RestartMCPServer.
class RestartMCPServerResponse {
}
classDiagram
direction LR
%% ToolInfo is a tool an agent can call.
class ToolInfo {
+ string name
+ string description
+ bool plan_allowed
}
classDiagram
direction LR
%% MCPOffer is an MCP server offered to an agent.
class MCPOffer {
+ string server
+ List~string~ tools
+ string prefix
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListTools.
class ListToolsRequest {
+ string workspace
+ bool all
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListTools.
class ListToolsResponse {
+ string agent
+ List~ToolInfo~ tools
+ List~MCPOffer~ mcp
}
ListToolsResponse --> `ToolInfo`
ListToolsResponse --> `MCPOffer`
classDiagram
direction LR
%% Request message for WorkspaceService.ReloadMemory.
class ReloadMemoryRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ReloadMemory.
class ReloadMemoryResponse {
+ List~string~ paths
+ List~string~ files
}
classDiagram
direction LR
%% Request message for WorkspaceService.ReloadAgentFiles.
class ReloadAgentFilesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ReloadAgentFiles.
class ReloadAgentFilesResponse {
+ int32 agents
+ int32 skills
+ List~string~ files
+ List~string~ problems
}
classDiagram
direction LR
%% Request message for WorkspaceService.AddMemory.
class AddMemoryRequest {
+ string workspace
+ string text
}
classDiagram
direction LR
%% Response message for WorkspaceService.AddMemory.
class AddMemoryResponse {
+ string path
}
classDiagram
direction LR
%% LocaleInfo names a language with an interface catalog.
class LocaleInfo {
+ string tag
+ string name
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListLocales.
class ListLocalesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListLocales.
class ListLocalesResponse {
+ List~LocaleInfo~ locales
+ string custom_dir
}
ListLocalesResponse --> `LocaleInfo`
classDiagram
direction LR
%% Request message for WorkspaceService.SetLocale.
class SetLocaleRequest {
+ string workspace
+ string input
}
classDiagram
direction LR
%% Response message for WorkspaceService.SetLocale.
class SetLocaleResponse {
+ string tag
+ string native_name
+ string language_name
+ bool has_catalog
+ Saved saved
}
SetLocaleResponse --> `Saved`
classDiagram
direction LR
%% Checkpoint is the files one turn changed.
class Checkpoint {
+ int32 id
+ string label
+ google.protobuf.Timestamp time
+ List~string~ files
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListCheckpoints.
class ListCheckpointsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListCheckpoints.
class ListCheckpointsResponse {
+ List~Checkpoint~ checkpoints
}
ListCheckpointsResponse --> `Checkpoint`
classDiagram
direction LR
%% Request message for WorkspaceService.Undo.
class UndoRequest {
+ string workspace
+ bool force
}
classDiagram
direction LR
%% Response message for WorkspaceService.Undo.
class UndoResponse {
+ string label
+ List~string~ restored
+ ErrorInfo error
}
UndoResponse --> `ErrorInfo`
classDiagram
direction LR
%% Request message for WorkspaceService.GetDiff.
class GetDiffRequest {
+ string workspace
+ bool git
+ bool color
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetDiff.
class GetDiffResponse {
+ string diff
}
classDiagram
direction LR
%% Approval is a standing permission.
class Approval {
+ string key
+ string kind
+ string subject
+ string dir
+ bool always
+ google.protobuf.Timestamp added
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListApprovals.
class ListApprovalsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListApprovals.
class ListApprovalsResponse {
+ List~Approval~ approvals
}
ListApprovalsResponse --> `Approval`
classDiagram
direction LR
%% Request message for WorkspaceService.RevokeApprovals.
class RevokeApprovalsRequest {
+ string workspace
+ List~string~ keys
+ bool all
}
classDiagram
direction LR
%% Response message for WorkspaceService.RevokeApprovals.
class RevokeApprovalsResponse {
+ int32 revoked
+ ErrorInfo error
}
RevokeApprovalsResponse --> `ErrorInfo`
classDiagram
direction LR
%% Process is a background process the agent started, and how it is.
class Process {
+ int32 id
+ string command
+ bool running
+ int32 exit_code
+ int64 runtime_ms
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListProcesses.
class ListProcessesRequest {
+ string workspace
+ List~string~ session_ids
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListProcesses.
class ListProcessesResponse {
+ List~Process~ processes
}
ListProcessesResponse --> `Process`
classDiagram
direction LR
%% Request message for WorkspaceService.GetProcessOutput.
class GetProcessOutputRequest {
+ string workspace
+ List~string~ session_ids
+ int32 id
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetProcessOutput.
class GetProcessOutputResponse {
+ string output
+ Process process
}
GetProcessOutputResponse --> `Process`
classDiagram
direction LR
%% Request message for WorkspaceService.KillProcess.
class KillProcessRequest {
+ string workspace
+ List~string~ session_ids
+ int32 id
}
classDiagram
direction LR
%% Response message for WorkspaceService.KillProcess.
class KillProcessResponse {
+ Process process
}
KillProcessResponse --> `Process`
classDiagram
direction LR
%% Request message for WorkspaceService.AuditShell.
class AuditShellRequest {
+ string workspace
+ string command
+ int32 exit_code
+ string start_error
}
classDiagram
direction LR
%% Response message for WorkspaceService.AuditShell.
class AuditShellResponse {
}
classDiagram
direction LR
%% BackgroundTask is a sub-agent running beside the turn that started it.
class BackgroundTask {
+ string id
+ string agent
+ string prompt
+ string session_id
+ string state
+ google.protobuf.Timestamp started
+ google.protobuf.Timestamp ended
+ string result
+ string error
+ Usage usage
+ string worktree
+ string branch
}
BackgroundTask --> `Usage`
classDiagram
direction LR
%% Request message for WorkspaceService.ListTasks.
class ListTasksRequest {
+ string workspace
+ List~string~ session_ids
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListTasks.
class ListTasksResponse {
+ List~BackgroundTask~ tasks
}
ListTasksResponse --> `BackgroundTask`
classDiagram
direction LR
%% Request message for WorkspaceService.GetTask.
class GetTaskRequest {
+ string workspace
+ List~string~ session_ids
+ string id
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetTask.
class GetTaskResponse {
+ BackgroundTask task
+ List~string~ events
}
GetTaskResponse --> `BackgroundTask`
classDiagram
direction LR
%% Request message for WorkspaceService.StopTask.
class StopTaskRequest {
+ string workspace
+ List~string~ session_ids
+ string id
}
classDiagram
direction LR
%% TaskEvent is something that happened to a background task outside a turn.
class TaskEvent {
+ Oneof~BackgroundTask~ task [oneof: kind]
+ Oneof~ApprovalRequest~ approval_request [oneof: kind]
+ Oneof~Question~ question [oneof: kind]
+ Oneof~string~ resolved [oneof: kind]
+ Oneof~bool~ ready [oneof: kind]
+ Oneof~bool~ settings_changed [oneof: kind]
}
TaskEvent --> `BackgroundTask`
TaskEvent --> `ApprovalRequest`
TaskEvent --> `Question`
classDiagram
direction LR
%% Request message for WorkspaceService.WatchTasks.
class WatchTasksRequest {
+ string workspace
+ List~string~ session_ids
}
classDiagram
direction LR
%% Response message for WorkspaceService.WatchTasks.
class WatchTasksResponse {
+ TaskEvent event
}
WatchTasksResponse --> `TaskEvent`
classDiagram
direction LR
%% Request message for WorkspaceService.ListTaskRequests.
class ListTaskRequestsRequest {
+ string workspace
+ List~string~ session_ids
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListTaskRequests.
class ListTaskRequestsResponse {
+ List~TaskEvent~ requests
}
ListTaskRequestsResponse --> `TaskEvent`
classDiagram
direction LR
%% Response message for WorkspaceService.StopTask.
class StopTaskResponse {
+ BackgroundTask task
}
StopTaskResponse --> `BackgroundTask`
classDiagram
direction LR
%% ProjectItem is one setting from a project file.
class ProjectItem {
+ string file
+ string kind
+ string key
+ string value
+ string reason
}
classDiagram
direction LR
%% ProjectSettings are what a workspace's project files say.
class ProjectSettings {
+ List~string~ files
+ string state
+ string hash
+ bool loaded
+ List~ProjectItem~ applied
+ List~ProjectItem~ pending
+ List~ProjectItem~ ignored
+ List~string~ problems
}
ProjectSettings --> `ProjectItem`
ProjectSettings --> `ProjectItem`
ProjectSettings --> `ProjectItem`
classDiagram
direction LR
%% Request message for WorkspaceService.GetProjectSettings.
class GetProjectSettingsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetProjectSettings.
class GetProjectSettingsResponse {
+ ProjectSettings settings
}
GetProjectSettingsResponse --> `ProjectSettings`
classDiagram
direction LR
%% Request message for WorkspaceService.TakeProcessNotices.
class TakeProcessNoticesRequest {
+ string workspace
+ string session_id
}
classDiagram
direction LR
%% Response message for WorkspaceService.TakeProcessNotices.
class TakeProcessNoticesResponse {
+ List~string~ notices
}
classDiagram
direction LR
%% Style is an output style.
class Style {
+ string name
+ string description
+ string source
+ bool active
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListStyles.
class ListStylesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListStyles.
class ListStylesResponse {
+ List~Style~ styles
}
ListStylesResponse --> `Style`
classDiagram
direction LR
%% Hook is a configured hook.
class Hook {
+ string event
+ string type
+ string match
+ string if
+ string runs
+ string source
+ bool fail_closed
+ List~HookFailure~ failures
}
Hook --> `HookFailure`
classDiagram
direction LR
%% HookFailure is one failed run of a hook.
class HookFailure {
+ google.protobuf.Timestamp time
+ string error
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListHooks.
class ListHooksRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListHooks.
class ListHooksResponse {
+ List~Hook~ hooks
}
ListHooksResponse --> `Hook`
classDiagram
direction LR
%% Note is something the agent remembered across sessions of a workspace.
class Note {
+ string name
+ string kind
+ string text
+ google.protobuf.Timestamp time
+ string path
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListNotes.
class ListNotesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListNotes.
class ListNotesResponse {
+ List~Note~ notes
}
ListNotesResponse --> `Note`
classDiagram
direction LR
%% Request message for WorkspaceService.ForgetNote.
class ForgetNoteRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.ForgetNote.
class ForgetNoteResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.ForgetProjectTrust.
class ForgetProjectTrustRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ForgetProjectTrust.
class ForgetProjectTrustResponse {
+ bool reopened
}
classDiagram
direction LR
%% Request message for WorkspaceService.TrustProject.
class TrustProjectRequest {
+ string workspace
+ string hash
+ bool trusted
}
classDiagram
direction LR
%% Response message for WorkspaceService.TrustProject.
class TrustProjectResponse {
+ bool reopened
}
classDiagram
direction LR
%% Image is an image or a PDF stored for a prompt.
class Image {
+ string id
+ string name
+ string mime_type
+ int32 width
+ int32 height
+ int64 size
+ bool resized
+ int32 pages
+ string kind
+ double seconds
}
classDiagram
direction LR
%% Request message for WorkspaceService.LoadImage.
class LoadImageRequest {
+ string workspace
+ string path
}
classDiagram
direction LR
%% Response message for WorkspaceService.LoadImage.
class LoadImageResponse {
+ Image image
}
LoadImageResponse --> `Image`
classDiagram
direction LR
%% Request message for WorkspaceService.AddImage.
class AddImageRequest {
+ string workspace
+ string name
+ bytes data
}
classDiagram
direction LR
%% Response message for WorkspaceService.AddImage.
class AddImageResponse {
+ Image image
}
AddImageResponse --> `Image`
classDiagram
direction LR
%% Link is a search result handed to the agent.
class Link {
+ string title
+ string url
}
classDiagram
direction LR
%% Request message for WorkspaceService.GetSearchProvider.
class GetSearchProviderRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSearchProvider.
class GetSearchProviderResponse {
+ string provider
}
classDiagram
direction LR
%% Request message for WorkspaceService.SearchWeb.
class SearchWebRequest {
+ string workspace
+ string terms
}
classDiagram
direction LR
%% Response message for WorkspaceService.SearchWeb.
class SearchWebResponse {
+ string provider
+ List~Link~ links
+ string prompt
}
SearchWebResponse --> `Link`
classDiagram
direction LR
%% Request message for WorkspaceService.SearchWorkspace.
class SearchWorkspaceRequest {
+ string workspace
+ string query
+ List~string~ sources
+ int32 limit
+ string mode
+ bool hidden
}
classDiagram
direction LR
%% SearchHit is one item workspace search found.
class SearchHit {
+ string source
+ string ref
+ string title
+ int32 line
+ string section
+ string snippet
+ double score
+ string summary
+ List~string~ tags
}
classDiagram
direction LR
%% Response message for WorkspaceService.SearchWorkspace.
class SearchWorkspaceResponse {
+ List~SearchHit~ hits
+ List~string~ sources
}
SearchWorkspaceResponse --> `SearchHit`
classDiagram
direction LR
%% Request message for WorkspaceService.GetSearchStatus.
class GetSearchStatusRequest {
+ string workspace
}
classDiagram
direction LR
%% SearchStatus is how a workspace's search index is.
class SearchStatus {
+ bool enabled
+ Map~string, int32~ items
+ bool scanning
+ google.protobuf.Timestamp last_scan
+ int32 unreadable
+ string error
+ string embedding_model
+ int32 embedded
+ string embed_error
+ int32 enriched
+ string enrich_error
+ SearchSettings settings
+ string problem
}
SearchStatus --> `SearchSettings`
classDiagram
direction LR
%% SearchSettings are a workspace's [search] settings (set with ConfigService.SetConfigValue: search.enabled, search.sources, …).
class SearchSettings {
+ bool enabled
+ List~string~ sources
+ string embedding_model
+ bool enrich
+ string enrich_model
+ int32 enrich_daily_limit
+ bool include_ignored
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetSearchStatus.
class GetSearchStatusResponse {
+ SearchStatus status
}
GetSearchStatusResponse --> `SearchStatus`
classDiagram
direction LR
%% Request message for WorkspaceService.Reindex.
class ReindexRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.Reindex.
class ReindexResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.GetGitStatus.
class GetGitStatusRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetGitStatus.
class GetGitStatusResponse {
+ bool repo
+ string branch
+ int32 changed
+ bool git
+ bool remote
+ string upstream
+ int32 ahead
+ int32 behind
+ GitOperation operation
+ List~string~ conflicts
+ string merging
}
GetGitStatusResponse --> `GitOperation`
classDiagram
direction LR
%% Request message for WorkspaceService.InitGitRepo.
class InitGitRepoRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.InitGitRepo.
class InitGitRepoResponse {
+ GetGitStatusResponse status
}
InitGitRepoResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% A file in the index, for the commit dialog.
class StagedFile {
+ string status
+ string path
}
classDiagram
direction LR
%% Request message for WorkspaceService.DraftCommit.
class DraftCommitRequest {
+ string workspace
+ bool stage_all
}
classDiagram
direction LR
%% Response message for WorkspaceService.DraftCommit.
class DraftCommitResponse {
+ List~StagedFile~ files
+ string message
+ string problem
}
DraftCommitResponse --> `StagedFile`
classDiagram
direction LR
%% Request message for WorkspaceService.Commit.
class CommitRequest {
+ string workspace
+ string message
}
classDiagram
direction LR
%% Response message for WorkspaceService.Commit.
class CommitResponse {
+ string hash
+ string subject
}
classDiagram
direction LR
%% Request message for WorkspaceService.FetchRemote.
class FetchRemoteRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.FetchRemote.
class FetchRemoteResponse {
+ GetGitStatusResponse status
}
FetchRemoteResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.Pull.
class PullRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.Pull.
class PullResponse {
+ PullOutcome outcome
+ int32 commits
+ GetGitStatusResponse status
}
PullResponse --> `PullOutcome`
PullResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.Push.
class PushRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.Push.
class PushResponse {
+ string target
+ GetGitStatusResponse status
}
PushResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.ResolveConflict.
class ResolveConflictRequest {
+ string workspace
+ string path
+ ConflictChoice choice
}
ResolveConflictRequest --> `ConflictChoice`
classDiagram
direction LR
%% Response message for WorkspaceService.ResolveConflict.
class ResolveConflictResponse {
+ GetGitStatusResponse status
}
ResolveConflictResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.CompleteMerge.
class CompleteMergeRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.CompleteMerge.
class CompleteMergeResponse {
+ GetGitStatusResponse status
}
CompleteMergeResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.AbortMerge.
class AbortMergeRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.AbortMerge.
class AbortMergeResponse {
+ GetGitStatusResponse status
}
AbortMergeResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% A branch the workspace can switch to or merge.
class Branch {
+ string name
+ bool remote
+ bool current
+ string upstream
+ string subject
+ google.protobuf.Timestamp time
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListBranches.
class ListBranchesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListBranches.
class ListBranchesResponse {
+ List~Branch~ branches
}
ListBranchesResponse --> `Branch`
classDiagram
direction LR
%% Request message for WorkspaceService.SwitchBranch.
class SwitchBranchRequest {
+ string workspace
+ string branch
}
classDiagram
direction LR
%% Response message for WorkspaceService.SwitchBranch.
class SwitchBranchResponse {
+ GetGitStatusResponse status
}
SwitchBranchResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.CreateBranch.
class CreateBranchRequest {
+ string workspace
+ string branch
}
classDiagram
direction LR
%% Response message for WorkspaceService.CreateBranch.
class CreateBranchResponse {
+ GetGitStatusResponse status
}
CreateBranchResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.MergeBranch.
class MergeBranchRequest {
+ string workspace
+ string branch
}
classDiagram
direction LR
%% Response message for WorkspaceService.MergeBranch.
class MergeBranchResponse {
+ PullOutcome outcome
+ int32 commits
+ GetGitStatusResponse status
}
MergeBranchResponse --> `PullOutcome`
MergeBranchResponse --> `GetGitStatusResponse`
classDiagram
direction LR
%% Request message for WorkspaceService.DraftManifest.
class DraftManifestRequest {
+ string workspace
+ string kind
+ string name
+ string description
+ string current
+ string request
+ string language
}
classDiagram
direction LR
%% Response message for WorkspaceService.DraftManifest.
class DraftManifestResponse {
+ string text
+ List~string~ changes
+ string problem
}
classDiagram
direction LR
%% A rule file: a gate (when set) or an instruction rule.
class RuleFile {
+ string name
+ string path
+ string when
+ string action
+ int32 order
+ List~string~ agents
+ string description
+ List~string~ paths
+ string text
+ string problem
+ bool editable
}
classDiagram
direction LR
%% What Studio's rule form edits.
class RuleSpec {
+ string name
+ string when
+ string action
+ int32 order
+ List~string~ agents
+ string description
+ List~string~ paths
+ string text
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListRules.
class ListRulesRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListRules.
class ListRulesResponse {
+ List~RuleFile~ rules
+ string dir
}
ListRulesResponse --> `RuleFile`
classDiagram
direction LR
%% Request message for WorkspaceService.SaveRule.
class SaveRuleRequest {
+ string workspace
+ string previous_name
+ RuleSpec rule
}
SaveRuleRequest --> `RuleSpec`
classDiagram
direction LR
%% Response message for WorkspaceService.SaveRule.
class SaveRuleResponse {
+ RuleFile rule
+ List~string~ problems
}
SaveRuleResponse --> `RuleFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteRule.
class DeleteRuleRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteRule.
class DeleteRuleResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.ReorderRules.
class ReorderRulesRequest {
+ string workspace
+ List~string~ names
}
classDiagram
direction LR
%% Response message for WorkspaceService.ReorderRules.
class ReorderRulesResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.TryRule.
class TryRuleRequest {
+ string workspace
+ RuleSpec rule
+ string sample
}
TryRuleRequest --> `RuleSpec`
classDiagram
direction LR
%% Response message for WorkspaceService.TryRule.
class TryRuleResponse {
+ bool pass
+ string reason
+ string problem
}
classDiagram
direction LR
%% The limits guardrail's limits; zero or empty means none of that kind.
class GuardrailLimits {
+ double max_cost_usd
+ int32 max_turns
+ int32 max_files_changed
+ List~string~ allowed_domains
+ List~string~ commands
}
classDiagram
direction LR
%% A guardrail file, or a built-in guardrail without one (its defaults).
class GuardrailFile {
+ string name
+ string path
+ string builtin
+ string stage
+ string action
+ List~string~ agents
+ List~string~ tools
+ string description
+ bool pii
+ bool judge
+ GuardrailLimits limits
+ string text
+ string problem
+ bool editable
+ bool off
}
GuardrailFile --> `GuardrailLimits`
classDiagram
direction LR
%% A built-in guardrail: on by default.
class BuiltinGuardrail {
+ string id
+ string stage
+ string default_action
+ List~string~ actions
+ GuardrailFile file
}
BuiltinGuardrail --> `GuardrailFile`
classDiagram
direction LR
%% What Studio's guardrail form edits.
class GuardrailSpec {
+ string name
+ string builtin
+ string stage
+ string action
+ List~string~ agents
+ List~string~ tools
+ string description
+ bool pii
+ bool judge
+ GuardrailLimits limits
+ string text
+ bool off
}
GuardrailSpec --> `GuardrailLimits`
classDiagram
direction LR
%% Request message for WorkspaceService.ListGuardrails.
class ListGuardrailsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListGuardrails.
class ListGuardrailsResponse {
+ List~BuiltinGuardrail~ builtins
+ List~GuardrailFile~ guardrails
+ string dir
}
ListGuardrailsResponse --> `BuiltinGuardrail`
ListGuardrailsResponse --> `GuardrailFile`
classDiagram
direction LR
%% Request message for WorkspaceService.SaveGuardrail.
class SaveGuardrailRequest {
+ string workspace
+ string previous_name
+ GuardrailSpec guardrail
}
SaveGuardrailRequest --> `GuardrailSpec`
classDiagram
direction LR
%% Response message for WorkspaceService.SaveGuardrail.
class SaveGuardrailResponse {
+ GuardrailFile guardrail
+ List~string~ problems
}
SaveGuardrailResponse --> `GuardrailFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteGuardrail.
class DeleteGuardrailRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteGuardrail.
class DeleteGuardrailResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.TryGuardrail.
class TryGuardrailRequest {
+ string workspace
+ GuardrailSpec guardrail
+ string sample
}
TryGuardrailRequest --> `GuardrailSpec`
classDiagram
direction LR
%% Response message for WorkspaceService.TryGuardrail.
class TryGuardrailResponse {
+ bool pass
+ string reason
+ string problem
}
classDiagram
direction LR
%% A row of an eval's table.
class EvalCase {
+ string id
+ string name
+ string prompt
+ string output
+ string type
+ double threshold
+ string scope
}
classDiagram
direction LR
%% An eval file in .agents/evals.
class EvalFile {
+ string name
+ string path
+ string description
+ List~string~ agents
+ List~string~ skills
+ string near
+ List~string~ allow
+ List~EvalCase~ cases
+ string problem
+ EvalRun last_run
}
EvalFile --> `EvalCase`
EvalFile --> `EvalRun`
classDiagram
direction LR
%% What Studio's eval form edits.
class EvalSpec {
+ string name
+ string description
+ List~string~ agents
+ List~string~ skills
+ string near
+ List~string~ allow
+ List~EvalCase~ cases
}
EvalSpec --> `EvalCase`
classDiagram
direction LR
%% One case run by one agent, and its score.
class EvalResult {
+ string case
+ string name
+ string agent
+ string type
+ string scope
+ string status
+ double score
+ double threshold
+ string prompt
+ string expected
+ string output
+ string reason
+ List~string~ refusals
+ double cost_usd
+ google.protobuf.Duration duration
}
classDiagram
direction LR
%% A run of an eval.
class EvalRun {
+ string id
+ string eval
+ google.protobuf.Timestamp started
+ google.protobuf.Duration duration
+ string status
+ List~EvalResult~ results
+ double cost_usd
+ string error
+ Map~string, int32~ counts
}
EvalRun --> `EvalResult`
classDiagram
direction LR
%% Request message for WorkspaceService.ListEvals.
class ListEvalsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListEvals.
class ListEvalsResponse {
+ List~EvalFile~ evals
+ string dir
}
ListEvalsResponse --> `EvalFile`
classDiagram
direction LR
%% Request message for WorkspaceService.SaveEval.
class SaveEvalRequest {
+ string workspace
+ string previous_name
+ EvalSpec eval
}
SaveEvalRequest --> `EvalSpec`
classDiagram
direction LR
%% Response message for WorkspaceService.SaveEval.
class SaveEvalResponse {
+ EvalFile eval
+ List~string~ problems
}
SaveEvalResponse --> `EvalFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteEval.
class DeleteEvalRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteEval.
class DeleteEvalResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.RunEval.
class RunEvalRequest {
+ string workspace
+ string name
+ List~string~ cases
}
classDiagram
direction LR
%% Response message for WorkspaceService.RunEval: the run as it starts, each result, then the finished run.
class RunEvalResponse {
+ Oneof~EvalRun~ started [oneof: event]
+ Oneof~EvalResult~ result [oneof: event]
+ Oneof~EvalRun~ finished [oneof: event]
}
RunEvalResponse --> `EvalRun`
RunEvalResponse --> `EvalResult`
RunEvalResponse --> `EvalRun`
classDiagram
direction LR
%% Request message for WorkspaceService.ListEvalRuns.
class ListEvalRunsRequest {
+ string workspace
+ string name
+ int32 limit
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListEvalRuns.
class ListEvalRunsResponse {
+ List~EvalRun~ runs
}
ListEvalRunsResponse --> `EvalRun`
classDiagram
direction LR
%% Request message for WorkspaceService.DraftEvalCases.
class DraftEvalCasesRequest {
+ string workspace
+ string agent
+ string request
+ List~EvalCase~ existing
}
DraftEvalCasesRequest --> `EvalCase`
classDiagram
direction LR
%% Response message for WorkspaceService.DraftEvalCases.
class DraftEvalCasesResponse {
+ List~EvalCase~ cases
+ string problem
}
DraftEvalCasesResponse --> `EvalCase`
classDiagram
direction LR
%% A workflow's step.
class FlowNode {
+ string id
+ string type
+ string title
+ double x
+ double y
+ string agent
+ List~string~ skills
+ string instructions
+ List~string~ rules
+ string skill
+ string script
+ List~string~ args
+ string path
+ List~FlowField~ fields
+ int32 retry_attempts
+ string retry_delay
+ string timeout
+ string server
+ string tool
+ string arguments_json
+ string url
+ string method
+ List~FlowPair~ query
+ List~FlowPair~ headers
+ string body
+ string json_body
+ FlowAuth auth
+ string workflow
+ string for_each
+ int32 concurrency
+ string form_json
+ string wait
+ string until
}
FlowNode --> `FlowField`
FlowNode --> `FlowPair`
FlowNode --> `FlowPair`
FlowNode --> `FlowAuth`
classDiagram
direction LR
%% A paused workflow run's task: a human task's form waiting for an answer, or a timer waiting for its time.
class HumanTask {
+ string id
+ string run
+ string workspace
+ string workflow
+ string step
+ string title
+ string kind
+ string message
+ string a2ui_json
+ google.protobuf.Timestamp fire_at
+ google.protobuf.Timestamp created
+ string session_id
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListHumanTasks.
class ListHumanTasksRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListHumanTasks.
class ListHumanTasksResponse {
+ List~HumanTask~ tasks
+ string alerts
}
ListHumanTasksResponse --> `HumanTask`
classDiagram
direction LR
%% Request message for WorkspaceService.WatchHumanTasks.
class WatchHumanTasksRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.WatchHumanTasks: the tasks now (each message the whole list).
class WatchHumanTasksResponse {
+ List~HumanTask~ tasks
+ string alerts
}
WatchHumanTasksResponse --> `HumanTask`
classDiagram
direction LR
%% Request message for WorkspaceService.AnswerHumanTask.
class AnswerHumanTaskRequest {
+ string workspace
+ string task_id
+ string action_json
+ string data_json
}
classDiagram
direction LR
%% Response message for WorkspaceService.AnswerHumanTask.
class AnswerHumanTaskResponse {
+ BackgroundRun run
}
AnswerHumanTaskResponse --> `BackgroundRun`
classDiagram
direction LR
%% A named value: a header, a query parameter.
class FlowPair {
+ string name
+ string value
}
classDiagram
direction LR
%% How an API call authenticates.
class FlowAuth {
+ string type
+ string token
+ string username
+ string password
+ string name
+ string value
+ string in
+ string token_url
+ string client_id
+ string client_secret
+ List~string~ scopes
+ string audience
}
classDiagram
direction LR
%% A value an extract step pulls out.
class FlowField {
+ string name
+ string type
+ string description
}
classDiagram
direction LR
%% A link carrying a step's output to another.
class FlowEdge {
+ string from
+ string to
+ string when
+ string if
+ bool default
+ bool error
+ string label
}
classDiagram
direction LR
%% A workflow file in .agents/workflows.
class WorkflowFile {
+ string name
+ string path
+ string description
+ List~FlowNode~ nodes
+ List~FlowEdge~ edges
+ string problem
+ string mode
}
WorkflowFile --> `FlowNode`
WorkflowFile --> `FlowEdge`
classDiagram
direction LR
%% Request message for WorkspaceService.ListWorkflows.
class ListWorkflowsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListWorkflows.
class ListWorkflowsResponse {
+ List~WorkflowFile~ workflows
+ string dir
}
ListWorkflowsResponse --> `WorkflowFile`
classDiagram
direction LR
%% Request message for WorkspaceService.SaveWorkflow.
class SaveWorkflowRequest {
+ string workspace
+ string previous_name
+ WorkflowFile workflow
}
SaveWorkflowRequest --> `WorkflowFile`
classDiagram
direction LR
%% Response message for WorkspaceService.SaveWorkflow.
class SaveWorkflowResponse {
+ WorkflowFile workflow
+ List~string~ problems
}
SaveWorkflowResponse --> `WorkflowFile`
classDiagram
direction LR
%% Request message for WorkspaceService.DeleteWorkflow.
class DeleteWorkflowRequest {
+ string workspace
+ string name
}
classDiagram
direction LR
%% Response message for WorkspaceService.DeleteWorkflow.
class DeleteWorkflowResponse {
}
classDiagram
direction LR
%% A workflow run's receipt (spec_workflows_043 WF-19): its envelope (what started it, when, on what) and routing slip (each step's run, in the order they ran), with what it spent.
class WorkflowRun {
+ string id
+ string workspace
+ string workflow
+ string origin
+ string session_id
+ string input
+ google.protobuf.Timestamp started
+ google.protobuf.Timestamp ended
+ string status
+ string error
+ string output
+ Usage usage
+ List~string~ models
+ List~WorkflowRunStep~ steps
+ List~WorkflowRunEvent~ events
+ string background_id
+ int32 approvals
+ string mode
}
WorkflowRun --> `Usage`
WorkflowRun --> `WorkflowRunStep`
WorkflowRun --> `WorkflowRunEvent`
classDiagram
direction LR
%% One run of a workflow's step.
class WorkflowRunStep {
+ string id
+ string title
+ string type
+ string status
+ google.protobuf.Timestamp started
+ google.protobuf.Timestamp ended
+ int32 attempts
+ string agent
+ List~string~ models
+ Usage usage
+ string output
+ string stream
+ string error
}
WorkflowRunStep --> `Usage`
classDiagram
direction LR
%% Something that happened in a workflow run.
class WorkflowRunEvent {
+ google.protobuf.Timestamp at
+ string step
+ string kind
+ string text
+ bool error
}
classDiagram
direction LR
%% Request message for WorkspaceService.ListWorkflowRuns.
class ListWorkflowRunsRequest {
+ string workspace
+ string workflow
+ int32 limit
}
classDiagram
direction LR
%% Response message for WorkspaceService.ListWorkflowRuns.
class ListWorkflowRunsResponse {
+ List~WorkflowRun~ runs
}
ListWorkflowRunsResponse --> `WorkflowRun`
classDiagram
direction LR
%% Request message for WorkspaceService.GetWorkflowRun.
class GetWorkflowRunRequest {
+ string workspace
+ string id
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetWorkflowRun.
class GetWorkflowRunResponse {
+ WorkflowRun run
}
GetWorkflowRunResponse --> `WorkflowRun`
classDiagram
direction LR
%% Request message for WorkspaceService.WatchWorkflowRun.
class WatchWorkflowRunRequest {
+ string workspace
+ string id
}
classDiagram
direction LR
%% Response message for WorkspaceService.WatchWorkflowRun.
class WatchWorkflowRunResponse {
+ WorkflowRun run
}
WatchWorkflowRunResponse --> `WorkflowRun`
classDiagram
direction LR
%% Request message for WorkspaceService.WatchWorkflowRuns.
class WatchWorkflowRunsRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.WatchWorkflowRuns.
class WatchWorkflowRunsResponse {
+ List~WorkflowRun~ runs
}
WatchWorkflowRunsResponse --> `WorkflowRun`
classDiagram
direction LR
%% Request message for WorkspaceService.StopWorkflowRun.
class StopWorkflowRunRequest {
+ string workspace
+ string id
}
classDiagram
direction LR
%% Response message for WorkspaceService.StopWorkflowRun.
class StopWorkflowRunResponse {
}
classDiagram
direction LR
%% A workspace's dashboard (spec_health_044).
class WorkspaceHealth {
+ google.protobuf.Timestamp at
+ List~HealthItem~ items
+ List~HealthDay~ days
+ List~HealthSignal~ signals
+ double overall
+ Map~string, double~ by_kind
+ double previous_overall
+ google.protobuf.Timestamp last_check
+ double last_cost_usd
+ string skipped
+ string model
+ string schedule
+ google.protobuf.Timestamp next
+ double max_cost_usd
+ bool checking
+ HealthCheckProgress progress
+ int32 last_judged
+ List~string~ last_errors
}
WorkspaceHealth --> `HealthItem`
WorkspaceHealth --> `HealthDay`
WorkspaceHealth --> `HealthSignal`
WorkspaceHealth --> `HealthCheckProgress`
classDiagram
direction LR
%% How far a check going is.
class HealthCheckProgress {
+ string item
+ int32 index
+ int32 total
+ double cost_usd
}
classDiagram
direction LR
%% One agent, skill, rule, guardrail, eval, workflow or worker.
class HealthItem {
+ string kind
+ string name
+ string path
+ string detail
+ string problem
+ List~string~ flags
+ int32 uses
+ int32 fired
+ HealthRuns runs
+ HealthEvals evals
+ List~int32~ daily
+ HealthVerdict verdict
+ List~double~ history
}
HealthItem --> `HealthRuns`
HealthItem --> `HealthEvals`
HealthItem --> `HealthVerdict`
classDiagram
direction LR
%% A workflow's or a worker's runs in the last 30 days.
class HealthRuns {
+ int32 runs
+ int32 done
+ int32 failed
+ int32 stopped
+ double cost_usd
+ int64 median_ms
+ google.protobuf.Timestamp last
+ string failing_step
}
classDiagram
direction LR
%% An agent's or an eval's latest eval results.
class HealthEvals {
+ int32 runs
+ google.protobuf.Timestamp last
+ int32 passed
+ int32 cases
}
classDiagram
direction LR
%% The judge's verdict on an item.
class HealthVerdict {
+ string model
+ google.protobuf.Timestamp at
+ List~HealthScore~ scores
+ double overall
+ string grade
+ string summary
+ List~string~ fixes
+ double cost_usd
+ bool current
}
HealthVerdict --> `HealthScore`
classDiagram
direction LR
%% One rubric line's score.
class HealthScore {
+ string line
+ int32 score
+ string reason
}
classDiagram
direction LR
%% One day's runs.
class HealthDay {
+ string date
+ int32 done
+ int32 failed
+ int32 stopped
+ double cost_usd
}
classDiagram
direction LR
%% A safety signal: the reviewer's denials, a rule's or a guardrail's decisions, by what they were about.
class HealthSignal {
+ string kind
+ string about
+ int32 count
+ google.protobuf.Timestamp last
+ string detail
}
classDiagram
direction LR
%% Request message for WorkspaceService.GetWorkspaceHealth.
class GetWorkspaceHealthRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.GetWorkspaceHealth.
class GetWorkspaceHealthResponse {
+ WorkspaceHealth health
}
GetWorkspaceHealthResponse --> `WorkspaceHealth`
classDiagram
direction LR
%% Request message for WorkspaceService.WatchWorkspaceHealth.
class WatchWorkspaceHealthRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.WatchWorkspaceHealth.
class WatchWorkspaceHealthResponse {
+ WorkspaceHealth health
}
WatchWorkspaceHealthResponse --> `WorkspaceHealth`
classDiagram
direction LR
%% Which items a check judges: kinds, items ("kind/name"), or all; force re-judges unchanged ones.
class HealthCheckScope {
+ List~string~ kinds
+ List~string~ items
+ bool force
}
classDiagram
direction LR
%% Request message for WorkspaceService.EstimateHealthCheck.
class EstimateHealthCheckRequest {
+ string workspace
+ HealthCheckScope scope
}
EstimateHealthCheckRequest --> `HealthCheckScope`
classDiagram
direction LR
%% Response message for WorkspaceService.EstimateHealthCheck.
class EstimateHealthCheckResponse {
+ int32 items
+ double cost_usd
+ bool priced
}
classDiagram
direction LR
%% Request message for WorkspaceService.CheckWorkspaceHealth.
class CheckWorkspaceHealthRequest {
+ string workspace
+ HealthCheckScope scope
}
CheckWorkspaceHealthRequest --> `HealthCheckScope`
classDiagram
direction LR
%% Response message for WorkspaceService.CheckWorkspaceHealth: one item's verdict (or why it has none), then a last one with done.
class CheckWorkspaceHealthResponse {
+ string item
+ int32 index
+ int32 total
+ HealthVerdict verdict
+ string error
+ double cost_usd
+ bool done
+ int32 judged
}
CheckWorkspaceHealthResponse --> `HealthVerdict`
classDiagram
direction LR
%% Request message for WorkspaceService.StopHealthCheck.
class StopHealthCheckRequest {
+ string workspace
}
classDiagram
direction LR
%% Response message for WorkspaceService.StopHealthCheck.
class StopHealthCheckResponse {
}
classDiagram
direction LR
%% Request message for WorkspaceService.StartHealthCheck.
class StartHealthCheckRequest {
+ string workspace
+ HealthCheckScope scope
}
StartHealthCheckRequest --> `HealthCheckScope`
classDiagram
direction LR
%% Response message for WorkspaceService.StartHealthCheck.
class StartHealthCheckResponse {
}
classDiagram
direction LR
%% A composer conversation as it is.
class ComposeSession {
+ string id
+ string kind
+ List~ComposeTurn~ turns
+ bool asking
+ ComposeDraft draft
+ double cost_usd
}
ComposeSession --> `ComposeTurn`
ComposeSession --> `ComposeDraft`
classDiagram
direction LR
%% One message of a composer conversation: the user's, or the composer's (a question with its suggested answers, or a draft's summary).
class ComposeTurn {
+ string role
+ string text
+ List~string~ options
}
classDiagram
direction LR
%% A component the composer wrote: its name, a summary, its file, what the kind's checks still find wrong, and for a workflow the workflow itself.
class ComposeDraft {
+ string name
+ string summary
+ string file
+ List~string~ problems
+ WorkflowFile workflow
}
ComposeDraft --> `WorkflowFile`
classDiagram
direction LR
%% Request message for WorkspaceService.StartCompose.
class StartComposeRequest {
+ string workspace
+ string kind
+ string request
+ string current
}
classDiagram
direction LR
%% Response message for WorkspaceService.StartCompose.
class StartComposeResponse {
+ ComposeSession session
}
StartComposeResponse --> `ComposeSession`
classDiagram
direction LR
%% Request message for WorkspaceService.AnswerCompose.
class AnswerComposeRequest {
+ string workspace
+ string id
+ string answer
}
classDiagram
direction LR
%% Response message for WorkspaceService.AnswerCompose.
class AnswerComposeResponse {
+ ComposeSession session
}
AnswerComposeResponse --> `ComposeSession`
classDiagram
direction LR
%% Request message for WorkspaceService.DropCompose.
class DropComposeRequest {
+ string workspace
+ string id
}
classDiagram
direction LR
%% Response message for WorkspaceService.DropCompose.
class DropComposeResponse {
}
FQN: blitz.v1.Saved
Saved reports where a change was written in the config file. The change applies even when saving fails.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| path | 1 | string | ||
| error | 2 | string | Why it wasn’t saved; empty on success. |
FQN: blitz.v1.ShutdownRequest
Request message for WorkspaceService.Shutdown.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ShutdownResponse
Response message for WorkspaceService.Shutdown: sent before the service stops.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.GetServiceInfoRequest
Request message for WorkspaceService.GetServiceInfo.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.GetServiceInfoResponse
Response message for WorkspaceService.GetServiceInfo.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| version | 1 | string | The release (1.4.0), or “dev” for an unstamped build. | |
| executable | 2 | string | The program the service runs from, as it started (the file may have been replaced or removed since). | |
| started | 3 | google.protobuf.Timestamp | ||
| pid | 4 | int32 | The service’s process, so a client can stop one that isn’t a login item. | |
| replaced | 5 | bool | The program file has been replaced or removed since the service started (a new build or package installed): it runs the old program. |
FQN: blitz.v1.ListLogDaysRequest
Request message for WorkspaceService.ListLogDays.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ListLogDaysResponse
Response message for WorkspaceService.ListLogDays.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| days | 1 | string | Repeated | YYYY-MM-DD, newest first. |
| dir | 2 | string | Where the log files are ("" when logging is off). |
FQN: blitz.v1.ReadLogRequest
Request message for WorkspaceService.ReadLog.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| day | 1 | string | YYYY-MM-DD; "" is the newest day. | |
| min_level | 2 | string | debug, info, warn or error: that level and above ("" is all). | |
| text | 3 | string | Records containing every word, in any field, ignoring case. | |
| limit | 4 | int32 | The most records returned (0: 500). |
FQN: blitz.v1.LogAttr
A field of a log record.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| key | 1 | string | ||
| value | 2 | string | Strings as they are, other values as JSON. |
FQN: blitz.v1.LogEntry
A log record.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| time | 1 | google.protobuf.Timestamp | ||
| level | 2 | string | DEBUG, INFO, WARN or ERROR. | |
| message | 3 | string | ||
| attrs | 4 | LogAttr | Repeated | The record’s other fields, in order. |
FQN: blitz.v1.ReadLogResponse
Response message for WorkspaceService.ReadLog.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| day | 1 | string | The day read, and its file. | |
| path | 2 | string | ||
| entries | 3 | LogEntry | Repeated | Newest first. |
| matched | 4 | int32 | How many records matched (more than entries when the limit cut them). |
FQN: blitz.v1.DeleteLogDayRequest
Request message for WorkspaceService.DeleteLogDay.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| day | 1 | string | YYYY-MM-DD. |
FQN: blitz.v1.DeleteLogDayResponse
Response message for WorkspaceService.DeleteLogDay.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ListWorkspacesRequest
Request message for WorkspaceService.ListWorkspaces.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ListWorkspacesResponse
Response message for WorkspaceService.ListWorkspaces.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspaces | 1 | string | Repeated | Absolute directories. |
FQN: blitz.v1.CloseWorkspaceRequest
Request message for WorkspaceService.CloseWorkspace.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.CloseWorkspaceResponse
Response message for WorkspaceService.CloseWorkspace.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.GetSandboxRequest
Request message for WorkspaceService.GetSandbox.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetSandboxResponse
Response message for WorkspaceService.GetSandbox.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| summary | 1 | string | Repeated |
FQN: blitz.v1.AgentInfo
AgentInfo describes an agent.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| display_name | 2 | string | ||
| description | 3 | string | ||
| active | 4 | bool | ||
| pinned_model | 5 | string | The model it is pinned to; empty when it runs on the configured model. |
FQN: blitz.v1.ListAgentsRequest
Request message for WorkspaceService.ListAgents.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListAgentsResponse
Response message for WorkspaceService.ListAgents.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agents | 1 | AgentInfo | Repeated |
FQN: blitz.v1.SetAgentRequest
Request message for WorkspaceService.SetAgent.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.SetAgentResponse
Response message for WorkspaceService.SetAgent.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agent | 1 | AgentInfo |
FQN: blitz.v1.Suggestion
Suggestion is one welcome tile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| kind | 1 | SuggestionKind | ||
| title | 2 | string | ||
| prompt | 3 | string | ||
| session_id | 4 | string | ||
| worker | 5 | string | ||
| count | 6 | int32 | ||
| detail | 7 | string |
FQN: blitz.v1.GetSuggestionsRequest
Request message for WorkspaceService.GetSuggestions.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetSuggestionsResponse
Response message for WorkspaceService.GetSuggestions.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| suggestions | 1 | Suggestion | Repeated | State tiles first, then ideas; empty: the front end’s own defaults. |
| harness_missing | 2 | bool | No .agents/AGENTS.md, AGENTS.md, CLAUDE.md, GEMINI.md or BLITZ.md. | |
| pending | 3 | bool | Ideas are being written from newer conversations: ask again shortly. |
FQN: blitz.v1.AgentDefinition
AgentDefinition is an agent's file: its frontmatter and its prompt.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Lowercase letters, digits, - and _. | |
| display_name | 2 | string | ||
| description | 3 | string | ||
| tools | 4 | string | Repeated | The tools it may use, by name. |
| default_model | 5 | string | The model it runs on (“provider/” optional); empty: the configured one. | |
| agency_level | 6 | string | low, medium, high or extreme; empty: high. | |
| permission_mode | 7 | string | Its permission mode through invoke_agent; empty: the workspace’s. | |
| max_turns | 8 | int32 | Its model calls through invoke_agent (0: the caller’s budget). | |
| background | 9 | bool | ||
| isolation | 10 | string | "" or “worktree”. | |
| temperature | 11 | double | Optional | The model settings this agent runs with, over the model’s own; unset leaves the model’s. |
| top_p | 12 | double | Optional | |
| max_tokens | 13 | int32 | Optional | |
| effort | 14 | string | minimal, low, medium, high or max; empty: the model’s. | |
| thinking_budget | 15 | int32 | Optional | |
| prompt | 16 | string | The system prompt: the file’s body. |
FQN: blitz.v1.AgentFile
AgentFile is one agent file of a scope.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| path | 1 | string | ||
| agent | 2 | AgentDefinition | What the file defines; unset when it doesn’t parse. | |
| problem | 3 | string | Why it doesn’t load ("" when it does). |
FQN: blitz.v1.ListAgentFilesRequest
Request message for WorkspaceService.ListAgentFiles.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | Required for AGENT_SCOPE_WORKSPACE. | |
| scope | 2 | AgentScope |
FQN: blitz.v1.ListAgentFilesResponse
Response message for WorkspaceService.ListAgentFiles.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| files | 1 | AgentFile | Repeated | By file name. |
| dir | 2 | string | The scope’s folder. |
FQN: blitz.v1.SaveAgentFileRequest
Request message for WorkspaceService.SaveAgentFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| scope | 2 | AgentScope | ||
| previous_name | 3 | string | The agent it replaces (a rename); empty for a new agent. | |
| agent | 4 | AgentDefinition |
FQN: blitz.v1.SaveAgentFileResponse
Response message for WorkspaceService.SaveAgentFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | AgentFile | The file written, unless there were problems. | |
| problems | 2 | string | Repeated |
FQN: blitz.v1.DeleteAgentFileRequest
Request message for WorkspaceService.DeleteAgentFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| scope | 2 | AgentScope | ||
| name | 3 | string | The agent whose file goes. | |
| path | 4 | string | Or the file itself, which must be one of the scope’s (for a file that doesn’t parse, so names no agent). |
FQN: blitz.v1.DeleteAgentFileResponse
Response message for WorkspaceService.DeleteAgentFile.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.GetModelRequest
Request message for WorkspaceService.GetModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetModelResponse
Response message for WorkspaceService.GetModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| provider | 2 | string | The configured provider. | |
| unavailable | 3 | string | Why the configured model couldn’t be built, if it couldn’t; the workspace then runs on a placeholder model. |
FQN: blitz.v1.SetModelRequest
Request message for WorkspaceService.SetModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| ref | 2 | string | A name or “provider/model”. |
FQN: blitz.v1.SetModelResponse
Response message for WorkspaceService.SetModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| active_pin | 1 | string | The model the active agent is pinned to, which still applies to it; empty if it isn’t pinned. |
FQN: blitz.v1.PinModelRequest
Request message for WorkspaceService.PinModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| agent | 2 | string | ||
| ref | 3 | string |
FQN: blitz.v1.PinModelResponse
Response message for WorkspaceService.PinModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agent | 1 | string | ||
| model | 2 | string | The model the agent now runs on. | |
| saved | 3 | Saved |
FQN: blitz.v1.UnpinModelRequest
Request message for WorkspaceService.UnpinModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| agent | 2 | string |
FQN: blitz.v1.UnpinModelResponse
Response message for WorkspaceService.UnpinModel.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agent | 1 | string | ||
| model | 2 | string | ||
| saved | 3 | Saved |
FQN: blitz.v1.ModelSettings
ModelSettings are a model's generation settings; unset fields use the global value or the provider's default.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| temperature | 1 | double | Optional | |
| max_tokens | 2 | int32 | Optional | |
| top_p | 3 | double | Optional | |
| seed | 4 | int32 | Optional | |
| reasoning_effort | 5 | string | Optional | minimal, low, medium, high or max. |
| thinking_budget | 6 | int32 | Optional | Tokens the model may spend thinking; 0 turns thinking off. |
FQN: blitz.v1.ModelSettingsInfo
ModelSettingsInfo is one model's settings and what applies otherwise.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| model | 1 | string | Without a provider prefix. | |
| provider | 2 | string | ||
| settings | 3 | ModelSettings | ||
| global_temperature | 4 | double | Apply when settings leaves them unset (0: the provider’s default). | |
| global_max_tokens | 5 | int32 |
FQN: blitz.v1.GetModelSettingsRequest
Request message for WorkspaceService.GetModelSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| ref | 2 | string | One model (“provider/” optional); empty for every model with settings. |
FQN: blitz.v1.GetModelSettingsResponse
Response message for WorkspaceService.GetModelSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| all | 1 | string, ModelSettings | Map | Every model with settings, by name (when ref is empty). |
| model | 2 | ModelSettingsInfo | The requested model (when ref is set). |
FQN: blitz.v1.Setting
Setting is one key=value change; an empty value clears the key.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| key | 1 | string | ||
| value | 2 | string |
FQN: blitz.v1.UpdateModelSettingsRequest
Request message for WorkspaceService.UpdateModelSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| ref | 2 | string | ||
| reset | 3 | bool | Clear every setting before applying changes. | |
| changes | 4 | Setting | Repeated |
FQN: blitz.v1.UpdateModelSettingsResponse
Response message for WorkspaceService.UpdateModelSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| model | 1 | ModelSettingsInfo | ||
| unsupported | 2 | string | Repeated | Keys set that the provider or model ignores. |
| saved | 3 | Saved |
FQN: blitz.v1.GetSettingsRequest
Request message for WorkspaceService.GetSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetSettingsResponse
Response message for WorkspaceService.GetSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agency | 3 | string | ||
| model | 4 | string | ||
| provider | 5 | string | ||
| agent | 6 | string | ||
| locale | 7 | string | The language the model replies in. | |
| images_enabled | 8 | bool | Images can be attached to prompts. | |
| permission_mode | 9 | string | default, accept-edits, plan, dont-ask or bypass. | |
| effort | 10 | string | The session’s reasoning effort (minimal … max), empty when unset. | |
| style | 11 | string | The output style in use (“default”: none). | |
| speech_model | 12 | string | The speech model generate_audio reads aloud with ([audio] model, “provider/model”; "" for none). | |
| speech_error | 13 | string | Why the speech model can’t be used ("" when it can, or there’s none). | |
| accepted_media | 14 | AcceptedMedia | Repeated | What the active agent’s model takes as attachments, for the front ends to offer only those (LoadImage and AddImage refuse others, UNSUPPORTED_MEDIA). |
FQN: blitz.v1.AcceptedMedia
AcceptedMedia is a kind of attachment a model takes.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| kind | 1 | string | image, document (PDF), text, audio or video. | |
| mime_types | 2 | string | Repeated | |
| extensions | 3 | string | Repeated | The file name extensions of those types, with their dot. |
| max_bytes | 4 | int64 | The largest file the model takes. |
FQN: blitz.v1.SetPermissionModeRequest
Request message for WorkspaceService.SetPermissionMode.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| mode | 2 | string | default, accept-edits, plan, dont-ask or bypass (other spellings such as acceptEdits are accepted). |
FQN: blitz.v1.SetPermissionModeResponse
Response message for WorkspaceService.SetPermissionMode.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| mode | 1 | string | The mode’s canonical name. |
FQN: blitz.v1.Command
Command is a custom slash command.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Without the slash; may be namespaced (“db:migrate”). | |
| description | 2 | string | ||
| argument_hint | 3 | string | ||
| source | 4 | string | project, user, bundled or skill. |
FQN: blitz.v1.ListCommandsRequest
Request message for WorkspaceService.ListCommands.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListCommandsResponse
Response message for WorkspaceService.ListCommands.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| commands | 1 | Command | Repeated |
FQN: blitz.v1.PermissionRule
PermissionRule is an allow, ask or deny rule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| effect | 1 | string | allow, ask or deny. | |
| rule | 2 | string | kind(pattern), e.g. shell(git push *), or a tool name. | |
| source | 3 | string | Where it comes from: global or workspace (the settings file it’s in), built-in (read_only_defaults), flag or session. |
FQN: blitz.v1.ListPermissionRulesRequest
Request message for WorkspaceService.ListPermissionRules.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListPermissionRulesResponse
Response message for WorkspaceService.ListPermissionRules.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| rules | 1 | PermissionRule | Repeated | |
| problem | 2 | string | Why some of the settings’ rules were left out when they last changed (not enforced until fixed; the workspace won’t open with them). |
FQN: blitz.v1.AddPermissionRuleRequest
Request message for WorkspaceService.AddPermissionRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| effect | 2 | string | ||
| rule | 3 | string | ||
| save | 4 | bool | ||
| scope | 5 | string | With save: “global” ("" too) or “workspace”. |
FQN: blitz.v1.AddPermissionRuleResponse
Response message for WorkspaceService.AddPermissionRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| rule | 1 | string | The rule in canonical form. | |
| next_start | 2 | bool | Saved, but only applies from the next start (read rules). | |
| saved | 3 | Saved |
FQN: blitz.v1.RemovePermissionRuleRequest
Request message for WorkspaceService.RemovePermissionRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| rule | 2 | string | ||
| save | 3 | bool | ||
| scope | 4 | string | With save: “global” ("" too) or “workspace”. |
FQN: blitz.v1.RemovePermissionRuleResponse
Response message for WorkspaceService.RemovePermissionRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| rule | 1 | string | ||
| removed | 2 | int32 | How many rules were removed. | |
| saved | 3 | Saved |
FQN: blitz.v1.SetSettingRequest
Request message for WorkspaceService.SetSetting.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| key | 2 | string | “agency”. | |
| value | 3 | string |
FQN: blitz.v1.SetSettingResponse
Response message for WorkspaceService.SetSetting.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| key | 1 | string | The key in canonical form. |
FQN: blitz.v1.SkillInfo
SkillInfo describes a skill and what the skills policy lets it do.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| description | 2 | string | ||
| version | 3 | string | ||
| license | 4 | string | ||
| category | 5 | string | ||
| compatibility | 6 | string | ||
| tags | 7 | string | Repeated | |
| hash | 8 | string | Identifies the content, for pinning it in the policy. | |
| tools | 9 | SkillTool | Repeated | |
| scripts | 10 | SkillScript | Repeated | |
| tier | 11 | string | The approval tier the scripts run at; empty without scripts. | |
| bypass | 12 | bool | The skill may skip approvals and the policy allows it. | |
| network | 13 | bool | The scripts may use the network. | |
| needs_network | 14 | bool | The skill asks for the network (granted or not). | |
| env | 15 | string | Repeated | Host environment variables passed to the scripts, and those withheld. |
| withheld | 16 | string | Repeated | |
| blocked | 17 | string | Repeated | Why none of the scripts may run. |
| dir | 18 | string | Its folder on disk ("" for a built-in skill). | |
| kind | 19 | string | simple, references, scripts or meta, from its folder. | |
| agents | 20 | string | Repeated | The agents it’s offered to (none: every one). |
| members | 21 | string | Repeated | The skills a meta skill combines. |
| references | 22 | string | Repeated | Its files under references/, as references/<path>. |
| project | 23 | bool | The workspace’s own: its folder is in the workspace. | |
| package_files | 24 | string | Repeated | Its package files (requirements.txt, pyproject.toml, package.json), as paths in its folder: the first of each kind gives its scripts their packages. |
| needs_review | 25 | bool | Its scripts, on disk, weren’t reviewed and trusted with this content (hash): new, changed, or a registry’s. Each run asks first, until ConfigService.TrustSkillScripts. |
FQN: blitz.v1.SkillTool
SkillTool is a tool a skill needs.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| scopes | 2 | string | Repeated | |
| why | 3 | string |
FQN: blitz.v1.SkillScript
SkillScript is one of a skill's scripts and the policy's verdict.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| language | 2 | string | ||
| source | 3 | string | Its path in the skill, or “inline”. | |
| timeout | 4 | google.protobuf.Duration | ||
| deps | 5 | string | Repeated | |
| allowed | 6 | bool | ||
| reasons | 7 | string | Repeated | |
| found | 8 | bool | Not declared, but found in scripts/. |
FQN: blitz.v1.ListSkillsRequest
Request message for WorkspaceService.ListSkills.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| query | 2 | string | Only skills matching; empty for all. |
FQN: blitz.v1.ListSkillsResponse
Response message for WorkspaceService.ListSkills.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| skills | 1 | SkillInfo | Repeated |
FQN: blitz.v1.GetSkillRequest
Request message for WorkspaceService.GetSkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.GetSkillResponse
Response message for WorkspaceService.GetSkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| skill | 1 | SkillInfo |
FQN: blitz.v1.SkillSpec
What Studio's skill form edits.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Its folder’s name: lowercase letters, digits and single hyphens. | |
| description | 2 | string | ||
| tools | 3 | string | The tools it may use (allowed-tools), space-separated. | |
| agents | 4 | string | Repeated | |
| members | 5 | string | Repeated | The skills a meta skill combines. |
| instructions | 6 | string |
FQN: blitz.v1.SkillFile
A skill as Studio edits it.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| skill | 1 | SkillInfo | ||
| path | 2 | string | Its SKILL.md. | |
| hash | 3 | string | SKILL.md’s content hash, for SaveSkill ("" when not editable). | |
| spec | 4 | SkillSpec | ||
| editable | 5 | bool | The workspace’s own: Studio may change it. |
FQN: blitz.v1.GetSkillFileRequest
Request message for WorkspaceService.GetSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.GetSkillFileResponse
Response message for WorkspaceService.GetSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | SkillFile |
FQN: blitz.v1.SaveSkillRequest
Request message for WorkspaceService.SaveSkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| previous_name | 2 | string | The skill edited; empty for a new one. | |
| hash | 3 | string | Its SKILL.md’s hash when read. | |
| skill | 4 | SkillSpec |
FQN: blitz.v1.SaveSkillResponse
Response message for WorkspaceService.SaveSkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | SkillFile | ||
| problems | 2 | string | Repeated |
FQN: blitz.v1.DeleteSkillRequest
Request message for WorkspaceService.DeleteSkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.DeleteSkillResponse
Response message for WorkspaceService.DeleteSkill.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ReadSkillFileRequest
Request message for WorkspaceService.ReadSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| path | 3 | string | Relative to the skill’s folder. |
FQN: blitz.v1.ReadSkillFileResponse
Response message for WorkspaceService.ReadSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| content | 1 | bytes |
FQN: blitz.v1.WriteSkillFileRequest
Request message for WorkspaceService.WriteSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| path | 3 | string | references/… or scripts/… | |
| content | 4 | bytes |
FQN: blitz.v1.WriteSkillFileResponse
Response message for WorkspaceService.WriteSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | SkillFile |
FQN: blitz.v1.DeleteSkillFileRequest
Request message for WorkspaceService.DeleteSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| path | 3 | string |
FQN: blitz.v1.DeleteSkillFileResponse
Response message for WorkspaceService.DeleteSkillFile.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | SkillFile |
FQN: blitz.v1.CopySkillRequest
Request message for WorkspaceService.CopySkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| from | 2 | string | The skill copied: any the workspace sees. | |
| name | 3 | string | The copy’s name. |
FQN: blitz.v1.CopySkillResponse
Response message for WorkspaceService.CopySkill.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | SkillFile | ||
| problems | 2 | string | Repeated |
FQN: blitz.v1.RunSkillScriptRequest
Request message for WorkspaceService.RunSkillScript.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| script | 3 | string | ||
| args | 4 | string | Repeated |
FQN: blitz.v1.RunSkillScriptResponse
Response message for WorkspaceService.RunSkillScript.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| exit_code | 1 | int32 | ||
| stdout | 2 | string | ||
| stderr | 3 | string | ||
| timed_out | 4 | bool | ||
| sandbox | 5 | string | The sandbox it ran in. | |
| output_files | 6 | string | Repeated | Files it wrote to its output directory. |
| error | 7 | string | Why it didn’t run, or failed to. |
FQN: blitz.v1.Env
Env is an isolated Python environment built for skill scripts.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| key | 1 | string | ||
| deps | 2 | string | Repeated | |
| skills | 3 | string | Repeated | The skills that used it. |
| size | 4 | int64 | Bytes on disk. | |
| last_used | 5 | google.protobuf.Timestamp | ||
| ready | 6 | bool | Built completely. |
FQN: blitz.v1.ListEnvsRequest
Request message for WorkspaceService.ListEnvs.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListEnvsResponse
Response message for WorkspaceService.ListEnvs.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| envs | 1 | Env | Repeated |
FQN: blitz.v1.RemoveEnvRequest
Request message for WorkspaceService.RemoveEnv.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| key | 2 | string |
FQN: blitz.v1.RemoveEnvResponse
Response message for WorkspaceService.RemoveEnv.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.PruneEnvsRequest
Request message for WorkspaceService.PruneEnvs.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.EnvError
EnvError is an environment that couldn't be removed.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| key | 1 | string | ||
| error | 2 | string |
FQN: blitz.v1.PruneEnvsResponse
Response message for WorkspaceService.PruneEnvs.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| removed | 1 | int32 | ||
| freed | 2 | int64 | Bytes freed. | |
| failed | 3 | EnvError | Repeated |
FQN: blitz.v1.MCPServer
MCPServer is a configured MCP server.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| target | 2 | string | Its URL, or the command that starts it. | |
| auto_approve | 3 | bool | ||
| disabled | 4 | bool | Configured, but never started (disabled = true). | |
| state | 5 | string | “disabled”, “idle” (its tools not listed yet), “connected” or “failed” (error says why). | |
| error | 6 | string | ||
| tools | 7 | int32 | How many tools it offered when last listed. |
FQN: blitz.v1.ListMCPServersRequest
Request message for WorkspaceService.ListMCPServers.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListMCPServersResponse
Response message for WorkspaceService.ListMCPServers.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| servers | 1 | MCPServer | Repeated |
FQN: blitz.v1.RestartMCPServerRequest
Request message for WorkspaceService.RestartMCPServer.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.RestartMCPServerResponse
Response message for WorkspaceService.RestartMCPServer.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ToolInfo
ToolInfo is a tool an agent can call.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| description | 2 | string | ||
| plan_allowed | 3 | bool | Stays available in plan mode. |
FQN: blitz.v1.MCPOffer
MCPOffer is an MCP server offered to an agent.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| server | 1 | string | ||
| tools | 2 | string | Repeated | The tools offered; empty means all. |
| prefix | 3 | string | Prepended to tool names. |
FQN: blitz.v1.ListToolsRequest
Request message for WorkspaceService.ListTools.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| all | 2 | bool | Every tool an agent can be given (for the agent editors), not only the active agent’s; agent and mcp are left empty. |
FQN: blitz.v1.ListToolsResponse
Response message for WorkspaceService.ListTools.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agent | 1 | string | ||
| tools | 2 | ToolInfo | Repeated | |
| mcp | 3 | MCPOffer | Repeated |
FQN: blitz.v1.ReloadMemoryRequest
Request message for WorkspaceService.ReloadMemory.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ReloadMemoryResponse
Response message for WorkspaceService.ReloadMemory.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| paths | 1 | string | Repeated | |
| files | 2 | string | Repeated | The file names looked for, in order. |
FQN: blitz.v1.ReloadAgentFilesRequest
Request message for WorkspaceService.ReloadAgentFiles.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ReloadAgentFilesResponse
Response message for WorkspaceService.ReloadAgentFiles.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| agents | 1 | int32 | Agents loaded from files (built-in ones aside). | |
| skills | 2 | int32 | Skills loaded from files (built-in ones aside). | |
| files | 3 | string | Repeated | The instruction files and rules loaded. |
| problems | 4 | string | Repeated | Files that didn’t load, and why. |
FQN: blitz.v1.AddMemoryRequest
Request message for WorkspaceService.AddMemory.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| text | 2 | string |
FQN: blitz.v1.AddMemoryResponse
Response message for WorkspaceService.AddMemory.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| path | 1 | string |
FQN: blitz.v1.LocaleInfo
LocaleInfo names a language with an interface catalog.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| tag | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.ListLocalesRequest
Request message for WorkspaceService.ListLocales.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListLocalesResponse
Response message for WorkspaceService.ListLocales.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| locales | 1 | LocaleInfo | Repeated | |
| custom_dir | 2 | string | Where custom catalogs are read from; empty if none is configured. |
FQN: blitz.v1.SetLocaleRequest
Request message for WorkspaceService.SetLocale.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| input | 2 | string | A language tag or name. |
FQN: blitz.v1.SetLocaleResponse
Response message for WorkspaceService.SetLocale.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| tag | 1 | string | ||
| native_name | 2 | string | e.g. “Español”. | |
| language_name | 3 | string | In the new language’s terms, e.g. “español”. | |
| has_catalog | 4 | bool | The interface is translated; otherwise only replies are. | |
| saved | 5 | Saved |
FQN: blitz.v1.Checkpoint
Checkpoint is the files one turn changed.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | int32 | ||
| label | 2 | string | ||
| time | 3 | google.protobuf.Timestamp | ||
| files | 4 | string | Repeated |
FQN: blitz.v1.ListCheckpointsRequest
Request message for WorkspaceService.ListCheckpoints.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListCheckpointsResponse
Response message for WorkspaceService.ListCheckpoints.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| checkpoints | 1 | Checkpoint | Repeated |
FQN: blitz.v1.UndoRequest
Request message for WorkspaceService.Undo.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| force | 2 | bool | Restore even files changed since the agent’s edit. |
FQN: blitz.v1.UndoResponse
Response message for WorkspaceService.Undo.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| label | 1 | string | ||
| restored | 2 | string | Repeated | |
| error | 3 | ErrorInfo | Why the rest wasn’t restored, after a partial restore. |
FQN: blitz.v1.GetDiffRequest
Request message for WorkspaceService.GetDiff.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| git | 2 | bool | git’s diff (stat and patch) instead of the agent’s changes. | |
| color | 3 | bool | Keep git’s terminal colours. |
FQN: blitz.v1.GetDiffResponse
Response message for WorkspaceService.GetDiff.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| diff | 1 | string | A unified diff; empty when nothing changed. |
FQN: blitz.v1.Approval
Approval is a standing permission.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| key | 1 | string | Identifies it for RevokeApprovals. | |
| kind | 2 | string | “cmd”, “write”, “delete”, “web”, “mcp”, “uc-run”, or a newer kind. | |
| subject | 3 | string | The command, path, host or tool. | |
| dir | 4 | string | The workspace a command approval is limited to. | |
| always | 5 | bool | Saved for future sessions; otherwise it lasts until the service stops. | |
| added | 6 | google.protobuf.Timestamp |
FQN: blitz.v1.ListApprovalsRequest
Request message for WorkspaceService.ListApprovals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListApprovalsResponse
Response message for WorkspaceService.ListApprovals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| approvals | 1 | Approval | Repeated |
FQN: blitz.v1.RevokeApprovalsRequest
Request message for WorkspaceService.RevokeApprovals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| keys | 2 | string | Repeated | |
| all | 3 | bool | Revoke every approval; keys is ignored. |
FQN: blitz.v1.RevokeApprovalsResponse
Response message for WorkspaceService.RevokeApprovals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| revoked | 1 | int32 | ||
| error | 2 | ErrorInfo | Saved approvals that couldn’t be removed from the file (APPROVALS_STILL_SAVED): revoked for now, back at the next start. |
FQN: blitz.v1.Process
Process is a background process the agent started, and how it is.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | int32 | The workspace’s number for it. | |
| command | 2 | string | ||
| running | 3 | bool | ||
| exit_code | 4 | int32 | Once it has finished. | |
| runtime_ms | 5 | int64 | How long it has run, or ran. |
FQN: blitz.v1.ListProcessesRequest
Request message for WorkspaceService.ListProcesses.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions whose processes to list. |
FQN: blitz.v1.ListProcessesResponse
Response message for WorkspaceService.ListProcesses.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| processes | 1 | Process | Repeated |
FQN: blitz.v1.GetProcessOutputRequest
Request message for WorkspaceService.GetProcessOutput.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions the asking client ran turns in. |
| id | 3 | int32 |
FQN: blitz.v1.GetProcessOutputResponse
Response message for WorkspaceService.GetProcessOutput.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| output | 1 | string | Its output and errors as captured (the first part, when long). | |
| process | 2 | Process |
FQN: blitz.v1.KillProcessRequest
Request message for WorkspaceService.KillProcess.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions the asking client ran turns in. |
| id | 3 | int32 |
FQN: blitz.v1.KillProcessResponse
Response message for WorkspaceService.KillProcess.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| process | 1 | Process | How it is after the kill. |
FQN: blitz.v1.AuditShellRequest
Request message for WorkspaceService.AuditShell.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| command | 2 | string | ||
| exit_code | 3 | int32 | ||
| start_error | 4 | string | Why it didn’t start, if it didn’t ("" when it ran). |
FQN: blitz.v1.AuditShellResponse
Response message for WorkspaceService.AuditShell.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.BackgroundTask
BackgroundTask is a sub-agent running beside the turn that started it.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | task-1, task-2, … in the workspace. | |
| agent | 2 | string | ||
| prompt | 3 | string | The first line of what it was asked. | |
| session_id | 4 | string | The session whose turn started it. | |
| state | 5 | string | running, done, failed or stopped. | |
| started | 6 | google.protobuf.Timestamp | ||
| ended | 7 | google.protobuf.Timestamp | Unset while it runs. | |
| result | 8 | string | What it answered, when done. | |
| error | 9 | string | Why it failed or stopped. | |
| usage | 10 | Usage | Its own tokens and cost (also counted in its session’s). | |
| worktree | 11 | string | Its own git worktree and branch, when it ran isolated in one. | |
| branch | 12 | string |
FQN: blitz.v1.ListTasksRequest
Request message for WorkspaceService.ListTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions whose tasks to list. |
FQN: blitz.v1.ListTasksResponse
Response message for WorkspaceService.ListTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| tasks | 1 | BackgroundTask | Repeated |
FQN: blitz.v1.GetTaskRequest
Request message for WorkspaceService.GetTask.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions the asking client ran turns in. |
| id | 3 | string |
FQN: blitz.v1.GetTaskResponse
Response message for WorkspaceService.GetTask.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| task | 1 | BackgroundTask | ||
| events | 2 | string | Repeated | Its latest events, in words (the last 200). |
FQN: blitz.v1.StopTaskRequest
Request message for WorkspaceService.StopTask.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions the asking client ran turns in. |
| id | 3 | string |
FQN: blitz.v1.TaskEvent
TaskEvent is something that happened to a background task outside a turn.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| task | 1 | BackgroundTask | Oneof (kind) | Started, waiting for an answer, running again, or ended. |
| approval_request | 2 | ApprovalRequest | Oneof (kind) | Waits for Approve. |
| question | 3 | Question | Oneof (kind) | Waits for Answer. |
| resolved | 4 | string | Oneof (kind) | A request that no longer waits (answered, or its task ended). |
| ready | 5 | bool | Oneof (kind) | Sent once, after the active tasks and waiting requests: changes follow. |
| settings_changed | 6 | bool | Oneof (kind) | The workspace’s permission rules or remembered approvals changed (their files were edited, by anyone): views of them should refresh. |
FQN: blitz.v1.WatchTasksRequest
Request message for WorkspaceService.WatchTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated | The sessions whose tasks to follow. |
FQN: blitz.v1.WatchTasksResponse
Response message for WorkspaceService.WatchTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| event | 1 | TaskEvent |
FQN: blitz.v1.ListTaskRequestsRequest
Request message for WorkspaceService.ListTaskRequests.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_ids | 2 | string | Repeated |
FQN: blitz.v1.ListTaskRequestsResponse
Response message for WorkspaceService.ListTaskRequests.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| requests | 1 | TaskEvent | Repeated | Each an approval_request or a question. |
FQN: blitz.v1.StopTaskResponse
Response message for WorkspaceService.StopTask.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| task | 1 | BackgroundTask | How it is once stopped. |
FQN: blitz.v1.ProjectItem
ProjectItem is one setting from a project file.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| file | 1 | string | The file, relative to the workspace. | |
| kind | 2 | string | deny, ask, blocked_path, limit, skill_policy, worker_limit (applied); hook, mcp, allow, writable, model, agent_model, worker_allow, skill_scripts (needing trust); setting (another key). | |
| key | 3 | string | The hook’s event, the server’s, agent’s or skill’s name, or the key. | |
| value | 4 | string | The rule, command, path, model or number. | |
| reason | 5 | string | Why it was ignored: never, unknown, not_stricter, outside, provider, user_set. |
FQN: blitz.v1.ProjectSettings
ProjectSettings are what a workspace's project files say.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| files | 1 | string | Repeated | The files found, relative to the workspace. |
| state | 2 | string | The trust decision for the content as it is now: none, new, changed, trusted, declined. | |
| hash | 3 | string | Identifies the content needing trust; TrustProject takes it back. | |
| loaded | 4 | bool | The settings needing trust are in force. | |
| applied | 5 | ProjectItem | Repeated | In force without trust: they only tighten. |
| pending | 6 | ProjectItem | Repeated | Needing trust: they run code or loosen a policy. |
| ignored | 7 | ProjectItem | Repeated | Not taken from a project, or changing nothing. |
| problems | 8 | string | Repeated | Files that couldn’t be read. |
FQN: blitz.v1.GetProjectSettingsRequest
Request message for WorkspaceService.GetProjectSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetProjectSettingsResponse
Response message for WorkspaceService.GetProjectSettings.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| settings | 1 | ProjectSettings |
FQN: blitz.v1.TakeProcessNoticesRequest
Request message for WorkspaceService.TakeProcessNotices.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| session_id | 2 | string |
FQN: blitz.v1.TakeProcessNoticesResponse
Response message for WorkspaceService.TakeProcessNotices.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| notices | 1 | string | Repeated |
FQN: blitz.v1.Style
Style is an output style.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| description | 2 | string | ||
| source | 3 | string | “built-in”, or the style’s file. | |
| active | 4 | bool |
FQN: blitz.v1.ListStylesRequest
Request message for WorkspaceService.ListStyles.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListStylesResponse
Response message for WorkspaceService.ListStyles.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| styles | 1 | Style | Repeated |
FQN: blitz.v1.Hook
Hook is a configured hook.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| event | 1 | string | ||
| type | 2 | string | command, http or prompt. | |
| match | 3 | string | The tool-name glob, for tool events. | |
| if | 4 | string | The permission rule calls must match. | |
| runs | 5 | string | What it runs: the command, POST <url>, or prompt: <text>. | |
| source | 6 | string | The project file it came from; empty for the user’s own settings. | |
| fail_closed | 7 | bool | ||
| failures | 8 | HookFailure | Repeated | Its latest failed runs since the workspace opened. |
FQN: blitz.v1.HookFailure
HookFailure is one failed run of a hook.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| time | 1 | google.protobuf.Timestamp | ||
| error | 2 | string |
FQN: blitz.v1.ListHooksRequest
Request message for WorkspaceService.ListHooks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListHooksResponse
Response message for WorkspaceService.ListHooks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| hooks | 1 | Hook | Repeated |
FQN: blitz.v1.Note
Note is something the agent remembered across sessions of a workspace.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Its name, to forget it. | |
| kind | 2 | string | fact, preference or correction. | |
| text | 3 | string | ||
| time | 4 | google.protobuf.Timestamp | ||
| path | 5 | string | Its file, on the service’s machine. |
FQN: blitz.v1.ListNotesRequest
Request message for WorkspaceService.ListNotes.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListNotesResponse
Response message for WorkspaceService.ListNotes.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| notes | 1 | Note | Repeated |
FQN: blitz.v1.ForgetNoteRequest
Request message for WorkspaceService.ForgetNote.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | The note’s name, or the start of it when only one note’s starts so. |
FQN: blitz.v1.ForgetNoteResponse
Response message for WorkspaceService.ForgetNote.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ForgetProjectTrustRequest
Request message for WorkspaceService.ForgetProjectTrust.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ForgetProjectTrustResponse
Response message for WorkspaceService.ForgetProjectTrust.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| reopened | 1 | bool | The workspace was reopened without the settings; false when a turn was running (it takes effect when the workspace next opens). |
FQN: blitz.v1.TrustProjectRequest
Request message for WorkspaceService.TrustProject.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| hash | 2 | string | The hash of the content shown. | |
| trusted | 3 | bool | Trust it, or decline it. |
FQN: blitz.v1.TrustProjectResponse
Response message for WorkspaceService.TrustProject.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| reopened | 1 | bool | The workspace was reopened with the decision; false when a turn was running in it: it applies the next time the workspace opens. |
FQN: blitz.v1.Image
Image is an image or a PDF stored for a prompt.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | For Turn.image_ids: the SHA-256 of the data. | |
| name | 2 | string | ||
| mime_type | 3 | string | ||
| width | 4 | int32 | ||
| height | 5 | int32 | ||
| size | 6 | int64 | Bytes, after any resizing. | |
| resized | 7 | bool | Scaled down to fit the model’s limits. | |
| pages | 8 | int32 | A PDF’s page count (mime_type application/pdf); 0 for a picture. | |
| kind | 9 | string | image, document, text, audio or video. | |
| seconds | 10 | double | The length of audio or video, when its header gives it; 0 otherwise. |
FQN: blitz.v1.LoadImageRequest
Request message for WorkspaceService.LoadImage.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| path | 2 | string | Relative to the workspace. |
FQN: blitz.v1.LoadImageResponse
Response message for WorkspaceService.LoadImage.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| image | 1 | Image |
FQN: blitz.v1.AddImageRequest
Request message for WorkspaceService.AddImage.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| data | 3 | bytes |
FQN: blitz.v1.AddImageResponse
Response message for WorkspaceService.AddImage.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| image | 1 | Image |
FQN: blitz.v1.Link
Link is a search result handed to the agent.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| title | 1 | string | ||
| url | 2 | string |
FQN: blitz.v1.GetSearchProviderRequest
Request message for WorkspaceService.GetSearchProvider.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetSearchProviderResponse
Response message for WorkspaceService.GetSearchProvider.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| provider | 1 | string |
FQN: blitz.v1.SearchWebRequest
Request message for WorkspaceService.SearchWeb.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| terms | 2 | string |
FQN: blitz.v1.SearchWebResponse
Response message for WorkspaceService.SearchWeb.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| provider | 1 | string | The provider searched. | |
| links | 2 | Link | Repeated | None: nothing worth handing over. |
| prompt | 3 | string |
FQN: blitz.v1.SearchWorkspaceRequest
Request message for WorkspaceService.SearchWorkspace.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| query | 2 | string | Words and “quoted phrases”. | |
| sources | 3 | string | Repeated | files, documents, chats, notes; none: the search.sources setting. |
| limit | 4 | int32 | 0: 20. | |
| mode | 5 | string | keyword, semantic or hybrid; “”: hybrid with an embedding model, else keyword (NO_EMBEDDINGS, UNKNOWN_SEARCH_MODE). | |
| hidden | 6 | bool | Include hidden items: dotfiles, files git ignores (the desktop app asks for them when it shows hidden files). |
FQN: blitz.v1.SearchHit
SearchHit is one item workspace search found.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| source | 1 | string | files, documents, chats or notes. | |
| ref | 2 | string | A path relative to the workspace (files, documents, plans), a session’s ID (chats) or a note’s name. | |
| title | 3 | string | ||
| line | 4 | int32 | The passage’s line in the item’s text (1-based). | |
| section | 5 | string | What the passage is in: a PDF’s page, a notebook’s cell. | |
| snippet | 6 | string | The lines around the match. | |
| score | 7 | double | ||
| summary | 8 | string | What a model wrote of the item (search.enrich), if it has. | |
| tags | 9 | string | Repeated |
FQN: blitz.v1.SearchWorkspaceResponse
Response message for WorkspaceService.SearchWorkspace.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| hits | 1 | SearchHit | Repeated | Best first, one per item. |
| sources | 2 | string | Repeated | The sources searched. |
FQN: blitz.v1.GetSearchStatusRequest
Request message for WorkspaceService.GetSearchStatus.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.SearchStatus
SearchStatus is how a workspace's search index is.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| enabled | 1 | bool | Search is on (search.enabled). | |
| items | 2 | string, int32 | Map | Items indexed, by source. |
| scanning | 3 | bool | A scan is running. | |
| last_scan | 4 | google.protobuf.Timestamp | When the last scan finished. | |
| unreadable | 5 | int32 | Items that couldn’t be read. | |
| error | 6 | string | ||
| embedding_model | 7 | string | Semantic search’s embedding model ("": off). | |
| embedded | 8 | int32 | Chunks with vectors. | |
| embed_error | 9 | string | Why embedding stopped (the next scan tries again). | |
| enriched | 10 | int32 | Items with a summary (search.enrich), and why describing stopped. | |
| enrich_error | 11 | string | ||
| settings | 12 | SearchSettings | The [search] settings followed, even with search off. | |
| problem | 13 | string | What kept them from applying in full (an embedding model or describer that couldn’t be built, an index that couldn’t open). |
FQN: blitz.v1.SearchSettings
SearchSettings are a workspace's [search] settings (set with ConfigService.SetConfigValue: search.enabled, search.sources, …).
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| enabled | 1 | bool | ||
| sources | 2 | string | Repeated | |
| embedding_model | 3 | string | ||
| enrich | 4 | bool | ||
| enrich_model | 5 | string | ||
| enrich_daily_limit | 6 | int32 | ||
| include_ignored | 7 | bool |
FQN: blitz.v1.GetSearchStatusResponse
Response message for WorkspaceService.GetSearchStatus.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | SearchStatus |
FQN: blitz.v1.ReindexRequest
Request message for WorkspaceService.Reindex.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ReindexResponse
Response message for WorkspaceService.Reindex.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.GetGitStatusRequest
Request message for WorkspaceService.GetGitStatus.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetGitStatusResponse
Response message for WorkspaceService.GetGitStatus.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| repo | 1 | bool | ||
| branch | 2 | string | The branch, or the short commit when detached. | |
| changed | 3 | int32 | Files that differ from HEAD, untracked ones included. | |
| git | 4 | bool | Git is on the service’s PATH (else repo is false). | |
| remote | 5 | bool | The repository has a remote. | |
| upstream | 6 | string | The branch’s upstream, such as “origin/main”; empty when it has none. | |
| ahead | 7 | int32 | Commits the branch has that the upstream hasn’t, as of the last fetch. | |
| behind | 8 | int32 | Commits the upstream has that the branch hasn’t, as of the last fetch. | |
| operation | 9 | GitOperation | A merge or rebase in progress (a pull that stopped on conflicts). | |
| conflicts | 10 | string | Repeated | The files still in conflict, workspace-relative with “/”. |
| merging | 11 | string | The branch a merge in progress brings in, such as “feature” or “origin/main” (empty when none, or when git can’t name it). |
FQN: blitz.v1.InitGitRepoRequest
Request message for WorkspaceService.InitGitRepo.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.InitGitRepoResponse
Response message for WorkspaceService.InitGitRepo.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The repository’s git status, after git init. |
FQN: blitz.v1.StagedFile
A file in the index, for the commit dialog.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | string | Git’s status letter: A, M, D, T, … | |
| path | 2 | string | Workspace-relative, with “/”. |
FQN: blitz.v1.DraftCommitRequest
Request message for WorkspaceService.DraftCommit.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| stage_all | 2 | bool | Stage every change first (git add –all). |
FQN: blitz.v1.DraftCommitResponse
Response message for WorkspaceService.DraftCommit.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| files | 1 | StagedFile | Repeated | What’s staged; none means nothing to commit. |
| message | 2 | string | The drafted message ("" with problem set when the model failed). | |
| problem | 3 | string | Why there’s no draft. |
FQN: blitz.v1.CommitRequest
Request message for WorkspaceService.Commit.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| message | 2 | string |
FQN: blitz.v1.CommitResponse
Response message for WorkspaceService.Commit.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| hash | 1 | string | The new commit’s short hash. | |
| subject | 2 | string | Its message’s first line. |
FQN: blitz.v1.FetchRemoteRequest
Request message for WorkspaceService.FetchRemote.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.FetchRemoteResponse
Response message for WorkspaceService.FetchRemote.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The git status after the fetch. |
FQN: blitz.v1.PullRequest
Request message for WorkspaceService.Pull.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.PullResponse
Response message for WorkspaceService.Pull.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| outcome | 1 | PullOutcome | ||
| commits | 2 | int32 | Commits brought in from the upstream. | |
| status | 3 | GetGitStatusResponse | The git status after the pull. |
FQN: blitz.v1.PushRequest
Request message for WorkspaceService.Push.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.PushResponse
Response message for WorkspaceService.Push.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| target | 1 | string | Where it pushed, as “remote/branch”. | |
| status | 2 | GetGitStatusResponse | The git status after the push. |
FQN: blitz.v1.ResolveConflictRequest
Request message for WorkspaceService.ResolveConflict.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| path | 2 | string | The file, workspace-relative. | |
| choice | 3 | ConflictChoice |
FQN: blitz.v1.ResolveConflictResponse
Response message for WorkspaceService.ResolveConflict.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The git status after it. |
FQN: blitz.v1.CompleteMergeRequest
Request message for WorkspaceService.CompleteMerge.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.CompleteMergeResponse
Response message for WorkspaceService.CompleteMerge.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The git status after it: a rebase may have stopped on new conflicts. |
FQN: blitz.v1.AbortMergeRequest
Request message for WorkspaceService.AbortMerge.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.AbortMergeResponse
Response message for WorkspaceService.AbortMerge.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The git status after it. |
FQN: blitz.v1.Branch
A branch the workspace can switch to or merge.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Its short name: “main”, or “origin/feature” for a remote’s. | |
| remote | 2 | bool | A remote’s branch no local branch tracks: switching to it makes one. | |
| current | 3 | bool | The branch checked out. | |
| upstream | 4 | string | A local branch’s upstream, such as “origin/main”. | |
| subject | 5 | string | Its last commit’s subject. | |
| time | 6 | google.protobuf.Timestamp | Its last commit’s time. |
FQN: blitz.v1.ListBranchesRequest
Request message for WorkspaceService.ListBranches.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListBranchesResponse
Response message for WorkspaceService.ListBranches.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| branches | 1 | Branch | Repeated |
FQN: blitz.v1.SwitchBranchRequest
Request message for WorkspaceService.SwitchBranch.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| branch | 2 | string | A branch’s name as ListBranches gives it. |
FQN: blitz.v1.SwitchBranchResponse
Response message for WorkspaceService.SwitchBranch.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The git status after it. |
FQN: blitz.v1.CreateBranchRequest
Request message for WorkspaceService.CreateBranch.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| branch | 2 | string | The new branch’s name. |
FQN: blitz.v1.CreateBranchResponse
Response message for WorkspaceService.CreateBranch.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| status | 1 | GetGitStatusResponse | The git status after it, on the new branch. |
FQN: blitz.v1.MergeBranchRequest
Request message for WorkspaceService.MergeBranch.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| branch | 2 | string | The branch to merge into the current one, as ListBranches names it. |
FQN: blitz.v1.MergeBranchResponse
Response message for WorkspaceService.MergeBranch.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| outcome | 1 | PullOutcome | UP_TO_DATE, FAST_FORWARD, MERGED or CONFLICTS (never REBASED). | |
| commits | 2 | int32 | Commits brought in from the branch. | |
| status | 3 | GetGitStatusResponse | The git status after the merge. |
FQN: blitz.v1.DraftManifestRequest
Request message for WorkspaceService.DraftManifest.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| kind | 2 | string | agent, skill, script, rule, guardrail, eval or workflow_step. | |
| name | 3 | string | ||
| description | 4 | string | ||
| current | 5 | string | The text now; empty to write it afresh. | |
| request | 6 | string | What the user asks; empty to improve it. | |
| language | 7 | string | A script’s language (python or typescript). |
FQN: blitz.v1.DraftManifestResponse
Response message for WorkspaceService.DraftManifest.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| text | 1 | string | ||
| changes | 2 | string | Repeated | What was written or changed and why, a line each. |
| problem | 3 | string | Why there’s no draft (the model failed); the user’s text stands. |
FQN: blitz.v1.RuleFile
A rule file: a gate (when set) or an instruction rule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Its path in the rule folder, without .md. | |
| path | 2 | string | ||
| when | 3 | string | before_agent or after_agent for a gate; empty for an instruction rule. | |
| action | 4 | string | block, warn or revise (a gate). | |
| order | 5 | int32 | ||
| agents | 6 | string | Repeated | The agents it gates (none: every one). |
| description | 7 | string | ||
| paths | 8 | string | Repeated | The files an instruction rule is scoped to. |
| text | 9 | string | ||
| problem | 10 | string | Why its front matter doesn’t hold (it’s skipped). | |
| editable | 11 | bool | In .agents/rules: Studio may change it. |
FQN: blitz.v1.RuleSpec
What Studio's rule form edits.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| when | 2 | string | ||
| action | 3 | string | ||
| order | 4 | int32 | ||
| agents | 5 | string | Repeated | |
| description | 6 | string | ||
| paths | 7 | string | Repeated | |
| text | 8 | string |
FQN: blitz.v1.ListRulesRequest
Request message for WorkspaceService.ListRules.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListRulesResponse
Response message for WorkspaceService.ListRules.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| rules | 1 | RuleFile | Repeated | |
| dir | 2 | string | Where new rules are written (.agents/rules). |
FQN: blitz.v1.SaveRuleRequest
Request message for WorkspaceService.SaveRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| previous_name | 2 | string | ||
| rule | 3 | RuleSpec |
FQN: blitz.v1.SaveRuleResponse
Response message for WorkspaceService.SaveRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| rule | 1 | RuleFile | ||
| problems | 2 | string | Repeated |
FQN: blitz.v1.DeleteRuleRequest
Request message for WorkspaceService.DeleteRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.DeleteRuleResponse
Response message for WorkspaceService.DeleteRule.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ReorderRulesRequest
Request message for WorkspaceService.ReorderRules.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| names | 2 | string | Repeated |
FQN: blitz.v1.ReorderRulesResponse
Response message for WorkspaceService.ReorderRules.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.TryRuleRequest
Request message for WorkspaceService.TryRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| rule | 2 | RuleSpec | ||
| sample | 3 | string | A prompt (before-agent) or an answer (after-agent). |
FQN: blitz.v1.TryRuleResponse
Response message for WorkspaceService.TryRule.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| pass | 1 | bool | ||
| reason | 2 | string | ||
| problem | 3 | string | Why it couldn’t be judged. |
FQN: blitz.v1.GuardrailLimits
The limits guardrail's limits; zero or empty means none of that kind.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| max_cost_usd | 1 | double | ||
| max_turns | 2 | int32 | ||
| max_files_changed | 3 | int32 | ||
| allowed_domains | 4 | string | Repeated | |
| commands | 5 | string | Repeated | Shell commands not to run (globs over the whole command). |
FQN: blitz.v1.GuardrailFile
A guardrail file, or a built-in guardrail without one (its defaults).
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | Its file’s name without .md (a built-in’s is its id). | |
| path | 2 | string | Empty for a built-in guardrail running with its defaults. | |
| builtin | 3 | string | prompt_injection, secrets or limits; empty for a custom one. | |
| stage | 4 | string | input, tool_result, output or action. | |
| action | 5 | string | block, warn or redact. | |
| agents | 6 | string | Repeated | |
| tools | 7 | string | Repeated | The tools a tool-result or action guardrail checks. |
| description | 8 | string | ||
| pii | 9 | bool | The secrets guardrail masks personal data too. | |
| judge | 10 | bool | The injection guardrail confirms with the judge. | |
| limits | 11 | GuardrailLimits | ||
| text | 12 | string | A custom guardrail’s check. | |
| problem | 13 | string | ||
| editable | 14 | bool | In .agents/guardrails, or a built-in one’s defaults: Studio may change it. | |
| off | 15 | bool | Switched off (enabled: false). |
FQN: blitz.v1.BuiltinGuardrail
A built-in guardrail: on by default.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| stage | 2 | string | ||
| default_action | 3 | string | ||
| actions | 4 | string | Repeated | |
| file | 5 | GuardrailFile | As it runs: its file, or its defaults (no path). |
FQN: blitz.v1.GuardrailSpec
What Studio's guardrail form edits.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| builtin | 2 | string | ||
| stage | 3 | string | ||
| action | 4 | string | ||
| agents | 5 | string | Repeated | |
| tools | 6 | string | Repeated | |
| description | 7 | string | ||
| pii | 8 | bool | ||
| judge | 9 | bool | ||
| limits | 10 | GuardrailLimits | ||
| text | 11 | string | ||
| off | 12 | bool | Switches it off, keeping its settings. |
FQN: blitz.v1.ListGuardrailsRequest
Request message for WorkspaceService.ListGuardrails.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListGuardrailsResponse
Response message for WorkspaceService.ListGuardrails.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| builtins | 1 | BuiltinGuardrail | Repeated | |
| guardrails | 2 | GuardrailFile | Repeated | |
| dir | 3 | string | Where new guardrails are written (.agents/guardrails). |
FQN: blitz.v1.SaveGuardrailRequest
Request message for WorkspaceService.SaveGuardrail.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| previous_name | 2 | string | ||
| guardrail | 3 | GuardrailSpec |
FQN: blitz.v1.SaveGuardrailResponse
Response message for WorkspaceService.SaveGuardrail.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| guardrail | 1 | GuardrailFile | ||
| problems | 2 | string | Repeated |
FQN: blitz.v1.DeleteGuardrailRequest
Request message for WorkspaceService.DeleteGuardrail.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.DeleteGuardrailResponse
Response message for WorkspaceService.DeleteGuardrail.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.TryGuardrailRequest
Request message for WorkspaceService.TryGuardrail.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| guardrail | 2 | GuardrailSpec | ||
| sample | 3 | string |
FQN: blitz.v1.TryGuardrailResponse
Response message for WorkspaceService.TryGuardrail.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| pass | 1 | bool | ||
| reason | 2 | string | ||
| problem | 3 | string |
FQN: blitz.v1.EvalCase
A row of an eval's table.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| name | 2 | string | ||
| prompt | 3 | string | ||
| output | 4 | string | The output expected. | |
| type | 5 | string | exact or near. | |
| threshold | 6 | double | A near case’s threshold, above 0 and up to 1. | |
| scope | 7 | string | fail, warn or info. |
FQN: blitz.v1.EvalFile
An eval file in .agents/evals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| path | 2 | string | ||
| description | 3 | string | ||
| agents | 4 | string | Repeated | |
| skills | 5 | string | Repeated | |
| near | 6 | string | judge or embedding. | |
| allow | 7 | string | Repeated | network or mcp. |
| cases | 8 | EvalCase | Repeated | |
| problem | 9 | string | ||
| last_run | 10 | EvalRun | Its last run, if any (without its results). |
FQN: blitz.v1.EvalSpec
What Studio's eval form edits.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| description | 2 | string | ||
| agents | 3 | string | Repeated | |
| skills | 4 | string | Repeated | |
| near | 5 | string | ||
| allow | 6 | string | Repeated | |
| cases | 7 | EvalCase | Repeated |
FQN: blitz.v1.EvalResult
One case run by one agent, and its score.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| case | 1 | string | ||
| name | 2 | string | ||
| agent | 3 | string | ||
| type | 4 | string | ||
| scope | 5 | string | ||
| status | 6 | string | pass; fail, warn or info (the case’s scope) when it didn’t pass; or error when it couldn’t be run or scored. | |
| score | 7 | double | ||
| threshold | 8 | double | ||
| prompt | 9 | string | ||
| expected | 10 | string | ||
| output | 11 | string | ||
| reason | 12 | string | ||
| refusals | 13 | string | Repeated | Actions the eval didn’t allow, as “tool: detail”. |
| cost_usd | 14 | double | ||
| duration | 15 | google.protobuf.Duration |
FQN: blitz.v1.EvalRun
A run of an eval.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| eval | 2 | string | ||
| started | 3 | google.protobuf.Timestamp | ||
| duration | 4 | google.protobuf.Duration | ||
| status | 5 | string | running, passed, failed or stopped. | |
| results | 6 | EvalResult | Repeated | |
| cost_usd | 7 | double | ||
| error | 8 | string | ||
| counts | 9 | string, int32 | Map | The results by status (pass, fail, warn, info, error). |
FQN: blitz.v1.ListEvalsRequest
Request message for WorkspaceService.ListEvals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListEvalsResponse
Response message for WorkspaceService.ListEvals.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| evals | 1 | EvalFile | Repeated | |
| dir | 2 | string | .agents/evals. |
FQN: blitz.v1.SaveEvalRequest
Request message for WorkspaceService.SaveEval.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| previous_name | 2 | string | The eval edited; empty for a new one. | |
| eval | 3 | EvalSpec |
FQN: blitz.v1.SaveEvalResponse
Response message for WorkspaceService.SaveEval.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| eval | 1 | EvalFile | ||
| problems | 2 | string | Repeated |
FQN: blitz.v1.DeleteEvalRequest
Request message for WorkspaceService.DeleteEval.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.DeleteEvalResponse
Response message for WorkspaceService.DeleteEval.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.RunEvalRequest
Request message for WorkspaceService.RunEval.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| cases | 3 | string | Repeated | The case IDs to run; none: every case. |
FQN: blitz.v1.RunEvalResponse
Response message for WorkspaceService.RunEval: the run as it starts, each result, then the finished run.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| started | 1 | EvalRun | Oneof (event) | |
| result | 2 | EvalResult | Oneof (event) | |
| finished | 3 | EvalRun | Oneof (event) |
FQN: blitz.v1.ListEvalRunsRequest
Request message for WorkspaceService.ListEvalRuns.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string | ||
| limit | 3 | int32 | At most this many (0: 20). |
FQN: blitz.v1.ListEvalRunsResponse
Response message for WorkspaceService.ListEvalRuns.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| runs | 1 | EvalRun | Repeated |
FQN: blitz.v1.DraftEvalCasesRequest
Request message for WorkspaceService.DraftEvalCases.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| agent | 2 | string | ||
| request | 3 | string | What to draft cases for (optional). | |
| existing | 4 | EvalCase | Repeated | The cases the eval has, not to repeat. |
FQN: blitz.v1.DraftEvalCasesResponse
Response message for WorkspaceService.DraftEvalCases.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| cases | 1 | EvalCase | Repeated | |
| problem | 2 | string |
FQN: blitz.v1.FlowNode
A workflow's step.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| type | 2 | string | agent, refine, summarize, accumulate, browser, script, read_file, save_file; email and data are shown, not run yet. | |
| title | 3 | string | ||
| x | 4 | double | Where it sits on the canvas. | |
| y | 5 | double | ||
| agent | 6 | string | The agent an agent, refine, summarize or browser step runs (empty: the active one). | |
| skills | 7 | string | Repeated | |
| instructions | 8 | string | What it’s to do (a browser step’s goal; a summary’s focus). | |
| rules | 9 | string | Repeated | Rules its output must pass, beyond the gates every turn has. |
| skill | 10 | string | A script step’s skill, script and arguments. | |
| script | 11 | string | ||
| args | 12 | string | Repeated | |
| path | 13 | string | A read_file or save_file step’s file, in the workspace. | |
| fields | 14 | FlowField | Repeated | What an extract step pulls out. |
| retry_attempts | 15 | int32 | Tries in all when it fails (0 or 1: once), the first wait (a Go duration, doubled each time), and the most it may take. | |
| retry_delay | 16 | string | ||
| timeout | 17 | string | ||
| server | 18 | string | An MCP call’s server, tool and arguments (a JSON object; string values take templates). | |
| tool | 19 | string | ||
| arguments_json | 20 | string | ||
| url | 21 | string | An API call’s URL (an A2A call’s: where its agent card is), method, query, headers, body (text) or JSON body (JSON), and auth. Values take templates and {secrets:key}. | |
| method | 22 | string | ||
| query | 23 | FlowPair | Repeated | |
| headers | 24 | FlowPair | Repeated | |
| body | 25 | string | ||
| json_body | 26 | string | ||
| auth | 27 | FlowAuth | ||
| workflow | 28 | string | The workflow a call step runs. | |
| for_each | 29 | string | Runs the step once per item of this list (a CEL expression), so many at a time (0: 4). | |
| concurrency | 30 | int32 | ||
| form_json | 31 | string | A human task’s form: A2UI v0.9 ({“components”: […], “data”: {…}}). | |
| wait | 32 | string | How long a timer waits (a Go duration), or until when (RFC 3339). | |
| until | 33 | string |
FQN: blitz.v1.HumanTask
A paused workflow run's task: a human task's form waiting for an answer, or a timer waiting for its time.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | Answer with it. | |
| run | 2 | string | ||
| workspace | 3 | string | ||
| workflow | 4 | string | ||
| step | 5 | string | ||
| title | 6 | string | ||
| kind | 7 | string | human_task or timer. | |
| message | 8 | string | What’s shown above the form. | |
| a2ui_json | 9 | string | The form as A2UI v0.9 server-to-client messages, any A2UI renderer’s to draw: a JSON array of createSurface (the surface’s ID is the task’s), updateComponents and updateDataModel, its templates filled from the run as the step started. | |
| fire_at | 10 | google.protobuf.Timestamp | ||
| created | 11 | google.protobuf.Timestamp | ||
| session_id | 12 | string | The chat its run’s agent steps are turns in. |
FQN: blitz.v1.ListHumanTasksRequest
Request message for WorkspaceService.ListHumanTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | Empty: every workspace’s. |
FQN: blitz.v1.ListHumanTasksResponse
Response message for WorkspaceService.ListHumanTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| tasks | 1 | HumanTask | Repeated | |
| alerts | 2 | string | How a waiting task reaches the user with no window open ([ui] task_alerts): notify, open or off. |
FQN: blitz.v1.WatchHumanTasksRequest
Request message for WorkspaceService.WatchHumanTasks.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | Empty: every workspace’s. |
FQN: blitz.v1.WatchHumanTasksResponse
Response message for WorkspaceService.WatchHumanTasks: the tasks now (each message the whole list).
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| tasks | 1 | HumanTask | Repeated | |
| alerts | 2 | string | How a waiting task reaches the user with no window open ([ui] task_alerts): notify, open or off. |
FQN: blitz.v1.AnswerHumanTaskRequest
Request message for WorkspaceService.AnswerHumanTask.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| task_id | 2 | string | ||
| action_json | 3 | string | A2UI v0.9’s client-to-server action message, from one of the form’s buttons: {“version”: “v0.9”, “action”: {“name”, “surfaceId”, “sourceComponentId”, “timestamp”, “context”}}. | |
| data_json | 4 | string | The surface’s data model as the client had it (a JSON object; empty: the form’s own, with the action’s values), on which every check of the form must pass. |
FQN: blitz.v1.AnswerHumanTaskResponse
Response message for WorkspaceService.AnswerHumanTask.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| run | 1 | BackgroundRun | The run, resumed in the background. |
FQN: blitz.v1.FlowPair
A named value: a header, a query parameter.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| value | 2 | string |
FQN: blitz.v1.FlowAuth
How an API call authenticates.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| type | 1 | string | bearer, basic, api_key or oauth2 (client credentials). | |
| token | 2 | string | ||
| username | 3 | string | ||
| password | 4 | string | ||
| name | 5 | string | An API key’s name, value, and where it goes (header or query). | |
| value | 6 | string | ||
| in | 7 | string | ||
| token_url | 8 | string | OAuth2 client credentials'. | |
| client_id | 9 | string | ||
| client_secret | 10 | string | ||
| scopes | 11 | string | Repeated | |
| audience | 12 | string |
FQN: blitz.v1.FlowField
A value an extract step pulls out.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| type | 2 | string | string, number, boolean or list. | |
| description | 3 | string |
FQN: blitz.v1.FlowEdge
A link carrying a step's output to another.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| from | 1 | string | ||
| to | 2 | string | ||
| when | 3 | string | A condition: CEL (when) or plain English judged by a model (if). | |
| if | 4 | string | ||
| default | 5 | bool | Taken when none of its step’s conditional links is. | |
| error | 6 | bool | Taken when its step fails, the error as its input. | |
| label | 7 | string |
FQN: blitz.v1.WorkflowFile
A workflow file in .agents/workflows.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| path | 2 | string | ||
| description | 3 | string | ||
| nodes | 4 | FlowNode | Repeated | |
| edges | 5 | FlowEdge | Repeated | |
| problem | 6 | string | ||
| mode | 7 | string | The permission mode its steps run in: auto (empty), accept-edits, default, dont-ask or bypass; never looser than the workspace’s (spec_workflows_043 WF-21). |
FQN: blitz.v1.ListWorkflowsRequest
Request message for WorkspaceService.ListWorkflows.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.ListWorkflowsResponse
Response message for WorkspaceService.ListWorkflows.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workflows | 1 | WorkflowFile | Repeated | |
| dir | 2 | string | .agents/workflows. |
FQN: blitz.v1.SaveWorkflowRequest
Request message for WorkspaceService.SaveWorkflow.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| previous_name | 2 | string | The workflow edited; empty for a new one. | |
| workflow | 3 | WorkflowFile | What to write (its path and problem aside). |
FQN: blitz.v1.SaveWorkflowResponse
Response message for WorkspaceService.SaveWorkflow.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workflow | 1 | WorkflowFile | ||
| problems | 2 | string | Repeated |
FQN: blitz.v1.DeleteWorkflowRequest
Request message for WorkspaceService.DeleteWorkflow.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| name | 2 | string |
FQN: blitz.v1.DeleteWorkflowResponse
Response message for WorkspaceService.DeleteWorkflow.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.WorkflowRun
A workflow run's receipt (spec_workflows_043 WF-19): its envelope (what started it, when, on what) and routing slip (each step's run, in the order they ran), with what it spent.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| workspace | 2 | string | ||
| workflow | 3 | string | ||
| origin | 4 | string | chat, background or worker. | |
| session_id | 5 | string | The chat its agent steps are turns in. | |
| input | 6 | string | ||
| started | 7 | google.protobuf.Timestamp | ||
| ended | 8 | google.protobuf.Timestamp | Unset while it runs or waits. | |
| status | 9 | string | running, waiting (on a human task or a timer), done, failed or stopped. | |
| error | 10 | string | ||
| output | 11 | string | What it produced (the start of it). | |
| usage | 12 | Usage | The steps’ usage together, and every model they used. | |
| models | 13 | string | Repeated | |
| steps | 14 | WorkflowRunStep | Repeated | |
| events | 15 | WorkflowRunEvent | Repeated | Its events, oldest first (left out of lists). |
| background_id | 16 | string | The service’s background run following it while one does (watch it with WatchBackground for approvals and the chat’s events). | |
| approvals | 17 | int32 | Approval requests that background run waits on. | |
| mode | 18 | string | The permission mode its steps ran in (spec_workflows_043 WF-21). |
FQN: blitz.v1.WorkflowRunStep
One run of a workflow's step.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| title | 2 | string | ||
| type | 3 | string | ||
| status | 4 | string | running, waiting, done, failed or skipped. | |
| started | 5 | google.protobuf.Timestamp | ||
| ended | 6 | google.protobuf.Timestamp | Unset while it runs. | |
| attempts | 7 | int32 | How many times it was tried (its retry). | |
| agent | 8 | string | An agent step’s agent, and the models its calls used. | |
| models | 9 | string | Repeated | |
| usage | 10 | Usage | Its model calls’ tokens and cost (so far, while it runs). | |
| output | 11 | string | What it produced (the start of it; left out of lists). | |
| stream | 12 | string | The text its turns streamed (the start of it; left out of lists). | |
| error | 13 | string |
FQN: blitz.v1.WorkflowRunEvent
Something that happened in a workflow run.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| at | 1 | google.protobuf.Timestamp | ||
| step | 2 | string | The step it’s about, if any. | |
| kind | 3 | string | run (started, resumed, ended), step, tool or notice. | |
| text | 4 | string | ||
| error | 5 | bool |
FQN: blitz.v1.ListWorkflowRunsRequest
Request message for WorkspaceService.ListWorkflowRuns.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | Empty: every workspace’s. | |
| workflow | 2 | string | Empty: every workflow’s. | |
| limit | 3 | int32 | At most this many (50 when unset). |
FQN: blitz.v1.ListWorkflowRunsResponse
Response message for WorkspaceService.ListWorkflowRuns.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| runs | 1 | WorkflowRun | Repeated |
FQN: blitz.v1.GetWorkflowRunRequest
Request message for WorkspaceService.GetWorkflowRun.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| id | 2 | string |
FQN: blitz.v1.GetWorkflowRunResponse
Response message for WorkspaceService.GetWorkflowRun.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| run | 1 | WorkflowRun |
FQN: blitz.v1.WatchWorkflowRunRequest
Request message for WorkspaceService.WatchWorkflowRun.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| id | 2 | string |
FQN: blitz.v1.WatchWorkflowRunResponse
Response message for WorkspaceService.WatchWorkflowRun.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| run | 1 | WorkflowRun |
FQN: blitz.v1.WatchWorkflowRunsRequest
Request message for WorkspaceService.WatchWorkflowRuns.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | Empty: every workspace’s. |
FQN: blitz.v1.WatchWorkflowRunsResponse
Response message for WorkspaceService.WatchWorkflowRuns.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| runs | 1 | WorkflowRun | Repeated | Running and waiting runs, and those that ended in the last few minutes, newest first (summaries). |
FQN: blitz.v1.StopWorkflowRunRequest
Request message for WorkspaceService.StopWorkflowRun.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| id | 2 | string |
FQN: blitz.v1.StopWorkflowRunResponse
Response message for WorkspaceService.StopWorkflowRun.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.WorkspaceHealth
A workspace's dashboard (spec_health_044).
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| at | 1 | google.protobuf.Timestamp | ||
| items | 2 | HealthItem | Repeated | |
| days | 3 | HealthDay | Repeated | The runs per day, the last 30, oldest first. |
| signals | 4 | HealthSignal | Repeated | |
| overall | 5 | double | The workspace’s score and each kind’s (1–5; 0: not judged). | |
| by_kind | 6 | string, double | Map | |
| previous_overall | 7 | double | The workspace’s score before the last check. | |
| last_check | 8 | google.protobuf.Timestamp | ||
| last_cost_usd | 9 | double | ||
| skipped | 10 | string | Why the last scheduled check didn’t run. | |
| model | 11 | string | The judge’s model ("" the default); the schedule ("" or “off”: by hand) and its next time; a scheduled check’s cost limit. | |
| schedule | 12 | string | ||
| next | 13 | google.protobuf.Timestamp | ||
| max_cost_usd | 14 | double | ||
| checking | 15 | bool | A check is going, and how far it is. | |
| progress | 16 | HealthCheckProgress | ||
| last_judged | 17 | int32 | How the last check ended: the items it judged, and those it couldn’t. | |
| last_errors | 18 | string | Repeated |
FQN: blitz.v1.HealthCheckProgress
How far a check going is.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| item | 1 | string | The item being judged (“kind/name”), its place, and the cost so far. | |
| index | 2 | int32 | ||
| total | 3 | int32 | ||
| cost_usd | 4 | double |
FQN: blitz.v1.HealthItem
One agent, skill, rule, guardrail, eval, workflow or worker.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| kind | 1 | string | ||
| name | 2 | string | ||
| path | 3 | string | ||
| detail | 4 | string | ||
| problem | 5 | string | ||
| flags | 6 | string | Repeated | uncovered, stale, unused, never_run, failing, disabled, off. |
| uses | 7 | int32 | Runs, activations or decisions in the last 30 days; fired, a rule’s or guardrail’s that stopped, warned or revised. | |
| fired | 8 | int32 | ||
| runs | 9 | HealthRuns | ||
| evals | 10 | HealthEvals | ||
| daily | 11 | int32 | Repeated | Uses per day, as WorkspaceHealth.days. |
| verdict | 12 | HealthVerdict | Its latest verdict, and its overall scores over time (oldest first). | |
| history | 13 | double | Repeated |
FQN: blitz.v1.HealthRuns
A workflow's or a worker's runs in the last 30 days.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| runs | 1 | int32 | ||
| done | 2 | int32 | ||
| failed | 3 | int32 | ||
| stopped | 4 | int32 | ||
| cost_usd | 5 | double | ||
| median_ms | 6 | int64 | ||
| last | 7 | google.protobuf.Timestamp | ||
| failing_step | 8 | string |
FQN: blitz.v1.HealthEvals
An agent's or an eval's latest eval results.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| runs | 1 | int32 | ||
| last | 2 | google.protobuf.Timestamp | ||
| passed | 3 | int32 | ||
| cases | 4 | int32 |
FQN: blitz.v1.HealthVerdict
The judge's verdict on an item.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| model | 1 | string | ||
| at | 2 | google.protobuf.Timestamp | ||
| scores | 3 | HealthScore | Repeated | |
| overall | 4 | double | ||
| grade | 5 | string | A–D. | |
| summary | 6 | string | ||
| fixes | 7 | string | Repeated | |
| cost_usd | 8 | double | ||
| current | 9 | bool | It’s for the item as it is now (not changed since). |
FQN: blitz.v1.HealthScore
One rubric line's score.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| line | 1 | string | ||
| score | 2 | int32 | ||
| reason | 3 | string |
FQN: blitz.v1.HealthDay
One day's runs.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| date | 1 | string | ||
| done | 2 | int32 | ||
| failed | 3 | int32 | ||
| stopped | 4 | int32 | ||
| cost_usd | 5 | double |
FQN: blitz.v1.HealthSignal
A safety signal: the reviewer's denials, a rule's or a guardrail's decisions, by what they were about.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| kind | 1 | string | ||
| about | 2 | string | ||
| count | 3 | int32 | ||
| last | 4 | google.protobuf.Timestamp | ||
| detail | 5 | string |
FQN: blitz.v1.GetWorkspaceHealthRequest
Request message for WorkspaceService.GetWorkspaceHealth.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.GetWorkspaceHealthResponse
Response message for WorkspaceService.GetWorkspaceHealth.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| health | 1 | WorkspaceHealth |
FQN: blitz.v1.WatchWorkspaceHealthRequest
Request message for WorkspaceService.WatchWorkspaceHealth.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.WatchWorkspaceHealthResponse
Response message for WorkspaceService.WatchWorkspaceHealth.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| health | 1 | WorkspaceHealth |
FQN: blitz.v1.HealthCheckScope
Which items a check judges: kinds, items ("kind/name"), or all; force re-judges unchanged ones.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| kinds | 1 | string | Repeated | |
| items | 2 | string | Repeated | |
| force | 3 | bool |
FQN: blitz.v1.EstimateHealthCheckRequest
Request message for WorkspaceService.EstimateHealthCheck.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| scope | 2 | HealthCheckScope |
FQN: blitz.v1.EstimateHealthCheckResponse
Response message for WorkspaceService.EstimateHealthCheck.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| items | 1 | int32 | ||
| cost_usd | 2 | double | ||
| priced | 3 | bool | Every model is priced (else the cost is a floor). |
FQN: blitz.v1.CheckWorkspaceHealthRequest
Request message for WorkspaceService.CheckWorkspaceHealth.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| scope | 2 | HealthCheckScope |
FQN: blitz.v1.CheckWorkspaceHealthResponse
Response message for WorkspaceService.CheckWorkspaceHealth: one item's verdict (or why it has none), then a last one with done.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| item | 1 | string | ||
| index | 2 | int32 | ||
| total | 3 | int32 | ||
| verdict | 4 | HealthVerdict | ||
| error | 5 | string | ||
| cost_usd | 6 | double | ||
| done | 7 | bool | ||
| judged | 8 | int32 |
FQN: blitz.v1.StopHealthCheckRequest
Request message for WorkspaceService.StopHealthCheck.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string |
FQN: blitz.v1.StopHealthCheckResponse
Response message for WorkspaceService.StopHealthCheck.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.StartHealthCheckRequest
Request message for WorkspaceService.StartHealthCheck.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| scope | 2 | HealthCheckScope |
FQN: blitz.v1.StartHealthCheckResponse
Response message for WorkspaceService.StartHealthCheck.
| Field | Ordinal | Type | Label | Description |
|---|
FQN: blitz.v1.ComposeSession
A composer conversation as it is.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| id | 1 | string | ||
| kind | 2 | string | ||
| turns | 3 | ComposeTurn | Repeated | |
| asking | 4 | bool | The composer’s last turn is a question waiting for an answer. | |
| draft | 5 | ComposeDraft | The latest draft (unset until there’s one). | |
| cost_usd | 6 | double |
FQN: blitz.v1.ComposeTurn
One message of a composer conversation: the user's, or the composer's (a question with its suggested answers, or a draft's summary).
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| role | 1 | string | ||
| text | 2 | string | ||
| options | 3 | string | Repeated |
FQN: blitz.v1.ComposeDraft
A component the composer wrote: its name, a summary, its file, what the kind's checks still find wrong, and for a workflow the workflow itself.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| name | 1 | string | ||
| summary | 2 | string | ||
| file | 3 | string | ||
| problems | 4 | string | Repeated | |
| workflow | 5 | WorkflowFile |
FQN: blitz.v1.StartComposeRequest
Request message for WorkspaceService.StartCompose.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| kind | 2 | string | ||
| request | 3 | string | What the user wants. | |
| current | 4 | string | The component being changed, as its file ("" for a new one). |
FQN: blitz.v1.StartComposeResponse
Response message for WorkspaceService.StartCompose.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| session | 1 | ComposeSession |
FQN: blitz.v1.AnswerComposeRequest
Request message for WorkspaceService.AnswerCompose.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| id | 2 | string | ||
| answer | 3 | string |
FQN: blitz.v1.AnswerComposeResponse
Response message for WorkspaceService.AnswerCompose.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| session | 1 | ComposeSession |
FQN: blitz.v1.DropComposeRequest
Request message for WorkspaceService.DropCompose.
| Field | Ordinal | Type | Label | Description |
|---|---|---|---|---|
| workspace | 1 | string | ||
| id | 2 | string |
FQN: blitz.v1.DropComposeResponse
Response message for WorkspaceService.DropCompose.
| Field | Ordinal | Type | Label | Description |
|---|