APIWEBADMAPP

Platform statusAll monitored systems operational.

All languages

Shared type substrate and tooling

VTI

Betav0.3.0

Replaces schema islands and ad hoc interchange.

VTI is the Veylun Type Interchange substrate. It defines a deterministic JSON package format for exchanged type declarations and substrate tooling for validation, diffs, and human-readable summaries.

Package Shape

A VTI package is a JSON object with:

Entities carry a name, type_id, optional foreign_keys, and a closed row with fields. Enums carry a name, type_id, closed flag, and ordered variants.

  • vti_version: the VTI contract version, currently 0.3.
  • package: package metadata with name and version.
  • modules: module records with path, source, language, entities, and enums.
  • fingerprint: optional deterministic package fingerprint.

Types

Field types include scalar, enum, database ID, decimal, nullable, ref, list, and record forms.

  • Saeril T[] emits a VTI list with an inner type.
  • Saeril Struct { field: T } emits a closed VTI record with named fields and mapped field types.
  • Saeril Json, JSON, Jsonb, and JSONB emit the VTI Json scalar.

Type IDs

Declaration type IDs use:

The package name, module path, and declaration name must match the declaration location. epoch is a positive integer. Shape changes that require a new type identity use an epoch bump.

Validation

Diagnostics are emitted one per line and include the entity, field, or foreign key context where possible.

  • Duplicate entities, enums, or declaration names within the package.
  • type_id format and declaration match.
  • database_id targets reference existing entities.
  • ref targets reference existing entity fields.
  • foreign_keys use an existing local field and target an existing entity field.
  • Enum field types reference existing enums.

Diff

Diff compares declarations by module.declaration and reports added, removed, and changed types. The report status is:

The command exits successfully for VTI-compatible reports and non-zero for breaking reports.

  • VTI-COMPATIBLE when declarations were added or changed without an epoch change.
  • BREAKING when declarations were removed or changed with an epoch change.

Show

The summary prints package metadata, modules, enums and variants, entities and fields, and foreign keys in a compact human-readable format.

Download

VTI is in active development and has no public downloads or releases yet.

No public download artifacts are available yet for this language.

Looking for everything in one place? See the downloads index.