Library Group: extension

Generated by php build/docs/rvn-docs.php. Do not edit this file by hand.

| Symbol | Kind | Summary | @return |
| --- | --- | --- | --- |
| Raven\Lib\Extension\Bootstrap::__construct() | method | Prepares the bootstrap resolver with an optional manifest validator override. | (No @return.) |
| Raven\Lib\Extension\Bootstrap::normalizeStorageRequest() | method | Validates and normalizes the storage declaration from an extension's array contract. | array{ |
| Raven\Lib\Extension\Bootstrap::resolve() | method | Loads and validates an extension bootstrap provider from ext.php. | array{ |
| Raven\Lib\Extension\Panel\Content::__construct() | method | Initializes the panel extension content catalog. | (No @return.) |
| Raven\Lib\Extension\Panel\Content::int() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Panel\Content::int() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Panel\Content::panelBodyBlockDefinitions() | method | Returns panel-eligible extension body-block definitions for the page editor block picker. | array<string, array{label: string, editor: string}> Extension body-block definitions keyed by type slug. |
| Raven\Lib\Extension\Panel\Content::panelInsertableShortcodes() | method | Returns insertable extension shortcode options for the panel editor shortcode picker. | array<int, array{extension: string, label: string, shortcode: string}> Sorted shortcode menu rows. |
| Raven\Lib\Extension\Panel\Manager::__construct() | method | Initializes the extension manager. | (No @return.) |
| Raven\Lib\Extension\Panel\Manager::defaultPermissionLevels() | method | Returns the default single-level permission set for an extension that declares no custom levels. | array<int, array{key: string, label: string}> Single-entry permission level array. |
| Raven\Lib\Extension\Panel\Manager::extensionPermissionMap() | method | Returns the full permission map with stable bit assignments for a set of extension directories. | array<string, array{ |
| Raven\Lib\Extension\Panel\Manager::int() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Panel\Manager::isSafeDirectoryName() | method | Returns true when the given string is a valid extension directory name. | bool True when the name passes the safe-name pattern. |
| Raven\Lib\Extension\Panel\Manager::isStockExtensionDirectory() | method | Returns true when the given directory name matches a known stock extension slug. | bool True when the directory is a stock extension. |
| Raven\Lib\Extension\Panel\Manager::listForPanel() | method | Returns the full panel extension listing, pruning stale enabled/permission state for removed extensions. | array<int, array{ |
| Raven\Lib\Extension\Panel\Manager::nameFromArchive() | method | Derives a safe extension directory name from an uploaded archive filename. | string\|null Normalized slug, or null when no valid slug can be derived. |
| Raven\Lib\Extension\Panel\Manager::normalizePermissionLevels() | method | Normalizes raw panel_permissions manifest data into a validated level array. | array<int, array{key: string, label: string}> Normalized permission level array. |
| Raven\Lib\Extension\Panel\Manager::readManifest() | method | Reads and validates a single extension manifest, returning a normalized metadata payload. | array{ |
| Raven\Lib\Extension\Panel\Manager::stockExtensionDirectories() | method | Returns the list of stock extension directory slugs that ship with Raven. | array<int, string> Stock extension directory slug list. |
| Raven\Lib\Extension\Panel\Permissions::__construct() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Panel\Permissions::catalog() | method | Builds a permission catalog entry for each eligible enabled extension directory. | array<string, array{ |
| Raven\Lib\Extension\Panel\Permissions::defaultPermissionLevels() | method | Returns the default single-level permission set for an extension declaring no custom levels. | array<int, array{key: string, label: string}> Single-entry permission level array. |
| Raven\Lib\Extension\Panel\Permissions::ensurePermissionBits() | method | Ensures stable power-of-two bit assignments exist for every level in the catalog. | array<string, array<string, int>> Bit map keyed by directory then level key. |
| Raven\Lib\Extension\Panel\Permissions::extensionPermissionMap() | method | Returns the full permission map with stable bit assignments for a set of extension directories. | array<string, array{ |
| Raven\Lib\Extension\Panel\Permissions::normalizePermissionLevels() | method | Normalizes raw panel_permissions manifest data into a validated level array. | array<int, array{key: string, label: string}> Normalized permission level array. |
| Raven\Lib\Extension\Panel\Routes::bool() | method | Returns true when the current request is one of the direct panel login | bool Whether the active request is a panel login entry path. |
| Raven\Lib\Extension\Panel\Routes::int() | method | Checks one panel permission bit against the active session. | bool True when the current user has the requested bit. |
| Raven\Lib\Extension\Panel\Routes::register() | method | Registers enabled extension panel routes onto the shared router. | void |
| Raven\Lib\Extension\Panel\Routes::string() | method | Builds panel URLs with the configured prefix for extension links. | string Absolute panel-relative URL. |
| Raven\Lib\Extension\Panel\Routes::string() | method | Resolves the site-default panel theme for the current installation. | string Canonical default panel-theme slug. |
| Raven\Lib\Extension\Panel\Routes::string() | method | Resolves the effective panel theme for the current authenticated user. | string Canonical active panel-theme slug. |
| Raven\Lib\Extension\Panel\Routes::string() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Panel\Routes::void() | method | Synchronizes the lightweight session identity used by panel chrome. | void |
| Raven\Lib\Extension\Panel\Routes::void() | method | Enforces baseline panel login before extension routes run. | void |
| Raven\Lib\Extension\Panel\Routes::void() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Panel\Routes::void() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\Content::__construct() | method | Initializes the public extension content catalog. | (No @return.) |
| Raven\Lib\Extension\Public\Content::int() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\Content::publicBodyBlockDefinitions() | method | Returns extension body-block definitions for the public page renderer. | array<string, array{label: string, editor: string}> Extension body-block definitions keyed by type slug. |
| Raven\Lib\Extension\Public\FormInstance::__construct() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\FormInstance::discoverRuntimes() | method | Discovers all registered shortcode runtimes from the extension services container. | array<string, Shortcodes\|FormRuntime> |
| Raven\Lib\Extension\Public\FormInstance::findFormDefinition() | method | Looks up a form definition for a form runtime by type and slug. | array<string, mixed>\|null |
| Raven\Lib\Extension\Public\FormInstance::formRuntime() | method | Returns one registered form runtime by type token, or null if not found or not a form runtime. | FormRuntime\|null |
| Raven\Lib\Extension\Public\FormInstance::isRuntimeEnabled() | method | Returns whether the owning extension of a runtime is currently enabled. | bool True when the owning extension is enabled. |
| Raven\Lib\Extension\Public\FormInstance::renderPublicShortcodes() | method | Resolves and renders all shortcodes in public-route HTML. | string HTML with all shortcodes resolved. |
| Raven\Lib\Extension\Public\FormInstance::renderShortcodes() | method | Applies shortcode substitution to an HTML string using the provided render callback. | string HTML with all recognized shortcodes replaced by their rendered output. |
| Raven\Lib\Extension\Public\FormInstance::runtime() | method | Returns one registered runtime by type token, or null if not found. | Shortcodes\|FormRuntime\|null |
| Raven\Lib\Extension\Public\FormInstance::sanitizeReturnPath() | method | Sanitizes a raw request URI into a safe return path for post-submit redirects. | string Normalized absolute path, or '/' when the value is unsafe. |
| Raven\Lib\Extension\Public\FormInstance::string() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\FormInstance::string() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\FormRuntime::anchorId() | method | Returns one safe anchor id used after submit redirects. | string HTML anchor id. |
| Raven\Lib\Extension\Public\FormRuntime::extensionKey() | method | Returns the owning extension directory key used for enabled-state checks. | string Extension directory name. |
| Raven\Lib\Extension\Public\FormRuntime::listEnabledForms() | method | Returns enabled form definitions available for shortcode rendering. | array<int, array<string, mixed>> Form definition rows; each must have a slug key. |
| Raven\Lib\Extension\Public\FormRuntime::render() | method | Renders one embedded form block. | string Rendered form HTML. |
| Raven\Lib\Extension\Public\FormRuntime::submit() | method | Handles one submit request and sends its own redirect response. | void |
| Raven\Lib\Extension\Public\FormRuntime::submitAction() | method | Returns one submit action path for rendered form markup. | string Absolute-path submit URL. |
| Raven\Lib\Extension\Public\FormRuntime::type() | method | Returns the shortcode type token, for example contact or signups. | string Lowercase slug-safe type token. |
| Raven\Lib\Extension\Public\MarkdownFileLoader::load() | method | Loads one Markdown source referenced by a public page body block. | string\|null Markdown contents, or null when the reference is not available. |
| Raven\Lib\Extension\Public\Routes::register() | method | Registers all enabled module extension public routes onto the shared router. | void |
| Raven\Lib\Extension\Public\Routes::string() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\Routes::void() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\Public\Shortcodes::extensionKey() | method | Returns the owning extension directory key used for enabled-state checks. | string Extension directory name. |
| Raven\Lib\Extension\Public\Shortcodes::render() | method | Renders one embedded content block for the matched shortcode. | string Rendered HTML to replace the shortcode tag. |
| Raven\Lib\Extension\Public\Shortcodes::type() | method | Returns the shortcode type token that triggers this runtime, for example gallery or weather. | string Lowercase slug-safe type token. |
| Raven\Lib\Extension\Registry::__construct() | method | Discovers enabled extension boot providers, storage declarations, and scheduler flags. | (No @return.) |
| Raven\Lib\Extension\Registry::bootAllExtensions() | method | Boots every enabled extension provider. | array<string, mixed> Mutated bootstrap container. |
| Raven\Lib\Extension\Registry::bootExtension() | method | Runs one extension bootstrap provider exactly once per request lifecycle. | array<string, mixed> Mutated bootstrap container. |
| Raven\Lib\Extension\Registry::enabledDirectories() | method | Returns enabled extension directories that exist on disk. | array<int, string> Ordered list of valid enabled extension directory names. |
| Raven\Lib\Extension\Registry::enabledMap() | method | Returns enabled extension directory map from private/dat/ext/.state.php. | array<string, bool> Map of directory name → true for all enabled extensions. |
| Raven\Lib\Extension\Registry::fields() | method | Returns normalized extension field items from private/ext/{slug}/fields.php. | array<int, array{slug: string, label: string, editor: string}>\|null |
| Raven\Lib\Extension\Registry::fieldsValidationError() | method | Returns one provider-validation error when fields.php is invalid. | string\|null Validation error message, or null when the provider is valid. |
| Raven\Lib\Extension\Registry::manifests() | method | Returns enabled extension manifests keyed by extension directory. | array<string, array<string, mixed>> |
| Raven\Lib\Extension\Registry::permissionMap() | method | Returns extension permission-bit map from private/dat/ext/.state.php. | array<string, int> Map of directory name → permission bit for enabled extensions. |
| Raven\Lib\Extension\Registry::readManifest() | method | Reads one extension manifest and returns normalized metadata. | array{name: string, type: string, panelpath: string, panelsection: string, system_extension: bool}\|null |
| Raven\Lib\Extension\Registry::resolveAllExtensionServices() | method | Resolves all enabled extension service maps, booting only extensions that | array<string, array<string, mixed>> Map of directory → materialized service map. |
| Raven\Lib\Extension\Registry::resolveExtensionServices() | method | Resolves one extension service map, materializing lazy service values on demand. | array<string, mixed> Materialized service map for the requested extension. |
| Raven\Lib\Extension\Registry::schedulerDirectories() | method | Returns enabled extension directories that declared scheduler support. | array<int, string> |
| Raven\Lib\Extension\Registry::shortcodes() | method | Returns normalized extension shortcode items from private/ext/{slug}/shortcodes.php. | array<int, array{label: string, shortcode: string}>\|null |
| Raven\Lib\Extension\Registry::shortcodesValidationError() | method | Returns one provider-validation error when shortcodes.php is invalid. | string\|null Validation error message, or null when the provider is valid. |
| Raven\Lib\Extension\Registry::storageMap() | method | Returns provisioned extension storage roots keyed by extension directory. | array<string, array{local: string, aux: array<string, string>, panel: string, public: string, bin: string}> |
| Raven\Lib\Extension\Resolver::canonicalProviderPath() | method | Returns the canonical provider path for one extension-local root file. | string Absolute canonical path. |
| Raven\Lib\Extension\Resolver::classRoots() | method | Returns the canonical extension class root. | array<int, string> Ordered class roots for Raven\Ext\* autoloading. |
| Raven\Lib\Extension\Resolver::hasProvider() | method | Returns whether one provider exists in the canonical layout. | bool True when a matching file exists. |
| Raven\Lib\Extension\Resolver::isSafeExtensionRoot() | method | Returns whether an extension root and its descendants are free of symlink components. | bool True when the existing extension root contains no symlink component. |
| Raven\Lib\Extension\Resolver::isSymlinkFreePath() | method | Returns whether an absolute path contains no symbolic-link component. | bool True when no component resolves through a symbolic link. |
| Raven\Lib\Extension\Resolver::providerPath() | method | Returns the canonical provider path when it exists. | string\|null Existing provider path, or null when the provider is absent. |
| Raven\Lib\Extension\Resolver::safeFilePath() | method | Returns an existing extension-local file only when it contains no symlink component. | string\|null Resolved local file path, or null when absent or unsafe. |
| Raven\Lib\Extension\Scaffold::createSkeleton() | method | Creates a minimal extension scaffold on disk. | void |
| Raven\Lib\Extension\StateRead::__construct() | method | Prepares the extension-state reader for one project tree. | void |
| Raven\Lib\Extension\StateRead::basePath() | method | Returns the canonical extension-directory base path. | string Absolute private/ext path. |
| Raven\Lib\Extension\StateRead::ensureDirectory() | method | Ensures the extension install base path exists. | void |
| Raven\Lib\Extension\StateRead::ensureStateDirectory() | method | Ensures the extension-state directory exists. | void |
| Raven\Lib\Extension\StateRead::loadEnabledMap() | method | Returns only the enabled-extension map from the persisted state. | array<string, bool> Enabled map keyed by extension directory slug. |
| Raven\Lib\Extension\StateRead::loadPermissionBitsMap() | method | Returns only the level-to-bit map from the persisted state. | array<string, array<string, int>> Level-to-bit map keyed by extension directory slug. |
| Raven\Lib\Extension\StateRead::loadPermissionMap() | method | Returns only the permission-bit map from the persisted state. | array<string, int> Permission map keyed by extension directory slug. |
| Raven\Lib\Extension\StateRead::loadStateData() | method | Loads and normalizes the full extension state payload from disk. | array{ |
| Raven\Lib\Extension\StateRead::saveEnabledMap() | method | Persists an updated enabled-extension map, preserving existing permission state. | void |
| Raven\Lib\Extension\StateRead::savePermissionBitsMap() | method | Persists an updated level-to-bit map, preserving existing enabled and permission state. | void |
| Raven\Lib\Extension\StateRead::savePermissionMap() | method | Persists an updated permission-bit map, preserving existing enabled and bits state. | void |
| Raven\Lib\Extension\StateRead::saveState() | method | Persists the full extension state map in one atomic write. | void |
| Raven\Lib\Extension\StateRead::stateFilePath() | method | Returns the canonical extension-state file path. | string Absolute private/dat/ext/.state.php path. |
| Raven\Lib\Extension\StateWrite::__construct() | method | Prepares the extension-state writer for one project tree. | void |
| Raven\Lib\Extension\StateWrite::ensureStateDirectory() | method | Ensures the extension-state directory exists before persistence. | void |
| Raven\Lib\Extension\StateWrite::saveState() | method | Persists the full extension enablement/permission state map. | void |
| Raven\Lib\Extension\StorageCleaner::__construct() | method | Prepares the storage cleaner for one project tree. | (No @return.) |
| Raven\Lib\Extension\StorageCleaner::deleteStorageByContract() | method | Deletes all extension-owned storage that was requested in the bootstrap storage contract. | void |
| Raven\Lib\Extension\StorageProvisioner::__construct() | method | Prepares the storage provisioner for one project tree. | (No @return.) |
| Raven\Lib\Extension\StorageProvisioner::ensureAuxStorageDirectory() | method | Ensures a root-level aux directory exists and returns its absolute path. | string Absolute path to the created or existing aux directory. |
| Raven\Lib\Extension\StorageProvisioner::ensureBinStorage() | method | Provisions regular private/bin launchers for extension-local CLI commands. | void |
| Raven\Lib\Extension\StorageProvisioner::ensureLocalStorageDirectory() | method | Ensures the local extension data directory exists and returns its absolute path. | string Absolute path to the created or existing private/dat/ext/{slug} directory. |
| Raven\Lib\Extension\StorageProvisioner::ensurePanelStorageDirectory() | method | Ensures the panel asset directory exists and returns its absolute path. | string Absolute path to the created or existing panel/ext/{slug} directory. |
| Raven\Lib\Extension\StorageProvisioner::ensurePublicStorageDirectory() | method | Ensures the public uploads directory exists and returns its absolute path. | string Absolute path to the created or existing public/uploads/ext/{slug} directory. |
| Raven\Lib\Extension\StorageProvisioner::provision() | method | Provisions all storage declared in one extension bootstrap contract. | void |
| Raven\Lib\Extension\ValidateManifest::isSafeDirectoryName() | method | Returns whether a directory name is safe for use as an extension slug. | bool True when the name matches the slug pattern. |
| Raven\Lib\Extension\ValidateManifest::normalizeType() | method | Normalizes an extension type string to one of the canonical type tokens. | string Canonical type token: helper, content, framework, module, or system. |
| Raven\Lib\Extension\ValidateManifest::readManifest() | method | Reads and lightly normalizes one extension manifest from disk. | array{name: string, type: string, panelpath: string, panelsection: string, system_extension: bool}\|null |
| Raven\Lib\Extension\ValidateManifest::typeContractError() | method | Returns a human-readable error when an extension root violates its type contract, or null on pass. | string\|null Contract violation message, or null when the extension passes. |
| Raven\Lib\Extension\ValidateProvider::__construct() | method | (No summary.) | (No @return.) |
| Raven\Lib\Extension\ValidateProvider::validateFieldsProvider() | method | Loads and validates one extension field provider file. | array{valid: bool, error: string, items: array<int, array{slug: string, label: string, editor: string}>} |
| Raven\Lib\Extension\ValidateProvider::validateShortcodesProvider() | method | Loads and validates one extension shortcode provider file. | array{valid: bool, error: string, items: array<int, array{label: string, shortcode: string}>} |

Parameter Details

Raven\Lib\Extension\Bootstrap::__construct()

  • File: private/lib/Extension/Bootstrap.php
  • Params:
  • ValidateManifest|null $manifestValidator Optional validator; defaults to a fresh instance.

Raven\Lib\Extension\Bootstrap::normalizeStorageRequest()

  • File: private/lib/Extension/Bootstrap.php
  • Params:
  • mixed $rawStorage Raw value from ext.php \storage\ key.
  • string $type Normalized extension type (helper/content/framework/module/system).

Raven\Lib\Extension\Bootstrap::resolve()

  • File: private/lib/Extension/Bootstrap.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array&lt;string, mixed&gt;|null $manifest Pre-loaded manifest array, or null to read from disk.

Raven\Lib\Extension\Panel\Content::__construct()

  • File: private/lib/Extension/Panel/Content.php
  • Params:
  • string $projectRoot Absolute project root used to inspect extension manifests and field providers.
  • InputSanitizer $input Shared sanitizer for human-facing shortcode labels.
  • PageBlockParser $pageBlockParser Shared page-block parser for extension-provided body-block definitions.

Raven\Lib\Extension\Panel\Content::int()

  • File: private/lib/Extension/Panel/Content.php
  • Params: (none)

Raven\Lib\Extension\Panel\Content::int()

  • File: private/lib/Extension/Panel/Content.php
  • Params: (none)

Raven\Lib\Extension\Panel\Content::panelBodyBlockDefinitions()

  • File: private/lib/Extension/Panel/Content.php
  • Params:
  • array&lt;string, bool&gt; $enabledMap Enabled-extension map keyed by slug.
  • string $extensionsBasePath Absolute extension root path.
  • callable(string): array&lt;string, mixed&gt; $manifestReader Callback that returns one extension manifest payload.

Raven\Lib\Extension\Panel\Content::panelInsertableShortcodes()

  • File: private/lib/Extension/Panel/Content.php
  • Params:
  • array&lt;string, bool&gt; $enabledMap Enabled-extension map keyed by slug.
  • string $extensionsBasePath Absolute extension root path.
  • callable(string): array&lt;string, mixed&gt; $manifestReader Callback that returns one extension manifest payload.
  • callable(string): array&lt;int, array&lt;string, mixed&gt;&gt; $formsProvider Callback that returns insertable forms for one extension slug.
  • Config $config Runtime config used when extensions compute shortcode menus.

Raven\Lib\Extension\Panel\Manager::__construct()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • string $projectRoot Absolute project root for extension discovery.
  • StateRead $stateStore Shared extension state reader for enabled/permission maps.
  • Permissions $permissionCatalog Shared permission catalog for level discovery and bit allocation.
  • Config $config Runtime config passed to extension shortcode and field contract validators.
  • InputSanitizer $input Shared sanitizer for human-facing extension metadata.
  • ValidateManifest|null $manifestValidator Optional manifest validator; defaults to a fresh instance.
  • Bootstrap|null $bootstrapContractResolver Optional bootstrap resolver; defaults to a fresh instance.

Raven\Lib\Extension\Panel\Manager::defaultPermissionLevels()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • string $extensionName Human-readable extension name used to label the default access level.

Raven\Lib\Extension\Panel\Manager::extensionPermissionMap()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • array&lt;int, string&gt; $directoryFilter Extension directory slugs to include; empty array includes all.
  • callable(string): array&lt;string, mixed&gt;|null $manifestReader Callback that returns one extension manifest payload.

Raven\Lib\Extension\Panel\Manager::int()

  • File: private/lib/Extension/Panel/Manager.php
  • Params: (none)

Raven\Lib\Extension\Panel\Manager::isSafeDirectoryName()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • string $name Candidate directory name to validate.

Raven\Lib\Extension\Panel\Manager::isStockExtensionDirectory()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • string $directoryName Extension directory name to check.

Raven\Lib\Extension\Panel\Manager::listForPanel()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • callable(string): array&lt;int, array&lt;string, mixed&gt;&gt; $formsProvider Callback that returns insertable forms for one extension slug.

Raven\Lib\Extension\Panel\Manager::nameFromArchive()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • string $archiveName Original archive filename (e.g. &quot;my-extension.zip&quot;).

Raven\Lib\Extension\Panel\Manager::normalizePermissionLevels()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • mixed $rawLevels Raw panel_permissions value from ext.json (may be any type).
  • string $extensionName Human-readable extension name used for the fallback default level label.

Raven\Lib\Extension\Panel\Manager::readManifest()

  • File: private/lib/Extension/Panel/Manager.php
  • Params:
  • string $extensionPath Absolute path to the extension directory.
  • callable(string): array&lt;int, array&lt;string, mixed&gt;&gt; $formsProvider Callback that returns insertable forms for one extension slug.

Raven\Lib\Extension\Panel\Manager::stockExtensionDirectories()

  • File: private/lib/Extension/Panel/Manager.php
  • Params: (none)

Raven\Lib\Extension\Panel\Permissions::__construct()

  • File: private/lib/Extension/Panel/Permissions.php
  • Params:
  • StateRead $stateStore Shared extension state reader for extension-directory enumeration.
  • InputSanitizer $input Shared sanitizer for permission level labels.

Raven\Lib\Extension\Panel\Permissions::catalog()

  • File: private/lib/Extension/Panel/Permissions.php
  • Params:
  • array&lt;int, string&gt; $directoryFilter Extension directory slugs to include; empty array includes all.
  • callable(string): array&lt;string, mixed&gt; $manifestReader Callback returning one extension manifest payload.

Raven\Lib\Extension\Panel\Permissions::defaultPermissionLevels()

  • File: private/lib/Extension/Panel/Permissions.php
  • Params:
  • string $extensionName Human-readable extension name used to label the access level.

Raven\Lib\Extension\Panel\Permissions::ensurePermissionBits()

  • File: private/lib/Extension/Panel/Permissions.php
  • Params:
  • array&lt;string, array{

Raven\Lib\Extension\Panel\Permissions::extensionPermissionMap()

  • File: private/lib/Extension/Panel/Permissions.php
  • Params:
  • array&lt;int, string&gt; $directoryFilter Extension directory slugs to include; empty array includes all.
  • callable(string): array&lt;string, mixed&gt; $manifestReader Callback returning one extension manifest payload.

Raven\Lib\Extension\Panel\Permissions::normalizePermissionLevels()

  • File: private/lib/Extension/Panel/Permissions.php
  • Params:
  • mixed $rawLevels Raw panel_permissions value from ext.json (may be any type).
  • string $extensionName Human-readable extension name used for the fallback default level label.

Raven\Lib\Extension\Panel\Routes::bool()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::int()

  • File: private/lib/Extension/Panel/Routes.php
  • Params:
  • int $bit One panel permission bitmask value.

Raven\Lib\Extension\Panel\Routes::register()

  • File: private/lib/Extension/Panel/Routes.php
  • Params:
  • RouteHandler $router Mutable router receiving extension routes.
  • array&lt;string, mixed&gt; $rvn Shared Raven runtime container.
  • array&lt;string, mixed&gt; $enabledExtensions Enabled extension-state map.
  • array&lt;string, array&lt;string, mixed&gt;&gt; $enabledExtensionManifests Enabled extension manifests keyed by directory.
  • array&lt;string, array&lt;string, mixed&gt;&gt; $extensionPermissionCatalog Panel extension permission catalog keyed by directory.
  • string $internalPath Normalized panel-internal request path.
  • callable(): void $renderPublicNotFound Renders the stock public 404 response for guest/extension gate failures.

Raven\Lib\Extension\Panel\Routes::string()

  • File: private/lib/Extension/Panel/Routes.php
  • Params:
  • string $suffix Optional suffix appended after the panel base path.

Raven\Lib\Extension\Panel\Routes::string()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::string()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::string()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::void()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::void()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::void()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Panel\Routes::void()

  • File: private/lib/Extension/Panel/Routes.php
  • Params: (none)

Raven\Lib\Extension\Public\Content::__construct()

  • File: private/lib/Extension/Public/Content.php
  • Params:
  • string $projectRoot Absolute project root used to discover enabled extensions and their field providers.
  • PageBlockParser $pageBlockParser Shared page-block parser for extension-provided body-block definitions.

Raven\Lib\Extension\Public\Content::int()

  • File: private/lib/Extension/Public/Content.php
  • Params: (none)

Raven\Lib\Extension\Public\Content::publicBodyBlockDefinitions()

  • File: private/lib/Extension/Public/Content.php
  • Params: (none)

Raven\Lib\Extension\Public\FormInstance::__construct()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • InputSanitizer $input Shared input sanitizer for slug normalization.
  • string $projectRoot Absolute project root path for extension enablement checks.

Raven\Lib\Extension\Public\FormInstance::discoverRuntimes()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • array&lt;string, mixed&gt; $extensionServices

Raven\Lib\Extension\Public\FormInstance::findFormDefinition()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • array&lt;string, Shortcodes|FormRuntime&gt; $runtimes

Raven\Lib\Extension\Public\FormInstance::formRuntime()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • array&lt;string, Shortcodes|FormRuntime&gt; $runtimes

Raven\Lib\Extension\Public\FormInstance::isRuntimeEnabled()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • Shortcodes|FormRuntime $runtime Runtime whose extension to check.

Raven\Lib\Extension\Public\FormInstance::renderPublicShortcodes()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • array&lt;string, Shortcodes|FormRuntime&gt; $runtimes
  • string $requestUri Raw request URI used to derive a safe return path.
  • string $csrfField Rendered CSRF hidden-input HTML.
  • callable(): string $captchaMarkup Returns rendered captcha widget HTML.

Raven\Lib\Extension\Public\FormInstance::renderShortcodes()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • array&lt;string, Shortcodes|FormRuntime&gt; $runtimes
  • callable(string $type, string $slug, string $rawArgs): string $renderMarkup

Raven\Lib\Extension\Public\FormInstance::runtime()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • array&lt;string, Shortcodes|FormRuntime&gt; $runtimes

Raven\Lib\Extension\Public\FormInstance::sanitizeReturnPath()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params:
  • string $rawPath Raw request URI string.

Raven\Lib\Extension\Public\FormInstance::string()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params: (none)

Raven\Lib\Extension\Public\FormInstance::string()

  • File: private/lib/Extension/Public/FormInstance.php
  • Params: (none)

Raven\Lib\Extension\Public\FormRuntime::anchorId()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params:
  • string $slug Form slug.

Raven\Lib\Extension\Public\FormRuntime::extensionKey()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params: (none)

Raven\Lib\Extension\Public\FormRuntime::listEnabledForms()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params: (none)

Raven\Lib\Extension\Public\FormRuntime::render()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params:
  • array&lt;string, mixed&gt; $definition Resolved form definition from \listEnabledForms()\.
  • string $returnPath Sanitized return path for post-submit redirect.
  • string $csrfField Rendered CSRF hidden-input HTML.
  • string $captchaMarkup Rendered captcha widget HTML (empty when captcha is disabled).

Raven\Lib\Extension\Public\FormRuntime::submit()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params:
  • string $slug Submitted form slug.
  • string $returnPath Sanitized return path for post-submit redirect.
  • callable(): (string|null) $validateCaptcha Returns a user-facing error string on failure, or null on pass.

Raven\Lib\Extension\Public\FormRuntime::submitAction()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params:
  • string $slug Form slug.

Raven\Lib\Extension\Public\FormRuntime::type()

  • File: private/lib/Extension/Public/FormRuntime.php
  • Params: (none)

Raven\Lib\Extension\Public\MarkdownFileLoader::load()

  • File: private/lib/Extension/Public/MarkdownFileLoader.php
  • Params:
  • string $reference External source reference supplied by the page author.

Raven\Lib\Extension\Public\Routes::register()

  • File: private/lib/Extension/Public/Routes.php
  • Params:
  • RouteHandler $router Mutable router receiving extension routes.
  • array&lt;string, mixed&gt; $rvn Shared runtime container.
  • callable(): object $publicRequestContext Lazy public request-context factory.
  • InputSanitizer $input Shared input normalizer exposed to extension route files.

Raven\Lib\Extension\Public\Routes::string()

  • File: private/lib/Extension/Public/Routes.php
  • Params: (none)

Raven\Lib\Extension\Public\Routes::void()

  • File: private/lib/Extension/Public/Routes.php
  • Params: (none)

Raven\Lib\Extension\Public\Shortcodes::extensionKey()

  • File: private/lib/Extension/Public/Shortcodes.php
  • Params: (none)

Raven\Lib\Extension\Public\Shortcodes::render()

  • File: private/lib/Extension/Public/Shortcodes.php
  • Params:
  • array{slug: string, raw_args: string} $context Shortcode context provided by core.

Raven\Lib\Extension\Public\Shortcodes::type()

  • File: private/lib/Extension/Public/Shortcodes.php
  • Params: (none)

Raven\Lib\Extension\Registry::__construct()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • array&lt;int, string&gt; $enabledExtensionDirectories Enabled extension directory names.
  • Bootstrap|null $bootstrapResolver Optional override for testing.

Raven\Lib\Extension\Registry::bootAllExtensions()

  • File: private/lib/Extension/Registry.php
  • Params:
  • array&lt;string, mixed&gt; $rvn Shared bootstrap container.

Raven\Lib\Extension\Registry::bootExtension()

  • File: private/lib/Extension/Registry.php
  • Params:
  • array&lt;string, mixed&gt; $rvn Shared bootstrap container, passed by reference so
  • string $directory Extension directory name to boot.

Raven\Lib\Extension\Registry::enabledDirectories()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • bool $requireValidManifest When true, skips extensions with invalid manifests.

Raven\Lib\Extension\Registry::enabledMap()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.

Raven\Lib\Extension\Registry::fields()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array{extension?: string} $context Optional context passed to the fields provider.

Raven\Lib\Extension\Registry::fieldsValidationError()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array{extension?: string} $context Optional context passed to the fields provider.

Raven\Lib\Extension\Registry::manifests()

  • File: private/lib/Extension/Registry.php
  • Params: (none)

Raven\Lib\Extension\Registry::permissionMap()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • array&lt;int, int&gt; $allowedBits When non-empty, only entries whose bit is in this list are returned.

Raven\Lib\Extension\Registry::readManifest()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name (slug).

Raven\Lib\Extension\Registry::resolveAllExtensionServices()

  • File: private/lib/Extension/Registry.php
  • Params:
  • array&lt;string, mixed&gt; $rvn Shared bootstrap container.

Raven\Lib\Extension\Registry::resolveExtensionServices()

  • File: private/lib/Extension/Registry.php
  • Params:
  • array&lt;string, mixed&gt; $rvn Shared bootstrap container.
  • string $directory Extension directory name.

Raven\Lib\Extension\Registry::schedulerDirectories()

  • File: private/lib/Extension/Registry.php
  • Params: (none)

Raven\Lib\Extension\Registry::shortcodes()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array{

Raven\Lib\Extension\Registry::shortcodesValidationError()

  • File: private/lib/Extension/Registry.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array{

Raven\Lib\Extension\Registry::storageMap()

  • File: private/lib/Extension/Registry.php
  • Params: (none)

Raven\Lib\Extension\Resolver::canonicalProviderPath()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $extensionRoot Absolute extension directory path.
  • string $filename Provider basename such as \routes_panel.php\.

Raven\Lib\Extension\Resolver::classRoots()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $extensionRoot Absolute extension directory path.

Raven\Lib\Extension\Resolver::hasProvider()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $extensionRoot Absolute extension directory path.
  • string $filename Provider basename such as \shortcodes.php\.

Raven\Lib\Extension\Resolver::isSafeExtensionRoot()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $extensionRoot Absolute extension directory path.

Raven\Lib\Extension\Resolver::isSymlinkFreePath()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $path Absolute path to inspect.

Raven\Lib\Extension\Resolver::providerPath()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $extensionRoot Absolute extension directory path.
  • string $filename Provider basename such as \schema.php\.

Raven\Lib\Extension\Resolver::safeFilePath()

  • File: private/lib/Extension/Resolver.php
  • Params:
  • string $extensionRoot Absolute extension directory path.
  • string $filename Extension-local filename, never a nested path.

Raven\Lib\Extension\Scaffold::createSkeleton()

  • File: private/lib/Extension/Scaffold.php
  • Params:
  • string $extensionPath Absolute extension directory path to create.
  • array{
  • bool $generateAgentsFile Whether to generate local agent-guidance files.
  • bool $generateComposerFile Whether to generate a starter \composer.json\.

Raven\Lib\Extension\StateRead::__construct()

  • File: private/lib/Extension/StateRead.php
  • Params:
  • string $extensionsBasePath Absolute \private/ext\ directory path.
  • string|null $stateBasePath Optional absolute \private/dat/ext\ directory path override.

Raven\Lib\Extension\StateRead::basePath()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::ensureDirectory()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::ensureStateDirectory()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::loadEnabledMap()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::loadPermissionBitsMap()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::loadPermissionMap()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::loadStateData()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateRead::saveEnabledMap()

  • File: private/lib/Extension/StateRead.php
  • Params:
  • array&lt;string, bool&gt; $enabledMap New enabled map to persist.

Raven\Lib\Extension\StateRead::savePermissionBitsMap()

  • File: private/lib/Extension/StateRead.php
  • Params:
  • array&lt;string, array&lt;string, int&gt;&gt; $permissionBitsMap New bits map to persist.

Raven\Lib\Extension\StateRead::savePermissionMap()

  • File: private/lib/Extension/StateRead.php
  • Params:
  • array&lt;string, int&gt; $permissionMap New permission map to persist.

Raven\Lib\Extension\StateRead::saveState()

  • File: private/lib/Extension/StateRead.php
  • Params:
  • array&lt;string, bool&gt; $enabledMap Enabled-extension map to persist.
  • array&lt;string, int&gt; $permissionMap Permission-bit map to persist.
  • array&lt;string, array&lt;string, int&gt;&gt; $permissionBitsMap Level-to-bit map to persist; omit to keep existing.

Raven\Lib\Extension\StateRead::stateFilePath()

  • File: private/lib/Extension/StateRead.php
  • Params: (none)

Raven\Lib\Extension\StateWrite::__construct()

  • File: private/lib/Extension/StateWrite.php
  • Params:
  • string $extensionsBasePath Absolute \private/ext\ directory path.
  • string|null $stateBasePath Optional absolute \private/dat/ext\ directory path override.

Raven\Lib\Extension\StateWrite::ensureStateDirectory()

  • File: private/lib/Extension/StateWrite.php
  • Params: (none)

Raven\Lib\Extension\StateWrite::saveState()

  • File: private/lib/Extension/StateWrite.php
  • Params:
  • array&lt;string, bool&gt; $enabledMap Enabled extension map.
  • array&lt;string, int&gt; $permissionMap Required permission-bit map.
  • array&lt;string, array&lt;string, int&gt;&gt; $permissionBitsMap Level-to-bit map.
  • array&lt;string, bool&gt; $previousEnabledMap Previously loaded enabled map used for schema invalidation checks.

Raven\Lib\Extension\StorageCleaner::__construct()

  • File: private/lib/Extension/StorageCleaner.php
  • Params:
  • string $projectRoot Absolute project root path.
  • PDO $db Active database connection for DROP TABLE operations.
  • string $driver Database driver token (mysql, sqlite, pgsql).
  • string $prefix Table prefix used to derive the extension table stem.
  • ValidateManifest|null $manifestValidator Optional validator; defaults to a fresh instance.
  • ArchiveDelete|null $directoryTreeService Optional directory-removal helper; defaults to a fresh instance.

Raven\Lib\Extension\StorageCleaner::deleteStorageByContract()

  • File: private/lib/Extension/StorageCleaner.php
  • Params:
  • string $directoryName Extension directory name (slug).
  • array{

Raven\Lib\Extension\StorageProvisioner::__construct()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $projectRoot Absolute project root path.
  • ValidateManifest|null $manifestValidator Optional validator; defaults to a fresh instance.

Raven\Lib\Extension\StorageProvisioner::ensureAuxStorageDirectory()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $directoryName Aux root directory name (slug); must be safe and non-reserved.

Raven\Lib\Extension\StorageProvisioner::ensureBinStorage()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $directoryName Extension directory name whose commands should be exposed.

Raven\Lib\Extension\StorageProvisioner::ensureLocalStorageDirectory()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $directoryName Extension directory name (slug).

Raven\Lib\Extension\StorageProvisioner::ensurePanelStorageDirectory()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $directoryName Extension directory name (slug).

Raven\Lib\Extension\StorageProvisioner::ensurePublicStorageDirectory()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $directoryName Extension directory name (slug).

Raven\Lib\Extension\StorageProvisioner::provision()

  • File: private/lib/Extension/StorageProvisioner.php
  • Params:
  • string $directoryName Extension directory name (slug).
  • array{

Raven\Lib\Extension\ValidateManifest::isSafeDirectoryName()

  • File: private/lib/Extension/ValidateManifest.php
  • Params:
  • string $directoryName Candidate directory name to check.

Raven\Lib\Extension\ValidateManifest::normalizeType()

  • File: private/lib/Extension/ValidateManifest.php
  • Params:
  • string $type Raw type string from ext.json.

Raven\Lib\Extension\ValidateManifest::readManifest()

  • File: private/lib/Extension/ValidateManifest.php
  • Params:
  • string $root Absolute project root path.
  • string $directoryName Extension directory name (slug).

Raven\Lib\Extension\ValidateManifest::typeContractError()

  • File: private/lib/Extension/ValidateManifest.php
  • Params:
  • string $extensionRoot Absolute extension directory path.
  • string $type Normalized extension type token.

Raven\Lib\Extension\ValidateProvider::__construct()

  • File: private/lib/Extension/ValidateProvider.php
  • Params:
  • ValidateManifest|null $manifestValidator Optional manifest validator; defaults to a fresh instance.

Raven\Lib\Extension\ValidateProvider::validateFieldsProvider()

  • File: private/lib/Extension/ValidateProvider.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array{extension?: string} $context Optional context passed to the fields provider callable.

Raven\Lib\Extension\ValidateProvider::validateShortcodesProvider()

  • File: private/lib/Extension/ValidateProvider.php
  • Params:
  • string $root Project root path.
  • string $directoryName Extension directory name.
  • array{