Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .changeset/12971-objectstack-pin-main.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
"@object-ui/types": minor
"@object-ui/components": minor
"@object-ui/app-shell": minor
"@object-ui/console": minor
"@object-ui/runner": minor
---

Build `@objectstack/*` from objectstack `main` `f4755a68a7` (objectui#12971).

`.objectstack-sha` moves from `2c9bf9430a`, the commit `@objectstack/spec` `18.0.0-next.3` was released from, to `f4755a68a7`, a commit on objectstack `main` after the `18.0.0-next.5` release, so its packages read `18.0.0-next.5`. The console and the runner bundle `@objectstack/*` built from it. No package's `@objectstack/*` range changes.

Clause-②: yes (narrowing)

The pin moves `@object-ui/types`' accept sets both ways: keys the spec added arrive by reference and widen them, and checks the spec added narrow them. Both are listed below.

**Accept sets that narrow with it.** `@object-ui/types` validates a page through the spec's own page checks, so `safeValidateSchema`, `StrictAnyComponentSchema` and `objectui validate` now refuse:

- A region named `main` with `width: 'small'`, `'medium'` or `'large'`, on a `page` node and on a page-kind node (`type: 'record'`, `'home'` or `'utility'`). FROM accepted on both faces TO refused at the region's `width`, with the spec's message (`checkPageMainRegionWidth`), which opens: "Region `main` is refused with `width: 'large'` (since @objectstack/spec 18): a `main` region takes only `width: 'full'`." No layout reads those three values on `main`; the template decides its width. Delete `width` to keep the page as it renders, or write `width: 'full'` for a full-bleed page. Other regions keep all four values.
- A `record` binding on a page-kind node. FROM kept unvalidated by `safeValidateSchema` and refused as an undeclared key by `StrictAnyComponentSchema` TO refused on both at `record`, with the spec's message (`checkPageRecordBindingPlacement`), for example on a `home` page: "`record` binds the row of an `app` page, and this page is `type: 'home'`, which has no row to bind. Delete `record`, or make the page `type: 'app'`." The check reads the page kind from `type`, so it does not judge a `page` node, whose kind is `pageType`.

**A published input that leaves.** `action:button` and `action:icon` no longer publish a `patch` input. FROM published TO absent: the spec retired a page action row's own `patch`. A row's `operation: 'update'` runs the declared action its `name` names, and the platform action route writes that action's `patch`. The `operation` input's description now says so.

**Accept sets that widen with it.** Three keys the spec added are taken by reference, so `StrictAnyComponentSchema` and `objectui validate` now accept them where they refused them as undeclared. Their renderer halves are separate work:

- `emptyState` on `record:details`, `record:highlights` and `record:quick_actions`.
- `record` on a `page` node.
- `dataSource` on a navigation entry, every member but a separator. `NavigationItemSchema` and the `NavigationItem` type take the spec's `ElementApiDataSourceSchema` by reference; before, `NavigationItemSchema` stripped the key. The spec describes it as planned, and the console does not read it yet.

**A palette exclusion that goes.** `record:json` is retired in the spec and is no longer a page component type, so the page designer's palette drops its exclusion entry. Nothing the palette offers changes.
30 changes: 15 additions & 15 deletions .objectstack-pin/client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/client",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"license": "Apache-2.0",
"description": "Official Client SDK for ObjectStack Protocol",
"main": "dist/index.js",
Expand All @@ -13,23 +13,23 @@
}
},
"dependencies": {
"@objectstack/core": "18.0.0-next.3",
"@objectstack/spec": "18.0.0-next.3"
"@objectstack/core": "18.0.0-next.5",
"@objectstack/spec": "18.0.0-next.5"
},
"devDependencies": {
"@hono/node-server": "^2.1.1",
"@objectstack/driver-sqlite-wasm": "18.0.0-next.3",
"@objectstack/hono": "18.0.0-next.3",
"@objectstack/metadata-core": "18.0.0-next.3",
"@objectstack/metadata-protocol": "18.0.0-next.3",
"@objectstack/objectql": "18.0.0-next.3",
"@objectstack/platform-objects": "18.0.0-next.3",
"@objectstack/plugin-auth": "18.0.0-next.3",
"@objectstack/plugin-hono-server": "18.0.0-next.3",
"@objectstack/rest": "18.0.0-next.3",
"@objectstack/runtime": "18.0.0-next.3",
"@objectstack/service-analytics": "18.0.0-next.3",
"@objectstack/service-automation": "18.0.0-next.3",
"@objectstack/driver-sqlite-wasm": "18.0.0-next.5",
"@objectstack/hono": "18.0.0-next.5",
"@objectstack/metadata-core": "18.0.0-next.5",
"@objectstack/metadata-protocol": "18.0.0-next.5",
"@objectstack/objectql": "18.0.0-next.5",
"@objectstack/platform-objects": "18.0.0-next.5",
"@objectstack/plugin-auth": "18.0.0-next.5",
"@objectstack/plugin-hono-server": "18.0.0-next.5",
"@objectstack/rest": "18.0.0-next.5",
"@objectstack/runtime": "18.0.0-next.5",
"@objectstack/service-analytics": "18.0.0-next.5",
"@objectstack/service-automation": "18.0.0-next.5",
"tsx": "^4.23.15",
"typescript": "^6.0.3",
"vitest": "^4.1.11"
Expand Down
8 changes: 4 additions & 4 deletions .objectstack-pin/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/core",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"license": "Apache-2.0",
"description": "Microkernel Core for ObjectStack",
"type": "module",
Expand All @@ -19,16 +19,16 @@
}
},
"devDependencies": {
"@objectstack/metadata-core": "18.0.0-next.3",
"@objectstack/metadata-core": "18.0.0-next.5",
"@objectstack/refd-timer-testkit": "0.1.0",
"@types/node": "^26.6.3",
"esbuild": "^0.28.2",
"typescript": "^6.0.3",
"vitest": "^4.1.11"
},
"dependencies": {
"@objectstack/spec": "18.0.0-next.3",
"@objectstack/types": "18.0.0-next.3",
"@objectstack/spec": "18.0.0-next.5",
"@objectstack/types": "18.0.0-next.5",
"zod": "^4.6.5"
},
"keywords": [
Expand Down
4 changes: 2 additions & 2 deletions .objectstack-pin/formula/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/formula",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"license": "Apache-2.0",
"description": "ObjectStack canonical expression engine — CEL (cel-js) + ObjectStack stdlib + dialect registry",
"main": "dist/index.js",
Expand All @@ -14,7 +14,7 @@
},
"dependencies": {
"@marcbachmann/cel-js": "^8.0.0",
"@objectstack/spec": "18.0.0-next.3"
"@objectstack/spec": "18.0.0-next.5"
},
"devDependencies": {
"@types/node": "^26.6.3",
Expand Down
8 changes: 4 additions & 4 deletions .objectstack-pin/lint/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/lint",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"license": "Apache-2.0",
"description": "Static, build-time validation for an ObjectStack metadata graph — dashboard widget bindings, CEL/predicate expressions, and more. Pure (stack) => Issue[] functions shared by the CLI's `os validate` and any other consumer (e.g. AI authoring). Depends on @objectstack/spec; never on a runtime.",
"type": "module",
Expand Down Expand Up @@ -39,9 +39,9 @@
}
},
"dependencies": {
"@objectstack/formula": "18.0.0-next.3",
"@objectstack/sdui-parser": "18.0.0-next.3",
"@objectstack/spec": "18.0.0-next.3",
"@objectstack/formula": "18.0.0-next.5",
"@objectstack/sdui-parser": "18.0.0-next.5",
"@objectstack/spec": "18.0.0-next.5",
"ajv": "^8.20.0",
"ajv-formats": "^3.0.1",
"sucrase": "^3.35.1",
Expand Down
2 changes: 1 addition & 1 deletion .objectstack-pin/sdui-parser/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/sdui-parser",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"license": "Apache-2.0",
"description": "ObjectStack constrained JSX-source → SDUI SchemaNode tree compiler (parse, never execute). Isomorphic, zero React. ADR-0080.",
"main": "dist/index.js",
Expand Down
2 changes: 1 addition & 1 deletion .objectstack-pin/spec/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/spec",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"description": "ObjectStack Protocol & Specification - TypeScript Interfaces, JSON Schemas, and Convention Configurations",
"license": "Apache-2.0",
"main": "dist/index.js",
Expand Down
4 changes: 2 additions & 2 deletions .objectstack-pin/types/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectstack/types",
"version": "18.0.0-next.3",
"version": "18.0.0-next.5",
"license": "Apache-2.0",
"description": "Shared interfaces describing the ObjectStack Runtime environment",
"main": "dist/index.js",
Expand All @@ -18,7 +18,7 @@
}
},
"dependencies": {
"@objectstack/spec": "18.0.0-next.3"
"@objectstack/spec": "18.0.0-next.5"
},
"devDependencies": {
"typescript": "^6.0.3",
Expand Down
2 changes: 1 addition & 1 deletion .objectstack-sha
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2c9bf9430a1198bfaa5c0de9ff4a811838c6869c
f4755a68a797d5a000cb8bd1c942cb2a9862108e
Loading
Loading