Skip to content

Commit 7c742aa

Browse files
author
Mohamed Khaled
committed
Update Anthropic and Google ModelMetadataDirectory to use ResponseException
1 parent a6bbaf2 commit 7c742aa

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

src/ProviderImplementations/Anthropic/AnthropicModelMetadataDirectory.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
namespace WordPress\AiClient\ProviderImplementations\Anthropic;
66

7-
use WordPress\AiClient\Common\Exception\RuntimeException;
87
use WordPress\AiClient\Messages\Enums\ModalityEnum;
98
use WordPress\AiClient\Providers\Http\Contracts\RequestAuthenticationInterface;
109
use WordPress\AiClient\Providers\Http\DTO\ApiKeyRequestAuthentication;
1110
use WordPress\AiClient\Providers\Http\DTO\Request;
1211
use WordPress\AiClient\Providers\Http\DTO\Response;
1312
use WordPress\AiClient\Providers\Http\Enums\HttpMethodEnum;
13+
use WordPress\AiClient\Providers\Http\Exception\ResponseException;
1414
use WordPress\AiClient\Providers\Models\DTO\ModelMetadata;
1515
use WordPress\AiClient\Providers\Models\DTO\SupportedOption;
1616
use WordPress\AiClient\Providers\Models\Enums\CapabilityEnum;
@@ -71,9 +71,7 @@ protected function parseResponseToModelMetadataList(Response $response): array
7171
/** @var ModelsResponseData $responseData */
7272
$responseData = $response->getData();
7373
if (!isset($responseData['data']) || !$responseData['data']) {
74-
throw new RuntimeException(
75-
'Unexpected API response: Missing the data key.'
76-
);
74+
throw ResponseException::fromMissingData('Anthropic', 'data');
7775
}
7876

7977
// Unfortunately, the Anthropic API does not return model capabilities, so we have to hardcode them here.

src/ProviderImplementations/Google/GoogleModelMetadataDirectory.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace WordPress\AiClient\ProviderImplementations\Google;
66

7-
use WordPress\AiClient\Common\Exception\RuntimeException;
87
use WordPress\AiClient\Files\Enums\FileTypeEnum;
98
use WordPress\AiClient\Files\Enums\MediaOrientationEnum;
109
use WordPress\AiClient\Messages\Enums\ModalityEnum;
@@ -13,6 +12,7 @@
1312
use WordPress\AiClient\Providers\Http\DTO\Request;
1413
use WordPress\AiClient\Providers\Http\DTO\Response;
1514
use WordPress\AiClient\Providers\Http\Enums\HttpMethodEnum;
15+
use WordPress\AiClient\Providers\Http\Exception\ResponseException;
1616
use WordPress\AiClient\Providers\Models\DTO\ModelMetadata;
1717
use WordPress\AiClient\Providers\Models\DTO\SupportedOption;
1818
use WordPress\AiClient\Providers\Models\Enums\CapabilityEnum;
@@ -87,9 +87,7 @@ protected function parseResponseToModelMetadataList(Response $response): array
8787
/** @var ModelsResponseData $responseData */
8888
$responseData = $response->getData();
8989
if (!isset($responseData['models']) || !$responseData['models']) {
90-
throw new RuntimeException(
91-
'Unexpected API response: Missing the models key.'
92-
);
90+
throw ResponseException::fromMissingData('Google', 'models');
9391
}
9492

9593
$geminiCapabilities = [

0 commit comments

Comments
 (0)