Skip to content

Commit cce0fb3

Browse files
committed
refactor: improves invalid errors
1 parent b05b215 commit cce0fb3

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

src/Builders/PromptBuilder.php

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -954,13 +954,16 @@ private function getConfiguredModel(CapabilityEnum $capability): ModelInterface
954954

955955
if (empty($providerModelsMetadata)) {
956956
throw new InvalidArgumentException(
957-
'No models found that support the required capabilities and options for this prompt. ' .
958-
'Required capabilities: ' . implode(', ', array_map(function ($cap) {
959-
return $cap->value;
960-
}, $requirements->getRequiredCapabilities())) .
961-
'. Required options: ' . implode(', ', array_map(function ($opt) {
962-
return $opt->getName()->value . '=' . json_encode($opt->getValue());
963-
}, $requirements->getRequiredOptions()))
957+
sprintf(
958+
'No models found that support the required capabilities and options for this prompt. ' .
959+
'Required capabilities: %s. Required options: %s',
960+
implode(', ', array_map(function ($cap) {
961+
return $cap->value;
962+
}, $requirements->getRequiredCapabilities())),
963+
implode(', ', array_map(function ($opt) {
964+
return $opt->getName()->value . '=' . json_encode($opt->getValue());
965+
}, $requirements->getRequiredOptions()))
966+
)
964967
);
965968
}
966969

@@ -975,13 +978,17 @@ private function getConfiguredModel(CapabilityEnum $capability): ModelInterface
975978

976979
if (empty($modelsMetadata)) {
977980
throw new InvalidArgumentException(
978-
'No models found that support the required capabilities and options for this prompt. ' .
979-
'Required capabilities: ' . implode(', ', array_map(function ($cap) {
980-
return $cap->value;
981-
}, $requirements->getRequiredCapabilities())) .
982-
'. Required options: ' . implode(', ', array_map(function ($opt) {
983-
return $opt->getName()->value . '=' . json_encode($opt->getValue());
984-
}, $requirements->getRequiredOptions()))
981+
sprintf(
982+
'No models found for %s that support the required capabilities and options for this prompt. ' .
983+
'Required capabilities: %s. Required options: %s',
984+
$this->providerIdOrClassName,
985+
implode(', ', array_map(function ($cap) {
986+
return $cap->value;
987+
}, $requirements->getRequiredCapabilities())),
988+
implode(', ', array_map(function ($opt) {
989+
return $opt->getName()->value . '=' . json_encode($opt->getValue());
990+
}, $requirements->getRequiredOptions()))
991+
)
985992
);
986993
}
987994

tests/unit/Builders/PromptBuilderTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2654,7 +2654,7 @@ public function testGenerateResultWithProviderNoModelsThrowsException(): void
26542654
$builder->usingProvider('test-provider');
26552655

26562656
$this->expectException(InvalidArgumentException::class);
2657-
$this->expectExceptionMessage('No models found that support the required capabilities');
2657+
$this->expectExceptionMessage('No models found for test-provider that support the required capabilities');
26582658

26592659
$builder->generateResult();
26602660
}

0 commit comments

Comments
 (0)