₂₂₂₂₃₃₃₃⅓⅓�W���(��2@�-�0�hv%#�=у�sL'��@��`���7`W&zhaudjnrqs�����q�u}3������~b��LL"�ī��X��s�隑� ����0��� 0�E���?0}f3������B��V��ԩl�bc��d�QƎ�7������� _�wf�-�Fb��R]8SV�⅔¼¾°℃℃∣∣∬∰∮℅⊿∨∪みふにににnŋtsjʒrrdzd巭巭氼氼囍兲兲靐伍叁ㄡㄡㄡшшщъ┞┯..;~& IG金额哦软件管家额VR个款老鹅利润高了令人感慨了kgetg◆★✔▆▆▃▓▒※♪▬℡℡ √☚▆▇▆▃◑☺◆◆费了完【二类费lwefl[regkl±∵≤∑∏∷<<可热卡箍陪客人开票【 LLF LWEFL WLEFL \W;F\;CER]\]\ ER]\GF ]\[ERG]\[P ]\ER;GF;W[RGOL [WR[GFL �;4J��TOڰ�c��y~~e�PlQ��e��ת�~L[ ��i�2w�C��W�4���CH ��5��&�M�=��‡O�&\:Úú "SSn<rçù–´�R�pa$�/E� ************&&&&&&&&&&&&&&^^^^^^^^^^^^%%%%%%%%%% {!��N���! O��`F..>>>>>>>>>>> 0˜S�4 &m�[��� @9��~i8� ����d!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@@@@@@@&&&&&&&&&& kgfpok ergjf ?????????????? ???????????? PKbk*]=5WW(Contracts/AiClientExceptionInterface.phpnu[ The JSON schema as an associative array. */ public static function getJsonSchema(): array; } PKbk*]ꬖD.Contracts/WithArrayTransformationInterface.phpnu[ */ interface WithArrayTransformationInterface { /** * Converts the object to an array representation. * * @since 0.1.0 * * @return TArrayShape The array representation. */ public function toArray(): array; /** * Creates an instance from array data. * * @since 0.1.0 * * @param TArrayShape $array The array data. * @return self The created instance. */ public static function fromArray(array $array): self; /** * Checks if the array is a valid shape for this object. * * @since 0.1.0 * * @param array $array The array to check. * @return bool True if the array is a valid shape. * @phpstan-assert-if-true TArrayShape $array */ public static function isArrayShape(array $array): bool; } PKbk*]EDbb!Contracts/CachesDataInterface.phpnu[name; // 'FIRST_NAME' * $enum->value; // 'first' * $enum->equals('first'); // Returns true * $enum->is(PersonEnum::firstName()); // Returns true * PersonEnum::cases(); // Returns array of all enum instances * * @property-read string $value The value of the enum instance. * @property-read string $name The name of the enum constant. * * @since 0.1.0 */ abstract class AbstractEnum implements JsonSerializable { /** * @var string The value of the enum instance. */ private string $value; /** * @var string The name of the enum constant. */ private string $name; /** * @var array> Cache for reflection data. */ private static array $cache = []; /** * @var array> Cache for enum instances. */ private static array $instances = []; /** * Constructor is private to ensure instances are created through static methods. * * @since 0.1.0 * * @param string $value The enum value. * @param string $name The constant name. */ final private function __construct(string $value, string $name) { $this->value = $value; $this->name = $name; } /** * Provides read-only access to properties. * * @since 0.1.0 * * @param string $property The property name. * @return mixed The property value. * @throws BadMethodCallException If property doesn't exist. */ final public function __get(string $property) { if ($property === 'value' || $property === 'name') { return $this->{$property}; } throw new BadMethodCallException(sprintf('Property %s::%s does not exist', static::class, $property)); } /** * Prevents property modification. * * @since 0.1.0 * * @param string $property The property name. * @param mixed $value The value to set. * @throws BadMethodCallException Always, as enum properties are read-only. */ final public function __set(string $property, $value): void { throw new BadMethodCallException(sprintf('Cannot modify property %s::%s - enum properties are read-only', static::class, $property)); } /** * Creates an enum instance from a value, throws exception if invalid. * * @since 0.1.0 * * @param string $value The enum value. * @return static The enum instance. * @throws InvalidArgumentException If the value is not valid. */ final public static function from(string $value): self { $instance = self::tryFrom($value); if ($instance === null) { throw new InvalidArgumentException(sprintf('%s is not a valid backing value for enum %s', $value, static::class)); } return $instance; } /** * Tries to create an enum instance from a value, returns null if invalid. * * @since 0.1.0 * * @param string $value The enum value. * @return static|null The enum instance or null. */ final public static function tryFrom(string $value): ?self { $constants = static::getConstants(); foreach ($constants as $name => $constantValue) { if ($constantValue === $value) { return self::getInstance($constantValue, $name); } } return null; } /** * Gets all enum cases. * * @since 0.1.0 * * @return static[] Array of all enum instances. */ final public static function cases(): array { $cases = []; $constants = static::getConstants(); foreach ($constants as $name => $value) { $cases[] = self::getInstance($value, $name); } return $cases; } /** * Checks if this enum has the same value as the given value. * * @since 0.1.0 * * @param string|self $other The value or enum to compare. * @return bool True if values are equal. */ final public function equals($other): bool { if ($other instanceof self) { return $this->is($other); } return $this->value === $other; } /** * Checks if this enum is the same instance type and value as another enum. * * @since 0.1.0 * * @param self $other The other enum to compare. * @return bool True if enums are identical. */ final public function is(self $other): bool { return $this === $other; // Since we're using singletons, we can use identity comparison } /** * Gets all valid values for this enum. * * @since 0.1.0 * * @return string[] List of all enum values. */ final public static function getValues(): array { return array_values(static::getConstants()); } /** * Checks if a value is valid for this enum. * * @since 0.1.0 * * @param string $value The value to check. * @return bool True if value is valid. */ final public static function isValidValue(string $value): bool { return in_array($value, self::getValues(), \true); } /** * Gets or creates a singleton instance for the given value and name. * * @since 0.1.0 * * @param string $value The enum value. * @param string $name The constant name. * @return static The enum instance. */ private static function getInstance(string $value, string $name): self { $className = static::class; if (!isset(self::$instances[$className])) { self::$instances[$className] = []; } if (!isset(self::$instances[$className][$name])) { $instance = new $className($value, $name); self::$instances[$className][$name] = $instance; } /** @var static */ return self::$instances[$className][$name]; } /** * Gets all constants for this enum class. * * @since 0.1.0 * * @return array Map of constant names to values. * @throws RuntimeException If invalid constant found. */ final protected static function getConstants(): array { $className = static::class; if (!isset(self::$cache[$className])) { self::$cache[$className] = static::determineClassEnumerations($className); } return self::$cache[$className]; } /** * Determines the class enumerations by reflecting on class constants. * * This method can be overridden by subclasses to customize how * enumerations are determined (e.g., to add dynamic constants). * * @since 0.1.0 * * @param class-string $className The fully qualified class name. * @return array Map of constant names to values. * @throws RuntimeException If invalid constant found. */ protected static function determineClassEnumerations(string $className): array { $reflection = new ReflectionClass($className); $constants = $reflection->getConstants(); // Validate all constants $enumConstants = []; foreach ($constants as $name => $value) { // Check if constant name follows uppercase snake_case pattern if (!preg_match('/^[A-Z][A-Z0-9_]*$/', $name)) { throw new RuntimeException(sprintf('Invalid enum constant name "%s" in %s. Constants must be UPPER_SNAKE_CASE.', $name, $className)); } // Check if value is valid type if (!is_string($value)) { throw new RuntimeException(sprintf('Invalid enum value type for constant %s::%s. ' . 'Only string values are allowed, %s given.', $className, $name, gettype($value))); } $enumConstants[$name] = $value; } return $enumConstants; } /** * Handles dynamic method calls for enum checking. * * @since 0.1.0 * * @param string $name The method name. * @param array $arguments The method arguments. * @return bool True if the enum value matches. * @throws BadMethodCallException If the method doesn't exist. */ final public function __call(string $name, array $arguments): bool { // Handle is* methods if (str_starts_with($name, 'is')) { $constantName = self::camelCaseToConstant(substr($name, 2)); $constants = static::getConstants(); if (isset($constants[$constantName])) { return $this->value === $constants[$constantName]; } } throw new BadMethodCallException(sprintf('Method %s::%s does not exist', static::class, $name)); } /** * Handles static method calls for enum creation. * * @since 0.1.0 * * @param string $name The method name. * @param array $arguments The method arguments. * @return static The enum instance. * @throws BadMethodCallException If the method doesn't exist. */ final public static function __callStatic(string $name, array $arguments): self { $constantName = self::camelCaseToConstant($name); $constants = static::getConstants(); if (isset($constants[$constantName])) { return self::getInstance($constants[$constantName], $constantName); } throw new BadMethodCallException(sprintf('Method %s::%s does not exist', static::class, $name)); } /** * Converts camelCase to CONSTANT_CASE. * * @since 0.1.0 * * @param string $camelCase The camelCase string. * @return string The CONSTANT_CASE version. */ private static function camelCaseToConstant(string $camelCase): string { $snakeCase = preg_replace('/([a-z])([A-Z])/', '$1_$2', $camelCase); if ($snakeCase === null) { return strtoupper($camelCase); } return strtoupper($snakeCase); } /** * Returns string representation of the enum. * * @since 0.1.0 * * @return string The enum value. */ final public function __toString(): string { return $this->value; } /** * Converts the enum to a JSON-serializable format. * * @since 0.1.0 * * @return string The enum value. */ #[\ReturnTypeWillChange] public function jsonSerialize() { return $this->value; } } PKbk*] µ}}AbstractDataTransferObject.phpnu[ * @implements WithArrayTransformationInterface */ abstract class AbstractDataTransferObject implements WithArrayTransformationInterface, WithJsonSchemaInterface, JsonSerializable { /** * Validates that required keys exist in the array data. * * @since 0.1.0 * * @param array $data The array data to validate. * @param string[] $requiredKeys The keys that must be present. * @throws InvalidArgumentException If any required key is missing. */ protected static function validateFromArrayData(array $data, array $requiredKeys): void { $missingKeys = []; foreach ($requiredKeys as $key) { if (!array_key_exists($key, $data)) { $missingKeys[] = $key; } } if (!empty($missingKeys)) { throw new InvalidArgumentException(sprintf('%s::fromArray() missing required keys: %s', static::class, implode(', ', $missingKeys))); } } /** * {@inheritDoc} * * @since 0.1.0 */ public static function isArrayShape(array $array): bool { try { /** @var TArrayShape $array */ static::fromArray($array); return \true; } catch (InvalidArgumentException $e) { return \false; } } /** * Converts the object to a JSON-serializable format. * * This method uses the toArray() method and then processes the result * based on the JSON schema to ensure proper object representation for * empty arrays. * * @since 0.1.0 * * @return mixed The JSON-serializable representation. */ #[\ReturnTypeWillChange] public function jsonSerialize() { $data = $this->toArray(); $schema = static::getJsonSchema(); return $this->convertEmptyArraysToObjects($data, $schema); } /** * Recursively converts empty arrays to stdClass objects where the schema expects objects. * * @since 0.1.0 * * @param mixed $data The data to process. * @param array $schema The JSON schema for the data. * @return mixed The processed data. */ private function convertEmptyArraysToObjects($data, array $schema) { // If data is an empty array and schema expects object, convert to stdClass if (is_array($data) && empty($data) && isset($schema['type']) && $schema['type'] === 'object') { return new stdClass(); } // If data is an array with content, recursively process nested structures if (is_array($data)) { // Handle object properties if (isset($schema['properties']) && is_array($schema['properties'])) { foreach ($data as $key => $value) { if (isset($schema['properties'][$key]) && is_array($schema['properties'][$key])) { $data[$key] = $this->convertEmptyArraysToObjects($value, $schema['properties'][$key]); } } } // Handle array items if (isset($schema['items']) && is_array($schema['items'])) { foreach ($data as $index => $item) { $data[$index] = $this->convertEmptyArraysToObjects($item, $schema['items']); } } // Handle oneOf/anyOf schemas - just use the first one foreach (['oneOf', 'anyOf'] as $keyword) { if (isset($schema[$keyword]) && is_array($schema[$keyword])) { foreach ($schema[$keyword] as $possibleSchema) { if (is_array($possibleSchema)) { return $this->convertEmptyArraysToObjects($data, $possibleSchema); } } } } } return $data; } } PKbk*]t=I9>>Exception/error_lognu[[15-Jul-2026 16:16:44 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [15-Jul-2026 16:16:44 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [15-Jul-2026 16:16:45 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [24-Jul-2026 12:15:13 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [24-Jul-2026 12:15:13 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [24-Jul-2026 12:15:13 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [25-Jul-2026 05:33:02 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [25-Jul-2026 05:33:02 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [25-Jul-2026 05:33:03 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [04-Aug-2026 23:27:19 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [04-Aug-2026 23:27:20 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [04-Aug-2026 23:27:20 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [13-Aug-2026 01:33:41 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [13-Aug-2026 01:33:42 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [13-Aug-2026 01:33:42 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [13-Aug-2026 13:00:11 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [13-Aug-2026 13:00:11 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [13-Aug-2026 13:00:11 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [19-Aug-2026 21:32:06 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [19-Aug-2026 21:32:06 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [19-Aug-2026 21:32:07 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [19-Aug-2026 22:05:18 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [19-Aug-2026 22:05:18 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [19-Aug-2026 22:05:18 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [19-Aug-2026 23:23:23 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [19-Aug-2026 23:23:24 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [19-Aug-2026 23:23:24 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [03-Sep-2026 06:50:36 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [03-Sep-2026 06:50:51 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [03-Sep-2026 06:51:38 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [05-Sep-2026 13:05:49 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [05-Sep-2026 22:12:48 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [05-Sep-2026 23:57:39 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [06-Sep-2026 14:52:34 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [06-Sep-2026 23:54:11 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 [07-Sep-2026 01:52:42 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [09-Sep-2026 00:44:43 UTC] PHP Fatal error: Uncaught Error: Class "WordPress\AiClient\Common\Exception\RuntimeException" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/TokenLimitReachedException.php on line 15 [09-Sep-2026 00:44:44 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/RuntimeException.php on line 15 [09-Sep-2026 00:44:45 UTC] PHP Fatal error: Uncaught Error: Interface "WordPress\AiClient\Common\Contracts\AiClientExceptionInterface" not found in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php:15 Stack trace: #0 {main} thrown in /home/veronikagstoette/public_html/wp-includes/php-ai-client/src/Common/Exception/InvalidArgumentException.php on line 15 PKbk*]PXc&Exception/InvalidArgumentException.phpnu[maxTokens = $maxTokens; } /** * Returns the token limit that was reached, if known. * * @since 1.0.0 * * @return int|null The token limit, or null if not provided. */ public function getMaxTokens(): ?int { return $this->maxTokens; } } PKbk*].}Exception/RuntimeException.phpnu[ */ private array $localCache = []; /** * Gets the cache key suffixes managed by this object. * * @since 0.4.0 * * @return list The cache key suffixes. */ abstract protected function getCachedKeys(): array; /** * Gets the base cache key for this object. * * The base cache key is used as a prefix for all cache keys managed by this object. * It should be unique to the implementing class to avoid cache key collisions. * * @since 0.4.0 * * @return string The base cache key. */ abstract protected function getBaseCacheKey(): string; /** * Checks if a value exists in the cache. * * @since 0.4.0 * * @param string $key The cache key suffix (will be appended to the base key). * @return bool True if the value exists in cache, false otherwise. */ protected function hasCache(string $key): bool { $fullKey = $this->buildCacheKey($key); $cache = AiClient::getCache(); if ($cache !== null) { return $cache->has($fullKey); } return array_key_exists($fullKey, $this->localCache); } /** * Gets a value from the cache, or computes and caches it if not present. * * @since 0.4.0 * * @param string $key The cache key suffix (will be appended to the base key). * @param callable $callback The callback to compute the value if not cached. * @param int|\DateInterval|null $ttl The TTL for the cache entry, or null for default. * Ignored for local cache. * @return mixed The cached or computed value. */ protected function cached(string $key, callable $callback, $ttl = null) { if ($this->hasCache($key)) { return $this->getCache($key); } $value = $callback(); $this->setCache($key, $value, $ttl); return $value; } /** * Gets a value from the cache. * * @since 0.4.0 * * @param string $key The cache key suffix (will be appended to the base key). * @param mixed $default The default value to return if the key does not exist. * @return mixed The cached value or the default value if not found. */ protected function getCache(string $key, $default = null) { $fullKey = $this->buildCacheKey($key); $cache = AiClient::getCache(); if ($cache !== null) { return $cache->get($fullKey, $default); } return $this->localCache[$fullKey] ?? $default; } /** * Sets a value in the cache. * * @since 0.4.0 * * @param string $key The cache key suffix (will be appended to the base key). * @param mixed $value The value to cache. * @param int|\DateInterval|null $ttl The TTL for the cache entry, or null for default. Ignored for local cache. * @return bool True on success, false on failure. */ protected function setCache(string $key, $value, $ttl = null): bool { $fullKey = $this->buildCacheKey($key); $cache = AiClient::getCache(); if ($cache !== null) { return $cache->set($fullKey, $value, $ttl); } $this->localCache[$fullKey] = $value; return \true; } /** * Invalidates all caches managed by this object. * * @since 0.4.0 * * @return void */ public function invalidateCaches(): void { foreach ($this->getCachedKeys() as $key) { $this->clearCache($key); } } /** * Clears a value from the cache. * * @since 0.4.0 * * @param string $key The cache key suffix (will be appended to the base key). * @return bool True on success, false on failure. */ protected function clearCache(string $key): bool { $fullKey = $this->buildCacheKey($key); $cache = AiClient::getCache(); if ($cache !== null) { return $cache->delete($fullKey); } unset($this->localCache[$fullKey]); return \true; } /** * Builds the full cache key by combining the base key with the suffix. * * @since 0.4.0 * * @param string $key The cache key suffix. * @return string The full cache key. */ private function buildCacheKey(string $key): string { return $this->getBaseCacheKey() . '_' . $key; } } PKbk*]=5WW(Contracts/AiClientExceptionInterface.phpnu[PKbk*]1^^%Contracts/WithJsonSchemaInterface.phpnu[PKbk*]ꬖD.bContracts/WithArrayTransformationInterface.phpnu[PKbk*]EDbb!Contracts/CachesDataInterface.phpnu[PKbk*]  error_lognu[PKbk*]M3Vp,p,AbstractEnum.phpnu[PKbk*] µ}}ILAbstractDataTransferObject.phpnu[PKbk*]t=I9>>_Exception/error_lognu[PKbk*]PXc&Exception/InvalidArgumentException.phpnu[PKbk*]e,(>Exception/TokenLimitReachedException.phpnu[PKbk*].}$Exception/RuntimeException.phpnu[PKbk*]`]/Traits/WithDataCachingTrait.phpnu[PK qp