---
title: Dependencies
summary: Everything the proxy depends on and everything that depends on the proxy.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Dependencies

## Upstream (what the proxy depends on)

| Dependency | Kind | Evidence |
| --- | --- | --- |
| `System.ServiceModel` (`DuplexClientBase<T>`, `ClientBase<T>`, `InstanceContext`) | .NET Framework assembly | `Reference.cs:385,387,438` |
| `System.Runtime.Serialization` (DataContract types for the `DataService` namespace) | .NET Framework assembly | `DataService.xsd`; generated types in `Reference.cs` |
| Remote `` `AgentStateService` † `` (CallRex) | External SOAP/WCF service, hosted outside this repository | `app.config:71-72` |

The remote service is inferred to be the third-party CallRex call-recording platform's real-time agent-state feed*, based on the shared `callrexprod` host with the sibling `CallRex` proxy and the proxy name. It is outside this run's scope (`soapServiceHosts` is empty — this repository hosts no SOAP services).

## Downstream (what depends on the proxy)

| Consumer | Relationship | Evidence |
| --- | --- | --- |
| `SAIF.Services.Web.Proxies` | Owning project; compiles the generated `AgentStateServiceClient` / `ClientAccessPolicyClient` into its assembly | `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj` |
| `SAIF.SAIFCode.Core` NuGet package | Packages `SAIF.Services.Web.Proxies.dll`; because the generated clients are `public`, external package consumers could construct and call them* | `Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec:75-76` |
| No in-repo caller | No source file in this repository references `AgentStateServiceClient`, `ClientAccessPolicyClient`, or the `CallRexState` namespace outside the generated `Service References/` folder | Repository-wide search (see [Consumption](consumption.md)) |

`SAIF.Services.Web.Proxies` itself is documented at [its overview](../../libraries/saif-services-web-proxies/overview.md).

## Related proxy

`CallRex` (`ClientService`) is a separate generated proxy sharing the same `callrexprod` host (port 8002 vs. 8003), analyzed and documented independently — see [CallRex](../callrex/index.md).

## Packaging

| Artifact | Location |
| --- | --- |
| Compiled assembly | `SAIF.Services.Web.Proxies.dll`, packaged into NuGet `SAIF.SAIFCode.Core` |
| Package manifest | `Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec:75-76` |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

## Sources
- `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj`
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/Reference.cs`
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/Reference.svcmap`
- `Services/SAIF.Services.Web.Proxies/app.config`
- `Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec`
