Skip to main content

Control contract

This is the pinned seagull.control.v1 wire definition. A declared message describes a protocol shape; it does not prove that every producer or consumer is implemented. See contract compatibility and implementation status.

Resource

enum Resource {
RESOURCE_UNSPECIFIED = 0;
RESOURCE_EVENTS = 1;
RESOURCE_DETECTIONS = 2;
RESOURCE_RULESETS = 3;
RESOURCE_ALERTS = 4;
RESOURCE_AGENTS = 5;
RESOURCE_POLICIES = 6;
RESOURCE_SESSIONS = 7;
RESOURCE_INCIDENTS = 8;
}

Action

enum Action {
ACTION_UNSPECIFIED = 0;
ACTION_READ = 1;
ACTION_WRITE = 2;
ACTION_DELETE = 3;
}

Permission

message Permission {
Resource resource = 1;
Action action = 2;
}

Grant

message Grant {
string subject = 1;
repeated string tenants = 2;
repeated string roles = 3;
repeated Permission permissions = 4;
}

Session

message Session {
string id = 1;
google.protobuf.Timestamp issued_at = 2;
google.protobuf.Timestamp expires_at = 3;
Grant grant = 4;
}

SessionList

message SessionList {
repeated Session sessions = 1;
}

SessionRequest

message SessionRequest {
google.protobuf.Duration requested_lifetime = 1;
}

SessionResponse

message SessionResponse {
string token = 1;
Session session = 2;
}

RevocationRequest

message RevocationRequest {
string session_id = 1;
}

RevocationResponse

message RevocationResponse {
uint32 revoked = 1;
}

Refusal

message Refusal {
string code = 1;
string detail = 2;
}

Source evidence

Generated from proto/seagull/control/v1/access.proto at d2090c5. Refresh the checked-in snapshot before regenerating; a normal build does not access another repository.