< Summary

Information
Class: NexusLabs.Needlr.AgentFramework.BuiltAgentFrameworkSyringe
Assembly: NexusLabs.Needlr.AgentFramework
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework/BuiltAgentFrameworkSyringe.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 24
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Value()100%11100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework/BuiltAgentFrameworkSyringe.cs

#LineLine coverage
 1namespace NexusLabs.Needlr.AgentFramework;
 2
 3/// <summary>
 4/// DI singleton that caches the resolved <see cref="AgentFrameworkSyringe"/>.
 5/// Used by both the <see cref="IAgentFactory"/> and <see cref="Progress.IProgressReporterFactory"/>
 6/// registrations so they observe identical configuration regardless of resolution order.
 7/// </summary>
 8/// <remarks>
 9/// The previous implementation captured sink types in a local closure mutated by the
 10/// <see cref="IAgentFactory"/> factory lambda, which created a resolve-order race with
 11/// <see cref="Progress.IProgressReporterFactory"/>. Routing both through this singleton
 12/// guarantees the configure delegate runs exactly once and both consumers see the same
 13/// built syringe.
 14/// </remarks>
 15[DoNotAutoRegister]
 16internal sealed class BuiltAgentFrameworkSyringe
 17{
 20018    internal BuiltAgentFrameworkSyringe(AgentFrameworkSyringe value)
 19    {
 20020        Value = value;
 20021    }
 22
 27523    public AgentFrameworkSyringe Value { get; }
 24}