Input; the Object scalar no longer JSON-parses string variables; duplicate GraphQL type/field names are startup errors; operations declaring grpc.streaming: "client" | "bidi" now receive an async iterable of messages instead of a collected array.
core: instance actions declaring non-context parameters now receive them instead of the operation context. Take the context with a context-typed parameter or useContext().
the unused store parameters modelAliases, defaultModel and forceModel are removed; use @WebdaAlias for renamed models. The runtime MigrationStore is removed: use webda migrate.
ql: DELETE, UPDATE, SELECT, SET and WHERE are reserved uppercase keywords; Query.type is required; parse().toString() prints the canonical query instead of the source tokens; the root parse rule is now (statement | filterQuery) EOF for code walking the ANTLR tree.
auth: redesign authentication with @webda/auth (#800)
@webda/ts-plugin and the tsc-esm binary are removed, and applications now build with TypeScript 7.1. Generated code changes where TypeScript 6 was wrong, each verified against the shipped output:
AuditEntry.timestamp, declared number, is no longer coerced to Date;
AbstractOwnerModel no longer emits new ModelLink(T), a ReferenceError
on first raw-uuid assignment;
sample-app's User extends WebdaUser is now treated as a model (TS6's
base-chain guard was keyed on class name), so its relations are
initialised and coerced;
imports use the specifier the author wrote, not monorepo-relative paths
that only resolve inside this repository;
the emitted .d.ts is valid (TS6 referenced PrimaryKeyType unimported and
wrote BelongTo without its type argument).
A build that cannot write its module now fails; under TS6 a strict
file-naming violation was logged and the build still reported success.
the @webda/schema package is removed, along with its webda-schema-generator CLI. Schema generation lives in @webda/content-mapper and is driven by @webda/compiler; nothing in the repo imported @webda/schema any more after the previous commit.
compiler: model relations are now type: "string" in Input, Output and Stored schemas instead of an object with no properties, and six services gain the type property they inherit from ServiceParameters. Anything generated from these schemas — API validation, client types — changes with them.