Weave 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 and framework-agnostic PHP library for integrating managed applications with Application Manager. Supports orchestration commands, consumption webhooks, and operational state push, plus an OpenAPI 3.1.1 spec and integration docs for PHP 7.4+ and Symfony 5.4–8.0.

View on GitHub
Deep Wiki
Context7

application-manager-tools/am-driver is a Symfony bundle and framework-agnostic PHP library that connects managed applications to Application Manager for orchestration commands, consumption webhooks, and operational state push. It ships with an OpenAPI 3.1.1 specification (receiver, AM client, Swagger UI kit) and integration guides covering standalone use and same-app dogfooding.

  • Dual integration: native Symfony bundle plus a plain PHP library usable in any framework.
  • Command & callback handling via configurable route prefixes (e.g. /am/orchestration/commands).
  • Secure webhooks: token-based authentication for consumption and orchestration callbacks.
  • Built-in HTTP client powered by symfony/http-client and CLI tools via symfony/console.
  • Docker dev workflow with ./bin/php, ./codecheck, and a bundled receptacle server for local testing.

Requires PHP ^7.4 and Symfony ^5.4|^6.4|^7.0|^8.0.

Frequently asked questions about Am Driver
How do I install application-manager-tools/am-driver in a Laravel project?
Run composer require application-manager-tools/am-driver. It requires PHP ^7.4 and symfony/http-client plus symfony/console ^5.4|^6.4|^7.0|^8.0. In Laravel, use the framework-agnostic library and CLI and wire routes/config yourself; the documented bundle registration is for Symfony. Confirm dependency compatibility with composer why-not before adopting.
Can I use this package with Laravel 10 or Laravel 11?
There is no native Laravel service provider in the docs, so Laravel 10/11 use is via the framework-agnostic PHP library and console tooling. Compatibility depends on your PHP version and Symfony http-client/console constraints, not a declared Laravel constraint. Test route registration, token config, and callback parsing in your app before production.
What configuration is required for the Symfony bundle?
Register AmDriverBundle, then configure am_driver with am_base_url, source, route_prefix, consumption_webhook_token, and orchestration_callback_token from env. The default route_prefix am exposes /am/orchestration/commands and /am/instance-operational-state. Keep tokens in env and use .env.local.dist as a template. For Laravel, map equivalent env/config values manually.
Which endpoints and CLI commands does am-driver provide?
It handles orchestration command endpoints, consumption webhooks, and operational state push, with a configurable route prefix defaulting to am. The CLI includes am-driver serve with --host, --port, and --data-dir for a local HTTP receptacle. Use it to simulate and validate AM callbacks locally.
How should I handle integrationInstanceId in callbacks?
integrationInstanceId is an optional callback field added for traceability in multi-tenant or multi-integration setups and is backward-compatible. Parse it as optional in your DTO or handler, for example $rawPayload['integrationInstanceId'] ?? null, and assert it in integration tests. Do not assume it replaces existing tenant or workspace identifiers.
What OpenAPI documentation and Swagger UI are included?
The package ships OpenAPI 3.1.1 docs covering the receiver, AM client, and a Swagger UI kit under docs/openapi/README.md. You can run docker compose up -d swagger-ui and use AM_DRIVER_SWAGGER_PORT, which defaults to 18098. Use the spec to validate callback schemas, including optional integrationInstanceId and null edge cases.
How do I test AM callbacks locally before production?
Run the receptacle with am-driver serve --host=0.0.0.0 --port=8099 --data-dir=var/am-driver/receptacle, using Docker Compose if needed. Use Swagger UI and the OpenAPI spec to exercise payloads and edge cases. Add PHPUnit assertions for callback fields, including integrationInstanceId null and duplicate scenarios.
Is this package production-ready for shared or multi-tenant deployments?
It provides orchestration, webhook handling, state push, OpenAPI validation, and codecheck tooling, but tenant isolation remains your responsibility. If integrationInstanceId maps to tenants, validate workspace separation and avoid mixing FileTenantWorkspace data; consider database-backed isolation. Use structured JSON logging and filters to avoid high-cardinality noise in production.
What are alternatives to using am-driver in Laravel?
You can build a custom Laravel HTTP client plus jobs and controllers that call Application Manager APIs, or use Symfony Messenger in Symfony apps. am-driver adds ready-made orchestration endpoints, consumption webhook handling, state push, OpenAPI 3.1.1 docs, and a Swagger UI kit. Choose it when you want the connector contract and docs rather than a bespoke integration.
How is application-manager-tools/am-driver maintained and versioned?
The repository shows ongoing changes such as PR #11 adding integrationInstanceId and references to pre-v0.0.16 integrations, but no release cadence or SLA is documented in the provided material. Pin a Composer version, review changelogs and pull requests, and run codecheck plus OpenAPI validation before upgrades. Confirm support expectations with the maintainers for production use.
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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin