Download the PHP package sentinelo/agent-core without Composer
On this page you can find all versions of the php package sentinelo/agent-core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sentinelo/agent-core
More information about sentinelo/agent-core
Files in sentinelo/agent-core
Package agent-core
Short Description Cœur métier des agents Sentinelo — neutre vis-à-vis de la plateforme (WordPress, PrestaShop, Symfony/Sylius/Laravel).
License proprietary
Informations about the package agent-core
sentinelo/agent-core
Cœur métier partagé par tous les agents Sentinelo. Il a vécu jusqu'ici dans
agents/wordpress/src/AgentCore/, à l'intérieur du plugin WordPress ; il en est sorti le jour
où un second agent a dû le consommer, parce qu'un cœur « partagé » qui n'est installable
que par copie n'est pas partagé, il est dupliqué.
Ce qu'il contient
Aucune ligne de ce paquet ne connaît WordPress, PrestaShop ou Symfony. Il fournit :
Port/— les interfaces que chaque plateforme implémente (FileSystem,DatabaseDumper,ObjectStorage,Crypto,Inventory,Scheduler,PackageInstaller, …) ;Backup/,Scanner/,Audit/,Webhook/,Storage/,Support/— les orchestrateurs, les barèmes et les constructeurs de payload, qui n'utilisent que ces ports.
Les trois règles qui ne se négocient pas
- Neutralité. Pas de
wp_*, pas de$wpdb, pas de constante WordPress — pas même dans une chaîne qui finit dans un payload. La règle est vérifiée partests/Neutrality/PlatformNeutralityTest.php, qui échoue sur simple présence du motif. - Le barème de scan ne s'invente pas.
Scanner\CheckCataloguedétient les identifiants de check et leurs points. Une plateforme déclare le sous-ensemble qu'elle sait honnêtement exécuter viaScanProfile::of([...]);ScoreCalculatornormalise sur ce qui a tourné. Un check qu'on ne peut pas faire est omis, jamais simulé — un stub distribue des points gratuits et fait mentir la comparaison entre deux sites. - Le contrat agent ↔ backend est produit ici.
Backup\BackupPayloadetBackup\RestorePayloadrendent à la fois la réponse de polling et le webhook ;Support\Timestampsest la seule autorité d'horodatage (UTC en stockage, ISO 8601 avec offset sur le fil). Voir la section « Agent ↔ backend contract » duCLAUDE.mdracine.
Consommation
Le paquet n'est pas publié sur Packagist. Les agents du monorepo le référencent par dépôt
path :
En dehors du monorepo, il passe par le dépôt Composer privé — voir
docs/AGENT-DISTRIBUTION.md.
Déchiffrer une sauvegarde hors de Sentinelo : bin/sentinelo-decrypt
Une sauvegarde téléchargée depuis l'application est un fichier ….enc : l'agent chiffre
l'archive avant de l'envoyer (format SENTFENC / SENTFEN2, blocs de 1 Mio authentifiés).
La clé est dérivée de la configuration du site ; la plateforme ne la détient pas. Cet
outil rend l'archive d'origine — un tar (ou un zip pour les sauvegardes les plus
anciennes) contenant les fichiers et l'export SQL —, lisible ensuite par les outils
standard (tar -xf, mysql < …).
Prérequis : PHP 8.1 ou plus, avec l'extension sodium (ou openssl pour les archives
produites sur un hébergement qui n'avait pas sodium). Aucune autre dépendance : sans
vendor/, le script charge directement le chiffreur.
Codes de sortie : 0 succès, 1 déchiffrement refusé (clé fausse, archive altérée ou
tronquée — aucune sortie n'est alors laissée), 2 usage incorrect. Une sortie existante
n'est jamais écrasée.
Matière de clé, selon la plateforme du site — les valeurs brutes des constantes, concaténées dans cet ordre, sans séparateur :
| Plateforme | Matière de clé |
|---|---|
| WordPress / WooCommerce | AUTH_KEY puis SECURE_AUTH_KEY (wp-config.php) — par exemple wp eval 'echo AUTH_KEY . SECURE_AUTH_KEY;' |
| PrestaShop | _COOKIE_KEY_ puis _RIJNDAEL_KEY_ si la boutique la définit encore |
| Symfony / Sylius / Laravel | non couvert : l'agent Composer chiffre dans son propre format (OpenSslCrypto) |
Ce qu'il faut savoir avant d'en dépendre : la clé suit ces constantes. Si les clés du site sont régénérées (salts WordPress, clé de cookie PrestaShop), les archives produites avant ne se déchiffrent plus qu'avec les anciennes valeurs — conservez-les tant que vous voulez pouvoir relire ces sauvegardes.
Tests
Le paquet porte ses propres tests de neutralité et de barème :
Les tests de comportement les plus riches vivent encore dans agents/wordpress/tests/ : ils
exercent le cœur à travers l'agent WordPress, c'est-à-dire par le chemin qu'emprunte
la production. Ils y restent tant qu'aucun second agent ne les revendique.