Skip to main content
Version: 3.4.0-rc.1

cmind/ragmanager/v1/rag_deployment_service.proto

Package: cmind.ragmanager.v1

Enums​

StatusEventType​

Status Streaming Messages

ValueNumberDescription
STATUS_EVENT_TYPE_UNSPECIFIED0
STATUS_EVENT_TYPE_SNAPSHOT1Initial state on subscribe
STATUS_EVENT_TYPE_UPDATED2State changed
STATUS_EVENT_TYPE_DELETED3Deployment deleted

Messages​

ModelConfig​

ModelConfig declares the per-role model ids the RAG deployment uses when routing through the model-gateway. All fields are optional so deployments can stay on the legacy connector system; the operator only emits the env vars for roles whose ids are set, and the RAG service surfaces a 412 at request time when an unset role's feature is invoked. Mirrors the RagDeploymentSpec.models block on the operator CRD.

FieldTypeNumberDescription
embeddingModelIdstring1
generationModelIdstring2
rerankerModelIdstring3
visionModelIdstring4

RagConfig​

FieldTypeNumberDescription
requireGroupForRetrievalbool1
autoDeleteFilesWithoutGroupbool2
usePdfOcrByDefaultbool3
smartTemporalSearchDefaultbool4

Rag​

FieldTypeNumberDescription
idstring1
namestring2
tenantIdstring3
deploymentConfigcmind.serviceconfig.v1.DeploymentConfig4
connectorsrepeated cmind.serviceconfig.v1.Connector5
statuscmind.serviceconfig.v1.DeploymentState6
configgoogle.protobuf.Any7
configSchemagoogle.protobuf.Any8
modelsModelConfig9
configFilePathstring10Path of the RAG config file baked into the container image that this deployment runs with. Empty means the operator's built-in default. Settable only at create time — the config pins ingestion-affecting values (embedder, chunking), so changing it on a live deployment would invalidate already-ingested data.
descriptionstring11Human-readable description of what this RAG's knowledge base contains. Surfaced to models as the search tool's description.
ragConfigRagConfig12

CreateRagRequest​

FieldTypeNumberDescription
namestring1
tenantIdstring2
connectorsrepeated cmind.serviceconfig.v1.Connector3
deploymentConfigcmind.serviceconfig.v1.DeploymentConfig4
modelsModelConfig5
configFilePathstring6Optional path to the RAG config file inside the container image. When empty, the operator applies its built-in default. Used by CI to exercise alternate configs without rebuilding the image.
descriptionstring7Mandatory: human-readable description of the knowledge base's domain, shown to models as the search tool's description so they route correctly.
ragConfigRagConfig8

CreateRagResponse​

FieldTypeNumberDescription
ragRag1

DeleteRagRequest​

FieldTypeNumberDescription
idstring1
tenantIdstring2

DeleteRagResponse​

UpdateRagRequest​

FieldTypeNumberDescription
idstring1
tenantIdstring2
updateMaskgoogle.protobuf.FieldMask3
namestring4Updatable fields
connectorsrepeated cmind.serviceconfig.v1.Connector5
deploymentConfigcmind.serviceconfig.v1.DeploymentConfig6
configgoogle.protobuf.Any7
modelsModelConfig8
descriptionstring9Updatable description (field-mask gated). No min_len here: non-empty is enforced in the handler only when "description" is in the update_mask, so updates that don't touch the description aren't rejected.
ragConfigRagConfig10

UpdateRagResponse​

FieldTypeNumberDescription
ragRag1

StartRagRequest​

FieldTypeNumberDescription
idstring1
tenantIdstring2

StartRagResponse​

StopRagRequest​

FieldTypeNumberDescription
idstring1
tenantIdstring2

StopRagResponse​

GetRagRequest​

FieldTypeNumberDescription
idstring1
tenantIdstring2

GetRagResponse​

FieldTypeNumberDescription
ragRag1

WatchDeploymentStatusRequest​

FieldTypeNumberDescription
tenantIdstring1
idsrepeated string2Required: list of deployments to watch (empty not supported)

WatchDeploymentStatusResponse​

FieldTypeNumberDescription
idstring1
namestring2
tenantIdstring3
statecmind.serviceconfig.v1.DeploymentState4
messagestring5
updatedAtgoogle.protobuf.Timestamp6
eventTypeStatusEventType7
runningImagestring8running_image is the image the operator most recently asked the child Deployment to run — spec.image when set, otherwise the operator's DEFAULT_RAG_IMAGE. Empty until the first reconcile writes status.

SetDefaultModelsRequest​

Empty string per role clears that role; PUT semantics.

FieldTypeNumberDescription
modelsModelConfig1
transcriptionModelIdstring2Platform-wide default transcription model. Transcription is not a RAG role, so it sits beside models rather than on ModelConfig: no RAG deployment consumes it, Chat does.

SetDefaultModelsResponse​

FieldTypeNumberDescription
modelsModelConfig1
transcriptionModelIdstring2

GetDefaultModelsRequest​

GetDefaultModelsResponse​

FieldTypeNumberDescription
modelsModelConfig1
transcriptionModelIdstring2

ListRagDeploymentPermissionsRequest​

FieldTypeNumberDescription
deploymentIdstring1
tenantIdstring2
subjectTypeoptional cmind.permissions.v1.SubjectType3Optional filters. Unset (or UNSPECIFIED) means "no filter on that dimension".
roleoptional cmind.permissions.v1.DeploymentRole4

ListRagDeploymentPermissionsResponse​

FieldTypeNumberDescription
permissionsrepeated cmind.permissions.v1.DeploymentPermission1

AddRagDeploymentPermissionRequest​

AddRagDeploymentPermission enforces tenant scoping: the deployment must actually belong to tenant_id and the subject must already be a member of that tenant. Both checks are FGA Check calls (BatchChecked together). tenant_id duplicates information the server could derive, but supplying it mirrors the rest of the RAG service and lets us validate the client's understanding of the deployment's tenant up front.

FieldTypeNumberDescription
deploymentIdstring1
tenantIdstring2
subjectcmind.permissions.v1.Subject3
rolecmind.permissions.v1.DeploymentRole4

AddRagDeploymentPermissionResponse​

RemoveRagDeploymentPermissionRequest​

FieldTypeNumberDescription
deploymentIdstring1
tenantIdstring2
subjectcmind.permissions.v1.Subject3
rolecmind.permissions.v1.DeploymentRole4

RemoveRagDeploymentPermissionResponse​

ListRagsRequest​

TODO: add page_token / next_page_token pagination before tenants accumulate enough RAGs / data sources to make unbounded lists painful.

FieldTypeNumberDescription
tenantIdstring1

ListRagsResponse​

FieldTypeNumberDescription
ragsrepeated Rag1

DataSource​

FieldTypeNumberDescription
idstring1
namestring2

ListDataSourcesRequest​

FieldTypeNumberDescription
tenantIdstring1

ListDataSourcesResponse​

FieldTypeNumberDescription
dataSourcesrepeated DataSource1

Services​

RagDeploymentService​

CreateRag​

POST /cmind.ragmanager.v1.RagDeploymentService/CreateRag

Request: CreateRagRequest

Response: CreateRagResponse

DeleteRag​

POST /cmind.ragmanager.v1.RagDeploymentService/DeleteRag

Request: DeleteRagRequest

Response: DeleteRagResponse

UpdateRag​

POST /cmind.ragmanager.v1.RagDeploymentService/UpdateRag

Request: UpdateRagRequest

Response: UpdateRagResponse

StartRag​

POST /cmind.ragmanager.v1.RagDeploymentService/StartRag

Request: StartRagRequest

Response: StartRagResponse

StopRag​

POST /cmind.ragmanager.v1.RagDeploymentService/StopRag

Request: StopRagRequest

Response: StopRagResponse

GetRag​

GET /cmind.ragmanager.v1.RagDeploymentService/GetRag

Request: GetRagRequest

Response: GetRagResponse

WatchDeploymentStatus​

POST /cmind.ragmanager.v1.RagDeploymentService/WatchDeploymentStatus

Status Streaming RPC (filtered by ids).

Request: WatchDeploymentStatusRequest

Response: stream WatchDeploymentStatusResponse

SetDefaultModels​

POST /cmind.ragmanager.v1.RagDeploymentService/SetDefaultModels

Platform-wide default model routes. Applied client-side by the portal at create time — non-portal callers (cmctl, Terraform, direct gRPC) must specify models explicitly on CreateRag. The transcription default is likewise applied client-side, by Chat, when it picks the transcription model to call.

Request: SetDefaultModelsRequest

Response: SetDefaultModelsResponse

GetDefaultModels​

GET /cmind.ragmanager.v1.RagDeploymentService/GetDefaultModels

Request: GetDefaultModelsRequest

Response: GetDefaultModelsResponse

ListRagDeploymentPermissions​

GET /cmind.ragmanager.v1.RagDeploymentService/ListRagDeploymentPermissions

Request: ListRagDeploymentPermissionsRequest

Response: ListRagDeploymentPermissionsResponse

AddRagDeploymentPermission​

POST /cmind.ragmanager.v1.RagDeploymentService/AddRagDeploymentPermission

Request: AddRagDeploymentPermissionRequest

Response: AddRagDeploymentPermissionResponse

RemoveRagDeploymentPermission​

POST /cmind.ragmanager.v1.RagDeploymentService/RemoveRagDeploymentPermission

Request: RemoveRagDeploymentPermissionRequest

Response: RemoveRagDeploymentPermissionResponse

ListDataSources​

GET /cmind.ragmanager.v1.RagDeploymentService/ListDataSources

Request: ListDataSourcesRequest

Response: ListDataSourcesResponse

ListRags​

GET /cmind.ragmanager.v1.RagDeploymentService/ListRags

Request: ListRagsRequest

Response: ListRagsResponse