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

config.proto

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

Imports

Import Description
google/protobuf/timestamp.proto

Options

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

blitz.v1 Diagram

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

%% Request message for ConfigService.GetInterfaceLanguage.

class GetInterfaceLanguageRequest {
}

%% Response message for ConfigService.GetInterfaceLanguage.

class GetInterfaceLanguageResponse {
  + string locale
  + List~string~ catalogs
}

%% One provider's settings in a scope, and where its API key comes from (never the key).

class ProviderConfig {
  + string name
  + KeySource key_source
  + bool key_missing
  + string base_url
  + string model
  + string auth
  + string project_id
  + string location
  + string profile
}
ProviderConfig --> `KeySource`

%% How a provider signs in.

class ProviderAuth {
  + string method
  + string project_id
  + string location
  + string profile
}

%% Request message for ConfigService.DescribeConfig.

class DescribeConfigRequest {
  + string workspace
}

%% Response message for ConfigService.DescribeConfig.

class DescribeConfigResponse {
  + string path
  + string provider
  + string default_model
  + List~ProviderConfig~ providers
  + string secret_store
}
DescribeConfigResponse --> `ProviderConfig`

%% After a change: the file written, and why the scope's workspace (for a workspace scope, if it's open) still can't build its model ("" if it can).

class ConfigChange {
  + string path
  + string model_error
}

%% Request message for ConfigService.SetApiKey.

class SetApiKeyRequest {
  + string workspace
  + string provider
  + string key
}

%% Response message for ConfigService.SetApiKey.

class SetApiKeyResponse {
  + ConfigChange change
}
SetApiKeyResponse --> `ConfigChange`

%% Request message for ConfigService.SecureApiKey.

class SecureApiKeyRequest {
  + string workspace
  + string provider
}

%% Response message for ConfigService.SecureApiKey.

class SecureApiKeyResponse {
  + ConfigChange change
}
SecureApiKeyResponse --> `ConfigChange`

%% Request message for ConfigService.RemoveApiKey.

class RemoveApiKeyRequest {
  + string workspace
  + string provider
}

%% Response message for ConfigService.RemoveApiKey.

class RemoveApiKeyResponse {
  + ConfigChange change
}
RemoveApiKeyResponse --> `ConfigChange`

%% Request message for ConfigService.SetConfigValue.

class SetConfigValueRequest {
  + string workspace
  + string key
  + string value
}

%% Response message for ConfigService.SetConfigValue.

class SetConfigValueResponse {
  + ConfigChange change
}
SetConfigValueResponse --> `ConfigChange`

%% Request message for ConfigService.SetProvider.

class SetProviderRequest {
  + string workspace
  + string provider
  + string default_model
  + string key
  + ProviderAuth auth
}
SetProviderRequest --> `ProviderAuth`

%% Response message for ConfigService.SetProvider.

class SetProviderResponse {
  + ConfigChange change
}
SetProviderResponse --> `ConfigChange`

%% Request message for ConfigService.GetConfigFile.

class GetConfigFileRequest {
  + string workspace
}

%% Response message for ConfigService.GetConfigFile.

class GetConfigFileResponse {
  + string path
  + string text
}

%% Request message for ConfigService.SaveConfigFile.

class SaveConfigFileRequest {
  + string workspace
  + string text
}

%% Response message for ConfigService.SaveConfigFile.

class SaveConfigFileResponse {
  + ConfigChange change
  + List~string~ warnings
}
SaveConfigFileResponse --> `ConfigChange`

%% Request message for ConfigService.CheckConfigFile.

class CheckConfigFileRequest {
  + string text
}

%% Something wrong with a settings file.

class ConfigProblem {
  + int32 line
  + int32 column
  + bool error
  + string message
}

%% Response message for ConfigService.CheckConfigFile.

class CheckConfigFileResponse {
  + List~ConfigProblem~ problems
}
CheckConfigFileResponse --> `ConfigProblem`

%% Request message for ConfigService.GetSettingsReference.

class GetSettingsReferenceRequest {
}

%% One entry of the settings reference.

class SettingInfo {
  + string key
  + string type
  + string default
  + string doc
}

%% Request message for ConfigService.ListModels.

class ListModelsRequest {
  + string workspace
  + List~string~ providers
}

%% A listed model with the price Blitz knows for it.

class ListedModel {
  + string id
  + bool has_price
  + double input_per_mtok
  + double output_per_mtok
}

%% Request message for ConfigService.GetSignIn.

class GetSignInRequest {
  + string workspace
  + string provider
  + string profile
}

%% A provider's sign-in.

class SignInStatus {
  + string provider
  + string tool
  + bool tool_found
  + string install
  + bool signed_in
  + string detail
}

%% Response message for ConfigService.GetSignIn.

class GetSignInResponse {
  + List~SignInStatus~ statuses
}
GetSignInResponse --> `SignInStatus`

%% Request message for ConfigService.SignIn.

class SignInRequest {
  + string workspace
  + string provider
  + string profile
}

%% Response message for ConfigService.SignIn: a line the tool printed, or the end.

class SignInResponse {
  + string line
  + string url
  + string code
  + bool done
  + SignInStatus status
}
SignInResponse --> `SignInStatus`

%% Request message for ConfigService.SignOut.

class SignOutRequest {
  + string workspace
  + string provider
  + string profile
}

%% Response message for ConfigService.SignOut.

class SignOutResponse {
  + SignInStatus status
}
SignOutResponse --> `SignInStatus`

%% ProviderModels are one provider's models.

class ProviderModels {
  + string provider
  + List~string~ ids
  + string error
  + string note
  + List~ListedModel~ models
}
ProviderModels --> `ListedModel`

%% Response message for ConfigService.ListModels.

class ListModelsResponse {
  + List~ProviderModels~ providers
  + string default_provider
}
ListModelsResponse --> `ProviderModels`

%% Response message for ConfigService.GetSettingsReference.

class GetSettingsReferenceResponse {
  + List~SettingInfo~ settings
}
GetSettingsReferenceResponse --> `SettingInfo`

%% A rule in a settings file's [permissions].

class PermissionEntry {
  + string effect
  + string rule
}

%% Request message for ConfigService.DescribePermissions.

class DescribePermissionsRequest {
  + string workspace
}

%% Response message for ConfigService.DescribePermissions.

class DescribePermissionsResponse {
  + string path
  + List~PermissionEntry~ rules
  + List~PermissionEntry~ inherited
  + string read_only_defaults
  + bool read_only_defaults_on
  + List~string~ read_only_commands
  + List~string~ read_only_guards
}
DescribePermissionsResponse --> `PermissionEntry`
DescribePermissionsResponse --> `PermissionEntry`

%% Request message for ConfigService.AddPermission.

class AddPermissionRequest {
  + string workspace
  + string effect
  + string rule
}

%% Response message for ConfigService.AddPermission.

class AddPermissionResponse {
  + ConfigChange change
  + string rule
}
AddPermissionResponse --> `ConfigChange`

%% Request message for ConfigService.RemovePermission.

class RemovePermissionRequest {
  + string workspace
  + string rule
}

%% Response message for ConfigService.RemovePermission.

class RemovePermissionResponse {
  + ConfigChange change
  + int32 removed
}
RemovePermissionResponse --> `ConfigChange`

%% Request message for ConfigService.CheckPermission.

class CheckPermissionRequest {
  + string effect
  + string rule
  + string sample
}

%% Response message for ConfigService.CheckPermission.

class CheckPermissionResponse {
  + string error
  + string rule
  + string kind
  + string pattern
  + string form
  + bool tested
  + bool matches
  + string redirect
}

%% Request message for ConfigService.SetReadOnlyDefaults.

class SetReadOnlyDefaultsRequest {
  + string workspace
  + string value
}

%% Response message for ConfigService.SetReadOnlyDefaults.

class SetReadOnlyDefaultsResponse {
  + ConfigChange change
}
SetReadOnlyDefaultsResponse --> `ConfigChange`

%% A skill registry the user added.

class SkillRegistry {
  + string name
  + string url
  + bool has_token
}

%% A skill a registry offers.

class RegistrySkill {
  + string registry
  + string name
  + string description
  + string version
  + string castor_id
}

%% A skill installed from a registry.

class InstalledSkill {
  + string name
  + string registry
  + string version
  + string dir
  + google.protobuf.Timestamp installed
  + SkillReview review
}
InstalledSkill --> `SkillReview`

%% What a skill's scripts are, for the user to review before trusting them (spec_skills_013 SK-108).

class SkillReview {
  + string dir
  + string hash
  + List~ReviewScript~ scripts
}
SkillReview --> `ReviewScript`

%% One script under review.

class ReviewScript {
  + string name
  + string language
  + string source
  + List~string~ deps
}

%% Request message for ConfigService.ListSkillRegistries.

class ListSkillRegistriesRequest {
}

%% Response message for ConfigService.ListSkillRegistries.

class ListSkillRegistriesResponse {
  + List~SkillRegistry~ registries
  + List~InstalledSkill~ installed
}
ListSkillRegistriesResponse --> `SkillRegistry`
ListSkillRegistriesResponse --> `InstalledSkill`

%% Request message for ConfigService.AddSkillRegistry.

class AddSkillRegistryRequest {
  + string url
  + string name
  + string token
}

%% Response message for ConfigService.AddSkillRegistry.

class AddSkillRegistryResponse {
  + SkillRegistry registry
  + int32 skills
}
AddSkillRegistryResponse --> `SkillRegistry`

%% Request message for ConfigService.RemoveSkillRegistry.

class RemoveSkillRegistryRequest {
  + string name
}

%% Response message for ConfigService.RemoveSkillRegistry.

class RemoveSkillRegistryResponse {
}

%% Request message for ConfigService.SearchRegistrySkills.

class SearchRegistrySkillsRequest {
  + string query
}

%% Response message for ConfigService.SearchRegistrySkills.

class SearchRegistrySkillsResponse {
  + List~RegistrySkill~ skills
  + List~string~ problems
}
SearchRegistrySkillsResponse --> `RegistrySkill`

%% Request message for ConfigService.InstallRegistrySkill.

class InstallRegistrySkillRequest {
  + string ref
  + string workspace
}

%% Response message for ConfigService.InstallRegistrySkill.

class InstallRegistrySkillResponse {
  + InstalledSkill skill
}
InstallRegistrySkillResponse --> `InstalledSkill`

%% Request message for ConfigService.UpdateRegistrySkills.

class UpdateRegistrySkillsRequest {
  + List~string~ names
}

%% Response message for ConfigService.UpdateRegistrySkills.

class UpdateRegistrySkillsResponse {
  + List~InstalledSkill~ updated
  + List~string~ problems
}
UpdateRegistrySkillsResponse --> `InstalledSkill`

%% Request message for ConfigService.UninstallRegistrySkill.

class UninstallRegistrySkillRequest {
  + string name
  + string workspace
}

%% Response message for ConfigService.UninstallRegistrySkill.

class UninstallRegistrySkillResponse {
  + InstalledSkill skill
}
UninstallRegistrySkillResponse --> `InstalledSkill`

%% MCPServerConfig is an MCP server's settings ([[mcp.servers]]): exactly one of command (stdio) and url (streamable HTTP).

class MCPServerConfig {
  + string name
  + string command
  + List~string~ args
  + Map~string,  string~ env
  + string url
  + Map~string,  string~ headers
  + bool disabled
  + List~string~ tools
  + bool auto_approve
  + Optional~bool~ sandbox
  + string prefix
  + List~string~ agents
  + int32 timeout_seconds
}

%% Request message for ConfigService.ListMCPServerConfigs.

class ListMCPServerConfigsRequest {
}

%% Response message for ConfigService.ListMCPServerConfigs.

class ListMCPServerConfigsResponse {
  + List~MCPServerConfig~ servers
  + string path
}
ListMCPServerConfigsResponse --> `MCPServerConfig`

%% Request message for ConfigService.SaveMCPServer.

class SaveMCPServerRequest {
  + string name
  + MCPServerConfig server
}
SaveMCPServerRequest --> `MCPServerConfig`

%% Response message for ConfigService.SaveMCPServer.

class SaveMCPServerResponse {
  + ConfigChange change
}
SaveMCPServerResponse --> `ConfigChange`

%% Request message for ConfigService.RemoveMCPServer.

class RemoveMCPServerRequest {
  + string name
}

%% Response message for ConfigService.RemoveMCPServer.

class RemoveMCPServerResponse {
  + ConfigChange change
}
RemoveMCPServerResponse --> `ConfigChange`

%% Request message for ConfigService.SetMCPServerEnabled.

class SetMCPServerEnabledRequest {
  + string name
  + bool enabled
}

%% Response message for ConfigService.SetMCPServerEnabled.

class SetMCPServerEnabledResponse {
  + ConfigChange change
}
SetMCPServerEnabledResponse --> `ConfigChange`

%% BuiltinSkill is a skill Blitz ships with.

class BuiltinSkill {
  + string name
  + string description
  + string version
}

%% Request message for ConfigService.ListBuiltinSkills.

class ListBuiltinSkillsRequest {
}

%% Response message for ConfigService.ListBuiltinSkills.

class ListBuiltinSkillsResponse {
  + List~BuiltinSkill~ skills
}
ListBuiltinSkillsResponse --> `BuiltinSkill`

%% Secret is one of the user's secrets, as listed: its key ({secrets:key} in prompts and settings) and when its value was set; never the value.

class Secret {
  + string key
  + google.protobuf.Timestamp updated
}

%% Request message for ConfigService.ListSecrets.

class ListSecretsRequest {
  + string workspace
}

%% Response message for ConfigService.ListSecrets.

class ListSecretsResponse {
  + List~Secret~ secrets
  + string store
  + string prefix
}
ListSecretsResponse --> `Secret`

%% Request message for ConfigService.SetSecret.

class SetSecretRequest {
  + string workspace
  + string key
  + string value
}

%% Response message for ConfigService.SetSecret.

class SetSecretResponse {
}

%% Request message for ConfigService.DeleteSecret.

class DeleteSecretRequest {
  + string workspace
  + string key
}

%% Response message for ConfigService.DeleteSecret.

class DeleteSecretResponse {
}

%% Request message for ConfigService.TrustSkillScripts.

class TrustSkillScriptsRequest {
  + string dir
  + string hash
}

%% Response message for ConfigService.TrustSkillScripts.

class TrustSkillScriptsResponse {
}

%% Request message for ConfigService.GetSkillReview.

class GetSkillReviewRequest {
  + string dir
}

%% Response message for ConfigService.GetSkillReview.

class GetSkillReviewResponse {
  + SkillReview review
}
GetSkillReviewResponse --> `SkillReview`
%% KeySource says where a provider's API key comes from.

class KeySource{
  <<enumeration>>
  KEY_SOURCE_UNSPECIFIED
  KEY_SOURCE_NONE
  KEY_SOURCE_KEYCHAIN
  KEY_SOURCE_PLAIN
  KEY_SOURCE_OBFUSCATED
  KEY_SOURCE_ENVIRONMENT
  KEY_SOURCE_INHERITED
}
class ConfigService {
  <<service>>
  +DescribeConfig(DescribeConfigRequest) DescribeConfigResponse
  +ListModels(ListModelsRequest) ListModelsResponse
  +GetSignIn(GetSignInRequest) GetSignInResponse
  +SignIn(SignInRequest) Stream~SignInResponse~
  +SignOut(SignOutRequest) SignOutResponse
  +SetApiKey(SetApiKeyRequest) SetApiKeyResponse
  +SecureApiKey(SecureApiKeyRequest) SecureApiKeyResponse
  +RemoveApiKey(RemoveApiKeyRequest) RemoveApiKeyResponse
  +SetProvider(SetProviderRequest) SetProviderResponse
  +SetConfigValue(SetConfigValueRequest) SetConfigValueResponse
  +DescribePermissions(DescribePermissionsRequest) DescribePermissionsResponse
  +AddPermission(AddPermissionRequest) AddPermissionResponse
  +RemovePermission(RemovePermissionRequest) RemovePermissionResponse
  +CheckPermission(CheckPermissionRequest) CheckPermissionResponse
  +SetReadOnlyDefaults(SetReadOnlyDefaultsRequest) SetReadOnlyDefaultsResponse
  +GetConfigFile(GetConfigFileRequest) GetConfigFileResponse
  +SaveConfigFile(SaveConfigFileRequest) SaveConfigFileResponse
  +CheckConfigFile(CheckConfigFileRequest) CheckConfigFileResponse
  +GetSettingsReference(GetSettingsReferenceRequest) GetSettingsReferenceResponse
  +GetInterfaceLanguage(GetInterfaceLanguageRequest) GetInterfaceLanguageResponse
  +ListSkillRegistries(ListSkillRegistriesRequest) ListSkillRegistriesResponse
  +AddSkillRegistry(AddSkillRegistryRequest) AddSkillRegistryResponse
  +RemoveSkillRegistry(RemoveSkillRegistryRequest) RemoveSkillRegistryResponse
  +SearchRegistrySkills(SearchRegistrySkillsRequest) SearchRegistrySkillsResponse
  +InstallRegistrySkill(InstallRegistrySkillRequest) InstallRegistrySkillResponse
  +UpdateRegistrySkills(UpdateRegistrySkillsRequest) UpdateRegistrySkillsResponse
  +UninstallRegistrySkill(UninstallRegistrySkillRequest) UninstallRegistrySkillResponse
  +ListSecrets(ListSecretsRequest) ListSecretsResponse
  +SetSecret(SetSecretRequest) SetSecretResponse
  +DeleteSecret(DeleteSecretRequest) DeleteSecretResponse
  +ListBuiltinSkills(ListBuiltinSkillsRequest) ListBuiltinSkillsResponse
  +TrustSkillScripts(TrustSkillScriptsRequest) TrustSkillScriptsResponse
  +GetSkillReview(GetSkillReviewRequest) GetSkillReviewResponse
  +ListMCPServerConfigs(ListMCPServerConfigsRequest) ListMCPServerConfigsResponse
  +SaveMCPServer(SaveMCPServerRequest) SaveMCPServerResponse
  +RemoveMCPServer(RemoveMCPServerRequest) RemoveMCPServerResponse
  +SetMCPServerEnabled(SetMCPServerEnabledRequest) SetMCPServerEnabledResponse
}
ConfigService --> `DescribeConfigRequest`
ConfigService --> `DescribeConfigResponse`
ConfigService --> `ListModelsRequest`
ConfigService --> `ListModelsResponse`
ConfigService --> `GetSignInRequest`
ConfigService --> `GetSignInResponse`
ConfigService --> `SignInRequest`
ConfigService --o `SignInResponse` : server stream
ConfigService --> `SignOutRequest`
ConfigService --> `SignOutResponse`
ConfigService --> `SetApiKeyRequest`
ConfigService --> `SetApiKeyResponse`
ConfigService --> `SecureApiKeyRequest`
ConfigService --> `SecureApiKeyResponse`
ConfigService --> `RemoveApiKeyRequest`
ConfigService --> `RemoveApiKeyResponse`
ConfigService --> `SetProviderRequest`
ConfigService --> `SetProviderResponse`
ConfigService --> `SetConfigValueRequest`
ConfigService --> `SetConfigValueResponse`
ConfigService --> `DescribePermissionsRequest`
ConfigService --> `DescribePermissionsResponse`
ConfigService --> `AddPermissionRequest`
ConfigService --> `AddPermissionResponse`
ConfigService --> `RemovePermissionRequest`
ConfigService --> `RemovePermissionResponse`
ConfigService --> `CheckPermissionRequest`
ConfigService --> `CheckPermissionResponse`
ConfigService --> `SetReadOnlyDefaultsRequest`
ConfigService --> `SetReadOnlyDefaultsResponse`
ConfigService --> `GetConfigFileRequest`
ConfigService --> `GetConfigFileResponse`
ConfigService --> `SaveConfigFileRequest`
ConfigService --> `SaveConfigFileResponse`
ConfigService --> `CheckConfigFileRequest`
ConfigService --> `CheckConfigFileResponse`
ConfigService --> `GetSettingsReferenceRequest`
ConfigService --> `GetSettingsReferenceResponse`
ConfigService --> `GetInterfaceLanguageRequest`
ConfigService --> `GetInterfaceLanguageResponse`
ConfigService --> `ListSkillRegistriesRequest`
ConfigService --> `ListSkillRegistriesResponse`
ConfigService --> `AddSkillRegistryRequest`
ConfigService --> `AddSkillRegistryResponse`
ConfigService --> `RemoveSkillRegistryRequest`
ConfigService --> `RemoveSkillRegistryResponse`
ConfigService --> `SearchRegistrySkillsRequest`
ConfigService --> `SearchRegistrySkillsResponse`
ConfigService --> `InstallRegistrySkillRequest`
ConfigService --> `InstallRegistrySkillResponse`
ConfigService --> `UpdateRegistrySkillsRequest`
ConfigService --> `UpdateRegistrySkillsResponse`
ConfigService --> `UninstallRegistrySkillRequest`
ConfigService --> `UninstallRegistrySkillResponse`
ConfigService --> `ListSecretsRequest`
ConfigService --> `ListSecretsResponse`
ConfigService --> `SetSecretRequest`
ConfigService --> `SetSecretResponse`
ConfigService --> `DeleteSecretRequest`
ConfigService --> `DeleteSecretResponse`
ConfigService --> `ListBuiltinSkillsRequest`
ConfigService --> `ListBuiltinSkillsResponse`
ConfigService --> `TrustSkillScriptsRequest`
ConfigService --> `TrustSkillScriptsResponse`
ConfigService --> `GetSkillReviewRequest`
ConfigService --> `GetSkillReviewResponse`
ConfigService --> `ListMCPServerConfigsRequest`
ConfigService --> `ListMCPServerConfigsResponse`
ConfigService --> `SaveMCPServerRequest`
ConfigService --> `SaveMCPServerResponse`
ConfigService --> `RemoveMCPServerRequest`
ConfigService --> `RemoveMCPServerResponse`
ConfigService --> `SetMCPServerEnabledRequest`
ConfigService --> `SetMCPServerEnabledResponse`

Service: ConfigService

FQN: blitz.v1
ConfigService reads and changes the settings: the global file (~/.blitz/.env.toml) and each workspace's own (kept under ~/.blitz, never in the workspace). API keys are kept in the OS keychain; the files refer to them. After a change, open workspaces reload their provider settings and rebuild their model; other settings apply when a workspace next opens. Every request names its scope: workspace is an absolute directory, or "" for the global settings.

ConfigService Diagram

classDiagram
direction LR
class ConfigService {
  <<service>>
  +DescribeConfig(DescribeConfigRequest) DescribeConfigResponse
  +ListModels(ListModelsRequest) ListModelsResponse
  +GetSignIn(GetSignInRequest) GetSignInResponse
  +SignIn(SignInRequest) Stream~SignInResponse~
  +SignOut(SignOutRequest) SignOutResponse
  +SetApiKey(SetApiKeyRequest) SetApiKeyResponse
  +SecureApiKey(SecureApiKeyRequest) SecureApiKeyResponse
  +RemoveApiKey(RemoveApiKeyRequest) RemoveApiKeyResponse
  +SetProvider(SetProviderRequest) SetProviderResponse
  +SetConfigValue(SetConfigValueRequest) SetConfigValueResponse
  +DescribePermissions(DescribePermissionsRequest) DescribePermissionsResponse
  +AddPermission(AddPermissionRequest) AddPermissionResponse
  +RemovePermission(RemovePermissionRequest) RemovePermissionResponse
  +CheckPermission(CheckPermissionRequest) CheckPermissionResponse
  +SetReadOnlyDefaults(SetReadOnlyDefaultsRequest) SetReadOnlyDefaultsResponse
  +GetConfigFile(GetConfigFileRequest) GetConfigFileResponse
  +SaveConfigFile(SaveConfigFileRequest) SaveConfigFileResponse
  +CheckConfigFile(CheckConfigFileRequest) CheckConfigFileResponse
  +GetSettingsReference(GetSettingsReferenceRequest) GetSettingsReferenceResponse
  +GetInterfaceLanguage(GetInterfaceLanguageRequest) GetInterfaceLanguageResponse
  +ListSkillRegistries(ListSkillRegistriesRequest) ListSkillRegistriesResponse
  +AddSkillRegistry(AddSkillRegistryRequest) AddSkillRegistryResponse
  +RemoveSkillRegistry(RemoveSkillRegistryRequest) RemoveSkillRegistryResponse
  +SearchRegistrySkills(SearchRegistrySkillsRequest) SearchRegistrySkillsResponse
  +InstallRegistrySkill(InstallRegistrySkillRequest) InstallRegistrySkillResponse
  +UpdateRegistrySkills(UpdateRegistrySkillsRequest) UpdateRegistrySkillsResponse
  +UninstallRegistrySkill(UninstallRegistrySkillRequest) UninstallRegistrySkillResponse
  +ListSecrets(ListSecretsRequest) ListSecretsResponse
  +SetSecret(SetSecretRequest) SetSecretResponse
  +DeleteSecret(DeleteSecretRequest) DeleteSecretResponse
  +ListBuiltinSkills(ListBuiltinSkillsRequest) ListBuiltinSkillsResponse
  +TrustSkillScripts(TrustSkillScriptsRequest) TrustSkillScriptsResponse
  +GetSkillReview(GetSkillReviewRequest) GetSkillReviewResponse
  +ListMCPServerConfigs(ListMCPServerConfigsRequest) ListMCPServerConfigsResponse
  +SaveMCPServer(SaveMCPServerRequest) SaveMCPServerResponse
  +RemoveMCPServer(RemoveMCPServerRequest) RemoveMCPServerResponse
  +SetMCPServerEnabled(SetMCPServerEnabledRequest) SetMCPServerEnabledResponse
}
ConfigService --> `DescribeConfigRequest`
ConfigService --> `DescribeConfigResponse`
ConfigService --> `ListModelsRequest`
ConfigService --> `ListModelsResponse`
ConfigService --> `GetSignInRequest`
ConfigService --> `GetSignInResponse`
ConfigService --> `SignInRequest`
ConfigService --o `SignInResponse` : server stream
ConfigService --> `SignOutRequest`
ConfigService --> `SignOutResponse`
ConfigService --> `SetApiKeyRequest`
ConfigService --> `SetApiKeyResponse`
ConfigService --> `SecureApiKeyRequest`
ConfigService --> `SecureApiKeyResponse`
ConfigService --> `RemoveApiKeyRequest`
ConfigService --> `RemoveApiKeyResponse`
ConfigService --> `SetProviderRequest`
ConfigService --> `SetProviderResponse`
ConfigService --> `SetConfigValueRequest`
ConfigService --> `SetConfigValueResponse`
ConfigService --> `DescribePermissionsRequest`
ConfigService --> `DescribePermissionsResponse`
ConfigService --> `AddPermissionRequest`
ConfigService --> `AddPermissionResponse`
ConfigService --> `RemovePermissionRequest`
ConfigService --> `RemovePermissionResponse`
ConfigService --> `CheckPermissionRequest`
ConfigService --> `CheckPermissionResponse`
ConfigService --> `SetReadOnlyDefaultsRequest`
ConfigService --> `SetReadOnlyDefaultsResponse`
ConfigService --> `GetConfigFileRequest`
ConfigService --> `GetConfigFileResponse`
ConfigService --> `SaveConfigFileRequest`
ConfigService --> `SaveConfigFileResponse`
ConfigService --> `CheckConfigFileRequest`
ConfigService --> `CheckConfigFileResponse`
ConfigService --> `GetSettingsReferenceRequest`
ConfigService --> `GetSettingsReferenceResponse`
ConfigService --> `GetInterfaceLanguageRequest`
ConfigService --> `GetInterfaceLanguageResponse`
ConfigService --> `ListSkillRegistriesRequest`
ConfigService --> `ListSkillRegistriesResponse`
ConfigService --> `AddSkillRegistryRequest`
ConfigService --> `AddSkillRegistryResponse`
ConfigService --> `RemoveSkillRegistryRequest`
ConfigService --> `RemoveSkillRegistryResponse`
ConfigService --> `SearchRegistrySkillsRequest`
ConfigService --> `SearchRegistrySkillsResponse`
ConfigService --> `InstallRegistrySkillRequest`
ConfigService --> `InstallRegistrySkillResponse`
ConfigService --> `UpdateRegistrySkillsRequest`
ConfigService --> `UpdateRegistrySkillsResponse`
ConfigService --> `UninstallRegistrySkillRequest`
ConfigService --> `UninstallRegistrySkillResponse`
ConfigService --> `ListSecretsRequest`
ConfigService --> `ListSecretsResponse`
ConfigService --> `SetSecretRequest`
ConfigService --> `SetSecretResponse`
ConfigService --> `DeleteSecretRequest`
ConfigService --> `DeleteSecretResponse`
ConfigService --> `ListBuiltinSkillsRequest`
ConfigService --> `ListBuiltinSkillsResponse`
ConfigService --> `TrustSkillScriptsRequest`
ConfigService --> `TrustSkillScriptsResponse`
ConfigService --> `GetSkillReviewRequest`
ConfigService --> `GetSkillReviewResponse`
ConfigService --> `ListMCPServerConfigsRequest`
ConfigService --> `ListMCPServerConfigsResponse`
ConfigService --> `SaveMCPServerRequest`
ConfigService --> `SaveMCPServerResponse`
ConfigService --> `RemoveMCPServerRequest`
ConfigService --> `RemoveMCPServerResponse`
ConfigService --> `SetMCPServerEnabledRequest`
ConfigService --> `SetMCPServerEnabledResponse`
Method Parameter (In) Parameter (Out) Description
DescribeConfig DescribeConfigRequest DescribeConfigResponse What a scope sets: providers and where their keys come from (never the keys themselves).
ListModels ListModelsRequest ListModelsResponse The models each configured provider offers, from its API (kept for a few minutes), so forms can suggest and check model names.
GetSignIn GetSignInRequest GetSignInResponse Returns the providers’ sign-ins (one provider’s, or all four: google, anthropic, aws, azure): whether the vendor’s tool is installed and whether its credentials work now. Signing in adds to API keys.
SignIn SignInRequest Stream<SignInResponse> Runs a provider’s sign-in with its vendor’s tool (gcloud, ant, aws, az) on the service’s machine, streaming what the tool prints (the sign-in page’s URL, a device code), then retries the open workspaces’ models (NO_TOOL, SIGN_IN_RUNNING, SIGN_IN_FAILED, UNKNOWN_PROVIDER, INVALID_PROFILE).
SignOut SignOutRequest SignOutResponse Signs out of a provider with its vendor’s tool.
SetApiKey SetApiKeyRequest SetApiKeyResponse Stores a provider’s API key in the keychain and refers to it.
SecureApiKey SecureApiKeyRequest SecureApiKeyResponse Moves a provider’s API key written in the scope’s file (as plain text or obfuscated) into the keychain.
RemoveApiKey RemoveApiKeyRequest RemoveApiKeyResponse Removes a provider’s API key (a workspace then uses the global one).
SetProvider SetProviderRequest SetProviderResponse Saves a scope’s provider, default model and, optionally, the provider’s API key as one change: all checked before anything is written, and the open workspaces reload once.
SetConfigValue SetConfigValueRequest SetConfigValueResponse Sets one of the forms’ settings ("" removes it).
DescribePermissions DescribePermissionsRequest DescribePermissionsResponse A scope’s permission rules: its own file’s, the global ones a workspace adds to, and the built-in read-only rules.
AddPermission AddPermissionRequest AddPermissionResponse Adds an allow, ask or deny rule to a scope’s file, if it’s valid.
RemovePermission RemovePermissionRequest RemovePermissionResponse Removes a rule from a scope’s file (any effect).
CheckPermission CheckPermissionRequest CheckPermissionResponse Checks a rule without saving it: its canonical form and how it matches, or why it’s invalid; with a sample, whether it applies to it.
SetReadOnlyDefaults SetReadOnlyDefaultsRequest SetReadOnlyDefaultsResponse Turns the built-in read-only rules on or off in a scope, or leaves a workspace to the global setting.
GetConfigFile GetConfigFileRequest GetConfigFileResponse Returns a scope’s settings file as text.
SaveConfigFile SaveConfigFileRequest SaveConfigFileResponse Replaces a scope’s settings file, if it’s valid.
CheckConfigFile CheckConfigFileRequest CheckConfigFileResponse Checks a settings file’s text without saving it: TOML errors, values of the wrong type and invalid permission rules, which stop it being saved; unknown settings and API keys written as plain text, which don’t. Each at its line.
GetSettingsReference GetSettingsReferenceRequest GetSettingsReferenceResponse Every setting a settings file can have, with its type, default and description (from the settings’ doc comments).
GetInterfaceLanguage GetInterfaceLanguageRequest GetInterfaceLanguageResponse The interface language the user’s settings name ([ui] locale; empty when they don’t), and their own catalogs ([ui] locales_dir): the desktop app’s System language follows them.
ListSkillRegistries ListSkillRegistriesRequest ListSkillRegistriesResponse The skill registries the user added, and the skills installed from them (spec_skills_013 SK-90..SK-96).
AddSkillRegistry AddSkillRegistryRequest AddSkillRegistryResponse Checks a registry’s index and remembers it, its token in the keychain (REGISTRY_FAILED when the index can’t be read).
RemoveSkillRegistry RemoveSkillRegistryRequest RemoveSkillRegistryResponse Forgets a registry and its token; its skills stay (NO_REGISTRY).
SearchRegistrySkills SearchRegistrySkillsRequest SearchRegistrySkillsResponse The registries’ skills that match a query, and why any registry couldn’t be read.
InstallRegistrySkill InstallRegistrySkillRequest InstallRegistrySkillResponse Installs a skill for the user or in a workspace, its archive checked against the hash the registry gives (NOT_OFFERED, AMBIGUOUS, HASH_MISMATCH, SKILL_EXISTS, REGISTRY_FAILED). Open sessions see it at once.
UpdateRegistrySkills UpdateRegistrySkillsRequest UpdateRegistrySkillsResponse Updates installed skills whose registry offers another archive.
UninstallRegistrySkill UninstallRegistrySkillRequest UninstallRegistrySkillResponse Removes a skill installed from a registry (NOT_INSTALLED).
ListSecrets ListSecretsRequest ListSecretsResponse Returns the names of the user’s secrets in a scope (global, or a workspace’s own), never their values.
SetSecret SetSecretRequest SetSecretResponse Stores a secret’s value in the system’s keychain.
DeleteSecret DeleteSecretRequest DeleteSecretResponse Removes a secret.
ListBuiltinSkills ListBuiltinSkillsRequest ListBuiltinSkillsResponse Returns the skills Blitz ships with.
TrustSkillScripts TrustSkillScriptsRequest TrustSkillScriptsResponse Records that the user reviewed and trusted the scripts of the skill in a folder, with the content hash they were shown (HASH_MISMATCH if it changed since): its scripts then run without asking first, until its content changes (spec_skills_013 SK-108).
GetSkillReview GetSkillReviewRequest GetSkillReviewResponse Returns what a skill’s scripts are, for review, when they need it (nothing when they don’t).
ListMCPServerConfigs ListMCPServerConfigsRequest ListMCPServerConfigsResponse Returns the MCP servers of the global settings, with the file they’re in.
SaveMCPServer SaveMCPServerRequest SaveMCPServerResponse Adds an MCP server to the global settings, or replaces one (name): open workspaces apply it at once.
RemoveMCPServer RemoveMCPServerRequest RemoveMCPServerResponse Removes an MCP server from the global settings (NOT_FOUND).
SetMCPServerEnabled SetMCPServerEnabledRequest SetMCPServerEnabledResponse Turns an MCP server of the global settings on or off (NOT_FOUND).

Enum: KeySource

FQN: blitz.v1.KeySource
KeySource says where a provider's API key comes from.
Name Ordinal Description
KEY_SOURCE_UNSPECIFIED 0
KEY_SOURCE_NONE 1
KEY_SOURCE_KEYCHAIN 2 The OS keychain (the file holds a reference).
KEY_SOURCE_PLAIN 3 Written in the file as plain text.
KEY_SOURCE_OBFUSCATED 4 modenv’s xor: value: obfuscated, not encrypted.
KEY_SOURCE_ENVIRONMENT 5 An environment variable of the service.
KEY_SOURCE_INHERITED 6 A workspace using the global key.

KeySource Diagram

classDiagram
direction LR
%% KeySource says where a provider's API key comes from.

class KeySource{
  <<enumeration>>
  KEY_SOURCE_UNSPECIFIED
  KEY_SOURCE_NONE
  KEY_SOURCE_KEYCHAIN
  KEY_SOURCE_PLAIN
  KEY_SOURCE_OBFUSCATED
  KEY_SOURCE_ENVIRONMENT
  KEY_SOURCE_INHERITED
}

GetInterfaceLanguageRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.GetInterfaceLanguage.

class GetInterfaceLanguageRequest {
}

GetInterfaceLanguageResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.GetInterfaceLanguage.

class GetInterfaceLanguageResponse {
  + string locale
  + List~string~ catalogs
}

ProviderConfig Diagram

classDiagram
direction LR

%% One provider's settings in a scope, and where its API key comes from (never the key).

class ProviderConfig {
  + string name
  + KeySource key_source
  + bool key_missing
  + string base_url
  + string model
  + string auth
  + string project_id
  + string location
  + string profile
}
ProviderConfig --> `KeySource`

ProviderAuth Diagram

classDiagram
direction LR

%% How a provider signs in.

class ProviderAuth {
  + string method
  + string project_id
  + string location
  + string profile
}

DescribeConfigRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.DescribeConfig.

class DescribeConfigRequest {
  + string workspace
}

DescribeConfigResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.DescribeConfig.

class DescribeConfigResponse {
  + string path
  + string provider
  + string default_model
  + List~ProviderConfig~ providers
  + string secret_store
}
DescribeConfigResponse --> `ProviderConfig`

ConfigChange Diagram

classDiagram
direction LR

%% After a change: the file written, and why the scope's workspace (for a workspace scope, if it's open) still can't build its model ("" if it can).

class ConfigChange {
  + string path
  + string model_error
}

SetApiKeyRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SetApiKey.

class SetApiKeyRequest {
  + string workspace
  + string provider
  + string key
}

SetApiKeyResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SetApiKey.

class SetApiKeyResponse {
  + ConfigChange change
}
SetApiKeyResponse --> `ConfigChange`

SecureApiKeyRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SecureApiKey.

class SecureApiKeyRequest {
  + string workspace
  + string provider
}

SecureApiKeyResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SecureApiKey.

class SecureApiKeyResponse {
  + ConfigChange change
}
SecureApiKeyResponse --> `ConfigChange`

RemoveApiKeyRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.RemoveApiKey.

class RemoveApiKeyRequest {
  + string workspace
  + string provider
}

RemoveApiKeyResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.RemoveApiKey.

class RemoveApiKeyResponse {
  + ConfigChange change
}
RemoveApiKeyResponse --> `ConfigChange`

SetConfigValueRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SetConfigValue.

class SetConfigValueRequest {
  + string workspace
  + string key
  + string value
}

SetConfigValueResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SetConfigValue.

class SetConfigValueResponse {
  + ConfigChange change
}
SetConfigValueResponse --> `ConfigChange`

SetProviderRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SetProvider.

class SetProviderRequest {
  + string workspace
  + string provider
  + string default_model
  + string key
  + ProviderAuth auth
}
SetProviderRequest --> `ProviderAuth`

SetProviderResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SetProvider.

class SetProviderResponse {
  + ConfigChange change
}
SetProviderResponse --> `ConfigChange`

GetConfigFileRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.GetConfigFile.

class GetConfigFileRequest {
  + string workspace
}

GetConfigFileResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.GetConfigFile.

class GetConfigFileResponse {
  + string path
  + string text
}

SaveConfigFileRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SaveConfigFile.

class SaveConfigFileRequest {
  + string workspace
  + string text
}

SaveConfigFileResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SaveConfigFile.

class SaveConfigFileResponse {
  + ConfigChange change
  + List~string~ warnings
}
SaveConfigFileResponse --> `ConfigChange`

CheckConfigFileRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.CheckConfigFile.

class CheckConfigFileRequest {
  + string text
}

ConfigProblem Diagram

classDiagram
direction LR

%% Something wrong with a settings file.

class ConfigProblem {
  + int32 line
  + int32 column
  + bool error
  + string message
}

CheckConfigFileResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.CheckConfigFile.

class CheckConfigFileResponse {
  + List~ConfigProblem~ problems
}
CheckConfigFileResponse --> `ConfigProblem`

GetSettingsReferenceRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.GetSettingsReference.

class GetSettingsReferenceRequest {
}

SettingInfo Diagram

classDiagram
direction LR

%% One entry of the settings reference.

class SettingInfo {
  + string key
  + string type
  + string default
  + string doc
}

ListModelsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.ListModels.

class ListModelsRequest {
  + string workspace
  + List~string~ providers
}

ListedModel Diagram

classDiagram
direction LR

%% A listed model with the price Blitz knows for it.

class ListedModel {
  + string id
  + bool has_price
  + double input_per_mtok
  + double output_per_mtok
}

GetSignInRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.GetSignIn.

class GetSignInRequest {
  + string workspace
  + string provider
  + string profile
}

SignInStatus Diagram

classDiagram
direction LR

%% A provider's sign-in.

class SignInStatus {
  + string provider
  + string tool
  + bool tool_found
  + string install
  + bool signed_in
  + string detail
}

GetSignInResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.GetSignIn.

class GetSignInResponse {
  + List~SignInStatus~ statuses
}
GetSignInResponse --> `SignInStatus`

SignInRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SignIn.

class SignInRequest {
  + string workspace
  + string provider
  + string profile
}

SignInResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SignIn: a line the tool printed, or the end.

class SignInResponse {
  + string line
  + string url
  + string code
  + bool done
  + SignInStatus status
}
SignInResponse --> `SignInStatus`

SignOutRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SignOut.

class SignOutRequest {
  + string workspace
  + string provider
  + string profile
}

SignOutResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SignOut.

class SignOutResponse {
  + SignInStatus status
}
SignOutResponse --> `SignInStatus`

ProviderModels Diagram

classDiagram
direction LR

%% ProviderModels are one provider's models.

class ProviderModels {
  + string provider
  + List~string~ ids
  + string error
  + string note
  + List~ListedModel~ models
}
ProviderModels --> `ListedModel`

ListModelsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.ListModels.

class ListModelsResponse {
  + List~ProviderModels~ providers
  + string default_provider
}
ListModelsResponse --> `ProviderModels`

GetSettingsReferenceResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.GetSettingsReference.

class GetSettingsReferenceResponse {
  + List~SettingInfo~ settings
}
GetSettingsReferenceResponse --> `SettingInfo`

PermissionEntry Diagram

classDiagram
direction LR

%% A rule in a settings file's [permissions].

class PermissionEntry {
  + string effect
  + string rule
}

DescribePermissionsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.DescribePermissions.

class DescribePermissionsRequest {
  + string workspace
}

DescribePermissionsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.DescribePermissions.

class DescribePermissionsResponse {
  + string path
  + List~PermissionEntry~ rules
  + List~PermissionEntry~ inherited
  + string read_only_defaults
  + bool read_only_defaults_on
  + List~string~ read_only_commands
  + List~string~ read_only_guards
}
DescribePermissionsResponse --> `PermissionEntry`
DescribePermissionsResponse --> `PermissionEntry`

AddPermissionRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.AddPermission.

class AddPermissionRequest {
  + string workspace
  + string effect
  + string rule
}

AddPermissionResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.AddPermission.

class AddPermissionResponse {
  + ConfigChange change
  + string rule
}
AddPermissionResponse --> `ConfigChange`

RemovePermissionRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.RemovePermission.

class RemovePermissionRequest {
  + string workspace
  + string rule
}

RemovePermissionResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.RemovePermission.

class RemovePermissionResponse {
  + ConfigChange change
  + int32 removed
}
RemovePermissionResponse --> `ConfigChange`

CheckPermissionRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.CheckPermission.

class CheckPermissionRequest {
  + string effect
  + string rule
  + string sample
}

CheckPermissionResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.CheckPermission.

class CheckPermissionResponse {
  + string error
  + string rule
  + string kind
  + string pattern
  + string form
  + bool tested
  + bool matches
  + string redirect
}

SetReadOnlyDefaultsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SetReadOnlyDefaults.

class SetReadOnlyDefaultsRequest {
  + string workspace
  + string value
}

SetReadOnlyDefaultsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SetReadOnlyDefaults.

class SetReadOnlyDefaultsResponse {
  + ConfigChange change
}
SetReadOnlyDefaultsResponse --> `ConfigChange`

SkillRegistry Diagram

classDiagram
direction LR

%% A skill registry the user added.

class SkillRegistry {
  + string name
  + string url
  + bool has_token
}

RegistrySkill Diagram

classDiagram
direction LR

%% A skill a registry offers.

class RegistrySkill {
  + string registry
  + string name
  + string description
  + string version
  + string castor_id
}

InstalledSkill Diagram

classDiagram
direction LR

%% A skill installed from a registry.

class InstalledSkill {
  + string name
  + string registry
  + string version
  + string dir
  + google.protobuf.Timestamp installed
  + SkillReview review
}
InstalledSkill --> `SkillReview`

SkillReview Diagram

classDiagram
direction LR

%% What a skill's scripts are, for the user to review before trusting them (spec_skills_013 SK-108).

class SkillReview {
  + string dir
  + string hash
  + List~ReviewScript~ scripts
}
SkillReview --> `ReviewScript`

ReviewScript Diagram

classDiagram
direction LR

%% One script under review.

class ReviewScript {
  + string name
  + string language
  + string source
  + List~string~ deps
}

ListSkillRegistriesRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.ListSkillRegistries.

class ListSkillRegistriesRequest {
}

ListSkillRegistriesResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.ListSkillRegistries.

class ListSkillRegistriesResponse {
  + List~SkillRegistry~ registries
  + List~InstalledSkill~ installed
}
ListSkillRegistriesResponse --> `SkillRegistry`
ListSkillRegistriesResponse --> `InstalledSkill`

AddSkillRegistryRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.AddSkillRegistry.

class AddSkillRegistryRequest {
  + string url
  + string name
  + string token
}

AddSkillRegistryResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.AddSkillRegistry.

class AddSkillRegistryResponse {
  + SkillRegistry registry
  + int32 skills
}
AddSkillRegistryResponse --> `SkillRegistry`

RemoveSkillRegistryRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.RemoveSkillRegistry.

class RemoveSkillRegistryRequest {
  + string name
}

RemoveSkillRegistryResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.RemoveSkillRegistry.

class RemoveSkillRegistryResponse {
}

SearchRegistrySkillsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SearchRegistrySkills.

class SearchRegistrySkillsRequest {
  + string query
}

SearchRegistrySkillsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SearchRegistrySkills.

class SearchRegistrySkillsResponse {
  + List~RegistrySkill~ skills
  + List~string~ problems
}
SearchRegistrySkillsResponse --> `RegistrySkill`

InstallRegistrySkillRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.InstallRegistrySkill.

class InstallRegistrySkillRequest {
  + string ref
  + string workspace
}

InstallRegistrySkillResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.InstallRegistrySkill.

class InstallRegistrySkillResponse {
  + InstalledSkill skill
}
InstallRegistrySkillResponse --> `InstalledSkill`

UpdateRegistrySkillsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.UpdateRegistrySkills.

class UpdateRegistrySkillsRequest {
  + List~string~ names
}

UpdateRegistrySkillsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.UpdateRegistrySkills.

class UpdateRegistrySkillsResponse {
  + List~InstalledSkill~ updated
  + List~string~ problems
}
UpdateRegistrySkillsResponse --> `InstalledSkill`

UninstallRegistrySkillRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.UninstallRegistrySkill.

class UninstallRegistrySkillRequest {
  + string name
  + string workspace
}

UninstallRegistrySkillResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.UninstallRegistrySkill.

class UninstallRegistrySkillResponse {
  + InstalledSkill skill
}
UninstallRegistrySkillResponse --> `InstalledSkill`

MCPServerConfig Diagram

classDiagram
direction LR

%% MCPServerConfig is an MCP server's settings ([[mcp.servers]]): exactly one of command (stdio) and url (streamable HTTP).

class MCPServerConfig {
  + string name
  + string command
  + List~string~ args
  + Map~string,  string~ env
  + string url
  + Map~string,  string~ headers
  + bool disabled
  + List~string~ tools
  + bool auto_approve
  + Optional~bool~ sandbox
  + string prefix
  + List~string~ agents
  + int32 timeout_seconds
}

ListMCPServerConfigsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.ListMCPServerConfigs.

class ListMCPServerConfigsRequest {
}

ListMCPServerConfigsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.ListMCPServerConfigs.

class ListMCPServerConfigsResponse {
  + List~MCPServerConfig~ servers
  + string path
}
ListMCPServerConfigsResponse --> `MCPServerConfig`

SaveMCPServerRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SaveMCPServer.

class SaveMCPServerRequest {
  + string name
  + MCPServerConfig server
}
SaveMCPServerRequest --> `MCPServerConfig`

SaveMCPServerResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SaveMCPServer.

class SaveMCPServerResponse {
  + ConfigChange change
}
SaveMCPServerResponse --> `ConfigChange`

RemoveMCPServerRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.RemoveMCPServer.

class RemoveMCPServerRequest {
  + string name
}

RemoveMCPServerResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.RemoveMCPServer.

class RemoveMCPServerResponse {
  + ConfigChange change
}
RemoveMCPServerResponse --> `ConfigChange`

SetMCPServerEnabledRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SetMCPServerEnabled.

class SetMCPServerEnabledRequest {
  + string name
  + bool enabled
}

SetMCPServerEnabledResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SetMCPServerEnabled.

class SetMCPServerEnabledResponse {
  + ConfigChange change
}
SetMCPServerEnabledResponse --> `ConfigChange`

BuiltinSkill Diagram

classDiagram
direction LR

%% BuiltinSkill is a skill Blitz ships with.

class BuiltinSkill {
  + string name
  + string description
  + string version
}

ListBuiltinSkillsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.ListBuiltinSkills.

class ListBuiltinSkillsRequest {
}

ListBuiltinSkillsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.ListBuiltinSkills.

class ListBuiltinSkillsResponse {
  + List~BuiltinSkill~ skills
}
ListBuiltinSkillsResponse --> `BuiltinSkill`

Secret Diagram

classDiagram
direction LR

%% Secret is one of the user's secrets, as listed: its key ({secrets:key} in prompts and settings) and when its value was set; never the value.

class Secret {
  + string key
  + google.protobuf.Timestamp updated
}

ListSecretsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.ListSecrets.

class ListSecretsRequest {
  + string workspace
}

ListSecretsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.ListSecrets.

class ListSecretsResponse {
  + List~Secret~ secrets
  + string store
  + string prefix
}
ListSecretsResponse --> `Secret`

SetSecretRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.SetSecret.

class SetSecretRequest {
  + string workspace
  + string key
  + string value
}

SetSecretResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.SetSecret.

class SetSecretResponse {
}

DeleteSecretRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.DeleteSecret.

class DeleteSecretRequest {
  + string workspace
  + string key
}

DeleteSecretResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.DeleteSecret.

class DeleteSecretResponse {
}

TrustSkillScriptsRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.TrustSkillScripts.

class TrustSkillScriptsRequest {
  + string dir
  + string hash
}

TrustSkillScriptsResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.TrustSkillScripts.

class TrustSkillScriptsResponse {
}

GetSkillReviewRequest Diagram

classDiagram
direction LR

%% Request message for ConfigService.GetSkillReview.

class GetSkillReviewRequest {
  + string dir
}

GetSkillReviewResponse Diagram

classDiagram
direction LR

%% Response message for ConfigService.GetSkillReview.

class GetSkillReviewResponse {
  + SkillReview review
}
GetSkillReviewResponse --> `SkillReview`

Message: GetInterfaceLanguageRequest

FQN: blitz.v1.GetInterfaceLanguageRequest
Request message for ConfigService.GetInterfaceLanguage.
Field Ordinal Type Label Description

Message: GetInterfaceLanguageResponse

FQN: blitz.v1.GetInterfaceLanguageResponse
Response message for ConfigService.GetInterfaceLanguage.
Field Ordinal Type Label Description
locale 1 string A language tag, or empty when the settings don’t set one.
catalogs 2 string Repeated The user’s catalogs, each a catalog file’s JSON (checked, as the terminal loads them).

Message: ProviderConfig

FQN: blitz.v1.ProviderConfig
One provider's settings in a scope, and where its API key comes from (never the key).
Field Ordinal Type Label Description
name 1 string gemini, anthropic or openai.
key_source 2 KeySource
key_missing 3 bool The file refers to a keychain secret that isn’t there.
base_url 4 string As set in this scope ("" when not).
model 5 string
auth 6 string How it signs in, as set in this scope: "" (an API key, or a workspace following the global setting), adc (Gemini) or oauth (Anthropic).
project_id 7 string adc: the Google Cloud project and location ("" when not set here).
location 8 string
profile 9 string oauth: the ant auth login profile ("" for ant’s active one).

Message: ProviderAuth

FQN: blitz.v1.ProviderAuth
How a provider signs in.
Field Ordinal Type Label Description
method 1 string api_key ("" too), adc (Gemini through Vertex AI with Application Default Credentials) or oauth (Anthropic, an ant auth login profile).
project_id 2 string adc: the Google Cloud project and location ("" uses the service’s GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION, or “global”).
location 3 string
profile 4 string oauth: the profile ("" uses ant’s active one).

Message: DescribeConfigRequest

FQN: blitz.v1.DescribeConfigRequest
Request message for ConfigService.DescribeConfig.
Field Ordinal Type Label Description
workspace 1 string

Message: DescribeConfigResponse

FQN: blitz.v1.DescribeConfigResponse
Response message for ConfigService.DescribeConfig.
Field Ordinal Type Label Description
path 1 string The scope’s settings file (it may not exist yet).
provider 2 string llm.provider and blitz.default_model as set in this scope.
default_model 3 string
providers 4 ProviderConfig Repeated
secret_store 5 string Where keys are kept (“macOS Keychain”, “Secret Service”, a file).

Message: ConfigChange

FQN: blitz.v1.ConfigChange
After a change: the file written, and why the scope's workspace (for a workspace scope, if it's open) still can't build its model ("" if it can).
Field Ordinal Type Label Description
path 1 string
model_error 2 string

Message: SetApiKeyRequest

FQN: blitz.v1.SetApiKeyRequest
Request message for ConfigService.SetApiKey.
Field Ordinal Type Label Description
workspace 1 string
provider 2 string
key 3 string

Message: SetApiKeyResponse

FQN: blitz.v1.SetApiKeyResponse
Response message for ConfigService.SetApiKey.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: SecureApiKeyRequest

FQN: blitz.v1.SecureApiKeyRequest
Request message for ConfigService.SecureApiKey.
Field Ordinal Type Label Description
workspace 1 string
provider 2 string

Message: SecureApiKeyResponse

FQN: blitz.v1.SecureApiKeyResponse
Response message for ConfigService.SecureApiKey.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: RemoveApiKeyRequest

FQN: blitz.v1.RemoveApiKeyRequest
Request message for ConfigService.RemoveApiKey.
Field Ordinal Type Label Description
workspace 1 string
provider 2 string

Message: RemoveApiKeyResponse

FQN: blitz.v1.RemoveApiKeyResponse
Response message for ConfigService.RemoveApiKey.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: SetConfigValueRequest

FQN: blitz.v1.SetConfigValueRequest
Request message for ConfigService.SetConfigValue.
Field Ordinal Type Label Description
workspace 1 string
key 2 string llm.provider, blitz.default_model, llm.<provider>.model or .base_url, llm.gemini.project_id or .location.
value 3 string

Message: SetConfigValueResponse

FQN: blitz.v1.SetConfigValueResponse
Response message for ConfigService.SetConfigValue.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: SetProviderRequest

FQN: blitz.v1.SetProviderRequest
Request message for ConfigService.SetProvider.
Field Ordinal Type Label Description
workspace 1 string
provider 2 string llm.provider: gemini, anthropic, openai or ollama ("" removes it).
default_model 3 string blitz.default_model ("" removes it).
key 4 string A new API key for the provider, kept in the keychain ("" keeps the current one).
auth 5 ProviderAuth How the provider signs in (unset leaves it as it is).

Message: SetProviderResponse

FQN: blitz.v1.SetProviderResponse
Response message for ConfigService.SetProvider.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: GetConfigFileRequest

FQN: blitz.v1.GetConfigFileRequest
Request message for ConfigService.GetConfigFile.
Field Ordinal Type Label Description
workspace 1 string

Message: GetConfigFileResponse

FQN: blitz.v1.GetConfigFileResponse
Response message for ConfigService.GetConfigFile.
Field Ordinal Type Label Description
path 1 string
text 2 string "" when the file doesn’t exist yet.

Message: SaveConfigFileRequest

FQN: blitz.v1.SaveConfigFileRequest
Request message for ConfigService.SaveConfigFile.
Field Ordinal Type Label Description
workspace 1 string
text 2 string

Message: SaveConfigFileResponse

FQN: blitz.v1.SaveConfigFileResponse
Response message for ConfigService.SaveConfigFile.
Field Ordinal Type Label Description
change 1 ConfigChange
warnings 2 string Repeated Unknown settings (likely typos) and keys written as plain text.

Message: CheckConfigFileRequest

FQN: blitz.v1.CheckConfigFileRequest
Request message for ConfigService.CheckConfigFile.
Field Ordinal Type Label Description
text 1 string The settings file’s text.

Message: ConfigProblem

FQN: blitz.v1.ConfigProblem
Something wrong with a settings file.
Field Ordinal Type Label Description
line 1 int32 The line (from 1), or 0 for the file as a whole.
column 2 int32 The column (from 1), when known.
error 3 bool An error stops the file being saved; a warning doesn’t.
message 4 string

Message: CheckConfigFileResponse

FQN: blitz.v1.CheckConfigFileResponse
Response message for ConfigService.CheckConfigFile.
Field Ordinal Type Label Description
problems 1 ConfigProblem Repeated By line, errors first on a line; none when the file is fine.

Message: GetSettingsReferenceRequest

FQN: blitz.v1.GetSettingsReferenceRequest
Request message for ConfigService.GetSettingsReference.
Field Ordinal Type Label Description

Message: SettingInfo

FQN: blitz.v1.SettingInfo
One entry of the settings reference.
Field Ordinal Type Label Description
key 1 string The table (“llm”) or setting (“llm.provider”). <name> stands for any name (“model_settings.<model>.temperature”); [] marks an array of tables (“hooks.pre_tool[].command”).
type 2 string table, array of tables, string, integer, number, boolean or list of strings.
default 3 string The value when unset, as TOML ("" when there’s none to show).
doc 4 string What it does.

Message: ListModelsRequest

FQN: blitz.v1.ListModelsRequest
Request message for ConfigService.ListModels.
Field Ordinal Type Label Description
workspace 1 string The workspace whose settings name the providers; "" for the user’s.
providers 2 string Repeated Only these providers (gemini, anthropic, openai, …), configured or not; none for every configured one.

Message: ListedModel

FQN: blitz.v1.ListedModel
A listed model with the price Blitz knows for it.
Field Ordinal Type Label Description
id 1 string
has_price 2 bool Dollars per million tokens; has_price false when Blitz knows none.
input_per_mtok 3 double
output_per_mtok 4 double

Message: GetSignInRequest

FQN: blitz.v1.GetSignInRequest
Request message for ConfigService.GetSignIn.
Field Ordinal Type Label Description
workspace 1 string The workspace whose settings name the profiles; "" for the user’s.
provider 2 string google, anthropic, aws or azure; "" for all four.
profile 3 string A profile over the configured one (anthropic, aws).

Message: SignInStatus

FQN: blitz.v1.SignInStatus
A provider's sign-in.
Field Ordinal Type Label Description
provider 1 string
tool 2 string The vendor’s program, whether it’s installed, and where to get it.
tool_found 3 bool
install 4 string
signed_in 5 bool Its credentials work now, and what they are (account, profile, file).
detail 6 string

Message: GetSignInResponse

FQN: blitz.v1.GetSignInResponse
Response message for ConfigService.GetSignIn.
Field Ordinal Type Label Description
statuses 1 SignInStatus Repeated

Message: SignInRequest

FQN: blitz.v1.SignInRequest
Request message for ConfigService.SignIn.
Field Ordinal Type Label Description
workspace 1 string
provider 2 string
profile 3 string

Message: SignInResponse

FQN: blitz.v1.SignInResponse
Response message for ConfigService.SignIn: a line the tool printed, or the end.
Field Ordinal Type Label Description
line 1 string
url 2 string The sign-in page, and a device code, when the line has them.
code 3 string
done 4 bool The sign-in finished; status is the provider’s after it.
status 5 SignInStatus

Message: SignOutRequest

FQN: blitz.v1.SignOutRequest
Request message for ConfigService.SignOut.
Field Ordinal Type Label Description
workspace 1 string
provider 2 string
profile 3 string

Message: SignOutResponse

FQN: blitz.v1.SignOutResponse
Response message for ConfigService.SignOut.
Field Ordinal Type Label Description
status 1 SignInStatus

Message: ProviderModels

FQN: blitz.v1.ProviderModels
ProviderModels are one provider's models.
Field Ordinal Type Label Description
provider 1 string
ids 2 string Repeated Model IDs as the provider names them (“gemini-3.8-flash”), sorted.
error 3 string Why they couldn’t be listed ("" when they were).
note 4 string What the list is when it isn’t the provider’s own (Bedrock, Azure: the configured model only).
models 5 ListedModel Repeated The models with their prices, in the order of ids.

Message: ListModelsResponse

FQN: blitz.v1.ListModelsResponse
Response message for ConfigService.ListModels.
Field Ordinal Type Label Description
providers 1 ProviderModels Repeated
default_provider 2 string The provider a name without “provider/” belongs to.

Message: GetSettingsReferenceResponse

FQN: blitz.v1.GetSettingsReferenceResponse
Response message for ConfigService.GetSettingsReference.
Field Ordinal Type Label Description
settings 1 SettingInfo Repeated

Message: PermissionEntry

FQN: blitz.v1.PermissionEntry
A rule in a settings file's [permissions].
Field Ordinal Type Label Description
effect 1 string allow, ask or deny.
rule 2 string As written in the file.

Message: DescribePermissionsRequest

FQN: blitz.v1.DescribePermissionsRequest
Request message for ConfigService.DescribePermissions.
Field Ordinal Type Label Description
workspace 1 string

Message: DescribePermissionsResponse

FQN: blitz.v1.DescribePermissionsResponse
Response message for ConfigService.DescribePermissions.
Field Ordinal Type Label Description
path 1 string The scope’s settings file (it may not exist yet).
rules 2 PermissionEntry Repeated The rules the scope’s own file sets.
inherited 3 PermissionEntry Repeated For a workspace: the global rules, which apply there too.
read_only_defaults 4 string read_only_defaults as the scope’s file sets it: “on”, “off” or "" (not set: on globally, the global setting in a workspace).
read_only_defaults_on 5 bool Whether the built-in rules apply in the scope.
read_only_commands 6 string Repeated The built-in rules: commands allowed without asking, and (described for people) the options with which they ask even so.
read_only_guards 7 string Repeated

Message: AddPermissionRequest

FQN: blitz.v1.AddPermissionRequest
Request message for ConfigService.AddPermission.
Field Ordinal Type Label Description
workspace 1 string
effect 2 string
rule 3 string

Message: AddPermissionResponse

FQN: blitz.v1.AddPermissionResponse
Response message for ConfigService.AddPermission.
Field Ordinal Type Label Description
change 1 ConfigChange
rule 2 string The rule in canonical form, as saved.

Message: RemovePermissionRequest

FQN: blitz.v1.RemovePermissionRequest
Request message for ConfigService.RemovePermission.
Field Ordinal Type Label Description
workspace 1 string
rule 2 string

Message: RemovePermissionResponse

FQN: blitz.v1.RemovePermissionResponse
Response message for ConfigService.RemovePermission.
Field Ordinal Type Label Description
change 1 ConfigChange
removed 2 int32 How many rules were removed.

Message: CheckPermissionRequest

FQN: blitz.v1.CheckPermissionRequest
Request message for ConfigService.CheckPermission.
Field Ordinal Type Label Description
effect 1 string
rule 2 string
sample 3 string A command (shell rules), path or name to try the rule on ("" for none).

Message: CheckPermissionResponse

FQN: blitz.v1.CheckPermissionResponse
Response message for ConfigService.CheckPermission.
Field Ordinal Type Label Description
error 1 string Why the rule is invalid ("" when it’s valid).
rule 2 string The rule in canonical form, its kind and pattern.
kind 3 string
pattern 4 string
form 5 string How the pattern matches: prefix (a command with any arguments), glob (* and ?), regex (re:), path or name.
tested 6 bool Whether the sample was tried, and whether the rule applies to it (an allow rule to every command in it, an ask or deny rule to any).
matches 7 bool
redirect 8 string A file the sample command writes through a redirection: a matching allow rule still asks.

Message: SetReadOnlyDefaultsRequest

FQN: blitz.v1.SetReadOnlyDefaultsRequest
Request message for ConfigService.SetReadOnlyDefaults.
Field Ordinal Type Label Description
workspace 1 string
value 2 string “on”, “off”, or "" to remove the setting (a workspace then follows the global one).

Message: SetReadOnlyDefaultsResponse

FQN: blitz.v1.SetReadOnlyDefaultsResponse
Response message for ConfigService.SetReadOnlyDefaults.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: SkillRegistry

FQN: blitz.v1.SkillRegistry
A skill registry the user added.
Field Ordinal Type Label Description
name 1 string
url 2 string
has_token 3 bool Its token is in the keychain.

Message: RegistrySkill

FQN: blitz.v1.RegistrySkill
A skill a registry offers.
Field Ordinal Type Label Description
registry 1 string
name 2 string
description 3 string
version 4 string
castor_id 5 string Its id in the Castor registry, when it has one.

Message: InstalledSkill

FQN: blitz.v1.InstalledSkill
A skill installed from a registry.
Field Ordinal Type Label Description
name 1 string
registry 2 string
version 3 string
dir 4 string Its folder.
installed 5 google.protobuf.Timestamp
review 6 SkillReview Its scripts, when it has some that weren’t reviewed with this content (a new install, an update): what to show before TrustSkillScripts.

Message: SkillReview

FQN: blitz.v1.SkillReview
What a skill's scripts are, for the user to review before trusting them (spec_skills_013 SK-108).
Field Ordinal Type Label Description
dir 1 string The skill’s folder and content hash, for TrustSkillScripts.
hash 2 string
scripts 3 ReviewScript Repeated

Message: ReviewScript

FQN: blitz.v1.ReviewScript
One script under review.
Field Ordinal Type Label Description
name 1 string
language 2 string
source 3 string Its path in the skill, or “inline”.
deps 4 string Repeated The packages it installs.

Message: ListSkillRegistriesRequest

FQN: blitz.v1.ListSkillRegistriesRequest
Request message for ConfigService.ListSkillRegistries.
Field Ordinal Type Label Description

Message: ListSkillRegistriesResponse

FQN: blitz.v1.ListSkillRegistriesResponse
Response message for ConfigService.ListSkillRegistries.
Field Ordinal Type Label Description
registries 1 SkillRegistry Repeated
installed 2 InstalledSkill Repeated

Message: AddSkillRegistryRequest

FQN: blitz.v1.AddSkillRegistryRequest
Request message for ConfigService.AddSkillRegistry.
Field Ordinal Type Label Description
url 1 string An https URL, or a local file, serving a skills index.
name 2 string What to call it ("" for the index’s own name).
token 3 string An access token for it ("" for none).

Message: AddSkillRegistryResponse

FQN: blitz.v1.AddSkillRegistryResponse
Response message for ConfigService.AddSkillRegistry.
Field Ordinal Type Label Description
registry 1 SkillRegistry
skills 2 int32

Message: RemoveSkillRegistryRequest

FQN: blitz.v1.RemoveSkillRegistryRequest
Request message for ConfigService.RemoveSkillRegistry.
Field Ordinal Type Label Description
name 1 string

Message: RemoveSkillRegistryResponse

FQN: blitz.v1.RemoveSkillRegistryResponse
Response message for ConfigService.RemoveSkillRegistry.
Field Ordinal Type Label Description

Message: SearchRegistrySkillsRequest

FQN: blitz.v1.SearchRegistrySkillsRequest
Request message for ConfigService.SearchRegistrySkills.
Field Ordinal Type Label Description
query 1 string Words each hit has in its name or description ("" for all).

Message: SearchRegistrySkillsResponse

FQN: blitz.v1.SearchRegistrySkillsResponse
Response message for ConfigService.SearchRegistrySkills.
Field Ordinal Type Label Description
skills 1 RegistrySkill Repeated
problems 2 string Repeated Registries that couldn’t be read, and why.

Message: InstallRegistrySkillRequest

FQN: blitz.v1.InstallRegistrySkillRequest
Request message for ConfigService.InstallRegistrySkill.
Field Ordinal Type Label Description
ref 1 string “registry/name”, or a name only one registry offers.
workspace 2 string The workspace to install it in (its .agents/skills); "" for the user.

Message: InstallRegistrySkillResponse

FQN: blitz.v1.InstallRegistrySkillResponse
Response message for ConfigService.InstallRegistrySkill.
Field Ordinal Type Label Description
skill 1 InstalledSkill

Message: UpdateRegistrySkillsRequest

FQN: blitz.v1.UpdateRegistrySkillsRequest
Request message for ConfigService.UpdateRegistrySkills.
Field Ordinal Type Label Description
names 1 string Repeated The skills to update; none for all.

Message: UpdateRegistrySkillsResponse

FQN: blitz.v1.UpdateRegistrySkillsResponse
Response message for ConfigService.UpdateRegistrySkills.
Field Ordinal Type Label Description
updated 1 InstalledSkill Repeated
problems 2 string Repeated

Message: UninstallRegistrySkillRequest

FQN: blitz.v1.UninstallRegistrySkillRequest
Request message for ConfigService.UninstallRegistrySkill.
Field Ordinal Type Label Description
name 1 string
workspace 2 string The workspace whose skill it is, when the user has none of the name.

Message: UninstallRegistrySkillResponse

FQN: blitz.v1.UninstallRegistrySkillResponse
Response message for ConfigService.UninstallRegistrySkill.
Field Ordinal Type Label Description
skill 1 InstalledSkill

Message: MCPServerConfig

FQN: blitz.v1.MCPServerConfig
MCPServerConfig is an MCP server's settings ([[mcp.servers]]): exactly one of command (stdio) and url (streamable HTTP).
Field Ordinal Type Label Description
name 1 string
command 2 string
args 3 string Repeated
env 4 string, string Map
url 5 string
headers 6 string, string Map
disabled 7 bool Configured, but never started.
tools 8 string Repeated Only these of its tools; empty for all.
auto_approve 9 bool Its tools run without asking.
sandbox 10 bool Optional A stdio server runs in the OS sandbox unless this is false.
prefix 11 string Names its tools prefix__tool.
agents 12 string Repeated The agents offered its tools; empty for the main agent, * for all.
timeout_seconds 13 int32 Bounds one tool call; 0 for the default (300).

Message: ListMCPServerConfigsRequest

FQN: blitz.v1.ListMCPServerConfigsRequest
Request message for ConfigService.ListMCPServerConfigs.
Field Ordinal Type Label Description

Message: ListMCPServerConfigsResponse

FQN: blitz.v1.ListMCPServerConfigsResponse
Response message for ConfigService.ListMCPServerConfigs.
Field Ordinal Type Label Description
servers 1 MCPServerConfig Repeated
path 2 string The global settings file.

Message: SaveMCPServerRequest

FQN: blitz.v1.SaveMCPServerRequest
Request message for ConfigService.SaveMCPServer.
Field Ordinal Type Label Description
name 1 string The server replaced; empty to add one.
server 2 MCPServerConfig

Message: SaveMCPServerResponse

FQN: blitz.v1.SaveMCPServerResponse
Response message for ConfigService.SaveMCPServer.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: RemoveMCPServerRequest

FQN: blitz.v1.RemoveMCPServerRequest
Request message for ConfigService.RemoveMCPServer.
Field Ordinal Type Label Description
name 1 string

Message: RemoveMCPServerResponse

FQN: blitz.v1.RemoveMCPServerResponse
Response message for ConfigService.RemoveMCPServer.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: SetMCPServerEnabledRequest

FQN: blitz.v1.SetMCPServerEnabledRequest
Request message for ConfigService.SetMCPServerEnabled.
Field Ordinal Type Label Description
name 1 string
enabled 2 bool

Message: SetMCPServerEnabledResponse

FQN: blitz.v1.SetMCPServerEnabledResponse
Response message for ConfigService.SetMCPServerEnabled.
Field Ordinal Type Label Description
change 1 ConfigChange

Message: BuiltinSkill

FQN: blitz.v1.BuiltinSkill
BuiltinSkill is a skill Blitz ships with.
Field Ordinal Type Label Description
name 1 string
description 2 string
version 3 string

Message: ListBuiltinSkillsRequest

FQN: blitz.v1.ListBuiltinSkillsRequest
Request message for ConfigService.ListBuiltinSkills.
Field Ordinal Type Label Description

Message: ListBuiltinSkillsResponse

FQN: blitz.v1.ListBuiltinSkillsResponse
Response message for ConfigService.ListBuiltinSkills.
Field Ordinal Type Label Description
skills 1 BuiltinSkill Repeated By name.

Message: Secret

FQN: blitz.v1.Secret
Secret is one of the user's secrets, as listed: its key ({secrets:key} in prompts and settings) and when its value was set; never the value.
Field Ordinal Type Label Description
key 1 string
updated 2 google.protobuf.Timestamp

Message: ListSecretsRequest

FQN: blitz.v1.ListSecretsRequest
Request message for ConfigService.ListSecrets.
Field Ordinal Type Label Description
workspace 1 string Empty for the global secrets.

Message: ListSecretsResponse

FQN: blitz.v1.ListSecretsResponse
Response message for ConfigService.ListSecrets.
Field Ordinal Type Label Description
secrets 1 Secret Repeated
store 2 string Where the values are kept (“macOS Keychain”).
prefix 3 string The scope’s stored names start with this: urn:blitz:<scope>:secrets:.

Message: SetSecretRequest

FQN: blitz.v1.SetSecretRequest
Request message for ConfigService.SetSecret.
Field Ordinal Type Label Description
workspace 1 string Empty for a global secret.
key 2 string
value 3 string

Message: SetSecretResponse

FQN: blitz.v1.SetSecretResponse
Response message for ConfigService.SetSecret.
Field Ordinal Type Label Description

Message: DeleteSecretRequest

FQN: blitz.v1.DeleteSecretRequest
Request message for ConfigService.DeleteSecret.
Field Ordinal Type Label Description
workspace 1 string Empty for a global secret.
key 2 string

Message: DeleteSecretResponse

FQN: blitz.v1.DeleteSecretResponse
Response message for ConfigService.DeleteSecret.
Field Ordinal Type Label Description

Message: TrustSkillScriptsRequest

FQN: blitz.v1.TrustSkillScriptsRequest
Request message for ConfigService.TrustSkillScripts.
Field Ordinal Type Label Description
dir 1 string The skill’s folder.
hash 2 string Its content hash, as shown.

Message: TrustSkillScriptsResponse

FQN: blitz.v1.TrustSkillScriptsResponse
Response message for ConfigService.TrustSkillScripts.
Field Ordinal Type Label Description

Message: GetSkillReviewRequest

FQN: blitz.v1.GetSkillReviewRequest
Request message for ConfigService.GetSkillReview.
Field Ordinal Type Label Description
dir 1 string The skill’s folder.

Message: GetSkillReviewResponse

FQN: blitz.v1.GetSkillReviewResponse
Response message for ConfigService.GetSkillReview.
Field Ordinal Type Label Description
review 1 SkillReview Unset when its scripts need no review.