<commit_before>syntax = "proto3";

package ai.verta.modeldb.versioning;
option go_package = "github.com/VertaAI/modeldb/protos/gen/go/protos/public/modeldb/versioning";

option java_multiple_files = true;

import "protos/public/modeldb/versioning/Enums.proto";

message EnvironmentBlob {
    oneof content {
        PythonEnvironmentBlob python = 1;
        DockerEnvironmentBlob docker = 2;
    }
    repeated EnvironmentVariablesBlob environment_variables = 3;
    repeated string command_line = 4;
}

message EnvironmentVariablesBlob {
    string name = 1;
    string value = 2;
}

message VersionEnvironmentBlob {
    int32 major = 1;
    int32 minor = 2;
    int32 patch = 3;
    string suffix = 4;
}

message PythonRequirementEnvironmentBlob {
    string library = 1;
    string constraint = 2;
    VersionEnvironmentBlob version = 3;
}

message PythonEnvironmentBlob {
    VersionEnvironmentBlob version = 1;
    repeated PythonRequirementEnvironmentBlob requirements = 2;
    repeated PythonRequirementEnvironmentBlob constraints = 3;
}

message DockerEnvironmentBlob {
    string repository = 1;
    string tag = 2;
    string sha = 3;
}

message EnvironmentDiff {
    oneof content {
        PythonEnvironmentDiff python = 1;
        DockerEnvironmentDiff docker = 2;
    }
    // Should only contain environment variables unique to A/B (considering all fields)
    repeated EnvironmentVariablesDiff environment_variables = 3;

    DiffStatusEnum.DiffStatus status = 4;
    repeated string command_line_a = 5;
    repeated string command_line_b = 6;
}

message EnvironmentVariablesDiff {
    DiffStatusEnum.DiffStatus status = 1;
    string name = 2;
    string value_a = 3;
    string value_b = 4;
}

message PythonRequirementEnvironmentDiff {
    DiffStatusEnum.DiffStatus status = 1;
    PythonRequirementEnvironmentBlob A = 2;
    PythonRequirementEnvironmentBlob B = 3;
}

message PythonEnvironmentDiff {
    DiffStatusEnum.DiffStatus status = 1;
    VersionEnvironmentBlob version_a = 2;
    VersionEnvironmentBlob version_b = 3;

    repeated PythonRequirementEnvironmentDiff requirements = 4;
    repeated PythonRequirementEnvironmentDiff constraints = 5;
}

message DockerEnvironmentDiff {
    DiffStatusEnum.DiffStatus status = 1;
    DockerEnvironmentBlob A = 2;
    DockerEnvironmentBlob B = 3;
}<commit_msg>Made some field names more specific<commit_after>syntax = "proto3";

package ai.verta.modeldb.versioning;
option go_package = "github.com/VertaAI/modeldb/protos/gen/go/protos/public/modeldb/versioning";

option java_multiple_files = true;

import "protos/public/modeldb/versioning/Enums.proto";

message EnvironmentBlob {
    oneof content {
        PythonEnvironmentBlob python = 1;
        DockerEnvironmentBlob docker = 2;
    }
    repeated EnvironmentVariablesBlob environment_variables = 3;
    repeated string command_line = 4;
}

message EnvironmentVariablesBlob {
    string name = 1;
    string value = 2;
}

message VersionEnvironmentBlob {
    int32 major = 1;
    int32 minor = 2;
    int32 patch = 3;
    string suffix = 4;
}

message PythonRequirementEnvironmentBlob {
    string library = 1;
    string constraint = 2;
    VersionEnvironmentBlob version = 3;
}

message PythonEnvironmentBlob {
    VersionEnvironmentBlob version = 1;
    repeated PythonRequirementEnvironmentBlob requirements = 2;
    repeated PythonRequirementEnvironmentBlob constraints = 3;
}

message DockerEnvironmentBlob {
    string repository = 1;
    string tag = 2;
    string sha = 3;
}

message EnvironmentDiff {
    oneof content {
        PythonEnvironmentDiff python = 1;
        DockerEnvironmentDiff docker = 2;
    }
    // Should only contain environment variables unique to A/B (considering all fields)
    repeated EnvironmentVariablesDiff environment_variables = 3;

    DiffStatusEnum.DiffStatus command_line_status = 4;
    repeated string command_line_a = 5;
    repeated string command_line_b = 6;
}

message EnvironmentVariablesDiff {
    DiffStatusEnum.DiffStatus status = 1;
    string name = 2;
    string value_a = 3;
    string value_b = 4;
}

message PythonRequirementEnvironmentDiff {
    DiffStatusEnum.DiffStatus status = 1;
    PythonRequirementEnvironmentBlob A = 2;
    PythonRequirementEnvironmentBlob B = 3;
}

message PythonEnvironmentDiff {
    DiffStatusEnum.DiffStatus version_status = 1;
    VersionEnvironmentBlob version_a = 2;
    VersionEnvironmentBlob version_b = 3;

    repeated PythonRequirementEnvironmentDiff requirements = 4;
    repeated PythonRequirementEnvironmentDiff constraints = 5;
}

message DockerEnvironmentDiff {
    DiffStatusEnum.DiffStatus status = 1;
    DockerEnvironmentBlob A = 2;
    DockerEnvironmentBlob B = 3;
}
{'fraction_non_alphanumeric': 0.06421433127790772, 'fraction_numerical': 0.019987242185838826, 'mean_word_length': 3.819672131147541, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7388840', 'n_tokens_mistral': 1363, 'n_tokens_neox': 1276, 'n_words': 361}