|
7 | 7 |
|
8 | 8 | namespace Dtyq\SuperMagic\Application\SuperAgent\Service; |
9 | 9 |
|
10 | | -use App\Infrastructure\Util\IdGenerator\IdGenerator; |
11 | 10 | use App\Domain\Contact\Entity\ValueObject\DataIsolation; |
12 | 11 | use App\Domain\File\Service\FileDomainService; |
13 | 12 | use App\Domain\Provider\Entity\ValueObject\Status; |
14 | 13 | use App\Domain\Provider\Service\ProviderModelDomainService; |
15 | 14 | use App\ErrorCode\GenericErrorCode; |
16 | 15 | use App\Infrastructure\Core\Exception\BusinessException; |
17 | 16 | use App\Infrastructure\Core\Exception\ExceptionBuilder; |
| 17 | +use App\Infrastructure\Util\IdGenerator\IdGenerator; |
18 | 18 | use Cron\CronExpression; |
19 | 19 | use DateTime; |
20 | 20 | use Dtyq\SuperMagic\Application\SuperAgent\Assembler\TaskConfigAssembler; |
@@ -337,49 +337,6 @@ protected function buildModelFromProviderModelId(string $modelId, DataIsolation |
337 | 337 | ]; |
338 | 338 | } |
339 | 339 |
|
340 | | - private function applyOpenMessageContentUpdates( |
341 | | - MessageScheduleEntity $messageSchedule, |
342 | | - OpenMessageScheduleEntity $entity, |
343 | | - DataIsolation $dataIsolation |
344 | | - ): void { |
345 | | - if (! $entity->hasMessageContentTextInput() && ! $entity->hasModelIdInput()) { |
346 | | - return; |
347 | | - } |
348 | | - |
349 | | - $messageContent = $messageSchedule->getMessageContent(); |
350 | | - $resolvedModelId = $entity->hasModelIdInput() |
351 | | - ? (string) $entity->getModelId() |
352 | | - : $this->extractModelIdFromMessageContent($messageContent); |
353 | | - $model = $this->buildModelFromProviderModelId($resolvedModelId, $dataIsolation); |
354 | | - |
355 | | - if ($entity->hasMessageContentTextInput()) { |
356 | | - $messageSchedule->setMessageContent( |
357 | | - $this->buildFullMessageContent((string) ($entity->getMessageContentText() ?? ''), $model) |
358 | | - ); |
359 | | - |
360 | | - return; |
361 | | - } |
362 | | - |
363 | | - if (! isset($messageContent['extra']) || ! is_array($messageContent['extra'])) { |
364 | | - $messageContent['extra'] = []; |
365 | | - } |
366 | | - if (! isset($messageContent['extra']['super_agent']) || ! is_array($messageContent['extra']['super_agent'])) { |
367 | | - $messageContent['extra']['super_agent'] = []; |
368 | | - } |
369 | | - |
370 | | - $messageContent['extra']['super_agent']['model'] = $model; |
371 | | - $messageSchedule->setMessageContent($messageContent); |
372 | | - } |
373 | | - |
374 | | - private function extractModelIdFromMessageContent(array $messageContent): string |
375 | | - { |
376 | | - return (string) ( |
377 | | - $messageContent['extra']['super_agent']['model']['provider_model_id'] |
378 | | - ?? $messageContent['extra']['super_agent']['model']['model_id'] |
379 | | - ?? '' |
380 | | - ); |
381 | | - } |
382 | | - |
383 | 340 | protected function createTimeConfigDTO(array $timeConfig): TimeConfigDTO |
384 | 341 | { |
385 | 342 | $timeConfigDTO = new TimeConfigDTO(); |
@@ -560,4 +517,47 @@ protected function shouldMarkAsCompleted(MessageScheduleEntity $messageSchedule) |
560 | 517 |
|
561 | 518 | return false; |
562 | 519 | } |
| 520 | + |
| 521 | + private function applyOpenMessageContentUpdates( |
| 522 | + MessageScheduleEntity $messageSchedule, |
| 523 | + OpenMessageScheduleEntity $entity, |
| 524 | + DataIsolation $dataIsolation |
| 525 | + ): void { |
| 526 | + if (! $entity->hasMessageContentTextInput() && ! $entity->hasModelIdInput()) { |
| 527 | + return; |
| 528 | + } |
| 529 | + |
| 530 | + $messageContent = $messageSchedule->getMessageContent(); |
| 531 | + $resolvedModelId = $entity->hasModelIdInput() |
| 532 | + ? (string) $entity->getModelId() |
| 533 | + : $this->extractModelIdFromMessageContent($messageContent); |
| 534 | + $model = $this->buildModelFromProviderModelId($resolvedModelId, $dataIsolation); |
| 535 | + |
| 536 | + if ($entity->hasMessageContentTextInput()) { |
| 537 | + $messageSchedule->setMessageContent( |
| 538 | + $this->buildFullMessageContent((string) ($entity->getMessageContentText() ?? ''), $model) |
| 539 | + ); |
| 540 | + |
| 541 | + return; |
| 542 | + } |
| 543 | + |
| 544 | + if (! isset($messageContent['extra']) || ! is_array($messageContent['extra'])) { |
| 545 | + $messageContent['extra'] = []; |
| 546 | + } |
| 547 | + if (! isset($messageContent['extra']['super_agent']) || ! is_array($messageContent['extra']['super_agent'])) { |
| 548 | + $messageContent['extra']['super_agent'] = []; |
| 549 | + } |
| 550 | + |
| 551 | + $messageContent['extra']['super_agent']['model'] = $model; |
| 552 | + $messageSchedule->setMessageContent($messageContent); |
| 553 | + } |
| 554 | + |
| 555 | + private function extractModelIdFromMessageContent(array $messageContent): string |
| 556 | + { |
| 557 | + return (string) ( |
| 558 | + $messageContent['extra']['super_agent']['model']['provider_model_id'] |
| 559 | + ?? $messageContent['extra']['super_agent']['model']['model_id'] |
| 560 | + ?? '' |
| 561 | + ); |
| 562 | + } |
563 | 563 | } |
0 commit comments