Skip to content

Commit ca753c0

Browse files
fix(spec)!: refuse scale on a currency inline grid column; prefix promises no default symbol (#20045) (#20223)
Fixes #20045 Clause-②: yes `Clause-②: yes` is the claim's line (comment `5854472496`), copied as it stands. The changeset carries `Clause-②: yes (narrowing)`, because AGENTS.md makes a narrowing BREAKING and `check:adr-0087-registration` reads the arm there. ⚠ This diff widens nothing: it only refuses a shape that parsed before. Read against `scripts/pm/clause2-line.mjs` (「本卡放宽接受集或扩大公开面吗」), the value that fits is `no (narrowing)`, which is ruling B's own declaration on #19629. The dev report raises this as an open question. Neither line was changed on the dev's own judgement. Branch `claude/issue-20045-inline-currency-column-scale`, base `1c8b320a89`, merged with `origin/main` `b09ce67870` as `4a6e8ed61a` through `scripts/pm/os-regen-merge.sh`. Every reading below was taken at head `4a6e8ed61a` unless it says otherwise. ## What changes Triage direction: comment `5825687357`, option A. Triage read the card as inherited from ruling B `5791803339` on #19629 (`scale` retired from the currency field) and ruling 乙 `5805782503` on #19910 (「a currency's ISO 4217 minor unit decides its display」). 1. `InlineGridColumnSchema` (`packages/spec/src/data/field.zod.ts`) now refuses an authored `scale` on a column that declares `type: 'currency'`. The refusal is one custom issue at the column's `scale`, and it applies to any value, `scale: 0` included, computed or not. The message carries ruling B's shape: - first sentence: "`scale` is not valid on a `currency` inline grid column — delete the key." This is the field refusal's first sentence with only the subject swapped; - remedy: the currency's ISO 4217 minor unit (2 for USD, 0 for JPY, 3 for KWD) decides how the cell displays the amount and the width a computed amount is rounded to. It names no other key. - No alias and no grace window. - `scale` on a `number` column, and on a column that declares no `type`, is unchanged. 2. The `prefix` describe no longer says 「(default '¥')」. It now reads: the symbol replaces the resolved currency's own symbol; there is no default; it replaces the symbol only. `prefix` is still accepted. The `scale` describe drops "numeric/currency" and names the currency refusal. 3. ADR-0087: the D3 semantic entry `18.inline-grid-column-currency-scale-refused` is added, and `registry.ts` was regenerated with `gen:migration-registry`. 4. The changeset makes `@objectstack/spec` `minor`, with a BREAKING banner, a FROM → TO table and the `registered` disposition marker. 5. `dropped-refinements.baseline.json` gains the new refinement's rows, exactly as the build's ratchet printed them: `data/InlineGridColumn` (root) plus one `…inlineColumns.element` site on each of the 12 published schemas that embed the column. The header totals moved with the body: 208 schemas, 590 sites after the merge. 6. `content/docs/references/data/field.mdx` was regenerated (`check:generated --fix`, which proved only `check:docs` stale). ## ADR-0087 disposition: why D3 only - **A D3 entry is owed.** Ruling B on #17152 (`5615360777`, restated `5634031140`) says 「D3 每家族一条,D2 可无损表达者亦然;D2 只承载数据修复」. - **No D2 conversion.** The card inherits ruling B on #19629, which says no alias and no grace window. Its own entry, `field-currency-scale-refused`, is "NOT mechanically converted, deliberately". A load-path conversion that dropped the key would accept it on every load, which is the grace window the ruling refused. This entry follows that precedent. - **No `retired-keys/` row.** The key is not removed. It stays in the walked shape and stays live on `number` columns, and a `RETIRED_KEYS_BY_MAJOR` row naming a live key reds gate (b2). ## Premise, measured - On `1c8b320a89`, `InlineGridColumnSchema` was a bare `strictObject` with no refinement, and `scale` was declared for a "computed numeric/currency result". - The ablation below is the executable half of that reading. With the new refinement short-circuited, all six refusal pins go red, because every currency-plus-`scale` shape parses again. - The objectui side was read by content: - at objectui `origin/main` `25c7d58`, `GridField.tsx` has `function currencyAdornment` ×1 and `function currencyWidth` ×1, and `c.prefix || '¥'` ×0; - at this repo's `.objectui-sha` pin `f8a9d0fb0596`, it has `c.prefix || '¥'` ×2 and the `currency ? 2` default ×1 (see Acceptance notes). ## Mechanism hypothesis H1, measured - `InlineGridColumnSchema` was at `:895`, a `strictObject`, with `prefix` at `:924` and `scale` at `:938`. **Confirmed.** - "Reuse the refusal sentence or the shared helper" was **partly falsified**. No helper exists: ruling B's sentence is a string literal inside `FieldSchema`'s `superRefine` (`:2295–2307` on base). That block is outside this claim's file surface. So the column carries the sentence and remedy in its own constant, `INLINE_GRID_CURRENCY_SCALE_REFUSAL`. - A parity pin keeps the two refusals from drifting apart. It reads both refusals and asserts that the first sentences match (subject swapped), that both carry the same minor-unit clause, and that neither names `currencyConfig` or `precision`. - `FieldSchema`'s currency-precision anchor was not touched. It changed on `main` during this run (#20011, PR #20209). It merged cleanly and is disjoint from this diff. ## Authored instances (H2), census on `1c8b320a89` - `git grep inlineColumns` over the whole tree gives 30 files. Exactly **one** authored block: `examples/app-showcase/src/data/objects/invoice.object.ts`, with 7 identity-only `{ name }` columns, 0 declaring `type` and 0 declaring `scale`. This is the control: the same instrument counts 7 column entries in that block. - Platform objects, `skills/**`, `content/docs/**` prose and examples, and JSON/YAML fixtures: 0 inline grid columns. - Objectui at the pin: 0 authored `inlineColumns` fixtures. Its only hits are the two renderer files. - Test fixtures: 1 carried `scale: 2` on a currency column (`inline-related-columns.test.ts`, the "every renderer-read key" case). It was re-judged: `scale` was deleted there, and the key stays covered by the identity-only computed `amount` column in the same fixture. - Deployed metadata: **NOT MEASURED**, because no instrument reaches it. ## Tests, at head `4a6e8ed61a` All heavy runs went through `scripts/pm/os-verify-lock.sh`, and each verdict below is read from its VERDICT line. - `@objectstack/spec` build: exit 0. - `check:generated`: "All 15 generated artifacts are up to date". - spec `vitest --project local`: **542 files passed; 15932 passed, 2 todo**. - spec `typecheck`: exit 0 (`check:test-typecheck: OK — 53 file(s) / 255 error(s) / 142 pinned signature(s) held`). - spec `vitest --project repo`: 32 files / 586 passed, at `4dbb609b1a` before the merge. It was not re-run on the merged head, because the run took 15m23s on a box under load 30 to 49. It is declared to CI. - The new file `inline-grid-column-currency-scale-refused.test.ts` covers: - refusal through `FieldSchema`, `ObjectSchema` and the standalone column, located at `…inlineColumns[i].scale`, with `code: 'custom'`; - every value, computed or not; - controls: a `number` column, an untyped column, `prefix` accepted, and the remedy parsing and re-parsing unchanged; - field/column shape parity; - the two describes; - the D3 entry being registered. **Ablation**, from committed state `aa4b6ca14f`, run with `scripts/ablation-replace.mjs`: - The anchor `if (column.type === 'currency' && column.scale !== undefined) {` was hit ×1 and went ×1 → ×0. The replacement `if (false && …` went ×0 → ×1. The blob changed from `147220988d04` to `ddf1ebbf0437`. - Result: **6 failed | 22 passed** (28). All six refusal/parity pins went red, and the controls stayed green, which is the expected direction. - Restore: blob `147220988d04` == HEAD, and `git diff HEAD` is empty. - The subject is imported from `src` (`./field.zod`), so no dist rebuild was involved. **Gates.** `dispatch-gates.mjs --commands` was re-derived on `4a6e8ed61a` and gave 111 families, the same list as before the merge. `--ran` reconciliation: "111 derived famil(ies) accounted for — 109 run, 2 NOT-MEASURED". - `NOT MEASURED: check:dual-build-cjs-loads`, reason: PREREQUISITE NOT MET. 33 packages have no `dist/`, and only a full-repo build satisfies that. This diff changes no entry point, export map or build config. - `NOT MEASURED: check:type-check-debt`. Before the merge it exited 3 (`@objectstack/driver-turso` unbuilt). On the merged head, with that package built, `--re-measure` began a workspace-closure `turbo build` outside the verify lock. It was stopped by its recorded PID after 9 minutes, with no verdict. This diff changes no exported type: `check:api-surface` is green, and `superRefine` keeps `InlineGridColumnSchema` a `ZodObject`. It touches none of the four DEBT-ledgered packages. ## Deviations - **File surface.** `packages/spec/dropped-refinements.baseline.json` is outside the claim's listed surface. The build refuses a new refinement without it. The file is hand-edited on purpose and has no generator, and its rows were applied exactly as the gate printed them, including the merge-time header recount. The claim's surface names "its own refinement", so this is reported as that refinement's mechanical consequence, ⛔ not as scope growth. - **Merge.** `origin/main` moved the same ledger's header totals (#20204), which caused a textual conflict. It was resolved by recounting the merged body. ## Acceptance notes - **Reach of the refusal.** Only a DECLARED column `type` is judged. A column that declares no `type` gets its type from the child field when objectui hydrates it (`deriveMasterDetail.ts` `hydrateColumns`, which spreads the authored column). So `{ name: 'amount', scale: 2 }` over a currency child field still parses. The column schema cannot see the child object. Once the objectui follow-up stops reading an authored `scale` on currency columns, that key is ignored on such a column. That lands on the objectui follow-up card (triage note 4), not here. - **Pinned console vs this describe.** The new `prefix` describe ("No default") is true of objectui `main` (`25c7d58`). The console bundled at `.objectui-sha` `f8a9d0fb0596` still falls back to `¥` and rounds a computed currency with no `scale` to 2. The describe becomes true of the bundled console when the pin moves past objectui PR #10405. Deleting `scale` loses no decimals under either console: the pin falls back to 2, and `main` to the ISO minor unit. So no zero-decimal window opens. - **Stale notes outside this surface**, recorded only (carrier: none): - `packages/spec/liveness/field.json` → `inlineColumns.children.prefix` / `.scale` notes still cite `c.prefix || '¥'` and `c.scale ?? currency default 2`; - the `packages/spec/src/data/field-scale.ts` docblock sentence "The one `2` that looks like a currency default belongs to an inline grid COLUMN's rounding" describes the pre-objectui#10355 grid. - **The objectui `GridField` follow-up** (drop the authored-`scale` read on currency columns) is objectui's own card, per triage note 4. Nothing in objectui changes here. --- _Generated by [Claude Code](https://claude.ai/code/session_01QcAS3qiYYZNezaxZxaUdMV)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent c02fa12 commit ca753c0

8 files changed

Lines changed: 388 additions & 10 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
"@objectstack/spec": minor
3+
---
4+
5+
fix(spec)!: `scale` is refused on a `currency` inline grid column, and the column's `prefix` no longer promises a default symbol (#20045)
6+
7+
Clause-②: no (narrowing)
8+
9+
**BREAKING** — an accept-set narrowing on a published authoring surface, shipped as `minor` under the repo's launch-window convention for accept-set narrowings. An `inlineColumns` entry that declares `type: 'currency'` and `scale` — any value, `scale: 0` included, computed or not — no longer parses. The hand-migration prescription is registered under protocol major 18 as `inline-grid-column-currency-scale-refused`.
10+
11+
A currency's decimal places are the currency's, not a setting. `scale` was already retired from the `currency` field type; the inline grid column, the strict mirror of the console grid's column, still offered per-column decimals on a currency column. It now follows the field.
12+
13+
**`@objectstack/spec`** — `InlineGridColumnSchema` refuses `scale` on a column declaring `type: 'currency'`, with a located issue at the column's `scale`. The refusal opens with the currency field refusal's first sentence and carries its remedy: delete the key; the currency's ISO 4217 minor unit decides how the cell displays the amount and the width a computed amount is rounded to. The remedy names no other key to carry the value. No alias and no grace window. `scale` on a `number` column, and on a column that declares no `type`, is untouched, and the key's describe now names the currency refusal. The column's `prefix` describe no longer promises a `¥` default: it replaces the resolved currency's symbol, and when it is omitted the cell shows the symbol of the currency it resolves. `prefix` is still accepted on a currency column.
14+
15+
## FROM → TO
16+
17+
| you wrote | write instead |
18+
|:--|:--|
19+
| `inlineColumns: [{ name: 'amount', type: 'currency', computed: true, expr: 'quantity * unit_price', scale: 2 }]` | `inlineColumns: [{ name: 'amount', type: 'currency', computed: true, expr: 'quantity * unit_price' }]` |
20+
| `inlineColumns: [{ name: 'unit_price', type: 'currency', prefix: '$', scale: 2 }]` | `inlineColumns: [{ name: 'unit_price', type: 'currency', prefix: '$' }]` |
21+
22+
The one-line fix: delete `scale` from every inline grid column that declares `type: 'currency'`. Nothing replaces it, so ⛔ do not re-declare the value under any other key. A `number` column keeps its `scale`.
23+
24+
## Who is affected, measured
25+
26+
On `origin/main` `1c8b320a89`: one authored `inlineColumns` block in the tree (the showcase invoice, seven identity-only columns, none declaring `type` or `scale`). No platform object, skill, documentation example or JSON fixture declares an inline grid column. One test fixture carried `scale: 2` on a currency column and was re-judged. Deployed metadata was not measured.
27+
28+
<!-- adr-0087: registered inline-grid-column-currency-scale-refused -->

‎content/docs/references/data/field.mdx‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ const result = CurrencyConfigSchema.parse(data);
206206
| **width** | `number` | optional | Fixed column width in px; omitted columns use type-based role sizing (text flexes, numeric/date/select stay fixed). |
207207
| **required** | `boolean` | optional | Cell is flagged inline-invalid while empty. Computed columns are never required. |
208208
| **options** | `{ label: string; value: string }[]` | optional | Select-cell options for `type: 'select'`; derived from the child field's options when the column declares no `type`. |
209-
| **prefix** | `string` | optional | Currency symbol rendered inside a `currency` cell (default '¥'). |
209+
| **prefix** | `string` | optional | Symbol shown in a `currency` cell in place of the resolved currency's own symbol. No default: when omitted, the cell shows the symbol of the currency it resolves. It replaces the symbol only — the amount's decimal places stay the currency's. |
210210
| **step** | `number` | optional | Input step for numeric cells. |
211211
| **reference** | `string` | optional | Referenced object for `type: 'lookup'` cells; derived from the child lookup field when the column declares no `type`. |
212212
| **displayField** | `string` | optional | Label field shown for a picked lookup record. |
@@ -216,7 +216,7 @@ const result = CurrencyConfigSchema.parse(data);
216216
| **defaultHidden** | `boolean` | optional | Collapsed into the grid's column chooser by default (not dropped); required columns are never default-hidden. |
217217
| **computed** | `boolean` | optional | Read-only computed column, recomputed live from sibling cells via `expr` and written back into the row. |
218218
| **expr** | `string` | optional | Arithmetic expression for a computed column — a BARE string over `+ - * / %`, parentheses, numeric literals and field refs (`record.qty` or `qty`), evaluated by the grid's own safe evaluator. Deliberately NOT a CEL Expression envelope; `{ dialect, source }` is refused here. |
219-
| **scale** | `integer` | optional | Decimal places to round a computed numeric/currency result to (integer 0-100). The upper bound is the renderer's: the grid rounds with `toFixed`, which throws a RangeError above 100. |
219+
| **scale** | `integer` | optional | Decimal places to round a computed numeric result to (integer 0-100). REFUSED on a column declaring `type: 'currency'` — delete it there: the currency's ISO 4217 minor unit decides. The upper bound is the renderer's: the grid rounds with `toFixed`, which throws a RangeError above 100. |
220220
| **autofill** | `boolean` | optional | For `lookup` columns: picking a record copies its same-named fields into sibling columns (a product's unit_price/description). On by default; set false to disable. |
221221
| **readonlyWhen** | `string \| { dialect: Enum<'cel' \| 'cron' \| 'template'>; source: string; ast?: any; meta?: object }` | optional | Predicate (CEL) — the cell is read-only when TRUE, evaluated per row against the row as `record` plus the header as `parent` (e.g. P`parent.status == 'paid'`). |
222222
| **requiredWhen** | `string \| { dialect: Enum<'cel' \| 'cron' \| 'template'>; source: string; ast?: any; meta?: object }` | optional | Predicate (CEL) — the cell is required when TRUE. Same `record` + `parent` scope as `readonlyWhen`. PRESENTATION ONLY: this flags the cell inline-invalid in the grid; nothing on the write path reads it. The server-enforced contract is the child FIELD's own `requiredWhen` — a transition gate, see `Field.requiredWhen` — which hydration copies onto an identity-only column, so declaring the requirement here alone enforces nothing. |
@@ -356,7 +356,7 @@ Allowed Values: `phone`, `id_card`, `bank_account`, `email`, `name`
356356
| **width** | `number` | optional | Fixed column width in px; omitted columns use type-based role sizing (text flexes, numeric/date/select stay fixed). |
357357
| **required** | `boolean` | optional | Cell is flagged inline-invalid while empty. Computed columns are never required. |
358358
| **options** | `{ label: string; value: string }[]` | optional | Select-cell options for `type: 'select'`; derived from the child field's options when the column declares no `type`. |
359-
| **prefix** | `string` | optional | Currency symbol rendered inside a `currency` cell (default '¥'). |
359+
| **prefix** | `string` | optional | Symbol shown in a `currency` cell in place of the resolved currency's own symbol. No default: when omitted, the cell shows the symbol of the currency it resolves. It replaces the symbol only — the amount's decimal places stay the currency's. |
360360
| **step** | `number` | optional | Input step for numeric cells. |
361361
| **reference** | `string` | optional | Referenced object for `type: 'lookup'` cells; derived from the child lookup field when the column declares no `type`. |
362362
| **displayField** | `string` | optional | Label field shown for a picked lookup record. |
@@ -366,7 +366,7 @@ Allowed Values: `phone`, `id_card`, `bank_account`, `email`, `name`
366366
| **defaultHidden** | `boolean` | optional | Collapsed into the grid's column chooser by default (not dropped); required columns are never default-hidden. |
367367
| **computed** | `boolean` | optional | Read-only computed column, recomputed live from sibling cells via `expr` and written back into the row. |
368368
| **expr** | `string` | optional | Arithmetic expression for a computed column — a BARE string over `+ - * / %`, parentheses, numeric literals and field refs (`record.qty` or `qty`), evaluated by the grid's own safe evaluator. Deliberately NOT a CEL Expression envelope; `{ dialect, source }` is refused here. |
369-
| **scale** | `integer` | optional | Decimal places to round a computed numeric/currency result to (integer 0-100). The upper bound is the renderer's: the grid rounds with `toFixed`, which throws a RangeError above 100. |
369+
| **scale** | `integer` | optional | Decimal places to round a computed numeric result to (integer 0-100). REFUSED on a column declaring `type: 'currency'` — delete it there: the currency's ISO 4217 minor unit decides. The upper bound is the renderer's: the grid rounds with `toFixed`, which throws a RangeError above 100. |
370370
| **autofill** | `boolean` | optional | For `lookup` columns: picking a record copies its same-named fields into sibling columns (a product's unit_price/description). On by default; set false to disable. |
371371
| **readonlyWhen** | `string \| { dialect: Enum<'cel' \| 'cron' \| 'template'>; source: string; ast?: any; meta?: object }` | optional | Predicate (CEL) — the cell is read-only when TRUE, evaluated per row against the row as `record` plus the header as `parent` (e.g. P`parent.status == 'paid'`). |
372372
| **requiredWhen** | `string \| { dialect: Enum<'cel' \| 'cron' \| 'template'>; source: string; ast?: any; meta?: object }` | optional | Predicate (CEL) — the cell is required when TRUE. Same `record` + `parent` scope as `readonlyWhen`. PRESENTATION ONLY: this flags the cell inline-invalid in the grid; nothing on the write path reads it. The server-enforced contract is the child FIELD's own `requiredWhen` — a transition gate, see `Field.requiredWhen` — which hydration copies onto an identity-only column, so declaring the requirement here alone enforces nothing. |

‎packages/spec/dropped-refinements.baseline.json‎

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"description": "Shrink-only ledger of every PUBLISHED JSON Schema that is STILL WIDER than the Zod type it was generated from, because a rule written as `.refine()` reaches the runtime and not the file (#18670). `z.toJSONSchema()` has no arm for a `custom` check: a plain record, the same record with a `.refine()`, and the same record with an ABORTING `.refine()` all project byte-identically (measured on zod 4.4.3, the version packages/spec resolves). So a document one of these files ACCEPTS can still be refused at parse time, and an author -- or an AI -- validating against packages/spec/json-schema/** finds out a release later. Each `sites` path is a position under that schema at which a refinement is dropped; the same paths are written onto the artifact itself as `x-dropped-refinements`. Item 2 closed the first patterns: a refinement DECLARED through the closed list in src/shared/refinement-projection.ts is emitted into the published file, reads `projected` rather than `dropped`, and its row LEAVES this ledger in the same PR -- which is why the ledger shrinks and never grows on a repair. Every refinement outside that closed list stays here, and adding an arm to the list is a public-contract decision, not a refactor. Hand-edited on purpose and with no `gen:` script: a generator would let a new gap be admitted by running a command instead of by a decision, which is the silence this ledger exists to end. Adding, removing or moving a site fails packages/spec/scripts/build-schemas.ts until the line moves with it, and the failure prints the corrected entry in full. ⛔ Do not delete or weaken a refinement to shorten this file -- the runtime rule is correct; it is the projection that is silent, and the remedy is to teach the closed list a NAMED pattern, never to drop the rule.",
33
"measured": {
44
"zod": "4.4.3",
5-
"publishedSchemasWithDroppedRefinements": 207,
6-
"droppedRefinementSites": 588,
5+
"publishedSchemasWithDroppedRefinements": 208,
6+
"droppedRefinementSites": 601,
77
"refinementSitesThatDidProject": 369,
88
"refinementSitesWithNoJsonFormToCompare": 0
99
},
@@ -71,6 +71,7 @@
7171
"manifest.objects.element.fieldGroups",
7272
"manifest.objects.element.fields.out.valueType",
7373
"manifest.objects.element.fields.out.valueType.currencyConfig",
74+
"manifest.objects.element.fields.out.valueType.inlineColumns.element",
7475
"manifest.objects.element.lifecycle",
7576
"manifest.pages.element",
7677
"manifest.pages.element.slots.header.options[0].in.type",
@@ -170,6 +171,7 @@
170171
"data.options[1].manifest.objects.element.fieldGroups",
171172
"data.options[1].manifest.objects.element.fields.out.valueType",
172173
"data.options[1].manifest.objects.element.fields.out.valueType.currencyConfig",
174+
"data.options[1].manifest.objects.element.fields.out.valueType.inlineColumns.element",
173175
"data.options[1].manifest.objects.element.lifecycle",
174176
"data.options[1].manifest.pages.element",
175177
"data.options[1].manifest.pages.element.slots.header.options[0].in.type",
@@ -254,6 +256,7 @@
254256
"options[1].manifest.objects.element.fieldGroups",
255257
"options[1].manifest.objects.element.fields.out.valueType",
256258
"options[1].manifest.objects.element.fields.out.valueType.currencyConfig",
259+
"options[1].manifest.objects.element.fields.out.valueType.inlineColumns.element",
257260
"options[1].manifest.objects.element.lifecycle",
258261
"options[1].manifest.pages.element",
259262
"options[1].manifest.pages.element.slots.header.options[0].in.type",
@@ -299,6 +302,7 @@
299302
"data.packages.element.options[1].manifest.objects.element.fieldGroups",
300303
"data.packages.element.options[1].manifest.objects.element.fields.out.valueType",
301304
"data.packages.element.options[1].manifest.objects.element.fields.out.valueType.currencyConfig",
305+
"data.packages.element.options[1].manifest.objects.element.fields.out.valueType.inlineColumns.element",
302306
"data.packages.element.options[1].manifest.objects.element.lifecycle",
303307
"data.packages.element.options[1].manifest.pages.element",
304308
"data.packages.element.options[1].manifest.permissions.element.objects.valueType.out",
@@ -338,6 +342,7 @@
338342
"data.fieldGroups",
339343
"data.fields.out.valueType",
340344
"data.fields.out.valueType.currencyConfig",
345+
"data.fields.out.valueType.inlineColumns.element",
341346
"data.fields.out.valueType.relatedListFilter.lazy",
342347
"data.lifecycle",
343348
"data.listViews.valueType",
@@ -623,6 +628,7 @@
623628
"sites": [
624629
"",
625630
"currencyConfig",
631+
"inlineColumns.element",
626632
"relatedListFilter.lazy"
627633
]
628634
},
@@ -658,6 +664,11 @@
658664
"object"
659665
]
660666
},
667+
"data/InlineGridColumn": {
668+
"sites": [
669+
""
670+
]
671+
},
661672
"data/InstantValue": {
662673
"sites": [
663674
""
@@ -711,6 +722,7 @@
711722
"fieldGroups",
712723
"fields.out.valueType",
713724
"fields.out.valueType.currencyConfig",
725+
"fields.out.valueType.inlineColumns.element",
714726
"fields.out.valueType.relatedListFilter.lazy",
715727
"lifecycle",
716728
"listViews.valueType",
@@ -727,6 +739,7 @@
727739
"",
728740
"fields.valueType",
729741
"fields.valueType.currencyConfig",
742+
"fields.valueType.inlineColumns.element",
730743
"fields.valueType.relatedListFilter.lazy"
731744
]
732745
},
@@ -958,6 +971,7 @@
958971
"sites": [
959972
"field",
960973
"field.currencyConfig",
974+
"field.inlineColumns.element",
961975
"field.relatedListFilter.lazy"
962976
]
963977
},
@@ -980,6 +994,7 @@
980994
"sites": [
981995
"operations.element.options[0].field",
982996
"operations.element.options[0].field.currencyConfig",
997+
"operations.element.options[0].field.inlineColumns.element",
983998
"operations.element.options[0].field.relatedListFilter.lazy",
984999
"operations.element.options[3].object",
9851000
"operations.element.options[3].object.actions.element.in",
@@ -1004,6 +1019,7 @@
10041019
"object.fieldGroups",
10051020
"object.fields.out.valueType",
10061021
"object.fields.out.valueType.currencyConfig",
1022+
"object.fields.out.valueType.inlineColumns.element",
10071023
"object.fields.out.valueType.relatedListFilter.lazy",
10081024
"object.lifecycle",
10091025
"object.listViews.valueType",
@@ -1039,6 +1055,7 @@
10391055
"sites": [
10401056
"options[0].field",
10411057
"options[0].field.currencyConfig",
1058+
"options[0].field.inlineColumns.element",
10421059
"options[0].field.relatedListFilter.lazy",
10431060
"options[3].object",
10441061
"options[3].object.actions.element.in",

0 commit comments

Comments
 (0)