@objectstack/console 17.6.0 → 17.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/CHANGELOG.md +428 -0
  2. package/dist/.objectstack-injection.json +2 -2
  3. package/dist/.objectui-sha +1 -1
  4. package/dist/assets/{ActionResultDialog-4kHDGnT3.js → ActionResultDialog-ChYnuROr.js} +3 -3
  5. package/dist/assets/{AiPendingActionsPage-JjOddm0h.js → AiPendingActionsPage-Dh3-i4BB.js} +1 -1
  6. package/dist/assets/{ApiConsolePage-BgS26lbp.js → ApiConsolePage-CKYEqlMs.js} +1 -1
  7. package/dist/assets/{AppDocsIndex-BDoH5ECM.js → AppDocsIndex-B5Tky2xg.js} +1 -1
  8. package/dist/assets/{AppManagementPage-CCgKmNTj.js → AppManagementPage-ZwyvnHpM.js} +1 -1
  9. package/dist/assets/ApprovalsInboxPage-DD4fe0Em.js +1 -0
  10. package/dist/assets/AuditLogPage-Sed6iMqP.js +1 -0
  11. package/dist/assets/BookPage-DYjUsQIc.js +1 -0
  12. package/dist/assets/{ComponentNavView-B5g9c6fx.js → ComponentNavView-DrlxM4SY.js} +1 -1
  13. package/dist/assets/CreateViewDialog-Cp72x_O7.js +1 -0
  14. package/dist/assets/{DashboardView-BOcovpPd.js → DashboardView-juicRxcP.js} +1 -1
  15. package/dist/assets/DocPage-CxJaQ-pC.js +1 -0
  16. package/dist/assets/{DocsIndex-DwW2QsYY.js → DocsIndex-LALVtIVR.js} +1 -1
  17. package/dist/assets/{DocsLayout-D63StSgd.js → DocsLayout-BAwlJQQf.js} +1 -1
  18. package/dist/assets/{DocsSlug-CP9fcabi.js → DocsSlug-CkF1E-Zs.js} +1 -1
  19. package/dist/assets/ExpressionProvider-Dr0e99r1.js +1 -0
  20. package/dist/assets/FlowRunsPage-R3W3t2s4.js +1 -0
  21. package/dist/assets/{IntegrationsPage-DvG0x0Nb.js → IntegrationsPage-DIuFLEbF.js} +2 -2
  22. package/dist/assets/InterfaceListPage-BfoCldGu.js +1 -0
  23. package/dist/assets/{MarketplaceInstalledPage-B7KETQG2.js → MarketplaceInstalledPage-DyjhcUNB.js} +1 -1
  24. package/dist/assets/MarketplacePackagePage-BbO27Pgs.js +4 -0
  25. package/dist/assets/MarketplacePage-DO2_b64U.js +1 -0
  26. package/dist/assets/{MetadataInspector-EP0I3-Kq.js → MetadataInspector-BQyu9pOE.js} +1 -1
  27. package/dist/assets/ObjectDataPage-DIY-yefK.js +1 -0
  28. package/dist/assets/PageView-C-qWu3Jw.js +1 -0
  29. package/dist/assets/ProfilePage-Qp8DL8CF.js +1 -0
  30. package/dist/assets/{PublicFormsPage-D3uCTR-8.js → PublicFormsPage-D3AT2EH9.js} +1 -1
  31. package/dist/assets/RecordDetailView-B3XBEgk2.js +3 -0
  32. package/dist/assets/{RecordFormPage-kiJI-ieF.js → RecordFormPage-CcoZfUJ3.js} +1 -1
  33. package/dist/assets/ReportDefaultInspector-DVcWM6sh.js +1 -0
  34. package/dist/assets/ReportView-pJCFptzp.js +2 -0
  35. package/dist/assets/RuntimeDraftBar-DObTyFu2.js +1 -0
  36. package/dist/assets/SchemaForm-BWSWYMLE.js +3 -0
  37. package/dist/assets/SearchResultsPage-ChVIzFob.js +1 -0
  38. package/dist/assets/{SettingsHub-DP1mrzEN.js → SettingsHub-CPP9FDe8.js} +1 -1
  39. package/dist/assets/{SettingsView-u7mc6pcc.js → SettingsView-CrHAROu9.js} +1 -1
  40. package/dist/assets/{SkeletonDetail-DIwlbHTr.js → SkeletonDetail-CP-35B8x.js} +1 -1
  41. package/dist/assets/{af-DPUgkQl0.js → af-Bhbso4Pg.js} +1 -1
  42. package/dist/assets/ai-BAPiCsNk.js +3 -0
  43. package/dist/assets/app-shell-eager-leaves-D9tgfJOe.js +1 -0
  44. package/dist/assets/{ar-B-6GTIRU.js → ar-DG8TAFtm.js} +1 -1
  45. package/dist/assets/{ar-DZ-wEl298ti.js → ar-DZ-BtSien-d.js} +1 -1
  46. package/dist/assets/{ar-EG-YBT90_S0.js → ar-EG-DpXC0zoY.js} +1 -1
  47. package/dist/assets/{ar-MA-3uT-EYh6.js → ar-MA-D1qVJLyE.js} +1 -1
  48. package/dist/assets/{ar-SA-SiQsjhhc.js → ar-SA-BIYKNgv8.js} +1 -1
  49. package/dist/assets/{ar-TN-CfzXjKzS.js → ar-TN-mUR5Mq3s.js} +1 -1
  50. package/dist/assets/{az-BqAfcNza.js → az-B7IqwHGK.js} +1 -1
  51. package/dist/assets/{be-CQgWXa9_.js → be-CnZyPaSX.js} +1 -1
  52. package/dist/assets/{be-tarask-BmNg0Sir.js → be-tarask--uMMCC7l.js} +1 -1
  53. package/dist/assets/{bg-D3evgRuS.js → bg-CZwuirtY.js} +1 -1
  54. package/dist/assets/{bn-uItkARwm.js → bn-BbOX0r-z.js} +1 -1
  55. package/dist/assets/{bs-DueReOpO.js → bs-B5W75cYR.js} +1 -1
  56. package/dist/assets/{ca-Cr3AHktR.js → ca-Be69LdIM.js} +1 -1
  57. package/dist/assets/{ckb-CTi5BET7.js → ckb-B-nKM1Vn.js} +1 -1
  58. package/dist/assets/{createDerive-CjN1i5vn.js → createDerive-CynsXU-B.js} +1 -1
  59. package/dist/assets/{cs-43mFX9jr.js → cs-qHngxH7l.js} +1 -1
  60. package/dist/assets/{cy-BBSkg3F8.js → cy-DscO2Pgf.js} +1 -1
  61. package/dist/assets/{da-C5oA5qcs.js → da-vibkaLMF.js} +1 -1
  62. package/dist/assets/data-adapter-BDsrq0TX.js +2 -0
  63. package/dist/assets/{de-AT-CApxwJzu.js → de-AT--JneEuBw.js} +1 -1
  64. package/dist/assets/{de-CPtbLlAf.js → de-BCT78XYW.js} +1 -1
  65. package/dist/assets/default-inspector-registry-Dktr6x_q.js +1 -0
  66. package/dist/assets/dist-yh3dYtHt.js +14 -0
  67. package/dist/assets/drillUrlFilters-N0RngQg6.js +1 -0
  68. package/dist/assets/{el-Dto2xBQU.js → el-Cl0y9T2b.js} +1 -1
  69. package/dist/assets/en-AU-By42tTB7.js +1 -0
  70. package/dist/assets/{en-CA-DKuJPN1U.js → en-CA-BqEEoj-Y.js} +1 -1
  71. package/dist/assets/en-GB-Cx8B9nkB.js +1 -0
  72. package/dist/assets/en-IE-CX9nv6uO.js +1 -0
  73. package/dist/assets/en-IN-ByGSBHa4.js +1 -0
  74. package/dist/assets/en-NZ-BPMwa2ZN.js +1 -0
  75. package/dist/assets/en-ZA-lj_N4R6c.js +1 -0
  76. package/dist/assets/{eo-BL8JXIWd.js → eo-oOXROuhF.js} +1 -1
  77. package/dist/assets/{es-BnoaNxsu.js → es-EudscwjH.js} +1 -1
  78. package/dist/assets/{et-tPYLNenO.js → et-CB-5LLh6.js} +1 -1
  79. package/dist/assets/{eu-CUBG6bT0.js → eu-B4-hcseX.js} +1 -1
  80. package/dist/assets/{fa-IR-Rr2d9xSs.js → fa-IR-CogavcMJ.js} +1 -1
  81. package/dist/assets/{fi-B0NVIZsV.js → fi-CIBE0mYa.js} +1 -1
  82. package/dist/assets/{formatLong-1-gt9bpo.js → formatLong-qqgm7lV1.js} +1 -1
  83. package/dist/assets/{fr-CA-CBDvLXFg.js → fr-CA-BugXMutW.js} +1 -1
  84. package/dist/assets/{fr-BbhHek8e.js → fr-CDReXYWW.js} +1 -1
  85. package/dist/assets/{fr-CH-WPNmwPn7.js → fr-CH-fiTiB6X1.js} +1 -1
  86. package/dist/assets/framework-CAuH4h0L.js +35 -0
  87. package/dist/assets/{fy-DvOBbvEF.js → fy-t_GzIAg_.js} +1 -1
  88. package/dist/assets/{gd-BQPiTPX5.js → gd-CSncIxtN.js} +1 -1
  89. package/dist/assets/getIcon-BDkBRQFw.js +1 -0
  90. package/dist/assets/{gl-BJCXK8uO.js → gl-_138Mj2S.js} +1 -1
  91. package/dist/assets/{gu-CctPRz3V.js → gu-COfH-YUT.js} +1 -1
  92. package/dist/assets/{he-CVFMk6p2.js → he-BXL4lOKY.js} +1 -1
  93. package/dist/assets/{hi-Ba30-RwS.js → hi-kXuYI0TJ.js} +1 -1
  94. package/dist/assets/{highlighted-body-OFNGDK62-BQ57IrBV.js → highlighted-body-OFNGDK62-CK7x7Gzm.js} +1 -1
  95. package/dist/assets/{hr-BZUqTbZs.js → hr-DAOsQWzI.js} +1 -1
  96. package/dist/assets/{ht-BLe05tPx.js → ht-Ch8SKz8p.js} +1 -1
  97. package/dist/assets/{hu-2CQ_Mkww.js → hu-q6W_rWPT.js} +1 -1
  98. package/dist/assets/{hy-CclcPG4H.js → hy-0M8OmwnM.js} +1 -1
  99. package/dist/assets/{i18n-BnUsCaSC.js → i18n-DTfZonAM.js} +3 -3
  100. package/dist/assets/i18n-locale-ar-O6rs-Cir.js +4 -0
  101. package/dist/assets/i18n-locale-de-CMc1jk4a.js +4 -0
  102. package/dist/assets/i18n-locale-en-CbRQO81h.js +4 -0
  103. package/dist/assets/i18n-locale-es-t47nyoCX.js +4 -0
  104. package/dist/assets/i18n-locale-fr-E425EqJM.js +4 -0
  105. package/dist/assets/i18n-locale-ja-y_fk77fz.js +4 -0
  106. package/dist/assets/i18n-locale-ko-CdnY2uCg.js +4 -0
  107. package/dist/assets/i18n-locale-pt-BaUOXS6y.js +4 -0
  108. package/dist/assets/i18n-locale-ru-pFlhX9wg.js +4 -0
  109. package/dist/assets/i18n-locale-zh-Dkj4ROTN.js +4 -0
  110. package/dist/assets/i18n-runtime-CdWyaiOD.js +1 -0
  111. package/dist/assets/{id-6JLB8s-f.js → id-BM_H1_jv.js} +1 -1
  112. package/dist/assets/index-ocmkyCt6.js +19 -0
  113. package/dist/assets/index-v2Ijn9Gr.css +2 -0
  114. package/dist/assets/{infrastructure-Cc34lEqb.js → infrastructure-CSnL6ntj.js} +2 -2
  115. package/dist/assets/integration-7NqwVHuJ.js +1 -0
  116. package/dist/assets/{is-to0CWzm1.js → is-B_7jXZfS.js} +1 -1
  117. package/dist/assets/isSameWeek-D90tBsli.js +1 -0
  118. package/dist/assets/{it-ea0B8Ujp.js → it-CBM0J9cD.js} +1 -1
  119. package/dist/assets/{it-CH-DhdfjP5Z.js → it-CH-BQltCNsR.js} +1 -1
  120. package/dist/assets/{ja-B1bzkgDW.js → ja-DBjnsx21.js} +1 -1
  121. package/dist/assets/{ja-Hira-CMrY5hXO.js → ja-Hira-BZfSmj1i.js} +1 -1
  122. package/dist/assets/{ka-DKSXLnXP.js → ka-HwpuKgUY.js} +1 -1
  123. package/dist/assets/{kk-DHwMv8Dn.js → kk-DLKA9paj.js} +1 -1
  124. package/dist/assets/{km-tpLG1xNr.js → km-BU5kermq.js} +1 -1
  125. package/dist/assets/{kn-MLreVnHA.js → kn-BNFqbCoi.js} +1 -1
  126. package/dist/assets/{ko-CI0DBazn.js → ko-D8n4uMqQ.js} +1 -1
  127. package/dist/assets/{lb-CmL572Xe.js → lb-B1empQ7m.js} +1 -1
  128. package/dist/assets/{lt-DRtUOLdw.js → lt-gMukpK3G.js} +1 -1
  129. package/dist/assets/{lv-COSHgkOP.js → lv-D2O5AnsZ.js} +1 -1
  130. package/dist/assets/{match-BQoOW8Cj.js → match-BTF6WqJh.js} +1 -1
  131. package/dist/assets/{match-B-ergJQb.js → match-Cyum2eeW.js} +1 -1
  132. package/dist/assets/{match-dfBS0YSQ.js → match-ScHH8kYk.js} +1 -1
  133. package/dist/assets/mermaid-GHXKKRXX-D4H6EVJQ.js +1 -0
  134. package/dist/assets/metadata-admin-CEhVmXFv.js +9 -0
  135. package/dist/assets/{mk-B0IH_YL_.js → mk-D-Zl0xVN.js} +1 -1
  136. package/dist/assets/{mn-P-QdQ2n3.js → mn-jJbTslgD.js} +1 -1
  137. package/dist/assets/{ms-CtyEOINy.js → ms-CUuJHLA4.js} +1 -1
  138. package/dist/assets/{mt-DfuZ2HRm.js → mt-yIcbfxKY.js} +1 -1
  139. package/dist/assets/{nb-2Hp-5Tnt.js → nb-D9WNypoj.js} +1 -1
  140. package/dist/assets/{nl-BE-mmxbfNoR.js → nl-BE-B1vKiw2h.js} +1 -1
  141. package/dist/assets/{nl-CZ_nLREz.js → nl-DC7b5e90.js} +1 -1
  142. package/dist/assets/{nn-ccWhYsNa.js → nn-uP4yJ9s0.js} +1 -1
  143. package/dist/assets/{oc-z504BFRV.js → oc-DHTqadJI.js} +1 -1
  144. package/dist/assets/{pl-DeQ7ASt-.js → pl-Bxnnizf5.js} +1 -1
  145. package/dist/assets/plugin-calendar-b7C35ANT.js +1 -0
  146. package/dist/assets/plugin-charts-b-yVtmdI.js +7 -0
  147. package/dist/assets/{plugin-chatbot-Ck47EhDX.js → plugin-chatbot-D1KW_oIO.js} +8 -8
  148. package/dist/assets/plugin-dashboard-DTkPoPEb.js +6 -0
  149. package/dist/assets/plugin-form-UIRm-FpQ.js +1 -0
  150. package/dist/assets/plugin-gantt-9dtc8zzX.js +63 -0
  151. package/dist/assets/plugin-grid-Cp4RKtMJ.js +10 -0
  152. package/dist/assets/plugin-kanban-B2JOPZIJ.js +1 -0
  153. package/dist/assets/plugin-map-CBJcVJYk.js +1 -0
  154. package/dist/assets/{plugin-markdown-BOkHcir_.js → plugin-markdown-CNlDzqP-.js} +1 -1
  155. package/dist/assets/plugin-report-IZzgQb-Q.js +59 -0
  156. package/dist/assets/plugin-timeline-DsmtjcJ3.js +1 -0
  157. package/dist/assets/plugin-tree-DTRPBdhe.js +1 -0
  158. package/dist/assets/plugin-view-D9ixsNDG.js +1 -0
  159. package/dist/assets/plugins-views-CnvkdSJK.js +3 -0
  160. package/dist/assets/{pt-BR-D80_lPYF.js → pt-BR-D416seHT.js} +1 -1
  161. package/dist/assets/{pt-CJJ1RmXd.js → pt-DwHBy9_c.js} +1 -1
  162. package/dist/assets/{ro-EuFb2TCj.js → ro-DDf1X3Np.js} +1 -1
  163. package/dist/assets/{ru-CMaVQScp.js → ru-8eM3mcgK.js} +1 -1
  164. package/dist/assets/{runtime-metadata-persistence-ClOTznqa.js → runtime-metadata-persistence-DX29lQ62.js} +1 -1
  165. package/dist/assets/{se-DsfdKLdF.js → se-D4JvQeRX.js} +1 -1
  166. package/dist/assets/{sk-BNV9omI8.js → sk-DvpgttGI.js} +1 -1
  167. package/dist/assets/{sl-DJS_nINU.js → sl-B3gCZ-_a.js} +1 -1
  168. package/dist/assets/{sq-HEgjcbHe.js → sq-CVaTmL0V.js} +1 -1
  169. package/dist/assets/{sr-CO0CFu4X.js → sr-CnH5Ffyz.js} +1 -1
  170. package/dist/assets/{sr-Latn-eE1Idzey.js → sr-Latn-Dw9w61q6.js} +1 -1
  171. package/dist/assets/src-BUry7633.js +2 -0
  172. package/dist/assets/{src-BU7L2v4J.js → src-DMDT5a27.js} +1 -1
  173. package/dist/assets/src-ZxH3AOCu.js +16 -0
  174. package/dist/assets/{studioEntry-WeMfaSGn.js → studioEntry-DAqcBFtr.js} +1 -1
  175. package/dist/assets/{submitRedirect-C2lfZSHt.js → submitRedirect-iy0oOi7I.js} +1 -1
  176. package/dist/assets/{sv-5uTzgQT3.js → sv-CU7wdxyK.js} +1 -1
  177. package/dist/assets/{ta-BzgdkBZG.js → ta-DPH6q0HR.js} +1 -1
  178. package/dist/assets/{te-Ct_pl7ZJ.js → te-BSaThkGV.js} +1 -1
  179. package/dist/assets/{th-DouAlk0-.js → th-NXP8_Qb8.js} +1 -1
  180. package/dist/assets/{tr-3XNBsI40.js → tr-DDXoH663.js} +1 -1
  181. package/dist/assets/types-zod-ChJ30y25.js +1 -0
  182. package/dist/assets/{ug-B9n24h9G.js → ug-Guus6pPe.js} +1 -1
  183. package/dist/assets/ui-components-D8wcRNrt.js +37 -0
  184. package/dist/assets/ui-layout-BYO3rRIl.js +1 -0
  185. package/dist/assets/{uk-DCAenByf.js → uk-uiy4vsp8.js} +1 -1
  186. package/dist/assets/use-book-data-DFTswcKm.js +1 -0
  187. package/dist/assets/{useActionModal-Blp4rhOk.js → useActionModal-h52Z5Pkl.js} +1 -1
  188. package/dist/assets/useCanAuthorMetadata-TDrVrYGB.js +1 -0
  189. package/dist/assets/useDatasetCatalog-BOd0Ybr1.js +1 -0
  190. package/dist/assets/{useNavTargetLabel-BOJncjIb.js → useNavTargetLabel-D8lRdb6O.js} +1 -1
  191. package/dist/assets/useOpenRecordList-C7oqUD3F.js +1 -0
  192. package/dist/assets/{usePackageL10n-Ci9uVkRZ.js → usePackageL10n-Jl2XiF2F.js} +1 -1
  193. package/dist/assets/{useSettingsLabel-CeMnMWsh.js → useSettingsLabel-CSpBDTdy.js} +1 -1
  194. package/dist/assets/{uz-Cyrl-JSeHEqu-.js → uz-Cyrl-Cmb5bvbf.js} +1 -1
  195. package/dist/assets/{uz-DT3s9bZS.js → uz-DJWxoTz4.js} +1 -1
  196. package/dist/assets/vendor-objectstack-C4eD5dbT.js +139 -0
  197. package/dist/assets/{vi-D2p-h6bY.js → vi-Bb3QoIJC.js} +1 -1
  198. package/dist/assets/{zh-CN-DHOKqAit.js → zh-CN-C-Hts1ZR.js} +1 -1
  199. package/dist/assets/{zh-HK-D4iIPY7I.js → zh-HK-CtBAZ_ZS.js} +1 -1
  200. package/dist/assets/{zh-TW-gORQ_tZh.js → zh-TW-B7DDahD-.js} +1 -1
  201. package/dist/chunk-membership.json +28 -26
  202. package/dist/eager-closure.json +107 -101
  203. package/dist/index.html +4 -4
  204. package/dist/sdui.manifest.json +486 -63
  205. package/package.json +1 -1
  206. package/dist/assets/ApprovalsInboxPage-C6S1vk0X.js +0 -1
  207. package/dist/assets/AuditLogPage-v2dKXMuk.js +0 -1
  208. package/dist/assets/BookPage-DwFMcTSN.js +0 -1
  209. package/dist/assets/CreateViewDialog-D3l-tYHM.js +0 -1
  210. package/dist/assets/DocPage-B6AkH5WI.js +0 -1
  211. package/dist/assets/ExpressionProvider-CrL6jhVq.js +0 -1
  212. package/dist/assets/FlowRunsPage-CxdaiUyk.js +0 -1
  213. package/dist/assets/InterfaceListPage-C4wPYohR.js +0 -1
  214. package/dist/assets/MarketplacePackagePage-CfgKDpNH.js +0 -4
  215. package/dist/assets/MarketplacePage-DNEyU5AE.js +0 -1
  216. package/dist/assets/ObjectDataPage-CykEm9MD.js +0 -1
  217. package/dist/assets/PageView-C6u86tni.js +0 -1
  218. package/dist/assets/ProfilePage-C3SjXMzi.js +0 -1
  219. package/dist/assets/RecordDetailView-DgR_zhP4.js +0 -3
  220. package/dist/assets/ReportDefaultInspector-BIinF0EQ.js +0 -1
  221. package/dist/assets/ReportView-BREO-ADE.js +0 -2
  222. package/dist/assets/RuntimeDraftBar-BCWfd2yS.js +0 -1
  223. package/dist/assets/SchemaForm-C4uMMZ13.js +0 -3
  224. package/dist/assets/SearchResultsPage-C6Hw_Lpn.js +0 -1
  225. package/dist/assets/ai-DPBykF2N.js +0 -3
  226. package/dist/assets/app-shell-eager-leaves-Cf2bM6uT.js +0 -1
  227. package/dist/assets/data-adapter-Cymvlczj.js +0 -1
  228. package/dist/assets/default-inspector-registry-Bs6GBn00.js +0 -1
  229. package/dist/assets/dist-BF-ssUpn.js +0 -14
  230. package/dist/assets/drillUrlFilters-hi-2d3DW.js +0 -1
  231. package/dist/assets/en-AU-FVwCiDJO.js +0 -1
  232. package/dist/assets/en-GB-DQ_y5VbJ.js +0 -1
  233. package/dist/assets/en-IE-DaXOhsZW.js +0 -1
  234. package/dist/assets/en-IN-CnRZnAom.js +0 -1
  235. package/dist/assets/en-NZ-CBZLEToK.js +0 -1
  236. package/dist/assets/en-ZA-BE59v0wZ.js +0 -1
  237. package/dist/assets/framework-DFR4HNtj.js +0 -35
  238. package/dist/assets/getIcon-Cfwf-Egt.js +0 -1
  239. package/dist/assets/i18n-locale-ar-92O_xtDZ.js +0 -4
  240. package/dist/assets/i18n-locale-de-T5ic3yH9.js +0 -4
  241. package/dist/assets/i18n-locale-en-rxr7WJYl.js +0 -4
  242. package/dist/assets/i18n-locale-es-D_WOifJ_.js +0 -4
  243. package/dist/assets/i18n-locale-fr-3cvyjMkp.js +0 -4
  244. package/dist/assets/i18n-locale-ja-DXlIkB8I.js +0 -4
  245. package/dist/assets/i18n-locale-ko-DngRpS45.js +0 -4
  246. package/dist/assets/i18n-locale-pt-BkPaFCqZ.js +0 -4
  247. package/dist/assets/i18n-locale-ru-E5wLh-y6.js +0 -4
  248. package/dist/assets/i18n-locale-zh-BL4_Yand.js +0 -4
  249. package/dist/assets/i18n-runtime-97_bDVjP.js +0 -1
  250. package/dist/assets/index-Cadlh4t_.css +0 -2
  251. package/dist/assets/index-D98sa5GF.js +0 -20
  252. package/dist/assets/integration-CeAF4JFT.js +0 -1
  253. package/dist/assets/isSameWeek-DBXaA1Gd.js +0 -1
  254. package/dist/assets/mermaid-GHXKKRXX-Bb17TtNP.js +0 -1
  255. package/dist/assets/metadata-admin-CABUxbJl.js +0 -9
  256. package/dist/assets/plugin-calendar-Cn5HaZU8.js +0 -1
  257. package/dist/assets/plugin-charts-B6RcFWbo.js +0 -7
  258. package/dist/assets/plugin-dashboard-DjEx8e5Y.js +0 -6
  259. package/dist/assets/plugin-form-CLDvL0up.js +0 -1
  260. package/dist/assets/plugin-gantt-CrVrxVdi.js +0 -63
  261. package/dist/assets/plugin-grid-D2rmQEW_.js +0 -11
  262. package/dist/assets/plugin-kanban-BUNHFfIC.js +0 -1
  263. package/dist/assets/plugin-map-y-7RQQC5.js +0 -1
  264. package/dist/assets/plugin-report-mT3jpna0.js +0 -59
  265. package/dist/assets/plugin-timeline-B1EF83D3.js +0 -1
  266. package/dist/assets/plugin-tree-MTHUt3_S.js +0 -1
  267. package/dist/assets/plugin-view-DHJI-ahf.js +0 -1
  268. package/dist/assets/plugins-views-CfkgqD30.js +0 -3
  269. package/dist/assets/src-BUtIBFDA.js +0 -1
  270. package/dist/assets/src-C0eXlKtx.js +0 -16
  271. package/dist/assets/types-zod-DXpXw10W.js +0 -1
  272. package/dist/assets/ui-components-D6cEVg0T.js +0 -37
  273. package/dist/assets/ui-layout-DgVDuPEM.js +0 -1
  274. package/dist/assets/use-book-data-CwRldFxP.js +0 -1
  275. package/dist/assets/useCanAuthorMetadata-BxCMgFRf.js +0 -1
  276. package/dist/assets/useOpenRecordList-BrwJFojQ.js +0 -1
  277. package/dist/assets/vendor-objectstack-DFqu45yM.js +0 -138
package/CHANGELOG.md CHANGED
@@ -1,5 +1,433 @@
1
1
  # @objectstack/console
2
2
 
3
+ ## 17.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8832655: Console (objectui) refreshed to `0abd4f9f8769`. Frontend changes in this range:
8
+
9
+ Derived from the changesets objectui declared over the range — 3 releasing of 5 changesets added across 5 non-merge commits; omitted: 2 release-nothing changesets (they ship no package code).
10
+
11
+ - **minor** — `@object-ui/types` declares each renderer's NODE SLOTS once (`NODE_SLOT_DECLARATIONS`, `nodeSlotsFor`), and `objectui check`, core `validateSchema`, the SDUI parser's `validateTree` and the `kind:'html'` page compile walk those slots as well as `children` (objectui#11170). Its changeset declares `Clause-②: yes (narrowing)`: a node under a slot that was never judged is judged now. (objectui `c4c506b9e`)
12
+ - **minor** — The screen-flow runner names the flow by its label, in the user's language (objectui#11092, the objectui half of objectstack#20318). (objectui `39a3e91fa`)
13
+ - **patch** — The External Datasource panel in Setup and Studio reads the `{ success, data }` envelope its routes answer (objectui#11628). On a federated datasource such as the showcase's `show… (objectui `0abd4f9f8`)
14
+
15
+ No objectui commit in the range carries `!`, and no changeset in it declares `major` or carries the breaking annotation. objectui#11170's narrowing is objectui's own validation reach and changes no ObjectStack-authorable key. The manifest this repository ships is generated without `slotsFor`, so its entries carry no slot list. The release-nothing pair is objectui#11396, which derives `MasterDetailDetailConfig` from the spec's `details` entry by reference, member for member the same, and objectui#11095, a KPI-tile invalidation pin.
16
+
17
+ objectui range: `9dfaca654311...0abd4f9f8769`
18
+ - 100f68b: Console (objectui) refreshed to `2e818d0b51ec`. Frontend changes in this range:
19
+
20
+ Derived from the changesets objectui declared over the range — 17 releasing of 18 changesets added across 22 non-merge commits; omitted: 1 release-nothing changeset, 6 commits carrying no changeset (they ship no package code).
21
+
22
+ - **minor** — `FlexBlockNode`, the TypeScript type of an authored `flex` node, types its bag's child list as nodes: `properties.children` is `SchemaNode | SchemaNode[]`, where it was `unknown[]… (objectui `b10c68e58`)
23
+ - **minor** — The dashboards' metric card node, `plugin-dashboard:metric`, is a declared node type, and both dashboard surfaces hand `SchemaRenderer` declared nodes with no cast (objectui#11466… (objectui `83e3f8377`)
24
+ - **minor** — **BREAKING** — **An `object-metric` node in a dashboard widget's legacy `component` envelope now draws the retired-format prompt instead of its number (objectui#11466).** This follows the mainta… (objectui `83e3f8377`)
25
+ - **minor** — **BREAKING** — A node slot and `SchemaRenderer`'s `schema` prop take the union of the declared node types, `DeclaredNode` (objectui#11466). (objectui `83e3f8377`)
26
+ - **minor** — `safeValidateSchema`, and so `objectui validate`, accepts `record:line_items`, the last ADR-0080 public block it refused at `type` (objectui#10872). `@objectstack/spec` 17.6.0 car… (objectui `8d0ca9183`)
27
+ - **minor** — `ObjectKanbanSchema.grouping` is declared on both faces, as `@objectstack/spec`'s `GroupingConfig`, by reference (objectui#11216). (objectui `a7557a7d4`)
28
+ - **patch** — The dashboard surfaces read every `widgets[]` entry without leaning on `BaseSchema`'s index signature: a widget key is read on the widget arm alone, and the `chart` node is built… (objectui `2e818d0b5`)
29
+ - **patch** — A refused save, pin, reorder, view setting, report save, publish or discard in the console is now said to the user, and the view-config panel no longer reports a refused save as s… (objectui `e8c0b9614`)
30
+ - **patch** — The `object-grid` summary footer reads `currency`, `defaultCurrency`, `precision` and `scale` from the object field only. A column that carries one of these keys no longer changes… (objectui `d768c3178`)
31
+ - **patch** — fix(types): `AnyComponentSchema`'s declaration prints every category union by name, so `@object-ui/types` no longer sits at the edge of TypeScript's serialization ceiling (objectu… (objectui `bdc9049ed`)
32
+ - **patch** — "Save as view" now saves a Kanban view the platform accepts, and both Create View doors save the same view from the same dialog choices (objectui#11581). (objectui `b65aa5e65`)
33
+ - **patch** — The console and runner stylesheets compile only from their declared `@source` lines. Tailwind's automatic source detection is now off (`source(none)`), as it already was for `@obj… (objectui `5a2ca6b12`)
34
+ - **patch** — A refused view save is now said to the user, and the Create View dialog no longer closes as if the view were saved (objectui#11578). (objectui `f1c937966`)
35
+ - **patch** — The console's Create View dialog now creates chart views the platform accepts (objectui#11576). (objectui `d0097af2e`)
36
+ - **patch** — fix(plugin-grid): switching a server-grouped grid's grouping field shows exactly the new field's groups (objectui `2f54dca53`)
37
+ - **patch** — fix(app-shell): an interface page relays its source view's `tree` and `chart` blocks, and its own `allowPrinting` (objectui#11572) (objectui `09036173c`)
38
+ - **patch** — A stored list view now renders the same on an interface page and on the object page when it carries a legacy `options` bag (objectui#10380). (objectui `068564691`)
39
+
40
+ ⚠️ 2 of these carry a breaking change: 2 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
41
+
42
+ **In this console build, declared nowhere** — objectui merged 6 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
43
+
44
+ - _(no changeset)_ fix(release): the publish lane pushes the version's git tags and creates its GitHub Releases itself — changesets/action@v1 finds no `New tag:` line under CLI v3 (objectui#11596) (… (objectui `973fc20f3`)
45
+ - _(no changeset)_ docs(skills): `schema-expressions.md` states `{ condition, style }` as the only authorable conditional-formatting rule on every list carrier (objectui#11534) (#11595) (objectui `94985a92b`)
46
+ - _(no changeset)_ chore: release packages (#5400) (objectui `b493919c7`)
47
+ - _(no changeset)_ docs(plugin-detail): the reference-rail README says `entries` go in the `properties` bag, and that the validator refuses a flat one (objectui#10872) (#11584) (objectui `7a7660c65`)
48
+ - _(no changeset)_ docs(skills): the page-builder guide's object-form example names its fields; a per-form override goes on a section entry (objectui#11550) (#11561) (objectui `0a53c67f9`)
49
+ - _(no changeset)_ docs(skills): type three marked fences' schema as SchemaRendererProps['schema'] (objectui#11543) (#11558) (objectui `5cde2c6fe`)
50
+
51
+ <!-- adr-0087: not-required (no-migration-prescription)
52
+ This diff moves `.objectui-sha` and the artefacts that travel with it: this console
53
+ changeset, `scripts/sdui-manifest.record.json` (the regenerated `sdui.manifest.json` is
54
+ byte-identical: 107 components, sha256 `0ead67c1111d…` at both pins), the re-recorded
55
+ `packages/sdui-parser/objectui-lockstep.json` and the re-measured pin citations in
56
+ `packages/spec/src`, which carry their own `@objectstack/spec` patch changeset. It adds,
57
+ removes or renames no ObjectStack-authorable key: no Zod schema, no spec declaration and
58
+ no stored `sys_metadata` shape moves in it, so `objectstack migrate meta` has nothing here
59
+ to rewrite, and this body carries no FROM/TO prescription of its own.
60
+ The 2 declared-breaking entries listed above are both objectui#11466 (`83e3f8377`, the
61
+ range's one `!` commit, measured with `git log ab1879721595..2e818d0b51ec`) and both are
62
+ objectui's OWN package surfaces, each already carrying its upstream record: (1) a node
63
+ slot and `SchemaRenderer`'s `schema` prop take objectui's `DeclaredNode` union, a
64
+ TypeScript type of `@object-ui/types` / `@object-ui/react` that no ObjectStack schema
65
+ declares or references; (2) an `object-metric` node inside a dashboard widget's legacy
66
+ `component` envelope draws objectui's retired-format prompt instead of its number. That
67
+ envelope is not ObjectStack-authorable: `ui/dashboard.zod.ts` refuses a widget's
68
+ `component` key by name as an objectui-internal renderer capability, so no stored
69
+ ObjectStack dashboard can carry the form being retired, and no example in this repo
70
+ authors one (the showcase's `object-metric` tiles are page blocks, which this entry
71
+ leaves drawing). Where an entry mirrors an ObjectStack key, the ledger entry belongs to
72
+ the `packages/spec` PR that lands the retirement, never to the pin bump.
73
+ Scope of the claim, stated rather than implied: it is a claim about THIS diff, not a
74
+ per-entry re-measurement of the 2 upstream declared-breaking entries.
75
+ -->
76
+
77
+ objectui range: `ab1879721595...2e818d0b51ec`
78
+ - 8963dbf: Console (objectui) refreshed to `89cad75d5570`. Frontend changes in this range:
79
+
80
+ Derived from the changesets objectui declared over the range — 74 releasing of 88 changesets added across 64 non-merge commits; omitted: 14 release-nothing changesets, 6 commits carrying no changeset (they ship no package code).
81
+
82
+ - **minor** — **BREAKING** — chore(console)!: drop the lazy `tree` registration stub (objectui#10859, batch 8) (objectui `990a2d616`)
83
+ - **minor** — **BREAKING** — chore(cli)!: the generated known-types list drops the thirty node type keys objectui#10859 batch 8 retired (objectui `990a2d616`)
84
+ - **minor** — **BREAKING** — chore(core)!: the record-source `data` arm table drops `tree` and `view:tree` (objectui#10859, batch 8) (objectui `990a2d616`)
85
+ - **minor** — **BREAKING** — refactor(fields)!: the 28 field widgets that still registered a bare node-type fallback register `field:<type>` only (objectui#10859, batch 8) (objectui `990a2d616`)
86
+ - **minor** — **BREAKING** — refactor(plugin-tree)!: retire the bare `tree` node type key; `object-tree` is the one spelling (objectui#10859, batch 8) (objectui `990a2d616`)
87
+ - **minor** — **BREAKING** — refactor(plugin-view)!: retire the bare `view` node type key; `object-view` is the one spelling (objectui#10859, batch 8) (objectui `990a2d616`)
88
+ - **minor** — Three more reader sites stop riding `BaseSchema`'s index signature (objectui#11355 round 2, part of the preparation for objectui#8347's removal of that signature). None changes ru… (objectui `31987bd50`)
89
+ - **minor** — **BREAKING** — feat(types): the six `@object-ui/plugin-designer` node types validate; `ProcessDesignerSchema.variables` and `ReportDesignerSchema.parameters` leave the TypeScript face (objectui#… (objectui `063832222`)
90
+ - **minor** — **BREAKING** — BREAKING (`@object-ui/core`): `mergeAuthoredPresentation` and `axisPresentation` are no longer exported (objectui#11372). (objectui `f9c8c4e45`)
91
+ - **minor** — **BREAKING** — A `page` node refuses `maxWidth` and `padding` by name, and the layout guide teaches the controls that work: `pageType` for the page's width, a `container` for a narrower column o… (objectui `a1a44d621`)
92
+ - **minor** — `object-timeline` and `view:timeline` publish the ten `@objectstack/spec` 17.5.0 row keys their renderer honours, and `objectName` is no longer required (objectui#11168 slice 5, u… (objectui `6cd5ae3ea`)
93
+ - **minor** — The console build now writes `dist/sdui.manifest.json`, the SDUI component manifest of the Console it built (objectui#11403). (objectui `f88a900e7`)
94
+ - **minor** — A bind-only `list` is accepted: `ListSchema.items` is optional on both faces, and the zod face requires at least one of `bind` / `items` (objectui#11405). (objectui `9547063da`)
95
+ - **minor** — **BREAKING** — feat(core): the `flex()` builder emits its props in the `properties` bag (objectui#11276) (objectui `138ad4554`)
96
+ - **minor** — **BREAKING** — feat(types): an authored `flex` takes its props in the spec's `properties` bag; the flat spelling is refused by name (objectui#11276) (objectui `138ad4554`)
97
+ - **minor** — **BREAKING** — feat(types): an authored `object-grid` takes its props in the spec's `properties` bag; the flat spelling is refused by name (objectui#11276) (objectui `6aa029b63`)
98
+ - **minor** — **BREAKING** — objectui's app document refuses `mobileNavMode` by name, the answer the platform already gives (objectui#11363). (objectui `e100589f3`)
99
+ - **minor** — fix: the widget width / height editors write a whole four-number `layout` (objectui#11388) (objectui `6e9c8d27e`)
100
+ - **minor** — **BREAKING** — A gate that is declared but cannot be evaluated is a fault, not "no gate" (objectui#11358) (objectui `063119f2b`)
101
+ - **minor** — A public block's prop written directly on the node, instead of inside its `properties` bag, is refused by name on both faces, with a message naming `properties.KEY` (objectui#1087… (objectui `b5696d344`)
102
+ - **minor** — Five label positions that `@objectstack/spec` types as `I18nLabel` now accept the per-locale map in `@object-ui/types` too, where they were typed `string` (objectui#10993, batch 4… (objectui `b4075c088`)
103
+ - **minor** — feat(plugin-gantt): `object-gantt` publishes the eleven `@objectstack/spec` row keys its renderer honours (objectui#11168 slice 4) (objectui `8673402a3`)
104
+ - **minor** — The strict authoring face accepts the `layout` that the editable dashboard grid's Save Layout writes onto a `metric-card` in a dashboard's widget slot (objectui#11070, round 11).… (objectui `0a78a20c8`)
105
+ - **minor** — The spec's page blocks, the `element:text_input` / `element:record_picker` rows and a stored page document under its page kind have a TypeScript authoring type, and `SchemaRendere… (objectui `304f61137`)
106
+ - **minor** — Small reader sites stop riding `BaseSchema`'s index signature (objectui#11355, part of the preparation for objectui#8347's removal of that signature). Each key was measured on its… (objectui `3c3ce15a7`)
107
+ - **minor** — Declare `pageSize` on `ObjectDataTableSchema`, on both faces (objectui#11348). (objectui `6c3da53ae`)
108
+ - **minor** — A form field of `type: 'grid'` declares the grid widget's field-level keys (objectui#11070, round 10). (objectui `edfcf5a5e`)
109
+ - **minor** — The grid field's `sort_field` is declared, and a master-detail detail's sort field is derived only (objectui#11070, round 9). (objectui `0a3e5409f`)
110
+ - **minor** — `formatMetadataError` and `formatMetadataIssue` are exported from `@object-ui/data-objectstack`: the one reader of a failed metadata save (objectui#11302). (objectui `d89329033`)
111
+ - **minor** — `object-map` publishes the three keys its `@objectstack/spec` 17.5.0 row declares and its registration left out: `mapStyle`, `navigation` and `enableClustering` (objectui#11168 sl… (objectui `20d23befe`)
112
+ - **minor** — `object-tree` publishes the keys its `@objectstack/spec` 17.5.0 row declares and its renderer honours (objectui#11168 slice 3, objectui#11111 decision 3 = B). Each key was measure… (objectui `20d23befe`)
113
+ - **minor** — `ObjectTreeSchema` mirrors the `object-tree` row of `@objectstack/spec` 17.5.0 (objectui#11168 slice 3). The change applies to both faces, TypeScript and zod. (objectui `20d23befe`)
114
+ - **minor** — `UIActionSchema.size` takes the `action:button` row's vocabulary by reference (objectui#11168 slice 3). Before this, the type was `'sm' | 'md' | 'lg'`. That made `size: 'default'`… (objectui `20d23befe`)
115
+ - **minor** — Eight renderers stop riding `BaseSchema`'s index signature for node keys their types did not declare (objectui#11347, the `@object-ui/components` preparation for objectui#8347's r… (objectui `c82ff391f`)
116
+ - **minor** — **BREAKING (rendering):** a dataset-bound dashboard widget no longer reads `chartConfig.series`, `chartConfig.xAxis` or `chartConfig.yAxis` (objectui#11315). (objectui `1a88ce22f`)
117
+ - **minor** — **BREAKING (authoring, TypeScript only):** on a dashboard widget, `chartConfig.type`, `chartConfig.xAxis`, `chartConfig.yAxis` and `chartConfig.series` are now compile errors, the… (objectui `1a88ce22f`)
118
+ - **minor** — The grid field reads each field-level key under the one spelling `GridFieldMetadata` declares (objectui#11070, round 8). (objectui `55a12a8e1`)
119
+ - **minor** — A region-tagged language code reaches the built-in catalogue of its base language (objectui#11326) (objectui `d0fba91aa`)
120
+ - **minor** — The grid field's `columns` is `@objectstack/spec`'s inline grid column list, by reference, and `object-chart` declares the per-element `dataSource` binding like the other gate-wra… (objectui `75dcc81c3`)
121
+ - **minor** — A custom page publishes the console's record navigator to the blocks placed on it (objectui#11293). (objectui `2124d0411`)
122
+ - **minor** — A standalone `object-calendar` honours `navigation: { mode: 'page' }`, and a `navigation` block written without `mode`, by opening the record page (objectui#11293). (objectui `2124d0411`)
123
+ - **minor** — A standalone `object-kanban` honours `navigation: { mode: 'page' }`, and a `navigation` block written without `mode`, by opening the record page (objectui#11293). (objectui `2124d0411`)
124
+ - **minor** — `useNavigationOverlay` hands an authored `page` click with no `onNavigate` to the record navigator the host publishes (objectui#11293). (objectui `2124d0411`)
125
+ - **patch** — fix(fields): a read-only number field shows its value the way its table cell does (objectui#11431) (objectui `52c95a166`)
126
+ - **patch** — fix(i18n): every count plural family carries every plural form its language uses (objectui#11432) (objectui `55d18c649`)
127
+ - **patch** — fix(plugin-dashboard): a dimensioned `pie` / `donut` / `funnel` / `treemap` / `sankey` widget with several measures now says which measures it drops (objectui#11417) (objectui `175df47ef`)
128
+ - **patch** — `AiUsageIndicator` renders the reset line for the rolling 5-hour pace window, `resetKind: 'fiveHour'` (objectui#11415, consumer of cloud#2059 / cloud#2574). (objectui `c681b9ff2`)
129
+ - **patch** — The `object-calendar` / `calendar` `navigation` input description said `openNewTab: true` "outranks the mode". That does not hold for `none`: `useNavigationOverlay` checks `mode =… (objectui `6cd5ae3ea`)
130
+ - **patch** — The `object-kanban` `navigation` input description said `openNewTab: true` "outranks the mode". That does not hold for `none`: `useNavigationOverlay` checks `mode === 'none'` befo… (objectui `6cd5ae3ea`)
131
+ - **patch** — fix(plugin-dashboard): a dimensionless `column` / `horizontal-bar` draws every measure; the dropped-measure warning speaks whenever the widget's own branch leaves a declared measu… (objectui `db0e9d3a0`)
132
+ - **patch** — fix(plugin-designer): the dashboard editor's type picker no longer turns a multi-measure widget into a type the widget door refuses (objectui#8894) (objectui `db0e9d3a0`)
133
+ - **patch** — A host feed slot written on a `record:activity` or `record:history` node is refused by name: `items` and `entries`, and the `loading` flag paired with each (objectui#11321). (objectui `e0a9c6760`)
134
+ - **patch** — fix(plugin-gantt): a number row in the gantt tooltip shows the field's declared decimals, and none when it declares none (objectui `c1763e50c`)
135
+ - **patch** — fix(fields): the number cell ignores a malformed `scale` instead of flooring it or crashing (objectui `c1763e50c`)
136
+ - **patch** — The dataset designer no longer writes `field: ''` for a row whose Field box is blank (objectui#11402). (objectui `0858267e4`)
137
+ - **patch** — fix(layout): the mobile tab bar draws its tabs in the sidebar's order, and shows an entry's badge (objectui `7728c67c8`)
138
+ - **patch** — docs(plugin-grid): authored `object-grid` examples write their props in the `properties` bag (objectui#11276) (objectui `6aa029b63`)
139
+ - **patch** — fix(app-shell): a refused metadata save shows the server's message and field path on every transport (objectui `d59f11c0d`)
140
+ - **patch** — fix(layout): the mobile tab bar draws only the entries its sidebar draws (objectui `5ad9f5dc8`)
141
+ - **patch** — fix(app-shell): a published html page that gains a plugin component can be published again from the Studio (objectui `3ae919307`)
142
+ - **patch** — fix(app-shell): a datasource created as External or Validate only, or switched to either from Managed, now saves without a credential (objectui#11368) (objectui `8001068b9`)
143
+ - **patch** — The Studio surfaces import `formatMetadataError` from `@object-ui/data-objectstack`, where the reader now lives (objectui#11302). What they show is unchanged; the publish-failure… (objectui `d89329033`)
144
+ - **patch** — `MetadataFieldsPage` shows the per-field prescription when the spec refuses a save, not only the refusal headline (objectui#11302). (objectui `d89329033`)
145
+ - **patch** — `object-map` reads `mapStyle` before `map.style`, as `@objectstack/spec`'s `object-map` row says in `mapStyle`'s own description ("Read before `map.style`"). This is objectui#1116… (objectui `20d23befe`)
146
+ - **patch** — The page-block inspector labelled the `object-form` `columns` field "Columns (grid layout)" in English and 「列数(网格布局)」 in Chinese. That pointed at the `grid` form layout, which obj… (objectui `20d23befe`)
147
+ - **patch** — The `object-timeline` / `view:timeline` `navigation` input description had three wording errors, and all three are corrected (objectui#11168 slice 3, from the contract record on o… (objectui `20d23befe`)
148
+ - **patch** — The README's "View tabs" section listed `form.layout` as `vertical | horizontal | inline | grid`. It now lists `vertical | horizontal`, the two values the form layout keeps after… (objectui `20d23befe`)
149
+ - **patch** — fix(plugin-gantt): a percent row in the gantt tooltip shows the field's declared decimals (objectui `b149617e6`)
150
+ - **patch** — fix(plugin-dashboard): the `object-metric` tile shows a percent or number aggregate at the field's declared width (objectui `b149617e6`)
151
+ - **patch** — fix(plugin-grid): the mobile card's percent value shows the field's declared decimals (objectui `b149617e6`)
152
+ - **patch** — fix(layout): the mobile tab bar opens the same page as the sidebar (objectui#11211) (objectui `c18a0754b`)
153
+ - **patch** — A bulk action whose `visible` is blank now shows on the grid's selection bar and runs over every selected record, as it already does on the row menu and the toolbars of the same g… (objectui `5638529e6`)
154
+ - **patch** — Docblock only: `BulkActionDef.visible` now says what the grid's selection bar does with an `ast`-only envelope (objectui#11322). (objectui `5638529e6`)
155
+ - **patch** — Docblock only, no behavior change: `partitionRowsByPredicate` now names its callers and says who decides "is a gate declared?" (objectui#11322). (objectui `5638529e6`)
156
+
157
+ ⚠️ 16 of these carry a breaking change: 16 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
158
+
159
+ **In this console build, declared nowhere** — objectui merged 6 commits in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared them, so they appear in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
160
+
161
+ - _(no changeset)_ docs(fields): the number page and catalog teach `scale` for the decimal width (objectui#11413) (#11429) (objectui `01f99e31e`)
162
+ - _(no changeset)_ docs(fields): the percent page and catalog teach `scale` for the decimal width (objectui#11255) (#11411) (objectui `549aaa831`)
163
+ - _(no changeset)_ docs(skills): the page-builder guide authors object-grid and object-gantt in the properties bag (objectui#10859; objectui#11276 rider) (#11404) (objectui `64c173d70`)
164
+ - _(no changeset)_ docs(skills): the mobile guide teaches mobileNavMode where it is read, not on the app schema (objectui#11363) (#11397) (objectui `abca9867e`)
165
+ - _(no changeset)_ fix(site): move next 16.3.3 to 16.3.6 for GHSA-vcvr-r3jv-pc5j (critical) (#11361) (objectui `ad58cc159`)
166
+ - _(no changeset)_ docs(guide): slotted-pages header example keeps only PageHeaderProps keys; pin it (objectui#11165) (#11339) (objectui `743181a48`)
167
+
168
+ <!-- adr-0087: not-required (no-migration-prescription)
169
+ This diff moves `.objectui-sha` and the artefacts that travel with it: this console
170
+ changeset, `sdui.manifest.json` + `scripts/sdui-manifest.record.json`, the re-recorded
171
+ `packages/sdui-parser/objectui-lockstep.json` and the re-measured pin citations in
172
+ `packages/spec/src`, which carry their own `@objectstack/spec` patch changeset. It adds,
173
+ removes or renames no ObjectStack-authorable key: no Zod schema, no spec declaration and
174
+ no stored `sys_metadata` shape moves in it, so `objectstack migrate meta` has nothing here
175
+ to rewrite, and this body carries no FROM/TO prescription of its own.
176
+ The 16 declared-breaking entries listed above are objectui's OWN package surfaces, each
177
+ already carrying its upstream record: `990a2d616` (six entries: objectui retires its bare
178
+ `tree` / `view` node-type keys, the lazy `tree` stub, the bare field-widget fallbacks and
179
+ the matching known-types and record-source rows), `063832222` (objectui's
180
+ `@object-ui/plugin-designer` TypeScript face), `f9c8c4e45` (two `@object-ui/core` exports),
181
+ `063119f2b` (objectui's gate evaluator), `138ad4554` and `6aa029b63` (objectui's validator
182
+ for `flex` and `object-grid` refuses the flat spelling and reads the `properties` bag, the
183
+ shape `@objectstack/spec`'s `ComponentPropsMap` rows already declare), `a1a44d621`
184
+ (objectui's `page` node refuses `maxWidth` / `padding`, which no ObjectStack page shape
185
+ declares), `e100589f3` (objectui's app document refuses `mobileNavMode`, which the
186
+ ObjectStack app shape already does not declare), and `1a88ce22f` (two entries: a dashboard
187
+ widget's `chartConfig.type` / `xAxis` / `yAxis` / `series`, which mirror ObjectStack keys
188
+ already retired and tombstoned on this side in `ui/dashboard.zod.ts`). Where an entry
189
+ mirrors an ObjectStack key, the ledger entry belongs to the `packages/spec` PR that lands
190
+ the retirement, never to the pin bump.
191
+ Scope of the claim, stated rather than implied: it is a claim about THIS diff, not a
192
+ per-entry re-measurement of the 16 upstream declared-breaking entries.
193
+ -->
194
+
195
+ objectui range: `31971ff1e28f...89cad75d5570`
196
+ - 1354e7b: Console (objectui) refreshed to `9dfaca654311`. Frontend changes in this range:
197
+
198
+ Derived from the changesets objectui declared over the range — 24 releasing of 24 changesets added across 17 non-merge commits.
199
+
200
+ - **minor** — **BREAKING** — The default (`simple`) `object-form` draws a self-describing inline section entry, as the `tabbed`, `wizard`, `split`, `drawer` and `modal` forms already did (objectui#11615). Bef… (objectui `9dfaca654`)
201
+ - **minor** — The `record:related_list` registration no longer declares `columns` required, so the page compile accepts a related list that lists no columns of its own (objectui#11613). (objectui `4c127cdef`)
202
+ - **minor** — The record page header draws the record's picture beside its title, from the field the object names in its object-level `imageField` (`@objectstack/spec` 17.6.0, objectstack#21182… (objectui `c096f0327`)
203
+ - **minor** — **BREAKING** — A form view's `subforms[].columns` entry is judged by `@objectstack/spec`'s `InlineGridColumnSchema` now, by reference, so `objectui validate` and `os validate` give one verdict o… (objectui `9db9ff3f9`)
204
+ - **minor** — **BREAKING — `PartialSchema<T>` is RETIRED from `@object-ui/types`** (objectui#11608, enforce-or-remove). The utility type leaves the `.` entry, the one entry that published it, w… (objectui `8b14aecbd`)
205
+ - **minor** — **BREAKING** — The `grid` field's eight field-level keys are camelCase now, and their snake_case spellings are retired and refused by name on every face (objectui#11610). (objectui `2abec3a96`)
206
+ - **minor** — **`BaseSchema` no longer declares `[key: string]: any`** (objectui#8347, executing the objectui#7927 ruling: the TypeScript face is a contract). Every node type extends `BaseSchem… (objectui `b403bb36f`)
207
+ - **minor** — All ten locale packs gain `view.noObject`, the hint an object-bound block shows when its node names its object in neither place (objectui#11605). (objectui `fd060f076`)
208
+ - **minor** — The `object-chart` and `view:chart` registrations no longer declare `objectName` required, so the page compile accepts a node whose `dataSource` binding names the object, and a ch… (objectui `fd060f076`)
209
+ - **minor** — The `object-metric` and `object-pivot` registrations no longer declare `objectName` required, so the page compile accepts a node whose `dataSource` binding names the object, and a… (objectui `fd060f076`)
210
+ - **minor** — The `object-form`, `view:form`, `embeddable-form` and `object-master-detail-form` registrations no longer declare `objectName` required, so the page compile accepts a node whose `… (objectui `fd060f076`)
211
+ - **minor** — The `object-grid` and `view:grid` registrations no longer declare `objectName` required, so the page compile accepts a node whose `dataSource` binding names the object (objectui#1… (objectui `fd060f076`)
212
+ - **minor** — The `object-kanban` registration no longer declares `objectName` required, so the page compile accepts a board whose `dataSource` binding names the object, and a board that names… (objectui `fd060f076`)
213
+ - **minor** — The `list-view` and `view:list` registrations no longer declare `objectName` required, so the page compile accepts a node whose `dataSource` binding names the object, and a list t… (objectui `fd060f076`)
214
+ - **minor** — `ElementDataSourceGate` takes a `requiresObject` prop: when a placement opts in and its node names its object in neither place, the gate renders a short "no object named" hint ins… (objectui `fd060f076`)
215
+ - **minor** — A Studio form field that declares the `ref:dataset` widget now renders a dataset picker instead of the JSON editor fallback (objectui#11601). (objectui `b508ac50d`)
216
+ - **minor** — The console asks `GET /api/v1/usage/storage` only when the runtime serves it (objectui#11002). On a self-hosted or open-source runtime, an environment admin's console used to requ… (objectui `d2e859936`)
217
+ - **minor** — The `record:line_items` registration no longer declares `childObject` required, so the page compile accepts a node whose `dataSource` binding names the child object (objectui#1156… (objectui `902ebab63`)
218
+ - **patch** — `deriveColumns`, the default columns of a master-detail inline grid whose author listed none, now takes which columns it draws, their order and which of them are `defaultHidden` f… (objectui `15f67025b`)
219
+ - **patch** — An object page's view tab, and the breadcrumb that names the open view, draw the label of a view the object document embeds as the server served it (objectui#11336). (objectui `6e9090c26`)
220
+ - **patch** — The docs portal's book sidebar now shows what the book resolver answers, with nothing narrowing the docs in front of it (objectui#11340, ADR-0046 §6.4). The resolver decides book… (objectui `7c9a6b194`)
221
+ - **patch** — Studio's "Organization flows" page no longer says its drafts publish atomically, and a deep link to a flow that is not on the page no longer says no metadata designers are registe… (objectui `b92329c89`)
222
+ - **patch** — On a read-only package, a click on a flow canvas node in Studio Automations selects the node and opens its inspector read-only again (objectui#11546). (objectui `278d2444e`)
223
+ - **patch** — fix(plugin-detail): `record:details` read mode shows a `textarea` value with its line breaks (objectui#11577) (objectui `b61c116b2`)
224
+
225
+ ⚠️ 4 of these carry a breaking change: 4 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
226
+
227
+ <!-- adr-0087: not-required (no-migration-prescription)
228
+ This diff moves `.objectui-sha` and the artefacts that travel with it: this console
229
+ changeset, the regenerated `sdui.manifest.json` and its record
230
+ `scripts/sdui-manifest.record.json`, the re-recorded
231
+ `packages/sdui-parser/objectui-lockstep.json` (objectui's `packages/sdui-parser/src` is
232
+ byte-identical across the range) and the re-measured pin citations in `packages/spec/src`,
233
+ which carry their own `@objectstack/spec` patch changeset. It adds, removes or renames no
234
+ ObjectStack-authorable key: no Zod schema, no spec declaration and no stored
235
+ `sys_metadata` shape moves in it, so `objectstack migrate meta` has nothing here to
236
+ rewrite, and this body carries no FROM/TO prescription of its own.
237
+ The range carries five declared-breaking objectui changes: four changesets carry the
238
+ author's breaking annotation, and a fifth commit's subject carries `!` (objectui#8347,
239
+ `b403bb36f`, whose changeset states `Clause-②: yes (narrowing)` without the word). Each
240
+ is objectui's own package surface, with its upstream record, and each is answered here:
241
+ (1) objectui#11615 (`9dfaca654`): `ObjectFormSection.fields` gains the spec's
242
+ `FormFieldInput` arm, which breaks TypeScript readers of that objectui type; no code in
243
+ this repository imports `@object-ui/types`. The default `simple` form now draws a
244
+ self-describing inline section entry, as the other five form types already did; no
245
+ example in this repository authors a `simple` `object-form` with an inline section
246
+ entry, and no authored document has to change.
247
+ (2) objectui#11266 (`9db9ff3f9`): objectui's zod and TypeScript faces judge a form
248
+ view's `subforms[].columns` entry by `@objectstack/spec`'s own `InlineGridColumnSchema`,
249
+ the closed shape this repository has enforced since objectstack#20927, so objectui's
250
+ validator now gives the verdict `os validate` already gave; the ObjectStack accept set
251
+ does not move.
252
+ (3) objectui#11608 (`8b14aecbd`): `PartialSchema` leaves `@object-ui/types`; nothing in
253
+ this repository names it.
254
+ (4) objectui#11610 (`2abec3a96`, objectui#11614): the `grid` widget's eight field-level
255
+ keys are camelCase, and the snake_case spellings are refused by name. The ObjectStack
256
+ runtime form field (`buildObjectFormRuntimeField`, `ui/component.zod.ts`) already refuses
257
+ the snake_case spellings by name, with guidance naming objectui#11610, so no document
258
+ this contract admits carries them. The camelCase spellings are not declared there yet:
259
+ until objectstack#21768 declares them, an ObjectStack-authored `grid` field takes its
260
+ `columns` and the widget's own defaults. That declaration widens a closed field and
261
+ carries its own record.
262
+ (5) objectui#8347 (`b403bb36f`): `BaseSchema` loses its index signature, a TypeScript
263
+ narrowing of objectui's node types; no code in this repository compiles against them,
264
+ and objectui's zod faces keep their accept sets for every key but `visibleWhen`, which
265
+ widens on both to the `{ dialect, source }` envelope this repository's own parse writes.
266
+ Where an entry mirrors an ObjectStack key, the ledger entry belongs to the
267
+ `packages/spec` PR that lands it, never to the pin bump.
268
+ Scope of the claim, stated rather than implied: it is a claim about THIS diff, not a
269
+ per-entry re-measurement of the upstream declared-breaking entries.
270
+ -->
271
+
272
+ objectui range: `2e818d0b51ec...9dfaca654311`
273
+ - 1cbe165: Console (objectui) refreshed to `ab1879721595`. Frontend changes in this range:
274
+
275
+ Derived from the changesets objectui declared over the range — 111 releasing of 119 changesets added across 65 non-merge commits; omitted: 8 release-nothing changesets, 1 commit carrying no changeset (they ship no package code).
276
+
277
+ - **minor** — Studio reaches the organization's own flows that belong to no package (objectui#11553). (objectui `f624f278d`)
278
+ - **minor** — `record:line_items` now publishes every key of its `@objectstack/spec` 17.6.0 row (objectui#11536). Each key was decided by measuring it through `SchemaRenderer` and the block's r… (objectui `072b7e843`)
279
+ - **minor** — The import wizard's "Download template" button now downloads the server's import template, an Excel workbook, instead of building a CSV of every field (objectui#9600). (objectui `b253c4e28`)
280
+ - **minor** — The Studio dataset filter builder writes "Is empty" / "Is not empty" as the spec's `{ FIELD: { $empty: true } }` / `{ FIELD: { $empty: false } }` instead of `$exists` (objectui#10… (objectui `d0c0c7fe9`)
281
+ - **minor** — `FilterConditionField` writes "Is empty" / "Is not empty" as the spec's one 「is empty」 operator, `{ FIELD: { $empty: true } }` / `{ FIELD: { $empty: false } }` (objectui#10813). (objectui `d0c0c7fe9`)
282
+ - **minor** — The list view's live query sends "Is empty" / "Is not empty" as the spec's `isempty` / `isnotempty` instead of an equality to `null` (objectui#10813). `@objectstack/spec` 17.6.0 a… (objectui `d0c0c7fe9`)
283
+ - **minor** — An `object-grid` honours `keyboardNavigation`: arrow-key cell navigation on the WAI-ARIA grid pattern (objectui#11068). `@objectstack/spec` 17.6.0 declares the key on its `object-… (objectui `154075ab1`)
284
+ - **minor** — The action success toast is composed from the action's `outcomeMessages`, then its `successMessage`, then the runner's default text. A `message` in the server's answer is no longe… (objectui `c476be0e0`)
285
+ - **minor** — The drill `filter[...]` URL dialect can spell "is empty" (objectui#11547). (objectui `7121221fa`)
286
+ - **minor** — `ValueDataSource` executes the empty pair `is_empty` / `is_not_empty` and the `$empty` operator, and `convertFiltersToAST` lowers `$empty` (objectui#11094). (objectui `6158e4c93`)
287
+ - **minor** — An `object-grid` publishes `description` and `emptyState` now that `@objectstack/spec` 17.6.0 declares them on its `object-grid` row, and `emptyState.title` / `.message` take an i… (objectui `6158e4c93`)
288
+ - **minor** — **BREAKING for authors of `object-grid` and `list-view` row rules, released as `minor`.** `conditionalFormatting` on `ObjectGridSchema` (and so on the `object-view` `table` slot b… (objectui `6f5719e1c`)
289
+ - **minor** — **BREAKING** — **A dashboard metric widget bound inline to an object now shows the retired-format prompt instead of its number (objectui#11525).** This follows the maintainer's ruling C on objec… (objectui `160c6c6ea`)
290
+ - **minor** — **BREAKING for authors of `object-kanban` card rules, released as `minor`.** `object-kanban`'s `conditionalFormatting` takes ONE rule dialect, the spec list view's `{ condition, s… (objectui `c73cdb569`)
291
+ - **minor** — `DashboardRenderer`'s `onWidgetsReorder` hands back the slot's own array type, `DashboardComponentSchema['widgets']`, instead of `DashboardWidgetSchema[]`; the dashboard's `object… (objectui `9d7419b91`)
292
+ - **minor** — `DashboardWidgetSchema['type']` names the widget vocabulary only, `DashboardWidgetTypeName`: it drops `DashboardComponentWidgetType` (objectui#11514). This narrows the TypeScript… (objectui `9d7419b91`)
293
+ - **minor** — fix(plugin-charts): an `object-chart` whose `specType` is a single-value or tabular spec family draws its routed form, not a silent bar chart; the renderer has no default family (… (objectui `06634afe7`)
294
+ - **minor** — **BREAKING** — `DrillDownConfig.report`'s `{ name }` reference arm is retired on the TypeScript face, the tolerant zod face and the strict authoring face, and both zod faces refuse it by name (o… (objectui `9ed8d0f1c`)
295
+ - **minor** — **BREAKING** — The drill-down drawer scopes a dataset-bound drill report by `runtimeFilter`, and the pre-9.0 object-bound drill report is retired (objectui#11506). (objectui `8366accd1`)
296
+ - **minor** — `@object-ui/types` declares TypeScript types for three node types its zod face already validates: `DetailSectionNodeSchema` (`detail-section`), `AppSchemaRendererNodeSchema` (`app… (objectui `fc7db059f`)
297
+ - **minor** — feat(types): `ObjectChartSchema.chartType` declares the `@objectstack/spec` chart families plugin-charts draws (objectui#11513) (objectui `95e58a3b2`)
298
+ - **minor** — **BREAKING** — A `grid` node sets a column count per breakpoint in one way: the breakpoint object of `columns`. The flat `smColumns`, `mdColumns`, `lgColumns` and `xlColumns` keys are retired, w… (objectui `2d576e46e`)
299
+ - **minor** — **BREAKING (`@object-ui/cli`):** four commands are retired: `objectui create`, `objectui lint`, `objectui test` and `objectui studio`. There is no alias window and no placeholder:… (objectui `37268aae9`)
300
+ - **minor** — **BREAKING** — chore(console)!: drop the lazy `spec-report` stub (objectui#11440) (objectui `9d9ed5495`)
301
+ - **minor** — **BREAKING** — chore(cli)!: the generated known-types list drops `spec-report`, which objectui#11440 retired (objectui `9d9ed5495`)
302
+ - **minor** — feat(types): the `report` node declares the `report` member that wraps a spec report (objectui#11440) (objectui `9d9ed5495`)
303
+ - **minor** — **BREAKING** — refactor(plugin-report)!: retire the `spec-report` node type key; a spec report is embedded as `{ "type": "report", "report": { … } }` (objectui#11440) (objectui `9d9ed5495`)
304
+ - **minor** — **BREAKING** — An `app-schema-renderer` node draws the app document it carries under `schema` (objectui#11494, triage ruling A). (objectui `fcdc8ec91`)
305
+ - **minor** — `AppSchemaRendererNodeSchema` declares the `app-schema-renderer` node's `schema` input: it is the app document, `AppComponentSchema` itself, by reference, and optional (objectui#1… (objectui `fcdc8ec91`)
306
+ - **minor** — **BREAKING** — The `columns` of a `grid` node is one of the counts its renderer maps, 1 to 12, as the bare number and at every breakpoint of the object form. Any other count is refused at valida… (objectui `aea682a31`)
307
+ - **minor** — **BREAKING (`@object-ui/cli`):** the `objectui add` command is retired, and so are `objectui analyze`'s two flags, `--render-performance` and `--bundle-size`. There is no alias wi… (objectui `ea3914139`)
308
+ - **minor** — A `metric-card` in a dashboard's widget slot parses only with its `value` (objectui#11483). This narrows a published accept set on both validator faces, and it narrows the widget… (objectui `f68e0a080`)
309
+ - **minor** — **BREAKING (`@object-ui/cli`):** `objectui generate` no longer accepts `--from`. The flag is retired, with no alias window and no placeholder, and the CLI now refuses it as an unk… (objectui `1fe05ff37`)
310
+ - **minor** — **BREAKING** — feat(types): `ObjectGridSchema`'s zod mirror declares ten members its TypeScript twin declares (objectui#6152, round 6) (objectui `0d723a33f`)
311
+ - **minor** — `safeValidateSchema` — and so `objectui validate` — accepts seven more registered node types: the spec page kinds `record`, `home` and `utility`, and `app-schema-renderer`, `objec… (objectui `00ccdf742`)
312
+ - **minor** — The `object-pivot` registration publishes `drillDown` as an input (objectui#11440). (objectui `00ccdf742`)
313
+ - **minor** — **BREAKING** — The `gap` of a `stack`, a `flex` and a `grid` node is one of the steps its renderer maps. Any other number is refused at validation, with the set named (objectui#11474). (objectui `4abc0aafa`)
314
+ - **minor** — Dashboard percent faces read the storage they are told, never a storage guessed from the value (objectui#11475). (objectui `f560ded15`)
315
+ - **minor** — **BREAKING: a percentage is scaled at the storage its field declares, never at a storage guessed from the value (objectui#11475)** (objectui `f560ded15`)
316
+ - **minor** — **BREAKING (`@object-ui/cli`):** `objectui generate` no longer accepts `--output`. The flag is retired, with no alias window, and the CLI now refuses it as an unknown option (obje… (objectui `9de0b3483`)
317
+ - **minor** — A `metric-card` in a dashboard's widget slot is checked against the props `MetricCard` renders, on the TypeScript face and in the validator (objectui#11467). This narrows a publis… (objectui `401611b21`)
318
+ - **minor** — `AnySchema` now includes the node types this package declares and exported outside it, so `SchemaByType` and narrowing on `type` reach them (objectui#11478). (objectui `2b188faa3`)
319
+ - **minor** — **BREAKING** — feat(types)!: `SidebarSchema` declares what the `sidebar` node draws — nine unread keys are retired on both faces, and `variant` takes the registration's enum (objectui#11465) (objectui `ca3de7272`)
320
+ - **minor** — The authored `properties`-bag carriers outside the spec's public blocks have a TypeScript authoring type, and `AuthoringNode` includes them, so `SchemaRenderer`'s `schema` prop ac… (objectui `2c0ddf226`)
321
+ - **minor** — **BREAKING** — chore(cli)!: the generated known-types list drops the ten `sidebar-*` node type keys objectui#10859 batch 8 phase 2d retired (objectui `1c8403692`)
322
+ - **minor** — **BREAKING** — refactor(components)!: retire the ten `sidebar-*` node type keys; the `sidebar` node supplies its own provider (objectui#10859, batch 8 phase 2d) (objectui `1c8403692`)
323
+ - **minor** — feat(components): the `sidebar` node mounts a `SidebarProvider` only when none is above it, and honours the boolean `collapsible` (objectui#10859, batch 8 phase 2d) (objectui `1c8403692`)
324
+ - **minor** — `input-otp` draws the separator its docs page teaches (objectui#11365). The "With Separator" example on the `input-otp` docs page and two catalog entries (`with-visual-separator`,… (objectui `e46ee770b`)
325
+ - **minor** — **BREAKING** — A `container` node's `padding` is one of the twelve steps its renderer maps: 0 to 8, 10, 12 and 16. Any other number is refused at validation, with the set named (objectui#11424). (objectui `3f6efd640`)
326
+ - **minor** — **BREAKING** — chore(cli)!: the generated known-types list drops the two node type keys objectui#11441 retired (objectui `9d1c0bff9`)
327
+ - **minor** — **BREAKING** — refactor(layout)!: retire the `navigation-renderer` and `responsive-grid` node type keys; navigation is application metadata, and the breakpoint grid is `grid` (objectui#11441) (objectui `9d1c0bff9`)
328
+ - **minor** — **BREAKING** — The page and report designers, and all three canvases, draw the members their node declarations always carried and they never read. Every designer registration's `inputs` now list… (objectui `5988b6b53`)
329
+ - **minor** — **BREAKING (authoring)** — a report element's `properties.field` is refused by name on the zod face; the element's binding is its declared `dataBinding` (objectui#11434, ADR-0049). (objectui `5988b6b53`)
330
+ - **minor** — **BREAKING** — chore(console)!: drop the lazy `pie-chart`, `donut-chart` and `radar-chart` stubs (objectui#10859, batch 8 phase 2c) (objectui `ad1785c1d`)
331
+ - **minor** — **BREAKING** — chore(cli)!: the generated known-types list drops the four node type keys objectui#10859 batch 8 phase 2c retired (objectui `ad1785c1d`)
332
+ - **minor** — **BREAKING** — refactor(components)!: drop `page-header` from the opt-in protocol placeholders (objectui#10859, batch 8 phase 2c) (objectui `ad1785c1d`)
333
+ - **minor** — **BREAKING** — refactor(plugin-charts)!: retire the `pie-chart`, `donut-chart` and `radar-chart` node type keys; the families are `chart` + `chartType` (objectui#10859, batch 8 phase 2c) (objectui `ad1785c1d`)
334
+ - **minor** — **BREAKING** — refactor(layout)!: retire the `page-header` node type key; the header node is `page:header` (objectui#10859, batch 8 phase 2c) (objectui `ad1785c1d`)
335
+ - **minor** — **BREAKING (authoring)** — `DataModelRelationship.onDelete` is respelled `deleteBehavior`, in `@objectstack/spec`'s vocabulary, on both faces; and the process designer's last two… (objectui `0e9058b95`)
336
+ - **minor** — The data-model and process designers draw the members their node declarations always carried and they never read (objectui#11434). (objectui `0e9058b95`)
337
+ - **minor** — **BREAKING** — chore(console)!: drop the lazy `scatter-chart` and `dashboard-grid` stubs, and stop the `metric` / `metric-card` stubs claiming the bare key (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
338
+ - **minor** — **BREAKING** — refactor(plugin-dashboard)!: retire the `dashboard-grid` node type key, and register the `metric` / `metric-card` node keys without a bare fallback (objectui#10859, batch 8 phase… (objectui `37140f4f5`)
339
+ - **minor** — **BREAKING** — chore(cli)!: the generated known-types list drops the twelve node type keys objectui#10859 batch 8 phase 2b retired (objectui `37140f4f5`)
340
+ - **minor** — **BREAKING** — refactor(plugin-designer)!: retire four builder-chrome node type keys (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
341
+ - **minor** — **BREAKING** — refactor(plugin-form)!: retire the `form-analytics` node type key (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
342
+ - **minor** — **BREAKING** — refactor(plugin-grid)!: retire the `import-wizard` node type key; the `ImportWizard` export stays (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
343
+ - **minor** — **BREAKING** — refactor(plugin-detail)!: retire the `related-list` node type key; the related-list block is `record:related_list` (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
344
+ - **minor** — **BREAKING** — refactor(plugin-charts)!: retire the `scatter-chart` node type key; scatter is `chart` + `chartType: 'scatter'` (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
345
+ - **minor** — **BREAKING** — refactor(plugin-view)!: retire the `shared-view-link` node type key (objectui#10859, batch 8 phase 2b) (objectui `37140f4f5`)
346
+ - **minor** — **BREAKING (authoring)** — seven members of the `@object-ui/plugin-designer` node declarations and their record types are retired on both faces, and two element types leave the pa… (objectui `c4ab6d09a`)
347
+ - **minor** — **BREAKING (TypeScript props)** — `DataModelDesignerProps.autoLayout` and `ReportDesignerProps.previewMode` are removed, and the `data-model-designer` registration no longer publi… (objectui `c4ab6d09a`)
348
+ - **patch** — `record:details` edit mode edits a `textarea` field in a multi-line textarea, so saving it keeps its line breaks (objectui#11562). (objectui `ab1879721`)
349
+ - **patch** — The top-level `fields` input descriptions of `object-form`, `view:form`, `embeddable-form` and `object-master-detail-form`, and the `console.warn` a top-level `fields` member that… (objectui `dbd108166`)
350
+ - **patch** — A grouped `object-grid` labels its group headers from the object field's `options` only; a column's `options` no longer relabels them (objectui#11544). (objectui `b0bf413ca`)
351
+ - **patch** — `record:details` edit mode gives a `markdown` field an editor: a multi-line textarea (objectui#11541). (objectui `b34cc148e`)
352
+ - **patch** — The record dialog now draws a `form.sections[].group` section (objectui#11542). (objectui `584eecae8`)
353
+ - **patch** — fix(app-shell): create and edit no longer render a container's first named form when it declares no default form (objectui `9bfd0b36e`)
354
+ - **patch** — Raise `@object-ui/types`' declared `@objectstack/spec` floor from `^17.5.0` to `^17.6.0` (objectui#11227). The package's published types now read `EmptyState` from `@objectstack/s… (objectui `6158e4c93`)
355
+ - **patch** — objectui now resolves `@objectstack/*` 17.6.0 (objectui#11438). One declared range moves: `@object-ui/types` raises its `@objectstack/spec` floor to `^17.6.0` in objectui#11227's… (objectui `6158e4c93`)
356
+ - **patch** — fix(plugin-charts): an `object-chart` whose family is on `specType` gets `compareTo` exactly as the same family on `chartType` does, so a `specType: scatter` chart with `compareTo… (objectui `6837bfa85`)
357
+ - **patch** — fix(plugin-dashboard): an `object-metric` with a structured `groupBy` and a rule-list `filter` draws its number (objectui `8bfc0012e`)
358
+ - **patch** — The metadata-admin dashboard preview's reorder handler takes `DashboardComponentSchema['widgets']`, the array `DashboardRenderer`'s `onWidgetsReorder` now hands back (objectui#115… (objectui `9d7419b91`)
359
+ - **patch** — The dashboard editor reads a `widgets[]` entry by the slot's element type, `DashboardComponentSchema['widgets'][number]`, in its widget card, its property panel, its preview and i… (objectui `9d7419b91`)
360
+ - **patch** — The README's Activity tab authors `record:activity`'s declared inputs in `properties` (`{ limit: 20, showCompleted: false }`) instead of a host feed in `items` (objectui#11515). (objectui `fc7db059f`)
361
+ - **patch** — The VS Code extension's **Export to React** command types the `schema` constant it emits as `SchemaRendererProps['schema']`, imported type-only from `@object-ui/react` beside `Sch… (objectui `fc7db059f`)
362
+ - **patch** — The generated plugin's `jsdom` devDependency is now `^29.1.1` instead of `^30.0.1` (objectui#11366). (objectui `059bf1b59`)
363
+ - **patch** — The drill-down drawer renders a `drillDown.report` as a `report` node, `{ type: 'report', report }` (objectui#11440). (objectui `9d9ed5495`)
364
+ - **patch** — `toRenderableSchema` declares its parameter as `SchemaNode` (objectui#11479). (objectui `b654d4ed5`)
365
+ - **patch** — The record header's percent summary chip, text and bar, scales at the storage its field declares (`percentCellScale`, the spec's `percentScaleOf`: a fraction unless the field decl… (objectui `f560ded15`)
366
+ - **patch** — The gantt tooltip's `percent` row scales at the storage the field declares (`percentCellScale`, the spec's `percentScaleOf`), the answer the list cell reads. A fraction-stored `1`… (objectui `f560ded15`)
367
+ - **patch** — Grid percent faces read the field's declared storage (objectui#11475). (objectui `f560ded15`)
368
+ - **patch** — The gallery card's field bag now carries the field's `max`, the storage statement the percent cell reads through the spec's `percentScaleOf` (objectui#11475). Without it, a whole-… (objectui `f560ded15`)
369
+ - **patch** — fix(components): an expanded `offcanvas` sidebar is drawn inside the viewport (objectui#11464) (objectui `50c73fed0`)
370
+ - **patch** — `objectui generate page NAME` writes a page that draws its title (objectui#11450). (objectui `5429e6c74`)
371
+ - **patch** — The runner drops a fallback welcome page that could never render (objectui#11450). (objectui `5429e6c74`)
372
+ - **patch** — fix(fields): a read-only percent or currency field shows its value the way its table cell does, and a whole currency amount keeps its minor units (objectui#11444) (objectui `6007dd4e4`)
373
+ - **patch** — fix(approvals): the console names a position approver `position:manager`, the spelling the server stores — not `role:manager` (objectui#11455) (objectui `d93e53f5d`)
374
+ - **patch** — The search results line and the object view's record-count footer read the right noun form in every language at every count (objectui#11445). Each passes `count` to one i18next co… (objectui `4a1adb76e`)
375
+ - **patch** — The comment thread's header, its reaction tooltip and the presence stack's labels read the right noun form in every language at every count (objectui#11445). Each passes `count` t… (objectui `4a1adb76e`)
376
+ - **patch** — The data table's "N rows modified" line and the `page:tabs` count badge's accessible name read the right noun form in every language at every count (objectui#11445): both are i18n… (objectui `4a1adb76e`)
377
+ - …and 11 more releasing changesets in this range (list capped at 100; see the objectui range below).
378
+
379
+ ⚠️ 43 of these carry a breaking change: 43 by the author's own breaking annotation in the changeset body — objectui declares no `major` inside a launch window (`scripts/check-changeset-no-major.mjs`). Each is marked **BREAKING** in the list above — read them before compiling the release record.
380
+
381
+ **In this console build, declared nowhere** — objectui merged 1 commit in this range with no `.changeset/*.md`. The code is inside the pin above and ships here, but nothing upstream declared it, so it appears in no objectui CHANGELOG and in no entry above. Listed by subject rather than counted, because a count cannot tell a dependency bump from a form-behaviour change (objectstack#6174); the upstream gate that would prevent this is objectui#3387.
382
+
383
+ - _(no changeset)_ docs(plugin-dashboard): the charts example authors a line widget bound to a dataset; the card widget with nested children retires (objectui#11484) (#11523) (objectui `6903eafbc`)
384
+
385
+ <!-- adr-0087: not-required (no-migration-prescription)
386
+ This diff moves `.objectui-sha` and the artefacts that travel with it: this console
387
+ changeset, `sdui.manifest.json` + `scripts/sdui-manifest.record.json`, the re-recorded
388
+ `packages/sdui-parser/objectui-lockstep.json` and the re-measured pin citations in
389
+ `packages/spec/src`, which carry their own `@objectstack/spec` patch changeset. It adds,
390
+ removes or renames no ObjectStack-authorable key: no Zod schema, no spec declaration and
391
+ no stored `sys_metadata` shape moves in it, so `objectstack migrate meta` has nothing here
392
+ to rewrite, and this body carries no FROM/TO prescription of its own.
393
+ The 43 declared-breaking entries listed above (26 commits) are objectui's OWN package
394
+ surfaces, each already carrying its upstream record: `6f5719e1c` and `c73cdb569`
395
+ (objectui's `object-grid`, `list-view` and `object-kanban` validators take only the
396
+ `{ condition, style }` rule `@objectstack/spec`'s `ListViewSchema.conditionalFormatting`
397
+ already declares), `160c6c6ea` (objectui's dashboard renderers draw the retired-format
398
+ placeholder for a dataset-less `provider: 'object'` single-value widget, a form the
399
+ ObjectStack dashboard widget schema has refused since 9.0.0 by requiring `dataset`),
400
+ `9ed8d0f1c` and `8366accd1` (two drill-report forms on objectui's own `DrillDownConfig`),
401
+ `2d576e46e`, `aea682a31`, `4abc0aafa` and `3f6efd640` (objectui's `grid`, `stack`,
402
+ `flex` and `container` layout nodes: the flat breakpoint `*Columns` keys and the `columns`,
403
+ `gap` and `padding` value sets), `37268aae9`, `ea3914139`, `1fe05ff37` and `9de0b3483`
404
+ (four `@object-ui/cli` retirements), `9d9ed5495` (three entries: objectui's `spec-report`
405
+ node key, its lazy stub and its known-types row), `fcdc8ec91` (objectui's
406
+ `app-schema-renderer` node), `0d723a33f` (objectui's `ObjectGridSchema` zod mirror),
407
+ `f560ded15` (objectui's percent faces scale at the storage the field declares, through
408
+ `@objectstack/spec`'s own `percentScaleOf`), `ca3de7272` (objectui's `SidebarSchema`),
409
+ `1c8403692` and `9d1c0bff9` (four entries: objectui's ten `sidebar-*`,
410
+ `navigation-renderer` and `responsive-grid` node keys and their known-types rows),
411
+ `5988b6b53`, `0e9058b95` and `c4ab6d09a` (five entries: objectui's
412
+ `@object-ui/plugin-designer` registrations, members and props; `onDelete` is respelled
413
+ `deleteBehavior`, the spelling ObjectStack's lookup fields already use), `ad1785c1d`
414
+ (five entries: objectui's `pie-chart`, `donut-chart`, `radar-chart` and kebab
415
+ `page-header` node keys, whose protocol spellings are `chart` + `chartType` and
416
+ `page:header`) and `37140f4f5` (nine entries: twelve more objectui node keys —
417
+ `scatter-chart`, `dashboard-grid`, the bare `metric` / `metric-card` fallbacks, four
418
+ builder-chrome keys, `form-analytics`, `import-wizard`, `related-list` and
419
+ `shared-view-link` — and their stubs and known-types rows). None of these keys is a
420
+ member of `@objectstack/spec`'s `PageComponentType` or a `ComponentPropsMap` row; a stored
421
+ ObjectStack page that names one reaches it only through `PageComponentSchema.type`'s open
422
+ string arm, as the previous bump's retired bare `tree` / `view` keys did. Where an entry
423
+ mirrors an ObjectStack key, the ledger entry belongs to the `packages/spec` PR that lands
424
+ the retirement, never to the pin bump.
425
+ Scope of the claim, stated rather than implied: it is a claim about THIS diff, not a
426
+ per-entry re-measurement of the 43 upstream declared-breaking entries.
427
+ -->
428
+
429
+ objectui range: `89cad75d5570...ab1879721595`
430
+
3
431
  ## 17.6.0
4
432
 
5
433
  ### Minor Changes
@@ -6,8 +6,8 @@
6
6
  "name": "@objectstack/spec",
7
7
  "injectedFrom": "/home/runner/work/objectstack/objectstack/packages/spec",
8
8
  "skew": true,
9
- "freshWitness": "A shared option list that select fields reference by name instead of copying options",
10
- "staleDetector": "API endpoint for an `api` action, forwarded to the runner"
9
+ "freshWitness": "A `grid` field's minimum row count: its Remove action is disabled at this many rows (no minimum when unset). Read only by the `grid` widget",
10
+ "staleDetector": "Actions to execute during transition"
11
11
  }
12
12
  ]
13
13
  }
@@ -1 +1 @@
1
- 31971ff1e28f89cfc45f0c19bc5b05e443f28b79
1
+ 0abd4f9f8769fc4c19ad2f96707684876f74c09f