syntax = "proto3";

package coresdk;

import "activity_result.proto";
import "activity_task.proto";
import "common.proto";
import "workflow_activation.proto";
import "workflow_commands.proto";
import "workflow_completion.proto";

// Note: Intellij will think these imports don't work because of the slightly odd nature of
// the include paths. You can make it work by going to the "Protobuf Support" settings section
// and adding the "api_upstream" subdir as an include path.
import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";

// A request as given to [crate::Core::record_activity_heartbeat]
message ActivityHeartbeat {
    bytes task_token = 1;
    repeated common.Payload details = 2;
    google.protobuf.Duration heartbeat_timeout = 3;
}

// A request as given to [crate::Core::complete_activity_task]
message ActivityTaskCompletion {
    bytes task_token = 1;
    activity_result.ActivityResult result = 2;
}