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.