Licensing
Sample documentation (demo only)
This is an incomplete, outdated docs snapshot shipped with the playground — screenshots were removed on purpose.
For the full, current manuals go to voodflow.com/docs.
Voodflow\Voodbuilder\Licensing\AnyStack\AnyStackEntitlementProvider
- File:
Licensing/AnyStack/AnyStackEntitlementProvider.php - Kind:
class - Implements:
EntitlementProvider - Responsibility: Fetches remote entitlements and falls back to a local snapshot during outages.
Methods
public function __construct( private readonly LicenceClient $client, private readonly string $licenceKey, private readonly int $graceSeconds = 604800, )- Constructor.
public static function hasCachedSnapshot(): bool- Boolean predicate
hasCachedSnapshot.
- Boolean predicate
public function capabilities(): CapabilitySet- Capability identifiers contributed or required by this module.
public function licenceStatus(): LicenceStatus- Licence Status.
Voodflow\Voodbuilder\Licensing\AnyStack\AnyStackLicenceClient
- File:
Licensing/AnyStack/AnyStackLicenceClient.php - Kind:
class - Implements:
LicenceClient - Responsibility: HTTP client for remote entitlement endpoints.
Methods
public function __construct( private readonly string $endpoint, private readonly int $timeoutSeconds = 5, )- Constructor.
public function fetchEntitlements(string $licenceKey): array- Fetch Entitlements.
Voodflow\Voodbuilder\Licensing\AuthorScriptPolicy
- File:
Licensing/AuthorScriptPolicy.php - Kind:
class - Responsibility: Edition-gated policy for whether author page JS is kept or discarded.
Methods
public static function allowed(): bool- Whether the current edition entitles storing/serving author page JS.
public static function keepOrDiscard(?string $js): string- Returns JS unchanged when allowed, otherwise empty string (discard).
Voodflow\Voodbuilder\Licensing\CachedEntitlementProvider
- File:
Licensing/CachedEntitlementProvider.php - Kind:
class - Implements:
EntitlementProvider - Responsibility: Caches capability snapshots locally. Public render never depends on this failing.
Methods
public function __construct( private readonly EntitlementProvider $inner, private readonly int $ttlSeconds = 3600, )- Constructor.
public function capabilities(): CapabilitySet- Capability identifiers contributed or required by this module.
public function licenceStatus(): LicenceStatus- Licence Status.
public function forget(): void- Performs
forgetside effects.
- Performs
Voodflow\Voodbuilder\Licensing\CapabilitySet
- File:
Licensing/CapabilitySet.php - Kind:
class - Responsibility: Immutable set of capability identifiers (e.g. components.export).
Methods
public static function from(array $capabilities): self- From.
public function has(string $capability): bool- Boolean predicate
has.
- Boolean predicate
public function all(): array- All.
public function merge(self $other): self- Merge.
public function count(): int- Count.
Voodflow\Voodbuilder\Licensing\CatalogCredentialResolver
- File:
Licensing/CatalogCredentialResolver.php - Kind:
class - Responsibility: Resolves CDN catalog credentials for Elements / page-templates.
Methods
public static function elementsCredential(): ?string- Elements Credential.
public static function pageTemplatesCredential(): ?string- Page Templates Credential.
public static function elementsReady(): bool- Elements Ready.
public static function pageTemplatesReady(): bool- Page Templates Ready.
public static function elementsStatus(): array- Elements Status.
public static function pageTemplatesStatus(): array- Page Templates Status.
Voodflow\Voodbuilder\Licensing\CommunityEntitlementProvider
- File:
Licensing/CommunityEntitlementProvider.php - Kind:
class - Implements:
EntitlementProvider - Responsibility: Fixed Community matrix when no remote licence is available.
Methods
public function capabilities(): CapabilitySet- Capability identifiers contributed or required by this module.
public function licenceStatus(): LicenceStatus- Licence Status.
Voodflow\Voodbuilder\Licensing\ComposerAnystackCredentialsReader
- File:
Licensing/ComposerAnystackCredentialsReader.php - Kind:
class - Responsibility: Reads the Anystack Composer HTTP Basic password from auth.json / COMPOSER_AUTH.
Methods
public static function read(): ?array- Read.
public static function preferredRepositoryHosts(): array- Preferred Repository Hosts.
public static function extractForHosts(array $composerAuthJson, array $hosts): ?array- Extract For Hosts.
public static function discoverAnyComposerShHost(array $composerAuthJson): ?array- Discover Any Composer Sh Host.
public static function parseComposerAuthJson(string $raw): array- Parse Composer Auth Json.
public static function candidateAuthFilePaths(): array- Boolean predicate
candidateAuthFilePaths.
- Boolean predicate
Voodflow\Voodbuilder\Licensing\ConfigEntitlementProvider
- File:
Licensing/ConfigEntitlementProvider.php - Kind:
class - Extends:
CommunityEntitlementProvider - Responsibility:
ConfigEntitlementProvider— class inLicensing/ConfigEntitlementProvider.php.
No public/protected methods.
Voodflow\Voodbuilder\Licensing\Contracts\EntitlementProvider
- File:
Licensing/Contracts/EntitlementProvider.php - Kind:
interface - Responsibility: Entitlement Provider contract.
Methods
public function capabilities(): CapabilitySet- Entitlement Provider contract.
public function licenceStatus(): LicenceStatus- Licence Status.
Voodflow\Voodbuilder\Licensing\Contracts\LicenceClient
- File:
Licensing/Contracts/LicenceClient.php - Kind:
interface - Responsibility: Remote licence transport. Implementations must never be called from public render paths.
Methods
public function fetchEntitlements(string $licenceKey): array- edition: string, active: bool,
Voodflow\Voodbuilder\Licensing\Contracts\LicenceClientException
- File:
Licensing/Contracts/LicenceClientException.php - Kind:
class - Extends:
RuntimeException - Responsibility: Licence Client Exception.
Methods
public static function unreachable(string $message, ?\Throwable $previous = null): self- Unreachable.
Voodflow\Voodbuilder\Licensing\EditionCapabilityMatrix
- File:
Licensing/EditionCapabilityMatrix.php - Kind:
class - Responsibility: Edition → capability matrix from the 0.1.0 architecture plan (§7 / §11). Community is the base matrix; Developer/Agency unlock additional surfaces.
Methods
public static function forEdition(string $edition): array- For Edition.
public static function normalizeEdition(string $edition): string- Normalize Edition.
public static function marketingLabel(string $edition): string- Marketing label for splash / UI (Developer, not the runtime token
professional).
- Marketing label for splash / UI (Developer, not the runtime token
public static function marketingSlug(string $edition): string- Public marketing slug (developer, not professional).
public static function community(): array- Community.
public static function professional(): array- Professional.
public static function agency(): array- Agency.
Voodflow\Voodbuilder\Licensing\EditorEditionSummary
- File:
Licensing/EditorEditionSummary.php - Kind:
class - Responsibility: Compact licence/edition payload for the editor boot splash and topbar.
Methods
public static function make(?EntitlementManager $manager = null): array- Make.
Voodflow\Voodbuilder\Licensing\EditorPackageInventory
- File:
Licensing/EditorPackageInventory.php - Kind:
class - Responsibility: Package inventory for the edition modal.
Methods
public static function make(?EntitlementManager $manager = null): array- Make.
Voodflow\Voodbuilder\Licensing\EntitlementGate
- File:
Licensing/EntitlementGate.php - Kind:
class - Responsibility: Backend enforcement helper — frontend hiding alone is insufficient (§11.5).
Methods
public static function authorize(string $capability): void- Performs
authorizeside effects.
- Performs
Voodflow\Voodbuilder\Licensing\EntitlementManager
- File:
Licensing/EntitlementManager.php - Kind:
class - Responsibility: Entitlement Manager.
Methods
public function __construct( private EntitlementProvider $provider, )- Constructor.
public function provider(): EntitlementProvider- Provider.
public function useProvider(EntitlementProvider $provider): void- Performs
useProviderside effects.
- Performs
public function can(string $capability): bool- Whether the current entitlement grants the capability.
public function cannot(string $capability): bool- Inverse of
can().
- Inverse of
public function canAny(array $capabilities): bool- Boolean predicate
canAny.
- Boolean predicate
public function canAll(array $capabilities): bool- Boolean predicate
canAll.
- Boolean predicate
public function capabilities(): CapabilitySet- Capability identifiers contributed or required by this module.
public function licenceStatus(): LicenceStatus- Licence Status.
public function edition(): string- Resolved runtime edition token.
Voodflow\Voodbuilder\Licensing\EntitlementProviderFactory
- File:
Licensing/EntitlementProviderFactory.php - Kind:
class - Responsibility: Builds the entitlement provider used at runtime.
Methods
public static function make(): EntitlementProvider- Make.
public function __construct(private readonly string $message)- Constructor.
public function fetchEntitlements(string $licenceKey): array- Fetch Entitlements.
Voodflow\Voodbuilder\Licensing\LicenceKeyResolver
- File:
Licensing/LicenceKeyResolver.php - Kind:
class - Responsibility: Resolves the licence key for remote entitlement checks.
Methods
public static function resolve(): string- Resolve a runtime value for the given field / context.
Voodflow\Voodbuilder\Licensing\LicenceStatus
- File:
Licensing/LicenceStatus.php - Kind:
class - Responsibility: Licence Status.
Methods
public function __construct( public readonly string $edition, public readonly bool $active, public readonly ?string $identifier = null, public readonly ?string $expiresAt = null, public readonly ?string $message = null, )- Constructor.
public static function community(): self- Community.
public function isPaidEdition(): bool- Boolean predicate
isPaidEdition.
- Boolean predicate
Voodflow\Voodbuilder\Licensing\LicenseDashboardPayload
- File:
Licensing/LicenseDashboardPayload.php - Kind:
class - Responsibility: Versioned JSON payload for a future Filament licenses dashboard plugin.
Methods
public static function make(?EntitlementManager $manager = null): array- Make.
public static function forgetCachedSnapshots(): void- Performs
forgetCachedSnapshotsside effects.
- Performs
Voodflow\Voodbuilder\Licensing\TestingEntitlementProvider
- File:
Licensing/TestingEntitlementProvider.php - Kind:
class - Implements:
EntitlementProvider - Responsibility: Mutable provider for PHPUnit — simulate plan matrices without AnyStack.
Methods
public function __construct(?array $capabilities = null, ?LicenceStatus $status = null)- Constructor.
public static function forEdition(string $edition): self- For Edition.
public function grant(array $capabilities): void- Performs
grantside effects.
- Performs
public function replace(array $capabilities): void- Performs
replaceside effects.
- Performs
public function setStatus(LicenceStatus $status): void- Performs
setStatusside effects.
- Performs
public function capabilities(): CapabilitySet- Capability identifiers contributed or required by this module.
public function licenceStatus(): LicenceStatus- Licence Status.