Skip to content

Commit 5f17bd5

Browse files
committed
Merge remote-tracking branch 'origin/main' into worktree-persistence-conformance-v1
# Conflicts: # server/java/metadata/conformance-expected-failures.json # server/java/metadata/src/main/java/com/metaobjects/MetaRoot.java # server/java/metadata/src/main/java/com/metaobjects/loader/ValidationPhase.java # server/java/metadata/src/main/java/com/metaobjects/template/MetaTemplate.java # server/java/metadata/src/main/java/com/metaobjects/template/OutputTemplate.java # server/java/metadata/src/main/java/com/metaobjects/template/PromptTemplate.java # server/java/metadata/src/main/java/com/metaobjects/template/TemplateTypesMetaDataProvider.java # server/java/metadata/src/main/resources/META-INF/services/com.metaobjects.registry.MetaDataTypeProvider
2 parents 6777ce7 + c9bf98f commit 5f17bd5

108 files changed

Lines changed: 8402 additions & 388 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,21 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
88
## [Unreleased]
99

1010
### Added
11+
- **Loader error envelope + source-on-node** (`@metaobjectsdev/metadata`) —
12+
per [ADR-0009](spec/decisions/ADR-0009-loader-error-envelope-and-source-on-node.md),
13+
every `MetaData` node now carries a `source: ErrorSource` provenance field
14+
(`{ format: "json", files: [...], jsonPath: "..." }` for loaded nodes;
15+
`{ format: "code" }` for programmatically constructed). `ParseError` now
16+
conforms to the cross-port `LoaderError` schema: required `code`, required
17+
`message`, required `source` envelope. New `LoadResult.warnings:
18+
LoaderWarning[]` channel (legacy parser/validator strings are wrapped at
19+
the loader boundary as `WARN_LEGACY` envelopes; future overlay-merge
20+
detection in FR5c will be the first feature to emit native envelope-shaped
21+
warnings). New public exports from `@metaobjectsdev/metadata`:
22+
`ErrorSource`, `LoaderError`, `LoaderWarning`, `NodeContext`, `Contributor`
23+
types, plus the `codeSource()` helper. Foundation for FR5b (YAML
24+
positions), FR5c (multi-file merge attribution), FR5d (reference-resolution
25+
errors), FR5e (database-source errors).
1126
- **`outputParser()` stock generator** in `@metaobjectsdev/codegen-ts/generators`
1227
for every declared `template.output`, emits a typed Zod parser file with a
1328
dual-API surface (`parseXxx(text)` throws, `safeParseXxx(text)` returns
@@ -42,6 +57,19 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
4257
Enables Cloudflare Workers / edge consumers to drop their typecheck stubs;
4358
enables multi-tenant servers + test-isolated `db` setups. `routesFile()` is
4459
unchanged.
60+
- **BREAKING (metadata):** `ParseError` constructor signature changed. Was
61+
`new ParseError(msg, { code?, source?: string, path? })`; now
62+
`new ParseError(msg, { code, source: ErrorSource })`. Direct construction
63+
outside the metadata package is rare (loader-internal API), but anyone
64+
catching + repackaging a `ParseError` reads `.source` as the new envelope
65+
type, not a string. Legacy `error.path` is gone — read
66+
`error.source.jsonPath` instead.
67+
- **BREAKING (metadata):** `LoadResult.warnings` retyped from `string[]` to
68+
`LoaderWarning[]` per ADR-0009. Consumers that inspected warning content
69+
via `result.warnings[i].includes(...)` should now read
70+
`result.warnings[i].message.includes(...)`. The public
71+
`ExportResult.warnings` (returned by `loadAndExportJson()`) keeps its
72+
`string[]` shape — extracted via `.map((w) => w.message)`.
4573

4674
See [ADR-0010](spec/decisions/ADR-0010-template-output-parser-codegen.md)
4775
for the cross-port design.

bun.lock

Lines changed: 38 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/web/packages/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metaobjectsdev/react",
3-
"version": "0.6.0",
3+
"version": "0.7.0-rc.1",
44
"description": "React runtime for metaobjects: useEntityForm hook and CurrencyInput component.",
55
"type": "module",
66
"main": "./dist/index.js",

client/web/packages/runtime-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metaobjectsdev/runtime-web",
3-
"version": "0.6.0",
3+
"version": "0.7.0-rc.1",
44
"description": "Pure framework-agnostic browser core for metaobjects: currency, filter URL serialization, fetcher contract types.",
55
"type": "module",
66
"main": "./dist/index.js",

client/web/packages/tanstack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@metaobjectsdev/tanstack",
3-
"version": "0.6.0",
3+
"version": "0.7.0-rc.1",
44
"description": "TanStack runtime for metaobjects: EntityFetcherProvider, EntityGrid, default cell renderers.",
55
"type": "module",
66
"main": "./dist/index.js",

0 commit comments

Comments
 (0)