@declarion/react 0.60.0 → 0.63.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 (487) hide show
  1. package/dist-lib/ActionDialog-uiuse5W8.js +374 -0
  2. package/dist-lib/ActionResultDialog.impl-BUBm9Ck3.js +273 -0
  3. package/dist-lib/ActionRunner-DAxgnKB3.js +1440 -0
  4. package/dist-lib/AdminCatalogPage.impl-BJGn7EvA.js +441 -0
  5. package/dist-lib/{AgentChatPanel.impl-BY-Ir7Sh.js → AgentChatPanel.impl-8bw8J-xV.js} +358 -319
  6. package/dist-lib/AgentOpenFollower.impl-Cga1q7_e.js +81 -0
  7. package/dist-lib/AssociatedBlock-D6qDYmRO.js +1515 -0
  8. package/dist-lib/AuthShell-DdiughRT.js +361 -0
  9. package/dist-lib/ChangePasswordDialog-DFe7lVQg.js +12 -0
  10. package/dist-lib/ChangePasswordDialog.impl-DtSIaP-A.js +194 -0
  11. package/dist-lib/CommandPalette.impl-Db3AFA5w.js +383 -0
  12. package/dist-lib/CopyButton-C0iEvaT1.js +119 -0
  13. package/dist-lib/DirtyTabsCloseDialog.impl-DWaFaWKn.js +191 -0
  14. package/dist-lib/{DraggableChildrenTable-CtL7rdT6.js → DraggableChildrenTable-Cy8uevS_.js} +45 -44
  15. package/dist-lib/DynamicIcon-DuBSz6TZ.js +133 -0
  16. package/dist-lib/FieldRow-BXBBFOZh.js +157 -0
  17. package/dist-lib/FilterChips-8fMDBXHp.js +1031 -0
  18. package/dist-lib/Forgot.impl-CmT5A__V.js +105 -0
  19. package/dist-lib/{Grid-CYERLdXO.js → Grid-Cg29k0jv.js} +98 -99
  20. package/dist-lib/Icons-Dzl-AkD_.d.ts +159 -0
  21. package/dist-lib/Icons-lt-7lhYR.js +151 -0
  22. package/dist-lib/ImpersonationBanner.impl-CBJJx6an.js +76 -0
  23. package/dist-lib/ImpersonationStartModal.impl-RaZcsJpG.js +158 -0
  24. package/dist-lib/Kbd-CNttVu0z.js +23 -0
  25. package/dist-lib/{LayoutRenderer-B08IJKsZ.js → LayoutRenderer-DEHtYtzV.js} +965 -942
  26. package/dist-lib/{ListCardsBody-Dje_rays.js → ListCardsBody-BAwFR3yO.js} +46 -52
  27. package/dist-lib/{MarkdownRenderer-N0IWjTH5.js → MarkdownRenderer-kNEMr6K_.js} +15 -16
  28. package/dist-lib/MenuItem-CfkVXPvC.js +140 -0
  29. package/dist-lib/NotFoundPage.impl-ZSBn4WWb.js +68 -0
  30. package/dist-lib/PageHeader-tw4pX3lI.js +71 -0
  31. package/dist-lib/PageShell-tI-mm0C5.js +47 -0
  32. package/dist-lib/Pill-D-wsfRhx.js +42 -0
  33. package/dist-lib/Preferences.impl-BG9XBZDf.js +162 -0
  34. package/dist-lib/Profile.impl-CbzSzxyG.js +527 -0
  35. package/dist-lib/PropertyGridEditor-BTjscqfz.js +4378 -0
  36. package/dist-lib/RecordHeader-Bv9nJXnG.js +217 -0
  37. package/dist-lib/RecordIdBadge-C3MgoZvt.js +25 -0
  38. package/dist-lib/RefreshControl-Ce-T_wSQ.js +195 -0
  39. package/dist-lib/Reset.impl-Cesyqt5p.js +168 -0
  40. package/dist-lib/SSOCallbackPage.impl-BC_W9nQA.js +31 -0
  41. package/dist-lib/SectionCard-VonaiLrx.js +150 -0
  42. package/dist-lib/SignUp.impl-C1KCQbfZ.js +212 -0
  43. package/dist-lib/SmartDetailPage.impl-8iOAMYQh.js +1609 -0
  44. package/dist-lib/SmartListPage.impl-Cc4Zwz5f.js +2818 -0
  45. package/dist-lib/SmartRecordListPage.impl-xTSohkqG.js +795 -0
  46. package/dist-lib/{SortHeaderMenu-DKKeCGTH.js → SortHeaderMenu-BKTrq0Wb.js} +23 -23
  47. package/dist-lib/TenantParamsPage.impl-DMuSs3eP.js +306 -0
  48. package/dist-lib/TwoFA.impl-BClZ3ndk.js +125 -0
  49. package/dist-lib/{cardProjection-nveYLvHR.js → cardProjection-Cr7fG6wJ.js} +134 -133
  50. package/dist-lib/declarion-react.css +1 -1
  51. package/dist-lib/format-count-CSEFw2ht.js +943 -0
  52. package/dist-lib/headerActionZone-bef-tZZ7.js +14 -0
  53. package/dist-lib/{stores/icon-registry.d.ts → icon-registry-CUT4eF63.d.ts} +14 -11
  54. package/dist-lib/icons.d.ts +20 -4
  55. package/dist-lib/icons.js +3 -2
  56. package/dist-lib/index.d.ts +2516 -150
  57. package/dist-lib/index.js +1532 -5053
  58. package/dist-lib/page-inset-D_kkVwwN.js +9 -0
  59. package/dist-lib/page-state-eA6J_KIR.js +124 -0
  60. package/dist-lib/param-editors-9yJr7xmN.js +201 -0
  61. package/dist-lib/payload-B2wODLAX.js +86 -0
  62. package/dist-lib/{peekDraftStore-DSExeoAh.js → peekDraftStore-D4GRsRKW.js} +44 -43
  63. package/dist-lib/registry-BpzE8-h8.js +119 -0
  64. package/dist-lib/screen-back-Cs4kzeqD.js +44 -0
  65. package/dist-lib/testing.d.ts +53 -56
  66. package/dist-lib/testing.js +54 -55
  67. package/dist-lib/use-filter-value-labels-DuqvAIVG.js +413 -0
  68. package/dist-lib/{useAgentConversation-BavrHfrU.js → useAgentConversation-D210VDCQ.js} +158 -169
  69. package/dist-lib/useAuth-CR2YKKXb.js +49 -0
  70. package/dist-lib/useBranding-Ckp_AuJb.js +41 -0
  71. package/dist-lib/useBrandingChrome-bKTXXDLy.js +170 -0
  72. package/dist-lib/useCurrentLocation-BdngVeQv.js +22 -0
  73. package/dist-lib/useCurrentScreen--UovgvRj.js +2511 -0
  74. package/dist-lib/useImpersonation-DNV23Ks1.js +35 -0
  75. package/dist-lib/useObject-1OCeV34A.js +26 -0
  76. package/dist-lib/useOwnRefresh-DkOuM4yo.js +435 -0
  77. package/dist-lib/useParams-ei6w4I7w.js +133 -0
  78. package/dist-lib/useProperties-CbdhlhZd.js +81 -0
  79. package/dist-lib/useResponsiveMode-DIR1bZfo.d.ts +1786 -0
  80. package/dist-lib/useScreenBack-J861tbwn.js +71 -0
  81. package/dist-lib/useTabNavigate-BZiW4q3M.js +78 -0
  82. package/dist-lib/useTabTitle-CZZnWIQi.js +22 -0
  83. package/dist-lib/utils-D_QDpB8_.js +11 -0
  84. package/dist-lib/{value-By1-WJ8J.js → value-CDCeHgOv.js} +8 -22
  85. package/dist-lib/{action-dispatch-DbiOpvd6.js → variants-CbAwl3Mn.js} +734 -740
  86. package/dist-lib/vite/index.d.ts +42 -16
  87. package/dist-lib/window-election-CHIvIZwx.js +45 -0
  88. package/package.json +17 -24
  89. package/dist-lib/DetailAuditStrip-B9p1XhjC.js +0 -288
  90. package/dist-lib/DynamicIcon-DW5krHuX.js +0 -280
  91. package/dist-lib/RefreshControl-BEWSHtAC.js +0 -399
  92. package/dist-lib/SmartDetailPage.impl-CYiM-ITJ.js +0 -1565
  93. package/dist-lib/SmartListPage.impl-Db_Pv9Xc.js +0 -3051
  94. package/dist-lib/SmartRecordListPage.impl-hbbLglC1.js +0 -780
  95. package/dist-lib/api/agents.d.ts +0 -140
  96. package/dist-lib/api/auth-redirect.d.ts +0 -3
  97. package/dist-lib/api/auth.d.ts +0 -26
  98. package/dist-lib/api/batch.d.ts +0 -25
  99. package/dist-lib/api/client.d.ts +0 -51
  100. package/dist-lib/api/data.d.ts +0 -153
  101. package/dist-lib/api/entities.d.ts +0 -149
  102. package/dist-lib/api/events.d.ts +0 -91
  103. package/dist-lib/api/params.d.ts +0 -28
  104. package/dist-lib/api/properties.d.ts +0 -3
  105. package/dist-lib/api/schema.d.ts +0 -2
  106. package/dist-lib/api/status.d.ts +0 -2
  107. package/dist-lib/app.d.ts +0 -1
  108. package/dist-lib/components/actions/ActionButton.d.ts +0 -18
  109. package/dist-lib/components/actions/ActionDialog.d.ts +0 -20
  110. package/dist-lib/components/actions/ActionResultDialog.d.ts +0 -22
  111. package/dist-lib/components/actions/ActionRunner.d.ts +0 -62
  112. package/dist-lib/components/actions/ObjectActionBar.d.ts +0 -29
  113. package/dist-lib/components/actions/PropertyGridEditor.d.ts +0 -20
  114. package/dist-lib/components/actions/ResponsiveActionBar.d.ts +0 -259
  115. package/dist-lib/components/actions/RowActionsKebab.d.ts +0 -20
  116. package/dist-lib/components/agents/AgentChatPanel.d.ts +0 -3
  117. package/dist-lib/components/agents/AgentChatPanel.impl.d.ts +0 -14
  118. package/dist-lib/components/agents/AgentConversationDrawer.d.ts +0 -11
  119. package/dist-lib/components/agents/AgentElicitForm.d.ts +0 -27
  120. package/dist-lib/components/agents/AgentPicker.d.ts +0 -8
  121. package/dist-lib/components/agents/transcript-runs.d.ts +0 -29
  122. package/dist-lib/components/chrome/AssociationTabs.d.ts +0 -9
  123. package/dist-lib/components/chrome/AuditMetaStrip.d.ts +0 -11
  124. package/dist-lib/components/chrome/Breadcrumbs.d.ts +0 -14
  125. package/dist-lib/components/chrome/HighlightsStrip.d.ts +0 -10
  126. package/dist-lib/components/chrome/PageHeader.d.ts +0 -16
  127. package/dist-lib/components/chrome/PageShell.d.ts +0 -7
  128. package/dist-lib/components/chrome/RecordHeader.d.ts +0 -17
  129. package/dist-lib/components/chrome/headerActionZone.d.ts +0 -27
  130. package/dist-lib/components/detail-layout/AssociatedBlock.d.ts +0 -20
  131. package/dist-lib/components/detail-layout/AssociatedToolbar.d.ts +0 -13
  132. package/dist-lib/components/detail-layout/ChildrenBlock.d.ts +0 -16
  133. package/dist-lib/components/detail-layout/ChildrenCards.d.ts +0 -2
  134. package/dist-lib/components/detail-layout/ChildrenList.d.ts +0 -2
  135. package/dist-lib/components/detail-layout/ChildrenTable.d.ts +0 -2
  136. package/dist-lib/components/detail-layout/ChildrenTimeline.d.ts +0 -2
  137. package/dist-lib/components/detail-layout/DetailAuditStrip.d.ts +0 -12
  138. package/dist-lib/components/detail-layout/DetailHighlights.d.ts +0 -14
  139. package/dist-lib/components/detail-layout/DraggableChildrenTable.d.ts +0 -16
  140. package/dist-lib/components/detail-layout/EditableChildrenTable.d.ts +0 -16
  141. package/dist-lib/components/detail-layout/ErrorSummary.d.ts +0 -11
  142. package/dist-lib/components/detail-layout/EvidenceBlock.d.ts +0 -6
  143. package/dist-lib/components/detail-layout/FieldRow.d.ts +0 -23
  144. package/dist-lib/components/detail-layout/FieldsBlock.d.ts +0 -8
  145. package/dist-lib/components/detail-layout/LayoutColumn.d.ts +0 -9
  146. package/dist-lib/components/detail-layout/LayoutRenderer.d.ts +0 -46
  147. package/dist-lib/components/detail-layout/LayoutRow.d.ts +0 -8
  148. package/dist-lib/components/detail-layout/LayoutTabs.d.ts +0 -8
  149. package/dist-lib/components/detail-layout/PropertiesBlock.d.ts +0 -8
  150. package/dist-lib/components/detail-layout/QuickAddForm.d.ts +0 -10
  151. package/dist-lib/components/detail-layout/SectionBlock.d.ts +0 -8
  152. package/dist-lib/components/detail-layout/StatusesBlock.d.ts +0 -8
  153. package/dist-lib/components/detail-layout/TimelineComposer.d.ts +0 -10
  154. package/dist-lib/components/detail-layout/blockMeta.d.ts +0 -5
  155. package/dist-lib/components/detail-layout/index.d.ts +0 -21
  156. package/dist-lib/components/detail-layout/useManualColumnResize.d.ts +0 -25
  157. package/dist-lib/components/detail-layout/useQuickAdd.d.ts +0 -16
  158. package/dist-lib/components/detail-layout/widgets/EntityScorecardWidget.d.ts +0 -2
  159. package/dist-lib/components/detail-layout/widgets/JsonDiffWidget.d.ts +0 -2
  160. package/dist-lib/components/detail-layout/widgets/MonacoJson.d.ts +0 -9
  161. package/dist-lib/components/detail-layout/widgets/WidgetHost.d.ts +0 -9
  162. package/dist-lib/components/detail-layout/widgets/builtins.d.ts +0 -1
  163. package/dist-lib/components/detail-layout/widgets/canonicalizeJson.d.ts +0 -1
  164. package/dist-lib/components/detail-layout/widgets/monacoBootstrap.d.ts +0 -1
  165. package/dist-lib/components/detail-layout/widgets/registry.d.ts +0 -14
  166. package/dist-lib/components/fields/BoolField.d.ts +0 -2
  167. package/dist-lib/components/fields/EmailField.d.ts +0 -2
  168. package/dist-lib/components/fields/EnumField.d.ts +0 -2
  169. package/dist-lib/components/fields/IntArrayField.d.ts +0 -2
  170. package/dist-lib/components/fields/JsonEditor.d.ts +0 -10
  171. package/dist-lib/components/fields/JsonField.d.ts +0 -3
  172. package/dist-lib/components/fields/MultilangArrayField.d.ts +0 -2
  173. package/dist-lib/components/fields/MultilangField.d.ts +0 -2
  174. package/dist-lib/components/fields/MultilangTextField.d.ts +0 -2
  175. package/dist-lib/components/fields/NumberField.d.ts +0 -2
  176. package/dist-lib/components/fields/PasswordField.d.ts +0 -2
  177. package/dist-lib/components/fields/PhoneField.d.ts +0 -2
  178. package/dist-lib/components/fields/RefCombobox.d.ts +0 -45
  179. package/dist-lib/components/fields/RefField.d.ts +0 -2
  180. package/dist-lib/components/fields/RichTextField.d.ts +0 -2
  181. package/dist-lib/components/fields/SecretField.d.ts +0 -2
  182. package/dist-lib/components/fields/StringArrayField.d.ts +0 -2
  183. package/dist-lib/components/fields/StringField.d.ts +0 -2
  184. package/dist-lib/components/fields/StructureField.d.ts +0 -2
  185. package/dist-lib/components/fields/TextField.d.ts +0 -2
  186. package/dist-lib/components/fields/TimestampField.d.ts +0 -2
  187. package/dist-lib/components/fields/UrlField.d.ts +0 -2
  188. package/dist-lib/components/fields/cells/factories/badge.d.ts +0 -2
  189. package/dist-lib/components/fields/cells/factories/boolPill.d.ts +0 -2
  190. package/dist-lib/components/fields/cells/factories/code.d.ts +0 -2
  191. package/dist-lib/components/fields/cells/factories/date.d.ts +0 -2
  192. package/dist-lib/components/fields/cells/factories/email.d.ts +0 -2
  193. package/dist-lib/components/fields/cells/factories/emptyCell.d.ts +0 -2
  194. package/dist-lib/components/fields/cells/factories/host-icons.d.ts +0 -17
  195. package/dist-lib/components/fields/cells/factories/json.d.ts +0 -2
  196. package/dist-lib/components/fields/cells/factories/link.d.ts +0 -2
  197. package/dist-lib/components/fields/cells/factories/markdown.d.ts +0 -2
  198. package/dist-lib/components/fields/cells/factories/markdownPreview.d.ts +0 -9
  199. package/dist-lib/components/fields/cells/factories/money.d.ts +0 -2
  200. package/dist-lib/components/fields/cells/factories/multilangInline.d.ts +0 -2
  201. package/dist-lib/components/fields/cells/factories/nextRun.d.ts +0 -2
  202. package/dist-lib/components/fields/cells/factories/number.d.ts +0 -2
  203. package/dist-lib/components/fields/cells/factories/passwordMask.d.ts +0 -2
  204. package/dist-lib/components/fields/cells/factories/phone.d.ts +0 -2
  205. package/dist-lib/components/fields/cells/factories/refLink.d.ts +0 -2
  206. package/dist-lib/components/fields/cells/factories/richTextPreview.d.ts +0 -2
  207. package/dist-lib/components/fields/cells/factories/statusPill.d.ts +0 -2
  208. package/dist-lib/components/fields/cells/factories/tagList.d.ts +0 -2
  209. package/dist-lib/components/fields/cells/factories/text.d.ts +0 -2
  210. package/dist-lib/components/fields/cells/factories/timestamp.d.ts +0 -3
  211. package/dist-lib/components/fields/cells/factories/url-helpers.d.ts +0 -12
  212. package/dist-lib/components/fields/cells/factories/url.d.ts +0 -2
  213. package/dist-lib/components/fields/cells/registry.d.ts +0 -21
  214. package/dist-lib/components/fields/index.d.ts +0 -28
  215. package/dist-lib/components/fields/langMap.d.ts +0 -2
  216. package/dist-lib/components/fields/secretValue.d.ts +0 -2
  217. package/dist-lib/components/file-widgets/CircleImage.d.ts +0 -2
  218. package/dist-lib/components/file-widgets/DocumentCard.d.ts +0 -2
  219. package/dist-lib/components/file-widgets/FileList.d.ts +0 -2
  220. package/dist-lib/components/file-widgets/Grid.d.ts +0 -2
  221. package/dist-lib/components/file-widgets/GridLazy.d.ts +0 -2
  222. package/dist-lib/components/file-widgets/ImageWidget.d.ts +0 -12
  223. package/dist-lib/components/file-widgets/LabeledSlots.d.ts +0 -2
  224. package/dist-lib/components/file-widgets/SquareImage.d.ts +0 -2
  225. package/dist-lib/components/file-widgets/UnknownFileWidget.d.ts +0 -3
  226. package/dist-lib/components/file-widgets/UploadFailureText.d.ts +0 -4
  227. package/dist-lib/components/file-widgets/WideBanner.d.ts +0 -2
  228. package/dist-lib/components/file-widgets/builtins.d.ts +0 -1
  229. package/dist-lib/components/file-widgets/cropper.d.ts +0 -14
  230. package/dist-lib/components/file-widgets/draft-scope.d.ts +0 -22
  231. package/dist-lib/components/file-widgets/helpers.d.ts +0 -15
  232. package/dist-lib/components/file-widgets/host.d.ts +0 -28
  233. package/dist-lib/components/file-widgets/index.d.ts +0 -16
  234. package/dist-lib/components/file-widgets/payload.d.ts +0 -21
  235. package/dist-lib/components/file-widgets/registry.d.ts +0 -5
  236. package/dist-lib/components/file-widgets/types.d.ts +0 -17
  237. package/dist-lib/components/file-widgets/upload.d.ts +0 -45
  238. package/dist-lib/components/file-widgets/useEmbedFileSrc.d.ts +0 -42
  239. package/dist-lib/components/file-widgets/value.d.ts +0 -4
  240. package/dist-lib/components/filters/FilterChips.d.ts +0 -14
  241. package/dist-lib/components/filters/FilterDrawer.d.ts +0 -32
  242. package/dist-lib/components/filters/filter-op-label.d.ts +0 -3
  243. package/dist-lib/components/layout/CommandPalette.d.ts +0 -21
  244. package/dist-lib/components/layout/DirtyTabsCloseDialog.d.ts +0 -9
  245. package/dist-lib/components/layout/ImpersonationBanner.d.ts +0 -11
  246. package/dist-lib/components/layout/ImpersonationFrame.d.ts +0 -11
  247. package/dist-lib/components/layout/ImpersonationStartModal.d.ts +0 -22
  248. package/dist-lib/components/layout/Layout.d.ts +0 -6
  249. package/dist-lib/components/layout/Rail.d.ts +0 -22
  250. package/dist-lib/components/layout/Sidebar.d.ts +0 -12
  251. package/dist-lib/components/layout/TabStrip.d.ts +0 -6
  252. package/dist-lib/components/layout/TenantChip.d.ts +0 -26
  253. package/dist-lib/components/layout/TopBar.d.ts +0 -22
  254. package/dist-lib/components/layout/tab-close.d.ts +0 -13
  255. package/dist-lib/components/list/ColumnPicker.d.ts +0 -20
  256. package/dist-lib/components/list/InlineEditCell.d.ts +0 -15
  257. package/dist-lib/components/list/PeekFieldCell.d.ts +0 -16
  258. package/dist-lib/components/list/QuickPeek.d.ts +0 -59
  259. package/dist-lib/components/list/ViewSwitcher.d.ts +0 -24
  260. package/dist-lib/components/list/peekDraftStore.d.ts +0 -6
  261. package/dist-lib/components/pages/AdminCatalogPage.d.ts +0 -1
  262. package/dist-lib/components/pages/DocumentsMenu.d.ts +0 -21
  263. package/dist-lib/components/pages/ExportMenu.d.ts +0 -30
  264. package/dist-lib/components/pages/NotFoundPage.d.ts +0 -1
  265. package/dist-lib/components/pages/RecordDocumentsPanel.d.ts +0 -41
  266. package/dist-lib/components/pages/SSOCallbackPage.d.ts +0 -1
  267. package/dist-lib/components/pages/SmartDetailPage.d.ts +0 -2
  268. package/dist-lib/components/pages/SmartDetailPage.impl.d.ts +0 -4
  269. package/dist-lib/components/pages/SmartListPage.d.ts +0 -2
  270. package/dist-lib/components/pages/SmartListPage.impl.d.ts +0 -4
  271. package/dist-lib/components/pages/SmartRecordListPage.d.ts +0 -2
  272. package/dist-lib/components/pages/SmartRecordListPage.impl.d.ts +0 -4
  273. package/dist-lib/components/pages/auth/AuthShell.d.ts +0 -18
  274. package/dist-lib/components/pages/auth/Forgot.d.ts +0 -1
  275. package/dist-lib/components/pages/auth/Reset.d.ts +0 -1
  276. package/dist-lib/components/pages/auth/SignIn.d.ts +0 -1
  277. package/dist-lib/components/pages/auth/SignUp.d.ts +0 -1
  278. package/dist-lib/components/pages/auth/TwoFA.d.ts +0 -1
  279. package/dist-lib/components/pages/auth/icons.d.ts +0 -6
  280. package/dist-lib/components/pages/exportRequest.d.ts +0 -69
  281. package/dist-lib/components/pages/list/DataCell.d.ts +0 -4
  282. package/dist-lib/components/pages/list/DeleteViewDialog.d.ts +0 -8
  283. package/dist-lib/components/pages/list/ListCardRow.d.ts +0 -39
  284. package/dist-lib/components/pages/list/ListCardsBody.d.ts +0 -33
  285. package/dist-lib/components/pages/list/ListFloatbar.d.ts +0 -29
  286. package/dist-lib/components/pages/list/ListFooter.d.ts +0 -26
  287. package/dist-lib/components/pages/list/ListHeader.d.ts +0 -26
  288. package/dist-lib/components/pages/list/ListNoRows.d.ts +0 -31
  289. package/dist-lib/components/pages/list/ListTable.d.ts +0 -33
  290. package/dist-lib/components/pages/list/ListTableRow.d.ts +0 -17
  291. package/dist-lib/components/pages/list/ListToolbar.d.ts +0 -46
  292. package/dist-lib/components/pages/list/ListUrlBanner.d.ts +0 -10
  293. package/dist-lib/components/pages/list/RowActionsCell.d.ts +0 -34
  294. package/dist-lib/components/pages/list/RowContextMenu.d.ts +0 -28
  295. package/dist-lib/components/pages/list/SaveViewDialog.d.ts +0 -10
  296. package/dist-lib/components/pages/list/SortHeaderMenu.d.ts +0 -14
  297. package/dist-lib/components/pages/list/cardProjection.d.ts +0 -67
  298. package/dist-lib/components/pages/list/column-sizing.d.ts +0 -14
  299. package/dist-lib/components/pages/list/columns.d.ts +0 -46
  300. package/dist-lib/components/pages/list/filter-meta.d.ts +0 -25
  301. package/dist-lib/components/pages/list/page-size.d.ts +0 -3
  302. package/dist-lib/components/pages/list/sortable-header.d.ts +0 -2
  303. package/dist-lib/components/pages/list/table-features.d.ts +0 -14
  304. package/dist-lib/components/pages/list/use-filter-value-labels.d.ts +0 -24
  305. package/dist-lib/components/pages/list/useActiveView.d.ts +0 -45
  306. package/dist-lib/components/pages/list/useHeaderReorder.d.ts +0 -26
  307. package/dist-lib/components/pages/list/useListColumnLayout.d.ts +0 -38
  308. package/dist-lib/components/pages/list/useListQuery.d.ts +0 -67
  309. package/dist-lib/components/pages/list/useListRowInteraction.d.ts +0 -61
  310. package/dist-lib/components/pages/list/useListSelection.d.ts +0 -31
  311. package/dist-lib/components/pages/list/useListSort.d.ts +0 -46
  312. package/dist-lib/components/pages/list/useListViews.d.ts +0 -57
  313. package/dist-lib/components/pages/list/useRowMenu.d.ts +0 -46
  314. package/dist-lib/components/pages/profile/Preferences.d.ts +0 -1
  315. package/dist-lib/components/pages/profile/Profile.d.ts +0 -7
  316. package/dist-lib/components/pages/tenant-params/TenantParamsPage.d.ts +0 -2
  317. package/dist-lib/components/params/ParamsBlock.d.ts +0 -13
  318. package/dist-lib/components/params/param-editors.d.ts +0 -20
  319. package/dist-lib/components/primitives/Avatar.d.ts +0 -6
  320. package/dist-lib/components/primitives/BoolToggle.d.ts +0 -7
  321. package/dist-lib/components/primitives/BrandGlyph.d.ts +0 -8
  322. package/dist-lib/components/primitives/BrandLogo.d.ts +0 -12
  323. package/dist-lib/components/primitives/Btn.d.ts +0 -19
  324. package/dist-lib/components/primitives/Check.d.ts +0 -7
  325. package/dist-lib/components/primitives/Chip.d.ts +0 -9
  326. package/dist-lib/components/primitives/ClassifiedFieldLocked.d.ts +0 -9
  327. package/dist-lib/components/primitives/Dropdown.d.ts +0 -20
  328. package/dist-lib/components/primitives/Fields.d.ts +0 -109
  329. package/dist-lib/components/primitives/HoverCard.d.ts +0 -15
  330. package/dist-lib/components/primitives/IconBtn.d.ts +0 -11
  331. package/dist-lib/components/primitives/Icons.d.ts +0 -136
  332. package/dist-lib/components/primitives/Kbd.d.ts +0 -4
  333. package/dist-lib/components/primitives/MenuItem.d.ts +0 -14
  334. package/dist-lib/components/primitives/Pill.d.ts +0 -11
  335. package/dist-lib/components/primitives/RecordIdBadge.d.ts +0 -8
  336. package/dist-lib/components/primitives/RowField.d.ts +0 -10
  337. package/dist-lib/components/primitives/SectionCard.d.ts +0 -24
  338. package/dist-lib/components/primitives/Spinner.d.ts +0 -3
  339. package/dist-lib/components/primitives/Tooltip.d.ts +0 -34
  340. package/dist-lib/components/primitives/dataTableStyles.d.ts +0 -4
  341. package/dist-lib/components/primitives/index.d.ts +0 -37
  342. package/dist-lib/components/shared/ChangePasswordDialog.d.ts +0 -9
  343. package/dist-lib/components/shared/ConfirmDialog.d.ts +0 -11
  344. package/dist-lib/components/shared/CopyButton.d.ts +0 -8
  345. package/dist-lib/components/shared/DynamicIcon.d.ts +0 -20
  346. package/dist-lib/components/shared/EmptyState.d.ts +0 -9
  347. package/dist-lib/components/shared/ErrorBoundary.d.ts +0 -17
  348. package/dist-lib/components/shared/LoadingSkeleton.d.ts +0 -6
  349. package/dist-lib/components/shared/LucideIcon.d.ts +0 -16
  350. package/dist-lib/components/shared/Markdown.d.ts +0 -3
  351. package/dist-lib/components/shared/MarkdownRenderer.d.ts +0 -11
  352. package/dist-lib/components/shared/RefreshControl.d.ts +0 -25
  353. package/dist-lib/components/shared/StatusGroupsDisplay.d.ts +0 -11
  354. package/dist-lib/components/shared/StatusStepper.d.ts +0 -13
  355. package/dist-lib/components/shared/toast/DeclarionToast.d.ts +0 -31
  356. package/dist-lib/components/shared/useOwnRefresh.d.ts +0 -9
  357. package/dist-lib/embed/EmbedAuthBootstrap.d.ts +0 -8
  358. package/dist-lib/embed/EmbedContext.d.ts +0 -50
  359. package/dist-lib/embed/EmbedDirtyReporter.d.ts +0 -10
  360. package/dist-lib/embed/EmbedHistoryTracker.d.ts +0 -1
  361. package/dist-lib/embed/EmbedLocationReporter.d.ts +0 -8
  362. package/dist-lib/embed/EmbedResizeReporter.d.ts +0 -6
  363. package/dist-lib/embed/EmbedUnsavedGuard.d.ts +0 -7
  364. package/dist-lib/embed/embed-dirty.d.ts +0 -24
  365. package/dist-lib/embed/embed-history.d.ts +0 -19
  366. package/dist-lib/embed/embed-nav-guard.d.ts +0 -20
  367. package/dist-lib/embed/file-src.d.ts +0 -63
  368. package/dist-lib/embed/handshake.d.ts +0 -57
  369. package/dist-lib/embed/index.d.ts +0 -19
  370. package/dist-lib/embed/params.d.ts +0 -75
  371. package/dist-lib/embed/protocol.d.ts +0 -165
  372. package/dist-lib/embed/screen-location.d.ts +0 -50
  373. package/dist-lib/embed/theme.d.ts +0 -34
  374. package/dist-lib/embed/token.d.ts +0 -57
  375. package/dist-lib/embed/useEmbedNavigate.d.ts +0 -48
  376. package/dist-lib/embed/useGlobalLinkInterceptor.d.ts +0 -66
  377. package/dist-lib/failure-BT54OLHy.js +0 -158
  378. package/dist-lib/format-count-DLFCdtME.js +0 -1771
  379. package/dist-lib/hooks/useActionData.d.ts +0 -61
  380. package/dist-lib/hooks/useAgentConversation.d.ts +0 -24
  381. package/dist-lib/hooks/useAllEntityData.d.ts +0 -16
  382. package/dist-lib/hooks/useAssociatedData.d.ts +0 -10
  383. package/dist-lib/hooks/useAuth.d.ts +0 -22
  384. package/dist-lib/hooks/useBranding.d.ts +0 -8
  385. package/dist-lib/hooks/useBrandingChrome.d.ts +0 -59
  386. package/dist-lib/hooks/useChildrenData.d.ts +0 -3
  387. package/dist-lib/hooks/useColumns.d.ts +0 -13
  388. package/dist-lib/hooks/useCurrentScreen.d.ts +0 -34
  389. package/dist-lib/hooks/useCursorEntityData.d.ts +0 -79
  390. package/dist-lib/hooks/useDebounce.d.ts +0 -1
  391. package/dist-lib/hooks/useEntity.d.ts +0 -2
  392. package/dist-lib/hooks/useEntityData.d.ts +0 -41
  393. package/dist-lib/hooks/useFilters.d.ts +0 -14
  394. package/dist-lib/hooks/useImpersonation.d.ts +0 -23
  395. package/dist-lib/hooks/useLanguage.d.ts +0 -4
  396. package/dist-lib/hooks/useLiveObject.d.ts +0 -9
  397. package/dist-lib/hooks/useLongPress.d.ts +0 -29
  398. package/dist-lib/hooks/useMutations.d.ts +0 -13
  399. package/dist-lib/hooks/useObject.d.ts +0 -11
  400. package/dist-lib/hooks/useObjectStatus.d.ts +0 -5
  401. package/dist-lib/hooks/usePageState.d.ts +0 -32
  402. package/dist-lib/hooks/usePageStateRuntime.d.ts +0 -27
  403. package/dist-lib/hooks/usePageStateTtl.d.ts +0 -11
  404. package/dist-lib/hooks/useParams.d.ts +0 -49
  405. package/dist-lib/hooks/useProperties.d.ts +0 -5
  406. package/dist-lib/hooks/useRealtimeThresholds.d.ts +0 -1
  407. package/dist-lib/hooks/useRegisterScreenTab.d.ts +0 -11
  408. package/dist-lib/hooks/useResponsiveMode.d.ts +0 -27
  409. package/dist-lib/hooks/useSSE.d.ts +0 -31
  410. package/dist-lib/hooks/useSchema.d.ts +0 -1
  411. package/dist-lib/hooks/useScreen.d.ts +0 -2
  412. package/dist-lib/hooks/useScreenBack.d.ts +0 -21
  413. package/dist-lib/hooks/useScreenTab.d.ts +0 -10
  414. package/dist-lib/hooks/useTabNavigate.d.ts +0 -34
  415. package/dist-lib/hooks/useTabSearchMirror.d.ts +0 -1
  416. package/dist-lib/hooks/useTabTitle.d.ts +0 -2
  417. package/dist-lib/hooks/useText.d.ts +0 -3
  418. package/dist-lib/hooks/useTimelineData.d.ts +0 -10
  419. package/dist-lib/hooks/useVersionWatcher.d.ts +0 -30
  420. package/dist-lib/hooks/useViews.d.ts +0 -26
  421. package/dist-lib/lib/action-dispatch.d.ts +0 -8
  422. package/dist-lib/lib/actions.d.ts +0 -254
  423. package/dist-lib/lib/anchor.d.ts +0 -36
  424. package/dist-lib/lib/brand-tokens.d.ts +0 -43
  425. package/dist-lib/lib/branding.d.ts +0 -20
  426. package/dist-lib/lib/canonical-url.d.ts +0 -27
  427. package/dist-lib/lib/capabilityPrefetch.d.ts +0 -6
  428. package/dist-lib/lib/child-config.d.ts +0 -24
  429. package/dist-lib/lib/children-validation.d.ts +0 -5
  430. package/dist-lib/lib/decimal-text.d.ts +0 -1
  431. package/dist-lib/lib/display-value.d.ts +0 -1
  432. package/dist-lib/lib/document-templates.d.ts +0 -11
  433. package/dist-lib/lib/download.d.ts +0 -21
  434. package/dist-lib/lib/evidence-verdict.d.ts +0 -11
  435. package/dist-lib/lib/failure.d.ts +0 -2
  436. package/dist-lib/lib/field-classification.d.ts +0 -61
  437. package/dist-lib/lib/field-regions.d.ts +0 -8
  438. package/dist-lib/lib/filter-evaluator.d.ts +0 -16
  439. package/dist-lib/lib/filters.d.ts +0 -93
  440. package/dist-lib/lib/format-count.d.ts +0 -41
  441. package/dist-lib/lib/html-state.d.ts +0 -11
  442. package/dist-lib/lib/language.d.ts +0 -19
  443. package/dist-lib/lib/longPressGesture.d.ts +0 -55
  444. package/dist-lib/lib/mass-edit.d.ts +0 -32
  445. package/dist-lib/lib/page-inset.d.ts +0 -3
  446. package/dist-lib/lib/quick-add.d.ts +0 -2
  447. package/dist-lib/lib/realtime-query-keys.d.ts +0 -22
  448. package/dist-lib/lib/realtime-reconcile.d.ts +0 -33
  449. package/dist-lib/lib/realtime-resync.d.ts +0 -23
  450. package/dist-lib/lib/record-documents-key.d.ts +0 -1
  451. package/dist-lib/lib/rich-text.d.ts +0 -14
  452. package/dist-lib/lib/rowClickGesture.d.ts +0 -26
  453. package/dist-lib/lib/safe-url.d.ts +0 -15
  454. package/dist-lib/lib/schema-routing.d.ts +0 -3
  455. package/dist-lib/lib/screen-back.d.ts +0 -70
  456. package/dist-lib/lib/scroll-restoration.d.ts +0 -90
  457. package/dist-lib/lib/size-value.d.ts +0 -16
  458. package/dist-lib/lib/sort.d.ts +0 -72
  459. package/dist-lib/lib/timestamp.d.ts +0 -53
  460. package/dist-lib/lib/toast.d.ts +0 -49
  461. package/dist-lib/lib/ui-actions.d.ts +0 -12
  462. package/dist-lib/lib/utils.d.ts +0 -9
  463. package/dist-lib/lib/variants.d.ts +0 -7
  464. package/dist-lib/lib/versionTracker.d.ts +0 -72
  465. package/dist-lib/lib/viewport-category.d.ts +0 -44
  466. package/dist-lib/main.d.ts +0 -1
  467. package/dist-lib/registry-CRPxNbkk.js +0 -1956
  468. package/dist-lib/safe-url-oSJw5pzO.js +0 -34
  469. package/dist-lib/stores/auth.d.ts +0 -16
  470. package/dist-lib/stores/list-layout.d.ts +0 -85
  471. package/dist-lib/stores/page-state.d.ts +0 -61
  472. package/dist-lib/stores/preferences.d.ts +0 -37
  473. package/dist-lib/stores/realtime.d.ts +0 -96
  474. package/dist-lib/stores/screen-registry.d.ts +0 -17
  475. package/dist-lib/stores/tabs.d.ts +0 -73
  476. package/dist-lib/types/api.d.ts +0 -580
  477. package/dist-lib/types/fieldType.d.ts +0 -2
  478. package/dist-lib/types/files.d.ts +0 -79
  479. package/dist-lib/types/ordmap.d.ts +0 -39
  480. package/dist-lib/types/schema.d.ts +0 -1089
  481. package/dist-lib/useCurrentScreen-BPq7HMF1.js +0 -7840
  482. package/dist-lib/useListQuery-CG1WM4cv.js +0 -103
  483. package/dist-lib/useOwnRefresh-C18iWRgr.js +0 -1167
  484. package/dist-lib/useProperties-C35JrjwQ.js +0 -83
  485. package/dist-lib/useTabSearchMirror-DKktWWLB.js +0 -175
  486. package/dist-lib/useText-BFDCTUSo.js +0 -952
  487. package/dist-lib/vite/fingerprint-plugin.d.ts +0 -44
@@ -1,1089 +0,0 @@
1
- import { OrderedMap } from "./ordmap";
2
- import type { FileFieldDef } from "./files";
3
- import type { IconDef } from "../stores/icon-registry.d.ts";
4
- import type { FilterNode } from "../lib/filters.d.ts";
5
- import type { TextFn } from "../lib/language.d.ts";
6
- export { OrderedMap };
7
- export type { IconDef };
8
- export type LocalizedString = Record<string, string>;
9
- /**
10
- * Where a `url` cell fetches an unknown host's site icon from.
11
- *
12
- * This is an outbound-request policy, not a visual style:
13
- * google — one request per rendered hostname to www.google.com.
14
- * direct — /favicon.ico from the site's own origin.
15
- * none — no request at all; render the globe placeholder.
16
- *
17
- * Declared per column by `field.display.favicon_source`, and nowhere else -
18
- * there is no parameter. Absent = `google`, today's rendered default. The
19
- * server accepts exactly these three values.
20
- */
21
- export type FaviconSource = "google" | "direct" | "none";
22
- /**
23
- * Per-entity empty-state copy declared in the manifest under
24
- * `display.empty_state`. Title and Body are localized; LearnMoreURL is a
25
- * plain string. The SDK falls back to a generic "No <plural> yet" derived
26
- * from `display.name_plural` when this is absent. Read-only entities never
27
- * render the legacy "Create your first..." copy regardless of EmptyStateDef.
28
- */
29
- export interface EmptyStateDef {
30
- title?: LocalizedString;
31
- body?: LocalizedString;
32
- learn_more_url?: string;
33
- }
34
- /**
35
- * Reserved sentinel value for Screen.detail_screen (list screens). Disables
36
- * row-click navigation even when the entity declares a canonical detail. Paired
37
- * with Go's engine.DetailScreenNone - keep the literal "none" in sync.
38
- */
39
- export declare const DETAIL_SCREEN_NONE = "none";
40
- export declare const DISPLAY_KEY = "$display";
41
- export declare function getDisplayValue(t: TextFn, row: Record<string, unknown> | null | undefined, entity: {
42
- display?: {
43
- display_field?: string;
44
- };
45
- fields?: {
46
- get(name: string): EntityField | undefined;
47
- };
48
- } | null | undefined): string | undefined;
49
- export declare function resolveRefRecordLabel(t: TextFn, record: Record<string, unknown>, displayKey: string | undefined, fallback: string): string;
50
- export declare function screenTitleForPath(t: TextFn, pathname: string, screens: Record<string, Screen> | undefined, entities?: Record<string, Entity>): {
51
- title: string;
52
- icon?: string;
53
- exact: boolean;
54
- } | undefined;
55
- export declare function fieldDisplayName(t: TextFn, field: EntityField, fieldName: string, entities?: Record<string, Entity>): string;
56
- export interface RefDisplay {
57
- field: string;
58
- }
59
- export interface RefConfig {
60
- entity: string;
61
- field?: string;
62
- display?: RefDisplay;
63
- fields?: string[];
64
- /** Narrows the option set offered by this ref's entity-select dropdown (edit
65
- * combobox or action-param picker) to rows matching these conditions - e.g.
66
- * only `is_active = true`. Read-side only (not a write/security boundary).
67
- * The shared filter tree, so a declared narrowing takes the same shapes a
68
- * list query's `filters` takes. */
69
- options_filter?: FilterNode[];
70
- }
71
- /** One declared filter-only option ({code, label}). `code` is stored into the
72
- * filter when chosen (a literal or a `$user.*` token resolved server-side);
73
- * `label` is the localized display string. Mirrors engine.FilterSpecialValue. */
74
- export interface FilterSpecialValue {
75
- code: string;
76
- label: LocalizedString;
77
- }
78
- /** Per-screen override of a field's filter_special_values, keyed in
79
- * Screen.filter_special_values by the filter field code. */
80
- export interface ScreenFilterSpecialValues {
81
- mode?: "append" | "replace" | "clear";
82
- values?: FilterSpecialValue[];
83
- }
84
- /** Normalizes a handler-param ref (scalar entity-code string OR structured
85
- * object) into a RefConfig. One helper shared by filters, SmartDetailPage
86
- * fields, and ActionDialog params so the scalar shorthand and structured form
87
- * reach the relation combobox identically. */
88
- export declare function normalizeRefConfig(ref: string | RefConfig | undefined): RefConfig | undefined;
89
- /** Computes the effective filter_special_values for a field on a screen by
90
- * merging the field-level list with an optional screen override per its mode
91
- * (append [default] / replace / clear). Pure; mirrors the engine's
92
- * EffectiveFilterSpecialValues so the SDK and loader agree. */
93
- export declare function effectiveFilterSpecialValues(fieldValues: FilterSpecialValue[] | undefined, override: ScreenFilterSpecialValues | undefined): FilterSpecialValue[];
94
- export interface UnitConfig {
95
- storage: string;
96
- display?: string;
97
- }
98
- export interface EntityField {
99
- /**
100
- * Populated by the schema hydrator from the enclosing map key. Tests and
101
- * fixtures may omit it; production code always receives it set.
102
- */
103
- name?: string;
104
- type: string;
105
- /**
106
- * Computed and stamped by the server: whether a CROSS-store read can order by
107
- * this field. Meaningful only where the entity's list_pagination is "cursor".
108
- * Asked rather than re-derived here - a second copy of the backend's type
109
- * allowlist drifts the day either side moves, and the symptom is an operator
110
- * clicking a column header and getting a raw backend error in place of the
111
- * table.
112
- */
113
- cross_store_sortable?: boolean;
114
- required?: boolean;
115
- primary?: boolean;
116
- auto?: boolean;
117
- readonly?: boolean;
118
- source?: string;
119
- timezone?: string;
120
- precision?: number;
121
- scale?: number;
122
- unit?: UnitConfig;
123
- default?: unknown;
124
- display?: {
125
- name: LocalizedString;
126
- description?: LocalizedString;
127
- width?: number;
128
- widget?: string;
129
- is_listable?: boolean;
130
- is_filterable?: boolean;
131
- list_preview?: {
132
- max_chars: number;
133
- };
134
- ref_display_field?: string;
135
- span?: number | "full";
136
- bool_labels?: {
137
- true: LocalizedString;
138
- false: LocalizedString;
139
- };
140
- value_map?: Record<string, {
141
- label?: LocalizedString;
142
- color?: string;
143
- }>;
144
- currency?: string;
145
- currency_field?: string;
146
- currency_display?: "symbol" | "narrow_symbol" | "code" | "name";
147
- favicon_source?: FaviconSource;
148
- };
149
- values?: Array<{
150
- code: string;
151
- name: LocalizedString;
152
- description?: LocalizedString;
153
- color?: string;
154
- }>;
155
- enum?: string;
156
- files?: FileFieldDef;
157
- ref?: RefConfig;
158
- /** Filter-only declared options (e.g. "Myself" -> $user.id) surfaced in this
159
- * field's filter control. Inert everywhere else. A screen MAY override these
160
- * per-screen via Screen.filter_special_values. */
161
- filter_special_values?: FilterSpecialValue[];
162
- structure?: string;
163
- array?: boolean;
164
- copyable?: boolean;
165
- /**
166
- * Names the data_classifications tier gating reads + writes on this field. Read-side: stripped from the
167
- * row when the caller lacks `classification:<tier>:read`. Write-side:
168
- * 422 FIELDS_FORBIDDEN when the caller writes the key without
169
- * `classification:<tier>:write`. Frontend reads the tier's localized
170
- * display name from the top-level `classifications:` map and
171
- * cross-references `schema.entities.<code>.field_access.<field>` for
172
- * the per-caller decision.
173
- */
174
- classification?: string;
175
- }
176
- /**
177
- * Per-caller classification decision for one classified field on one
178
- * entity. Populated by the schema endpoint
179
- * from the caller's grants + authority tier; the frontend reads this
180
- * to render the locked-widget badge ("🔒 Compensation"), disable write
181
- * inputs, and surface the operator-facing `required_permission` hint
182
- * to the user (e.g. "Ask your admin to grant you
183
- * classification:compensation:read").
184
- */
185
- export interface FieldAccessInfo {
186
- read: "granted" | "denied";
187
- write: "granted" | "denied";
188
- classification: string;
189
- /** Only set when read OR write is denied — the exact grant string an
190
- * administrator needs to add to a role to unlock this field. */
191
- required_permission?: string;
192
- }
193
- export interface StructureDef {
194
- name: LocalizedString;
195
- description?: LocalizedString;
196
- fields: OrderedMap<EntityField>;
197
- }
198
- export type ChildDisplayMode = "table" | "timeline" | "list" | "cards";
199
- export interface TimelineConfig {
200
- type_field?: string;
201
- time_field?: string;
202
- summary_field?: string;
203
- content_field?: string;
204
- author_field?: string;
205
- direction_field?: string;
206
- intent_field?: string;
207
- scroll?: boolean;
208
- auto_scroll?: "none" | "bottom" | "top";
209
- }
210
- export interface CardsConfig {
211
- columns_count?: number;
212
- header_field?: string;
213
- badge_field?: string;
214
- }
215
- export interface ChildQuickAdd {
216
- fields: string[];
217
- defaults?: Record<string, unknown>;
218
- placeholder?: LocalizedString;
219
- }
220
- export interface ChildDisplay {
221
- name: LocalizedString;
222
- description?: LocalizedString;
223
- icon?: string;
224
- mode?: ChildDisplayMode;
225
- columns?: string[];
226
- sort?: string;
227
- limit?: number;
228
- timeline?: TimelineConfig;
229
- cards?: CardsConfig;
230
- editable?: boolean;
231
- searchable?: boolean;
232
- filters?: string[];
233
- position_field?: string;
234
- /**
235
- * Row interaction for `mode: table`.
236
- * - `navigate`: identity cell (first column) is a link to the child's
237
- * detail; other cells read-only. Default for associated entities
238
- * (child has its own detail screen).
239
- * - `inline_edit`: click a cell to edit it; typing auto-saves after a
240
- * 500ms debounce. One active cell at a time.
241
- * - `row_edit`: a per-row Edit button puts the whole row into edit mode
242
- * (all editable cells become inputs); an explicit Confirm/Cancel pair
243
- * commits or discards. Nothing persists until Confirm - same flow as
244
- * the "Add row" draft.
245
- * - `readonly`: pure display.
246
- */
247
- interaction?: "navigate" | "inline_edit" | "row_edit" | "readonly";
248
- }
249
- export interface ChildRelation {
250
- entity: string;
251
- foreign_key: string | string[];
252
- display?: ChildDisplay;
253
- quick_add?: ChildQuickAdd;
254
- }
255
- export interface StatusDef {
256
- code: string;
257
- name: LocalizedString;
258
- description?: LocalizedString;
259
- color?: string;
260
- is_final?: boolean;
261
- }
262
- export interface StatusGroupDef {
263
- name: LocalizedString;
264
- description?: LocalizedString;
265
- is_main?: boolean;
266
- initial: string;
267
- statuses: StatusDef[];
268
- transitions?: Record<string, string[]>;
269
- display_mode?: "pill" | "stepper";
270
- }
271
- export interface PropertyDef {
272
- name: LocalizedString;
273
- description?: LocalizedString;
274
- type: string;
275
- display?: EntityField["display"];
276
- values?: EntityField["values"];
277
- enum?: string;
278
- ref?: RefConfig;
279
- structure?: string;
280
- readonly?: boolean;
281
- }
282
- export declare function propertyToField(prop: PropertyDef): EntityField;
283
- export interface EnumDef {
284
- name: LocalizedString;
285
- description?: LocalizedString;
286
- values: Array<{
287
- code: string;
288
- name: LocalizedString;
289
- description?: LocalizedString;
290
- color?: string;
291
- }>;
292
- }
293
- export interface ParameterDef {
294
- name: LocalizedString;
295
- description?: LocalizedString;
296
- type: string;
297
- structure?: string;
298
- default?: unknown;
299
- is_public?: boolean;
300
- category?: string;
301
- /** Override scopes accepted on writes. Subset of: env, tenant, role, user, object. Empty = all. */
302
- scopes?: string[];
303
- /** Members of a closed type - `enum`, or an enum-backed `string_array`. Resolved
304
- * at load whether declared inline or by naming a shared enum, so this is the set
305
- * the platform enforces. Same shape a field's members have. */
306
- values?: EntityField["values"];
307
- /** The shared enum this parameter names, when it names one. `values` is what to render. */
308
- enum?: string;
309
- }
310
- export interface AssociationDisplay {
311
- name?: LocalizedString;
312
- description?: LocalizedString;
313
- icon?: string;
314
- }
315
- export interface AssociationDef {
316
- target: string;
317
- display?: AssociationDisplay;
318
- source: string;
319
- code: string;
320
- }
321
- export type EntityMutationOp = "create" | "update" | "delete" | "restore";
322
- export interface EntityMutations {
323
- create?: boolean;
324
- update?: boolean;
325
- delete?: boolean;
326
- restore?: boolean;
327
- }
328
- export interface EntityVariant {
329
- name?: string;
330
- when?: FilterNode[];
331
- actions?: string[];
332
- }
333
- /** A set of CRUD op flags, each present or absent. The YAML-decoded shape of
334
- * an entity's `public` opt-out block (deny-by-default authorization). A flag being true means that op is open to ALL authenticated
335
- * callers with no grant required. Mirrors engine.OpSet. On the /api/schema
336
- * wire it always serializes as this object (never a bare bool, even though
337
- * YAML accepts `public: true`). */
338
- export interface OpSet {
339
- read?: boolean;
340
- write?: boolean;
341
- delete?: boolean;
342
- }
343
- export interface CardSpec {
344
- title_field?: string;
345
- subtitle_field?: string;
346
- badge_fields?: string[];
347
- fields?: string[];
348
- meta_fields?: string[];
349
- hide_empty_fields?: boolean;
350
- max_body_fields?: number;
351
- }
352
- export interface Entity {
353
- table: string;
354
- primary_key?: string[];
355
- virtual?: boolean;
356
- readonly?: boolean;
357
- mutations?: EntityMutations;
358
- default_timezone?: string;
359
- display: {
360
- name: LocalizedString;
361
- name_plural: LocalizedString;
362
- description?: LocalizedString;
363
- icon: string;
364
- display_field?: string;
365
- display_template?: string;
366
- empty_state?: EmptyStateDef;
367
- };
368
- card?: CardSpec;
369
- fields: OrderedMap<EntityField>;
370
- soft_delete?: string;
371
- tenant_key?: string;
372
- children?: ChildRelation[];
373
- status_groups?: Record<string, StatusGroupDef>;
374
- /** Computed by the server: this entity's rows are evidence-covered (an
375
- * `evidence:` block, or an audit table the core audit source covers). Drives
376
- * the evidence panel / `?expand=evidence` the same way `status_groups` drives
377
- * the statuses surface. Absent for uncovered entities. */
378
- evidence_covered?: boolean;
379
- properties?: Record<string, PropertyDef>;
380
- search_fields?: string[];
381
- actions?: Record<string, Action>;
382
- variants?: OrderedMap<EntityVariant>;
383
- /**
384
- * Platform-default action codes the engine must NOT inject for this entity
385
- * (`__new`, `__edit`, `__create`, ...). Declared in the entity's YAML.
386
- *
387
- * A disabled `__new` closes the CREATE ROUTE too, not only the toolbar
388
- * button: `<list>/new` is the detail route with the literal id `new`, so
389
- * without this the form the removed button pointed at still rendered for
390
- * anyone who typed the address or kept a bookmark.
391
- */
392
- disable_defaults?: string[];
393
- handlers?: Record<string, HandlerDef>;
394
- associations?: Record<string, AssociationDef>;
395
- files?: OrderedMap<FileFieldDef>;
396
- detail_screen?: string;
397
- /** Standard CSV export gate. Absent block (or absent `enabled`) means export is enabled. Only an
398
- * explicit `enabled: false` opts out, mirroring the Go ExportEnabled()
399
- * helper. Same shape ships on Screen for per-screen overrides. */
400
- export?: ExportConfig;
401
- /** At most one row visible per caller. Loader requires either a
402
- * caller-bound `prefilter` or `access: self` to back this. Frontend
403
- * routes a singleton entity's detail screen at the screen's declared
404
- * `route:` without a `:id` segment, and skips list-route registration. */
405
- singleton?: boolean;
406
- /** Carrier scope its `$params` writes land under (e.g. my_tenant -> "tenant",
407
- * profile -> "user"). Absent = writes land under the entity's own code. Used
408
- * by ParamsBlock to compute the attachable parameter set. */
409
- params_scope?: string;
410
- /** Server-enforced WHERE applied unconditionally on every read/write.
411
- * Values may be literal scalars
412
- * OR `$caller.*` expressions (`$caller.user_id`, `$caller.tenant_id`)
413
- * resolved at request time. Security boundary, not a UX hint. */
414
- prefilter?: Record<string, unknown>;
415
- /** Hard entity-wide access tier gate (checked BEFORE the deny-by-default
416
- * read/write decision). `"self"` restricts every read/write to rows where
417
- * the field marked `owner: true` matches the caller's user id (chokepoint +
418
- * with_check). `"tenant_admin"` admits any administrative standing in the
419
- * active tenant (superadmin / tenant_owner / any role grant). `"superadmin"`
420
- * admits only the platform-wide god flag. Empty = no tier floor (standard
421
- * RBAC). The legacy `"platform_admin"` alias was removed. */
422
- access?: "self" | "tenant_admin" | "superadmin";
423
- /** Deny-by-default authorization. Absent = every op
424
- * requires its `entity:<code>:<op>` grant. `public.<op>: true` opts that op
425
- * out of the grant requirement, opening it to all authenticated callers
426
- * (NOT anonymous). The Entity.Access floor is checked first and is never
427
- * waived by `public`. Mirrors engine.Entity.Public (*OpSet). The wire form
428
- * is always the object shape (never a bare bool). Replaces the removed
429
- * boolean `permissions`. */
430
- public?: OpSet;
431
- /**
432
- * Optional structural tree for placing and grouping actions across all
433
- * placement slots. Absent = runtime composes a flat list from all actions
434
- * matching each slot's visibility[], sorted by position ascending.
435
- * Server delivers RBAC-pruned nodes in tagged-union wire format.
436
- */
437
- action_layout?: ActionLayoutNode[];
438
- /**
439
- * Per-caller classification access
440
- * decision keyed by field name. Only present for entities that
441
- * declare at least one classified field; absent on non-classification
442
- * entities so the wire stays byte-equivalent for non-classification
443
- * deployments. Frontend reads this map to render the locked-widget
444
- * badge, disable write inputs, and surface the required_permission
445
- * hint to the user.
446
- */
447
- field_access?: Record<string, FieldAccessInfo>;
448
- /**
449
- * Per-entity realtime opt-in. When true the entity is in the CDC
450
- * publication, its list views auto-update from the SSE stream, and the
451
- * toolbar shows a green "Live" indicator. Absent or false (default OFF)
452
- * means the entity is not live: no indicator, and the always-present
453
- * manual refresh control is the only freshness mechanism. Server emits
454
- * this with `omitempty`, so `false` arrives as absent.
455
- */
456
- realtime?: boolean;
457
- /**
458
- * Per-entity row-count strategy for list views. "exact" (default, also
459
- * the meaning of absent) shows an exact total; "estimated" shows an
460
- * O(1) query-planner estimate, rendered coarse (~3.6M) for high-volume
461
- * tables. Independent of `realtime`. The SDK keys list-view count
462
- * precision on the response `meta.count_mode`, not this field, so a
463
- * forced exact count still renders precisely.
464
- */
465
- count?: "exact" | "estimated";
466
- /**
467
- * Computed (server-side, never author-set) pagination mode the generated
468
- * admin list MUST use: "offset" (numbered pages) or "cursor" (keyset /
469
- * infinite scroll). "cursor" iff the entity declares `persistence.archive`
470
- * AND the deployment has ClickHouse wired at boot - a cross-store hot+cold
471
- * read cannot offset-paginate. Absent means "offset" (every plain Postgres /
472
- * ClickHouse-only / ClickHouse-disabled-archive entity). The SDK branches the
473
- * list UI on this.
474
- */
475
- list_pagination?: "offset" | "cursor";
476
- /**
477
- * Static, per-caller document-generation capability computed from the
478
- * SYSTEM document template registry at schema projection (registry-only,
479
- * no DB read, no ETag impact - system templates are boot-static and are
480
- * covered by the schema fingerprint). Absent (or both flags falsy) means
481
- * no system template applies for this caller/tenant/entity - the
482
- * frontend's Generate affordance renders nothing UNLESS a tenant-uploaded
483
- * template is found via the lazy `document.templates.available` runtime
484
- * probe (tenant templates are runtime data and are never baked into the
485
- * schema). `generate_one` gates the detail-scope toolbar; `generate_many`
486
- * gates the list-scope toolbar.
487
- */
488
- documents?: {
489
- generate_one?: boolean;
490
- generate_many?: boolean;
491
- };
492
- }
493
- export interface ExportConfig {
494
- enabled?: boolean;
495
- }
496
- export declare function entityAllowsMutation(entity: Pick<Entity, "readonly" | "mutations"> | undefined, op: EntityMutationOp): boolean;
497
- export declare function entityAllowsCreateRoute(entity: Pick<Entity, "disable_defaults"> | undefined): boolean;
498
- export declare function getPrimaryKeyFields(entity: Entity): string[];
499
- export type PkValues = Record<string, string>;
500
- export declare function extractPkValues(entity: Entity, record: Record<string, unknown>): PkValues;
501
- export declare function pkValuePartsToId(values: string[]): string;
502
- export declare function pkValuesToId(pkValues: PkValues): string;
503
- export declare function pkValuesToDetailId(entity: Entity, pkValues: PkValues): string;
504
- export declare function singlePkValues(entity: Entity, value: string): PkValues | undefined;
505
- export declare function pkValuesFromId(id: string, expectedCount: number): string[] | null;
506
- export declare function resolveDetailRoute(list: Pick<Screen, "detail_screen"> | undefined, entity: Pick<Entity, "detail_screen"> | undefined, allScreens: Record<string, {
507
- route?: string;
508
- }> | undefined): string | null;
509
- export declare function buildDetailHrefFromId(list: Pick<Screen, "detail_screen">, id: string, entity: Pick<Entity, "detail_screen"> | undefined, allScreens: Record<string, {
510
- route?: string;
511
- }> | undefined): string | null;
512
- export declare function buildEntityDetailHref(list: Pick<Screen, "detail_screen">, entity: Entity | undefined, allScreens: Record<string, {
513
- route?: string;
514
- }> | undefined, pkValues: PkValues): string | null;
515
- export declare function buildRowDetailHref(list: Pick<Screen, "detail_screen">, entity: Entity | undefined, allScreens: Record<string, {
516
- route?: string;
517
- }> | undefined, row: Record<string, unknown>): string | null;
518
- export declare function isCompositePk(entity: Entity): boolean;
519
- export type SizeValue = string;
520
- export interface SectionBadgeConfig {
521
- text: LocalizedString;
522
- tone?: "indigo" | "emerald" | "amber" | "rose" | "sky" | "violet" | "slate" | "teal";
523
- dot?: boolean;
524
- }
525
- export interface SectionNode {
526
- name: LocalizedString;
527
- items: LayoutNode[];
528
- collapsed?: boolean;
529
- columns?: number;
530
- icon?: string;
531
- badge?: SectionBadgeConfig;
532
- emphasis?: "primary" | "secondary";
533
- }
534
- export interface RowConfig {
535
- items: LayoutNode[];
536
- gap?: number;
537
- resizable?: boolean;
538
- stack_below?: number | "never";
539
- width?: SizeValue;
540
- height?: SizeValue;
541
- }
542
- export interface ColumnConfig {
543
- items: LayoutNode[];
544
- gap?: number;
545
- width?: SizeValue;
546
- height?: SizeValue;
547
- }
548
- export interface TabsConfig {
549
- items: LayoutNode[];
550
- }
551
- export interface WidgetNode {
552
- type: string;
553
- inputs?: Record<string, string>;
554
- options?: Record<string, unknown>;
555
- }
556
- export interface LayoutField {
557
- code: string;
558
- actions?: Action[];
559
- structure?: string;
560
- detail_screen?: string;
561
- }
562
- export interface LayoutNode {
563
- row?: RowConfig;
564
- column?: ColumnConfig;
565
- tabs?: TabsConfig;
566
- section?: SectionNode;
567
- children?: string;
568
- associated?: string;
569
- properties?: true | string[];
570
- statuses?: true | string[];
571
- fields?: LayoutField[];
572
- widget?: WidgetNode;
573
- width?: SizeValue;
574
- height?: SizeValue;
575
- min_width?: string;
576
- max_width?: string;
577
- label?: LocalizedString;
578
- icon?: string;
579
- mode?: ChildDisplayMode;
580
- columns?: string[];
581
- sort?: string;
582
- limit?: number;
583
- quick_add?: ChildQuickAdd;
584
- timeline?: TimelineConfig;
585
- cards?: CardsConfig;
586
- editable?: boolean;
587
- searchable?: boolean;
588
- filters?: string[];
589
- position_field?: string;
590
- interaction?: "navigate" | "inline_edit" | "row_edit" | "readonly";
591
- }
592
- export interface AuditLineDef {
593
- label: LocalizedString;
594
- at?: string;
595
- by?: string;
596
- }
597
- export interface AuditConfig {
598
- enabled?: boolean;
599
- lines?: AuditLineDef[];
600
- }
601
- /** Resolved per-screen visibility decision (deny-by-default authorization).
602
- * Computed by the engine at load - authors write
603
- * `public` / `required_permission`, never this. `public` and
604
- * `required_permission` are mutually exclusive; `source` is the audit
605
- * provenance (authored:public | authored | authored->public |
606
- * derived:public-entity | derived:entity | derived:screen). Mirrors
607
- * engine.ScreenVisibility. */
608
- export interface ScreenVisibility {
609
- public: boolean;
610
- required_permission: string;
611
- source: string;
612
- }
613
- export type ViewportKey = "phone" | "tablet" | "desktop";
614
- export type ListPresentation = "table" | "cards";
615
- export type RecordListPresentation = "split" | "drilldown" | "stacked";
616
- export type DetailTabsPresentation = "sections" | "scroll";
617
- export type DetailSidebarPresentation = "inline" | "hidden";
618
- export type RelatedRecordsPresentation = "cards" | "table";
619
- export interface ResponsiveDetailLayout {
620
- header_card?: boolean;
621
- tabs?: DetailTabsPresentation;
622
- sidebar?: DetailSidebarPresentation;
623
- related_records?: RelatedRecordsPresentation;
624
- }
625
- export interface ResponsiveListBranch {
626
- presentation?: ListPresentation;
627
- }
628
- export interface ResponsiveDetailBranch {
629
- header_card?: boolean;
630
- tabs?: DetailTabsPresentation;
631
- }
632
- export interface ScreenResponsiveViewport {
633
- presentation?: ListPresentation | RecordListPresentation;
634
- layout?: ResponsiveDetailLayout;
635
- list?: ResponsiveListBranch;
636
- detail?: ResponsiveDetailBranch;
637
- }
638
- export type ScreenResponsive = Partial<Record<ViewportKey, ScreenResponsiveViewport>>;
639
- export interface ScreenVariant {
640
- name?: string;
641
- when?: FilterNode[];
642
- items?: LayoutNode[];
643
- sidebar?: LayoutNode[];
644
- sidebar_width?: string;
645
- highlights?: string[];
646
- audit?: AuditConfig;
647
- actions?: string[];
648
- row_actions?: string[];
649
- action_layout?: ActionLayoutNode[];
650
- card?: CardSpec;
651
- quick_peek?: QuickPeekConfig;
652
- }
653
- export interface Screen {
654
- type: "list" | "detail" | "custom" | "record_list";
655
- entity?: string;
656
- route: string;
657
- component?: string;
658
- /** Deny-by-default authorization. CUSTOM (entity-less) screens only: true
659
- * makes the screen visible to all authenticated callers (data inside still
660
- * gates per entity). A load error on an entity-bound screen. Mirrors
661
- * engine.Screen.Public (*bool). */
662
- public?: boolean;
663
- /** Overrides the derived visibility rule for this screen (any grant string,
664
- * typically `screen:<code>` to retarget or to tighten an entity-bound
665
- * screen below its entity read). REPLACES the derived rule, not ANDs it. */
666
- required_permission?: string;
667
- /** Resolved visibility (engine-computed at load; never authored). */
668
- visibility?: ScreenVisibility;
669
- display?: {
670
- name: LocalizedString;
671
- /** Localized explanation of the screen, surfaced via the list-header info
672
- * affordance (falls back to the entity description). Optional. */
673
- description?: LocalizedString;
674
- icon: string;
675
- };
676
- columns?: string[];
677
- default_columns?: string[];
678
- card?: CardSpec;
679
- responsive?: ScreenResponsive;
680
- filters?: string[];
681
- default_filters?: string[];
682
- search_fields?: string[];
683
- sort_default?: string;
684
- actions?: string[];
685
- row_actions?: string[];
686
- variants?: OrderedMap<ScreenVariant>;
687
- items?: LayoutNode[];
688
- sidebar?: LayoutNode[];
689
- sidebar_width?: string;
690
- highlights?: string[];
691
- audit?: AuditConfig;
692
- self?: boolean;
693
- list_width?: string;
694
- list_resizable?: boolean;
695
- detail_screen?: string;
696
- fixed_filters?: Record<string, unknown>;
697
- /** Per-screen override of field-level filter_special_values, keyed by filter
698
- * field code. Append/replace/clear the entity field's declared values for
699
- * just this screen. Mirrors engine.Screen.FilterSpecialValues. */
700
- filter_special_values?: Record<string, ScreenFilterSpecialValues>;
701
- /** Per-field operator lists, keyed by filter field code, published by the
702
- * server from the ONE vocabulary the query builder enforces
703
- * (engine.OperatorsByFieldType, plus the $status / $property sets). The
704
- * filter drawer renders exactly these; it keeps no table of its own,
705
- * because a client-side guess had already diverged - array, multilang,
706
- * json and bytes fields were offered two operators the builder rejects
707
- * and denied `contains`, the one that works. */
708
- filter_operators?: Record<string, string[]>;
709
- views?: ViewDefinition[];
710
- /** Code of the view this list OPENS on. A starting point, never a bound: the
711
- * switcher still offers every other view and the unfiltered "All", and a
712
- * viewer's own default view wins over it. */
713
- default_view?: string;
714
- /** Action slot promotion for list screens (rule-of-2). UI honors first 2.
715
- * The detail-header `primary_record_actions` was removed; use action_layout. */
716
- primary_actions?: string[];
717
- primary_bulk_actions?: string[];
718
- /** "open" (default) navigates to detail; "peek" opens QuickPeek drawer. */
719
- on_row_click?: "open" | "peek";
720
- quick_peek?: QuickPeekConfig;
721
- inline_edit?: InlineEditConfig;
722
- column_overrides?: Record<string, ColumnSpec>;
723
- activity_rail?: ActivityRailConfig;
724
- /** Per-screen override for the CSV export gate. Same shape as Entity.export.
725
- * Either gate being false hides the toolbar Export menu and makes the
726
- * POST endpoint return 403 EXPORT_DISABLED. */
727
- export?: ExportConfig;
728
- /**
729
- * Optional per-screen structural tree for placing and grouping actions.
730
- * When set, fully replaces entity.action_layout for this screen.
731
- * Absent = inherit entity.action_layout (then default-flat if also absent).
732
- * Server delivers RBAC-pruned nodes in tagged-union wire format.
733
- */
734
- action_layout?: ActionLayoutNode[];
735
- }
736
- export interface QuickPeekConfig {
737
- enabled?: boolean;
738
- width?: number;
739
- /**
740
- * Explicit list of field codes to show. Highest precedence. When absent,
741
- * `sections` is consulted; when that's also absent the platform falls back
742
- * to all simple scalar fields on the entity (capped at 8).
743
- */
744
- fields?: string[];
745
- /** Section names from the detail-layout. Their `fields:` get flattened. */
746
- sections?: string[];
747
- inline_editable?: boolean;
748
- primary_action?: string;
749
- }
750
- export interface InlineEditConfig {
751
- enabled?: boolean;
752
- /** dblclick | enter | always */
753
- trigger?: string;
754
- }
755
- export interface ColumnSpec {
756
- inline_edit?: boolean;
757
- width?: string;
758
- }
759
- export interface ActivityRailConfig {
760
- children: string;
761
- /** left | right (default right) */
762
- position?: string;
763
- width?: number;
764
- }
765
- /** System view (preset) defined in screen YAML. Read-only. */
766
- export interface ViewDefinition {
767
- code: string;
768
- name: LocalizedString;
769
- description?: LocalizedString;
770
- icon?: string;
771
- filters?: FilterNode[];
772
- columns?: string[];
773
- sort?: string;
774
- }
775
- export interface NavNode {
776
- screen?: string;
777
- name?: LocalizedString;
778
- icon?: string;
779
- items?: NavNode[];
780
- area?: string;
781
- badge?: string;
782
- children?: NavNode[];
783
- }
784
- export interface AreaDef {
785
- code: string;
786
- name?: LocalizedString;
787
- icon?: string;
788
- position?: number;
789
- home_screen?: string;
790
- required_permission?: string;
791
- }
792
- export interface AccentDef {
793
- color?: string;
794
- color_2?: string;
795
- soft?: string;
796
- ring?: string;
797
- on_dark?: string;
798
- on_light?: string;
799
- }
800
- export interface HandlerParamDisplay {
801
- name?: LocalizedString;
802
- description?: LocalizedString;
803
- widget?: string;
804
- }
805
- export interface HandlerParam {
806
- /** Populated by the schema hydrator from the enclosing map key. */
807
- name?: string;
808
- type?: string;
809
- required?: boolean;
810
- default?: unknown;
811
- hidden?: boolean;
812
- enum?: string;
813
- values?: Array<{
814
- code: string;
815
- name: LocalizedString;
816
- description?: LocalizedString;
817
- color?: string;
818
- }>;
819
- /** `type: structure` (or structure-shaped json) param target: the top-level
820
- * structure code whose fields the dialog renders as a nested form. */
821
- structure?: string;
822
- /** `type: ref` param target. Scalar entity-code string (shorthand) OR a
823
- * structured RefConfig (non-id lookup / display). Normalize via
824
- * normalizeRefConfig before use. */
825
- ref?: string | RefConfig;
826
- display?: HandlerParamDisplay;
827
- /**
828
- * Narrows the param's option set. Values may be literals or templates
829
- * using the ui_steps interpolation vocabulary (e.g. "${params.other}").
830
- * Semantics are type-specific: for type="status", a "status_group" key
831
- * selects the group whose statuses are offered.
832
- */
833
- filter?: Record<string, string>;
834
- }
835
- export interface ActionCondition {
836
- status?: string[];
837
- field?: string;
838
- op?: string;
839
- value?: unknown;
840
- }
841
- export interface UISetFieldStep {
842
- target: string;
843
- value: unknown;
844
- }
845
- export interface UIShowToastStep {
846
- kind?: "success" | "error" | "info";
847
- message: string;
848
- }
849
- export interface UIStep {
850
- copy_to_clipboard?: string;
851
- set_field?: UISetFieldStep;
852
- focus_field?: string;
853
- show_toast?: UIShowToastStep;
854
- }
855
- /**
856
- * Leaf node in an action_layout tree. References a single action by code.
857
- * Wire format: {"kind": "action", "code": "<code>"}
858
- */
859
- export interface ActionLayoutLeaf {
860
- kind: "action";
861
- code: string;
862
- }
863
- /**
864
- * Branch node in an action_layout tree. Groups child nodes under a labelled dropdown.
865
- * Wire format: {"kind": "group", "name": {...}, "icon": "...", "items": [...]}
866
- * Items is always non-empty (enforced by loader).
867
- */
868
- export interface ActionLayoutGroup {
869
- kind: "group";
870
- name?: LocalizedString;
871
- icon?: string;
872
- items: ActionLayoutNode[];
873
- }
874
- /**
875
- * Discriminated union of all action_layout tree nodes.
876
- * Narrow via `node.kind === "action"` (leaf) or `node.kind === "group"` (branch).
877
- */
878
- export type ActionLayoutNode = ActionLayoutLeaf | ActionLayoutGroup;
879
- /**
880
- * Single row-state condition for visible_if / enabled_if / conditions.
881
- * Operators: eq | ne | in | not_in | gt | lt | ge | le.
882
- */
883
- export interface ActionConditionEntry {
884
- field?: string;
885
- op?: string;
886
- value?: unknown;
887
- status?: string[];
888
- }
889
- /**
890
- * Array of row-state conditions with AND semantics. YAML accepts both single
891
- * object and array form (see Go ActionConditionList unmarshal); wire format
892
- * from server is always array (server normalizes during schema response).
893
- */
894
- export type ActionConditionList = ActionConditionEntry[];
895
- export interface Action {
896
- /**
897
- * Server-side handler code. One of four dispatch fields.
898
- * Reason: the new wire format encodes dispatch mode by which field is set
899
- * (handler | association | widget | href), so an explicit `type` enum is
900
- * redundant and was removed. Exactly one of the four should be set per action.
901
- */
902
- handler?: string;
903
- /**
904
- * Association code for nav-only actions that navigate to a related list.
905
- * Reason: same dispatch-by-field-presence rule.
906
- */
907
- association?: string;
908
- /**
909
- * SDK widget registry name. The SDK has no widget registry yet: an action
910
- * carrying `widget` logs a warning and falls back to `onRun`.
911
- * Reason: lets actions render bespoke UI (e.g. inline picker) instead of
912
- * server-handled forms, without inventing a new entity per widget.
913
- */
914
- widget?: string;
915
- /**
916
- * Client-side navigation URL template (supports `${id}` and other row tokens).
917
- * Reason: replaces the implicit "edit"/"create" type enum - any href-driven
918
- * action (open a custom screen, deep-link a report) uses this field; the
919
- * server never dispatches it.
920
- */
921
- href?: string;
922
- /**
923
- * Widget-specific opaque metadata. Schema/Action loader passes through
924
- * untouched; the widget consumes its own keys.
925
- * Reason: keeps the Action shape stable as new widgets ship without
926
- * growing the typed surface for each one.
927
- */
928
- config?: Record<string, unknown>;
929
- entity?: string;
930
- display: {
931
- name: LocalizedString;
932
- icon: string;
933
- /**
934
- * Promotes the action to a header button (vs. dropdown item).
935
- * Reason: explicit per-action UX control replaces the old position<=10
936
- * heuristic, lets schema authors mark their headline action even when
937
- * other actions sort earlier.
938
- */
939
- primary?: boolean;
940
- /**
941
- * Render as icon-only button (no label text).
942
- * Reason: lets a dense toolbar host high-frequency actions without
943
- * cluttering the bar with labels; tooltip still shows display.name.
944
- */
945
- icon_only?: boolean;
946
- /**
947
- * Button size hint. Default "md".
948
- * Reason: secondary toolbars (associated blocks, inline editors) need
949
- * smaller buttons than primary header bars - the schema author picks.
950
- */
951
- size?: "sm" | "md" | "lg";
952
- /**
953
- * Keyboard shortcut hint (e.g. "Cmd+S"), carried on the wire. The SDK
954
- * neither renders it nor binds the key yet.
955
- */
956
- shortcut?: string;
957
- /**
958
- * Localized explanation of what the action does. Surfaces as the control
959
- * tooltip (precedence: disabled-reason > description > name) and the
960
- * ActionDialog subtitle. Optional; absent renders exactly as before.
961
- * Supersedes the removed `help` field.
962
- */
963
- description?: LocalizedString;
964
- };
965
- visibility?: string[];
966
- confirmation?: LocalizedString;
967
- conditions?: ActionCondition[];
968
- /**
969
- * Ordering within a placement slot and overflow priority. Lower = earlier
970
- * in bar AND last to overflow. Default 0; ties broken by action code.
971
- * Convention: step by 10 so a later action fits between two.
972
- */
973
- position?: number;
974
- /**
975
- * Hide the action when condition does not hold against current row.
976
- * Distinct from RBAC hide and from `enabled_if` disable. AND semantics
977
- * across array elements.
978
- */
979
- visible_if?: ActionConditionList;
980
- /**
981
- * Disable the action (greyed out + tooltip) when condition does not hold.
982
- * For bulk-mode multi-row selection, disabled if ANY selected row fails.
983
- */
984
- enabled_if?: ActionConditionList;
985
- /**
986
- * Localized tooltip shown when action is disabled by `enabled_if`.
987
- * Required when `enabled_if` is set; the schema loader enforces it.
988
- */
989
- enabled_if_reason?: LocalizedString;
990
- /** Forces confirm + danger styling. */
991
- destructive?: boolean;
992
- /** UI shows a toast instead of a blocking result modal; adds a navigation link if progress_screen is set. */
993
- long_running?: boolean;
994
- /** Screen code to navigate to after a long_running action starts (resolved via schema.screens). */
995
- progress_screen?: string;
996
- resolved_params?: OrderedMap<HandlerParam>;
997
- /**
998
- * Default values of params marked hidden+default by the action. The UI
999
- * seeds formData with these so filter templates resolve references to
1000
- * prefilled siblings (e.g. "${params.status_group}") and so the
1001
- * submission payload includes them. Not rendered in the modal.
1002
- */
1003
- resolved_hidden_defaults?: Record<string, unknown>;
1004
- ui_steps?: UIStep[];
1005
- /**
1006
- * Server-derived: the action needs at least one selected row to be
1007
- * meaningful (the list toolbar greys it while nothing is selected). Derived
1008
- * from the handler's id-arity contract (cannot run without object IDs),
1009
- * association mode, or an href `${id}` row-link. ABSENT means the server did
1010
- * not derive it (older server, or widget/ui_steps modes) - consumers MUST
1011
- * fall back to the list_floatbar slot proxy, NOT treat absent as false. See
1012
- * actionRequiresSelection in lib/actions.ts.
1013
- */
1014
- requires_selection?: boolean;
1015
- }
1016
- export interface LanguageDef {
1017
- code: string;
1018
- name: LocalizedString;
1019
- }
1020
- export interface HandlerDef {
1021
- code: string;
1022
- type: string;
1023
- entity?: string;
1024
- display?: {
1025
- name?: LocalizedString;
1026
- description?: LocalizedString;
1027
- icon?: string;
1028
- };
1029
- params?: OrderedMap<HandlerParam>;
1030
- }
1031
- export interface Schema {
1032
- languages: LanguageDef[];
1033
- language: string;
1034
- deployment_language: string;
1035
- structures: Record<string, StructureDef>;
1036
- entities: Record<string, Entity>;
1037
- screens: Record<string, Screen>;
1038
- navigation: NavNode[];
1039
- actions: Record<string, Action>;
1040
- handlers?: Record<string, HandlerDef>;
1041
- enums: Record<string, EnumDef>;
1042
- parameters: Record<string, ParameterDef>;
1043
- messages?: Record<string, LocalizedString>;
1044
- /**
1045
- * Declared error types, code -> title per language. For rendering a STORED
1046
- * code - on an agent turn, a job row, an audit row - in the reader's
1047
- * language. An error answering a request carries its own title in the
1048
- * response and needs none of this.
1049
- *
1050
- * Errors are NEVER declared under `messages`: a failure has a type, and a
1051
- * type has a title.
1052
- */
1053
- errors?: Record<string, LocalizedString>;
1054
- areas?: AreaDef[];
1055
- accents?: Record<string, AccentDef>;
1056
- /**
1057
- * data_classifications catalog keyed by
1058
- * tier code — display name + description + audit_on_read flag + icon
1059
- * + sod_protected flag. Absent when the consumer declares no tiers
1060
- * (preserves byte-equivalent wire shape for non-classification
1061
- * deployments). Frontend resolves the localized tier name from this
1062
- * map when rendering locked-widget badges.
1063
- */
1064
- classifications?: Record<string, ClassificationTierDef>;
1065
- /**
1066
- * Consumer-declared icon glyphs, keyed by the name referenced at `icon:`
1067
- * call sites. Carries ONLY declared/overridden entries (the built-in ~119
1068
- * travel as bare names, never here); absent when no module declares an
1069
- * `icons:` block. The Admin loads this into the runtime icon registry
1070
- * (setIconRegistry) so custom glyphs render across the chrome.
1071
- */
1072
- icons?: Record<string, IconDef>;
1073
- }
1074
- /**
1075
- * One entry in the top-level classifications map.
1076
- * Mirrors engine.DataClassification.
1077
- */
1078
- export interface ClassificationTierDef {
1079
- name: LocalizedString;
1080
- description?: LocalizedString;
1081
- audit_on_read?: boolean;
1082
- icon?: string;
1083
- /**
1084
- * When true, the tier triggers stricter SoD controls: a platform owner's
1085
- * reveal emits a distinct audit code, role self-assignment is refused, and
1086
- * transitive role inheritance is hard-errored at load.
1087
- */
1088
- sod_protected?: boolean;
1089
- }