cognesy/instructor-dynamic

Lightweight dynamic structure record and schema builder for Instructor

Maintainers

👁 ddebowczyk

Package info

github.com/cognesy/instructor-dynamic

Homepage

Issues

pkg:composer/cognesy/instructor-dynamic

Statistics

Installs: 5

Dependents: 2

Suggesters: 0

Stars: 0

v2.3.1 2026-03-30 09:17 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 412cb938c457ecf0b348be6db07b4812cca89595

  • Dariusz Debowczyk <ddebowczyk.woop@gmail.com>

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.