pub const MAX_CANONICAL_DOCUMENT_BYTES: usize = 1024 * 1024;
pub const MAX_APPLICATION_REQUEST_BYTES_V1: usize = 1024 * 1024;
pub const MAX_ATOMIC_COMMAND_REQUEST_BYTES_V2: usize = 4 * 1024 * 1024;
pub const MAX_ATOMIC_COMMAND_FRAME_BYTES_V2: usize = 8 * 1024 * 1024;
pub const MAX_STRING_BYTES: usize = 1024 * 1024;
pub const MAX_BYTES_VALUE_BYTES: usize = 1024 * 1024;
pub const MAX_LIST_ENTRIES: usize = 65_535;
pub const MAX_RECORD_FIELDS: usize = 65_535;
pub const MAX_KEY_BYTES: usize = 4_096;
pub const MAX_COMMAND_CONFLICT_KEYS_V1: usize = 256;
pub const MAX_COMMAND_INDEX_DELTAS_V1: usize = 4_096;
pub const MAX_COMMAND_AFFECTED_INDEX_PREFIXES_V1: usize = 65_535;
pub const MAX_COMMAND_VALIDATION_TARGETS_V1: usize = 4_096;
pub const MAX_COMMAND_INDEX_VALIDATION_POSITIONS_V1: usize = 65_535;
pub const MAX_COMMAND_INDEX_WORK_UNITS_V1: usize = 65_535;
pub const MAX_COMMAND_READ_STATE_SEMANTIC_BYTES_V1: usize = 16 * 1024 * 1024;
pub const MAX_NESTING_DEPTH: usize = 32;
pub const MAX_ACTOR_ID_BYTES: usize = 256;
pub const MAX_IDEMPOTENCY_KEY_BYTES: usize = 128;
pub const MAX_CONTRACT_LINEAGE_BYTES: usize = 256;
pub const MAX_ENVIRONMENT_BYTES: usize = 64;
pub const MAX_TENANT_ID_BYTES: usize = 256;
pub const MAX_AUDIENCE_BYTES: usize = 512;
pub const MAX_APPROVAL_ID_BYTES: usize = 256;
pub const MAX_SOURCE_REPOSITORY_BYTES: usize = 512;
pub const MAX_SOURCE_COMMIT_BYTES: usize = 128;
pub const MAX_PROVENANCE_REASON_BYTES: usize = 1_024;
pub const MAX_APPROVAL_REFERENCE_BYTES: usize = 256;
pub const MAX_SERVICE_AUDIT_TARGETS: usize = 16;
pub const MAX_COMMIT_INTENT_SEMANTIC_BYTES: usize = 15 * 1024 * 1024;
pub const COMMIT_INTENT_NON_RUNTIME_RESERVE_BYTES: usize = 64 * 1024;
pub const MAX_EVALUATED_COMMAND_SEMANTIC_BYTES: usize =
MAX_COMMIT_INTENT_SEMANTIC_BYTES - COMMIT_INTENT_NON_RUNTIME_RESERVE_BYTES;
pub const MAX_PROJECTION_GROUP_COMPONENTS: usize = 1_024;
pub const MAX_PROJECTION_STATE_SEMANTIC_BYTES: usize = 1024 * 1024;
pub const MAX_PROJECTION_ROW_UPDATES: usize = 4_096;
pub const MAX_PROJECTION_APPLY_SEMANTIC_BYTES: usize = 15 * 1024 * 1024;
pub const MAX_PROJECTION_WRITE_SET_BYTES: usize = 16 * 1024 * 1024;
pub const MAX_PROJECTION_APPLY_SNAPSHOT_BYTES: usize = 16 * 1024 * 1024;
pub const MAX_PROJECTION_QUERY_ROWS: usize = 500;
pub const MAX_PROJECTION_QUERY_CONTENT_BYTES: usize = 4 * 1024 * 1024;
pub const MAX_APPLICATION_INSTALLATION_CAMPAIGN_STATE_BYTES: usize = 8 * 1024 * 1024;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn limits_match_the_v1_contract() {
assert_eq!(MAX_CANONICAL_DOCUMENT_BYTES, 1_048_576);
assert_eq!(MAX_APPLICATION_REQUEST_BYTES_V1, 1_048_576);
assert_eq!(MAX_ATOMIC_COMMAND_REQUEST_BYTES_V2, 4_194_304);
assert_eq!(MAX_ATOMIC_COMMAND_FRAME_BYTES_V2, 8_388_608);
assert_eq!(MAX_STRING_BYTES, 1_048_576);
assert_eq!(MAX_BYTES_VALUE_BYTES, 1_048_576);
assert_eq!(MAX_LIST_ENTRIES, 65_535);
assert_eq!(MAX_RECORD_FIELDS, 65_535);
assert_eq!(MAX_KEY_BYTES, 4_096);
assert_eq!(MAX_COMMAND_CONFLICT_KEYS_V1, 256);
assert_eq!(MAX_COMMAND_INDEX_DELTAS_V1, 4_096);
assert_eq!(MAX_COMMAND_AFFECTED_INDEX_PREFIXES_V1, 65_535);
assert_eq!(MAX_COMMAND_VALIDATION_TARGETS_V1, 4_096);
assert_eq!(MAX_COMMAND_INDEX_VALIDATION_POSITIONS_V1, 65_535);
assert_eq!(MAX_COMMAND_INDEX_WORK_UNITS_V1, 65_535);
assert_eq!(MAX_COMMAND_READ_STATE_SEMANTIC_BYTES_V1, 16_777_216);
assert_eq!(MAX_NESTING_DEPTH, 32);
assert_eq!(MAX_ACTOR_ID_BYTES, 256);
assert_eq!(MAX_IDEMPOTENCY_KEY_BYTES, 128);
assert_eq!(MAX_CONTRACT_LINEAGE_BYTES, 256);
assert_eq!(MAX_ENVIRONMENT_BYTES, 64);
assert_eq!(MAX_TENANT_ID_BYTES, 256);
assert_eq!(MAX_AUDIENCE_BYTES, 512);
assert_eq!(MAX_APPROVAL_ID_BYTES, 256);
assert_eq!(MAX_SOURCE_REPOSITORY_BYTES, 512);
assert_eq!(MAX_SOURCE_COMMIT_BYTES, 128);
assert_eq!(MAX_PROVENANCE_REASON_BYTES, 1_024);
assert_eq!(MAX_APPROVAL_REFERENCE_BYTES, 256);
assert_eq!(MAX_SERVICE_AUDIT_TARGETS, 16);
assert_eq!(MAX_COMMIT_INTENT_SEMANTIC_BYTES, 15_728_640);
assert_eq!(COMMIT_INTENT_NON_RUNTIME_RESERVE_BYTES, 65_536);
assert_eq!(MAX_EVALUATED_COMMAND_SEMANTIC_BYTES, 15_663_104);
assert_eq!(MAX_PROJECTION_GROUP_COMPONENTS, 1_024);
assert_eq!(MAX_PROJECTION_STATE_SEMANTIC_BYTES, 1_048_576);
assert_eq!(MAX_PROJECTION_ROW_UPDATES, 4_096);
assert_eq!(MAX_PROJECTION_APPLY_SEMANTIC_BYTES, 15_728_640);
assert_eq!(MAX_PROJECTION_WRITE_SET_BYTES, 16_777_216);
assert_eq!(MAX_PROJECTION_APPLY_SNAPSHOT_BYTES, 16_777_216);
assert_eq!(MAX_PROJECTION_QUERY_ROWS, 500);
assert_eq!(MAX_PROJECTION_QUERY_CONTENT_BYTES, 4_194_304);
assert_eq!(crate::MAX_VECTOR_DIMENSION, 4_096);
assert_eq!(crate::EmbeddingMetadata::MAX_MODEL_STRING_LEN, 256);
}
}