<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.98701298701299" branch-rate="0" lines-covered="76" lines-valid="77" branches-covered="0" branches-valid="0" complexity="29" version="0.4" timestamp="1791757818">
  <sources>
    <source>/home/runner/work/forge-dashboard-sdk-php/forge-dashboard-sdk-php/src</source>
  </sources>
  <packages>
    <package name="Client.php" line-rate="1" branch-rate="0" complexity="5">
      <classes>
        <class name="ForgeDashboard\Client" filename="Client.php" line-rate="1" branch-rate="0" complexity="5">
          <methods>
            <method name="__construct" signature="string $baseUrl, ?string $apiToken, ?GuzzleHttp\ClientInterface $httpClient, ?GuzzleHttp\HandlerStack $handlerStack, int $maxRetries, float $retryBaseDelaySeconds" line-rate="1" branch-rate="0" complexity="2">
              <lines>
                <line number="97" hits="11"/>
                <line number="99" hits="11"/>
                <line number="101" hits="11"/>
                <line number="102" hits="11"/>
                <line number="107" hits="11"/>
                <line number="109" hits="11"/>
                <line number="110" hits="11"/>
                <line number="111" hits="11"/>
                <line number="112" hits="11"/>
                <line number="113" hits="11"/>
                <line number="114" hits="11"/>
                <line number="115" hits="11"/>
                <line number="116" hits="11"/>
                <line number="117" hits="11"/>
              </lines>
            </method>
            <method name="buildGuzzleClient" signature="GuzzleHttp\HandlerStack $stack, ?string $token, int $maxRetries, float $baseDelaySeconds" line-rate="1" branch-rate="0" complexity="3">
              <lines>
                <line number="122" hits="10"/>
                <line number="123" hits="10"/>
                <line number="124" hits="10"/>
                <line number="125" hits="5"/>
                <line number="128" hits="5"/>
                <line number="129" hits="10"/>
                <line number="130" hits="10"/>
                <line number="132" hits="10"/>
                <line number="133" hits="10"/>
                <line number="135" hits="10"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="97" hits="11"/>
            <line number="99" hits="11"/>
            <line number="101" hits="11"/>
            <line number="102" hits="11"/>
            <line number="107" hits="11"/>
            <line number="109" hits="11"/>
            <line number="110" hits="11"/>
            <line number="111" hits="11"/>
            <line number="112" hits="11"/>
            <line number="113" hits="11"/>
            <line number="114" hits="11"/>
            <line number="115" hits="11"/>
            <line number="116" hits="11"/>
            <line number="117" hits="11"/>
            <line number="122" hits="10"/>
            <line number="123" hits="10"/>
            <line number="124" hits="10"/>
            <line number="125" hits="5"/>
            <line number="128" hits="5"/>
            <line number="129" hits="10"/>
            <line number="130" hits="10"/>
            <line number="132" hits="10"/>
            <line number="133" hits="10"/>
            <line number="135" hits="10"/>
          </lines>
        </class>
      </classes>
    </package>
    <package name="Exception/ApiError.php" line-rate="1" branch-rate="0" complexity="10">
      <classes>
        <class name="ForgeDashboard\Exception\ApiError" filename="Exception/ApiError.php" line-rate="1" branch-rate="0" complexity="10">
          <methods>
            <method name="__construct" signature="int $statusCode, string $apiMessage, ?Throwable $previous" line-rate="1" branch-rate="0" complexity="1">
              <lines>
                <line number="24" hits="6"/>
                <line number="26" hits="6"/>
              </lines>
            </method>
            <method name="fromGeneratedException" signature="ForgeDashboard\Generated\ApiException $exception" line-rate="1" branch-rate="0" complexity="1">
              <lines>
                <line number="39" hits="5"/>
                <line number="40" hits="5"/>
                <line number="41" hits="5"/>
                <line number="42" hits="5"/>
                <line number="43" hits="5"/>
              </lines>
            </method>
            <method name="decodeMessage" signature="ForgeDashboard\Generated\ApiException $exception" line-rate="1" branch-rate="0" complexity="8">
              <lines>
                <line number="48" hits="5"/>
                <line number="49" hits="5"/>
                <line number="50" hits="2"/>
                <line number="51" hits="2"/>
                <line number="52" hits="2"/>
                <line number="56" hits="3"/>
                <line number="57" hits="3"/>
                <line number="58" hits="3"/>
                <line number="59" hits="3"/>
                <line number="60" hits="2"/>
                <line number="63" hits="1"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="24" hits="6"/>
            <line number="26" hits="6"/>
            <line number="39" hits="5"/>
            <line number="40" hits="5"/>
            <line number="41" hits="5"/>
            <line number="42" hits="5"/>
            <line number="43" hits="5"/>
            <line number="48" hits="5"/>
            <line number="49" hits="5"/>
            <line number="50" hits="2"/>
            <line number="51" hits="2"/>
            <line number="52" hits="2"/>
            <line number="56" hits="3"/>
            <line number="57" hits="3"/>
            <line number="58" hits="3"/>
            <line number="59" hits="3"/>
            <line number="60" hits="2"/>
            <line number="63" hits="1"/>
          </lines>
        </class>
      </classes>
    </package>
    <package name="Retry/RetryMiddleware.php" line-rate="0.97142857142857" branch-rate="0" complexity="14">
      <classes>
        <class name="ForgeDashboard\Retry\RetryMiddleware" filename="Retry/RetryMiddleware.php" line-rate="0.97142857142857" branch-rate="0" complexity="14">
          <methods>
            <method name="__construct" signature="int $maxRetries, float $baseDelaySeconds" line-rate="1" branch-rate="0" complexity="1">
              <lines>
                <line number="25" hits="21"/>
              </lines>
            </method>
            <method name="decider" signature="" line-rate="0.93333333333333" branch-rate="0" complexity="5">
              <lines>
                <line number="41" hits="17"/>
                <line number="42" hits="17"/>
                <line number="43" hits="17"/>
                <line number="44" hits="17"/>
                <line number="45" hits="17"/>
                <line number="46" hits="17"/>
                <line number="47" hits="17"/>
                <line number="48" hits="4"/>
                <line number="51" hits="16"/>
                <line number="54" hits="1"/>
                <line number="57" hits="15"/>
                <line number="58" hits="0"/>
                <line number="61" hits="15"/>
                <line number="63" hits="15"/>
                <line number="64" hits="17"/>
              </lines>
            </method>
            <method name="delay" signature="" line-rate="1" branch-rate="0" complexity="3">
              <lines>
                <line number="75" hits="14"/>
                <line number="76" hits="6"/>
                <line number="77" hits="5"/>
                <line number="78" hits="5"/>
                <line number="79" hits="3"/>
                <line number="83" hits="3"/>
                <line number="84" hits="3"/>
                <line number="86" hits="3"/>
                <line number="87" hits="14"/>
              </lines>
            </method>
            <method name="retryAfterMillis" signature="Psr\Http\Message\ResponseInterface $response" line-rate="1" branch-rate="0" complexity="5">
              <lines>
                <line number="92" hits="5"/>
                <line number="93" hits="5"/>
                <line number="94" hits="1"/>
                <line number="97" hits="4"/>
                <line number="98" hits="2"/>
                <line number="106" hits="2"/>
                <line number="107" hits="2"/>
                <line number="108" hits="1"/>
                <line number="111" hits="1"/>
                <line number="113" hits="1"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="25" hits="21"/>
            <line number="41" hits="17"/>
            <line number="42" hits="17"/>
            <line number="43" hits="17"/>
            <line number="44" hits="17"/>
            <line number="45" hits="17"/>
            <line number="46" hits="17"/>
            <line number="47" hits="17"/>
            <line number="48" hits="4"/>
            <line number="51" hits="16"/>
            <line number="54" hits="1"/>
            <line number="57" hits="15"/>
            <line number="58" hits="0"/>
            <line number="61" hits="15"/>
            <line number="63" hits="15"/>
            <line number="64" hits="17"/>
            <line number="75" hits="14"/>
            <line number="76" hits="6"/>
            <line number="77" hits="5"/>
            <line number="78" hits="5"/>
            <line number="79" hits="3"/>
            <line number="83" hits="3"/>
            <line number="84" hits="3"/>
            <line number="86" hits="3"/>
            <line number="87" hits="14"/>
            <line number="92" hits="5"/>
            <line number="93" hits="5"/>
            <line number="94" hits="1"/>
            <line number="97" hits="4"/>
            <line number="98" hits="2"/>
            <line number="106" hits="2"/>
            <line number="107" hits="2"/>
            <line number="108" hits="1"/>
            <line number="111" hits="1"/>
            <line number="113" hits="1"/>
          </lines>
        </class>
      </classes>
    </package>
  </packages>
</coverage>
