UNPKG

@maverick0351/odin-protocol-js

Version:

JavaScript/TypeScript SDK for ODIN v1.0 state capsule protocol

91 lines 4.65 kB
"use strict"; /** * ODIN v1.0 state capsule protocol constants * Standardization of AI consciousness and neural state representation */ Object.defineProperty(exports, "__esModule", { value: true }); exports.BLOCK_TIME_TARGET = exports.MAX_CHAIN_LENGTH = exports.GENESIS_HASH = exports.PROTOCOL_ID = exports.DISCOVERY_PORT = exports.DEFAULT_PORT = exports.ERROR_MESSAGES = exports.MAX_FUTURE_DRIFT = exports.TIMESTAMP_EPOCH = exports.CHECKSUM_SIZE = exports.SIGNATURE_SIZE = exports.CREATOR_ID_SIZE = exports.TIMESTAMP_SIZE = exports.COMPRESSION_SIZE = exports.ENCODING_SIZE = exports.TYPE_SIZE = exports.VERSION_SIZE = exports.MAGIC_SIZE = exports.MIN_CAPSULE_SIZE = exports.MAX_PAYLOAD_SIZE = exports.HEADER_SIZE = exports.SignatureAlgorithm = exports.CompressionType = exports.EncodingType = exports.CapsuleType = exports.MAGIC_BYTES = exports.ODIN_VERSION = void 0; // Protocol version exports.ODIN_VERSION = "1.0"; // Magic bytes for ODIN capsules (ODIN in hex) exports.MAGIC_BYTES = new Uint8Array([0x4F, 0x44, 0x49, 0x4E]); // Capsule types var CapsuleType; (function (CapsuleType) { CapsuleType[CapsuleType["CONSCIOUSNESS"] = 1] = "CONSCIOUSNESS"; CapsuleType[CapsuleType["MEMORY"] = 2] = "MEMORY"; CapsuleType[CapsuleType["EXPERIENCE"] = 3] = "EXPERIENCE"; CapsuleType[CapsuleType["KNOWLEDGE"] = 4] = "KNOWLEDGE"; CapsuleType[CapsuleType["SKILL"] = 5] = "SKILL"; CapsuleType[CapsuleType["EMOTION"] = 6] = "EMOTION"; CapsuleType[CapsuleType["DECISION"] = 7] = "DECISION"; CapsuleType[CapsuleType["COMMUNICATION"] = 8] = "COMMUNICATION"; CapsuleType[CapsuleType["LEARNING"] = 9] = "LEARNING"; CapsuleType[CapsuleType["CREATIVE"] = 10] = "CREATIVE"; CapsuleType[CapsuleType["ANALYTICAL"] = 11] = "ANALYTICAL"; CapsuleType[CapsuleType["SOCIAL"] = 12] = "SOCIAL"; })(CapsuleType || (exports.CapsuleType = CapsuleType = {})); // Encoding types var EncodingType; (function (EncodingType) { EncodingType[EncodingType["MSGPACK"] = 1] = "MSGPACK"; EncodingType[EncodingType["JSON"] = 2] = "JSON"; EncodingType[EncodingType["PROTOBUF"] = 3] = "PROTOBUF"; EncodingType[EncodingType["CUSTOM"] = 255] = "CUSTOM"; })(EncodingType || (exports.EncodingType = EncodingType = {})); // Compression types var CompressionType; (function (CompressionType) { CompressionType[CompressionType["NONE"] = 0] = "NONE"; CompressionType[CompressionType["GZIP"] = 1] = "GZIP"; CompressionType[CompressionType["LZ4"] = 2] = "LZ4"; CompressionType[CompressionType["ZSTD"] = 3] = "ZSTD"; })(CompressionType || (exports.CompressionType = CompressionType = {})); // Signature algorithms var SignatureAlgorithm; (function (SignatureAlgorithm) { SignatureAlgorithm[SignatureAlgorithm["ED25519"] = 1] = "ED25519"; SignatureAlgorithm[SignatureAlgorithm["SECP256K1"] = 2] = "SECP256K1"; SignatureAlgorithm[SignatureAlgorithm["RSA2048"] = 3] = "RSA2048"; SignatureAlgorithm[SignatureAlgorithm["RSA4096"] = 4] = "RSA4096"; })(SignatureAlgorithm || (exports.SignatureAlgorithm = SignatureAlgorithm = {})); // Structure constants exports.HEADER_SIZE = 64; // Fixed header size in bytes exports.MAX_PAYLOAD_SIZE = 16 * 1024 * 1024; // 16MB max payload exports.MIN_CAPSULE_SIZE = exports.HEADER_SIZE + 4; // Header + minimal payload // Field sizes exports.MAGIC_SIZE = 4; exports.VERSION_SIZE = 4; exports.TYPE_SIZE = 1; exports.ENCODING_SIZE = 1; exports.COMPRESSION_SIZE = 1; exports.TIMESTAMP_SIZE = 8; exports.CREATOR_ID_SIZE = 32; exports.SIGNATURE_SIZE = 64; exports.CHECKSUM_SIZE = 32; // Time constants exports.TIMESTAMP_EPOCH = 1609459200; // 2021-01-01 00:00:00 UTC exports.MAX_FUTURE_DRIFT = 300; // 5 minutes in seconds // Error messages exports.ERROR_MESSAGES = { INVALID_MAGIC: "Invalid magic bytes - not an ODIN capsule", INVALID_VERSION: "Unsupported ODIN version", INVALID_TYPE: "Invalid capsule type", INVALID_ENCODING: "Unsupported encoding type", INVALID_COMPRESSION: "Unsupported compression type", INVALID_SIZE: "Invalid capsule size", INVALID_CHECKSUM: "Checksum verification failed", INVALID_SIGNATURE: "Signature verification failed", INVALID_TIMESTAMP: "Invalid timestamp", PAYLOAD_TOO_LARGE: "Payload exceeds maximum size", INSUFFICIENT_DATA: "Insufficient data for parsing" }; // Network constants exports.DEFAULT_PORT = 8090; exports.DISCOVERY_PORT = 8091; exports.PROTOCOL_ID = "odin/1.0"; // Chain constants exports.GENESIS_HASH = "0000000000000000000000000000000000000000000000000000000000000000"; exports.MAX_CHAIN_LENGTH = 1000000; exports.BLOCK_TIME_TARGET = 10; // seconds //# sourceMappingURL=constants.js.map