Aller au contenu principal

Paquets

AUSUS v1.1.0 publie 11 paquets Composer et 1 paquet npm. Cette page est la liste de référence de ce qu'est chacun d'eux — et lesquels sont des noms réservés sans code à ce jour.

:::warning Implémentés vs réservés Quatre paquets Composer sont uniquement des réservations de nom. Ils contiennent un composer.json et un README.md mais aucun code source. Ils sont listés ici afin que l'espace de noms soit documenté et revendiqué, et restent réservés en v1.1.0. Ne comptez pas sur eux comme des paquets fonctionnels. :::

Implémentés — Composer

PaquetCoucheRôle
ausus/kernelL0contrats, objets-valeurs, DSL, Compiler
ausus/runtime-defaultL2la chaîne Invoker
ausus/persistence-sqlL3pilote de persistance SQLite (référence)
ausus/persistence-postgresL3pilote de persistance PostgreSQL (production)
ausus/api-httpL4API HTTP PSR-7/15

ausus/kernel

Couche L0. Contrats et objets-valeurs uniquement — aucun effet de bord à l'exécution. Définit les types de nœuds du graphe de métadonnées, le contrat Plugin, le Compiler, le DSL (DslPlugin, Dsl, Field, Action), les contrats Policy / Effect / Repository / Auditor, les objets-valeurs (Tenant, Reference, Actor, …), Ulid, et la taxonomie des exceptions. Tous les autres paquets en dépendent.

ausus/runtime-default

Couche L2. Le moteur d'exécution : Invoker, PolicyEngine, WorkflowRuntime, EffectDispatcher et les effets intégrés, DefaultAuditor, et ProjectionRenderer. Dépend de kernel. Voir Le runtime.

ausus/persistence-sql

Couche L3. Le PersistenceDriver de référence adossé à SQLite : SqlitePersistenceDriver, SqliteRepository, SchemaDeriver, et DatabaseAuditSink. Dépend de kernel. Voir Persistance SQL.

ausus/persistence-postgres

Couche L3. L'implémentation PostgreSQL de production du même contrat PersistenceDriver : PostgresPersistenceDriver, PostgresRepository, PostgresSchemaDeriver, et PostgresAuditSink. Compatible en comportement avec persistence-sql, vérifiée par un gate de compatibilité inter-drivers continu. Dépend de kernel. Voir Persistance SQL.

ausus/api-http

Couche L4. Un Router PSR-15 exposant les projections et les actions via HTTP, plus ErrorMapper et un Emitter minimal. Dépend de kernel et runtime-default. Voir L'API HTTP.

Implémentés — modèle de projet et métapaquet

PaquetTypeRôle
ausus/starterprojetmodèle composer create-project — câble la pile et fournit l'exemple HelloInvoice
ausus/standard-stackmétapaquetépingle l'ensemble de paquets validé pour la v1.1.0 ; dépend de kernel, persistence-sql, runtime-default, api-http

Implémentés — npm

PaquetRôle
@ausus/renderer-reactmoteur de rendu React 18/19 pour le format de transport ViewSchema

ESM uniquement ; react/react-dom sont des dépendances paires. Voir Le moteur de rendu React.

Réservés — nom uniquement, aucun code

Ces quatre paquets sont des noms réservés. Ils sont livrés avec des métadonnées mais aucune implémentation, et restent réservés en v1.1.0.

PaquetRéservé pourCouche prévue
ausus/tenancy-rowun pilote de multi-tenancy au niveau ligneL3
ausus/audit-databaseun sink/pilote d'audit dédié en base de donnéesL3
ausus/auth-bridgele pont d'authentification / résolution d'acteurL2–L4
ausus/presentation-defaultla couche de présentation L5 au-delà du moteur de rendu du kernelL5

:::note Ce que cela signifie pour vous

  • La multi-tenancy est le cloisonnement par tenant intégré aux pilotes de persistance (persistence-sql / persistence-postgres) — et non un pilote tenancy-row distinct.
  • L'audit est le sink d'audit dans la transaction fourni par les pilotes de persistance — et non le paquet audit-database.
  • L'authentification n'est pas fournie — auth-bridge n'est pas écrit. Voir la note de sécurité dans L'API HTTP. :::

Ordre des dépendances

Lors de l'installation manuelle des paquets, suivez l'ordre des dépendances :

kernel
├─ runtime-default (-> kernel)
├─ persistence-sql (-> kernel)
├─ persistence-postgres (-> kernel)
└─ api-http (-> kernel, runtime-default)
standard-stack (-> kernel, persistence-sql, runtime-default, api-http)
starter (-> kernel, persistence-sql, runtime-default)