@objectstack/console 16.0.0 → 17.0.0-rc.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 (218) hide show
  1. package/README.md +1 -1
  2. package/dist/.objectui-sha +1 -1
  3. package/dist/assets/AdapterProvider-ClCj6PTd.js +2 -0
  4. package/dist/assets/{AiPendingActionsPage-CnAw7P3v.js → AiPendingActionsPage-bedYcbz0.js} +1 -1
  5. package/dist/assets/ApiConsolePage-DdUlsQNo.js +1 -0
  6. package/dist/assets/{AppDocsIndex-f25vfEKO.js → AppDocsIndex-DySIC06n.js} +1 -1
  7. package/dist/assets/{AppManagementPage-Bg9uJgOg.js → AppManagementPage-8S-uDSdv.js} +1 -1
  8. package/dist/assets/ApprovalsInboxPage-BezeS0Ba.js +1 -0
  9. package/dist/assets/AuditLogPage-BU6pDzCM.js +1 -0
  10. package/dist/assets/ComponentNavView-BOxZS4Hn.js +1 -0
  11. package/dist/assets/CreateViewDialog-CbODG8cr.js +1 -0
  12. package/dist/assets/DashboardView-Co21jHAg.js +1 -0
  13. package/dist/assets/{DeveloperHubPage-CLMxDfF8.js → DeveloperHubPage-B3CL_2_R.js} +1 -1
  14. package/dist/assets/{DocShell-Xat5mAFu.js → DocShell-Bswx8gyj.js} +1 -1
  15. package/dist/assets/{ExpressionProvider-BrbZIz2M.js → ExpressionProvider-rrd8nTWz.js} +1 -1
  16. package/dist/assets/FlowRunsPage-BUoUJIcB.js +1 -0
  17. package/dist/assets/{IntegrationsPage-BomrdGvC.js → IntegrationsPage-DwRFenrv.js} +2 -2
  18. package/dist/assets/InterfaceListPage-MefSdQ3L.js +1 -0
  19. package/dist/assets/{ManagedByBadge-B6i8b85J.js → ManagedByBadge-BuKzVw4f.js} +1 -1
  20. package/dist/assets/{MarketplaceAccessDenied-CB0BqpZm.js → MarketplaceAccessDenied-CXpRKhbs.js} +1 -1
  21. package/dist/assets/{MarketplaceInstalledPage-k4tMP5Il.js → MarketplaceInstalledPage-zxinYFxx.js} +1 -1
  22. package/dist/assets/MarketplacePackagePage-CfD4P1wE.js +4 -0
  23. package/dist/assets/MarketplacePage-C2tmfrC4.js +1 -0
  24. package/dist/assets/{MetadataInspector-GuDvqIYj.js → MetadataInspector-BT_WB0Z2.js} +1 -1
  25. package/dist/assets/{MetadataProvider-1pC12cNH.js → MetadataProvider-CaobQzBK.js} +1 -1
  26. package/dist/assets/{MonacoImpl-_--K1JSa.js → MonacoImpl-DkEpEa5A.js} +1 -1
  27. package/dist/assets/ObjectDataPage-wTA2HFI2.js +1 -0
  28. package/dist/assets/PageView-C9Hwdfsl.js +1 -0
  29. package/dist/assets/{ProfilePage-giyDPnkE.js → ProfilePage-BQwxaOB7.js} +1 -1
  30. package/dist/assets/PublicFormsPage-geV1om2C.js +1 -0
  31. package/dist/assets/RecordDetailView-BzGkapku.js +9 -0
  32. package/dist/assets/RecordFormPage-DBo0eZ72.js +1 -0
  33. package/dist/assets/ReportDefaultInspector-B7Nn-A6p.js +3 -0
  34. package/dist/assets/ReportView-BPnukjAJ.js +2 -0
  35. package/dist/assets/SearchResultsPage-BrU2uBVw.js +1 -0
  36. package/dist/assets/SettingsHub-Be1x-xx5.js +1 -0
  37. package/dist/assets/SettingsView-CrgWUS7G.js +1 -0
  38. package/dist/assets/{SystemHubPage-Bcedpt6c.js → SystemHubPage-C7E2MVCX.js} +1 -1
  39. package/dist/assets/{abnfDiagram-VRR7QNED-BM2gIA2H.js → abnfDiagram-VRR7QNED-Hg1RYCKu.js} +1 -1
  40. package/dist/assets/{architectureDiagram-ZJ3FMSHR-wyeItulr.js → architectureDiagram-ZJ3FMSHR-DwfUOkLv.js} +1 -1
  41. package/dist/assets/{assistantBus-CbDb2Mju.js → assistantBus-BqJT7SGk.js} +1 -1
  42. package/dist/assets/blockDiagram-677ZJIJ3-BDc1qSIS.js +132 -0
  43. package/dist/assets/{c4Diagram-LMCZKHZV-CZhtNS_4.js → c4Diagram-LMCZKHZV-B3uEgabN.js} +1 -1
  44. package/dist/assets/channel-DWZQ9vnS.js +1 -0
  45. package/dist/assets/{chunk-32BRIVSS-CjQ2uFsO.js → chunk-32BRIVSS-BX7QYsQG.js} +1 -1
  46. package/dist/assets/{chunk-52WLFC77-BBx3j8yk.js → chunk-52WLFC77-Cx4AaJIv.js} +2 -2
  47. package/dist/assets/{chunk-C7G6YPKG-CrZlt4pv.js → chunk-C7G6YPKG-HNW9cqtI.js} +1 -1
  48. package/dist/assets/{chunk-EX3LRPZG-x9nXH4xc.js → chunk-EX3LRPZG-CBmf4uVW.js} +1 -1
  49. package/dist/assets/{chunk-FWX5IMBZ-cqzp-iMz.js → chunk-FWX5IMBZ-Dt6Lwztc.js} +1 -1
  50. package/dist/assets/{chunk-HOUHSVGY-Bfkm0El3.js → chunk-HOUHSVGY-BiLG0Jtx.js} +1 -1
  51. package/dist/assets/chunk-ICXQ74PX-V7Gv_S2c.js +2 -0
  52. package/dist/assets/{chunk-MOJQB5TN-K_QM_tTs.js → chunk-MOJQB5TN-zlBuobC7.js} +1 -1
  53. package/dist/assets/{chunk-OGEWGWER-CSkoB3Mi.js → chunk-OGEWGWER-D9fNq6KM.js} +1 -1
  54. package/dist/assets/{chunk-PUDLZKDR-BUt9iFAU.js → chunk-PUDLZKDR-BufZGozB.js} +1 -1
  55. package/dist/assets/{chunk-Q4XR5HBZ-B99LraLe.js → chunk-Q4XR5HBZ-C1v9xwSj.js} +1 -1
  56. package/dist/assets/{chunk-RYQCIY6F-CdJb5y8u.js → chunk-RYQCIY6F-Cuf3Er4p.js} +1 -1
  57. package/dist/assets/{chunk-V7JOEXUC-CzVnJgzj.js → chunk-V7JOEXUC-Bsulk3KW.js} +1 -1
  58. package/dist/assets/chunk-VAUOI2AC-C6BaCKWp.js +1 -0
  59. package/dist/assets/{chunk-VR4S4FIN-B2IyRlJ4.js → chunk-VR4S4FIN-Cxz-AOSl.js} +1 -1
  60. package/dist/assets/{chunk-WYO6CB5R-C0_XZtpj.js → chunk-WYO6CB5R-BBCHPFWt.js} +1 -1
  61. package/dist/assets/chunk-XXDRQBXY-DzukX8IV.js +1 -0
  62. package/dist/assets/{chunk-ZGVPDNZ5-Bq7O6ELQ.js → chunk-ZGVPDNZ5-0VawavzG.js} +1 -1
  63. package/dist/assets/classDiagram-OUVF2IWQ-DSs52z7w.js +1 -0
  64. package/dist/assets/classDiagram-v2-EOCWNBFH-DSs52z7w.js +1 -0
  65. package/dist/assets/{cose-bilkent-JH36ORCC-DqKYLwMN.js → cose-bilkent-JH36ORCC-zGun_nYq.js} +1 -1
  66. package/dist/assets/{createDerive-CoXOsdH9.js → createDerive-DGPok8w-.js} +1 -1
  67. package/dist/assets/{cynefinDiagram-TSTJHNR4-CFApUIdk.js → cynefinDiagram-TSTJHNR4-DAMk8Cyg.js} +1 -1
  68. package/dist/assets/{dagre-VKFMJZFB-D4HlgjaA.js → dagre-VKFMJZFB-CcgN1PqH.js} +1 -1
  69. package/dist/assets/data-adapter-ZwwuAvBG.js +15 -0
  70. package/dist/assets/{diagram-FQU43EPY-BcnxfyH-.js → diagram-FQU43EPY-CQVlA0TA.js} +1 -1
  71. package/dist/assets/{diagram-G47NLZAW-CJxJUVu9.js → diagram-G47NLZAW-0UcUFyIH.js} +1 -1
  72. package/dist/assets/{diagram-NH7WQ7WH-DmBVlyYR.js → diagram-NH7WQ7WH-B8E52D9k.js} +1 -1
  73. package/dist/assets/{diagram-OA4YK3LP-CkaF9SQg.js → diagram-OA4YK3LP-CAJcB6Ez.js} +1 -1
  74. package/dist/assets/{diagram-WEI45ONY-8cpfjoG3.js → diagram-WEI45ONY-DWe95hfc.js} +1 -1
  75. package/dist/assets/{dist-B4b49_J4.js → dist-Bq1W1ETM.js} +1 -1
  76. package/dist/assets/{ebnfDiagram-CCIWWBDH-kX04JbNj.js → ebnfDiagram-CCIWWBDH-vV-mO9pC.js} +1 -1
  77. package/dist/assets/{erDiagram-Q63AITRT-GjnOtXoL.js → erDiagram-Q63AITRT-C37YlMu-.js} +1 -1
  78. package/dist/assets/flowDiagram-23GEKE2U-DkFOQ3_z.js +1 -0
  79. package/dist/assets/framework-DAbnem-u.js +8 -0
  80. package/dist/assets/{ganttDiagram-NO4QXBWP-7HpPOGwX.js → ganttDiagram-NO4QXBWP-BbLQFz0H.js} +1 -1
  81. package/dist/assets/{getIcon-CHjgso2Q.js → getIcon-BLwvtaQI.js} +1 -1
  82. package/dist/assets/{gitGraphDiagram-IHSO6WYX-BgBKFUwZ.js → gitGraphDiagram-IHSO6WYX-B4EJMjM2.js} +1 -1
  83. package/dist/assets/{highlighted-body-OFNGDK62-iRcLhe8Y.js → highlighted-body-OFNGDK62-BURNftRE.js} +1 -1
  84. package/dist/assets/i18n-B4M18fi2.js +9 -0
  85. package/dist/assets/index-BOGrThXK.css +2 -0
  86. package/dist/assets/index-C-dRvT9u.js +2 -0
  87. package/dist/assets/{infoDiagram-FWYZ7A6U-CTsG_9Mj.js → infoDiagram-FWYZ7A6U-ChMO4rou.js} +1 -1
  88. package/dist/assets/infrastructure-VRE-mbZZ.js +3 -0
  89. package/dist/assets/{ishikawaDiagram-FXEZZL3T-DgMu6-jd.js → ishikawaDiagram-FXEZZL3T-B5_tQUWs.js} +1 -1
  90. package/dist/assets/{journeyDiagram-5HDEW3XC-CKI4PBJp.js → journeyDiagram-5HDEW3XC-MxmpMgQO.js} +1 -1
  91. package/dist/assets/{kanban-definition-HUTT4EX6-ChvGKWDx.js → kanban-definition-HUTT4EX6-x1u6yhTC.js} +1 -1
  92. package/dist/assets/maplibre-gl-Bee-HVIi.js +801 -0
  93. package/dist/assets/mermaid-GHXKKRXX-cZg7E0Lp.js +1 -0
  94. package/dist/assets/{mermaid-parser.core-B2-C9kB8.js → mermaid-parser.core-BPoagdtX.js} +1 -1
  95. package/dist/assets/mermaid.core-Bo862wyf.js +10 -0
  96. package/dist/assets/metadata-admin-CKjub8vw.js +25 -0
  97. package/dist/assets/{mindmap-definition-LN4V7U3C-BSAiSefe.js → mindmap-definition-LN4V7U3C-gv5cgZkr.js} +1 -1
  98. package/dist/assets/{pegDiagram-2B236MQR-BUG9TR1Z.js → pegDiagram-2B236MQR-BUvOaGez.js} +1 -1
  99. package/dist/assets/{pieDiagram-ENE6RG2P-CqKv9PBi.js → pieDiagram-ENE6RG2P-CYsklKtm.js} +3 -3
  100. package/dist/assets/plugin-calendar-DJdKEkjk.js +1 -0
  101. package/dist/assets/plugin-charts-DHSgUtpJ.js +7 -0
  102. package/dist/assets/plugin-chatbot-BjhIyyNM.js +120 -0
  103. package/dist/assets/plugin-dashboard-CjPCmbr_.js +6 -0
  104. package/dist/assets/plugin-form-BZooMe4v.js +1 -0
  105. package/dist/assets/plugin-gantt-C90gyywF.js +63 -0
  106. package/dist/assets/plugin-grid-UMSBKycd.js +8 -0
  107. package/dist/assets/plugin-kanban-CTnqV9IW.js +1 -0
  108. package/dist/assets/{plugin-map-CsMXqW6n.css → plugin-map-CZaqx61F.css} +1 -1
  109. package/dist/assets/plugin-map-DjnC4ang.js +1 -0
  110. package/dist/assets/{plugin-markdown-BxslElNy.js → plugin-markdown-CwKhoguC.js} +1 -1
  111. package/dist/assets/plugin-report-BgaatGo3.js +59 -0
  112. package/dist/assets/plugin-timeline-CqKcdOFC.js +1 -0
  113. package/dist/assets/{plugin-tree-8wyez9hx.js → plugin-tree-D73sSC3j.js} +1 -1
  114. package/dist/assets/plugin-view-DG76zFsz.js +1 -0
  115. package/dist/assets/plugins-views-UwSroJxp.js +4 -0
  116. package/dist/assets/{quadrantDiagram-ABIIQ3AL-DyfgU6pe.js → quadrantDiagram-ABIIQ3AL-DkdTo6wC.js} +1 -1
  117. package/dist/assets/{railroadDiagram-RFXS5EU6-DOOVaoMM.js → railroadDiagram-RFXS5EU6-CIvl_CtD.js} +1 -1
  118. package/dist/assets/{requirementDiagram-TGXJPOKE-B0370dfa.js → requirementDiagram-TGXJPOKE-BrmGcoHH.js} +1 -1
  119. package/dist/assets/{runtime-metadata-persistence-Clk8TRxl.js → runtime-metadata-persistence-C6n6ChsE.js} +1 -1
  120. package/dist/assets/{sankeyDiagram-HTMAVEWB-BAioZail.js → sankeyDiagram-HTMAVEWB-DAhnVEku.js} +1 -1
  121. package/dist/assets/{sequenceDiagram-DBY2YBRQ-B20vuf87.js → sequenceDiagram-DBY2YBRQ-CmnHwkE8.js} +1 -1
  122. package/dist/assets/{skeletons-D8fbNHVX.js → skeletons-D3Ug_cFP.js} +1 -1
  123. package/dist/assets/{src-DM9imiv_.js → src-BGaMRjVN.js} +1 -1
  124. package/dist/assets/{src-CKPhOIOh.js → src-BvgQ2BWs.js} +1 -1
  125. package/dist/assets/src-DTHo8Eqq.js +1 -0
  126. package/dist/assets/src-DjmHjms3.js +19 -0
  127. package/dist/assets/{src-Cglm_8jd.js → src-DmkSCLdx.js} +1 -1
  128. package/dist/assets/{stateDiagram-2N3HPSRC-BScu2B9X.js → stateDiagram-2N3HPSRC-C4fJzxRx.js} +1 -1
  129. package/dist/assets/stateDiagram-v2-6OUMAXLB-CCWWu2-O.js +1 -0
  130. package/dist/assets/{swimlanes-5IMT3BWC-VepjEXMA.js → swimlanes-5IMT3BWC-DlIs3eSd.js} +1 -1
  131. package/dist/assets/swimlanesDiagram-G3AALYLV-C8YV1J6I.js +8 -0
  132. package/dist/assets/{timeline-definition-FHXFAJF6-CvpwpY5P.js → timeline-definition-FHXFAJF6-B6xJ_8dh.js} +1 -1
  133. package/dist/assets/ui-components-Xu43SW6A.js +72 -0
  134. package/dist/assets/ui-layout-fGjoW3uv.js +1 -0
  135. package/dist/assets/{use-book-data-C4CaJKQX.js → use-book-data-BHNW-mtj.js} +1 -1
  136. package/dist/assets/{useOpenRecordList-BfKYZKMn.js → useOpenRecordList-DJ-uAshJ.js} +1 -1
  137. package/dist/assets/{usePackageL10n-DfeTyD2w.js → usePackageL10n-DM6mlODA.js} +1 -1
  138. package/dist/assets/useSettingsLabel-CgY3RtGh.js +1 -0
  139. package/dist/assets/{appRoute-C7XNGt8B.js → utils-CFdPTF34.js} +1 -1
  140. package/dist/assets/vendor-charts-C9Rg4sGZ.js +67 -0
  141. package/dist/assets/{vendor-dndkit-DoG7p74h.js → vendor-dndkit-CJ2SkGrK.js} +1 -1
  142. package/dist/assets/{vendor-i18n-D2ce6sLS.js → vendor-i18n-CJQUqRO0.js} +1 -1
  143. package/dist/assets/{vendor-icons-core-CO5pY7RP.js → vendor-icons-core-BuLgNLyS.js} +1 -1
  144. package/dist/assets/{vendor-markdown-DlkSIxwM.js → vendor-markdown-BgvCNR3X.js} +3 -3
  145. package/dist/assets/vendor-objectstack-Bs6C4qGH.js +122 -0
  146. package/dist/assets/vendor-radix-DdNkQmkB.js +46 -0
  147. package/dist/assets/{vendor-react-BKSb6vFP.js → vendor-react-20ydC9aZ.js} +2 -2
  148. package/dist/assets/vendor-sentry-BwxF-feC.js +501 -0
  149. package/dist/assets/{vendor-ui-utils-D-WJ115h.js → vendor-ui-utils-CDPjN0GN.js} +1 -1
  150. package/dist/assets/{vennDiagram-L72KCM5P-DlCQcm_6.js → vennDiagram-L72KCM5P-CL2kA9j_.js} +1 -1
  151. package/dist/assets/{wardleyDiagram-EHGQE667-mesER_Po.js → wardleyDiagram-EHGQE667-C2amdvDW.js} +1 -1
  152. package/dist/assets/{xychartDiagram-FW5EYKEG-cODEcpNB.js → xychartDiagram-FW5EYKEG-BgaF79Q6.js} +1 -1
  153. package/dist/index.html +6 -6
  154. package/package.json +4 -4
  155. package/dist/assets/AdapterProvider-C6zOh6HD.js +0 -1
  156. package/dist/assets/ApiConsolePage-BI45__VZ.js +0 -1
  157. package/dist/assets/ApprovalsInboxPage-DNHuqeXG.js +0 -1
  158. package/dist/assets/AuditLogPage-B7miw4yM.js +0 -1
  159. package/dist/assets/ComponentNavView-hbkzWx99.js +0 -1
  160. package/dist/assets/CreateViewDialog-C9MmF1EQ.js +0 -1
  161. package/dist/assets/DashboardView-B5fvjbK1.js +0 -1
  162. package/dist/assets/FlowRunsPage-D3geofgO.js +0 -1
  163. package/dist/assets/InterfaceListPage-B-1CV8r_.js +0 -1
  164. package/dist/assets/MarketplacePackagePage-DFu-NbiT.js +0 -4
  165. package/dist/assets/MarketplacePage-hFFqWDhG.js +0 -1
  166. package/dist/assets/ObjectDataPage-BXb8qS_O.js +0 -1
  167. package/dist/assets/PageView-CJffWMXV.js +0 -1
  168. package/dist/assets/PublicFormsPage-CvTGsvEk.js +0 -1
  169. package/dist/assets/RecordDetailView-BWj_n2Xd.js +0 -9
  170. package/dist/assets/RecordFormPage-DaAXyIFl.js +0 -1
  171. package/dist/assets/ReportDefaultInspector-nzEI_7uY.js +0 -3
  172. package/dist/assets/ReportView-BkvoSROz.js +0 -2
  173. package/dist/assets/SearchResultsPage-Badp3TZy.js +0 -1
  174. package/dist/assets/SettingsHub-CLEl9yB4.js +0 -1
  175. package/dist/assets/SettingsView-D48FlZZ-.js +0 -1
  176. package/dist/assets/blockDiagram-677ZJIJ3-BybRqe6u.js +0 -132
  177. package/dist/assets/channel-BAx__6e1.js +0 -1
  178. package/dist/assets/chunk-ICXQ74PX-WsDRuBhL.js +0 -2
  179. package/dist/assets/chunk-VAUOI2AC-HYDQgaka.js +0 -1
  180. package/dist/assets/chunk-XXDRQBXY-CtU5D9C8.js +0 -1
  181. package/dist/assets/classDiagram-OUVF2IWQ-DiVkGMIZ.js +0 -1
  182. package/dist/assets/classDiagram-v2-EOCWNBFH-DiVkGMIZ.js +0 -1
  183. package/dist/assets/data-adapter-C-CzgrY8.js +0 -9
  184. package/dist/assets/flowDiagram-23GEKE2U-CpcHvuan.js +0 -1
  185. package/dist/assets/framework-brxTxzwx.js +0 -8
  186. package/dist/assets/i18n-BBfFXbqS.js +0 -9
  187. package/dist/assets/index-DQKFSIRa.js +0 -2
  188. package/dist/assets/index-De6xiiED.css +0 -2
  189. package/dist/assets/infrastructure-C6pQBkbt.js +0 -3
  190. package/dist/assets/maplibre-gl-R0DO2NBr.js +0 -748
  191. package/dist/assets/mermaid-GHXKKRXX-o9V61CTW.js +0 -1
  192. package/dist/assets/mermaid.core-CskcjgHM.js +0 -10
  193. package/dist/assets/metadata-admin-DUDb4_-I.js +0 -25
  194. package/dist/assets/plugin-calendar-BwqRXov_.js +0 -1
  195. package/dist/assets/plugin-charts-DFywQsyC.js +0 -7
  196. package/dist/assets/plugin-chatbot-ChDQ0sZw.js +0 -120
  197. package/dist/assets/plugin-dashboard-LbTxdFyx.js +0 -6
  198. package/dist/assets/plugin-form-B69IWc-v.js +0 -1
  199. package/dist/assets/plugin-gantt-DNfSxpfa.js +0 -63
  200. package/dist/assets/plugin-grid-D5ooeMq3.js +0 -8
  201. package/dist/assets/plugin-kanban-CDv0cMku.js +0 -1
  202. package/dist/assets/plugin-map-CFb9fmBs.js +0 -1
  203. package/dist/assets/plugin-report-DEkf0Fe2.js +0 -59
  204. package/dist/assets/plugin-timeline-DUw-qsiu.js +0 -1
  205. package/dist/assets/plugin-view-baVOQ3XC.js +0 -1
  206. package/dist/assets/plugins-views-Bi6X55Wz.js +0 -4
  207. package/dist/assets/src-BEYY1hUL.js +0 -19
  208. package/dist/assets/src-IWc9jIui.js +0 -1
  209. package/dist/assets/stateDiagram-v2-6OUMAXLB-9fyTUlZR.js +0 -1
  210. package/dist/assets/swimlanesDiagram-G3AALYLV-i6IYZT2a.js +0 -8
  211. package/dist/assets/types-DwzGXr-7.js +0 -1
  212. package/dist/assets/ui-components-BDIRZFoR.js +0 -72
  213. package/dist/assets/ui-layout-ZABgadCW.js +0 -1
  214. package/dist/assets/utils-Bxty7IIa.js +0 -1
  215. package/dist/assets/vendor-charts-HLBqza5P.js +0 -67
  216. package/dist/assets/vendor-objectstack-CjHQG7Oa.js +0 -114
  217. package/dist/assets/vendor-radix-B1fu-dZi.js +0 -46
  218. package/dist/assets/vendor-sentry-BFtl-K03.js +0 -501
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{f as t,r as n,y as r}from"./vendor-react-20ydC9aZ.js";import{Jc as i,Ri as a,Xt as o,_r as s,dr as c,fr as l,hr as u,mr as d,pr as f}from"./ui-components-Xu43SW6A.js";import{i as p,n as m,s as h,t as g}from"./useSettingsLabel-CgY3RtGh.js";var _=e(r(),1),v=n();function y({m:e,onOpen:t}){let{t:n}=i(),r=g(e.namespace),o=e.icon?h(e.icon):a,p=m(e.label),_=r.title(p),y=r.description(e.description??void 0);return(0,v.jsxs)(c,{className:`cursor-pointer hover:border-primary/50 hover:shadow-sm transition-all`,onClick:t,children:[(0,v.jsxs)(d,{className:`pb-3`,children:[(0,v.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,v.jsx)(o,{className:`h-6 w-6 text-muted-foreground`}),e.beta?(0,v.jsx)(s,{variant:`secondary`,className:`text-[10px]`,children:n(`console.settingsHub.beta`)}):null]}),(0,v.jsx)(u,{className:`text-base mt-2`,children:_}),y?(0,v.jsx)(f,{className:`text-xs`,children:y}):null]}),(0,v.jsx)(l,{className:`pt-0`,children:(0,v.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:n(`console.settingsHub.settingsCount`,{n:e.specifiers.length})})})]})}function b(){let e=t(),{t:n}=i(),[r,s]=(0,_.useState)(null),[u,d]=(0,_.useState)(null);(0,_.useEffect)(()=>{p().then(e=>s(e.manifests??[])).catch(e=>d(e?.message??n(`console.settingsHub.loadError`)))},[n]);let f=(0,_.useMemo)(()=>{if(!r)return null;let e=new Map;for(let t of[...r].sort((e,t)=>(e.order??999)-(t.order??999))){let n=t.category??`Other`,r=e.get(n)??[];r.push(t),e.set(n,r)}return e},[r]);return(0,v.jsxs)(`div`,{className:`p-6 max-w-6xl mx-auto`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-3 mb-6`,children:[(0,v.jsx)(a,{className:`h-7 w-7 text-muted-foreground`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:n(`console.settingsHub.title`)}),(0,v.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`console.settingsHub.subtitle`)})]})]}),u?(0,v.jsx)(c,{children:(0,v.jsx)(l,{className:`py-8 text-center text-sm text-destructive`,children:u})}):null,r?r.length===0?(0,v.jsx)(c,{children:(0,v.jsx)(l,{className:`py-12 text-center text-sm text-muted-foreground`,children:n(`console.settingsHub.empty`)})}):Array.from(f??[]).map(([t,r])=>(0,v.jsxs)(`section`,{className:`mb-8`,children:[(0,v.jsx)(`h2`,{className:`text-sm font-semibold tracking-wide uppercase text-muted-foreground mb-3`,children:n(`console.settingsHub.categories.${t}`,{defaultValue:t})}),(0,v.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:r.map(t=>(0,v.jsx)(y,{m:t,onOpen:()=>e(`/system/settings/${t.namespace}`)},t.namespace))})]},t)):(0,v.jsxs)(`div`,{className:`space-y-4`,children:[(0,v.jsx)(o,{className:`h-6 w-32`}),(0,v.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:Array.from({length:3}).map((e,t)=>(0,v.jsx)(o,{className:`h-32 w-full`},t))})]})]})}export{b as SettingsHub};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{f as t,m as n,r,y as i}from"./vendor-react-20ydC9aZ.js";import{At as a,Cn as o,Cr as s,Nr as c,Qa as l,Sr as u,Xt as d,Yi as f,Ys as p,Za as m,_o as h,_r as g,an as _,cn as v,dr as y,fr as b,in as x,jc as S,jt as C,mn as w,on as T,pn as E,rn as D,sn as O,ur as k,xr as A,yn as j,yt as M}from"./ui-components-Xu43SW6A.js";import{r as N}from"./vendor-ui-utils-CDPjN0GN.js";import{a as P,n as F,o as I,r as L,s as R,t as z}from"./useSettingsLabel-CgY3RtGh.js";var B=e(i(),1),V=r();function H({reason:e,className:t}){return(0,V.jsxs)(g,{variant:`outline`,className:`gap-1 border-amber-300 bg-amber-50 text-amber-900 ${t??``}`,title:e??`Pinned by environment variable — cannot be edited from the UI.`,children:[(0,V.jsx)(m,{className:`h-3 w-3`}),`Locked by env`]})}function U({resolved:e,labels:t}){let n=e.cascadeChain;if(!n||n.length===0)return null;let r=n.find(e=>e.effective)??n[n.length-1],i=n.find(e=>e!==r&&e.value!==null&&e.value!==void 0),a=e=>t?.sourceLabel?.(e)??e;return r.scope!=="default"&&r.scope!==`user`&&r.scope!==`tenant`?(0,V.jsxs)(g,{variant:`outline`,className:`text-blue-700 border-blue-300 text-[10px]`,children:[`Inherited from `,a(r.scope)]}):i?(0,V.jsxs)(g,{variant:`outline`,className:`text-amber-700 border-amber-300 text-[10px]`,children:[`Overrides `,a(i.scope)]}):null}function W({spec:e,resolved:t,labelText:n,labels:r}){return(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsxs)(o,{className:`text-sm font-medium`,children:[n,e.required?(0,V.jsx)(`span`,{className:`ml-0.5 text-destructive`,children:`*`}):null]}),e.deprecated?(0,V.jsxs)(g,{variant:`outline`,className:`text-amber-700 border-amber-300`,children:[`Deprecated`,e.replacedBy?` → ${e.replacedBy}`:``]}):null,t?.locked?(0,V.jsx)(H,{reason:t.lockedReason}):null,t&&!t.locked?(0,V.jsx)(U,{resolved:t,labels:r}):null,t?.source&&t.source!=="default"&&!t.locked?(0,V.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:r?.sourceLabel?.(t.source)??t.source}):null]})}function G({description:e}){return e?(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:e}):null}function K(e){let{spec:t,resolved:n,value:r,onChange:i,onAction:l,locked:d,saving:f,labels:m}=e,g=(0,B.useId)(),y=!!(d||f),b=F(t.label),S=t.key&&m?m.fieldLabel(t.key,b):b,N=t.key&&m?m.fieldHelp(t.key,t.description):t.description;if(t.type===`group`){let e=t.id&&m?m.groupTitle(t.id,b):b,n=t.id&&m?m.groupDescription(t.id,t.description):t.description;return(0,V.jsxs)(`div`,{className:`pt-6 pb-2`,children:[(0,V.jsx)(`h3`,{className:`text-sm font-semibold tracking-tight text-foreground/90`,children:e}),n?(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:n}):null,(0,V.jsx)(D,{className:`mt-3`})]})}if(t.type===`info_banner`)return(0,V.jsxs)(A,{variant:t.bannerSeverity===`error`?`destructive`:`default`,className:`my-2`,children:[(0,V.jsx)(h,{className:`h-4 w-4`}),(0,V.jsx)(s,{children:b}),t.bannerText?(0,V.jsx)(u,{children:t.bannerText}):null]});if(t.type===`child_pane`)return(0,V.jsxs)(`a`,{href:`#/settings/${t.childNamespace}`,className:`flex items-center justify-between rounded-md border border-border bg-card px-4 py-3 hover:bg-accent transition-colors`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-sm font-medium`,children:b}),t.description?(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:t.description}):null]}),(0,V.jsx)(p,{className:`h-4 w-4 text-muted-foreground`})]});if(t.type===`title_value`)return(0,V.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,V.jsx)(W,{spec:t,resolved:n,labelText:S,labels:m}),(0,V.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:String(r??`—`)})]});if(t.type===`action_button`){let e=t.icon?R(t.icon):null,n=t.id??t.key??`test`,r=m?m.actionLabel(n,b):b;return(0,V.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-sm font-medium`,children:r}),t.description?(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:t.description}):null]}),(0,V.jsxs)(c,{size:`sm`,variant:`secondary`,onClick:l,disabled:f,children:[e?(0,V.jsx)(e,{className:`h-4 w-4 mr-1.5`}):null,r]})]})}let P=e=>(0,V.jsxs)(`div`,{className:`space-y-1.5 py-2`,children:[(0,V.jsx)(W,{spec:t,resolved:n,labelText:S,labels:m}),e,(0,V.jsx)(G,{description:N})]}),I=e=>{let n=typeof e.label==`string`?e.label:e.label?.defaultValue??String(e.value);return!t.key||!m?n:m.optionLabel(t.key,String(e.value),n)};switch(t.type){case`text`:case`email`:case`url`:case`phone`:return P((0,V.jsx)(j,{id:g,type:t.type===`email`?`email`:t.type===`url`?`url`:`text`,value:r??``,minLength:t.minLength,maxLength:t.maxLength,pattern:t.pattern,disabled:y,onChange:e=>i(e.target.value)}));case`password`:return P((0,V.jsx)(j,{id:g,type:`password`,autoComplete:`new-password`,placeholder:r?`••••••••`:``,disabled:y,onChange:e=>i(e.target.value)}));case`textarea`:return P((0,V.jsx)(M,{id:g,rows:t.rows??4,value:r??``,minLength:t.minLength,maxLength:t.maxLength,disabled:y,onChange:e=>i(e.target.value)}));case`number`:return P((0,V.jsx)(j,{id:g,type:`number`,value:r,min:t.min,max:t.max,step:t.step,disabled:y,onChange:e=>i(e.target.value===``?null:Number(e.target.value))}));case`toggle`:return(0,V.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(W,{spec:t,resolved:n,labelText:S,labels:m}),(0,V.jsx)(G,{description:N})]}),(0,V.jsx)(a,{id:g,checked:!!r,disabled:y,onCheckedChange:e=>i(e)})]});case`select`:return P((0,V.jsxs)(x,{value:r==null?void 0:String(r),onValueChange:e=>i(e),disabled:y,children:[(0,V.jsx)(O,{id:g,children:(0,V.jsx)(v,{placeholder:`Select…`})}),(0,V.jsx)(_,{children:t.options?.map(e=>(0,V.jsx)(T,{value:String(e.value),children:I(e)},String(e.value)))})]}));case`radio`:return P((0,V.jsx)(E,{value:r==null?void 0:String(r),onValueChange:e=>i(e),disabled:y,children:t.options?.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,V.jsx)(w,{value:String(e.value),id:`${g}-${e.value}`}),(0,V.jsx)(o,{htmlFor:`${g}-${e.value}`,className:`text-sm font-normal`,children:I(e)})]},String(e.value)))}));case`multiselect`:{let e=Array.isArray(r)?r:[];return P((0,V.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:t.options?.map(t=>{let n=String(t.value);return(0,V.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(k,{checked:e.map(String).includes(n),disabled:y,onCheckedChange:t=>{let r=new Set(e.map(String));t?r.add(n):r.delete(n),i(Array.from(r))}}),I(t)]},n)})}))}case`slider`:return P((0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(C,{value:[Number(r??t.min??0)],min:t.min??0,max:t.max??100,step:t.step??1,disabled:y,onValueChange:e=>i(e[0]),className:`flex-1`}),(0,V.jsx)(`span`,{className:`text-sm tabular-nums w-12 text-right`,children:String(r??t.min??0)})]}));case`color`:return P((0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(j,{id:g,type:`color`,value:r??`#000000`,disabled:y,onChange:e=>i(e.target.value),className:`w-16 h-9 p-1`}),(0,V.jsx)(j,{value:r??``,disabled:y,onChange:e=>i(e.target.value),className:`flex-1 font-mono text-sm`})]}));case`json`:return P((0,V.jsx)(M,{id:g,rows:t.rows??6,className:`font-mono text-xs`,value:typeof r==`string`?r:JSON.stringify(r??null,null,2),disabled:y,onChange:e=>i(e.target.value)}));default:return P((0,V.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[`Unsupported specifier type: `,t.type]}))}}function q(e,t){if(!e)return!0;let n=e.trim().match(/^\$\{(.+)\}$/);if(!n)return!0;try{return!!Function(`data`,`with (data) { return (${n[1]}); }`)(t)}catch{return!0}}function J(){let e=n(),r=t(),i=e.namespace??``,[a,o]=(0,B.useState)(null),[s,u]=(0,B.useState)(!0),[p,m]=(0,B.useState)(!1),[h,_]=(0,B.useState)(null),[v,x]=(0,B.useState)({}),C=(0,B.useCallback)(async()=>{u(!0),_(null);try{let e=await L(i);o(e),x({})}catch(e){_(e?.message??`Failed to load settings`)}finally{u(!1)}},[i]);(0,B.useEffect)(()=>{i&&C()},[i,C]);let w=(0,B.useMemo)(()=>{let e={};if(!a)return e;for(let[t,n]of Object.entries(a.values))e[t]=n.value;return{...e,...v}},[a,v]),T=(0,B.useMemo)(()=>Object.keys(v),[v]),E=z(i);if(!i)return(0,V.jsx)(`div`,{className:`p-6 text-muted-foreground`,children:`No namespace selected.`});if(s)return(0,V.jsxs)(`div`,{className:`p-6 space-y-3 max-w-3xl`,children:[(0,V.jsx)(d,{className:`h-8 w-1/3`}),(0,V.jsx)(d,{className:`h-4 w-2/3`}),(0,V.jsx)(d,{className:`h-32 w-full`}),(0,V.jsx)(d,{className:`h-32 w-full`})]});if(h)return(0,V.jsxs)(`div`,{className:`p-6 max-w-3xl`,children:[(0,V.jsxs)(c,{variant:`ghost`,size:`sm`,onClick:()=>r(-1),children:[(0,V.jsx)(S,{className:`h-4 w-4 mr-1`}),` Back`]}),(0,V.jsx)(y,{className:`mt-3`,children:(0,V.jsx)(b,{className:`py-8 text-center text-sm text-destructive`,children:h})})]});if(!a)return null;let{manifest:D,values:O}=a,k=D.icon?R(D.icon):null,A=E.title(F(D.label)),j=E.description(D.description),M=async()=>{if(T.length!==0){m(!0);try{let e=await I(i,v);o({...a,values:{...O,...e.values}}),x({}),N.success(`Settings saved`)}catch(e){e?.payload?.error?.code===`SETTINGS_LOCKED`?N.error(`Locked by environment: ${e.payload.error.key}`):N.error(e?.message??`Save failed`)}finally{m(!1)}}},H=async e=>{m(!0);try{let t=await P(i,e,v);t.ok?N.success(t.message??`Action succeeded`):N.error(t.message??`Action failed`)}catch(e){N.error(e?.message??`Action failed`)}finally{m(!1)}};return(0,V.jsxs)(`div`,{className:`p-6 max-w-3xl mx-auto pb-32`,children:[(0,V.jsxs)(c,{variant:`ghost`,size:`sm`,onClick:()=>r(`/system/settings`),children:[(0,V.jsx)(S,{className:`h-4 w-4 mr-1`}),` All settings`]}),(0,V.jsxs)(`div`,{className:`mt-3 flex items-start gap-3`,children:[k?(0,V.jsx)(k,{className:`h-7 w-7 mt-0.5 text-muted-foreground`}):null,(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:A}),D.beta?(0,V.jsx)(g,{variant:`secondary`,children:`Beta`}):null]}),j?(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:j}):null]})]}),D.helpText?(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground mt-4 whitespace-pre-wrap`,children:D.helpText}):null,(0,V.jsx)(`div`,{className:`mt-6 divide-y`,children:D.specifiers.filter(e=>q(e.visible,w)).map((e,t)=>{let n=e.key,r=n?O[n]:void 0;return(0,V.jsx)(K,{spec:e,resolved:r,value:n?n in v?v[n]:r?.value:void 0,onChange:e=>n&&x(t=>({...t,[n]:e})),onAction:e.type===`action_button`?()=>H(e.id??n??`test`):void 0,locked:r?.locked,saving:p,labels:E},(n??`_layout_${t}`)+t)})}),T.length>0?(0,V.jsx)(`div`,{className:`fixed bottom-0 inset-x-0 bg-background/95 backdrop-blur border-t shadow-lg z-40`,children:(0,V.jsxs)(`div`,{className:`max-w-3xl mx-auto px-6 py-3 flex items-center justify-between`,children:[(0,V.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[T.length,` unsaved change`,T.length>1?`s`:``]}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsxs)(c,{variant:`ghost`,size:`sm`,onClick:()=>x({}),disabled:p,children:[(0,V.jsx)(f,{className:`h-4 w-4 mr-1`}),` Discard`]}),(0,V.jsxs)(c,{onClick:M,disabled:p,children:[p?(0,V.jsx)(l,{className:`h-4 w-4 mr-1 animate-spin`}):null,`Save changes`]})]})]})}):null]})}export{J as SettingsView};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{f as t,m as n,r,y as i}from"./vendor-react-BKSb6vFP.js";import{f as a}from"./infrastructure-C6pQBkbt.js";import{j as o}from"./framework-brxTxzwx.js";import{Di as s,Li as c,Ni as l,Ur as u,Wr as d,ac as f,co as p,cr as m,fc as h,fr as g,lr as _,ls as v,or as y,pi as b,qa as x,ro as S,si as C,sr as w,uc as T,ur as E}from"./ui-components-BDIRZFoR.js";import"./src-BEYY1hUL.js";var D=e(i(),1),O=r();function k(){let e=t(),{appName:r}=n(),i=r?`/apps/${r}`:``,k=o(),A=a(),[j,M]=(0,D.useState)({users:null,orgs:null,positions:null,permissions:null,auditLogs:null}),[N,P]=(0,D.useState)(!0),F=(0,D.useCallback)(async()=>{if(k){P(!0);try{let[e,t,n,r,i]=await Promise.all([k.find(`sys_user`).catch(()=>({data:[]})),k.find(`sys_org`).catch(()=>({data:[]})),k.find(`sys_position`).catch(()=>({data:[]})),k.find(`sys_permission`).catch(()=>({data:[]})),k.find(`sys_audit_log`).catch(()=>({data:[]}))]);M({users:e.data?.length??0,orgs:t.data?.length??0,positions:n.data?.length??0,permissions:r.data?.length??0,auditLogs:i.data?.length??0})}catch{}finally{P(!1)}}},[k]);(0,D.useEffect)(()=>{F()},[F]);let I=[{title:`Applications`,description:`Manage all configured applications`,icon:S,href:`${i}/system/apps`,countLabel:``,count:null},{title:`Metadata`,description:`Browse and edit every metadata type the platform exposes`,icon:v,href:`${i}/component/metadata/directory`,countLabel:``,count:null},{title:`Datasources`,description:`Connect external databases and sync their tables in as objects`,icon:T,href:`${i}/component/metadata/resource?type=datasource`,countLabel:``,count:null}],L=[{title:`Users`,description:`Manage system users and accounts`,icon:u,href:`${i}/system/users`,countLabel:`users`,count:j.users},{title:`Organizations`,description:`Manage organizations and teams`,icon:f,href:`${i}/system/organizations`,countLabel:`organizations`,count:j.orgs},{title:`Positions`,description:`Configure positions and access levels`,icon:s,href:`${i}/system/positions`,countLabel:`positions`,count:j.positions},{title:`Permissions`,description:`Manage permission rules and assignments`,icon:p,href:`${i}/system/permissions`,countLabel:`permissions`,count:j.permissions},{title:`Audit Log`,description:`View system activity and changes`,icon:c,href:`${i}/system/audit-log`,countLabel:`entries`,count:j.auditLogs},{title:`AI Approvals`,description:`Review actions AI agents propose before they execute`,icon:h,href:`${i}/system/ai-approvals`,countLabel:``,count:null},{title:`App Marketplace`,description:`Browse and install approved apps from the ObjectStack catalog`,icon:b,href:`${i}/system/marketplace`,countLabel:``,count:null,adminOnly:!0},{title:`Settings`,description:`Configure mail, branding, feature flags, and more`,icon:l,href:`${i}/system/settings`,countLabel:``,count:null},{title:`Developer`,description:`API console, flow runs, and public form management`,icon:C,href:`${i}/developer`,countLabel:``,count:null},{title:`Profile`,description:`View and edit your account settings`,icon:d,href:`${i}/system/profile`,countLabel:``,count:null}],R=[...I,...L].filter(e=>!e.adminOnly||A);return(0,O.jsxs)(`div`,{className:`flex flex-col gap-6 p-4 sm:p-6`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight`,children:`System Settings`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Manage applications, users, positions, permissions, and system configuration`})]}),N&&(0,O.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,role:`status`,"aria-live":`polite`,children:[(0,O.jsx)(x,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),`Loading statistics...`]}),(0,O.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:R.map(t=>{let n=t.icon;return(0,O.jsxs)(y,{className:`cursor-pointer transition-colors hover:bg-accent/50`,onClick:()=>e(t.href),"data-testid":`hub-card-${t.title.toLowerCase().replace(/\s+/g,`-`)}`,role:`link`,tabIndex:0,"aria-label":`${t.title}: ${t.description}`,onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e(t.href))},children:[(0,O.jsxs)(_,{className:`flex flex-row items-center gap-3 pb-2`,children:[(0,O.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:(0,O.jsx)(n,{className:`h-5 w-5`})}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(E,{className:`text-base`,children:t.title}),(0,O.jsx)(m,{className:`text-xs`,children:t.description})]})]}),(0,O.jsx)(w,{className:`pt-0`,children:t.count!==null&&(0,O.jsxs)(g,{variant:`secondary`,children:[t.count,` `,t.countLabel]})})]},t.title)})})]})}export{k as SystemHubPage};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{f as t,m as n,r,y as i}from"./vendor-react-20ydC9aZ.js";import{_ as a}from"./infrastructure-VRE-mbZZ.js";import{j as o}from"./framework-DAbnem-u.js";import{Hi as s,Jr as c,Mi as l,Qa as u,Ri as d,Yr as f,_c as p,_r as m,co as h,dr as g,fi as _,fr as v,hc as y,hr as b,mr as x,ms as S,po as C,pr as w,uc as T,vi as E}from"./ui-components-Xu43SW6A.js";import"./src-DjmHjms3.js";var D=e(i(),1),O=r();function k(){let e=t(),{appName:r}=n(),i=r?`/apps/${r}`:``,k=o(),A=a(),[j,M]=(0,D.useState)({users:null,orgs:null,positions:null,permissions:null,auditLogs:null}),[N,P]=(0,D.useState)(!0),F=(0,D.useCallback)(async()=>{if(k){P(!0);try{let[e,t,n,r,i]=await Promise.all([k.find(`sys_user`).catch(()=>({data:[]})),k.find(`sys_org`).catch(()=>({data:[]})),k.find(`sys_position`).catch(()=>({data:[]})),k.find(`sys_permission`).catch(()=>({data:[]})),k.find(`sys_audit_log`).catch(()=>({data:[]}))]);M({users:e.data?.length??0,orgs:t.data?.length??0,positions:n.data?.length??0,permissions:r.data?.length??0,auditLogs:i.data?.length??0})}catch{}finally{P(!1)}}},[k]);(0,D.useEffect)(()=>{F()},[F]);let I=[{title:`Applications`,description:`Manage all configured applications`,icon:h,href:`${i}/system/apps`,countLabel:``,count:null},{title:`Metadata`,description:`Browse and edit every metadata type the platform exposes`,icon:S,href:`${i}/component/metadata/directory`,countLabel:``,count:null},{title:`Datasources`,description:`Connect external databases and sync their tables in as objects`,icon:y,href:`${i}/component/metadata/resource?type=datasource`,countLabel:``,count:null}],L=[{title:`Users`,description:`Manage system users and accounts`,icon:c,href:`${i}/system/users`,countLabel:`users`,count:j.users},{title:`Organizations`,description:`Manage organizations and teams`,icon:T,href:`${i}/system/organizations`,countLabel:`organizations`,count:j.orgs},{title:`Positions`,description:`Configure positions and access levels`,icon:l,href:`${i}/system/positions`,countLabel:`positions`,count:j.positions},{title:`Permissions`,description:`Manage permission rules and assignments`,icon:C,href:`${i}/system/permissions`,countLabel:`permissions`,count:j.permissions},{title:`Audit Log`,description:`View system activity and changes`,icon:s,href:`${i}/system/audit-log`,countLabel:`entries`,count:j.auditLogs},{title:`AI Approvals`,description:`Review actions AI agents propose before they execute`,icon:p,href:`${i}/system/ai-approvals`,countLabel:``,count:null},{title:`App Marketplace`,description:`Browse and install approved apps from the ObjectStack catalog`,icon:E,href:`${i}/system/marketplace`,countLabel:``,count:null,adminOnly:!0},{title:`Settings`,description:`Configure mail, branding, feature flags, and more`,icon:d,href:`${i}/system/settings`,countLabel:``,count:null},{title:`Developer`,description:`API console, flow runs, and public form management`,icon:_,href:`${i}/developer`,countLabel:``,count:null},{title:`Profile`,description:`View and edit your account settings`,icon:f,href:`${i}/system/profile`,countLabel:``,count:null}],R=[...I,...L].filter(e=>!e.adminOnly||A);return(0,O.jsxs)(`div`,{className:`flex flex-col gap-6 p-4 sm:p-6`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight`,children:`System Settings`}),(0,O.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Manage applications, users, positions, permissions, and system configuration`})]}),N&&(0,O.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,role:`status`,"aria-live":`polite`,children:[(0,O.jsx)(u,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),`Loading statistics...`]}),(0,O.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:R.map(t=>{let n=t.icon;return(0,O.jsxs)(g,{className:`cursor-pointer transition-colors hover:bg-accent/50`,onClick:()=>e(t.href),"data-testid":`hub-card-${t.title.toLowerCase().replace(/\s+/g,`-`)}`,role:`link`,tabIndex:0,"aria-label":`${t.title}: ${t.description}`,onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e(t.href))},children:[(0,O.jsxs)(x,{className:`flex flex-row items-center gap-3 pb-2`,children:[(0,O.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:(0,O.jsx)(n,{className:`h-5 w-5`})}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(b,{className:`text-base`,children:t.title}),(0,O.jsx)(w,{className:`text-xs`,children:t.description})]})]}),(0,O.jsx)(v,{className:`pt-0`,children:t.count!==null&&(0,O.jsxs)(m,{variant:`secondary`,children:[t.count,` `,t.countLabel]})})]},t.title)})})]})}export{k as SystemHubPage};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-5HE753X5-Cg3JdNF3.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-CKPhOIOh.js";import"./chunk-WYO6CB5R-C0_XZtpj.js";import"./chunk-VAUOI2AC-HYDQgaka.js";import{n as r,r as i,t as a}from"./chunk-MOJQB5TN-K_QM_tTs.js";import{t as o}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as s}from"./mermaid-parser.core-B2-C9kB8.js";var c=e().RailroadAbnf.parser.LangiumParser,l=t(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=t(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=t(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=t(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=t(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=t(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=t(e=>{o(e,a),e.title&&a.setTitle(e.title),e.rules.map(e=>a.addRule(m(e)))},`populateDb`),g={parser:{parse:t(e=>{a.clear(),n.debug(`[ABNF Parser] Starting Langium parse`);let t=c.parse(e);if(t.lexerErrors.length>0||t.parserErrors.length>0)throw new s(t);let r=t.value;n.debug(`[ABNF Parser] Parsed rules:`,r.rules.length),h(r),n.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:a}},db:a,renderer:i,styles:r};export{g as diagram};
1
+ import{n as e}from"./chunk-5HE753X5-Cg3JdNF3.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-BvgQ2BWs.js";import"./chunk-WYO6CB5R-BBCHPFWt.js";import"./chunk-VAUOI2AC-C6BaCKWp.js";import{n as r,r as i,t as a}from"./chunk-MOJQB5TN-zlBuobC7.js";import{t as o}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as s}from"./mermaid-parser.core-BPoagdtX.js";var c=e().RailroadAbnf.parser.LangiumParser,l=t(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=t(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=t(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=t(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=t(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=t(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=t(e=>{o(e,a),e.title&&a.setTitle(e.title),e.rules.map(e=>a.addRule(m(e)))},`populateDb`),g={parser:{parse:t(e=>{a.clear(),n.debug(`[ABNF Parser] Starting Langium parse`);let t=c.parse(e);if(t.lexerErrors.length>0||t.parserErrors.length>0)throw new s(t);let r=t.value;n.debug(`[ABNF Parser] Parsed rules:`,r.rules.length),h(r),n.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:a}},db:a,renderer:i,styles:r};export{g as diagram};