FILE_DESCRIPTOR_SET

Constant FILE_DESCRIPTOR_SET 

Source
pub const FILE_DESCRIPTOR_SET: &[u8] = b"\n\x8f\x1b\n!snix/castore/protos/castore.proto\x12\x0fsnix.castore.v1\"\xbb\x01\n\tDirectory\x12A\n\x0bdirectories\x18\x01 \x03(\x0b2\x1f.snix.castore.v1.DirectoryEntryR\x0bdirectories\x120\n\x05files\x18\x02 \x03(\x0b2\x1a.snix.castore.v1.FileEntryR\x05files\x129\n\x08symlinks\x18\x03 \x03(\x0b2\x1d.snix.castore.v1.SymlinkEntryR\x08symlinks\"P\n\x0eDirectoryEntry\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\"k\n\tFileEntry\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\":\n\x0cSymlinkEntry\x12\x12\n\x04name\x18\x01 \x01(\x0cR\x04name\x12\x16\n\x06target\x18\x02 \x01(\x0cR\x06target\"\xbe\x01\n\x05Entry\x12?\n\tdirectory\x18\x01 \x01(\x0b2\x1f.snix.castore.v1.DirectoryEntryH\x00R\tdirectory\x120\n\x04file\x18\x02 \x01(\x0b2\x1a.snix.castore.v1.FileEntryH\x00R\x04file\x129\n\x07symlink\x18\x03 \x01(\x0b2\x1d.snix.castore.v1.SymlinkEntryH\x00R\x07symlinkB\x07\n\x05entryB\"Z snix.dev/castore/proto;castorev1J\xb2\x15\n\x06\x12\x04\x04\x00G\x01\n\x9d\x01\n\x01\x0c\x12\x03\x04\x00\x122\x92\x01 SPDX-FileCopyrightText: edef <edef@unfathomable.blue>\n SPDX-License-Identifier: OSL-3.0 OR MIT OR Apache-2.0\n Copyright \xc2\xa9 2025 The Snix Project\n\n\x08\n\x01\x02\x12\x03\x06\x00\x18\n\x08\n\x01\x08\x12\x03\x08\x007\n\t\n\x02\x08\x0b\x12\x03\x08\x007\n\x9c\x03\n\x02\x04\x00\x12\x04\x13\x00\x17\x01\x1a\x8f\x03 A Directory can contain Directory, File or Symlink entries.\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\x13\x08\x11\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x14\x02*\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x14\x0b\x19\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\x1a%\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14()\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x15\x02\x1f\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x15\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x15\x0b\x14\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x15\x15\x1a\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x15\x1d\x1e\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x16\x02%\n\x0c\n\x05\x04\x00\x02\x02\x04\x12\x03\x16\x02\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x16\x0b\x17\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x16\x18 \n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x16#$\n6\n\x02\x04\x01\x12\x04\x1a\x00*\x01\x1a* A DirectoryEntry represents a directory.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1a\x08\x16\n.\n\x04\x04\x01\x02\x00\x12\x03\x1c\x02\x11\x1a! The (base)name of the directory\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1c\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1c\x08\x0c\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1c\x0f\x10\n8\n\x04\x04\x01\x02\x01\x12\x03\x1e\x02\x13\x1a+ The blake3 digest of a Directory message.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1e\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1e\x08\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1e\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\nB\n\x02\x04\x02\x12\x04-\x006\x01\x1a6 A FileEntry represents a regular or executable file.\n\n\n\n\x03\x04\x02\x01\x12\x03-\x08\x11\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\x031\x02\x13\x1a( The blake3 digest of the file contents\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x031\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x031\x08\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x031\x11\x12\n$\n\x04\x04\x02\x02\x02\x12\x033\x02\x12\x1a\x17 The file content size\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x033\t\r\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x033\x10\x11\n-\n\x04\x04\x02\x02\x03\x12\x035\x02\x16\x1a  Whether the file is executable\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x035\x02\x06\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x035\x07\x11\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x035\x14\x15\n8\n\x02\x04\x03\x12\x049\x00>\x01\x1a, A SymlinkEntry represents a symbolic link.\n\n\n\n\x03\x04\x03\x01\x12\x039\x08\x14\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\nL\n\x02\x04\x04\x12\x04A\x00G\x01\x1a@ A Entry is either a DirectoryEntry, FileEntry or SymlinkEntry.\n\n\n\n\x03\x04\x04\x01\x12\x03A\x08\r\n\x0c\n\x04\x04\x04\x08\x00\x12\x04B\x02F\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03B\x08\r\n\x0b\n\x04\x04\x04\x02\x00\x12\x03C\x04!\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03C\x04\x12\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03C\x13\x1c\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03C\x1f \n\x0b\n\x04\x04\x04\x02\x01\x12\x03D\x04\x17\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03D\x04\r\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03D\x0e\x12\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03D\x15\x16\n\x0b\n\x04\x04\x04\x02\x02\x12\x03E\x04\x1d\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03E\x04\x10\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03E\x11\x18\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03E\x1b\x1cb\x06proto3\n\xcdE\n\x1dsnix/build/protos/build.proto\x12\rsnix.build.v1\x1a!snix/castore/protos/castore.proto\"\xba\x06\n\x0cBuildRequest\x12.\n\x06inputs\x18\x01 \x03(\x0b2\x16.snix.castore.v1.EntryR\x06inputs\x12!\n\x0ccommand_args\x18\x02 \x03(\tR\x0bcommandArgs\x12\x1f\n\x0bworking_dir\x18\x03 \x01(\tR\nworkingDir\x12#\n\rscratch_paths\x18\x04 \x03(\tR\x0cscratchPaths\x12\x1d\n\ninputs_dir\x18\x05 \x01(\tR\tinputsDir\x12\x18\n\x07outputs\x18\x06 \x03(\tR\x07outputs\x12M\n\x10environment_vars\x18\x07 \x03(\x0b2\".snix.build.v1.BuildRequest.EnvVarR\x0fenvironmentVars\x12N\n\x0bconstraints\x18\x08 \x01(\x0b2,.snix.build.v1.BuildRequest.BuildConstraintsR\x0bconstraints\x12U\n\x10additional_files\x18\t \x03(\x0b2*.snix.build.v1.BuildRequest.AdditionalFileR\x0fadditionalFiles\x12\'\n\x0frefscan_needles\x18\n \x03(\tR\x0erefscanNeedles\x1a0\n\x06EnvVar\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x1a\xc4\x01\n\x10BuildConstraints\x12\x16\n\x06system\x18\x01 \x01(\tR\x06system\x12\x1d\n\nmin_memory\x18\x02 \x01(\x04R\tminMemory\x12,\n\x12available_ro_paths\x18\x03 \x03(\tR\x10availableRoPaths\x12%\n\x0enetwork_access\x18\x04 \x01(\x08R\rnetworkAccess\x12$\n\x0eprovide_bin_sh\x18\x05 \x01(\x08R\x0cprovideBinSh\x1a@\n\x0eAdditionalFile\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x1a\n\x08contents\x18\x02 \x01(\x0cR\x08contents\"\xa2\x01\n\rBuildResponse\x12=\n\x07outputs\x18\x01 \x03(\x0b2#.snix.build.v1.BuildResponse.OutputR\x07outputs\x1aR\n\x06Output\x12.\n\x06output\x18\x01 \x01(\x0b2\x16.snix.castore.v1.EntryR\x06output\x12\x18\n\x07needles\x18\x02 \x03(\x04R\x07needlesB\x1eZ\x1csnix.dev/build/proto;buildv1J\xef<\n\x07\x12\x05\x04\x00\xae\x01\x01\np\n\x01\x0c\x12\x03\x04\x00\x122f SPDX-License-Identifier: MIT\n Copyright \xc2\xa9 2022 The Tvix Authors\n Copyright \xc2\xa9 2025 The Snix Project\n\n\x08\n\x01\x02\x12\x03\x06\x00\x16\n\t\n\x02\x03\x00\x12\x03\x08\x00+\n\x08\n\x01\x08\x12\x03\n\x003\n\t\n\x02\x08\x0b\x12\x03\n\x003\n\xf0\x0e\n\x02\x04\x00\x12\x05/\x00\x9b\x01\x01\x1a\xe2\x0e A BuildRequest describes the request of something to be run on the builder.\n It is distinct from an actual [Build] that has already happened, or might be\n currently ongoing.\n\n A BuildRequest can be seen as a more normalized version of a Derivation\n (parsed from A-Term), \"writing out\" some of the Nix-internal details about\n how e.g. environment variables in the build are set.\n\n Nix has some impurities when building a Derivation, for example the --cores option\n ends up as an environment variable in the build, that\'s not part of the ATerm.\n\n As of now, we serialize this into the BuildRequest, so builders can stay dumb.\n This might change in the future.\n\n There\'s also a big difference when it comes to how inputs are modelled:\n  - Nix only uses store path (strings) to describe the inputs.\n    As store paths can be input-addressed, a certain store path can contain\n    different contents (as not all store paths are binary reproducible).\n    This requires that for every input-addressed input, the builder has access\n    to either the input\'s deriver (and needs to build it) or else a trusted\n    source for the built input.\n    to upload input-addressed paths, requiring the trusted users concept.\n  - snix-build records a list of snix.castore.v1.Node as inputs.\n    These map from the store path base name to their contents, relieving the\n    builder from having to \"trust\" any input-addressed paths, contrary to Nix.\n\n While this approach gives a better hermeticity, it has one downside:\n A BuildRequest can only be sent once the contents of all its inputs are known.\n\n As of now, we\'re okay to accept this, but it prevents uploading an\n entirely-non-IFD subgraph of BuildRequests eagerly.\n\n FUTUREWORK: We might be introducing another way to refer to inputs, to\n support \"send all BuildRequest for a nixpkgs eval to a remote builder and put\n the laptop to sleep\" usecases later.\n\n\n\n\x03\x04\x00\x01\x12\x03/\x08\x14\n\xa1\x02\n\x04\x04\x00\x02\x00\x12\x035\x02,\x1a\x93\x02 The list of all root nodes that should be visible in `inputs_dir` at the\n time of the build.\n As all references are content-addressed, no additional signatures are\n needed to substitute / make these available in the build environment.\n Inputs MUST be sorted by their names.\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x035\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x035\x0b \n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x035!\'\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x035*+\n\xbe\x01\n\x04\x04\x00\x02\x01\x12\x03:\x02#\x1a\xb0\x01 The command (and its args) executed as the build script.\n In the case of a Nix derivation, this is usually\n [\"/path/to/some-bash/bin/bash\", \"-e\", \"/path/to/some/builder.sh\"].\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03:\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03:\x0b\x11\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03:\x12\x1e\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03:!\"\n\xbe\x01\n\x04\x04\x00\x02\x02\x12\x03@\x02\x19\x1a\xb0\x01 The working dir of the command, relative to the build root.\n \"build\", in the case of Nix.\n This MUST be a clean relative path, without any \".\", \"..\", or superfluous\n slashes.\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03@\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03@\t\x14\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03@\x17\x18\n\xfb\x01\n\x04\x04\x00\x02\x03\x12\x03G\x02$\x1a\xed\x01 A list of \"scratch\" paths, relative to the build root.\n These will be write-able during the build.\n [build, nix/store] in the case of Nix.\n These MUST be clean relative paths, without any \".\", \"..\", or superfluous\n slashes, and sorted.\n\n\x0c\n\x05\x04\x00\x02\x03\x04\x12\x03G\x02\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03G\x0b\x11\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03G\x12\x1f\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03G\"#\n\xf5\x01\n\x04\x04\x00\x02\x04\x12\x03N\x02\x18\x1a\xe7\x01 The path where the castore input nodes will be located at,\n \"nix/store\" in case of Nix.\n Builds might also write into here (Nix builds do that).\n This MUST be a clean relative path, without any \".\", \"..\", or superfluous\n slashes.\n\n\x0c\n\x05\x04\x00\x02\x04\x05\x12\x03N\x02\x08\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03N\t\x13\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03N\x16\x17\n\x88\x02\n\x04\x04\x00\x02\x05\x12\x03U\x02\x1e\x1a\xfa\x01 The list of output paths the build is expected to produce,\n relative to the root.\n If the path is not produced, the build is considered to have failed.\n These MUST be clean relative paths, without any \".\", \"..\", or superfluous\n slashes, and sorted.\n\n\x0c\n\x05\x04\x00\x02\x05\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03U\x0b\x11\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03U\x12\x19\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03U\x1c\x1d\n\xc9\x04\n\x04\x04\x00\x02\x06\x12\x03a\x02\'\x1a\xbb\x04 The list of environment variables and their values that should be set\n inside the build environment.\n This includes both environment vars set inside the derivation, as well as\n more \"ephemeral\" ones like NIX_BUILD_CORES, controlled by the `--cores`\n CLI option of `nix-build`.\n For now, we consume this as an option when turning a Derivation into a BuildRequest,\n similar to how Nix has a `--cores` option.\n We don\'t want to bleed these very nix-specific sandbox impl details into\n (dumber) builders if we don\'t have to.\n Environment variables are sorted by their keys.\n\n\x0c\n\x05\x04\x00\x02\x06\x04\x12\x03a\x02\n\n\x0c\n\x05\x04\x00\x02\x06\x06\x12\x03a\x0b\x11\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03a\x12\"\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03a%&\n\x0c\n\x04\x04\x00\x03\x00\x12\x04c\x02h\x03\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03c\n\x10\nL\n\x06\x04\x00\x03\x00\x02\x00\x12\x03e\x04\x13\x1a= name of the environment variable. Must not contain = or \\0.\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03e\x04\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03e\x0b\x0e\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03e\x11\x12\nH\n\x06\x04\x00\x03\x00\x02\x01\x12\x03g\x04\x14\x1a9 value of the environment variable. Must not contain \\0.\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03g\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03g\n\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03g\x12\x13\nm\n\x04\x04\x00\x02\x07\x12\x03l\x02#\x1a` A set of constraints that need to be satisfied on a build host before a\n Build can be started.\n\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03l\x02\x12\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03l\x13\x1e\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03l!\"\n\xe9\x02\n\x04\x04\x00\x03\x01\x12\x05s\x02\x88\x01\x03\x1a\xd9\x02 BuildConstraints represents certain conditions that must be fulfilled\n inside the build environment to be able to build this.\n Constraints can be things like required architecture and minimum amount of memory.\n The required input paths are *not* represented in here, because it\n wouldn\'t be hermetic enough - see the comment around inputs too.\n\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03s\n\x1a\nS\n\x06\x04\x00\x03\x01\x02\x00\x12\x03v\x04\x16\x1aD The system that\'s needed to execute the build.\n Must not be empty.\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03v\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03v\x0b\x11\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03v\x14\x15\nW\n\x06\x04\x00\x03\x01\x02\x01\x12\x03y\x04\x1a\x1aH The amount of memory required to be available for the build, in bytes.\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x05\x12\x03y\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03y\x0b\x15\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03y\x18\x19\n\xc8\x02\n\x06\x04\x00\x03\x01\x02\x02\x12\x04\x81\x01\x04+\x1a\xb7\x02 A list of (absolute) paths that need to be available in the build\n environment, like `/dev/kvm`.\n This is distinct from the castore nodes in inputs.\n TODO: check if these should be individual constraints instead.\n These MUST be clean absolute paths, without any \".\", \"..\", or superfluous\n slashes, and sorted.\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x04\x12\x04\x81\x01\x04\x0c\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x05\x12\x04\x81\x01\r\x13\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x01\x12\x04\x81\x01\x14&\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x03\x12\x04\x81\x01)*\nI\n\x06\x04\x00\x03\x01\x02\x03\x12\x04\x84\x01\x04\x1c\x1a9 Whether the build should be able to access the network,\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x03\x05\x12\x04\x84\x01\x04\x08\n\x0f\n\x07\x04\x00\x03\x01\x02\x03\x01\x12\x04\x84\x01\t\x17\n\x0f\n\x07\x04\x00\x03\x01\x02\x03\x03\x12\x04\x84\x01\x1a\x1b\nc\n\x06\x04\x00\x03\x01\x02\x04\x12\x04\x87\x01\x04\x1c\x1aS Whether to provide a /bin/sh inside the build environment, usually a static bash.\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x04\x05\x12\x04\x87\x01\x04\x08\n\x0f\n\x07\x04\x00\x03\x01\x02\x04\x01\x12\x04\x87\x01\t\x17\n\x0f\n\x07\x04\x00\x03\x01\x02\x04\x03\x12\x04\x87\x01\x1a\x1b\n\xb8\x01\n\x04\x04\x00\x02\x08\x12\x04\x8d\x01\x02/\x1a\xa9\x01 Additional (small) files and their contents that should be placed into the\n build environment, but outside inputs_dir.\n Used for passAsFile and structuredAttrs in Nix.\n\n\r\n\x05\x04\x00\x02\x08\x04\x12\x04\x8d\x01\x02\n\n\r\n\x05\x04\x00\x02\x08\x06\x12\x04\x8d\x01\x0b\x19\n\r\n\x05\x04\x00\x02\x08\x01\x12\x04\x8d\x01\x1a*\n\r\n\x05\x04\x00\x02\x08\x03\x12\x04\x8d\x01-.\n\x0e\n\x04\x04\x00\x03\x02\x12\x06\x8f\x01\x02\x92\x01\x03\n\r\n\x05\x04\x00\x03\x02\x01\x12\x04\x8f\x01\n\x18\n\x0e\n\x06\x04\x00\x03\x02\x02\x00\x12\x04\x90\x01\x04\x14\n\x0f\n\x07\x04\x00\x03\x02\x02\x00\x05\x12\x04\x90\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x04\x90\x01\x0b\x0f\n\x0f\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x04\x90\x01\x12\x13\n\x0e\n\x06\x04\x00\x03\x02\x02\x01\x12\x04\x91\x01\x04\x17\n\x0f\n\x07\x04\x00\x03\x02\x02\x01\x05\x12\x04\x91\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x02\x02\x01\x01\x12\x04\x91\x01\n\x12\n\x0f\n\x07\x04\x00\x03\x02\x02\x01\x03\x12\x04\x91\x01\x15\x16\n\xad\x02\n\x04\x04\x00\x02\t\x12\x04\x98\x01\x02\'\x1a\x9e\x02 If this is an non-empty list, all paths in `outputs` are scanned for these.\n For Nix, `refscan_needles` would be populated with the nixbase32 hash parts of\n every input store path and output store path. The latter is necessary to scan\n for references between multi-output derivations.\n\n\r\n\x05\x04\x00\x02\t\x04\x12\x04\x98\x01\x02\n\n\r\n\x05\x04\x00\x02\t\x05\x12\x04\x98\x01\x0b\x11\n\r\n\x05\x04\x00\x02\t\x01\x12\x04\x98\x01\x12!\n\r\n\x05\x04\x00\x02\t\x03\x12\x04\x98\x01$&\nX\n\x02\x04\x01\x12\x06\x9e\x01\x00\xae\x01\x01\x1aJ A BuildResponse is (one possible) outcome of executing a [BuildRequest].\n\n\x0b\n\x03\x04\x01\x01\x12\x04\x9e\x01\x08\x15\n\x95\x01\n\x04\x04\x01\x02\x00\x12\x04\xa1\x01\x02\x1e\x1a\x86\x01 The outputs that were produced after successfully building.\n They are provided in the same order as specified in the [BuildRequest].\n\n\r\n\x05\x04\x01\x02\x00\x04\x12\x04\xa1\x01\x02\n\n\r\n\x05\x04\x01\x02\x00\x06\x12\x04\xa1\x01\x0b\x11\n\r\n\x05\x04\x01\x02\x00\x01\x12\x04\xa1\x01\x12\x19\n\r\n\x05\x04\x01\x02\x00\x03\x12\x04\xa1\x01\x1c\x1d\n\x0e\n\x04\x04\x01\x03\x00\x12\x06\xa3\x01\x02\xab\x01\x03\n\r\n\x05\x04\x01\x03\x00\x01\x12\x04\xa3\x01\n\x10\n\xdc\x01\n\x06\x04\x01\x03\x00\x02\x00\x12\x04\xa7\x01\x04%\x1a\xcb\x01 Output entry produced by the build. It may not contain a name,\n as not all OS paths can be represented as castore paths.\n The path this was ingested from can be looked up in the original build request.\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x00\x06\x12\x04\xa7\x01\x04\x19\n\x0f\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x04\xa7\x01\x1a \n\x0f\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x04\xa7\x01#$\nX\n\x06\x04\x01\x03\x00\x02\x01\x12\x04\xaa\x01\x04 \x1aH Indexes into the found [BuildRequest::refscan_needles] in this output.\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x04\x12\x04\xaa\x01\x04\x0c\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x05\x12\x04\xaa\x01\r\x13\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x04\xaa\x01\x14\x1b\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x04\xaa\x01\x1e\x1fb\x06proto3\n\xc5\x03\n!snix/build/protos/rpc_build.proto\x12\rsnix.build.v1\x1a\x1dsnix/build/protos/build.proto2T\n\x0cBuildService\x12D\n\x07DoBuild\x12\x1b.snix.build.v1.BuildRequest\x1a\x1c.snix.build.v1.BuildResponseB\x1eZ\x1csnix.dev/build/proto;buildv1J\xf3\x01\n\x06\x12\x04\x03\x00\r\x01\np\n\x01\x0c\x12\x03\x03\x00\x12\x1af SPDX-License-Identifier: MIT\n Copyright \xc2\xa9 2022 The Tvix Authors\n Copyright \xc2\xa9 2025 The Snix Project\n\n\x08\n\x01\x02\x12\x03\x05\x00\x16\n\t\n\x02\x03\x00\x12\x03\x07\x00\'\n\x08\n\x01\x08\x12\x03\t\x003\n\t\n\x02\x08\x0b\x12\x03\t\x003\n\n\n\x02\x06\x00\x12\x04\x0b\x00\r\x01\n\n\n\x03\x06\x00\x01\x12\x03\x0b\x08\x14\n\x0b\n\x04\x06\x00\x02\x00\x12\x03\x0c\x024\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x0c\x06\r\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x0c\x0e\x1a\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x0c%2b\x06proto3";
Available on crate feature tonic-reflection only.
Expand description

Compiled file descriptors for implementing gRPC reflection with e.g. tonic_reflection.