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

Am Driver Laravel Package

application-manager-tools/am-driver

Symfony bundle + framework-agnostic PHP library to connect managed apps to Application Manager: orchestration commands, consumption webhooks, and instance operational state push. Includes OpenAPI 3.1 spec + Swagger UI, plus integration guides.

View on GitHub
Deep Wiki
Context7
0.0.9

Breaking changes

  • Correlation key : tenantId remplacé par instanceId partout dans le bundle (DTO, snapshots, état opérationnel, consommation, espace disque local).
  • OrchestrationCommand : tenantId supprimé du corps ; correlationId devient optionnel. Clés requises : operation, appId, instanceId, idempotencyKey, occurredAt.
  • ConsumptionWebhookEvent : champ JSON tenantIdinstanceId.
  • ManagedInstanceResourceSnapshot : champ JSON tenantIdinstanceId ; getter instanceId().
  • Stores / managers : paramètres et méthodes findByTenantId()findByInstanceId() ; load($instanceId), save($instanceId, …), etc.
  • InstanceOperationalStateValidator : exige instance.instanceId ; garde-fou expected_tenant_id supprimé (utiliser expected_instance_id).
  • CLI : --tenant-id--instance-id (consumption:push, orchestration:simulate).

Migration

  • Renommer les fichiers locaux snapshots/{tenantId}.jsonsnapshots/{instanceId}.json (et équivalents operational-state / receipts).
  • Mettre à jour les payloads AM et les appels pushResourceConsumption($instanceId, …).
0.0.8

Versions antérieures : voir tags Git.

0.0.19

Breaking

  • Nouvelle opération d’orchestration QUOTA_EXCEEDED et interface hôte QuotaExceededInstanceHandlerInterface (idempotence + callback comme START/STOP).
  • OrchestrationCommandProcessor exige ce handler en 4ᵉ argument constructeur (après StartInstanceHandlerInterface).

Migration

ApplicationManagerTools\AmDriver\Core\Contract\QuotaExceededInstanceHandlerInterface:
    alias: App\Infrastructure\Am\QuotaExceededInstanceHandler
0.0.17

Breaking

  • GET_INFO_INSTANCE / SET_STATEVIEW_INSTANCE ne sont plus gérés en interne (fichier + queryParams) : le processor délègue à GetInfoInstanceHandlerInterface / SetStateViewInstanceHandlerInterface (comme CREATE / START / STOP).
  • OrchestrationCommandProcessor::process() ne prend plus de $queryParams ; le constructeur exige les deux handlers (plus d’arguments optionnels reader/writer/resolver).
  • L’hôte doit aliaser les deux interfaces dans sa config Symfony. Helpers optionnels inchangés : FileActualResourcesConsumptionReader, FileStateViewWriter, FileTenantWorkspace.

Migration

ApplicationManagerTools\AmDriver\Core\Contract\GetInfoInstanceHandlerInterface:
    alias: App\Infrastructure\Am\GetInfoInstanceHandler

ApplicationManagerTools\AmDriver\Core\Contract\SetStateViewInstanceHandlerInterface:
    alias: App\Infrastructure\Am\SetStateViewInstanceHandler
0.0.16

Breaking

  • CreateInstanceHandlerResult devient un DTO hybride : construit via CreateInstanceHandlerResult::fromArray(array $data) au lieu de new CreateInstanceHandlerResult(?string $instanceLocation, ?string $startedAt). Les clés startedAt et integrationInstanceId (toutes deux non vides) restent obligatoires et validées par le bundle ; toute autre clé (location, ...) est libre et relayée telle quelle jusqu'au callback AM. Les accesseurs instanceLocation() disparaissent au profit de toArray() (startedAt() et integrationInstanceId() sont conservés, car champs garantis).
  • OrchestrationCallbackRequest : le constructeur perd ses paramètres nommés ?string $location/?string $startedAt au profit d'un tableau array $extra = [] (4ᵉ paramètre). Les accesseurs location()/startedAt() disparaissent au profit de extra(): array. fromArray() ne valide plus location comme une URI stricte.
  • OrchestrationCommandProcessor::assertCreateInstanceStartedAt() est retiré ; la validation de startedAt vit désormais dans CreateInstanceHandlerResult::fromArray().

Migration

Avant :

return new CreateInstanceHandlerResult('https://tenant.example/login', $startedAt);

Après :

return CreateInstanceHandlerResult::fromArray([
    'startedAt' => $startedAt,
    'integrationInstanceId' => $integrationInstanceId,
    'location' => 'https://tenant.example/login',
    // toute autre clé métier est acceptée sans changement bundle
]);
0.0.14

Breaking

  • Configuration : un seul paramètre application_token / env AM_DRIVER_APPLICATION_TOKEN (les 4 clés legacy restent acceptées en alias de migration).
  • HTTP : uniquement X-AM-Application-Token (entrée et sortie vers AM).
  • Retrait de instanceIntegrationToken dans OrchestrationCommand.

Added

  • ApplicationTokenAuthenticator partagé (contrôleurs Symfony + ReceptacleHttpKernel).
0.0.10

Added

  • OrchestrationCommand : champs enrichis optionnels pour CREATE_INSTANCE uniquement :
    • name (getter name())
    • credentials.login (getter credentialsLogin())
    • metadata (getter metadata(), défaut [])
  • Validation : name, credentials, metadata interdits hors CREATE_INSTANCE ; clé legacy shortname rejetée.
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky