Weave Code
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

Installation

Ce guide vous accompagne dans l'installation et la configuration initiale de Synapse Core.

Prérequis

  • PHP 8.2 ou supérieur
  • Symfony 7.0 / 8.0
  • Doctrine ORM (si vous souhaitez utiliser la persistance des conversations)

1. Installation du package

Utilisez Composer pour ajouter le bundle à votre projet :

composer require arnaudmoncondhuy/synapse-core

2. Initialisation Rapide (Recommandé)

Plutôt que de configurer manuellement les entités et fichiers, utilisez l'assistant de diagnostic pour initialiser votre projet en une commande :

php bin/console synapse:doctor --init

Cette commande va :

  1. Créer le fichier config/packages/synapse.yaml avec les réglages par défaut.
  2. Générer les entités SynapseConversation et SynapseMessage dans src/Entity/.
  3. Ajouter le chargeur de routes Synapse dans config/routes.yaml.
  4. Configurer un security.yaml fonctionnel avec un utilisateur admin / admin.

3. Configuration Manuelle (Expert)

Si vous préférez tout configurer vous-même, suivez les étapes ci-dessous.

Entité Conversation

// src/Entity/Conversation.php
namespace App\Entity;

use ArnaudMoncondhuy\SynapseCore\Storage\Entity\SynapseConversation;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity]
class Conversation extends SynapseConversation
{
    #[ORM\Id, ORM\GeneratedValue, ORM\Column]
    private ?int $id = null;
    
    public function getId(): ?int { return $this->id; }
}

Entité Message

// src/Entity/Message.php
namespace App\Entity;

use ArnaudMoncondhuy\SynapseCore\Storage\Entity\SynapseMessage;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity]
class Message extends SynapseMessage
{
    #[ORM\Id, ORM\GeneratedValue, ORM\Column]
    private ?int $id = null;

    public function getId(): ?int { return $this->id; }
}

3. Configuration minimale

Créez le fichier de configuration config/packages/synapse.yaml :

synapse:
    persistence:
        enabled: true
        conversation_class: App\Entity\Conversation
        message_class: App\Entity\Message

    admin:
        enabled: true

4. Mise à jour de la base de données

Générez et exécutez une migration pour créer les tables nécessaires :

php bin/console make:migration
php bin/console doctrine:migrations:migrate

5. Accès à l'administration

Une fois installé, vous pouvez accéder à l'interface d'administration pour configurer vos providers (Gemini, OpenAI, etc.) :

URL par défaut : /synapse/admin

[!NOTE] Par défaut, l'accès est réservé aux utilisateurs ayant le rôle ROLE_ADMIN.

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.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle