···132132133133 // Register AT Protocol validation rules
134134 $validator->extend('nsid', function ($attribute, $value) {
135135- $rule = new Validation\Rules\Nsid;
135135+ $rule = new Validation\Rules\Nsid();
136136 $failed = false;
137137 $rule->validate($attribute, $value, function () use (&$failed) {
138138 $failed = true;
···142142 }, 'The :attribute is not a valid NSID.');
143143144144 $validator->extend('did', function ($attribute, $value) {
145145- $rule = new Validation\Rules\Did;
145145+ $rule = new Validation\Rules\Did();
146146 $failed = false;
147147 $rule->validate($attribute, $value, function () use (&$failed) {
148148 $failed = true;
···152152 }, 'The :attribute is not a valid DID.');
153153154154 $validator->extend('handle', function ($attribute, $value) {
155155- $rule = new Validation\Rules\Handle;
155155+ $rule = new Validation\Rules\Handle();
156156 $failed = false;
157157 $rule->validate($attribute, $value, function () use (&$failed) {
158158 $failed = true;
···162162 }, 'The :attribute is not a valid handle.');
163163164164 $validator->extend('at_uri', function ($attribute, $value) {
165165- $rule = new Validation\Rules\AtUri;
165165+ $rule = new Validation\Rules\AtUri();
166166 $failed = false;
167167 $rule->validate($attribute, $value, function () use (&$failed) {
168168 $failed = true;
···172172 }, 'The :attribute is not a valid AT URI.');
173173174174 $validator->extend('at_datetime', function ($attribute, $value) {
175175- $rule = new Validation\Rules\AtDatetime;
175175+ $rule = new Validation\Rules\AtDatetime();
176176 $failed = false;
177177 $rule->validate($attribute, $value, function () use (&$failed) {
178178 $failed = true;
···182182 }, 'The :attribute is not a valid AT Protocol datetime.');
183183184184 $validator->extend('cid', function ($attribute, $value) {
185185- $rule = new Validation\Rules\Cid;
185185+ $rule = new Validation\Rules\Cid();
186186 $failed = false;
187187 $rule->validate($attribute, $value, function () use (&$failed) {
188188 $failed = true;
···218218 }, 'The :attribute must be at least :min_graphemes graphemes.');
219219220220 $validator->extend('language', function ($attribute, $value) {
221221- $rule = new Validation\Rules\Language;
221221+ $rule = new Validation\Rules\Language();
222222 $failed = false;
223223 $rule->validate($attribute, $value, function () use (&$failed) {
224224 $failed = true;
+2-1
src/Services/UnionResolver.php
···1616 */
1717 public function __construct(
1818 protected ?LexiconRegistry $registry = null
1919- ) {}
1919+ ) {
2020+ }
20212122 /**
2223 * Resolve union type from data.
+1
src/Support/UnionHelper.php
···4040 // Check if type is known
4141 if (! isset($typeMap[$type])) {
4242 $knownTypes = implode(', ', array_keys($typeMap));
4343+4344 throw new InvalidArgumentException(
4445 "Unknown union type '{$type}'. Expected one of: {$knownTypes}"
4546 );
+2-2
src/Validation/Rules/AtUri.php
···4949 $authority = $parts[0];
50505151 // Validate authority (DID or handle)
5252- $didRule = new Did;
5353- $handleRule = new Handle;
5252+ $didRule = new Did();
5353+ $handleRule = new Handle();
54545555 $isValidDid = true;
5656 $isValidHandle = true;
+5-5
src/Validation/TypeValidators/ArrayValidator.php
···7575 $type = $definition['type'] ?? null;
76767777 $validator = match ($type) {
7878- 'string' => new StringValidator,
7979- 'integer' => new IntegerValidator,
8080- 'boolean' => new BooleanValidator,
8181- 'object' => new ObjectValidator,
8282- 'array' => new ArrayValidator,
7878+ 'string' => new StringValidator(),
7979+ 'integer' => new IntegerValidator(),
8080+ 'boolean' => new BooleanValidator(),
8181+ 'object' => new ObjectValidator(),
8282+ 'array' => new ArrayValidator(),
8383 default => null,
8484 };
8585
+5-5
src/Validation/TypeValidators/ObjectValidator.php
···4848 $type = $definition['type'] ?? null;
49495050 $validator = match ($type) {
5151- 'string' => new StringValidator,
5252- 'integer' => new IntegerValidator,
5353- 'boolean' => new BooleanValidator,
5454- 'object' => new ObjectValidator,
5555- 'array' => new ArrayValidator,
5151+ 'string' => new StringValidator(),
5252+ 'integer' => new IntegerValidator(),
5353+ 'boolean' => new BooleanValidator(),
5454+ 'object' => new ObjectValidator(),
5555+ 'array' => new ArrayValidator(),
5656 default => null,
5757 };
5858
+1-1
src/Validation/TypeValidators/UnionValidator.php
···1313 public function __construct(
1414 protected ?UnionResolver $resolver = null
1515 ) {
1616- $this->resolver = $resolver ?? new UnionResolver;
1616+ $this->resolver = $resolver ?? new UnionResolver();
1717 }
18181919 /**