Repository navigation
Add first-class C# SDK generation and runtime support - #4120
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThis PR introduces a full C# SDK for BAML: a new bridge_csharp .NET 10 runtime library, the sdkgen_csharp Rust code generator, extensive test probes/fixtures validating end-to-end behavior, host-closure invocation support added to bex_engine/bex_vm, baml_cli wiring for C# generation, and new CI/release workflows plus repository configuration for building, verifying, and publishing the package. ChangesC# SDK and supporting engine/CI changes
Estimated code review effort: 5 (Critical) | ~180 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
41dcd09 to
79e51c9
Compare
⏭️ Performance benchmarks were skippedPerf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to To run them on this PR, do any of the following, then push a commit (or re-run CI):
|
This comment has been minimized.
This comment has been minimized.
Binary size checks passed✅ 7 passed
Generated by |
79e51c9 to
c750944
Compare
c750944 to
0c0c2fd
Compare
0c0c2fd to
7138563
Compare
7138563 to
837fa73
Compare
837fa73 to
4fc8a75
Compare
4fc8a75 to
41853ab
Compare
41853ab to
c2f5e50
Compare
8f40e06 to
e3091c0
Compare
e3091c0 to
9d3ef1e
Compare
There was a problem hiding this comment.
Actionable comments posted: 11
🧹 Nitpick comments (4)
baml_language/crates/bridge_ctypes/src/ty_decode.rs (1)
251-278: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winConsider adding unit tests for the new literal validation paths.
The new fallible decoding introduces distinct error branches (invalid bigint bytes, unparseable float, non-finite float) that currently have no visible coverage in this crate. Small
#[cfg(test)]cases exercising eachInvalidLiteralMetadatapath would lock in the validation behavior.Based on coding guidelines: "Prefer writing Rust unit tests over integration tests where possible".
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@baml_language/crates/bridge_ctypes/src/ty_decode.rs` around lines 251 - 278, The new validation branches in literal_to_runtime_ty lack unit coverage. Add focused #[cfg(test)] Rust tests in the same crate exercising invalid bigint metadata, unparseable float metadata, and non-finite float metadata, asserting each returns CtypesError::InvalidLiteralMetadata with the correct kind while preserving existing valid-literal behavior.Source: Coding guidelines
baml_language/sdk_tests/crates/csharp/src/lib.rs (1)
83-508: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueOptional: collapse the repeated per-phase
dotnet runboilerplate into a shared helper.The phase5–phase14 tests are near-identical (setup-env assert →
dotnet run --project … --configuration Release→ status assert → markercontains(...)assert). A single helper taking(project_relpath, marker)would remove ~10 copies while keeping each#[test]name and marker distinct. Phase15 (trimmed publish) and the documentation consumer legitimately stay separate.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@baml_language/sdk_tests/crates/csharp/src/lib.rs` around lines 83 - 508, Optionally extract the repeated setup, dotnet invocation, status validation, and success-marker checks from the phase5–phase14 test functions into one shared helper accepting the project relative path and expected marker. Update those tests to call the helper while preserving their existing test names and markers; leave phase15’s trimmed publish flow separate.baml_language/sdks/csharp/sdkgen_csharp/src/model.rs (1)
153-196: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd dedicated unit tests for
reclassify_companion_methods.This function silently moves companion methods (
$stream,$parse,$build_request, etc.) betweenstatic_methods/instance_methodsbased on whether their family'sExecutevariant is instance or static, with a fallback to "keep original" when the family has noExecuteentry. The logic is correct on inspection but subtle (three distinct branches, a possible dual-membership edge case if a family name collides across static and instanceExecutemethods), and it directly determines C# call-site dispatch shape. Onlycallable_partsand identity resolution have tests today; this transform has none.As per path instructions,
**/*.rsshould prefer unit tests. Consider adding cases for: a staticExecutewith instance-only companions, an instanceExecutewith static-only companions, and an orphan companion (noExecutepresent for its family).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@baml_language/sdks/csharp/sdkgen_csharp/src/model.rs` around lines 153 - 196, Add focused unit tests for reclassify_companion_methods covering static Execute with instance-only companions, instance Execute with static-only companions, and orphan companions whose family has no Execute method. Build minimal Class and method fixtures, invoke the transform, and assert each method lands in the expected static_methods or instance_methods collection while preserving the fallback behavior.Source: Path instructions
baml_language/sdks/csharp/bridge_csharp/src/Runtime/BamlProcessExit.cs (1)
28-36: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winSimplify to a source-less canceled token.
Building a
CancellationTokenSource, cancelling and disposing it just to hand back itsTokenreturns a token still backed by a disposed source.CancellationTokenSource.TokenthrowsObjectDisposedExceptiononce disposed, so any later call path that touches the source again through this token (e.g.Register, linking) rides on disposed-source semantics unnecessarily. TheCancellationToken(bool canceled)constructor produces an equivalent already-canceled token with no source to manage at all.♻️ Proposed simplification
internal static class BamlCancellationTokens { internal static CancellationToken CreateEngineToken() { - using var source = new CancellationTokenSource(); - source.Cancel(); - return source.Token; + return new CancellationToken(canceled: true); } }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@baml_language/sdks/csharp/bridge_csharp/src/Runtime/BamlProcessExit.cs` around lines 28 - 36, Update BamlCancellationTokens.CreateEngineToken to return a source-less canceled CancellationToken directly using its boolean constructor. Remove the temporary CancellationTokenSource creation, cancellation, disposal, and token return logic while preserving the already-canceled result.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/verify-csharp-product-slice.reusable.yaml:
- Around line 36-40: Bind interpolated workflow values through step environment
variables instead of embedding them in shell scripts: in
.github/workflows/verify-csharp-product-slice.reusable.yaml lines 36-40, add
SOURCE_SHA from inputs.source_sha to the derive step’s env and compare against
$SOURCE_SHA; in .github/workflows/publish2-csharp-sdk.yaml lines 189-196, add
DIGEST from steps.package.outputs.digest to the summary step’s env and reference
$DIGEST.
In `@baml_language/crates/bridge_cffi/src/ffi/host_value.rs`:
- Around line 186-218: Update the inbound_to_external error path in
complete_host_call so ownership transfers from HANDLE_TABLE are all-or-nothing.
If conversion or validation fails after handles or HostValueArcs were adopted,
roll back every adopted transfer before completing the error and returning
false, or defer adoption until conversion can succeed. Preserve successful
conversion behavior while ensuring native never retains resources from a failed
conversion.
In
`@baml_language/sdk_tests/crates/csharp/phase11_host_callable/Phase11HostCallable.csproj`:
- Line 12: Update the AssemblyName in Phase11HostCallable.csproj from the
inherited bridge test name to the standard unique phase11 fixture name, matching
the fixture’s output namespace and avoiding collisions with other phase
projects.
In
`@baml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Phase13PrimitiveEdges.csproj`:
- Line 10: Update the AssemblyName in the Phase13PrimitiveEdges project
configuration from Baml.Bridge.Tests to the unique
Baml.CSharp.Phase13PrimitiveEdges convention, matching the naming pattern used
by the other phase fixtures.
In
`@baml_language/sdk_tests/crates/csharp/phase6_slice/verify_compile_negative.sh`:
- Around line 5-8: Split each readonly command-substitution assignment in the
script into a plain assignment followed by a separate readonly declaration,
preserving the existing values for script_dir, project, and artifact_root.
Ensure failures from cd/pwd or mktemp are returned by the assignment command and
still trigger the script’s existing error handling.
In `@baml_language/sdk_tests/crates/csharp/phase9_media/Program.cs`:
- Around line 40-77: The media payload accessors used by RequireImageUrl,
RequireAudioUrl, RequireVideoUrl, and RequirePdfUrl are inaccessible across the
SDK fixture assembly boundary. Update the Baml.Bridge visibility configuration
to grant InternalsVisibleTo access to Baml.CSharp.Phase9Media, or make
MediaPayload.TryGetUrl and TryGetBytes public, while preserving the existing
helper calls.
In `@baml_language/sdks/csharp/bridge_csharp/src/Cffi/HostValueRegistry.cs`:
- Around line 542-554: Update HostValueRegistration.Revoke to return unless the
registration is still uncommitted, matching the state guard used by Commit;
specifically prevent registry.Revoke(Key) and state mutation when state is 1
(committed), while preserving the existing no-op behavior for state 2.
In
`@baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedContract.Tests/Program.cs`:
- Around line 23-38: Update the negative test around
BamlGeneratedContract.RegisterProgram to use the bridge package’s deterministic
version instead of hard-coded "0.15.0" values. Set the contract version input
from RuntimeIdentity.PackageVersion (or the equivalent compile-time
package-version symbol) so compatibility succeeds and the test reaches
fingerprint validation, while preserving the existing
BamlProgramIntegrityException assertion.
In
`@baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PackagedAbiConsumer/Program.cs`:
- Around line 197-305: The BamlApiV1 probe does not validate the appended V2 ABI
callbacks. In
baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PackagedAbiConsumer/Program.cs
lines 197-305, extend BamlApiV1 and ValidateRequiredFunctions with every
appended V2 host-dispatch, cancel, and complete callback. In
baml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/table_diagnostics.c
lines 109-149, initialize all V2 callback fields with non-null fake stubs in the
normal table and add a targeted diagnostic mode that clears one V2 field to
verify missing-field detection.
In
`@baml_language/sdks/csharp/bridge_csharp/tests/expected-bridge-cffi-exports.txt`:
- Around line 15-26: Add complete_host_call_v2 to the exact-match export
allowlist in expected-bridge-cffi-exports.txt, keeping complete_host_call and
the existing symbol ordering intact so the expected exports match the
CFFI-generated exports.
In
`@baml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Program.cs`:
- Around line 30-34: Update the version validation guard near Program’s version
handling to also reject backslash characters, alongside quotes and CR/LF, before
WriteSource interpolates version into C# string literals. Preserve the existing
whitespace and other unsafe-character checks.
---
Nitpick comments:
In `@baml_language/crates/bridge_ctypes/src/ty_decode.rs`:
- Around line 251-278: The new validation branches in literal_to_runtime_ty lack
unit coverage. Add focused #[cfg(test)] Rust tests in the same crate exercising
invalid bigint metadata, unparseable float metadata, and non-finite float
metadata, asserting each returns CtypesError::InvalidLiteralMetadata with the
correct kind while preserving existing valid-literal behavior.
In `@baml_language/sdk_tests/crates/csharp/src/lib.rs`:
- Around line 83-508: Optionally extract the repeated setup, dotnet invocation,
status validation, and success-marker checks from the phase5–phase14 test
functions into one shared helper accepting the project relative path and
expected marker. Update those tests to call the helper while preserving their
existing test names and markers; leave phase15’s trimmed publish flow separate.
In `@baml_language/sdks/csharp/bridge_csharp/src/Runtime/BamlProcessExit.cs`:
- Around line 28-36: Update BamlCancellationTokens.CreateEngineToken to return a
source-less canceled CancellationToken directly using its boolean constructor.
Remove the temporary CancellationTokenSource creation, cancellation, disposal,
and token return logic while preserving the already-canceled result.
In `@baml_language/sdks/csharp/sdkgen_csharp/src/model.rs`:
- Around line 153-196: Add focused unit tests for reclassify_companion_methods
covering static Execute with instance-only companions, instance Execute with
static-only companions, and orphan companions whose family has no Execute
method. Build minimal Class and method fixtures, invoke the transform, and
assert each method lands in the expected static_methods or instance_methods
collection while preserving the fallback behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 45aee7b8-344b-49e0-8ec0-d1b595fc6187
⛔ Files ignored due to path filters (15)
baml_language/Cargo.lockis excluded by!**/*.lockbaml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedArguments.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedCanonicalCodecs.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedCodec.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedContract.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedHostCallable.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedProgram.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedRegistry.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedRequestClientCodecs.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedStream.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedTokens.csis excluded by!**/generated/**baml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_inbound.pb.gois excluded by!**/*.pb.gobaml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_outbound.pb.gois excluded by!**/*.pb.gobaml_language/sdks/typescript/bridge_typescript/dist/proto/baml_cffi.d.tsis excluded by!**/dist/**baml_language/sdks/typescript/bridge_typescript/dist/proto/baml_cffi.jsis excluded by!**/dist/**
📒 Files selected for processing (276)
.gitattributes.github/workflows/cargo-tests.reusable.yaml.github/workflows/publish2-csharp-sdk.yaml.github/workflows/release-baml-language.yml.github/workflows/verify-csharp-product-slice.reusable.yamlbaml_language/.cargo/size-gate.tomlbaml_language/.ci/size-gate/aarch64-apple-darwin.tomlbaml_language/.ci/size-gate/x86_64-pc-windows-msvc.tomlbaml_language/.ci/size-gate/x86_64-unknown-linux-gnu.tomlbaml_language/.config/nextest.tomlbaml_language/.markdown-whitelistbaml_language/Cargo.tomlbaml_language/crates/baml_cli/Cargo.tomlbaml_language/crates/baml_cli/src/generate.rsbaml_language/crates/baml_codegen_types/src/generator_fields.rsbaml_language/crates/bex_engine/src/conversion.rsbaml_language/crates/bex_engine/src/lib.rsbaml_language/crates/bex_engine/tests/host_value_callable.rsbaml_language/crates/bex_external_types/src/host_return.rsbaml_language/crates/bex_vm/src/vm.rsbaml_language/crates/bridge_cffi/cbindgen.tomlbaml_language/crates/bridge_cffi/include/baml_cffi.hbaml_language/crates/bridge_cffi/src/api.rsbaml_language/crates/bridge_cffi/src/ffi/host_value.rsbaml_language/crates/bridge_cffi/src/lib_native.rsbaml_language/crates/bridge_cffi/tests/abi_assertions.hbaml_language/crates/bridge_cffi/tests/abi_layout.cbaml_language/crates/bridge_cffi/tests/abi_layout.rsbaml_language/crates/bridge_cffi/tests/abi_smoke.cbaml_language/crates/bridge_ctypes/src/error.rsbaml_language/crates/bridge_ctypes/src/ty_decode.rsbaml_language/crates/bridge_ctypes/src/ty_encode.rsbaml_language/crates/bridge_ctypes/src/value_decode.rsbaml_language/crates/bridge_ctypes/src/value_encode.rsbaml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_inbound.protobaml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_outbound.protobaml_language/crates/sys_native/src/host_dispatch.rsbaml_language/crates/sys_native/src/host_impls.rsbaml_language/sdk_tests/crates/csharp/.gitignorebaml_language/sdk_tests/crates/csharp/Cargo.tomlbaml_language/sdk_tests/crates/csharp/build.rsbaml_language/sdk_tests/crates/csharp/phase10_stream/Phase10Stream.csprojbaml_language/sdk_tests/crates/csharp/phase10_stream/Program.csbaml_language/sdk_tests/crates/csharp/phase10_stream/baml.tomlbaml_language/sdk_tests/crates/csharp/phase10_stream/baml_src/ns_csharp_phase10/main.bamlbaml_language/sdk_tests/crates/csharp/phase11_host_callable/Phase11HostCallable.csprojbaml_language/sdk_tests/crates/csharp/phase11_host_callable/Program.csbaml_language/sdk_tests/crates/csharp/phase11_host_callable/baml.tomlbaml_language/sdk_tests/crates/csharp/phase11_host_callable/baml_src/ns_csharp_phase11/main.bamlbaml_language/sdk_tests/crates/csharp/phase12_resources/Phase12Resources.csprojbaml_language/sdk_tests/crates/csharp/phase12_resources/Program.csbaml_language/sdk_tests/crates/csharp/phase12_resources/baml.tomlbaml_language/sdk_tests/crates/csharp/phase12_resources/baml_src/ns_csharp_phase12/main.bamlbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Phase13PrimitiveEdges.csprojbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Program.csbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/baml.tomlbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/baml_src/ns_csharp_phase13/main.bamlbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/Phase14StdlibStructurals.csprojbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/Program.csbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/baml.tomlbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/baml_src/ns_csharp_phase14/main.bamlbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/Phase15DynamicValues.csprojbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/Program.csbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/baml.tomlbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/baml_src/ns_csharp_phase15/main.bamlbaml_language/sdk_tests/crates/csharp/phase5_slice/Phase5Slice.csprojbaml_language/sdk_tests/crates/csharp/phase5_slice/Program.csbaml_language/sdk_tests/crates/csharp/phase5_slice/baml.tomlbaml_language/sdk_tests/crates/csharp/phase5_slice/baml_src/ns_csharp_phase5/main.bamlbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/BareNullInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/RawNullableInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/ResultOnlyInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/StaticNullInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/Phase6Slice.csprojbaml_language/sdk_tests/crates/csharp/phase6_slice/Program.csbaml_language/sdk_tests/crates/csharp/phase6_slice/baml.tomlbaml_language/sdk_tests/crates/csharp/phase6_slice/baml_src/ns_csharp_phase6/main.bamlbaml_language/sdk_tests/crates/csharp/phase6_slice/verify_compile_negative.shbaml_language/sdk_tests/crates/csharp/phase7_failures/Phase7Failures.csprojbaml_language/sdk_tests/crates/csharp/phase7_failures/Program.csbaml_language/sdk_tests/crates/csharp/phase7_failures/baml.tomlbaml_language/sdk_tests/crates/csharp/phase7_failures/baml_src/ns_csharp_phase7/main.bamlbaml_language/sdk_tests/crates/csharp/phase9_media/Phase9Media.csprojbaml_language/sdk_tests/crates/csharp/phase9_media/Program.csbaml_language/sdk_tests/crates/csharp/phase9_media/baml.tomlbaml_language/sdk_tests/crates/csharp/phase9_media/baml_src/ns_csharp_phase9/main.bamlbaml_language/sdk_tests/crates/csharp/primitive_slice/PrimitiveSlice.csprojbaml_language/sdk_tests/crates/csharp/primitive_slice/Program.csbaml_language/sdk_tests/crates/csharp/primitive_slice/baml.tomlbaml_language/sdk_tests/crates/csharp/primitive_slice/baml_src/ns_csharp_slice/main.bamlbaml_language/sdk_tests/crates/csharp/setup.ps1baml_language/sdk_tests/crates/csharp/setup.shbaml_language/sdk_tests/crates/csharp/src/bin/emit_optional_host_call_vectors.rsbaml_language/sdk_tests/crates/csharp/src/lib.rsbaml_language/sdk_tests/harness_setup/Cargo.tomlbaml_language/sdk_tests/harness_setup/src/csharp.rsbaml_language/sdk_tests/harness_setup/src/lib.rsbaml_language/sdks/cpp/bridge_cpp/pb/baml_bridge/cffi/v1/baml_inbound.pb.ccbaml_language/sdks/cpp/bridge_cpp/pb/baml_bridge/cffi/v1/baml_inbound.pb.hbaml_language/sdks/cpp/bridge_cpp/pb/baml_bridge/cffi/v1/baml_outbound.pb.ccbaml_language/sdks/cpp/bridge_cpp/pb/baml_bridge/cffi/v1/baml_outbound.pb.hbaml_language/sdks/csharp/ABI.mdbaml_language/sdks/csharp/DEVELOPMENT.mdbaml_language/sdks/csharp/README.mdbaml_language/sdks/csharp/bridge_csharp/.gitignorebaml_language/sdks/csharp/bridge_csharp/src/Baml.Bridge.csprojbaml_language/sdks/csharp/bridge_csharp/src/Cffi/BamlSafeHandle.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/BamlSafeHandleLease.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/CallbackIdAllocator.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/EncodedCallArguments.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/HostCallDispatcher.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/HostValueRegistry.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeApi.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeBuffer.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeCallbacks.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeLibraryResolver.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeMedia.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeTypes.csbaml_language/sdks/csharp/bridge_csharp/src/Exceptions/ExecutionExceptions.csbaml_language/sdks/csharp/bridge_csharp/src/Exceptions/InitializationExceptions.csbaml_language/sdks/csharp/bridge_csharp/src/Properties/AssemblyInfo.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/HostCallableProtocol.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/MediaProtocol.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/OutboundOwnershipScope.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/PrimitiveProtocol.csbaml_language/sdks/csharp/bridge_csharp/src/README.mdbaml_language/sdks/csharp/bridge_csharp/src/Runtime/BamlProcessExit.csbaml_language/sdks/csharp/bridge_csharp/src/Runtime/ProgramRegistrar.csbaml_language/sdks/csharp/bridge_csharp/src/RuntimeIdentity.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlCallback.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlDynamicCodecRegistry.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlHandle.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlInteger.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlMedia.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlNullable.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlOptional.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlRequestClient.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlStream.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlStreamState.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlUnion.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlValue.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlValueLimits.csbaml_language/sdks/csharp/bridge_csharp/src/baml-bridge.targets.inbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiLifetimeProbe/Baml.Bridge.AbiLifetimeProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiLifetimeProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiProbe/Baml.Bridge.AbiProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/Baml.Bridge.DocumentationConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/verify-deployment.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/Baml.Bridge.EnumDiscriminantProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/Baml.Bridge.FailureCancellationProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/ProbeExceptions.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FullSurfacePackageConsumer/NuGet.Configbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FullSurfacePackageConsumer/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Consumer/Baml.Bridge.GeneratedCodeContractProbe.Consumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Consumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/Baml.Bridge.GeneratedCodeContractProbe.Runtime.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/GeneratedContract.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedContract.Tests/Baml.Bridge.GeneratedContract.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedContract.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/Baml.Bridge.GenericCompileProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/GeneratedApi.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeBareNullInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeComposedRaw.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeNonNullableNull.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeRawNullableInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeRawOptionalInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeResultOnlyInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeUnionRawInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/Positive.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.HostCallable.Tests/Baml.Bridge.HostCallable.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.HostCallable.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Baml.Bridge.ManagedContractProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/DynamicValues.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Media.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/OptionalNullableState.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/RequestClientHandle.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Union2AndBinder.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/Baml.Bridge.MultiRidPackageProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/Baml.Bridge.MultiRidPackageProbe.targets.inbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/PackageMarker.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Baml.Bridge.NativeAotGuard.targetsbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Baml.Bridge.NativeAotGuardProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAssetProbe/Baml.Bridge.NativeAssetProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAssetProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PackagedAbiConsumer/Baml.Bridge.PackagedAbiConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PackagedAbiConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/Baml.Bridge.PrimitivePackageConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/NuGet.Configbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/Baml.Bridge.ProgramBootstrapProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/GeneratedCallSurfaces.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/NativeBytecodeInitializer.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/ProgramProbeRuntime.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolPackageConsumer/Baml.Bridge.ProtocolPackageConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolPackageConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/Baml.Bridge.ProtocolProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/ProtocolPackageSurface.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/Baml.Bridge.ReflectionRootProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RequestClient.Tests/Baml.Bridge.RequestClient.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RequestClient.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/Baml.Bridge.RidDiagnosticProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Stream.Tests/Baml.Bridge.Stream.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Stream.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/Baml.Bridge.StreamMediaAbiProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/NativeBridge.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/Baml.Bridge.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.NativeProbeMode.targetsbaml_language/sdks/csharp/bridge_csharp/tests/NuGet.EntryGates.Configbaml_language/sdks/csharp/bridge_csharp/tests/expected-bridge-cffi-exports.txtbaml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/missing_getter.cbaml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/table_diagnostics.cbaml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Baml.BytecodeCarrierEmitter.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/README.mdbaml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/Baml.NuGetNormalizer.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/README.mdbaml_language/sdks/csharp/bridge_csharp/tools/Baml.Union.LayoutProbe/Baml.Union.LayoutProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.Union.LayoutProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/Baml.UnionGenerator/Baml.UnionGenerator.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.UnionGenerator/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/pack-product.shbaml_language/sdks/csharp/sdkgen_csharp/Cargo.tomlbaml_language/sdks/csharp/sdkgen_csharp/src/lib.rsbaml_language/sdks/csharp/sdkgen_csharp/src/model.rsbaml_language/sdks/csharp/sdkgen_csharp/src/names.rsbaml_language/sdks/csharp/sdkgen_csharp/src/normalize.rsbaml_language/sdks/csharp/sdkgen_csharp/src/pipeline.rsbaml_language/sdks/csharp/sdkgen_csharp/src/routing.rsbaml_language/sdks/csharp/sdkgen_csharp/src/semantic.rsbaml_language/sdks/csharp/sdkgen_csharp/src/transaction.rsbaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_inbound_pb2.pybaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_inbound_pb2.pyibaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_outbound_pb2.pybaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_outbound_pb2.pyibaml_language/sdks/rust/bridge_rust/src/baml_value.rsbaml_language/sdks/rust/bridge_rust/src/wire/baml_bridge.cffi.v1.rsbaml_language/sdks/swift/Sources/BamlBridge/Proto/.generated-frombaml_language/sdks/swift/Sources/BamlBridge/Proto/baml_inbound.pb.swiftbaml_language/sdks/swift/Sources/BamlBridge/Proto/baml_outbound.pb.swiftbaml_language/sdks/swift/Sources/CBamlBridge/include/baml_cffi.hbaml_language/sdks/typescript/bridge_typescript/package.jsonbaml_language/sdks/typescript/bridge_typescript/typescript_src/generate-proto-dts.jsbaml_language/sdks/typescript/bridge_typescript/typescript_src/proto/baml_cffi.d.tsbaml_language/sdks/typescript/bridge_typescript/typescript_src/proto/baml_cffi.jstypescript2/pkg-proto/src/encode.tstypescript2/pkg-proto/src/test/encode-decode.test.ts
9d3ef1e to
283f4f8
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@baml_language/sdks/csharp/bridge_csharp/src/README.md`:
- Around line 158-159: In the README text describing synchronous exceptions and
managed-exception restoration, remove the redundant wording “same exact” while
preserving the existing meaning and asynchronous delegate guidance.
In `@baml_language/sdks/csharp/bridge_csharp/src/Values/BamlStream.cs`:
- Around line 222-253: Update DisposeAsync around the terminal selection and
finalization handling so a cancellation fault is observed even when the caller
never invokes GetFinalResponseAsync() or enumerates the stream. Attach a
swallowing OnlyOnFaulted continuation to the relevant
finalization/final-response task when disposal selects the terminal outcome,
while preserving the existing cancellation and returned finalization behavior.
In
`@baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/verify.sh`:
- Around line 5-16: Update verify.sh to separate command substitutions from
readonly declarations for script_dir and the temporary artifact_root. Assign
each value first, allowing failures from cd, pwd, or mktemp to propagate under
set -e, then mark the variables readonly; preserve the existing
BAML_GENERIC_PROBE_ARTIFACTS branch and project path behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: c1addf45-bdf4-4a16-815e-3244753b20c3
⛔ Files ignored due to path filters (11)
baml_language/Cargo.lockis excluded by!**/*.lockbaml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedArguments.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedCanonicalCodecs.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedCodec.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedContract.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedHostCallable.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedProgram.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedRegistry.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedRequestClientCodecs.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedStream.csis excluded by!**/generated/**baml_language/sdks/csharp/bridge_csharp/src/Generated/V1/BamlGeneratedTokens.csis excluded by!**/generated/**
📒 Files selected for processing (236)
.gitattributes.github/workflows/cargo-tests.reusable.yaml.github/workflows/publish2-csharp-sdk.yaml.github/workflows/release-baml-language.yml.github/workflows/verify-csharp-product-slice.reusable.yamlbaml_language/.cargo/size-gate.tomlbaml_language/.ci/size-gate/aarch64-apple-darwin.tomlbaml_language/.ci/size-gate/x86_64-pc-windows-msvc.tomlbaml_language/.ci/size-gate/x86_64-unknown-linux-gnu.tomlbaml_language/.config/nextest.tomlbaml_language/.markdown-whitelistbaml_language/Cargo.tomlbaml_language/crates/baml_cli/Cargo.tomlbaml_language/crates/baml_cli/src/generate.rsbaml_language/crates/baml_codegen_types/src/generator_fields.rsbaml_language/crates/bex_engine/src/conversion.rsbaml_language/crates/bex_engine/src/lib.rsbaml_language/crates/bex_engine/tests/host_value_callable.rsbaml_language/crates/bex_external_types/src/host_return.rsbaml_language/crates/bex_vm/src/vm.rsbaml_language/sdk_tests/crates/csharp/.gitignorebaml_language/sdk_tests/crates/csharp/Cargo.tomlbaml_language/sdk_tests/crates/csharp/build.rsbaml_language/sdk_tests/crates/csharp/phase10_stream/Phase10Stream.csprojbaml_language/sdk_tests/crates/csharp/phase10_stream/Program.csbaml_language/sdk_tests/crates/csharp/phase10_stream/baml.tomlbaml_language/sdk_tests/crates/csharp/phase10_stream/baml_src/ns_csharp_phase10/main.bamlbaml_language/sdk_tests/crates/csharp/phase11_host_callable/Phase11HostCallable.csprojbaml_language/sdk_tests/crates/csharp/phase11_host_callable/Program.csbaml_language/sdk_tests/crates/csharp/phase11_host_callable/baml.tomlbaml_language/sdk_tests/crates/csharp/phase11_host_callable/baml_src/ns_csharp_phase11/main.bamlbaml_language/sdk_tests/crates/csharp/phase12_resources/Phase12Resources.csprojbaml_language/sdk_tests/crates/csharp/phase12_resources/Program.csbaml_language/sdk_tests/crates/csharp/phase12_resources/baml.tomlbaml_language/sdk_tests/crates/csharp/phase12_resources/baml_src/ns_csharp_phase12/main.bamlbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Phase13PrimitiveEdges.csprojbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Program.csbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/baml.tomlbaml_language/sdk_tests/crates/csharp/phase13_primitive_edges/baml_src/ns_csharp_phase13/main.bamlbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/Phase14StdlibStructurals.csprojbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/Program.csbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/baml.tomlbaml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/baml_src/ns_csharp_phase14/main.bamlbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/Phase15DynamicValues.csprojbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/Program.csbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/baml.tomlbaml_language/sdk_tests/crates/csharp/phase15_dynamic_values/baml_src/ns_csharp_phase15/main.bamlbaml_language/sdk_tests/crates/csharp/phase5_slice/Phase5Slice.csprojbaml_language/sdk_tests/crates/csharp/phase5_slice/Program.csbaml_language/sdk_tests/crates/csharp/phase5_slice/baml.tomlbaml_language/sdk_tests/crates/csharp/phase5_slice/baml_src/ns_csharp_phase5/main.bamlbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/BareNullInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/RawNullableInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/ResultOnlyInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/StaticNullInference.csbaml_language/sdk_tests/crates/csharp/phase6_slice/Phase6Slice.csprojbaml_language/sdk_tests/crates/csharp/phase6_slice/Program.csbaml_language/sdk_tests/crates/csharp/phase6_slice/baml.tomlbaml_language/sdk_tests/crates/csharp/phase6_slice/baml_src/ns_csharp_phase6/main.bamlbaml_language/sdk_tests/crates/csharp/phase6_slice/verify_compile_negative.shbaml_language/sdk_tests/crates/csharp/phase7_failures/Phase7Failures.csprojbaml_language/sdk_tests/crates/csharp/phase7_failures/Program.csbaml_language/sdk_tests/crates/csharp/phase7_failures/baml.tomlbaml_language/sdk_tests/crates/csharp/phase7_failures/baml_src/ns_csharp_phase7/main.bamlbaml_language/sdk_tests/crates/csharp/phase9_media/Phase9Media.csprojbaml_language/sdk_tests/crates/csharp/phase9_media/Program.csbaml_language/sdk_tests/crates/csharp/phase9_media/baml.tomlbaml_language/sdk_tests/crates/csharp/phase9_media/baml_src/ns_csharp_phase9/main.bamlbaml_language/sdk_tests/crates/csharp/primitive_slice/PrimitiveSlice.csprojbaml_language/sdk_tests/crates/csharp/primitive_slice/Program.csbaml_language/sdk_tests/crates/csharp/primitive_slice/baml.tomlbaml_language/sdk_tests/crates/csharp/primitive_slice/baml_src/ns_csharp_slice/main.bamlbaml_language/sdk_tests/crates/csharp/setup.ps1baml_language/sdk_tests/crates/csharp/setup.shbaml_language/sdk_tests/crates/csharp/src/bin/emit_optional_host_call_vectors.rsbaml_language/sdk_tests/crates/csharp/src/lib.rsbaml_language/sdk_tests/harness_setup/Cargo.tomlbaml_language/sdk_tests/harness_setup/src/csharp.rsbaml_language/sdk_tests/harness_setup/src/lib.rsbaml_language/sdks/csharp/ABI.mdbaml_language/sdks/csharp/DEVELOPMENT.mdbaml_language/sdks/csharp/README.mdbaml_language/sdks/csharp/bridge_csharp/.gitignorebaml_language/sdks/csharp/bridge_csharp/src/Baml.Bridge.csprojbaml_language/sdks/csharp/bridge_csharp/src/Cffi/BamlSafeHandle.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/BamlSafeHandleLease.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/CallbackIdAllocator.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/EncodedCallArguments.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/HostCallDispatcher.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/HostValueRegistry.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeApi.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeBuffer.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeCallbacks.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeLibraryResolver.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeMedia.csbaml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeTypes.csbaml_language/sdks/csharp/bridge_csharp/src/Exceptions/ExecutionExceptions.csbaml_language/sdks/csharp/bridge_csharp/src/Exceptions/InitializationExceptions.csbaml_language/sdks/csharp/bridge_csharp/src/Properties/AssemblyInfo.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/HostCallableProtocol.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/MediaProtocol.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/OutboundOwnershipScope.csbaml_language/sdks/csharp/bridge_csharp/src/Proto/PrimitiveProtocol.csbaml_language/sdks/csharp/bridge_csharp/src/README.mdbaml_language/sdks/csharp/bridge_csharp/src/Runtime/BamlProcessExit.csbaml_language/sdks/csharp/bridge_csharp/src/Runtime/ProgramRegistrar.csbaml_language/sdks/csharp/bridge_csharp/src/RuntimeIdentity.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlCallback.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlDynamicCodecRegistry.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlHandle.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlInteger.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlMedia.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlNullable.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlOptional.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlRequestClient.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlStream.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlStreamState.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlUnion.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlValue.csbaml_language/sdks/csharp/bridge_csharp/src/Values/BamlValueLimits.csbaml_language/sdks/csharp/bridge_csharp/src/baml-bridge.targets.inbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiLifetimeProbe/Baml.Bridge.AbiLifetimeProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiLifetimeProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiProbe/Baml.Bridge.AbiProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/Baml.Bridge.DocumentationConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/verify-deployment.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/Baml.Bridge.EnumDiscriminantProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/Baml.Bridge.FailureCancellationProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/ProbeExceptions.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FullSurfacePackageConsumer/NuGet.Configbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FullSurfacePackageConsumer/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Consumer/Baml.Bridge.GeneratedCodeContractProbe.Consumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Consumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/Baml.Bridge.GeneratedCodeContractProbe.Runtime.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/GeneratedContract.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedContract.Tests/Baml.Bridge.GeneratedContract.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedContract.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/Baml.Bridge.GenericCompileProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/GeneratedApi.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeBareNullInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeComposedRaw.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeNonNullableNull.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeRawNullableInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeRawOptionalInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeResultOnlyInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeUnionRawInference.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/Positive.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.HostCallable.Tests/Baml.Bridge.HostCallable.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.HostCallable.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Baml.Bridge.ManagedContractProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/DynamicValues.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Media.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/OptionalNullableState.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/RequestClientHandle.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Union2AndBinder.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/Baml.Bridge.MultiRidPackageProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/Baml.Bridge.MultiRidPackageProbe.targets.inbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/PackageMarker.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Baml.Bridge.NativeAotGuard.targetsbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Baml.Bridge.NativeAotGuardProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAssetProbe/Baml.Bridge.NativeAssetProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAssetProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/Baml.Bridge.PrimitivePackageConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/NuGet.Configbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/Baml.Bridge.ProgramBootstrapProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/GeneratedCallSurfaces.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/NativeBytecodeInitializer.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/ProgramProbeRuntime.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolPackageConsumer/Baml.Bridge.ProtocolPackageConsumer.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolPackageConsumer/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/Baml.Bridge.ProtocolProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/ProtocolPackageSurface.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/Baml.Bridge.ReflectionRootProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RequestClient.Tests/Baml.Bridge.RequestClient.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RequestClient.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/Baml.Bridge.RidDiagnosticProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Stream.Tests/Baml.Bridge.Stream.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Stream.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/Baml.Bridge.StreamMediaAbiProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/NativeBridge.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/README.mdbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/Baml.Bridge.Tests.csprojbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/Program.csbaml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/verify.shbaml_language/sdks/csharp/bridge_csharp/tests/Baml.NativeProbeMode.targetsbaml_language/sdks/csharp/bridge_csharp/tests/NuGet.EntryGates.Configbaml_language/sdks/csharp/bridge_csharp/tests/expected-bridge-cffi-exports.txtbaml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/missing_getter.cbaml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/table_diagnostics.cbaml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Baml.BytecodeCarrierEmitter.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/README.mdbaml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/Baml.NuGetNormalizer.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/README.mdbaml_language/sdks/csharp/bridge_csharp/tools/Baml.Union.LayoutProbe/Baml.Union.LayoutProbe.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.Union.LayoutProbe/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/Baml.UnionGenerator/Baml.UnionGenerator.csprojbaml_language/sdks/csharp/bridge_csharp/tools/Baml.UnionGenerator/Program.csbaml_language/sdks/csharp/bridge_csharp/tools/pack-product.shbaml_language/sdks/csharp/sdkgen_csharp/Cargo.tomlbaml_language/sdks/csharp/sdkgen_csharp/src/lib.rsbaml_language/sdks/csharp/sdkgen_csharp/src/model.rsbaml_language/sdks/csharp/sdkgen_csharp/src/names.rsbaml_language/sdks/csharp/sdkgen_csharp/src/normalize.rsbaml_language/sdks/csharp/sdkgen_csharp/src/pipeline.rsbaml_language/sdks/csharp/sdkgen_csharp/src/routing.rsbaml_language/sdks/csharp/sdkgen_csharp/src/semantic.rsbaml_language/sdks/csharp/sdkgen_csharp/src/transaction.rs
🚧 Files skipped from review as they are similar to previous changes (207)
- baml_language/sdk_tests/crates/csharp/phase11_host_callable/baml.toml
- baml_language/sdk_tests/crates/csharp/phase15_dynamic_values/baml.toml
- baml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/baml.toml
- baml_language/sdk_tests/crates/csharp/phase5_slice/baml.toml
- .gitattributes
- baml_language/sdk_tests/crates/csharp/phase7_failures/Phase7Failures.csproj
- baml_language/sdk_tests/crates/csharp/Cargo.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/Baml.Bridge.RidDiagnosticProbe.csproj
- baml_language/sdk_tests/crates/csharp/phase5_slice/Phase5Slice.csproj
- baml_language/sdk_tests/crates/csharp/phase6_slice/baml.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeBareNullInference.cs
- baml_language/sdks/csharp/sdkgen_csharp/Cargo.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/Baml.NuGetNormalizer.csproj
- baml_language/.markdown-whitelist
- baml_language/sdk_tests/crates/csharp/phase11_host_callable/Phase11HostCallable.csproj
- baml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/StaticNullInference.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeResultOnlyInference.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RequestClient.Tests/Baml.Bridge.RequestClient.Tests.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Baml.Bridge.NativeAotGuardProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeComposedRaw.cs
- baml_language/sdk_tests/crates/csharp/phase12_resources/baml.toml
- baml_language/sdk_tests/crates/csharp/.gitignore
- baml_language/.ci/size-gate/aarch64-apple-darwin.toml
- baml_language/sdk_tests/crates/csharp/primitive_slice/baml.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Baml.Bridge.NativeAotGuard.targets
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Stream.Tests/Baml.Bridge.Stream.Tests.csproj
- baml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Phase13PrimitiveEdges.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/README.md
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Baml.Bridge.ManagedContractProbe.csproj
- baml_language/sdk_tests/crates/csharp/phase9_media/baml.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/PackageMarker.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/README.md
- baml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/RawNullableInference.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Consumer/Baml.Bridge.GeneratedCodeContractProbe.Consumer.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiProbe/Baml.Bridge.AbiProbe.csproj
- baml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/BareNullInference.cs
- baml_language/sdks/csharp/bridge_csharp/src/Properties/AssemblyInfo.cs
- baml_language/sdk_tests/crates/csharp/phase13_primitive_edges/baml.toml
- baml_language/sdk_tests/crates/csharp/phase10_stream/baml.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/NuGet.Config
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeUnionRawInference.cs
- baml_language/.ci/size-gate/x86_64-pc-windows-msvc.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeRawOptionalInference.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.Union.LayoutProbe/Baml.Union.LayoutProbe.csproj
- baml_language/sdk_tests/crates/csharp/primitive_slice/Program.cs
- baml_language/sdk_tests/crates/csharp/phase12_resources/baml_src/ns_csharp_phase12/main.baml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/Baml.Bridge.PrimitivePackageConsumer.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAssetProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAotGuardProbe/Program.cs
- baml_language/sdk_tests/crates/csharp/setup.sh
- baml_language/sdk_tests/crates/csharp/phase15_dynamic_values/Phase15DynamicValues.csproj
- baml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/baml_src/ns_csharp_phase14/main.baml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/Baml.Bridge.EnumDiscriminantProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/Baml.Bridge.ReflectionRootProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/CallbackIdAllocator.cs
- baml_language/sdk_tests/crates/csharp/primitive_slice/baml_src/ns_csharp_slice/main.baml
- baml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/missing_getter.c
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeNonNullableNull.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/Baml.Bridge.Tests.csproj
- baml_language/sdk_tests/crates/csharp/phase6_slice/CompileNegative/ResultOnlyInference.cs
- baml_language/sdks/csharp/bridge_csharp/tests/NuGet.EntryGates.Config
- baml_language/sdks/csharp/bridge_csharp/src/RuntimeIdentity.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/Baml.Bridge.DocumentationConsumer.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/Baml.Bridge.ProtocolProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.HostCallable.Tests/Baml.Bridge.HostCallable.Tests.csproj
- baml_language/sdk_tests/crates/csharp/phase9_media/Phase9Media.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiLifetimeProbe/Baml.Bridge.AbiLifetimeProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/Baml.Bridge.MultiRidPackageProbe.targets.in
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/BamlSafeHandleLease.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Baml.BytecodeCarrierEmitter.csproj
- baml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/Phase14StdlibStructurals.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/ProtocolPackageSurface.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/Baml.Bridge.FailureCancellationProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/README.md
- baml_language/sdk_tests/crates/csharp/build.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/Baml.Bridge.GeneratedCodeContractProbe.Runtime.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedContract.Tests/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/Baml.Bridge.GenericCompileProbe.csproj
- baml_language/crates/bex_engine/tests/host_value_callable.rs
- baml_language/sdk_tests/harness_setup/Cargo.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/NegativeRawNullableInference.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.UnionGenerator/Baml.UnionGenerator.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/README.md
- baml_language/sdk_tests/crates/csharp/phase12_resources/Phase12Resources.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/src/Runtime/BamlProcessExit.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlInteger.cs
- baml_language/crates/baml_cli/Cargo.toml
- baml_language/sdk_tests/crates/csharp/phase7_failures/baml.toml
- baml_language/sdk_tests/crates/csharp/phase6_slice/Phase6Slice.csproj
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlHandle.cs
- baml_language/.ci/size-gate/x86_64-unknown-linux-gnu.toml
- baml_language/sdk_tests/crates/csharp/phase7_failures/baml_src/ns_csharp_phase7/main.baml
- baml_language/sdk_tests/crates/csharp/primitive_slice/PrimitiveSlice.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlOptional.cs
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeBuffer.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.NativeAssetProbe/Baml.Bridge.NativeAssetProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/GeneratedCallSurfaces.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/README.md
- baml_language/sdk_tests/crates/csharp/phase10_stream/Phase10Stream.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/Positive.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/README.md
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeMedia.cs
- baml_language/sdk_tests/crates/csharp/setup.ps1
- baml_language/sdk_tests/crates/csharp/phase9_media/baml_src/ns_csharp_phase9/main.baml
- baml_language/sdk_tests/crates/csharp/phase9_media/Program.cs
- baml_language/sdk_tests/crates/csharp/phase10_stream/baml_src/ns_csharp_phase10/main.baml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/Baml.Bridge.ProgramBootstrapProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.NativeProbeMode.targets
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/NativeLibraryResolver.cs
- baml_language/sdk_tests/crates/csharp/phase15_dynamic_values/baml_src/ns_csharp_phase15/main.baml
- baml_language/sdks/csharp/bridge_csharp/src/Proto/OutboundOwnershipScope.cs
- .github/workflows/publish2-csharp-sdk.yaml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/README.md
- baml_language/crates/bex_external_types/src/host_return.rs
- baml_language/.cargo/size-gate.toml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/Baml.Bridge.StreamMediaAbiProbe.csproj
- baml_language/sdks/csharp/bridge_csharp/tests/native_fixtures/table_diagnostics.c
- .github/workflows/cargo-tests.reusable.yaml
- baml_language/sdk_tests/crates/csharp/phase13_primitive_edges/baml_src/ns_csharp_phase13/main.baml
- baml_language/Cargo.toml
- baml_language/sdk_tests/crates/csharp/src/bin/emit_optional_host_call_vectors.rs
- baml_language/sdks/csharp/bridge_csharp/src/Runtime/ProgramRegistrar.cs
- baml_language/sdk_tests/crates/csharp/phase5_slice/baml_src/ns_csharp_phase5/main.baml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GenericCompileProbe/GeneratedApi.cs
- baml_language/crates/baml_codegen_types/src/generator_fields.rs
- baml_language/sdks/csharp/bridge_csharp/src/Baml.Bridge.csproj
- baml_language/sdk_tests/crates/csharp/phase5_slice/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.MultiRidPackageProbe/Baml.Bridge.MultiRidPackageProbe.csproj
- baml_language/crates/bex_engine/src/conversion.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/README.md
- baml_language/sdk_tests/crates/csharp/phase10_stream/Program.cs
- .github/workflows/release-baml-language.yml
- baml_language/sdks/csharp/DEVELOPMENT.md
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/README.md
- baml_language/sdk_tests/crates/csharp/phase14_stdlib_structurals/Program.cs
- baml_language/sdk_tests/crates/csharp/phase6_slice/baml_src/ns_csharp_phase6/main.baml
- baml_language/.config/nextest.toml
- baml_language/sdks/csharp/bridge_csharp/src/Proto/MediaProtocol.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlCallback.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlDynamicCodecRegistry.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlRequestClient.cs
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/EncodedCallArguments.cs
- baml_language/sdk_tests/harness_setup/src/csharp.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/Program.cs
- baml_language/sdks/csharp/bridge_csharp/src/Cffi/BamlSafeHandle.cs
- baml_language/sdks/csharp/bridge_csharp/src/Exceptions/InitializationExceptions.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlNullable.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlStreamState.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Consumer/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RidDiagnosticProbe/Program.cs
- baml_language/sdks/csharp/sdkgen_csharp/src/normalize.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/ProgramProbeRuntime.cs
- baml_language/sdk_tests/crates/csharp/phase13_primitive_edges/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/NativeBytecodeInitializer.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlValueLimits.cs
- baml_language/sdk_tests/crates/csharp/phase11_host_callable/baml_src/ns_csharp_phase11/main.baml
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProgramBootstrapProbe/Program.cs
- baml_language/sdk_tests/crates/csharp/phase12_resources/Program.cs
- baml_language/sdk_tests/crates/csharp/src/lib.rs
- .github/workflows/verify-csharp-product-slice.reusable.yaml
- baml_language/sdk_tests/crates/csharp/phase6_slice/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.PrimitivePackageConsumer/verify.sh
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.Union.LayoutProbe/Program.cs
- baml_language/sdks/csharp/bridge_csharp/src/Exceptions/ExecutionExceptions.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/RequestClientHandle.cs
- baml_language/sdk_tests/crates/csharp/phase15_dynamic_values/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Union2AndBinder.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolPackageConsumer/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.EnumDiscriminantProbe/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/OptionalNullableState.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ReflectionRootProbe/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.AbiProbe/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Media.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FullSurfacePackageConsumer/verify.sh
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/verify.sh
- baml_language/crates/bex_engine/src/lib.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.DocumentationConsumer/verify-deployment.sh
- baml_language/sdk_tests/crates/csharp/phase7_failures/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.RequestClient.Tests/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Stream.Tests/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.UnionGenerator/Program.cs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlMedia.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.BytecodeCarrierEmitter/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/DynamicValues.cs
- baml_language/sdks/csharp/sdkgen_csharp/src/routing.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ProtocolProbe/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.ManagedContractProbe/Program.cs
- baml_language/sdk_tests/crates/csharp/phase11_host_callable/Program.cs
- baml_language/crates/bex_vm/src/vm.rs
- baml_language/sdks/csharp/bridge_csharp/src/Values/BamlValue.cs
- baml_language/sdks/csharp/sdkgen_csharp/src/pipeline.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/ProbeExceptions.cs
- baml_language/sdks/csharp/sdkgen_csharp/src/names.rs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.FailureCancellationProbe/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.GeneratedCodeContractProbe/Runtime/GeneratedContract.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.StreamMediaAbiProbe/NativeBridge.cs
- baml_language/sdks/csharp/sdkgen_csharp/src/transaction.rs
- baml_language/sdks/csharp/bridge_csharp/src/Proto/PrimitiveProtocol.cs
- baml_language/sdks/csharp/bridge_csharp/tools/Baml.NuGetNormalizer/Program.cs
- baml_language/sdks/csharp/bridge_csharp/tests/Baml.Bridge.Tests/Program.cs
Summary
Canary rebase and boundary
b081650c674765af14071413b628d0a5f7063beabaml_stdhost-boundary annotations and AST/compiler-semantic changesunknownbehavior, literal-priority union matching, and root-teardown Major GCunknowncollection fallbackstring | "fixed") because Canary does not preserve that occurrence identitybaml_std, AST, or heap versus CanaryNarrow shared contract
The remaining shared changes are limited to:
Validation
Post-rebase:
cargo nextest run -p sdk_test_csharp --no-fail-fast— 15/15cargo test -p sdkgen_csharp -p bridge_ctypes -p bex_external_types— 103/103cargo test -p bex_engine --test host_value_callable— 20 passed, 1 unrelated documented ignorecargo clippy -p sdkgen_csharp --target wasm32-unknown-unknown --all-targets -- -D warningscargo fmt --all -- --checkactionlintbaml-clisize gate — passed at 26.3 MB (+0.3%)Before the final Canary refresh, the repaired boundary also passed the full C++, Python, Java, TypeScript, and Rust SDK suites. The local TypeScript-web run passed 23/30 checks; the seven remaining runs could not start Chromium/workers in this container and had no failed test assertions.
Summary by CodeRabbit