Aller au contenu principal

Paquets

AUSUS v0.1.0 publie 10 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 de la v0.1.0 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é ; il est prévu qu'ils soient livrés sous forme de code fonctionnel en v0.2.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
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. Un PersistenceDriver adossé à SQLite : SqlitePersistenceDriver, SqliteRepository, SchemaDeriver, et DatabaseAuditSink. 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 v0.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 en v0.1.0

Ces quatre paquets sont des noms réservés. Ils sont livrés en v0.1.0 avec des métadonnées mais aucune implémentation, et sont prévus pour la v0.2.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 en v0.1.0 est le cloisonnement par tenant intégré à persistence-sql — et non un pilote tenancy-row distinct.
  • L'audit en v0.1.0 est DatabaseAuditSink dans persistence-sql — 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)
└─ api-http (-> kernel, runtime-default)
standard-stack (-> kernel, persistence-sql, runtime-default, api-http)
starter (-> kernel, persistence-sql, runtime-default)