Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Synapse Core Laravel Package

arnaudmoncondhuy/synapse-core

View on GitHub
Deep Wiki
Context7

SynapseGenerationCompletedEvent

L'événement SynapseGenerationCompletedEvent est le signal de fin. Il est émis une fois que le LLM a terminé de générer sa réponse et que tous les appels d'outils ont été résolus.

Namespace

ArnaudMoncondhuy\SynapseCore\Event\SynapseGenerationCompletedEvent

Constructeur

public function __construct(
    string $fullResponse,
    TokenUsage $usage = new TokenUsage(),
    ?string $debugId = null,
)

Méthodes

Méthode Rôle
getFullResponse(): string Le texte complet et définitif généré par l'IA.
getUsage(): TokenUsage Objet TokenUsage avec la consommation totale de tokens.
getDebugId(): ?string ID unique de l'échange (non nul si mode debug activé).

TokenUsage

L'objet TokenUsage encapsule les statistiques de consommation :

$usage = $event->getUsage();

$usage->promptTokens;      // Tokens en entrée
$usage->completionTokens;  // Tokens générés
$usage->totalTokens;       // Total
$usage->toArray();         // Conversion en tableau ['prompt_tokens' => ..., ...]

Exemple : Calcul de coût et facturation

namespace App\EventSubscriber;

use ArnaudMoncondhuy\SynapseCore\Event\SynapseGenerationCompletedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class BillingSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return [SynapseGenerationCompletedEvent::class => 'onGenerationCompleted'];
    }

    public function onGenerationCompleted(SynapseGenerationCompletedEvent $event): void
    {
        $usage = $event->getUsage();

        $this->billingService->recordUsage(
            totalTokens: $usage->totalTokens,
            debugId: $event->getDebugId(),
        );
    }
}

Voir aussi

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel