* CrashDir: store povs in <crash-token>/<sanitizer>
In Redis we were already differentiating between different sanitizers,
however we were storing all PoVs with the same crash-token in the same
directory, indipendently of the sanitizer that triggered the bug.
However, this information is necessary for the patcher that has to
reproduce the PoVs.
* patcher: builds the patch for multiple sanitizers
* tested
* fix Tuple
* Use original challenge only if same san
* fix lint
* patcher: update langgraph dependencies
* patcher: remove 'messages' from State because not used
* patcher: change CodeSnippetKey to use lines instead of IDs
* patcher: improve ContextRetrieverAgent
- use RunnableConfig and PatcherConfig to pass configuration options
more easily
- make the state serializable, so that we can use CheckPointer to save
and restore an agent state and get code snippets more easily in case
of failures
- add tests
- use prebuilt React agent for simplicity
- allow to track lines from a file
* patcher: move all agents to new CodeSnippetKey
* patcher: group patch attempts in a single class
* patcher: remove diff_analysis from state because unused
* patcher: make more use of PatcherConfig
* patcher: add patch description
* patcher: use renamed patch_attempts
* patcher: go back to identifier (random) for CodeSnippets
* patcher: parse stacktrace for initial context
* common: fix parse_stacktrace return type
* patcher: introduce reflection agenta and remove reviewer
* patcher: use structured rootcause analysis
* patcher: paralellize ctx requests
* patcher: have some best-effort json parser for rootcause
* tmp comit
* fix tests
* a few other fixes
* fix lint
* add libxml2 script
* patcher: remove some dead code
* ctx-retriever: use smaller models
* fix tests
* improve initial context
* add comment
* patcher: remove dead code
* fix none access
* other random fixes
* Make build type an int enum
* Lint
* Fix protobuf
* Fix protobuf for linux
* Remove old enum and use the class from protobuf message
* Lint
* Fix tests
* Print build type name instead of int value in logs
* Try fix enum instanciation in scheduler
* Correctly get protobuf enum name for BuildType values using EnumTypeWrapper methods
* Fix import
---------
Co-authored-by: Boyan MILANOV <boyanmilanov@coder-boyanmilanov-aixcc-boyan.c.production-1-405717.internal>