Remove entityName from the required fields of dashboard-group-descriptor so group definitions no longer must specify an entity. Add an optional entityName string property to dashboard-visualization-descriptor (minLength: 1) so individual visualizations can override the group's entityName. If the visualization-level entityName is omitted, the group's entityName is used.
Introduce a set of JSON Schema definitions to support dashboards and visualizations (aggregation, chart, chart-type, descriptor, filter, group, list, number, position, user-filter, visualization, visualization-type). Update page-descriptor.schema.json to include a dashboard property and a conditional requirement when page type is "dashboard", and extend page-type.schema.json enum to include "dashboard". These changes add schema-level validation for dashboard configuration, visualizations (number/chart/list), positioning, and filters.
Add schema definitions for forms (form-descriptor, form-field-descriptor, form-field-type, form-layout-descriptor, form-rule-descriptor) to describe named forms, fields, layouts and conditional rules. Update page-type to include a new "form" page type and extend page-descriptor with form-related properties (formName, createFormName, editFormName, createFormDisplay, editFormDisplay) and conditional validation (require formName for type 'form', keep kanban's required groupByProperty). Extend model.schema.json to include a top-level "forms" array referencing the new form definitions.
Introduce page-type and page-descriptor JSON Schemas to describe UI pages (type enum: dataGrid, kanban, calendar). The PageDescriptor defines name, title, icon, type, entityName, order and a groupByProperty that is conditionally required when type is kanban. Update model.schema.json to add a pages array referencing the new page-descriptor schema so pages can be declared in the model.
Refactor scripting examples to consistently await db.query(...) into named table variables (e.g. productTable, customerTable, orderTable, entityTable, orderLineTable) and use those variables for subsequent operations. Adjusted examples to await where() when needed and updated aggregation/collection examples accordingly. Also clarified semantics for first/last/single variants in the API table. Changes applied to docs/en/low-code/scripting-api.md and docs/en/low-code/custom-endpoints.md to keep example patterns consistent and clearer for consumers.
Replace setting CommandName property with the CommandInterceptorDescriptor(string) constructor in examples. Updated docs/en/low-code/fluent-api.md and docs/en/low-code/interceptors.md to pass "Create" and "Delete" as constructor arguments to simplify and clarify interceptor declarations; no functional change to behavior.