From f084696b5b6bac62ad254990da93ae233b85aebb Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 22 Jul 2026 20:20:19 +0000 Subject: [PATCH 1/2] docs(spec): regenerate ui/action reference for inline lookup `reference` The generated `content/docs/references/ui/action.mdx` was left out of date when `reference` was added to `ActionParamSchema`, failing the `check:docs` CI step. Regenerated via `gen:schema && gen:docs`; only the generated doc changes (JSON schema output is gitignored). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_011W4a1eVS3aaYVRxKut68hK --- content/docs/references/ui/action.mdx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/content/docs/references/ui/action.mdx b/content/docs/references/ui/action.mdx index 8b0d15621b..d0e58c94ba 100644 --- a/content/docs/references/ui/action.mdx +++ b/content/docs/references/ui/action.mdx @@ -35,7 +35,21 @@ params: [ inline when no matching object field exists. Inline values may also be -used alongside `field` to override individual properties. +used alongside `field` to override individual properties. A `lookup` / + +`master_detail` param declared this way MUST name its target object via + +`reference` — there is no field to inherit it from: + +```ts + +params: [ + +\{ name: 'inspector', label: 'Inspector', type: 'lookup', reference: 'sys_user' \}, + +] + +``` `name` is required unless `field` is provided (in which case it defaults @@ -153,6 +167,7 @@ const result = Action.parse(data); | **multiple** | `boolean` | optional | Allow multiple values (array value shape); mirrors FieldSchema.multiple. | | **accept** | `string[]` | optional | Accepted upload types (MIME types / extensions) for file/image params. | | **maxSize** | `integer` | optional | Max upload size in bytes for file/image params. | +| **reference** | `string` | optional | Reference target object for inline lookup/master_detail params; mirrors FieldSchema.reference. | | **defaultFromRow** | `boolean` | optional | | | **visible** | `string \| { dialect: Enum<'cel' \| 'cron' \| 'template'>; source?: string; ast?: any; meta?: object }` | optional | Param visibility predicate (CEL); omits the param when false. | | **requiresFeature** | `Enum<'twoFactor' \| 'passkeys' \| 'magicLink' \| 'organization' \| 'multiOrgEnabled' \| 'degradedTenancy' \| 'oidcProvider' \| 'sso' \| 'ssoEnforced' \| 'deviceAuthorization' \| 'admin' \| 'phoneNumber' \| 'phoneNumberOtp'>` | optional | Public auth feature flag gating this param; lowered into `visible` at parse time. | From 5b6070702859b575d22ad5c8b72abd7d0e29d19c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 22 Jul 2026 20:24:35 +0000 Subject: [PATCH 2/2] chore: add empty changeset for the docs-only regeneration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `ui/action` reference doc regeneration is generated output and releases nothing on its own — the `@objectstack/spec` release is declared by the changeset in #3406. This empty-frontmatter changeset satisfies the "Check Changeset" gate, which diffs added .changeset files against this PR's base (the #3406 head) and otherwise sees none. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_011W4a1eVS3aaYVRxKut68hK --- .changeset/regenerate-ui-action-reference-doc.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/regenerate-ui-action-reference-doc.md diff --git a/.changeset/regenerate-ui-action-reference-doc.md b/.changeset/regenerate-ui-action-reference-doc.md new file mode 100644 index 0000000000..d4835d6686 --- /dev/null +++ b/.changeset/regenerate-ui-action-reference-doc.md @@ -0,0 +1,7 @@ +--- +--- + +docs(spec): regenerate the `ui/action` reference doc for the inline lookup +`reference` key. Generated output only — the release for this change is +declared by the `@objectstack/spec` changeset in #3406, so this PR itself +releases nothing.