Constant tvix_store::proto::FILE_DESCRIPTOR_SET
source ยท pub const FILE_DESCRIPTOR_SET: &[u8] = b"\n\xad\x1b\n!tvix/castore/protos/castore.proto\x12\x0ftvix.castore.v1\"\xb8\x01\n\tDirectory\x12@\n\x0bdirectories\x18\x01 \x03(\x0b2\x1e.tvix.castore.v1.DirectoryNodeR\x0bdirectories\x12/\n\x05files\x18\x02 \x03(\x0b2\x19.tvix.castore.v1.FileNodeR\x05files\x128\n\x08symlinks\x18\x03 \x03(\x0b2\x1c.tvix.castore.v1.SymlinkNodeR\x08symlinks\"O\n\rDirectoryNode\x12\x12\n\x04name\x18\x01 \x01(\x0cR\x04name\x12\x16\n\x06digest\x18\x02 \x01(\x0cR\x06digest\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\"j\n\x08FileNode\x12\x12\n\x04name\x18\x01 \x01(\x0cR\x04name\x12\x16\n\x06digest\x18\x02 \x01(\x0cR\x06digest\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12\x1e\n\nexecutable\x18\x04 \x01(\x08R\nexecutable\"9\n\x0bSymlinkNode\x12\x12\n\x04name\x18\x01 \x01(\x0cR\x04name\x12\x16\n\x06target\x18\x02 \x01(\x0cR\x06target\"\xb9\x01\n\x04Node\x12>\n\tdirectory\x18\x01 \x01(\x0b2\x1e.tvix.castore.v1.DirectoryNodeH\x00R\tdirectory\x12/\n\x04file\x18\x02 \x01(\x0b2\x19.tvix.castore.v1.FileNodeH\x00R\x04file\x128\n\x07symlink\x18\x03 \x01(\x0b2\x1c.tvix.castore.v1.SymlinkNodeH\x00R\x07symlinkB\x06\n\x04nodeB(Z&code.tvl.fyi/tvix/castore-go;castorev1J\xd5\x15\n\x06\x12\x04\x03\x00F\x01\nx\n\x01\x0c\x12\x03\x03\x00\x122n SPDX-FileCopyrightText: edef <edef@unfathomable.blue>\n SPDX-License-Identifier: OSL-3.0 OR MIT OR Apache-2.0\n\n\x08\n\x01\x02\x12\x03\x05\x00\x18\n\x08\n\x01\x08\x12\x03\x07\x00=\n\t\n\x02\x08\x0b\x12\x03\x07\x00=\n\x9a\x03\n\x02\x04\x00\x12\x04\x12\x00\x16\x01\x1a\x8d\x03 A Directory can contain Directory, File or Symlink nodes.\n Each of these nodes have a name attribute, which is the basename in that\n directory and node type specific attributes.\n The name attribute:\n - MUST not contain slashes or null bytes\n - MUST not be \'.\' or \'..\'\n - MUST be unique across all three lists\n Elements in each list need to be lexicographically ordered by the name\n attribute.\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08\x11\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x13\x02)\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x13\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x13\x0b\x18\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x13\x19$\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x13\'(\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x14\x02\x1e\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x14\x0b\x13\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x14\x14\x19\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x14\x1c\x1d\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x15\x02$\n\x0c\n\x05\x04\x00\x02\x02\x04\x12\x03\x15\x02\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x15\x0b\x16\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x15\x17\x1f\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x15\"#\nD\n\x02\x04\x01\x12\x04\x19\x00)\x01\x1a8 A DirectoryNode represents a directory in a Directory.\n\n\n\n\x03\x04\x01\x01\x12\x03\x19\x08\x15\n.\n\x04\x04\x01\x02\x00\x12\x03\x1b\x02\x11\x1a! The (base)name of the directory\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1b\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1b\x08\x0c\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1b\x0f\x10\n]\n\x04\x04\x01\x02\x01\x12\x03\x1d\x02\x13\x1aP The blake3 hash of a Directory message, serialized in protobuf canonical form.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1d\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1d\x08\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1d\x11\x12\n\x85\x05\n\x04\x04\x01\x02\x02\x12\x03(\x02\x12\x1a\xf7\x04 Number of child elements in the Directory referred to by `digest`.\n Calculated by summing up the numbers of `directories`, `files` and\n `symlinks`, and for each directory, its size field. Used for inode number\n calculation.\n This field is precisely as verifiable as any other Merkle tree edge.\n Resolve `digest`, and you can compute it incrementally. Resolve the entire\n tree, and you can fully compute it from scratch.\n A credulous implementation won\'t reject an excessive size, but this is\n harmless: you\'ll have some ordinals without nodes. Undersizing is obvious\n and easy to reject: you won\'t have an ordinal for some nodes.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03(\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03(\t\r\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03(\x10\x11\nP\n\x02\x04\x02\x12\x04,\x005\x01\x1aD A FileNode represents a regular or executable file in a Directory.\n\n\n\n\x03\x04\x02\x01\x12\x03,\x08\x10\n)\n\x04\x04\x02\x02\x00\x12\x03.\x02\x11\x1a\x1c The (base)name of the file\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03.\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03.\x08\x0c\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03.\x0f\x10\n5\n\x04\x04\x02\x02\x01\x12\x030\x02\x13\x1a( The blake3 digest of the file contents\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x030\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x030\x08\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x030\x11\x12\n$\n\x04\x04\x02\x02\x02\x12\x032\x02\x12\x1a\x17 The file content size\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x032\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x032\t\r\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x032\x10\x11\n-\n\x04\x04\x02\x02\x03\x12\x034\x02\x16\x1a Whether the file is executable\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x034\x02\x06\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x034\x07\x11\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x034\x14\x15\nF\n\x02\x04\x03\x12\x048\x00=\x01\x1a: A SymlinkNode represents a symbolic link in a Directory.\n\n\n\n\x03\x04\x03\x01\x12\x038\x08\x13\n,\n\x04\x04\x03\x02\x00\x12\x03:\x02\x11\x1a\x1f The (base)name of the symlink\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03:\x02\x07\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03:\x08\x0c\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03:\x0f\x10\n)\n\x04\x04\x03\x02\x01\x12\x03<\x02\x13\x1a\x1c The target of the symlink.\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03<\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03<\x08\x0e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03<\x11\x12\nH\n\x02\x04\x04\x12\x04@\x00F\x01\x1a< A Node is either a DirectoryNode, FileNode or SymlinkNode.\n\n\n\n\x03\x04\x04\x01\x12\x03@\x08\x0c\n\x0c\n\x04\x04\x04\x08\x00\x12\x04A\x02E\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03A\x08\x0c\n\x0b\n\x04\x04\x04\x02\x00\x12\x03B\x04 \n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03B\x04\x11\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03B\x12\x1b\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03B\x1e\x1f\n\x0b\n\x04\x04\x04\x02\x01\x12\x03C\x04\x16\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03C\x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03C\r\x11\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03C\x14\x15\n\x0b\n\x04\x04\x04\x02\x02\x12\x03D\x04\x1c\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03D\x04\x0f\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03D\x10\x17\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03D\x1a\x1bb\x06proto3\n\xd6,\n tvix/store/protos/pathinfo.proto\x12\rtvix.store.v1\x1a!tvix/castore/protos/castore.proto\"\x87\x01\n\x08PathInfo\x12)\n\x04node\x18\x01 \x01(\x0b2\x15.tvix.castore.v1.NodeR\x04node\x12\x1e\n\nreferences\x18\x02 \x03(\x0cR\nreferences\x120\n\x07narinfo\x18\x03 \x01(\x0b2\x16.tvix.store.v1.NARInfoR\x07narinfo\"7\n\tStorePath\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06digest\x18\x02 \x01(\x0cR\x06digest\"\xa9\x04\n\x07NARInfo\x12\x19\n\x08nar_size\x18\x01 \x01(\x04R\x07narSize\x12\x1d\n\nnar_sha256\x18\x02 \x01(\x0cR\tnarSha256\x12@\n\nsignatures\x18\x03 \x03(\x0b2 .tvix.store.v1.NARInfo.SignatureR\nsignatures\x12\'\n\x0freference_names\x18\x04 \x03(\tR\x0ereferenceNames\x122\n\x07deriver\x18\x05 \x01(\x0b2\x18.tvix.store.v1.StorePathR\x07deriver\x12)\n\x02ca\x18\x06 \x01(\x0b2\x19.tvix.store.v1.NARInfo.CAR\x02ca\x1a3\n\tSignature\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04data\x18\x02 \x01(\x0cR\x04data\x1a\xe4\x01\n\x02CA\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.tvix.store.v1.NARInfo.CA.HashR\x04type\x12\x16\n\x06digest\x18\x02 \x01(\x0cR\x06digest\"\x91\x01\n\x04Hash\x12\x0e\n\nNAR_SHA256\x10\x00\x12\x0c\n\x08NAR_SHA1\x10\x01\x12\x0e\n\nNAR_SHA512\x10\x02\x12\x0b\n\x07NAR_MD5\x10\x03\x12\x0f\n\x0bTEXT_SHA256\x10\x04\x12\r\n\tFLAT_SHA1\x10\x05\x12\x0c\n\x08FLAT_MD5\x10\x06\x12\x0f\n\x0bFLAT_SHA256\x10\x07\x12\x0f\n\x0bFLAT_SHA512\x10\x08B$Z\"code.tvl.fyi/tvix/store-go;storev1J\xe2%\n\x06\x12\x04\x02\x00\x7f\x01\nL\n\x01\x0c\x12\x03\x02\x00\x12\x1aB SPDX-License-Identifier: MIT\n Copyright \xc2\xa9 2022 The Tvix Authors\n\n\x08\n\x01\x02\x12\x03\x04\x00\x16\n\t\n\x02\x03\x00\x12\x03\x06\x00+\n\x08\n\x01\x08\x12\x03\x08\x009\n\t\n\x02\x08\x0b\x12\x03\x08\x009\nl\n\x02\x04\x00\x12\x04\x0c\x00\x17\x01\x1a` PathInfo shows information about a Nix Store Path.\n That\'s a single element inside /nix/store.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x10\n<\n\x04\x04\x00\x02\x00\x12\x03\x0e\x02 \x1a/ The path can be a directory, file or symlink.\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x02\x16\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x17\x1b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x1e\x1f\n\x94\x01\n\x04\x04\x00\x02\x01\x12\x03\x13\x02 \x1a\x86\x01 List of references (output path hashes)\n This really is the raw *bytes*, after decoding nixbase32, and not a\n base32-encoded string.\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x13\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x13\x0b\x10\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x13\x11\x1b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x13\x1e\x1f\n\x19\n\x04\x04\x00\x02\x02\x12\x03\x16\x02\x16\x1a\x0c see below.\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x16\x02\t\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x16\n\x11\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x16\x14\x15\n\xbf\x01\n\x02\x04\x01\x12\x04\x1c\x00\"\x01\x1a\xb2\x01 Represents a path in the Nix store (a direct child of STORE_DIR).\n It is commonly formatted by a nixbase32-encoding the digest, and\n concatenating the name, separated by a `-`.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1c\x08\x11\n/\n\x04\x04\x01\x02\x00\x12\x03\x1e\x02\x12\x1a\" The string after digest and `-`.\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1e\t\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1e\x10\x11\n%\n\x04\x04\x01\x02\x01\x12\x03!\x02\x13\x1a\x18 The digest (20 bytes).\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03!\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03!\x08\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03!\x11\x12\n\xdf\x03\n\x02\x04\x02\x12\x04-\x00\x7f\x01\x1a\xd2\x03 Nix C++ uses NAR (Nix Archive) as a format to transfer store paths,\n and stores metadata and signatures in NARInfo files.\n Store all these attributes in a separate message.\n\n This is useful to render .narinfo files to clients, or to preserve/validate\n these signatures.\n As verifying these signatures requires the whole NAR file to be synthesized,\n moving to another signature scheme is desired.\n Even then, it still makes sense to hold this data, for old clients.\n\n\n\n\x03\x04\x02\x01\x12\x03-\x08\x0f\nM\n\x04\x04\x02\x03\x00\x12\x04/\x022\x03\x1a? This represents a (parsed) signature line in a .narinfo file.\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03/\n\x13\n\r\n\x06\x04\x02\x03\x00\x02\x00\x12\x030\x04\x14\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x030\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x030\x0b\x0f\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x030\x12\x13\n\r\n\x06\x04\x02\x03\x00\x02\x01\x12\x031\x04\x13\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x031\x04\t\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x031\n\x0e\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x031\x11\x12\n3\n\x04\x04\x02\x02\x00\x12\x035\x02\x16\x1a& This size of the NAR file, in bytes.\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x035\t\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x035\x14\x15\n9\n\x04\x04\x02\x02\x01\x12\x038\x02\x17\x1a, The sha256 of the NAR file representation.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x038\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x038\x08\x12\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x038\x15\x16\n1\n\x04\x04\x02\x02\x02\x12\x03;\x02$\x1a$ The signatures in a .narinfo file.\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03;\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03;\x0b\x14\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03;\x15\x1f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03;\"#\n\xa4\x02\n\x04\x04\x02\x02\x03\x12\x03B\x02&\x1a\x96\x02 A list of references. To validate .narinfo signatures, a fingerprint needs\n to be constructed.\n This fingerprint doesn\'t just contain the hashes of the output paths of all\n references (like PathInfo.references), but their whole (base)names, so we\n need to keep them somewhere.\n\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x03B\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03B\x0b\x11\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03B\x12!\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03B$%\nu\n\x04\x04\x02\x02\x04\x12\x03F\x02\x18\x1ah The StorePath of the .drv file producing this output.\n The .drv suffix is omitted in its `name` field.\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03F\x02\x0b\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03F\x0c\x13\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03F\x16\x17\n\xf6\x08\n\x04\x04\x02\x02\x05\x12\x03^\x02\x0c\x1a\xe8\x08 The CA field in the .narinfo.\n Its textual representations seen in the wild are one of the following:\n - `fixed:r:sha256:1gcky5hlf5vqfzpyhihydmm54grhc94mcs8w7xr8613qsqb1v2j6`\n fixed-output derivations using \"recursive\" `outputHashMode`.\n - `fixed:sha256:19xqkh72crbcba7flwxyi3n293vav6d7qkzkh2v4zfyi4iia8vj8\n fixed-output derivations using \"flat\" `outputHashMode`\n - `text:sha256:19xqkh72crbcba7flwxyi3n293vav6d7qkzkh2v4zfyi4iia8vj8`\n Text hashing, used for uploaded .drv files and outputs produced by\n builtins.toFile.\n\n Semantically, they can be split into the following components:\n - \"content address prefix\". Currently, \"fixed\" and \"text\" are supported.\n - \"hash mode\". Currently, \"flat\" and \"recursive\" are supported.\n - \"hash type\". The underlying hash function used.\n Currently, sha1, md5, sha256, sha512.\n - \"digest\". The digest itself.\n\n There are some restrictions on the possible combinations.\n For example, `text` and `fixed:recursive` always imply sha256.\n\n We use an enum to encode the possible combinations, and optimize for the\n common case, `fixed:recursive`, identified as `NAR_SHA256`.\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03^\x02\x04\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03^\x05\x07\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03^\n\x0b\n\x0c\n\x04\x04\x02\x03\x01\x12\x04`\x02~\x03\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03`\n\x0c\n\x0e\n\x06\x04\x02\x03\x01\x04\x00\x12\x04a\x04w\x05\n\x0e\n\x07\x04\x02\x03\x01\x04\x00\x01\x12\x03a\t\r\n~\n\x08\x04\x02\x03\x01\x04\x00\x02\x00\x12\x03d\x06\x15\x1am produced when uploading fixed-output store paths using NAR-based\n hashing (`outputHashMode = \"recursive\"`).\n\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x00\x01\x12\x03d\x06\x10\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x00\x02\x12\x03d\x13\x14\n\x0f\n\x08\x04\x02\x03\x01\x04\x00\x02\x01\x12\x03e\x06\x13\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x01\x01\x12\x03e\x06\x0e\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x01\x02\x12\x03e\x11\x12\n\x0f\n\x08\x04\x02\x03\x01\x04\x00\x02\x02\x12\x03f\x06\x15\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x02\x01\x12\x03f\x06\x10\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x02\x02\x12\x03f\x13\x14\n\x0f\n\x08\x04\x02\x03\x01\x04\x00\x02\x03\x12\x03g\x06\x12\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x03\x01\x12\x03g\x06\r\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x03\x02\x12\x03g\x10\x11\n\xd7\x01\n\x08\x04\x02\x03\x01\x04\x00\x02\x04\x12\x03m\x06\x16\x1a\xc5\x01 Produced when uploading .drv files or outputs produced by\n builtins.toFile.\n Produces equivalent digests as FLAT_SHA256, but is a separate\n hashing type in Nix, affecting output path calculation.\n\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x04\x01\x12\x03m\x06\x11\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x04\x02\x12\x03m\x14\x15\n`\n\x08\x04\x02\x03\x01\x04\x00\x02\x05\x12\x03q\x06\x14\x1aO Produced when using fixed-output derivations with\n `outputHashMode = \"flat\"`.\n\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x05\x01\x12\x03q\x06\x0f\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x05\x02\x12\x03q\x12\x13\n\x0f\n\x08\x04\x02\x03\x01\x04\x00\x02\x06\x12\x03r\x06\x13\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x06\x01\x12\x03r\x06\x0e\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x06\x02\x12\x03r\x11\x12\n\x0f\n\x08\x04\x02\x03\x01\x04\x00\x02\x07\x12\x03s\x06\x16\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x07\x01\x12\x03s\x06\x11\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x07\x02\x12\x03s\x14\x15\n\x0f\n\x08\x04\x02\x03\x01\x04\x00\x02\x08\x12\x03t\x06\x16\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x08\x01\x12\x03t\x06\x11\n\x10\n\t\x04\x02\x03\x01\x04\x00\x02\x08\x02\x12\x03t\x14\x15\n\'\n\x06\x04\x02\x03\x01\x02\x00\x12\x03z\x04\x12\x1a\x18 The hashing type used.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x06\x12\x03z\x04\x08\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x03z\t\r\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x03z\x10\x11\n*\n\x06\x04\x02\x03\x01\x02\x01\x12\x03}\x04\x15\x1a\x1b The digest, in raw bytes.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x03}\x04\t\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x03}\n\x10\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03}\x13\x14b\x06proto3\n\xff\x19\n$tvix/store/protos/rpc_pathinfo.proto\x12\rtvix.store.v1\x1a!tvix/castore/protos/castore.proto\x1a tvix/store/protos/pathinfo.proto\"G\n\x12GetPathInfoRequest\x12&\n\x0eby_output_hash\x18\x01 \x01(\x0cH\x00R\x0cbyOutputHashB\t\n\x07by_what\"\x15\n\x13ListPathInfoRequest\"P\n\x14CalculateNARResponse\x12\x19\n\x08nar_size\x18\x01 \x01(\x04R\x07narSize\x12\x1d\n\nnar_sha256\x18\x02 \x01(\x0cR\tnarSha2562\xa0\x02\n\x0fPathInfoService\x12A\n\x03Get\x12!.tvix.store.v1.GetPathInfoRequest\x1a\x17.tvix.store.v1.PathInfo\x127\n\x03Put\x12\x17.tvix.store.v1.PathInfo\x1a\x17.tvix.store.v1.PathInfo\x12J\n\x0cCalculateNAR\x12\x15.tvix.castore.v1.Node\x1a#.tvix.store.v1.CalculateNARResponse\x12E\n\x04List\x12\".tvix.store.v1.ListPathInfoRequest\x1a\x17.tvix.store.v1.PathInfo0\x01B$Z\"code.tvl.fyi/tvix/store-go;storev1J\xff\x14\n\x06\x12\x04\x02\x00K\x01\nL\n\x01\x0c\x12\x03\x02\x00\x12\x1aB SPDX-License-Identifier: MIT\n Copyright \xc2\xa9 2022 The Tvix Authors\n\n\x08\n\x01\x02\x12\x03\x04\x00\x16\n\t\n\x02\x03\x00\x12\x03\x06\x00+\n\t\n\x02\x03\x01\x12\x03\x07\x00*\n\x08\n\x01\x08\x12\x03\t\x009\n\t\n\x02\x08\x0b\x12\x03\t\x009\n\n\n\x02\x06\x00\x12\x04\x0b\x00/\x01\n\n\n\x03\x06\x00\x01\x12\x03\x0b\x08\x17\nl\n\x04\x06\x00\x02\x00\x12\x03\x0e\x021\x1a_ Return a PathInfo message matching the criteria specified in the\n GetPathInfoRequest message.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x0e\x06\t\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x0e\n\x1c\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x0e\'/\n\x82\x04\n\x04\x06\x00\x02\x01\x12\x03\x1b\x02\'\x1a\xf4\x03 Upload a PathInfo object to the remote end. It MUST not return until the\n PathInfo object has been written on the the remote end.\n\n The remote end MAY check if a potential DirectoryNode has already been\n uploaded.\n\n Uploading clients SHOULD obviously not steer other machines to try to\n substitute before from the remote end before having finished uploading\n PathInfo, Directories and Blobs.\n The returned PathInfo object MAY contain additional narinfo signatures, but\n is otherwise left untouched.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x1b\x06\t\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x1b\n\x12\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x1b\x1d%\n\xb2\x04\n\x04\x06\x00\x02\x02\x12\x03*\x02H\x1a\xa4\x04 Calculate the NAR representation of the contents specified by the\n root_node. The calculation SHOULD be cached server-side for subsequent\n requests.\n\n All references (to blobs or Directory messages) MUST already exist in the\n store.\n\n The method can be used to produce a Nix fixed-output path, which contains\n the (compressed) sha256 of the NAR content representation in the root_node\n name (suffixed with the name).\n\n It can also be used to calculate arbitrary NAR hashes of output paths, in\n case a legacy Nix Binary Cache frontend is provided.\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03*\x06\x12\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03*\x13\'\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03*2F\nl\n\x04\x06\x00\x02\x03\x12\x03.\x02:\x1a_ Return a stream of PathInfo messages matching the criteria specified in\n ListPathInfoRequest.\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03.\x06\n\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03.\x0b\x1e\n\x0c\n\x05\x06\x00\x02\x03\x06\x12\x03.)/\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03.08\n\x8a\x01\n\x02\x04\x00\x12\x043\x00;\x01\x1a~ The parameters that can be used to lookup a (single) PathInfo object.\n Currently, only a lookup by output hash is supported.\n\n\n\n\x03\x04\x00\x01\x12\x033\x08\x1a\n\x0c\n\x04\x04\x00\x08\x00\x12\x044\x02:\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x034\x08\x0f\n\x8c\x02\n\x04\x04\x00\x02\x00\x12\x039\x04\x1d\x1a\xfe\x01 The output hash of a nix path (20 bytes).\n This is the nixbase32-decoded portion of a Nix output path, so to substitute\n /nix/store/xm35nga2g20mz5sm5l6n8v3bdm86yj83-cowsay-3.04\n this field would contain nixbase32dec(\"xm35nga2g20mz5sm5l6n8v3bdm86yj83\").\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x039\x04\t\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x039\n\x18\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x039\x1b\x1c\n\x93\x01\n\x02\x04\x01\x12\x03?\x00\x1e\x1a\x87\x01 The parameters that can be used to lookup (multiple) PathInfo objects.\n Currently no filtering is possible, all objects are returned.\n\n\n\n\x03\x04\x01\x01\x12\x03?\x08\x1b\n\xad\x01\n\x02\x04\x02\x12\x04E\x00K\x01\x1a\xa0\x01 CalculateNARResponse is the response returned by the CalculateNAR request.\n\n It contains the size of the NAR representation (in bytes), and the sha56\n digest.\n\n\n\n\x03\x04\x02\x01\x12\x03E\x08\x1c\n3\n\x04\x04\x02\x02\x00\x12\x03G\x02\x16\x1a& This size of the NAR file, in bytes.\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03G\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03G\t\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03G\x14\x15\n9\n\x04\x04\x02\x02\x01\x12\x03J\x02\x17\x1a, The sha256 of the NAR file representation.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03J\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03J\x08\x12\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03J\x15\x16b\x06proto3";
Expand description
Compiled file descriptors for implementing gRPC
reflection with e.g.
tonic_reflection
.