Recipe apply aborts when amazee.ai trial account provisioning fails (e.g. HTTP 429 trial capacity)
## Problem / Motivation **Trial account provisioning is optional; its failure must be a fallback, not an install-breaker.** Applying any recipe that installs **amazee.ai Private AI Provider** (e.g. Drupal CMS AI, or a Varbase AI recipe via `varbase_ai_base`) hard-fails when amazee.ai's trial endpoint is at capacity, rate-limited, or unreachable: ``` Client error: `POST https://api.amazee.ai/auth/generate-trial-access` resulted in a `429 Too Many Requests` response: {"detail":"Trial capacity reached. Please contact sales to continue."} [error] Failed to run drush recipe ...: exit status 173 ``` The whole `drush recipe` apply aborts and the site is left half-configured — even though the site does not need amazee.ai at all, and the admin intends to configure a different AI provider (OpenAI, Anthropic, …). A third-party SaaS being at capacity, rate-limiting, being down, or the site simply being offline must never make a Drupal recipe unappliable. ## Steps to reproduce 1. Fresh Drupal 11.4 site with `ai_provider_amazeeio` 1.3.2. 2. `drush recipe <any recipe that installs this module>` while amazee.ai trial capacity is exhausted (or with no network access to `api.amazee.ai`). 3. The recipe aborts with the 429 above. ## Proposed resolution `src/Plugin/ConfigAction/EnsureAmazeeAiAccess::apply()` currently catches `TrialAccountProvisioningException` and **rethrows it as a `ConfigActionException`**, which aborts the recipe. Make it a fallback instead: log a warning, report it through the existing `ProgressReporter`, and let the recipe continue. The admin then configures an AI provider at `/admin/config/ai/providers`. The catch is widened to `\Throwable`, because `TrialAccountProvisioner::provision()` also calls `$config->save()`, two `Key::save()` calls and `$provider->postSetup()` **outside** the inner try/catch in `fetchTrialAccountData()` — any of those can throw something other than the typed exception and would still abort the install. A successful provision behaves exactly as before (no regression). ## Remaining tasks - [x] Addition/Change/Update/Fix to this project - [x] Reviewed by a human - [x] Code review by maintainers ## User interface changes None. ## API changes None. ## Data model changes None. ## Release notes snippet Trial account provisioning no longer aborts a recipe apply. If amazee.ai is at trial capacity, rate-limited or unreachable, the failure is logged as a warning and the install continues; configure an AI provider at `/admin/config/ai/providers`.
issue