cognesy / instructor-dynamic
Lightweight dynamic structure record and schema builder for Instructor
v2.0.0
2026-03-12 23:32 UTC
Requires
- php: ^8.3
- cognesy/instructor: ^1.22
- cognesy/instructor-schema: ^2.0
- symfony/type-info: ^7.3 || ^8.0
Requires (Dev)
- pestphp/pest: ^4.0
- phpstan/phpstan: ^1.11
- vimeo/psalm: ^6.0
This package is auto-updated.
Last update: 2026-03-13 19:49:30 UTC
README
Lightweight runtime structures for schema-driven inputs and outputs.
use Cognesy\Dynamic\Structure; use Cognesy\Schema\SchemaBuilder; $schema = SchemaBuilder::define('search_args') ->string('query') ->int('limit', required: false) ->schema(); $args = Structure::fromSchema($schema, ['query' => 'laravel']); $updated = $args->set('limit', 10); $updated->validate()->isValid(); // true $updated->toArray(); // ['query' => 'laravel', 'limit' => 10]
Use this package when you need:
- a small immutable runtime record (
Structure) - schema-driven structures from callables/classes (
StructureFactory)
Schema authoring lives in Cognesy\Schema (SchemaBuilder, SchemaFactory, CallableSchemaFactory).
See CHEATSHEET.md for API details.