syntax = "proto3";

package golem.component;

import "golem/common/account_id.proto";
import "golem/common/project_id.proto";
import "golem/component/component_files.proto";
import "golem/component/component_metadata.proto";
import "golem/component/component_type.proto";
import "golem/component/plugin_installation.proto";
import "golem/component/versioned_component_id.proto";
import "google/protobuf/timestamp.proto";

message Component {
  VersionedComponentId versioned_component_id = 1;
  string component_name = 4;
  uint64 component_size = 5;
  ComponentMetadata metadata = 6;
  golem.common.ProjectId project_id = 7;
  google.protobuf.Timestamp created_at = 8;
  optional ComponentType component_type = 9;
  repeated golem.component.InitialComponentFile files = 10;
  repeated golem.component.PluginInstallation installed_plugins = 11;
  golem.common.AccountId account_id = 12;
  map<string, string> env = 13;
}
