`type request = {`

1. `install : Dose_pef.Packages_types.vpkg list;`
2. `remove : Dose_pef.Packages_types.vpkg list;`
3. `upgrade : Dose_pef.Packages_types.vpkg list;`
4. `preferences : string;`

`}`
`val default_request : request`
`val parse_request_stanza : Dose_extra.Format822.stanza -> request`
`val parse_dependlist : Dose_extra.Format822.field -> Dose_pef.Packages_types.vpkgformula`
`val parse_depends : Dose_extra.Format822.field -> Dose_pef.Packages_types.vpkgformula`
`val parse_depend : Dose_extra.Format822.field -> Dose_pef.Packages_types.vpkg list list`
`class package : ?name:(string * Dose_pef.Packages_types.name option) -> ?version:( string * Dose_pef.Packages_types.version option) -> ?depends:(string * Dose_pef.Packages_types.vpkgformula option) -> ?conflicts:( string * Dose_pef.Packages_types.vpkglist option) -> ?provides:(string * Dose_pef.Packages_types.vpkglist option) -> ?extras:( (string * Dose_pef.Packages.parse_extras_f option) list * (string * string) list option) -> Dose_extra.Format822.stanza -> object ... end`
`val parse_package_stanza : ?extras:(string * Dose_pef.Packages.parse_extras_f option) list -> Dose_extra.Format822.stanza -> package option`
`val packages_parser : ?request:bool -> (request * package list) -> Dose_extra.Format822.f822_parser -> request * package list`
`val input_raw_in : IO.input -> request * package list`
`val input_raw : string -> request * package list`