little-durable-objects 0.1.21

Standalone regional durable-object control plane, host, and durability runtime
Documentation
syntax = "proto3";

package durable_object.v1;

service ActorHostService {
  rpc Invoke(HostInvokeActorRequest) returns (InvokeActorReply);
  rpc HandleSocket(HostSocketEventRequest) returns (InvokeActorReply);
}

service ActorControlPlaneService {
  rpc Execute(ControlPlaneRequest) returns (ControlPlaneReply);
}

message ControlPlaneRequest {
  bytes command_json = 1;
}

message ControlPlaneReply {
  bytes reply_json = 1;
}

message ActorKey {
  string namespace_id = 1;
  string actor_type = 2;
  string actor_id = 3;
}

message InvokeActorRequest {
  reserved 5;

  string request_id = 1;
  ActorKey actor = 2;
  string method = 3;
  bytes args_json = 4;
}

message HostInvokeActorRequest {
  InvokeActorRequest invocation = 1;
  uint64 owner_epoch = 2;
  string state_read_url = 3;
  uint64 state_version = 4;
}

message HostSocketEventRequest {
  string request_id = 1;
  ActorKey actor = 2;
  bytes event_json = 3;
  bytes connections_json = 4;
  uint64 owner_epoch = 5;
  string state_read_url = 6;
  uint64 state_version = 7;
}

message InvokeActorReply {
  oneof result {
    ActorCompleted completed = 1;
    ActorFailed failed = 2;
    Reroute reroute = 3;
  }
}

message ActorCompleted {
  bytes result_json = 1;
  bytes socket_effects_json = 2;
}

message ActorFailed {
  string code = 1;
  string message = 2;
}

message Reroute {}