diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ec070a65..72a89c3b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## [Unreleased] +## [0.17.0] — 2026-07-18 + +Coordinated additive **minor** across all four registries: **npm `0.17.0`** · **PyPI `0.17.0`** · **NuGet `0.17.0`** · **Maven Central `7.9.0`** (Java/Kotlin). Bundles the accumulated projection/view + read-model + prompt work below, plus a full documentation + agent-context skills refresh (the seven `meta init` skills were accuracy-passed and Fable-reviewed, closing a class of stale-vocabulary and calibration defects; the runtime-ui skill gained its missing Python + C# language references). No breaking changes. + ### #208 — DDL-ownership escape valves (`@sql` body + `@unmanaged` marker) Two mutually-exclusive `source.rdb` attributes express *who owns a DB object's DDL* — the escape from "a projection's view is always synthesized from its `origin.*` children" (ADR-0043): diff --git a/CLAUDE.md b/CLAUDE.md index 8fdff9047..cfc828f70 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,9 +17,9 @@ Equal weight — all four ship per-language today across the five ports (TS / C# ## Status -_Last refreshed 2026-07-14._ +_Last refreshed 2026-07-18._ -**TypeScript reference implementation** is **published to npm at `0.16.0`** (14 `@metaobjectsdev/*` publish candidates on the `latest` tag, full lockstep; the two `angular` packages are on their own `0.6.x` line). C# at `0.16.0` (NuGet); Python at `0.16.0` (PyPI); Java / Kotlin at `7.8.0` (Maven Central). **The `0.16.0` / `7.8.0` line is a coordinated BREAKING release (FR-036)** bundling the held **FR-035 present-key PATCH tristate** (absent≠null: absent→untouched / present-null→clears / present-null-on-`@required`→400) with **FR-036 cross-port constraint-validation enforcement + semantic pins**: `@required` string = NON-EMPTY (reject `null`/`""`, accept whitespace); `validator.regex @pattern` = FULL-MATCH; `@maxLength`×`validator.length @max` = strictest-wins; **C# and Python now ENFORCE field constraints over HTTP** (both were decorative at the wire tier); POST + PATCH validate present values on all five ports, **vanilla AND TPH per-subtype**. A missing `@required` value-type POST now 400s everywhere; a server-defaulted/`@autoSet`/auto-gen-PK `@required` field is correctly optional on POST. All conformance-gated (validation-conformance + api-contract, both lanes) — an xhigh review before release caught 11 cross-port divergences, all fixed + gated. See `CHANGELOG.md` [0.16.0]. **The prior `0.15.21` / `7.7.11` line was a bug-fix release** (npm `0.15.21` · PyPI `0.15.13` · Maven `7.7.11`; **NuGet unchanged at `0.15.10`** — the C# port needed no fix and was the reference the other three were corrected against). No metadata changes, no new vocabulary. It closes a family of migrate-engine defects that were destructive or silent: a **wrong-row write/delete** in every writable mount (a numeric-looking string id on a TEXT/uuid PK hit a *different* row); **every incremental `meta migrate` rebuilding every uuid-PK table**; `@autoSet` emitting `DEFAULT now()` on SQLite/D1 (**un-appliable migration**); `field.enum @values` changes **never migrating** on SQLite (stale CHECK → production insert failures); the SQLite emitter **dropping index `@expr`/`@where`/`@orders`** (a partial-UNIQUE silently becoming fully UNIQUE); an **auto-allowed `drop-view`**; `@kind: storedProc` projections **crashing `meta migrate`**; and quoted boolean defaults stored as TEXT so `= 0` matched nothing. It also fixes **hardcoded primary-key types in the Java, Kotlin and Python generators** — a `@generation: uuid` entity got broken output (Kotlin's **did not compile**) while its own DTO correctly used UUID. Every migrate fix is now gated by an `emit → apply to a real engine → introspect → re-diff must be EMPTY` round-trip plus value-semantics probes; the absence of that gate (nothing ever ran the pipeline twice against a real DB) is what let the class survive 5000+ tests. The prior **`0.15.19` / `7.7.9` line was a coordinated release across all four registries** (additive, non-breaking): `origin.aggregate @filter` (a scoping filter — an `attr.filter` object — rendered as SQL `FILTER (WHERE …)` / SQLite `CASE WHEN`) is now registered in all five ports + registry-conformance (with an `origin-aggregate-filtered` fixture), closing the "projections can't express my scoped aggregate" gap; and the agent-context skills + docs make the projection/DB-view contract explicit — a projection's `CREATE VIEW` is generated from its `origin.*` children, so a hand-written view is drift (and, being unmanaged, invisible to `meta verify --db`), with the "custom SQL views" hand-write exception bounded to genuinely-irreducible views, a new audit view-necessity signature + a **VOCAB CANDIDATE** new-subtype-opportunity hunt, and a new `docs/features/downstream-metadata-decisions.md` adopter guide. **npm `0.15.18` was an npm-only, non-breaking patch on top of the coordinated `0.15.17` line** (PyPI/NuGet/Maven unchanged — TS-only fixes; advances the 1.0 quiet period): the `codegen-ts` `promptRender` **FQN `@objectRef` fix** (a prompt payload value-object nesting an `@objectRef` to another value-object emitted invalid `pkg::Name` TypeScript — now package-stripped to the bare name, matching `entityFile`) plus a batch of **agent-context skills fixes** (four of six `metaobjects-*` skills had invalid YAML front-matter so they never intent-triggered; wrong C# reference flags; the reference-fragment install reverted from deploy-all to stack-scoped; deprecated `codegen-ts/generators` imports + singular tanstack paths; ADR-0040 `index.lookup` vocabulary; and a stale Kotlin fixture that had left `agent-context-conformance` red on `main`). A cross-port hunt confirmed the `promptRender` FQN leak was **TS-only** (Java/C#/Kotlin/Python payload codegen already strip); PR #190 added the missing Python + Kotlin regression tests. The `0.15.17` line is a coordinated release across all four registries: (1) **BREAKING — `origin.passthrough` is type-preserving** (a passthrough field must match its `@from` source's `field.` + array-ness or fail load with `ERR_PASSTHROUGH_TYPE_MISMATCH`; opt out with `@convert: true`; retires the narrow `ERR_PARAMETER_REF_PASSTHROUGH_TYPE_MISMATCH`) (#185/#186); (2) **typed value-object jsonb columns end-to-end all ports** — single + `@isArray` array-of-VO round-trip through every port's write/read codec; Kotlin codegen moved off kotlinx `@Serializable` to a generated per-package Jackson `MetaJsonbMapper` (no serialization compiler plugin), C#/Java/Python array-of-VO codecs fixed (#187); (3) **load-order-independent super-resolution** — a dotted `extends: Owner.member` to an inherited member now resolves regardless of file load order (was a Node-vs-Bun `readdir` build-portability bug) via on-demand memoized resolution (#188/#189). The `0.15.6` line is a coordinated cross-port loader-ordering fix (all four registries bumped together): an overlay-only file could be merged *before* the base file declaring the entity it re-opens, so an `object.projection` overlay re-open (and any overlay reaching a not-yet-loaded `extends`/`origin` target) failed super-resolution with spurious `ERR_INVALID_ORIGIN` / `ERR_UNRESOLVED_SUPER` / `ERR_MISSING_REQUIRED_ATTR` — surfacing as a TS-vs-Python divergence but latent in every port. Each loader now stable-partitions overlay-only sources/roots to merge last, deterministically, cross-port conformance-gated (`projection-overlay-abstract-identity`) (#160). The prior `0.15.5` / PyPI `0.15.6` line shipped two consumer-provider CLI fixes (offline `meta migrate` now threads `metaobjects.config.ts` providers #157; a Python `metaobjects … --provider module:symbol` hook #158). The `0.15.4` line fixes cross-package same-name root nodes being wrongly merged by the TS/C#/Python loaders (#155). 2500+ tests passing across the workspace. (The `0.15.1` / `7.7.1` line shipped the **`index.*` type + `identity.secondary` key-purity** [ADR-0040]: `identity.secondary` is now a *unique* alternate key with `@unique` **removed** — a legacy `@unique` fails load with `ERR_UNKNOWN_ATTR` — and a new **`index.lookup`** subtype carries *non-unique* retrieval [`@fields` required; `@using`/`@expr`/`@where`/`@orders` are RDB-physical escapes], cross-port conformance-gated; **breaking**, migration in `docs/features/migrations/identity-secondary-to-index-lookup.md`. This is on top of the `0.15.0` metamodel-1.0 vocabulary program + the ADR-0039 own-accessor fix.) +**TypeScript reference implementation** is **published to npm at `0.17.0`** (14 `@metaobjectsdev/*` publish candidates on the `latest` tag, full lockstep; the two `angular` packages are on their own `0.6.x` line). C# at `0.17.0` (NuGet); Python at `0.17.0` (PyPI); Java / Kotlin at `7.9.0` (Maven Central). **The `0.17.0` / `7.9.0` line is a coordinated additive minor** bundling **#195** projection read-model origins (`origin.aggregate @agg: any|all|collect`, `origin.computed @expr`, `origin.first`), **#207** projection row-scope `@filter` (view outer `WHERE`), **#208** DDL-ownership escape valves (`source.rdb` `@sql` hand-written body + `@unmanaged` marker; ADR-0043), **#214** entity read-view codegen READ half (all five ports), and **Program D** value-object jsonb-column PATCH parity — plus a full documentation + agent-context skills refresh (the seven `meta init` skills accuracy-passed + Fable-reviewed; runtime-ui gained its Python + C# language refs). No breaking changes. See `CHANGELOG.md` [0.17.0]. **The prior `0.16.0` / `7.8.0` line was a coordinated BREAKING release (FR-036)** bundling the held **FR-035 present-key PATCH tristate** (absent≠null: absent→untouched / present-null→clears / present-null-on-`@required`→400) with **FR-036 cross-port constraint-validation enforcement + semantic pins**: `@required` string = NON-EMPTY (reject `null`/`""`, accept whitespace); `validator.regex @pattern` = FULL-MATCH; `@maxLength`×`validator.length @max` = strictest-wins; **C# and Python now ENFORCE field constraints over HTTP** (both were decorative at the wire tier); POST + PATCH validate present values on all five ports, **vanilla AND TPH per-subtype**. A missing `@required` value-type POST now 400s everywhere; a server-defaulted/`@autoSet`/auto-gen-PK `@required` field is correctly optional on POST. All conformance-gated (validation-conformance + api-contract, both lanes) — an xhigh review before release caught 11 cross-port divergences, all fixed + gated. See `CHANGELOG.md` [0.16.0]. **The prior `0.15.21` / `7.7.11` line was a bug-fix release** (npm `0.15.21` · PyPI `0.15.13` · Maven `7.7.11`; **NuGet unchanged at `0.15.10`** — the C# port needed no fix and was the reference the other three were corrected against). No metadata changes, no new vocabulary. It closes a family of migrate-engine defects that were destructive or silent: a **wrong-row write/delete** in every writable mount (a numeric-looking string id on a TEXT/uuid PK hit a *different* row); **every incremental `meta migrate` rebuilding every uuid-PK table**; `@autoSet` emitting `DEFAULT now()` on SQLite/D1 (**un-appliable migration**); `field.enum @values` changes **never migrating** on SQLite (stale CHECK → production insert failures); the SQLite emitter **dropping index `@expr`/`@where`/`@orders`** (a partial-UNIQUE silently becoming fully UNIQUE); an **auto-allowed `drop-view`**; `@kind: storedProc` projections **crashing `meta migrate`**; and quoted boolean defaults stored as TEXT so `= 0` matched nothing. It also fixes **hardcoded primary-key types in the Java, Kotlin and Python generators** — a `@generation: uuid` entity got broken output (Kotlin's **did not compile**) while its own DTO correctly used UUID. Every migrate fix is now gated by an `emit → apply to a real engine → introspect → re-diff must be EMPTY` round-trip plus value-semantics probes; the absence of that gate (nothing ever ran the pipeline twice against a real DB) is what let the class survive 5000+ tests. The prior **`0.15.19` / `7.7.9` line was a coordinated release across all four registries** (additive, non-breaking): `origin.aggregate @filter` (a scoping filter — an `attr.filter` object — rendered as SQL `FILTER (WHERE …)` / SQLite `CASE WHEN`) is now registered in all five ports + registry-conformance (with an `origin-aggregate-filtered` fixture), closing the "projections can't express my scoped aggregate" gap; and the agent-context skills + docs make the projection/DB-view contract explicit — a projection's `CREATE VIEW` is generated from its `origin.*` children, so a hand-written view is drift (and, being unmanaged, invisible to `meta verify --db`), with the "custom SQL views" hand-write exception bounded to genuinely-irreducible views, a new audit view-necessity signature + a **VOCAB CANDIDATE** new-subtype-opportunity hunt, and a new `docs/features/downstream-metadata-decisions.md` adopter guide. **npm `0.15.18` was an npm-only, non-breaking patch on top of the coordinated `0.15.17` line** (PyPI/NuGet/Maven unchanged — TS-only fixes; advances the 1.0 quiet period): the `codegen-ts` `promptRender` **FQN `@objectRef` fix** (a prompt payload value-object nesting an `@objectRef` to another value-object emitted invalid `pkg::Name` TypeScript — now package-stripped to the bare name, matching `entityFile`) plus a batch of **agent-context skills fixes** (four of six `metaobjects-*` skills had invalid YAML front-matter so they never intent-triggered; wrong C# reference flags; the reference-fragment install reverted from deploy-all to stack-scoped; deprecated `codegen-ts/generators` imports + singular tanstack paths; ADR-0040 `index.lookup` vocabulary; and a stale Kotlin fixture that had left `agent-context-conformance` red on `main`). A cross-port hunt confirmed the `promptRender` FQN leak was **TS-only** (Java/C#/Kotlin/Python payload codegen already strip); PR #190 added the missing Python + Kotlin regression tests. The `0.15.17` line is a coordinated release across all four registries: (1) **BREAKING — `origin.passthrough` is type-preserving** (a passthrough field must match its `@from` source's `field.` + array-ness or fail load with `ERR_PASSTHROUGH_TYPE_MISMATCH`; opt out with `@convert: true`; retires the narrow `ERR_PARAMETER_REF_PASSTHROUGH_TYPE_MISMATCH`) (#185/#186); (2) **typed value-object jsonb columns end-to-end all ports** — single + `@isArray` array-of-VO round-trip through every port's write/read codec; Kotlin codegen moved off kotlinx `@Serializable` to a generated per-package Jackson `MetaJsonbMapper` (no serialization compiler plugin), C#/Java/Python array-of-VO codecs fixed (#187); (3) **load-order-independent super-resolution** — a dotted `extends: Owner.member` to an inherited member now resolves regardless of file load order (was a Node-vs-Bun `readdir` build-portability bug) via on-demand memoized resolution (#188/#189). The `0.15.6` line is a coordinated cross-port loader-ordering fix (all four registries bumped together): an overlay-only file could be merged *before* the base file declaring the entity it re-opens, so an `object.projection` overlay re-open (and any overlay reaching a not-yet-loaded `extends`/`origin` target) failed super-resolution with spurious `ERR_INVALID_ORIGIN` / `ERR_UNRESOLVED_SUPER` / `ERR_MISSING_REQUIRED_ATTR` — surfacing as a TS-vs-Python divergence but latent in every port. Each loader now stable-partitions overlay-only sources/roots to merge last, deterministically, cross-port conformance-gated (`projection-overlay-abstract-identity`) (#160). The prior `0.15.5` / PyPI `0.15.6` line shipped two consumer-provider CLI fixes (offline `meta migrate` now threads `metaobjects.config.ts` providers #157; a Python `metaobjects … --provider module:symbol` hook #158). The `0.15.4` line fixes cross-package same-name root nodes being wrongly merged by the TS/C#/Python loaders (#155). 2500+ tests passing across the workspace. (The `0.15.1` / `7.7.1` line shipped the **`index.*` type + `identity.secondary` key-purity** [ADR-0040]: `identity.secondary` is now a *unique* alternate key with `@unique` **removed** — a legacy `@unique` fails load with `ERR_UNKNOWN_ATTR` — and a new **`index.lookup`** subtype carries *non-unique* retrieval [`@fields` required; `@using`/`@expr`/`@where`/`@orders` are RDB-physical escapes], cross-port conformance-gated; **breaking**, migration in `docs/features/migrations/identity-secondary-to-index-lookup.md`. This is on top of the `0.15.0` metamodel-1.0 vocabulary program + the ADR-0039 own-accessor fix.) **All five ports ship loader + canonical serializer + conformance + codegen + render + payload-VO + `verify`:** @@ -38,7 +38,7 @@ _Last refreshed 2026-07-14._ **Key cross-language features shipped:** FR5 family (a/b/c/d/e + WARN envelope-shape — actionable loader errors per ADR-0009); FR-003 (Java RDB runtime persistence + projections; schema migrations are TS-only — the Java migration engine was removed); FR-006 (template.output parser-on-receipt codegen per ADR-0010 in all 5 ports); FR-008 + FR-009 (cross-port REST API contract + 10 filter operators); FR-018 (M:N relationship codegen in all 5 ports — entity navigation + idiomatic ORM wiring [Drizzle m2m / EF Core `UsingEntity` / Spring repo+JPA / Exposed / Pydantic+route as the SQLAlchemy-secondary equivalent] + REST traversal `GET //{id}/` + Tier-2 docs, gated by the shared api-contract m2m corpus in both lanes + persistence-conformance; the TanStack M:N client hook is a deferred client-ergonomics follow-up); SP-H (field-subtype end-to-end hardening: every concrete `field.*` subtype write+read round-trips cross-port via the persistence `op: roundtrip` gate; cut `field.byte`/`field.short`/`field.class` non-functional stubs; cross-port filter-op reconciliation for uuid/currency); source v2 paradigm (ADR-0007); metadata-ktx Kotlin facade; per-target output directories (TS codegen). -**Current release line.** `0.16.x` (npm / NuGet / PyPI) · `7.8.x` (Maven Central). The `0.15.0` / `7.7.0` release is a coordinated **minor with breaking changes**: (1) the **metamodel-1.0 vocabulary program** — `field.uri` / `field.inet` subtypes + a `@stringFormat` attribute (ADR-0036/0037), `field.timestamp` **instant-by-default** with an `@localTime` naive opt-out, `@dbColumnType` **slim-and-derive** (array-ness + `text` derived; `uuid_array`/`text_array`/`@kind:text` dropped), and reverse-navigation via generated explicit FK finders (ADR-0038); (2) the **ADR-0039 own-accessor correctness fix** — resolving/effective accessors are the default everywhere, so a concrete field/entity that `extends` an abstract parent now correctly inherits its properties and members in codegen + runtime (an entire latent bug class, cross-port conformance-gated). Breaking: instant-default timestamps and the `@dbColumnType` slim. See `CHANGELOG.md` for the per-version detail. GA promotion is the next release move. +**Current release line.** `0.17.x` (npm / NuGet / PyPI) · `7.9.x` (Maven Central). The `0.15.0` / `7.7.0` release is a coordinated **minor with breaking changes**: (1) the **metamodel-1.0 vocabulary program** — `field.uri` / `field.inet` subtypes + a `@stringFormat` attribute (ADR-0036/0037), `field.timestamp` **instant-by-default** with an `@localTime` naive opt-out, `@dbColumnType` **slim-and-derive** (array-ness + `text` derived; `uuid_array`/`text_array`/`@kind:text` dropped), and reverse-navigation via generated explicit FK finders (ADR-0038); (2) the **ADR-0039 own-accessor correctness fix** — resolving/effective accessors are the default everywhere, so a concrete field/entity that `extends` an abstract parent now correctly inherits its properties and members in codegen + runtime (an entire latent bug class, cross-port conformance-gated). Breaking: instant-default timestamps and the `@dbColumnType` slim. See `CHANGELOG.md` for the per-version detail. GA promotion is the next release move. See `spec/roadmap.md` for the active + planned work picture. diff --git a/README.md b/README.md index e67ca942a..b3e7d9f80 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ first-week wedge plan — and `meta init` picks up from there. | Language | Status | Quickstart | Source | |---|---|---|---| -| TypeScript | Published to npm at `0.16.0` (the `@metaobjectsdev/*` packages) | [`docs/ports/typescript.md`](docs/ports/typescript.md) | [`server/typescript/`](server/typescript/) · [`client/web/`](client/web/) | +| TypeScript | Published to npm at `0.17.0` (the `@metaobjectsdev/*` packages) | [`docs/ports/typescript.md`](docs/ports/typescript.md) | [`server/typescript/`](server/typescript/) · [`client/web/`](client/web/) | | Java | Loader + OMDB + render + Maven plugin all shipped; full conformance green | [`docs/ports/java.md`](docs/ports/java.md) | [`server/java/`](server/java/) | | Kotlin | Codegen tier on top of Java — 7 generators (entity, Exposed table, relations, payload, validator, Spring config, storedProc); 12 / 12 persistence-conformance | [`docs/ports/kotlin.md`](docs/ports/kotlin.md) | [`server/java/codegen-kotlin/`](server/java/codegen-kotlin/) · [`server/java/metadata-ktx/`](server/java/metadata-ktx/) | | C# | Loader + conformance + EF Core codegen + render engine + `dotnet meta` CLI all shipped | [`docs/ports/csharp.md`](docs/ports/csharp.md) | [`server/csharp/`](server/csharp/) | diff --git a/bun.lock b/bun.lock index b2c4f4680..a18ac71c0 100644 --- a/bun.lock +++ b/bun.lock @@ -43,7 +43,7 @@ }, "client/web/packages/react": { "name": "@metaobjectsdev/react", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/runtime-web": "workspace:*", }, @@ -75,7 +75,7 @@ }, "client/web/packages/runtime-web": { "name": "@metaobjectsdev/runtime-web", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/metadata": "workspace:*", "qs": "^6.13.0", @@ -88,7 +88,7 @@ }, "client/web/packages/tanstack": { "name": "@metaobjectsdev/tanstack", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/react": "workspace:*", "@metaobjectsdev/runtime-web": "workspace:*", @@ -118,7 +118,7 @@ }, "server/typescript/packages/ai-runtime": { "name": "@metaobjectsdev/ai-runtime", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/metadata": "workspace:*", "@metaobjectsdev/render": "workspace:*", @@ -139,7 +139,7 @@ }, "server/typescript/packages/cli": { "name": "@metaobjectsdev/cli", - "version": "0.16.0", + "version": "0.17.0", "bin": { "meta": "./dist/bin/meta.js", }, @@ -177,7 +177,7 @@ }, "server/typescript/packages/codegen-ts": { "name": "@metaobjectsdev/codegen-ts", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@biomejs/js-api": "^0.7.0", "@biomejs/wasm-nodejs": "^1.9.4", @@ -220,7 +220,7 @@ }, "server/typescript/packages/codegen-ts-react": { "name": "@metaobjectsdev/codegen-ts-react", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/codegen-ts": "workspace:*", "@metaobjectsdev/metadata": "workspace:*", @@ -237,7 +237,7 @@ }, "server/typescript/packages/codegen-ts-tanstack": { "name": "@metaobjectsdev/codegen-ts-tanstack", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/codegen-ts": "workspace:*", "@metaobjectsdev/metadata": "workspace:*", @@ -268,7 +268,7 @@ }, "server/typescript/packages/docs-site": { "name": "@metaobjectsdev/docs-site", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/metadata": "workspace:*", "@metaobjectsdev/render": "workspace:*", @@ -315,7 +315,7 @@ }, "server/typescript/packages/metadata": { "name": "@metaobjectsdev/metadata", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "yaml": "^2.9.0", }, @@ -328,7 +328,7 @@ }, "server/typescript/packages/migrate-ts": { "name": "@metaobjectsdev/migrate-ts", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@iarna/toml": "^2.2.5", "@metaobjectsdev/metadata": "workspace:*", @@ -348,7 +348,7 @@ }, "server/typescript/packages/render": { "name": "@metaobjectsdev/render", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "mustache": "^4.2.0", }, @@ -360,7 +360,7 @@ }, "server/typescript/packages/runtime-ts": { "name": "@metaobjectsdev/runtime-ts", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/metadata": "workspace:*", "@metaobjectsdev/render": "workspace:*", @@ -397,7 +397,7 @@ }, "server/typescript/packages/sdk": { "name": "@metaobjectsdev/sdk", - "version": "0.16.0", + "version": "0.17.0", "dependencies": { "@metaobjectsdev/metadata": "workspace:*", "zod": "^3.23.0", @@ -723,7 +723,7 @@ "@testing-library/react": ["@testing-library/react@16.3.2", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g=="], - "@toon-format/toon": ["@toon-format/toon@2.3.0", "", {}, "sha512-/Ew9etdRQKVMnm9fDaCG0JjyAOK/O7T0M97oum1aW4W+UR8ZhVVPBanIV7oWgHBiGlnVxV9M55PWQCHofDV07w=="], + "@toon-format/toon": ["@toon-format/toon@2.3.1", "", {}, "sha512-sWqEMeAJGMda9qRrfPKrX3C4c33CO9SJuvJzzrcBEn5sbDB+k6pSLkDsfN0rVnLQwR97MV3sDgVbcxQNsq8xVw=="], "@types/aria-query": ["@types/aria-query@5.0.4", "", {}, "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="], @@ -825,7 +825,7 @@ "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - "caniuse-lite": ["caniuse-lite@1.0.30001805", "", {}, "sha512-52noaS3DubycKSXaU30TwPGIp+POyQSUVa5jBEq3vkRkY0kjyb3LQgvhU6WGyCcyXqVLWO0Cw0Q6BSdD0kUfVA=="], + "caniuse-lite": ["caniuse-lite@1.0.30001806", "", {}, "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw=="], "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], @@ -899,7 +899,7 @@ "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - "electron-to-chromium": ["electron-to-chromium@1.5.389", "", {}, "sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg=="], + "electron-to-chromium": ["electron-to-chromium@1.5.393", "", {}, "sha512-kiDJdIUawuEIcp9XoICKp1iTYDEbgguIPq526N1Q7jIQDeQ3CqoMx71025PI/7E48Ddtw2HuWsVjY7afEgNxmg=="], "emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], @@ -939,7 +939,7 @@ "fast-string-width": ["fast-string-width@3.0.2", "", { "dependencies": { "fast-string-truncated-width": "^3.0.2" } }, "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg=="], - "fast-uri": ["fast-uri@2.4.0", "", {}, "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA=="], + "fast-uri": ["fast-uri@2.4.2", "", {}, "sha512-Ll1wlF3LBJ2+vFEeTSH9SFrjnXJorZQexrn0yHa4BJdGS+FFkWW3xU/YuIdmdyloSDuUgTYh/YeY/vUNcdCS/g=="], "fast-wrap-ansi": ["fast-wrap-ansi@0.2.2", "", { "dependencies": { "fast-string-width": "^3.0.2" } }, "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q=="], @@ -1023,7 +1023,7 @@ "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], - "js-base64": ["js-base64@3.9.0", "", {}, "sha512-dTIdlnQjYWoP6+8AMcQp72c0IWd5tfuQYT9WCRwmekv2C0OucjLF3lrDr09c44KA6M8Ol40DFp5hhSUbC7LkyQ=="], + "js-base64": ["js-base64@3.9.1", "", {}, "sha512-U73qptcvf/HIOauFOmqT3a0mDUp0MYlfd15oqoe9kqZt5XhiXVb+HG09sLvI9PQ9tZIBFS4nlErai8zbWazP0g=="], "js-md4": ["js-md4@0.3.2", "", {}, "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA=="], @@ -1207,7 +1207,7 @@ "react-dom": ["react-dom@19.2.7", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.7" } }, "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ=="], - "react-hook-form": ["react-hook-form@7.81.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-ocbmr2p5KBMoAfj4WCUvped33lVi1Kd5DuDUvQDnB6VEAacOjPI/jMbtDdbhco4y9ct4xUuCmMY0b/C9L0QHjw=="], + "react-hook-form": ["react-hook-form@7.82.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-Zw/uFZ2dO+02GHlBn7JFGn8kZJ7LdM33B/0BXOovzFay+CMhf94JMw5BVu+F1tVkUKjNvBuaE3fz5BJhga10Tg=="], "react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], @@ -1307,9 +1307,9 @@ "thread-stream": ["thread-stream@3.2.0", "", { "dependencies": { "real-require": "^0.2.0" } }, "sha512-zLBvqpwr4Esa0kRjcrzGU6zL25lePWaCLMx0RQFrmteozIfeNdaMLpG5U7PeHzvlFkAWaRKA9/KVW4F60iB+qw=="], - "tldts": ["tldts@7.4.8", "", { "dependencies": { "tldts-core": "^7.4.8" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-htwgN/8KRB3z3vnC0BOETVh2m499g5GmyTK9Wq5JBLX3FNz6tSBveAd+fQhzy9hkjif8vy2jwDMR1sGhLtZl2A=="], + "tldts": ["tldts@7.4.9", "", { "dependencies": { "tldts-core": "^7.4.9" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-3kZ8wQQ/k5DrChD4X4FVvr2D7E5uoRgAqkPyLpSCGUvqOvqu+JEdr3mwMUaVWb+vMHZaKhF5fp2PBigKsui7hA=="], - "tldts-core": ["tldts-core@7.4.8", "", {}, "sha512-c1P7u0EhACHj7lPy4MJm8iTFEU8+nB0LCtddH0fhP7noaVoXAqafMtOOeX+ulpuPBqnrRgRhw494RICT3mbhnw=="], + "tldts-core": ["tldts-core@7.4.9", "", {}, "sha512-DxKfPBI52p2msTEu7MPhdpdDTBhhVQg1a/8PjQckeyAvO13eMYElX545grIp6nnTGIMZlRvFZPvFhvI/WIz2Vg=="], "tmp": ["tmp@0.2.7", "", {}, "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw=="], @@ -1403,6 +1403,8 @@ "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@fastify/ajv-compiler/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + "@fastify/proxy-addr/ipaddr.js": ["ipaddr.js@2.4.0", "", {}, "sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ=="], "@grpc/grpc-js/@grpc/proto-loader": ["@grpc/proto-loader@0.8.1", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.5.5", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg=="], @@ -1437,6 +1439,8 @@ "ajv/fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], + "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + "archiver-utils/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], @@ -1455,6 +1459,8 @@ "execa/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + "fast-json-stringify/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + "fast-json-stringify/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], "foreground-child/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], @@ -1493,6 +1499,8 @@ "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + "@fastify/ajv-compiler/ajv/fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], @@ -1515,7 +1523,7 @@ "@metaobjectsdev/runtime-ts/fastify/@fastify/fast-json-stringify-compiler": ["@fastify/fast-json-stringify-compiler@5.1.0", "", { "dependencies": { "fast-json-stringify": "^7.0.0" } }, "sha512-PxcYtKLbQ8Z+yApiqjK8FwxIwvEj38k2OiLc17u8dkJSlmfi2wHHPaSnaoqBPQqtvF8YVsDgDpP2snDCfFrpfw=="], - "@metaobjectsdev/runtime-ts/fastify/avvio": ["avvio@9.2.0", "", { "dependencies": { "@fastify/error": "^4.0.0", "fastq": "^1.17.1" } }, "sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ=="], + "@metaobjectsdev/runtime-ts/fastify/avvio": ["avvio@9.3.0", "", { "dependencies": { "@fastify/error": "^4.0.0", "fastq": "^1.17.1" } }, "sha512-g2tQ7LE7oOSqDfwEm3M+ZCMTJc7KiZCdJ4UwyZJb5ckTKyYu50OYmvv0mCFXPuYXoM4zkSt8zM9XQ9KCvxA74A=="], "@metaobjectsdev/runtime-ts/fastify/fast-json-stringify": ["fast-json-stringify@7.0.1", "", { "dependencies": { "@fastify/merge-json-schemas": "^0.2.0", "ajv": "^8.12.0", "ajv-formats": "^3.0.1", "fast-uri": "^4.0.0", "json-schema-ref-resolver": "^3.0.0", "rfdc": "^1.2.0" } }, "sha512-eRSayARSbbwlBjpP4vnTTIRD5QPcIrmihPxDeN1DtKnHPg66UuJLx+8hlK1kaFdjvzyQ/dzALoi4vwAQ+T+iZA=="], @@ -1529,8 +1537,12 @@ "@types/ssh2/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], + "ajv-formats/ajv/fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], + "dockerode/tar-fs/tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], + "fast-json-stringify/ajv/fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], + "glob/minimatch/brace-expansion": ["brace-expansion@2.1.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA=="], "lazystream/readable-stream/isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], @@ -1571,12 +1583,16 @@ "@metaobjectsdev/runtime-ts/@libsql/client/libsql/@libsql/win32-x64-msvc": ["@libsql/win32-x64-msvc@0.5.29", "", { "os": "win32", "cpu": "x64" }, "sha512-4/0CvEdhi6+KjMxMaVbFM2n2Z44escBRoEYpR+gZg64DdetzGnYm8mcNLcoySaDJZNaBd6wz5DNdgRmcI4hXcg=="], + "@metaobjectsdev/runtime-ts/fastify/@fastify/ajv-compiler/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + "@metaobjectsdev/runtime-ts/fastify/@fastify/ajv-compiler/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], "@metaobjectsdev/runtime-ts/fastify/@fastify/ajv-compiler/fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], "@metaobjectsdev/runtime-ts/fastify/fast-json-stringify/@fastify/merge-json-schemas": ["@fastify/merge-json-schemas@0.2.1", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A=="], + "@metaobjectsdev/runtime-ts/fastify/fast-json-stringify/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + "@metaobjectsdev/runtime-ts/fastify/fast-json-stringify/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], "@metaobjectsdev/runtime-ts/fastify/fast-json-stringify/fast-uri": ["fast-uri@4.1.0", "", {}, "sha512-ZodJ2cRiLVWGi9IgPb3mbgSqM4CD3LexCHkuv0FfBXHJI1ADfucTD06m6clO2Cy5RZYsw/SiCVl/dyrFI/SYWA=="], @@ -1595,6 +1611,8 @@ "readdir-glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "@metaobjectsdev/runtime-ts/fastify/fast-json-stringify/ajv/fast-uri": ["fast-uri@3.1.3", "", {}, "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg=="], + "@metaobjectsdev/runtime-ts/fastify/find-my-way/safe-regex2/ret": ["ret@0.5.0", "", {}, "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw=="], } } diff --git a/client/web/packages/react/package.json b/client/web/packages/react/package.json index cde28fb96..53318fd09 100644 --- a/client/web/packages/react/package.json +++ b/client/web/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/react", - "version": "0.16.0", + "version": "0.17.0", "description": "React runtime for metaobjects: useEntityForm hook and CurrencyInput component.", "type": "module", "main": "./dist/index.js", diff --git a/client/web/packages/runtime-web/package.json b/client/web/packages/runtime-web/package.json index 2d7a7eca0..6e3cade87 100644 --- a/client/web/packages/runtime-web/package.json +++ b/client/web/packages/runtime-web/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/runtime-web", - "version": "0.16.0", + "version": "0.17.0", "description": "Pure framework-agnostic browser core for metaobjects: currency, filter URL serialization, fetcher contract types.", "type": "module", "main": "./dist/index.js", diff --git a/client/web/packages/tanstack/package.json b/client/web/packages/tanstack/package.json index 893710dfb..8e53ad3ea 100644 --- a/client/web/packages/tanstack/package.json +++ b/client/web/packages/tanstack/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/tanstack", - "version": "0.16.0", + "version": "0.17.0", "description": "TanStack runtime for metaobjects: EntityFetcherProvider, EntityGrid, default cell renderers.", "type": "module", "main": "./dist/index.js", diff --git a/server/csharp/Directory.Build.props b/server/csharp/Directory.Build.props index 384b0e931..a7fd9af6e 100644 --- a/server/csharp/Directory.Build.props +++ b/server/csharp/Directory.Build.props @@ -8,7 +8,7 @@ --> - 0.16.0 + 0.17.0 Doug Mealing Doug Mealing LLC MetaObjects diff --git a/server/java/codegen-base/pom.xml b/server/java/codegen-base/pom.xml index 7c89e868b..d35c84712 100644 --- a/server/java/codegen-base/pom.xml +++ b/server/java/codegen-base/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-codegen-base diff --git a/server/java/codegen-kotlin/pom.xml b/server/java/codegen-kotlin/pom.xml index ce5056c6e..e1c6213e1 100644 --- a/server/java/codegen-kotlin/pom.xml +++ b/server/java/codegen-kotlin/pom.xml @@ -7,7 +7,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-codegen-kotlin diff --git a/server/java/codegen-mustache/pom.xml b/server/java/codegen-mustache/pom.xml index 2bb2a566f..313d886ca 100644 --- a/server/java/codegen-mustache/pom.xml +++ b/server/java/codegen-mustache/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-codegen-mustache diff --git a/server/java/codegen-plantuml/pom.xml b/server/java/codegen-plantuml/pom.xml index 5821c4cc1..96ffdd856 100644 --- a/server/java/codegen-plantuml/pom.xml +++ b/server/java/codegen-plantuml/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-codegen-plantuml diff --git a/server/java/codegen-spring/pom.xml b/server/java/codegen-spring/pom.xml index 79a5146a4..83e05cce8 100644 --- a/server/java/codegen-spring/pom.xml +++ b/server/java/codegen-spring/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-codegen-spring diff --git a/server/java/core-spring/pom.xml b/server/java/core-spring/pom.xml index 697bab6c9..f0a08799d 100644 --- a/server/java/core-spring/pom.xml +++ b/server/java/core-spring/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-core-spring diff --git a/server/java/integration-tests-kotlin/pom.xml b/server/java/integration-tests-kotlin/pom.xml index 86614d96a..280e61331 100644 --- a/server/java/integration-tests-kotlin/pom.xml +++ b/server/java/integration-tests-kotlin/pom.xml @@ -7,7 +7,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-integration-tests-kotlin diff --git a/server/java/integration-tests/pom.xml b/server/java/integration-tests/pom.xml index 91483e217..96194a937 100644 --- a/server/java/integration-tests/pom.xml +++ b/server/java/integration-tests/pom.xml @@ -7,7 +7,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-integration-tests diff --git a/server/java/maven-plugin/pom.xml b/server/java/maven-plugin/pom.xml index 52f37d64b..571b5dc5e 100644 --- a/server/java/maven-plugin/pom.xml +++ b/server/java/maven-plugin/pom.xml @@ -2,7 +2,7 @@ metaobjects com.metaobjects - 7.8.0 + 7.9.0 4.0.0 diff --git a/server/java/metadata-ktx/pom.xml b/server/java/metadata-ktx/pom.xml index ab69cb77c..2c2a0fa32 100644 --- a/server/java/metadata-ktx/pom.xml +++ b/server/java/metadata-ktx/pom.xml @@ -7,7 +7,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-metadata-ktx diff --git a/server/java/metadata/pom.xml b/server/java/metadata/pom.xml index 461a55535..5462c952c 100644 --- a/server/java/metadata/pom.xml +++ b/server/java/metadata/pom.xml @@ -4,7 +4,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-metadata diff --git a/server/java/om/pom.xml b/server/java/om/pom.xml index ba0c49359..57a788266 100644 --- a/server/java/om/pom.xml +++ b/server/java/om/pom.xml @@ -5,7 +5,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-om diff --git a/server/java/omdb-ktx/pom.xml b/server/java/omdb-ktx/pom.xml index f2772b022..b7ac215cf 100644 --- a/server/java/omdb-ktx/pom.xml +++ b/server/java/omdb-ktx/pom.xml @@ -7,7 +7,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-omdb-ktx diff --git a/server/java/omdb/pom.xml b/server/java/omdb/pom.xml index 033e4825e..f033a6985 100644 --- a/server/java/omdb/pom.xml +++ b/server/java/omdb/pom.xml @@ -4,7 +4,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-omdb diff --git a/server/java/pom.xml b/server/java/pom.xml index 4bdfd6473..720f83bf8 100644 --- a/server/java/pom.xml +++ b/server/java/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.metaobjects metaobjects - 7.8.0 + 7.9.0 pom MetaObjects Core Universal metadata-driven development platform diff --git a/server/java/render/pom.xml b/server/java/render/pom.xml index 59942ff9f..fc45259a9 100644 --- a/server/java/render/pom.xml +++ b/server/java/render/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-render diff --git a/server/java/spring-boot-starter/pom.xml b/server/java/spring-boot-starter/pom.xml index 96083c3f3..f443791f1 100644 --- a/server/java/spring-boot-starter/pom.xml +++ b/server/java/spring-boot-starter/pom.xml @@ -6,7 +6,7 @@ com.metaobjects metaobjects - 7.8.0 + 7.9.0 metaobjects-spring-boot-starter diff --git a/server/python/pyproject.toml b/server/python/pyproject.toml index bf90a46ee..d7b425609 100644 --- a/server/python/pyproject.toml +++ b/server/python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "metaobjects" -version = "0.16.0" +version = "0.17.0" description = "Cross-language metadata standard: declare typed entities once, generate idiomatic drift-checked code across languages — Python port." readme = "README.md" requires-python = ">=3.11" diff --git a/server/typescript/packages/ai-runtime/package.json b/server/typescript/packages/ai-runtime/package.json index 30dc72ba0..195433e64 100644 --- a/server/typescript/packages/ai-runtime/package.json +++ b/server/typescript/packages/ai-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/ai-runtime", - "version": "0.16.0", + "version": "0.17.0", "description": "LLM call loop + typed-trace recorder adapters for MetaObjects: provider-neutral LlmClient seam, callLlm bridge, Composite/Langfuse/OTel recorders.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/cli/package.json b/server/typescript/packages/cli/package.json index 9ae5c1ac1..c50e69607 100644 --- a/server/typescript/packages/cli/package.json +++ b/server/typescript/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/cli", - "version": "0.16.0", + "version": "0.17.0", "description": "CLI for MetaObjects: scaffold, codegen, migrate, and drift-detection commands.", "type": "module", "main": "./dist/src/index.js", diff --git a/server/typescript/packages/codegen-ts-react/package.json b/server/typescript/packages/codegen-ts-react/package.json index 383eb7f96..9fe41112f 100644 --- a/server/typescript/packages/codegen-ts-react/package.json +++ b/server/typescript/packages/codegen-ts-react/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/codegen-ts-react", - "version": "0.16.0", + "version": "0.17.0", "description": "React codegen for metaobjects — emits .form.tsx files using react-hook-form and @metaobjectsdev/react helpers.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/codegen-ts-tanstack/package.json b/server/typescript/packages/codegen-ts-tanstack/package.json index 0fce9a6b6..f47debb9a 100644 --- a/server/typescript/packages/codegen-ts-tanstack/package.json +++ b/server/typescript/packages/codegen-ts-tanstack/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/codegen-ts-tanstack", - "version": "0.16.0", + "version": "0.17.0", "description": "TanStack codegen for metaobjects — emits hooks and column definitions for TanStack Query and Table.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/codegen-ts/package.json b/server/typescript/packages/codegen-ts/package.json index c8b58d6c3..17af4488f 100644 --- a/server/typescript/packages/codegen-ts/package.json +++ b/server/typescript/packages/codegen-ts/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/codegen-ts", - "version": "0.16.0", + "version": "0.17.0", "description": "TypeScript codegen engine for MetaObjects — emits Drizzle, Zod, and Fastify artifacts.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/docs-site/package.json b/server/typescript/packages/docs-site/package.json index c6c0d30a2..5130c1e2a 100644 --- a/server/typescript/packages/docs-site/package.json +++ b/server/typescript/packages/docs-site/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/docs-site", - "version": "0.16.0", + "version": "0.17.0", "description": "HTML documentation-site generator for metaobjects models — a browsable multi-page site (nav, search, per-object/package pages, kind-aware ER diagrams). Powers the `meta docs --site` surface.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/metadata/package.json b/server/typescript/packages/metadata/package.json index 1cfacbe30..b2071ec18 100644 --- a/server/typescript/packages/metadata/package.json +++ b/server/typescript/packages/metadata/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/metadata", - "version": "0.16.0", + "version": "0.17.0", "description": "Metamodel loader, types, and constants for the MetaObjects standard.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/migrate-ts/package.json b/server/typescript/packages/migrate-ts/package.json index 331781e0c..bbc297996 100644 --- a/server/typescript/packages/migrate-ts/package.json +++ b/server/typescript/packages/migrate-ts/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/migrate-ts", - "version": "0.16.0", + "version": "0.17.0", "description": "Schema migration tooling for MetaObjects: diff metadata vs DB and emit SQL for Postgres and SQLite.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/render/package.json b/server/typescript/packages/render/package.json index 9df8ec1e8..d3ea9739c 100644 --- a/server/typescript/packages/render/package.json +++ b/server/typescript/packages/render/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/render", - "version": "0.16.0", + "version": "0.17.0", "description": "Logic-less, deterministic text render engine (Mustache) for MetaObjects templates — provider-resolved partials, format-driven escaping, zero core dependency.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/runtime-ts/package.json b/server/typescript/packages/runtime-ts/package.json index 84a4c3749..e461d7152 100644 --- a/server/typescript/packages/runtime-ts/package.json +++ b/server/typescript/packages/runtime-ts/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/runtime-ts", - "version": "0.16.0", + "version": "0.17.0", "description": "Node-side runtime helpers for MetaObjects: Fastify route builders, Drizzle filter/sort integration, Kysely drivers.", "type": "module", "main": "./dist/index.js", diff --git a/server/typescript/packages/sdk/package.json b/server/typescript/packages/sdk/package.json index 66fb2c5fd..a819746a7 100644 --- a/server/typescript/packages/sdk/package.json +++ b/server/typescript/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@metaobjectsdev/sdk", - "version": "0.16.0", + "version": "0.17.0", "description": "Workspace helpers and agent-docs utilities for MetaObjects projects.", "type": "module", "main": "./dist/index.js",