V4A 1.0.1
Project has been renamed
dotnet add package V4A --version 1.0.1
NuGet\Install-Package V4A -Version 1.0.1
<PackageReference Include="V4A" Version="1.0.1" />
<PackageVersion Include="V4A" Version="1.0.1" />
<PackageReference Include="V4A" />
paket add V4A --version 1.0.1
#r "nuget: V4A, 1.0.1"
#:package V4A@1.0.1
#addin nuget:?package=V4A&version=1.0.1
#tool nuget:?package=V4A&version=1.0.1
V4A.Net
A .NET library for applying V4A diffs (the patch format used by OpenAI’s apply-patch tool) to text files.
V4A.Net implements the same patch application semantics used by OpenAI’s apply-patch workflow: patched text is generated with context hunks and applied via fuzzy context matching rather than strict line numbers. This library lets .NET applications interpret and apply those patches reliably. ([OpenAI Platform][1])
Purpose
Modern AI tools like OpenAI’s apply-patch API return structured patch operations with diffs in a context-based format. Consumers of that API must parse and apply these patches locally. V4A.Net provides a faithful .NET implementation of this diff format’s application logic, matching the expectations of the apply-patch specification. (OpenAI Platform)
Installation
Install via NuGet:
dotnet add package V4A
Usage
Apply a patch to existing content
using V4A;
string original = "line1\nline2\nline3\n";
string diff = string.Join("\n", new[] {
"@@ line1",
"-line2",
"+updated",
" line3"
});
// Apply contextual update
string result = DiffApplier.ApplyDiff(original, diff);
// result:
// line1
// updated
// line3
Create new content from a diff
Diffs in create mode consist only of + prefixed lines:
string diff = string.Join("\n", new[] {
"+hello",
"+world",
"+"
});
string result = DiffApplier.ApplyDiff(
input: "",
diff: diff,
mode: DiffApplier.ApplyDiffMode.Create);
// result:
// hello
// world
How it works
V4A.Net supports two main diff formats:
- Update mode: Applies a set of context hunks with
@@anchors, fuzzy matching, deletions (-) and additions (+). - Create mode: Interprets all lines as new content (only
+prefixes allowed).
When contextual diffs can’t be matched exactly, the library attempts fuzzy matches and throws detailed exceptions on failure.
Attribution
This library is a C# port of the Python apply_diff implementation from the openai-agents-python repository. The original Python version was authored by Kazuhiro Sera and released under the MIT license. Source implementations from the Python SDK serve as reference for semantics and behavior. ([OpenAI Platform][1])
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.