Repository navigation
Windows x64 self-contained ZIP: extract all files, copy games.example.json to games.json, and follow docs/INSTALL.md. No separate .NET installation is needed.
Known limitation: ImageSharp 3.1.12 retains the security advisories documented in README.md; NuGet warnings are not suppressed.
- Added
export_json/export-json: complete, untruncated property JSON for a package (every export) or onePackage.Object, streamed atomically to a file instead of returned inline. - Added
query_table/query-table: paged DataTable queries (offset≥ 0,limit1–500) with column selection, typedeq/ne/contains/gt/gte/lt/ltefilters combined with AND, documented null/missing/nested semantics, and total/matched/next-offset information. Unknown columns and unsupported operators are rejected. - Added
export_table/export-table: every matching row as nested JSON or RFC 4180 CSV (UTF-8 with BOM, CRLF, invariant numbers, distinct null and empty string). Text fields that spreadsheets could evaluate as formulas are prefixed with'; struct/array cells are rejected for CSV instead of flattened. - Added
diagnose_game/diagnose: sanitized mount report covering engine version, mount status, mounted/unmounted archives, index/entry encryption, required encryption GUIDs with configured/assigned/verified/rejected state, mappings source, and native codec/ACL availability, with an optional single-asset probe that separates locate/read/header/deserialize failures. Mount failures are reported rather than thrown. Keys are marked verified only by evidence of successful decryption (CUE4Parse index validation, an encryptedDefaultGame.ini, or a probed encrypted package header), never by unencrypted reads. Key values, endpoint credentials/paths/queries, local paths, token-like strings, and stack traces are not reported. - Added
get_dependencies/dependencies: bounded (depth 1–8, limit 1–2000) outgoing hard (import map/IoStore) and soft (typed soft object path) package references with source/kind, resolvability, deduplication, cycle marking, and explicit truncation/depth/completeness flags. It is not a reverse index; runtime-constructed, string-based, bytecode, native-serialized, and asset-registry-only references are not reported. - Added
export_audio/export-audiofor SoundWave, SoundNodeWave, AkMediaAssetData, and loose.wem/.wav/.ogg/.opus/.flacarchive files.original(default) writes the cooked payload unchanged with an extension matching its actual header (for example.wem,.ogg,.ueopus,.binka,.rada);wavsucceeds only for payloads that already are valid integer PCM RIFF/WAVE. Nothing is transcoded, compressed codecs are never labeled as WAV, and sound banks are rejected. - Added previewable batch exports (
preview_batch,start_batch,get_batch_job,cancel_batch; CLIbatch --request PATH [--run]) for mesh, texture, animation, JSON, table, and audio kinds, up to 500 assets. Previews write nothing and expire; stale previews are rejected. Jobs keep their own game lease across configuration hot reloads, report progress and per-item results, support cancellation, share one native export session to deduplicate mesh/texture/animation dependencies, and write a full JSON manifest. - CLI: new commands with typed option parsing (
--columns,--filters,--offset,--depth,--probe,--mode,--request,--run).--runbatches exit1unless the job completes without errors; Ctrl+C cancels the running job and still prints its final status. The CLI source moved fromProgram.cstoCli.cs. - Parser failures now propagate rather than returning partially deserialized objects as successful exports; atomic single-file exports preserve previous output on failure. Dependency discovery follows actual legacy import ownership, omits native class-default objects, and marks bounded property traversal incomplete when it reaches its nesting budget.
- Existing ImageSharp security advisories remain disclosed and unsuppressed.
Verified all 61 encrypted-pak, configuration-reload, structured-data, diagnostics/redaction, dependency, audio, and batch regressions, including genuine cooked fixtures, byte-identical audio, rejected unsupported WAV conversions, atomic-write rollback, partial batch failures, stale previews, deduplication, and cancellation. A live MCP server exposed all 18 tools, mounted 289,307 real Valorant packages, exported valid full JSON and CSV, reported truthful unencrypted-probe evidence, and exported two glTF meshes in one batch with 15 shared dependency files.
The relocated self-contained ZIP also passed MCP DataTable paging/numeric filters/CSV, typed dependency traversal, actual PCM WAV and Unreal Opus extraction, unsupported-WAV rejection, raw archive-audio batching, and CLI preview/run workflows. On real Valorant packages, the bundled native library reported ACL available, dependency traversal scanned 7 packages and 25 references, and ActorX animation export succeeded. Cancelling a 42-selection batch and closing the server with another active job both wrote cancelled manifests and released the process cleanly. The ZIP checksum matched and it contained no local config, keys, mappings, or game archives.