@objectstack/console 12.3.0 → 12.4.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 (248) hide show
  1. package/dist/.objectui-sha +1 -1
  2. package/dist/assets/{AdapterProvider-_4c7hk3d.js → AdapterProvider-DYYVhErE.js} +1 -1
  3. package/dist/assets/{AiPendingActionsPage-Gc2Wh8Kh.js → AiPendingActionsPage-BRZ9smBE.js} +1 -1
  4. package/dist/assets/ApiConsolePage-DqCLFtg6.js +1 -0
  5. package/dist/assets/AppDocsIndex-ChTjYsgs.js +1 -0
  6. package/dist/assets/AppManagementPage-CpBtMYk7.js +1 -0
  7. package/dist/assets/ApprovalsInboxPage-Cm6RlF50.js +1 -0
  8. package/dist/assets/{AuditLogPage-C-rDSpPt.js → AuditLogPage-BUapxa-t.js} +1 -1
  9. package/dist/assets/{ComponentNavView-DX23dzZd.js → ComponentNavView-CV-L0t8o.js} +1 -1
  10. package/dist/assets/ConsoleFloatingChatbot-BtSnKZ5C.js +1 -0
  11. package/dist/assets/CreateViewDialog-CMNLzv6j.js +1 -0
  12. package/dist/assets/DashboardView-DTeb8b6a.js +1 -0
  13. package/dist/assets/DashboardWidgetInspector-CUJFDeER.js +1 -0
  14. package/dist/assets/DeveloperHubPage-CigDAiDQ.js +1 -0
  15. package/dist/assets/{ExpressionProvider-w-HoWEV1.js → ExpressionProvider-ODpzkcN3.js} +1 -1
  16. package/dist/assets/FlowRunsPage-BCTyVNQV.js +1 -0
  17. package/dist/assets/{IntegrationsPage-COvUlRq2.js → IntegrationsPage-D8453O8m.js} +2 -2
  18. package/dist/assets/InterfaceListPage-CaG6oJ3-.js +1 -0
  19. package/dist/assets/{ManagedByBadge-BZofhfqM.js → ManagedByBadge-BGSB7vGi.js} +1 -1
  20. package/dist/assets/MarketplaceAccessDenied-CAuxNcMw.js +1 -0
  21. package/dist/assets/MarketplaceInstalledPage-DIKAvmEt.js +1 -0
  22. package/dist/assets/MarketplacePackagePage-CxoOdisY.js +4 -0
  23. package/dist/assets/MarketplacePage-SkUEdd3B.js +1 -0
  24. package/dist/assets/{MetadataInspector-CpceGXDL.js → MetadataInspector-RvnQ-QOT.js} +1 -1
  25. package/dist/assets/MetadataProvider-BpQl3Bw2.js +1 -0
  26. package/dist/assets/{MonacoImpl-DoDns4Vj.js → MonacoImpl-nyLaER8_.js} +1 -1
  27. package/dist/assets/ObjectDataPage-CnMdpBNe.js +1 -0
  28. package/dist/assets/PageView-Ckvi7QO6.js +1 -0
  29. package/dist/assets/ProfilePage-7etuxYZk.js +1 -0
  30. package/dist/assets/PublicFormsPage-xWq9jZzJ.js +1 -0
  31. package/dist/assets/RecordDetailView-CzR6BAUv.js +9 -0
  32. package/dist/assets/{RecordFormPage-CbvOD5UT.js → RecordFormPage-DTyNzewM.js} +1 -1
  33. package/dist/assets/ReportDefaultInspector-BA-D9th_.js +11 -0
  34. package/dist/assets/ReportView-CHBbT7mP.js +2 -0
  35. package/dist/assets/{SearchResultsPage-D0nbmFox.js → SearchResultsPage-BIuFjDoa.js} +1 -1
  36. package/dist/assets/{SettingsHub-BsZee-2C.js → SettingsHub-ZMQjBQwP.js} +1 -1
  37. package/dist/assets/SettingsView-eCnpX1vu.js +1 -0
  38. package/dist/assets/SystemHubPage-f4hYqDoI.js +1 -0
  39. package/dist/assets/{abnfDiagram-VRR7QNED-DWrainSQ.js → abnfDiagram-VRR7QNED-o_fBNeYD.js} +1 -1
  40. package/dist/assets/architecture-TIHT7OUA-BF_0SrOH.js +1 -0
  41. package/dist/assets/{architectureDiagram-ZJ3FMSHR-BqIfH_cZ.js → architectureDiagram-ZJ3FMSHR-Bk_LES5L.js} +1 -1
  42. package/dist/assets/{assistantBus-DosfPCbN.js → assistantBus-BFk4fCbM.js} +1 -1
  43. package/dist/assets/{blockDiagram-677ZJIJ3-BDhRO3KX.js → blockDiagram-677ZJIJ3-BmONypzo.js} +1 -1
  44. package/dist/assets/{c4Diagram-LMCZKHZV-DBmvkEa3.js → c4Diagram-LMCZKHZV-DqIiaVjm.js} +1 -1
  45. package/dist/assets/channel-CvRTB8GE.js +1 -0
  46. package/dist/assets/{chunk-32BRIVSS-1_aHOdgh.js → chunk-32BRIVSS-BbTX8O4m.js} +1 -1
  47. package/dist/assets/{chunk-52WLFC77-C-mFgIG6.js → chunk-52WLFC77-DkgICN4F.js} +1 -1
  48. package/dist/assets/{chunk-C7G6YPKG-DvvI9WqY.js → chunk-C7G6YPKG-UMP_bNDd.js} +1 -1
  49. package/dist/assets/{chunk-EX3LRPZG-BaKE258M.js → chunk-EX3LRPZG-B0dJ64Ff.js} +1 -1
  50. package/dist/assets/{chunk-FWX5IMBZ-BZ1KYToN.js → chunk-FWX5IMBZ-B8cCL4T7.js} +1 -1
  51. package/dist/assets/{chunk-HOUHSVGY-BjQmUg1D.js → chunk-HOUHSVGY-B5nScni0.js} +1 -1
  52. package/dist/assets/{chunk-ICXQ74PX-DGFLQjwm.js → chunk-ICXQ74PX-zJg8KmvA.js} +1 -1
  53. package/dist/assets/{chunk-KEIR6QF5-MVybfwhZ.js → chunk-KEIR6QF5-CxDrFr0l.js} +3 -3
  54. package/dist/assets/{chunk-MOJQB5TN-aPZk6pC8.js → chunk-MOJQB5TN-DBKCpvOi.js} +1 -1
  55. package/dist/assets/{chunk-OGEWGWER-C_9e4OS0.js → chunk-OGEWGWER-bKk51Nxt.js} +1 -1
  56. package/dist/assets/{chunk-PUDLZKDR-c0kZKR-G.js → chunk-PUDLZKDR-CKn_9iXM.js} +1 -1
  57. package/dist/assets/{chunk-Q4XR5HBZ-o24M5lkF.js → chunk-Q4XR5HBZ-BP9atbVx.js} +1 -1
  58. package/dist/assets/{chunk-RYQCIY6F-DUMnfbFk.js → chunk-RYQCIY6F-B5RR1tIz.js} +1 -1
  59. package/dist/assets/{chunk-V7JOEXUC-BP0RE3_V.js → chunk-V7JOEXUC-DTerDTcg.js} +1 -1
  60. package/dist/assets/chunk-VAUOI2AC-BrcFPe7Z.js +1 -0
  61. package/dist/assets/{chunk-VR4S4FIN-DykLEeqy.js → chunk-VR4S4FIN-jB_W-MHs.js} +1 -1
  62. package/dist/assets/chunk-WYO6CB5R-Cndg0Yo5.js +127 -0
  63. package/dist/assets/chunk-XXDRQBXY-DGANY6E3.js +1 -0
  64. package/dist/assets/{chunk-ZGVPDNZ5-DQH9cJwj.js → chunk-ZGVPDNZ5-BUUSzPje.js} +1 -1
  65. package/dist/assets/classDiagram-OUVF2IWQ-BGL42sFI.js +1 -0
  66. package/dist/assets/classDiagram-v2-EOCWNBFH-BGL42sFI.js +1 -0
  67. package/dist/assets/{cose-bilkent-JH36ORCC-CDWwyRUu.js → cose-bilkent-JH36ORCC-DJ-X6wmF.js} +1 -1
  68. package/dist/assets/cynefin-VYW2F7L2-CXt4AgYW.js +1 -0
  69. package/dist/assets/{cynefinDiagram-TSTJHNR4-Dn83Cn2D.js → cynefinDiagram-TSTJHNR4-C5mKt5aU.js} +1 -1
  70. package/dist/assets/{cytoscape.esm-Djp6vQyU.js → cytoscape.esm-B3I8pqwA.js} +1 -1
  71. package/dist/assets/{dagre-VKFMJZFB-DYKhgtL2.js → dagre-VKFMJZFB-Crs38V5P.js} +2 -2
  72. package/dist/assets/{data-adapter-W6WwA2ln.js → data-adapter-DLOPVTZ2.js} +1 -1
  73. package/dist/assets/{diagram-FQU43EPY-84kGXmcJ.js → diagram-FQU43EPY-Bkx8ccpS.js} +1 -1
  74. package/dist/assets/{diagram-G47NLZAW-FzYRzXJF.js → diagram-G47NLZAW-CSNJrWDK.js} +1 -1
  75. package/dist/assets/{diagram-NH7WQ7WH-D2_7Upma.js → diagram-NH7WQ7WH-PaRAbfdR.js} +1 -1
  76. package/dist/assets/{diagram-OA4YK3LP-uqOHgtNB.js → diagram-OA4YK3LP-C2A07yOA.js} +1 -1
  77. package/dist/assets/{diagram-WEI45ONY-BoLpoJXF.js → diagram-WEI45ONY-BEyyGNpU.js} +1 -1
  78. package/dist/assets/{dist-CfcbLQde.js → dist-YwlXXOlT.js} +1 -1
  79. package/dist/assets/{ebnfDiagram-CCIWWBDH-DLYgN3Ab.js → ebnfDiagram-CCIWWBDH-CtfwkNuv.js} +1 -1
  80. package/dist/assets/{erDiagram-Q63AITRT-BmagGyFR.js → erDiagram-Q63AITRT-DjK6P1sf.js} +1 -1
  81. package/dist/assets/eventmodeling-45OFAUF4-Dmacb12o.js +1 -0
  82. package/dist/assets/{exceljs.min-DIyttv_G.js → exceljs.min-Dpb6mnud.js} +2 -2
  83. package/dist/assets/flowDiagram-23GEKE2U-DfQvGNQk.js +1 -0
  84. package/dist/assets/framework-B3O15Lsq.js +36 -0
  85. package/dist/assets/{ganttDiagram-NO4QXBWP-DdGzwLRB.js → ganttDiagram-NO4QXBWP-UPhpWlEd.js} +1 -1
  86. package/dist/assets/getIcon-B5xaQx5N.js +1 -0
  87. package/dist/assets/gitGraph-TEB2WS4Q-ChM6j6Bd.js +1 -0
  88. package/dist/assets/{gitGraphDiagram-IHSO6WYX-Dv8qb0qh.js → gitGraphDiagram-IHSO6WYX-B6Qcltd9.js} +2 -2
  89. package/dist/assets/{highlighted-body-OFNGDK62-CLUabCIi.js → highlighted-body-OFNGDK62-B_roNkgm.js} +1 -1
  90. package/dist/assets/index-B-sF8xtC.css +2 -0
  91. package/dist/assets/index-TdJi7kFM.js +2 -0
  92. package/dist/assets/info-DKCQHKI2-C0RTkygr.js +1 -0
  93. package/dist/assets/{infoDiagram-FWYZ7A6U-BnI8Gbdt.js → infoDiagram-FWYZ7A6U-CgEoZeWY.js} +1 -1
  94. package/dist/assets/infrastructure-Bcx6-8du.js +3 -0
  95. package/dist/assets/{ishikawaDiagram-FXEZZL3T-BfpmvVA0.js → ishikawaDiagram-FXEZZL3T-DvmRhm8H.js} +1 -1
  96. package/dist/assets/{journeyDiagram-5HDEW3XC-8UQvh7pY.js → journeyDiagram-5HDEW3XC-DFf6bjOX.js} +2 -2
  97. package/dist/assets/{kanban-definition-HUTT4EX6-CFX7QbbK.js → kanban-definition-HUTT4EX6-DLK5X8Ol.js} +1 -1
  98. package/dist/assets/maplibre-gl-R0DO2NBr.js +748 -0
  99. package/dist/assets/{marketplaceApi-BLyDDfGk.js → marketplaceApi-zYQofLEk.js} +1 -1
  100. package/dist/assets/mermaid-GHXKKRXX-B7uCX_yo.js +1 -0
  101. package/dist/assets/{mermaid-parser.core-qFqgm_H6.js → mermaid-parser.core-DV_Ys_OF.js} +2 -2
  102. package/dist/assets/{mermaid.core-T8rJXbMH.js → mermaid.core-D3axazyv.js} +2 -2
  103. package/dist/assets/metadata-admin-DJAg5WLs.js +22 -0
  104. package/dist/assets/{mindmap-definition-LN4V7U3C-BmcygCh7.js → mindmap-definition-LN4V7U3C-DwbonLR_.js} +1 -1
  105. package/dist/assets/packet-7NZHBO7P-DSHvkxBR.js +1 -0
  106. package/dist/assets/{pegDiagram-2B236MQR-D3IbyQE9.js → pegDiagram-2B236MQR-B4IMkAIV.js} +1 -1
  107. package/dist/assets/pie-RZYD4A2V-DjNUdL88.js +1 -0
  108. package/dist/assets/{pieDiagram-ENE6RG2P-BZteOl-k.js → pieDiagram-ENE6RG2P-D8jBhNXT.js} +1 -1
  109. package/dist/assets/plugin-calendar-BKbWgkod.js +1 -0
  110. package/dist/assets/plugin-charts-BZo5ApEF.js +7 -0
  111. package/dist/assets/plugin-chatbot-D2Uv-hn9.js +120 -0
  112. package/dist/assets/plugin-dashboard-CRFZp7gC.js +6 -0
  113. package/dist/assets/plugin-form-FeZEoC2R.js +1 -0
  114. package/dist/assets/plugin-gantt-D9YRdBGD.js +93 -0
  115. package/dist/assets/plugin-grid-eiIl2HN_.js +8 -0
  116. package/dist/assets/plugin-kanban-3rFMGC21.js +1 -0
  117. package/dist/assets/plugin-map-BHQrQ_Wu.js +1 -0
  118. package/dist/assets/{plugin-markdown-CWbusz5W.js → plugin-markdown-DesFSRDB.js} +1 -1
  119. package/dist/assets/{plugin-report-Cy6FwNfk.js → plugin-report-BKD6SOp5.js} +4 -4
  120. package/dist/assets/plugin-timeline-BrkABjqu.js +1 -0
  121. package/dist/assets/{plugin-tree-CtakCCIf.js → plugin-tree-CKck3lEJ.js} +1 -1
  122. package/dist/assets/plugin-view-BJ9uLrnO.js +1 -0
  123. package/dist/assets/plugins-views-CibWNUsP.js +4 -0
  124. package/dist/assets/{quadrantDiagram-ABIIQ3AL-DPVvulM5.js → quadrantDiagram-ABIIQ3AL-Do3adYzz.js} +1 -1
  125. package/dist/assets/radar-I7S5WNFK-qO0bWLwF.js +1 -0
  126. package/dist/assets/railroad-3IZDKUUU-CAj9esX-.js +1 -0
  127. package/dist/assets/railroad-abnf-AHOZXSZD-Ci_Yg729.js +1 -0
  128. package/dist/assets/railroad-ebnf-EBAXGLYW-Tz7H2Jrw.js +1 -0
  129. package/dist/assets/railroad-peg-LSFZ7HO6-BJIalSaK.js +1 -0
  130. package/dist/assets/{railroadDiagram-RFXS5EU6-CgLSy8wn.js → railroadDiagram-RFXS5EU6-DDA7XtKq.js} +1 -1
  131. package/dist/assets/{requirementDiagram-TGXJPOKE-DYX2pMfn.js → requirementDiagram-TGXJPOKE-CClkXauU.js} +1 -1
  132. package/dist/assets/{sankeyDiagram-HTMAVEWB-amvhkMhz.js → sankeyDiagram-HTMAVEWB-DlUFch6E.js} +1 -1
  133. package/dist/assets/{sequenceDiagram-DBY2YBRQ-CPxWMCbb.js → sequenceDiagram-DBY2YBRQ-BEDTwji4.js} +1 -1
  134. package/dist/assets/{skeletons-BK6x7CYd.js → skeletons-CzC0fiXD.js} +1 -1
  135. package/dist/assets/src-6xqJEeiC.js +15 -0
  136. package/dist/assets/{src-BPEDMjfw.js → src-BeTFx9-N.js} +1 -1
  137. package/dist/assets/{src-BvIm_4jD.js → src-CSRoqdRD.js} +1 -1
  138. package/dist/assets/{src-6rOMKMLU.js → src-D0ZYDfff.js} +1 -1
  139. package/dist/assets/{stateDiagram-2N3HPSRC-DkFPpTq2.js → stateDiagram-2N3HPSRC-BN6M4MGy.js} +1 -1
  140. package/dist/assets/stateDiagram-v2-6OUMAXLB-DCaXJLPh.js +1 -0
  141. package/dist/assets/{swimlanes-5IMT3BWC-DMPnpahc.js → swimlanes-5IMT3BWC-Bycq06w3.js} +1 -1
  142. package/dist/assets/swimlanesDiagram-G3AALYLV-DWFAvAh7.js +8 -0
  143. package/dist/assets/{timeline-definition-FHXFAJF6-DMhg5ZmV.js → timeline-definition-FHXFAJF6-B6Oiv_gP.js} +1 -1
  144. package/dist/assets/treeView-QDETBFTQ-Cc2FYETg.js +1 -0
  145. package/dist/assets/treemap-6X3UGDF4-a4EjGpO3.js +1 -0
  146. package/dist/assets/{types-X8W-qTHJ.js → types-UYoEctl-.js} +1 -1
  147. package/dist/assets/ui-components-rkvkkTxO.js +42 -0
  148. package/dist/assets/{ui-layout-BdFgfR9C.js → ui-layout-CAjjF5_S.js} +1 -1
  149. package/dist/assets/{useMetadata-DAEfn7ks.js → useMetadata-Eb5o6ihl.js} +1 -1
  150. package/dist/assets/useOpenRecordList-DIo7M1au.js +1 -0
  151. package/dist/assets/{usePackageL10n-CasuagU5.js → usePackageL10n-CiFMHfKe.js} +1 -1
  152. package/dist/assets/{useReconcileOnError-CtvIPgmD.js → useReconcileOnError-4is_Tic6.js} +1 -1
  153. package/dist/assets/{useRecordApprovals-BHkgfYJW.js → useRecordApprovals-obyIj2_8.js} +1 -1
  154. package/dist/assets/vendor-charts-D_CNNxD5.js +67 -0
  155. package/dist/assets/vendor-dndkit-CzBh0_98.js +5 -0
  156. package/dist/assets/vendor-i18n-B6GOGCem.js +1 -0
  157. package/dist/assets/{vendor-icons-core-CPQTXONm.js → vendor-icons-core-DvLgTVYc.js} +1 -1
  158. package/dist/assets/{vendor-markdown-Cbritblm.js → vendor-markdown-BJvgKhXw.js} +18 -18
  159. package/dist/assets/vendor-objectstack-Bw0HRuFa.js +95 -0
  160. package/dist/assets/vendor-radix-DCTEpigg.js +46 -0
  161. package/dist/assets/vendor-react-BGDDiZfJ.js +13 -0
  162. package/dist/assets/vendor-sentry-CHRc7_3y.js +501 -0
  163. package/dist/assets/{vendor-ui-utils-C1OpMExs.js → vendor-ui-utils-BzQBRdq3.js} +1 -1
  164. package/dist/assets/{vennDiagram-L72KCM5P-BCn9MNWT.js → vennDiagram-L72KCM5P-DqRcgOxS.js} +1 -1
  165. package/dist/assets/wardley-OPB4EBWU-CuNyH0xZ.js +1 -0
  166. package/dist/assets/{wardleyDiagram-EHGQE667-ShqmBgOZ.js → wardleyDiagram-EHGQE667-BDyIMWfB.js} +1 -1
  167. package/dist/assets/{xychartDiagram-FW5EYKEG-D1hShMP_.js → xychartDiagram-FW5EYKEG-BRNQk20I.js} +1 -1
  168. package/dist/index.html +6 -6
  169. package/package.json +1 -1
  170. package/dist/assets/ApiConsolePage-CmiLmtuU.js +0 -1
  171. package/dist/assets/AppDocsIndex-CG7e4V2y.js +0 -1
  172. package/dist/assets/AppManagementPage-C7T-9Exg.js +0 -1
  173. package/dist/assets/ApprovalsInboxPage-D9PFFxKD.js +0 -1
  174. package/dist/assets/ConsoleFloatingChatbot-CmLazUxX.js +0 -1
  175. package/dist/assets/CreateViewDialog-6JmiAMxS.js +0 -1
  176. package/dist/assets/DashboardView-Al7ce4gm.js +0 -1
  177. package/dist/assets/DashboardWidgetInspector-BmIMgSGO.js +0 -1
  178. package/dist/assets/DeveloperHubPage-D8eYekI9.js +0 -1
  179. package/dist/assets/FlowRunsPage-Hs5i7s3C.js +0 -1
  180. package/dist/assets/InterfaceListPage-JNxR3qlQ.js +0 -1
  181. package/dist/assets/MarketplaceAccessDenied-Cur1UQ0U.js +0 -1
  182. package/dist/assets/MarketplaceInstalledPage-D9ow2tlx.js +0 -1
  183. package/dist/assets/MarketplacePackagePage-0AKyKbMD.js +0 -4
  184. package/dist/assets/MarketplacePage-DUzZZa8D.js +0 -1
  185. package/dist/assets/MetadataProvider-MNkZn-bR.js +0 -1
  186. package/dist/assets/ObjectDataPage-CUJksP8e.js +0 -1
  187. package/dist/assets/PageView-AS6xg5z-.js +0 -1
  188. package/dist/assets/ProfilePage-iJeMD7FK.js +0 -1
  189. package/dist/assets/PublicFormsPage-C-wbtEXG.js +0 -1
  190. package/dist/assets/RecordDetailView-Ba0xool8.js +0 -9
  191. package/dist/assets/ReportDefaultInspector-OSqdhKEL.js +0 -11
  192. package/dist/assets/ReportView-Df7cdlQo.js +0 -2
  193. package/dist/assets/SettingsView-CSBwd4YP.js +0 -1
  194. package/dist/assets/SystemHubPage-n41ly_cC.js +0 -1
  195. package/dist/assets/architecture-TIHT7OUA-D3WxD8aQ.js +0 -1
  196. package/dist/assets/channel-MM6d7ooS.js +0 -1
  197. package/dist/assets/chunk-VAUOI2AC-Bgyec1On.js +0 -1
  198. package/dist/assets/chunk-WYO6CB5R-BBbafnWJ.js +0 -127
  199. package/dist/assets/chunk-XXDRQBXY-V26l8fww.js +0 -1
  200. package/dist/assets/classDiagram-OUVF2IWQ-BOtUpfWB.js +0 -1
  201. package/dist/assets/classDiagram-v2-EOCWNBFH-BOtUpfWB.js +0 -1
  202. package/dist/assets/cynefin-VYW2F7L2-v0nc1IZv.js +0 -1
  203. package/dist/assets/eventmodeling-45OFAUF4-CHsG6T7D.js +0 -1
  204. package/dist/assets/flowDiagram-23GEKE2U-BZtO2Jjx.js +0 -1
  205. package/dist/assets/framework-B9PMswdm.js +0 -36
  206. package/dist/assets/getIcon-DkcFniPV.js +0 -1
  207. package/dist/assets/gitGraph-TEB2WS4Q-DEB3Nljf.js +0 -1
  208. package/dist/assets/index-Oki50z-M.js +0 -2
  209. package/dist/assets/index-rbBh03NP.css +0 -2
  210. package/dist/assets/info-DKCQHKI2-BMNzABlv.js +0 -1
  211. package/dist/assets/infrastructure-BnbfcrX8.js +0 -3
  212. package/dist/assets/maplibre-gl-DGbvC0OV.js +0 -748
  213. package/dist/assets/mermaid-GHXKKRXX-Df_DEhBm.js +0 -1
  214. package/dist/assets/metadata-admin-DiOg8Tx8.js +0 -22
  215. package/dist/assets/packet-7NZHBO7P-CVEX3X_K.js +0 -1
  216. package/dist/assets/pie-RZYD4A2V-VzBvughO.js +0 -1
  217. package/dist/assets/plugin-calendar-CVeG5Hhb.js +0 -1
  218. package/dist/assets/plugin-charts-BTfOaZVx.js +0 -7
  219. package/dist/assets/plugin-chatbot-COpsZSy4.js +0 -120
  220. package/dist/assets/plugin-dashboard-Bi5WrqPG.js +0 -6
  221. package/dist/assets/plugin-form-CzotVFc-.js +0 -1
  222. package/dist/assets/plugin-gantt-BUcqVYxX.js +0 -93
  223. package/dist/assets/plugin-grid-BXfwTczT.js +0 -8
  224. package/dist/assets/plugin-kanban-Dw_QTU-e.js +0 -1
  225. package/dist/assets/plugin-map-D89OX2_H.js +0 -1
  226. package/dist/assets/plugin-timeline-BAImk_4t.js +0 -1
  227. package/dist/assets/plugin-view-DZC_ZJtv.js +0 -1
  228. package/dist/assets/plugins-views-CxFTNQJ7.js +0 -4
  229. package/dist/assets/radar-I7S5WNFK-BvMfKOT_.js +0 -1
  230. package/dist/assets/railroad-3IZDKUUU-DfKQD3PJ.js +0 -1
  231. package/dist/assets/railroad-abnf-AHOZXSZD-DVyrJPzV.js +0 -1
  232. package/dist/assets/railroad-ebnf-EBAXGLYW-Cri8VQ5d.js +0 -1
  233. package/dist/assets/railroad-peg-LSFZ7HO6-Bmvxxxt6.js +0 -1
  234. package/dist/assets/src-CCztNT-4.js +0 -15
  235. package/dist/assets/stateDiagram-v2-6OUMAXLB-C_tQckF_.js +0 -1
  236. package/dist/assets/swimlanesDiagram-G3AALYLV-BLVdl7Q4.js +0 -8
  237. package/dist/assets/treeView-QDETBFTQ-Cz0fwXom.js +0 -1
  238. package/dist/assets/treemap-6X3UGDF4-BlqJD81v.js +0 -1
  239. package/dist/assets/ui-components-DsYvPIox.js +0 -42
  240. package/dist/assets/useOpenRecordList-DL3H_OJi.js +0 -1
  241. package/dist/assets/vendor-charts-DVOdzzh2.js +0 -67
  242. package/dist/assets/vendor-dndkit-0M_nRjzm.js +0 -5
  243. package/dist/assets/vendor-i18n-sU23bKX1.js +0 -1
  244. package/dist/assets/vendor-objectstack-sPlD8LgO.js +0 -95
  245. package/dist/assets/vendor-radix-DniuRzL-.js +0 -46
  246. package/dist/assets/vendor-react-slxo-5GC.js +0 -11
  247. package/dist/assets/vendor-sentry-BnfuR4xu.js +0 -501
  248. package/dist/assets/wardley-OPB4EBWU-DdYQ8RHK.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{_ as t,l as n,r,t as i}from"./vendor-react-slxo-5GC.js";import{$i as a,Ac as o,At as s,Ct as c,Dt as l,Gt as u,Io as d,Mt as f,Ot as p,Qn as ee,Tt as m,Vs as h,Xn as g,Zn as _,_o as v,ea as y,jt as b,kt as x,li as S,or as C,rt as w,wt as T,zt as E}from"./ui-components-DsYvPIox.js";import{_ as D,c as O,d as k,n as A,o as j,p as M,s as N,t as P,u as F,v as I,y as L}from"./vendor-dndkit-0M_nRjzm.js";var R=e(t(),1),z=i();function B(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return null;let n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,i=parseInt(t[3],16)/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=0,c=0,l=(a+o)/2;if(a!==o){let e=a-o;switch(c=l>.5?e/(2-a-o):e/(a+o),a){case n:s=((r-i)/e+(r<i?6:0))/6;break;case r:s=((i-n)/e+2)/6;break;case i:s=((n-r)/e+4)/6;break}}return{h:s*360,s:c*100,l:l*100}}function V(e){let t=B(e);return t?`${Math.round(t.h)} ${Math.round(t.s)}% ${Math.round(t.l)}%`:null}function H(e){let t=B(e);if(!t)return null;let n=Math.max(t.l,65),r=t.s>80?Math.max(t.s-10,70):t.s;return`${Math.round(t.h)} ${Math.round(r)}% ${Math.round(n)}%`}function U(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return`0 0% 100%`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(parseInt(t[1],16)),i=n(parseInt(t[2],16)),a=n(parseInt(t[3],16));return .2126*r+.7152*i+.0722*a>.6?`222 47% 11%`:`0 0% 100%`}function W(e,t){(0,R.useEffect)(()=>{let n=document.documentElement,r=()=>n.classList.contains(`dark`),i=()=>{if(e?.primaryColor){let t=V(e.primaryColor),i=H(e.primaryColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-primary`,e.primaryColor),n.style.setProperty(`--brand-primary-hsl`,t||a),n.style.setProperty(`--primary`,a),n.style.setProperty(`--primary-foreground`,r()?`222 47% 11%`:U(e.primaryColor)),n.style.setProperty(`--ring`,a),n.style.setProperty(`--sidebar-primary`,a),n.style.setProperty(`--sidebar-ring`,a))}else n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`);if(e?.accentColor){let t=V(e.accentColor),i=H(e.accentColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-accent`,e.accentColor),n.style.setProperty(`--brand-accent-hsl`,t||a),n.style.setProperty(`--accent`,a),n.style.setProperty(`--accent-foreground`,r()?`222 47% 11%`:U(e.accentColor)))}else n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)};i();let a=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`class`){i();break}});if(a.observe(n,{attributes:!0,attributeFilter:[`class`]}),e?.favicon){let t=document.querySelector(`#favicon`)||document.querySelector(`link[rel="icon"]`);t&&(t.href=e.favicon)}return t&&(document.title=t),()=>{a.disconnect(),n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)}},[e?.primaryColor,e?.accentColor,e?.favicon,t])}function G({sidebar:e,navbar:t,children:n,className:r,defaultOpen:i=!0,branding:a}){return W(a,a?.title),(0,z.jsxs)(f,{defaultOpen:i,className:`!flex-col h-svh overflow-hidden`,children:[(0,z.jsx)(`header`,{className:`sticky top-0 z-30 flex h-14 w-full shrink-0 items-center gap-2 border-b bg-background px-2 sm:px-4`,children:t}),(0,z.jsxs)(`div`,{className:`flex flex-1 min-h-0 w-full`,children:[e,(0,z.jsx)(l,{className:`min-w-0`,children:(0,z.jsx)(`main`,{className:o(`flex-1 min-w-0 overflow-auto p-3 sm:p-4 md:p-6 pb-20 sm:pb-4 md:pb-6`,r),children:n})})]})]})}function K(e){return e?w(e):d}function q(e,t){if(typeof e==`string`)return e;if(t){let n=t(e.key,{defaultValue:e.defaultValue,...e.params});if(n&&n!==e.key)return n}return e.defaultValue||e.key}function te(e,t,n,r,i,a,o){let s=q(e.label,n);if(typeof e.label!=`string`)return s;let c=e=>!!e&&s.trim().toLowerCase()!==e.trim().toLowerCase();if(e.type===`object`&&e.objectName){if(e.viewName)return c(e.viewName)?s:a?a(e.objectName,e.viewName,s):s;if(c(e.objectName))return s;if(t)return t(e.objectName,s)}if(e.type===`dashboard`&&e.dashboardName){if(c(e.dashboardName))return s;if(r)return r(e.dashboardName,s)}if(e.type===`group`&&e.id){if(c(e.id))return s;if(i)return i(e.id,s)}return o&&e.id&&!c(e.id)?o(e.id,s):s}var ne=e=>!(e===!1||e===`false`),J=()=>!0,re=()=>!0,ie=/\{(current_user_id|current_org_id|[a-z][a-z0-9_]*)\}/g;function Y(e,t){if(!e.includes(`{`))return e;let n=!1,r=e.replace(ie,(e,r)=>{let i;return i=r===`current_user_id`?t?.currentUserId:r===`current_org_id`?t?.currentOrgId:t?.contextValues?.[r],i||(n=!0,``)});return n?null:r}function X(e,t,n){switch(e.type){case`object`:{let r=`${t}/${e.objectName??``}`,i=e.recordId;if(i){let t=Y(i,n);if(t){let n=`${r}/record/${encodeURIComponent(t)}`;return{href:e.recordMode===`edit`?`${n}/edit`:n,external:!1}}}let a=e.filters;if(a&&typeof a==`object`&&!Array.isArray(a)){let e=new URLSearchParams;for(let[t,r]of Object.entries(a)){if(r==null||t===``)continue;let i=Y(String(r),n);i!==null&&e.set(`filter[${t}]`,i)}let t=e.toString();return{href:t?`${r}/data?${t}`:`${r}/data`,external:!1}}return{href:e.viewName?`${r}/view/${e.viewName}`:r,external:!1}}case`dashboard`:return{href:e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`,external:!1};case`page`:{if(!e.pageName)return{href:`#`,external:!1};let r=e.params,i=`${t}/page/${e.pageName}`;if(r&&typeof r==`object`){let e=new URLSearchParams;for(let[t,i]of Object.entries(r))if(i!=null)if(typeof i==`string`){let r=Y(i,n);r!==null&&e.set(t,r)}else e.set(t,JSON.stringify(i));let t=e.toString();t&&(i+=`?${t}`)}return{href:i,external:!1}}case`report`:return{href:e.reportName?`${t}/report/${e.reportName}`:`#`,external:!1};case`url`:return{href:e.url??`#`,external:e.target===`_blank`};case`component`:{let r=e.componentRef;if(!r)return{href:`#`,external:!1};let i=r.split(`:`).filter(Boolean);if(i.length===0)return{href:`#`,external:!1};let a=e.params;if(i[0]===`metadata`){let e=i[1],r=a&&typeof a.type==`string`?a.type:void 0,o=a&&typeof a.name==`string`?a.name:void 0,s=``;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,r]of Object.entries(a))if(!(t===`type`||t===`name`)&&r!=null)if(typeof r==`string`){let i=Y(r,n);i&&e.set(t,i)}else e.set(t,JSON.stringify(r));let t=e.toString();t&&(s=`?${t}`)}return e===`directory`||!e?{href:`${t}/metadata${s}`,external:!1}:e===`resource`&&r?{href:`${t}/metadata${o?`/${encodeURIComponent(r)}/${encodeURIComponent(o)}`:`/${encodeURIComponent(r)}`}${s}`,external:!1}:{href:`${t}/metadata${s}`,external:!1}}let o=`${t}/component/${i.join(`/`)}`;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,n]of Object.entries(a))n!=null&&e.set(t,typeof n==`string`?n:JSON.stringify(n));let t=e.toString();t&&(o+=`?${t}`)}return{href:o,external:!1}}default:return{href:`#`,external:!1}}}var Z=50,ae=40,oe=30,se=25,ce=10,le=5;function ue(e){let t=new Map;return new URLSearchParams(e).forEach((e,n)=>{let r=/^filter\[(.+)\]$/.exec(n);r&&r[1]&&e!==``&&t.set(r[1],e)}),t}function de(e,t){return t.startsWith(`${e}.`)?t.slice(e.length+1):t}function fe(e,t,n,r,i){let{href:a,external:o}=X(e,r,i);if(o||a===`#`)return 0;if(e.type===`object`&&e.objectName){let a=`${r}/${e.objectName}`;if(t!==a&&!t.startsWith(`${a}/`))return 0;let o=t===a?[]:t.slice(a.length+1).split(`/`),s=e.recordId;if(s){let e=Y(s,i);if(e)return o[0]===`record`&&decodeURIComponent(o[1]??``)===e?Z:0}let c=e.filters;if(c&&typeof c==`object`&&!Array.isArray(c)){if(o[0]!==`data`)return 0;let e=new Map;for(let[t,n]of Object.entries(c)){if(n==null||t===``)continue;let r=Y(String(n),i);r!==null&&e.set(t,r)}if(e.size!==n.size)return 0;for(let[t,r]of e)if(n.get(t)!==r)return 0;return ae}return e.viewName?o[0]!==`view`||!o[1]?0:de(e.objectName,decodeURIComponent(o[1]))===de(e.objectName,e.viewName)?oe:0:o.length===0?se:ce}let s=a.split(`?`)[0];if(t===s)return se;let c=e.componentRef;return c&&c.split(`:`)[1]===`directory`?0:t.startsWith(`${s}/`)?le:0}function pe(e,t,n,r,i){let a=ue(n),o=null,s=0,c=e=>{if(e)for(let n of e){if(n.type===`group`){c(n.children);continue}let e=fe(n,t,a,r,i);e>s&&(o=n,s=e)}};return c(e),o}var Q=R.createContext(null);function me(e,t){if(!t.trim())return e;let n=t.toLowerCase().trim();return e.reduce((e,r)=>{if(r.type===`separator`)return e;if(r.type===`group`&&r.children?.length){let n=me(r.children,t);return n.length>0&&e.push({...r,children:n}),e}return q(r.label).toLowerCase().includes(n)&&e.push(r),e},[])}var he=5;function ge({item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,enableReorder:c,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:ee,templateContext:m}){let{attributes:h,listeners:g,setNodeRef:_,transform:v,transition:y,isDragging:b}=j({id:e.id,disabled:!c});return(0,z.jsx)(`div`,{ref:_,style:{transform:L.Transform.toString(v),transition:y,opacity:b?.5:void 0,zIndex:b?10:void 0},...h,children:(0,z.jsx)($,{item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,dragListeners:c?g:void 0,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:ee,templateContext:m})})}function $({item:e,basePath:t,evalVis:n,checkPerm:i,checkCap:l,onAction:d,enablePinning:f,onPinToggle:S,dragListeners:w,resolveObjectLabel:D,resolveDashboardLabel:O,resolveGroupLabel:k,resolveViewLabel:A,resolveItemLabel:j,t:M,templateContext:N}){let P=E(),F=P?`min-h-[44px] text-[15px] gap-3 rounded-xl`:void 0,I=o(`shrink-0`,P?`h-5 w-5`:`h-4 w-4`),L=(()=>{let t=e.expanded;if(typeof t==`boolean`)return t;if(typeof e.defaultOpen==`boolean`)return e.defaultOpen})(),B=e.type===`group`?e.children?.length??0:0,V=R.useContext(Q),[H,U]=(0,R.useState)(R.useMemo(()=>{if(e.type!==`group`||!V)return!1;let t=e=>!!e?.some(e=>e.id===V||e.type===`group`&&t(e.children));return t(e.children)},[e,V])?!0:L??!(B>=8));if(!n(e.visible)||e.requiredPermissions?.length&&!i(e.requiredPermissions))return null;let W=e.requiresObject,G=e.requiresService;if(W&&!l(`object`,W)||G&&!l(`service`,G))return null;if(e.type===`separator`)return(0,z.jsx)(u,{className:`my-2`});if(e.type===`group`){let r=(e.children??[]).slice().sort((e,t)=>(e.order??0)-(t.order??0)),a=te(e,D,M,O,k,A,j);return(0,z.jsx)(g,{open:H,onOpenChange:U,children:(0,z.jsxs)(c,{children:[(0,z.jsx)(m,{asChild:!0,children:(0,z.jsxs)(ee,{className:o(`flex w-full items-center justify-between`,P&&`min-h-[44px] text-[15px] rounded-xl`),children:[a,(0,z.jsx)(h,{className:o(`ml-auto transition-transform`,P?`h-5 w-5`:`h-4 w-4`,H&&`rotate-90`)})]})}),(0,z.jsx)(_,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:r.map(e=>(0,z.jsx)($,{item:e,basePath:t,evalVis:n,checkPerm:i,checkCap:l,onAction:d,enablePinning:f,onPinToggle:S,resolveObjectLabel:D,resolveDashboardLabel:O,resolveGroupLabel:k,resolveViewLabel:A,resolveItemLabel:j,t:M,templateContext:N},e.id))})})})]})})}if(e.type===`action`){let n=K(e.icon),r=q(e.label,M);return(0,z.jsxs)(b,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":M?M(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(v,{className:`h-3.5 w-3.5`})}),(0,z.jsxs)(s,{tooltip:r,onClick:()=>d?.(e),className:F,children:[(0,z.jsx)(n,{className:I}),(0,z.jsx)(`span`,{children:r}),e.badge!=null&&(0,z.jsx)(C,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]}),f&&S&&(0,z.jsx)(x,{showOnHover:!0,onClick:()=>S(e.id,!e.pinned,e,t),"aria-label":M?M(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${r}`:`Pin ${r}`,name:r}):e.pinned?`Unpin ${r}`:`Pin ${r}`,children:e.pinned?(0,z.jsx)(y,{className:`h-3.5 w-3.5`}):(0,z.jsx)(a,{className:`h-3.5 w-3.5`})})]})}let ne=K(e.icon),{href:J,external:re}=X(e,t,N),ie=V!==null&&e.id===V,Y=te(e,D,M,O,k,A,j),Z=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ne,{className:I}),(0,z.jsx)(`span`,{children:Y}),e.badge!=null&&(0,z.jsx)(C,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]});return(0,z.jsxs)(b,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":M?M(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(v,{className:`h-3.5 w-3.5`})}),(0,z.jsx)(s,{asChild:!0,isActive:ie,tooltip:Y,className:F,children:re?(0,z.jsx)(`a`,{href:J,target:`_blank`,rel:`noopener noreferrer`,children:Z}):(0,z.jsx)(r,{to:J,children:Z})}),f&&S&&(0,z.jsx)(x,{showOnHover:!0,onClick:()=>S(e.id,!e.pinned,e,t),"aria-label":M?M(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${Y}`:`Pin ${Y}`,name:Y}):e.pinned?`Unpin ${Y}`:`Pin ${Y}`,children:e.pinned?(0,z.jsx)(y,{className:`h-3.5 w-3.5`}):(0,z.jsx)(a,{className:`h-3.5 w-3.5`})})]})}function _e({items:e,basePath:t=``,evaluateVisibility:r=ne,checkPermission:i=J,checkCapability:a=re,onAction:o,searchQuery:s,enablePinning:l,onPinToggle:u,enableReorder:d,onReorder:f,resolveObjectLabel:ee,resolveDashboardLabel:h,resolveGroupLabel:g,resolveViewLabel:_,resolveItemLabel:v,t:y,templateContext:b}){let x=n(),C=(0,R.useMemo)(()=>pe(e,x.pathname,x.search,t,b)?.id??null,[e,x.pathname,x.search,t,b]),w=(0,R.useMemo)(()=>s?me(e,s):e,[e,s]),E=(0,R.useMemo)(()=>ve(w),[w]),j=w.slice().sort((e,t)=>(e.order??0)-(t.order??0)),L=I(D(k,{activationConstraint:{distance:he}}),D(F)),B=e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!f)return;let r=j.findIndex(e=>e.id===t.id),i=j.findIndex(e=>e.id===n.id);r===-1||i===-1||f(A(j,r,i).map((e,t)=>({...e,order:t})))},V={basePath:t,evalVis:r,checkPerm:i,checkCap:a,onAction:o,enablePinning:l,onPinToggle:u,resolveObjectLabel:ee,resolveDashboardLabel:h,resolveGroupLabel:g,resolveViewLabel:_,resolveItemLabel:v,t:y,templateContext:b},H=j.some(e=>e.type===`group`),U=E.length>0&&l?(0,z.jsxs)(c,{children:[(0,z.jsxs)(m,{className:`flex items-center gap-1.5`,children:[(0,z.jsx)(S,{className:`h-3.5 w-3.5`}),y?y(`console.nav.favorites`,{defaultValue:`Favorites`}):`Favorites`]}),(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:E.map(e=>(0,z.jsx)($,{item:e,...V},`fav-${e.id}`))})})]}):null;if(!H){let e=j.filter(e=>e.type!==`group`).map(e=>e.id),t=d?(0,z.jsx)(O,{sensors:L,collisionDetection:M,onDragEnd:B,children:(0,z.jsx)(P,{items:e,strategy:N,children:(0,z.jsx)(p,{children:j.map(e=>(0,z.jsx)(ge,{item:e,enableReorder:d,...V},e.id))})})}):(0,z.jsx)(p,{children:j.map(e=>(0,z.jsx)($,{item:e,...V},e.id))});return(0,z.jsxs)(Q.Provider,{value:C,children:[U,(0,z.jsx)(c,{children:(0,z.jsx)(T,{children:t})})]})}let W=[],G=[],K=e=>{if(G.length===0)return;let t=G;G=[],W.push((0,z.jsx)(c,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,...V},e.id))})})},e))};return j.forEach((e,t)=>{e.type===`group`?(K(`leaf-${t}`),W.push((0,z.jsx)($,{item:e,...V},e.id))):G.push(e)}),K(`leaf-end`),(0,z.jsxs)(Q.Provider,{value:C,children:[U,W]})}function ve(e){let t=[];for(let n of e)n.pinned&&n.type!==`group`&&n.type!==`separator`&&t.push(n),n.children?.length&&t.push(...ve(n.children));return t}export{X as n,G as r,_e as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{a as t,d as n,r,y as i}from"./vendor-react-BGDDiZfJ.js";import{$i as a,At as o,Bs as s,Ct as c,Dt as l,Fo as u,Gt as d,Mt as f,Ot as p,Qi as m,Tt as ee,Xn as h,Yn as g,Zn as _,ar as v,ci as y,go as b,jt as x,kc as S,kt as C,rt as w,wt as T,zt as E}from"./ui-components-rkvkkTxO.js";import{_ as D,c as O,d as k,n as A,o as j,p as M,s as N,t as P,u as F,v as I,y as L}from"./vendor-dndkit-CzBh0_98.js";var R=e(i(),1),z=r();function B(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return null;let n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,i=parseInt(t[3],16)/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=0,c=0,l=(a+o)/2;if(a!==o){let e=a-o;switch(c=l>.5?e/(2-a-o):e/(a+o),a){case n:s=((r-i)/e+(r<i?6:0))/6;break;case r:s=((i-n)/e+2)/6;break;case i:s=((n-r)/e+4)/6;break}}return{h:s*360,s:c*100,l:l*100}}function V(e){let t=B(e);return t?`${Math.round(t.h)} ${Math.round(t.s)}% ${Math.round(t.l)}%`:null}function H(e){let t=B(e);if(!t)return null;let n=Math.max(t.l,65),r=t.s>80?Math.max(t.s-10,70):t.s;return`${Math.round(t.h)} ${Math.round(r)}% ${Math.round(n)}%`}function U(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return`0 0% 100%`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(parseInt(t[1],16)),i=n(parseInt(t[2],16)),a=n(parseInt(t[3],16));return .2126*r+.7152*i+.0722*a>.6?`222 47% 11%`:`0 0% 100%`}function W(e,t){(0,R.useEffect)(()=>{let n=document.documentElement,r=()=>n.classList.contains(`dark`),i=()=>{if(e?.primaryColor){let t=V(e.primaryColor),i=H(e.primaryColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-primary`,e.primaryColor),n.style.setProperty(`--brand-primary-hsl`,t||a),n.style.setProperty(`--primary`,a),n.style.setProperty(`--primary-foreground`,r()?`222 47% 11%`:U(e.primaryColor)),n.style.setProperty(`--ring`,a),n.style.setProperty(`--sidebar-primary`,a),n.style.setProperty(`--sidebar-ring`,a))}else n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`);if(e?.accentColor){let t=V(e.accentColor),i=H(e.accentColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-accent`,e.accentColor),n.style.setProperty(`--brand-accent-hsl`,t||a),n.style.setProperty(`--accent`,a),n.style.setProperty(`--accent-foreground`,r()?`222 47% 11%`:U(e.accentColor)))}else n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)};i();let a=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`class`){i();break}});if(a.observe(n,{attributes:!0,attributeFilter:[`class`]}),e?.favicon){let t=document.querySelector(`#favicon`)||document.querySelector(`link[rel="icon"]`);t&&(t.href=e.favicon)}return t&&(document.title=t),()=>{a.disconnect(),n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)}},[e?.primaryColor,e?.accentColor,e?.favicon,t])}function G({sidebar:e,navbar:t,children:n,className:r,defaultOpen:i=!0,branding:a}){return W(a,a?.title),(0,z.jsxs)(f,{defaultOpen:i,className:`!flex-col h-svh overflow-hidden`,children:[(0,z.jsx)(`header`,{className:`sticky top-0 z-30 flex h-14 w-full shrink-0 items-center gap-2 border-b bg-background px-2 sm:px-4`,children:t}),(0,z.jsxs)(`div`,{className:`flex flex-1 min-h-0 w-full`,children:[e,(0,z.jsx)(l,{className:`min-w-0`,children:(0,z.jsx)(`main`,{className:S(`flex-1 min-w-0 overflow-auto p-3 sm:p-4 md:p-6 pb-20 sm:pb-4 md:pb-6`,r),children:n})})]})]})}function K(e){return e?w(e):u}function q(e,t){if(typeof e==`string`)return e;if(t){let n=t(e.key,{defaultValue:e.defaultValue,...e.params});if(n&&n!==e.key)return n}return e.defaultValue||e.key}function te(e,t,n,r,i,a,o){let s=q(e.label,n);if(typeof e.label!=`string`)return s;let c=e=>!!e&&s.trim().toLowerCase()!==e.trim().toLowerCase();if(e.type===`object`&&e.objectName){if(e.viewName)return c(e.viewName)?s:a?a(e.objectName,e.viewName,s):s;if(c(e.objectName))return s;if(t)return t(e.objectName,s)}if(e.type===`dashboard`&&e.dashboardName){if(c(e.dashboardName))return s;if(r)return r(e.dashboardName,s)}if(e.type===`group`&&e.id){if(c(e.id))return s;if(i)return i(e.id,s)}return o&&e.id&&!c(e.id)?o(e.id,s):s}var ne=e=>!(e===!1||e===`false`),J=()=>!0,re=()=>!0,ie=/\{(current_user_id|current_org_id|[a-z][a-z0-9_]*)\}/g;function Y(e,t){if(!e.includes(`{`))return e;let n=!1,r=e.replace(ie,(e,r)=>{let i;return i=r===`current_user_id`?t?.currentUserId:r===`current_org_id`?t?.currentOrgId:t?.contextValues?.[r],i||(n=!0,``)});return n?null:r}function X(e,t,n){switch(e.type){case`object`:{let r=`${t}/${e.objectName??``}`,i=e.recordId;if(i){let t=Y(i,n);if(t){let n=`${r}/record/${encodeURIComponent(t)}`;return{href:e.recordMode===`edit`?`${n}/edit`:n,external:!1}}}let a=e.filters;if(a&&typeof a==`object`&&!Array.isArray(a)){let e=new URLSearchParams;for(let[t,r]of Object.entries(a)){if(r==null||t===``)continue;let i=Y(String(r),n);i!==null&&e.set(`filter[${t}]`,i)}let t=e.toString();return{href:t?`${r}/data?${t}`:`${r}/data`,external:!1}}return{href:e.viewName?`${r}/view/${e.viewName}`:r,external:!1}}case`dashboard`:return{href:e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`,external:!1};case`page`:{if(!e.pageName)return{href:`#`,external:!1};let r=e.params,i=`${t}/page/${e.pageName}`;if(r&&typeof r==`object`){let e=new URLSearchParams;for(let[t,i]of Object.entries(r))if(i!=null)if(typeof i==`string`){let r=Y(i,n);r!==null&&e.set(t,r)}else e.set(t,JSON.stringify(i));let t=e.toString();t&&(i+=`?${t}`)}return{href:i,external:!1}}case`report`:return{href:e.reportName?`${t}/report/${e.reportName}`:`#`,external:!1};case`url`:return{href:e.url??`#`,external:e.target===`_blank`};case`component`:{let r=e.componentRef;if(!r)return{href:`#`,external:!1};let i=r.split(`:`).filter(Boolean);if(i.length===0)return{href:`#`,external:!1};let a=e.params;if(i[0]===`metadata`){let e=i[1],r=a&&typeof a.type==`string`?a.type:void 0,o=a&&typeof a.name==`string`?a.name:void 0,s=``;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,r]of Object.entries(a))if(!(t===`type`||t===`name`)&&r!=null)if(typeof r==`string`){let i=Y(r,n);i&&e.set(t,i)}else e.set(t,JSON.stringify(r));let t=e.toString();t&&(s=`?${t}`)}return e===`directory`||!e?{href:`${t}/metadata${s}`,external:!1}:e===`resource`&&r?{href:`${t}/metadata${o?`/${encodeURIComponent(r)}/${encodeURIComponent(o)}`:`/${encodeURIComponent(r)}`}${s}`,external:!1}:{href:`${t}/metadata${s}`,external:!1}}let o=`${t}/component/${i.join(`/`)}`;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,n]of Object.entries(a))n!=null&&e.set(t,typeof n==`string`?n:JSON.stringify(n));let t=e.toString();t&&(o+=`?${t}`)}return{href:o,external:!1}}default:return{href:`#`,external:!1}}}var Z=50,ae=40,oe=30,se=25,ce=10,le=5;function ue(e){let t=new Map;return new URLSearchParams(e).forEach((e,n)=>{let r=/^filter\[(.+)\]$/.exec(n);r&&r[1]&&e!==``&&t.set(r[1],e)}),t}function de(e,t){return t.startsWith(`${e}.`)?t.slice(e.length+1):t}function fe(e,t,n,r,i){let{href:a,external:o}=X(e,r,i);if(o||a===`#`)return 0;if(e.type===`object`&&e.objectName){let a=`${r}/${e.objectName}`;if(t!==a&&!t.startsWith(`${a}/`))return 0;let o=t===a?[]:t.slice(a.length+1).split(`/`),s=e.recordId;if(s){let e=Y(s,i);if(e)return o[0]===`record`&&decodeURIComponent(o[1]??``)===e?Z:0}let c=e.filters;if(c&&typeof c==`object`&&!Array.isArray(c)){if(o[0]!==`data`)return 0;let e=new Map;for(let[t,n]of Object.entries(c)){if(n==null||t===``)continue;let r=Y(String(n),i);r!==null&&e.set(t,r)}if(e.size!==n.size)return 0;for(let[t,r]of e)if(n.get(t)!==r)return 0;return ae}return e.viewName?o[0]!==`view`||!o[1]?0:de(e.objectName,decodeURIComponent(o[1]))===de(e.objectName,e.viewName)?oe:0:o.length===0?se:ce}let s=a.split(`?`)[0];if(t===s)return se;let c=e.componentRef;return c&&c.split(`:`)[1]===`directory`?0:t.startsWith(`${s}/`)?le:0}function pe(e,t,n,r,i){let a=ue(n),o=null,s=0,c=e=>{if(e)for(let n of e){if(n.type===`group`){c(n.children);continue}let e=fe(n,t,a,r,i);e>s&&(o=n,s=e)}};return c(e),o}var Q=R.createContext(null);function me(e,t){if(!t.trim())return e;let n=t.toLowerCase().trim();return e.reduce((e,r)=>{if(r.type===`separator`)return e;if(r.type===`group`&&r.children?.length){let n=me(r.children,t);return n.length>0&&e.push({...r,children:n}),e}return q(r.label).toLowerCase().includes(n)&&e.push(r),e},[])}var he=5;function ge({item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,enableReorder:c,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:m,templateContext:ee}){let{attributes:h,listeners:g,setNodeRef:_,transform:v,transition:y,isDragging:b}=j({id:e.id,disabled:!c});return(0,z.jsx)(`div`,{ref:_,style:{transform:L.Transform.toString(v),transition:y,opacity:b?.5:void 0,zIndex:b?10:void 0},...h,children:(0,z.jsx)($,{item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,dragListeners:c?g:void 0,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:m,templateContext:ee})})}function $({item:e,basePath:n,evalVis:r,checkPerm:i,checkCap:l,onAction:u,enablePinning:f,onPinToggle:y,dragListeners:w,resolveObjectLabel:D,resolveDashboardLabel:O,resolveGroupLabel:k,resolveViewLabel:A,resolveItemLabel:j,t:M,templateContext:N}){let P=E(),F=P?`min-h-[44px] text-[15px] gap-3 rounded-xl`:void 0,I=S(`shrink-0`,P?`h-5 w-5`:`h-4 w-4`),L=(()=>{let t=e.expanded;if(typeof t==`boolean`)return t;if(typeof e.defaultOpen==`boolean`)return e.defaultOpen})(),B=e.type===`group`?e.children?.length??0:0,V=R.useContext(Q),[H,U]=(0,R.useState)(R.useMemo(()=>{if(e.type!==`group`||!V)return!1;let t=e=>!!e?.some(e=>e.id===V||e.type===`group`&&t(e.children));return t(e.children)},[e,V])?!0:L??!(B>=8));if(!r(e.visible)||e.requiredPermissions?.length&&!i(e.requiredPermissions))return null;let W=e.requiresObject,G=e.requiresService;if(W&&!l(`object`,W)||G&&!l(`service`,G))return null;if(e.type===`separator`)return(0,z.jsx)(d,{className:`my-2`});if(e.type===`group`){let t=(e.children??[]).slice().sort((e,t)=>(e.order??0)-(t.order??0)),a=te(e,D,M,O,k,A,j);return(0,z.jsx)(g,{open:H,onOpenChange:U,children:(0,z.jsxs)(c,{children:[(0,z.jsx)(ee,{asChild:!0,children:(0,z.jsxs)(_,{className:S(`flex w-full items-center justify-between`,P&&`min-h-[44px] text-[15px] rounded-xl`),children:[a,(0,z.jsx)(s,{className:S(`ml-auto transition-transform`,P?`h-5 w-5`:`h-4 w-4`,H&&`rotate-90`)})]})}),(0,z.jsx)(h,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,basePath:n,evalVis:r,checkPerm:i,checkCap:l,onAction:u,enablePinning:f,onPinToggle:y,resolveObjectLabel:D,resolveDashboardLabel:O,resolveGroupLabel:k,resolveViewLabel:A,resolveItemLabel:j,t:M,templateContext:N},e.id))})})})]})})}if(e.type===`action`){let t=K(e.icon),r=q(e.label,M);return(0,z.jsxs)(x,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":M?M(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(b,{className:`h-3.5 w-3.5`})}),(0,z.jsxs)(o,{tooltip:r,onClick:()=>u?.(e),className:F,children:[(0,z.jsx)(t,{className:I}),(0,z.jsx)(`span`,{children:r}),e.badge!=null&&(0,z.jsx)(v,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]}),f&&y&&(0,z.jsx)(C,{showOnHover:!0,onClick:()=>y(e.id,!e.pinned,e,n),"aria-label":M?M(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${r}`:`Pin ${r}`,name:r}):e.pinned?`Unpin ${r}`:`Pin ${r}`,children:e.pinned?(0,z.jsx)(a,{className:`h-3.5 w-3.5`}):(0,z.jsx)(m,{className:`h-3.5 w-3.5`})})]})}let ne=K(e.icon),{href:J,external:re}=X(e,n,N),ie=V!==null&&e.id===V,Y=te(e,D,M,O,k,A,j),Z=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ne,{className:I}),(0,z.jsx)(`span`,{children:Y}),e.badge!=null&&(0,z.jsx)(v,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]});return(0,z.jsxs)(x,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":M?M(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(b,{className:`h-3.5 w-3.5`})}),(0,z.jsx)(o,{asChild:!0,isActive:ie,tooltip:Y,className:F,children:re?(0,z.jsx)(`a`,{href:J,target:`_blank`,rel:`noopener noreferrer`,children:Z}):(0,z.jsx)(t,{to:J,children:Z})}),f&&y&&(0,z.jsx)(C,{showOnHover:!0,onClick:()=>y(e.id,!e.pinned,e,n),"aria-label":M?M(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${Y}`:`Pin ${Y}`,name:Y}):e.pinned?`Unpin ${Y}`:`Pin ${Y}`,children:e.pinned?(0,z.jsx)(a,{className:`h-3.5 w-3.5`}):(0,z.jsx)(m,{className:`h-3.5 w-3.5`})})]})}function _e({items:e,basePath:t=``,evaluateVisibility:r=ne,checkPermission:i=J,checkCapability:a=re,onAction:o,searchQuery:s,enablePinning:l,onPinToggle:u,enableReorder:d,onReorder:f,resolveObjectLabel:m,resolveDashboardLabel:h,resolveGroupLabel:g,resolveViewLabel:_,resolveItemLabel:v,t:b,templateContext:x}){let S=n(),C=(0,R.useMemo)(()=>pe(e,S.pathname,S.search,t,x)?.id??null,[e,S.pathname,S.search,t,x]),w=(0,R.useMemo)(()=>s?me(e,s):e,[e,s]),E=(0,R.useMemo)(()=>ve(w),[w]),j=w.slice().sort((e,t)=>(e.order??0)-(t.order??0)),L=I(D(k,{activationConstraint:{distance:he}}),D(F)),B=e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!f)return;let r=j.findIndex(e=>e.id===t.id),i=j.findIndex(e=>e.id===n.id);r===-1||i===-1||f(A(j,r,i).map((e,t)=>({...e,order:t})))},V={basePath:t,evalVis:r,checkPerm:i,checkCap:a,onAction:o,enablePinning:l,onPinToggle:u,resolveObjectLabel:m,resolveDashboardLabel:h,resolveGroupLabel:g,resolveViewLabel:_,resolveItemLabel:v,t:b,templateContext:x},H=j.some(e=>e.type===`group`),U=E.length>0&&l?(0,z.jsxs)(c,{children:[(0,z.jsxs)(ee,{className:`flex items-center gap-1.5`,children:[(0,z.jsx)(y,{className:`h-3.5 w-3.5`}),b?b(`console.nav.favorites`,{defaultValue:`Favorites`}):`Favorites`]}),(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:E.map(e=>(0,z.jsx)($,{item:e,...V},`fav-${e.id}`))})})]}):null;if(!H){let e=j.filter(e=>e.type!==`group`).map(e=>e.id),t=d?(0,z.jsx)(O,{sensors:L,collisionDetection:M,onDragEnd:B,children:(0,z.jsx)(P,{items:e,strategy:N,children:(0,z.jsx)(p,{children:j.map(e=>(0,z.jsx)(ge,{item:e,enableReorder:d,...V},e.id))})})}):(0,z.jsx)(p,{children:j.map(e=>(0,z.jsx)($,{item:e,...V},e.id))});return(0,z.jsxs)(Q.Provider,{value:C,children:[U,(0,z.jsx)(c,{children:(0,z.jsx)(T,{children:t})})]})}let W=[],G=[],K=e=>{if(G.length===0)return;let t=G;G=[],W.push((0,z.jsx)(c,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,...V},e.id))})})},e))};return j.forEach((e,t)=>{e.type===`group`?(K(`leaf-${t}`),W.push((0,z.jsx)($,{item:e,...V},e.id))):G.push(e)}),K(`leaf-end`),(0,z.jsxs)(Q.Provider,{value:C,children:[U,W]})}function ve(e){let t=[];for(let n of e)n.pinned&&n.type!==`group`&&n.type!==`separator`&&t.push(n),n.children?.length&&t.push(...ve(n.children));return t}export{X as n,G as r,_e as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{_ as t}from"./vendor-react-slxo-5GC.js";import{n}from"./data-adapter-W6WwA2ln.js";import{a as r}from"./MetadataProvider-MNkZn-bR.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{let r=new n({baseUrl:``,previewDrafts:t});return e?r.withEnvironment(e):r},[e,t])}function o(e){let t=new Set(e.map(e=>e.type));return e.filter(e=>{if(!/[A-Z]/.test(e.type))return!0;let n=e.type.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`);return!(n!==e.type&&t.has(n))})}function s(e){let[t,n]=(0,i.useState)(!0),[r,a]=(0,i.useState)(null),[s,c]=(0,i.useState)([]);return(0,i.useEffect)(()=>{let t=!1;return n(!0),a(null),(async()=>{try{let r=await e.listTypes(),i;if(Array.isArray(r))i=r.map(e=>typeof e==`string`?{type:e}:e);else{let e=r?.entries;i=Array.isArray(e)&&e.length>0?e:(r?.types??[]).map(e=>({type:e}))}t||(c(o(i)),n(!1))}catch(e){t||(a(e?.message??String(e)),n(!1))}})(),()=>{t=!0}},[e]),{loading:t,error:r,entries:s}}function c(e,t,n=[`name`,`label`,`description`]){if(!t)return!0;let r=t.toLowerCase();for(let t of n){let n=e[t];if(typeof n==`string`&&n.toLowerCase().includes(r))return!0}return!1}function l(e,t=`error`,n){let[r,a]=(0,i.useState)(!0),[o,s]=(0,i.useState)(null),[c,l]=(0,i.useState)({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),[u,d]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let r=!1;return a(!0),s(null),(async()=>{try{let i=await e.diagnostics(n?{severity:t,packageId:n}:{severity:t});if(r)return;l(i),a(!1)}catch(e){if(r)return;s(e?.message??String(e)),l({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),a(!1)}})(),()=>{r=!0}},[e,t,n,u]),{loading:r,error:o,summary:c,byType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries)(t.diagnostics?.errors?.length??0)>0&&(e[t.type]=(e[t.type]??0)+1);return e},[c]),warnByType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries){let n=t.diagnostics?.errors?.length??0,r=t.diagnostics?.warnings?.length??0;n===0&&r>0&&(e[t.type]=(e[t.type]??0)+1)}return e},[c]),countsByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.count;return e},[c]),lockedByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))typeof n.locked==`number`&&n.locked>0&&(e[t]=n.locked);return e},[c]),packagesByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.packages??[];return e},[c]),allPackages:(0,i.useMemo)(()=>{let e=new Set;for(let t of Object.values(c.stats??{}))for(let n of t.packages??[])e.add(n);return[...e].sort()},[c]),reload:()=>d(e=>e+1)}}export{s as i,l as n,a as r,c as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{y as t}from"./vendor-react-BGDDiZfJ.js";import{n}from"./data-adapter-DLOPVTZ2.js";import{a as r}from"./MetadataProvider-BpQl3Bw2.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{let r=new n({baseUrl:``,previewDrafts:t});return e?r.withEnvironment(e):r},[e,t])}function o(e){let t=new Set(e.map(e=>e.type));return e.filter(e=>{if(!/[A-Z]/.test(e.type))return!0;let n=e.type.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`);return!(n!==e.type&&t.has(n))})}function s(e){let[t,n]=(0,i.useState)(!0),[r,a]=(0,i.useState)(null),[s,c]=(0,i.useState)([]);return(0,i.useEffect)(()=>{let t=!1;return n(!0),a(null),(async()=>{try{let r=await e.listTypes(),i;if(Array.isArray(r))i=r.map(e=>typeof e==`string`?{type:e}:e);else{let e=r?.entries;i=Array.isArray(e)&&e.length>0?e:(r?.types??[]).map(e=>({type:e}))}t||(c(o(i)),n(!1))}catch(e){t||(a(e?.message??String(e)),n(!1))}})(),()=>{t=!0}},[e]),{loading:t,error:r,entries:s}}function c(e,t,n=[`name`,`label`,`description`]){if(!t)return!0;let r=t.toLowerCase();for(let t of n){let n=e[t];if(typeof n==`string`&&n.toLowerCase().includes(r))return!0}return!1}function l(e,t=`error`,n){let[r,a]=(0,i.useState)(!0),[o,s]=(0,i.useState)(null),[c,l]=(0,i.useState)({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),[u,d]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let r=!1;return a(!0),s(null),(async()=>{try{let i=await e.diagnostics(n?{severity:t,packageId:n}:{severity:t});if(r)return;l(i),a(!1)}catch(e){if(r)return;s(e?.message??String(e)),l({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),a(!1)}})(),()=>{r=!0}},[e,t,n,u]),{loading:r,error:o,summary:c,byType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries)(t.diagnostics?.errors?.length??0)>0&&(e[t.type]=(e[t.type]??0)+1);return e},[c]),warnByType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries){let n=t.diagnostics?.errors?.length??0,r=t.diagnostics?.warnings?.length??0;n===0&&r>0&&(e[t.type]=(e[t.type]??0)+1)}return e},[c]),countsByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.count;return e},[c]),lockedByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))typeof n.locked==`number`&&n.locked>0&&(e[t]=n.locked);return e},[c]),packagesByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.packages??[];return e},[c]),allPackages:(0,i.useMemo)(()=>{let e=new Set;for(let t of Object.values(c.stats??{}))for(let n of t.packages??[])e.add(n);return[...e].sort()},[c]),reload:()=>d(e=>e+1)}}export{s as i,l as n,a as r,c as t};
@@ -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-BGDDiZfJ.js";import{Di as a,Hr as o,xr as s,za as c}from"./ui-components-rkvkkTxO.js";import{b as l,v as u,y as d}from"./ReportDefaultInspector-BA-D9th_.js";import{a as f,i as p,n as m}from"./runtime-metadata-persistence-D1KKivGr.js";var h=e(i(),1),g=r();function _({type:e,name:t,metadataClient:n,dirty:r,onResume:i,onAfterChange:_,savedSignal:v}){let y=u(),[b,x]=(0,h.useState)(!1),[S,C]=(0,h.useState)(!1),w=(0,h.useRef)(null),T=(0,h.useCallback)(async()=>{if(!t||!n){x(!1);return}let r;try{r=await f(e,t,{metadataClient:n})}catch{x(!1);return}if(x(!!r),r&&i&&w.current!==t){w.current=t;try{i(r)}catch(e){console.error(`[RuntimeDraftBar] Resume draft failed:`,e)}}},[e,t,n,i]);(0,h.useEffect)(()=>{T()},[T]);let E=(0,h.useRef)(v);(0,h.useEffect)(()=>{v!==E.current&&(E.current=v,v&&x(!0))},[v]);let D=(0,h.useCallback)(async()=>{if(t){C(!0);try{await p(e,t,{metadataClient:n}),x(!1),_?.()}catch(e){console.error(`[RuntimeDraftBar] Publish failed:`,e)}finally{C(!1)}}},[e,t,n,_]),O=(0,h.useCallback)(async()=>{if(t&&!(typeof confirm==`function`&&!confirm(l(`engine.edit.discardDraftConfirm`,y,{type:e,name:t})))){C(!0);try{await m(e,t,{metadataClient:n}),x(!1),_?.()}catch(e){console.error(`[RuntimeDraftBar] Discard draft failed:`,e)}finally{C(!1)}}},[e,t,n,_,y]);return b?(0,g.jsxs)(`div`,{className:`mr-auto flex items-center gap-2`,"data-testid":`runtime-draft-bar`,children:[(0,g.jsxs)(`span`,{className:`text-xs text-amber-700 dark:text-amber-400`,title:d(`engine.edit.draftPending`,y),"data-testid":`runtime-draft-indicator`,children:[`● `,d(`engine.edit.draftPending`,y)]}),(0,g.jsx)(s,{variant:`ghost`,size:`sm`,onClick:O,disabled:S,className:`h-7 w-7 p-0 text-muted-foreground`,title:d(`engine.edit.discardDraft`,y),"aria-label":d(`engine.edit.discardDraft`,y),"data-testid":`runtime-draft-discard`,children:(0,g.jsx)(o,{className:`h-3.5 w-3.5`})}),(0,g.jsx)(s,{size:`sm`,onClick:D,disabled:S||r,className:`h-7 px-2 bg-emerald-600 hover:bg-emerald-700 text-emerald-50`,title:d(r?`engine.edit.publishBlockedDirty`:`engine.edit.publish`,y),"data-testid":`runtime-draft-publish`,children:S?(0,g.jsx)(c,{className:`h-3.5 w-3.5 animate-spin`}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(a,{className:`h-3.5 w-3.5 mr-1`}),d(`engine.edit.publish`,y)]})})]}):null}function v(){let e=t(),{appName:r}=n();return(0,h.useCallback)((t,n)=>{let i=new URLSearchParams;if(n)for(let[e,t]of Object.entries(n))t!=null&&i.set(`filter[${e}]`,String(t));let a=i.toString(),o=r?`/apps/${r}`:``;e(`${o}/${t}${a?`?${a}`:``}`)},[e,r])}export{_ as n,v as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{_ as t,t as n}from"./vendor-react-slxo-5GC.js";var r=e(t(),1),i=n();function a({iconUrl:e,displayName:t,manifestId:n,className:a=`h-10 w-10`,initialClassName:o=`text-base font-semibold`}){let[s,c]=(0,r.useState)(!1),l=((t??n??`?`).trim()[0]??`?`).toUpperCase(),u=!!e&&!s;return(0,i.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary overflow-hidden ${a}`,children:u?(0,i.jsx)(`img`,{src:e,alt:``,className:`${a} object-cover`,onError:()=>c(!0),loading:`lazy`}):(0,i.jsx)(`span`,{className:o,children:l})})}var o=`en`;function s(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function c(e){let t=new Set,n=[];for(let r of e)!r||t.has(r)||(t.add(r),n.push(r));return n}function l(e,t,n){if(!e)return;let r=s(t),i=c([t,r,...Object.keys(e).filter(e=>e===r||e.startsWith(`${r}-`)),o]);for(let t of i){let r=e[t];if(!r)continue;let i=r[n];if(typeof i==`string`&&i.length>0)return i}}function u(e,t){let n=e[{displayName:`display_name`,description:`description`,readme:`readme`,tagline:`tagline`,screenshotCaptions:`screenshotCaptions`}[t]]??e[t];return typeof n==`string`&&n.length>0?n:void 0}function d(e,t){let n=t||o;return{displayName:l(e.translations??void 0,n,`displayName`)??u(e,`displayName`)??e.manifest_id,description:l(e.translations??void 0,n,`description`)??u(e,`description`),readme:l(e.translations??void 0,n,`readme`)??u(e,`readme`),tagline:l(e.translations??void 0,n,`tagline`)??u(e,`tagline`)}}export{a as n,d as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{r as t,y as n}from"./vendor-react-BGDDiZfJ.js";var r=e(n(),1),i=t();function a({iconUrl:e,displayName:t,manifestId:n,className:a=`h-10 w-10`,initialClassName:o=`text-base font-semibold`}){let[s,c]=(0,r.useState)(!1),l=((t??n??`?`).trim()[0]??`?`).toUpperCase(),u=!!e&&!s;return(0,i.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary overflow-hidden ${a}`,children:u?(0,i.jsx)(`img`,{src:e,alt:``,className:`${a} object-cover`,onError:()=>c(!0),loading:`lazy`}):(0,i.jsx)(`span`,{className:o,children:l})})}var o=`en`;function s(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function c(e){let t=new Set,n=[];for(let r of e)!r||t.has(r)||(t.add(r),n.push(r));return n}function l(e,t,n){if(!e)return;let r=s(t),i=c([t,r,...Object.keys(e).filter(e=>e===r||e.startsWith(`${r}-`)),o]);for(let t of i){let r=e[t];if(!r)continue;let i=r[n];if(typeof i==`string`&&i.length>0)return i}}function u(e,t){let n=e[{displayName:`display_name`,description:`description`,readme:`readme`,tagline:`tagline`,screenshotCaptions:`screenshotCaptions`}[t]]??e[t];return typeof n==`string`&&n.length>0?n:void 0}function d(e,t){let n=t||o;return{displayName:l(e.translations??void 0,n,`displayName`)??u(e,`displayName`)??e.manifest_id,description:l(e.translations??void 0,n,`description`)??u(e,`description`),readme:l(e.translations??void 0,n,`readme`)??u(e,`readme`),tagline:l(e.translations??void 0,n,`tagline`)??u(e,`tagline`)}}export{a as n,d as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{_ as t,f as n,p as r,u as i}from"./vendor-react-slxo-5GC.js";import{J as a,L as o,R as s,l as c}from"./framework-B9PMswdm.js";import{Nt as l}from"./ui-components-DsYvPIox.js";import{r as u}from"./vendor-ui-utils-C1OpMExs.js";import"./AdapterProvider-_4c7hk3d.js";import{a as d}from"./MetadataProvider-MNkZn-bR.js";import{o as f,r as p}from"./useRecordApprovals-BHkgfYJW.js";import{n as m}from"./ui-layout-BdFgfR9C.js";import{r as h}from"./appRoute-CbCiASix.js";var g=e(t(),1);function _({objectName:e,objectLabel:t,dataSource:r,onEdit:o,onRefresh:s,onConfirm:l,onToast:d}){let f=i(),{appName:p}=n(),{t:m}=c(),h=`/apps/${p}`,{execute:_,loading:v,error:y,runner:b}=a({context:{objectName:e,objectLabel:t||e,baseUrl:h},onConfirm:l,onToast:d});return(0,g.useEffect)(()=>{b.registerHandler(`create`,async()=>(o?.(null),{success:!0})),b.registerHandler(`delete`,async n=>{let i=Array.isArray(n.params?.records)?n.params.records.filter(e=>e?.id!=null):null;if(i&&i.length>1){let n=await Promise.allSettled(i.map(t=>r.delete(e,t.id))),a=n.filter(e=>e.status===`rejected`).length,o=n.length-a;return s?.(),a===0?(u.success(m(`objectActions.bulkDeleteSuccess`,{count:o,label:t||e,defaultValue:`Deleted ${o} ${t||e} records`})),{success:!0,reload:!0,silent:!0}):(u.error(m(`objectActions.bulkDeletePartial`,{succeeded:o,failed:a,defaultValue:`${o} deleted, ${a} failed`})),{success:!1})}let a=n.params?.recordId??n.params?.record?.id??i?.[0]?.id??n.recordId;if(!a)return{success:!1,error:m(`objectActions.noRecordId`)};try{return await r.delete(e,a),s?.(),u.success(m(`objectActions.deleteSuccess`,{label:t||e})),{success:!0,reload:!0,silent:!0}}catch(n){return u.error(m(`objectActions.deleteFailed`,{label:t||e}),{description:n.message}),{success:!1}}}),b.registerHandler(`navigate`,async e=>{let t=e.params?.url||e.url;return t&&f(t.startsWith(`/`)?t:`${h}/${t}`),{success:!0}}),b.registerHandler(`refresh`,async()=>(s?.(),{success:!0,reload:!0}))},[b,e,r,o,s,f,h,m,t]),{execute:_,create:(0,g.useCallback)(()=>{o?.(null)},[o]),deleteRecord:(0,g.useCallback)(async e=>_({type:`delete`,confirmText:m(`objectActions.deleteConfirm`),params:{recordId:e}}),[_,m]),navigateToView:(0,g.useCallback)(t=>{f(`${h}/${e}/view/${t}`)},[f,h,e]),navigateToRecord:(0,g.useCallback)(t=>{f(`${h}/${e}/record/${encodeURIComponent(t)}`)},[f,h,e]),loading:v,error:y}}function v(e){return e==null?[]:Array.isArray(e)?e:[e]}function y(e,t){let{alias:n,value:i=`1`,replace:a=!0}=t??{},[o,s]=r(),c=(0,g.useMemo)(()=>v(n),[n]),l=(0,g.useCallback)(t=>t.get(e)===i||c.some(e=>t.get(e)===i),[e,i,c]),u=l(o),d=(0,g.useCallback)(t=>{if(t===l(o))return;let n=new URLSearchParams(o);if(t){n.set(e,i);for(let e of c)n.delete(e)}else{n.delete(e);for(let e of c)n.delete(e)}s(n,{replace:a})},[l,o,s,e,i,c,a]);return{open:u,setOpen:d,openOverlay:(0,g.useCallback)(()=>d(!0),[d]),closeOverlay:(0,g.useCallback)(()=>d(!1),[d]),toggleOverlay:(0,g.useCallback)(()=>{s(t=>{let n=new URLSearchParams(t);if(l(n)){n.delete(e);for(let e of c)n.delete(e)}else{n.set(e,i);for(let e of c)n.delete(e)}return n},{replace:a})},[s,l,e,i,c,a])}}var b=20;function x(e,t=``){let{href:n,external:r}=m(e,t);return r?n:!n||n===`#`?``:n}function S(e){return`nav:${e}`}function C(){let{favorites:e,addFavorite:t,removeFavorite:n,setPinned:r,pinnedNavIds:i}=p(),a=(0,g.useCallback)((e,i,a,o)=>{let s=S(e);i?(a&&t({id:s,label:a.label,href:x(a,o??``),type:`nav`,navId:e,pinned:!0}),r(s,!0)):n(s)},[t,n,r]),o=(0,g.useCallback)(e=>i.has(e),[i]),s=(0,g.useCallback)(e=>{if(i.size===0){let t=!1;for(let n of e)if(n.pinned){t=!0;break}if(!t)return e}let t=0,n=e=>e.map(e=>{let r=i.has(e.id)&&t<b;r&&t++;let a=e.children?.length?n(e.children):e.children;return r!==(e.pinned??!1)||a!==e.children?{...e,pinned:r,children:a}:e});return n(e)},[i]),c=(0,g.useCallback)(()=>{for(let t of e)t.type===`nav`&&n(t.id)},[e,n]);return{pinnedIds:(0,g.useMemo)(()=>Array.from(i),[i]),togglePin:a,isPinned:o,applyPins:s,clearPins:c}}var w=768,T=1024;function ee(){let{setOpen:e,isMobile:t}=l(),n=(0,g.useRef)(e);(0,g.useEffect)(()=>{n.current=e},[e]),(0,g.useEffect)(()=>{if(t)return;let e=!1;function r(){let t=window.innerWidth,r=t>=w&&t<T;r&&!e&&n.current(!1),e=r}return r(),window.addEventListener(`resize`,r),()=>window.removeEventListener(`resize`,r)},[t])}function te(e,t){return{name:e.name,label:e.label,pluralLabel:e.pluralLabel,description:e.description,icon:e.icon,group:e.group,sortOrder:e.sortOrder,enabled:e.enabled,fields:t,relationships:e.relationships}}function ne(e){return{name:e.name,label:e.label,type:e.type,group:e.group,description:e.description,required:e.required,unique:e.unique,readonly:e.readonly,hidden:e.hidden,defaultValue:e.defaultValue,placeholder:e.placeholder,options:e.options,externalId:e.externalId,trackHistory:e.trackHistory,indexed:e.indexed,referenceTo:e.referenceTo,formula:e.formula,sortOrder:e.sortOrder}}var re=class{adapter;constructor(e){this.adapter=e}async getItems(e){let t=await this.adapter.getClient().meta.getItems(e);return t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}async saveMetadataItem(e,t,n){await this.adapter.getClient().meta.saveItem(e,t,n),this.adapter.invalidateCache(`${e}:${t}`)}async deleteMetadataItem(e,t){await this.adapter.getClient().meta.saveItem(e,t,{name:t,enabled:!1,_deleted:!0}),this.adapter.invalidateCache(`${e}:${t}`)}async saveObject(e,t){let n=this.adapter.getClient(),r=te(e,t);await n.meta.saveItem(`object`,e.name,r),this.adapter.invalidateCache(`object:${e.name}`)}async deleteObject(e){await this.adapter.getClient().meta.saveItem(`object`,e,{name:e,enabled:!1,_deleted:!0}),this.adapter.invalidateCache(`object:${e}`)}async saveFields(e,t){let n=this.adapter.getClient(),r={};try{let t=await n.meta.getItem(`object`,e);r=t?.item??t??{}}catch{}let i={...r,name:e,fields:t.map(ne)};await n.meta.saveItem(`object`,e,i),this.adapter.invalidateCache(`object:${e}`)}static diffObjects(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map(t.map(e=>[e.id,e]));for(let[e,t]of r)if(!n.has(e))return{type:`create`,object:t};for(let[e,t]of n)if(!r.has(e))return{type:`delete`,object:t};for(let[e,t]of r){let r=n.get(e);if(r&&JSON.stringify(r)!==JSON.stringify(t))return{type:`update`,object:t}}return null}static diffFields(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map(t.map(e=>[e.id,e]));for(let[e,t]of r)if(!n.has(e))return{type:`create`,field:t};for(let[e,t]of n)if(!r.has(e))return{type:`delete`,field:t};for(let[e,t]of r){let r=n.get(e);if(r&&JSON.stringify(r)!==JSON.stringify(t))return{type:`update`,field:t}}return null}};function ie(){let e=o();return(0,g.useMemo)(()=>e?new re(e):null,[e])}var E=0;function D(e=`nav`){return`${e}_${Date.now()}_${++E}`}function O(e,t){return[...e,t]}function k(e,t,n){return e.filter(e=>!(e.type===t&&(t===`page`&&e.pageName===n||t===`dashboard`&&e.dashboardName===n))).map(e=>e.children&&e.children.length>0?{...e,children:k(e.children,t,n)}:e)}function A(e,t,n,r){return e.map(e=>{let i=e;return t===`page`&&e.type===`page`&&e.pageName===n?i={...e,pageName:r}:t===`dashboard`&&e.type===`dashboard`&&e.dashboardName===n&&(i={...e,dashboardName:r}),i.children&&i.children.length>0?{...i,children:A(i.children,t,n,r)}:i})}function j(e,t){return e.length===t.length?e===t?!0:JSON.stringify(e)===JSON.stringify(t):!1}function ae(e){return typeof e==`string`&&e.startsWith(`sys_`)}function oe(e){if(!e||typeof e!=`object`)return!1;let t=e;return t._packageId!=null||t._provenance===`package`?!0:ae(t.name)}function M(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t._lock??t.protection?.lock;return n!==`full`&&n!==`no-overlay`}function N(){let e=o(),{apps:t,refresh:n}=s(),{t:r}=c(),i=(0,g.useRef)(e);i.current=e;let a=(0,g.useRef)(n);a.current=n;let l=(0,g.useCallback)(async(e,t)=>{let n=i.current?.getClient();n&&await n.meta.saveItem(`app`,e,t),await a.current?.()},[]),d=(0,g.useCallback)(e=>h(t,e),[t]),f=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=O(a,{id:D(`nav_page`),type:`page`,label:n||t,pageName:t,icon:`FileText`}),s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.addedPage`,{name:n||t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),p=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=O(a,{id:D(`nav_dash`),type:`dashboard`,label:n||t,dashboardName:t,icon:`LayoutDashboard`}),s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.addedDashboard`,{name:n||t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),m=(0,g.useCallback)(async(e,t)=>{let n=d(e);if(!n)return;let i=n.navigation??[],a=k(i,`page`,t);if(j(a,i))return;let o={...n,navigation:a};try{await l(e,o),u.success(r(`navigationSync.removedPage`,{name:t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...n,navigation:i}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),_=(0,g.useCallback)(async(e,t)=>{let n=d(e);if(!n)return;let i=n.navigation??[],a=k(i,`dashboard`,t);if(j(a,i))return;let o={...n,navigation:a};try{await l(e,o),u.success(r(`navigationSync.removedDashboard`,{name:t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...n,navigation:i}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),v=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=A(a,`page`,t,n);if(j(o,a))return;let s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.renamedPage`,{oldName:t,newName:n}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),y=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=A(a,`dashboard`,t,n);if(j(o,a))return;let s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.renamedDashboard`,{oldName:t,newName:n}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),b=e=>e&&typeof e==`object`&&`name`in e?e.name:void 0;return{syncPageCreated:f,syncDashboardCreated:p,syncPageDeleted:m,syncDashboardDeleted:_,syncPageRenamed:v,syncDashboardRenamed:y,syncPageCreatedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await f(t,e,n)}},[t,f]),syncDashboardCreatedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await p(t,e,n)}},[t,p]),syncPageDeletedAllApps:(0,g.useCallback)(async e=>{for(let n of t){let t=b(n);!t||!M(n)||await m(t,e)}},[t,m]),syncDashboardDeletedAllApps:(0,g.useCallback)(async e=>{for(let n of t){let t=b(n);!t||!M(n)||await _(t,e)}},[t,_]),syncPageRenamedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await v(t,e,n)}},[t,v]),syncDashboardRenamedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await y(t,e,n)}},[t,y])}}function P(){let{pages:e,dashboards:t,apps:n,getTypeStatus:r}=s(),i=o(),a=(0,g.useRef)(i);a.current=i;let c=d(),{syncPageCreated:l,syncDashboardCreated:u,syncPageDeleted:f,syncDashboardDeleted:p}=N(),m=(0,g.useRef)(null),h=(0,g.useRef)(null),_=(0,g.useRef)(0),v=(0,g.useRef)(!1),y=e=>e&&typeof e==`object`&&`name`in e?e.name:void 0;return(0,g.useEffect)(()=>{if(v.current)return;if(c){m.current=null,h.current=null;return}if(r&&(r(`page`)!==`ready`||r(`dashboard`)!==`ready`))return;let i=e=>new Set(e.filter(e=>!oe(e)).map(e=>e?.name).filter(e=>typeof e==`string`&&e.length>0)),a=i(e??[]),o=i(t??[]),s=m.current,d=h.current;if(s===null||d===null){m.current=a,h.current=o;return}let g=[...a].filter(e=>!s.has(e)),b=[...s].filter(e=>!a.has(e)),x=[...o].filter(e=>!d.has(e)),S=[...d].filter(e=>!o.has(e));if(g.length===0&&b.length===0&&x.length===0&&S.length===0){m.current=a,h.current=o;return}let C=++_.current;v.current=!0;let w=!1;return(async()=>{try{for(let e of n){if(w||_.current!==C)break;let t=y(e);if(!(!t||!M(e))){for(let e of g){if(w)break;await l(t,e)}for(let e of b){if(w)break;await f(t,e)}for(let e of x){if(w)break;await u(t,e)}for(let e of S){if(w)break;await p(t,e)}}}}finally{_.current===C&&(m.current=a,h.current=o,v.current=!1)}})(),()=>{w=!0}},[e,t,n,c,r,l,u,f,p]),null}var F=new Set([`view`,`record`,`page`,`dashboard`,`design`,`report`]);function I(e){return e.replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function L(e){try{return decodeURIComponent(e)}catch{return e}}function se({pathname:e,appName:t,objects:n=[],basePathSegment:r=`apps`,disabled:i=!1}){let{addRecentItem:a}=f(),o=(0,g.useRef)(n);o.current=n,(0,g.useEffect)(()=>{if(i||!t)return;let n=e.split(`/`).filter(Boolean);if(n[0]!==r||n[1]!==t)return;let s=n[2],c=n[3],l=`/${r}/${t}`;if(s===`metadata`){let e=n[3],t=n[4];e&&t&&t!==`new`&&a({id:`metadata:${e}:${L(t)}`,label:L(t),href:`${l}/metadata/${e}/${t}`,type:`metadata`});return}if(s&&!F.has(s)){let e=o.current.find(e=>e.name===s);e&&a({id:`object:${e.name}`,label:e.label||e.name,href:`${l}/${e.name}`,type:`object`});return}if(c)switch(s){case`dashboard`:a({id:`dashboard:${c}`,label:I(c),href:`${l}/dashboard/${c}`,type:`dashboard`});break;case`page`:a({id:`page:${c}`,label:I(c),href:`${l}/page/${c}`,type:`page`});break;case`report`:a({id:`report:${c}`,label:I(c),href:`${l}/report/${c}`,type:`report`});break;default:break}},[e,t,r,i])}function ce(e){return{status:`drafted`,drafted:e.items,...e.summary?{summary:e.summary}:{},...e.packageId?{packageId:e.packageId}:{},...e.autoPublishable?{autoPublishable:!0}:{},...e.failedCount?{failed:Array.from({length:e.failedCount},()=>null)}:{},...e.materialized?{materialized:!0}:{},...e.verification?{verification:e.verification}:{},...e.issues&&e.issues.length?{issues:e.issues}:{},...e.nextSteps&&e.nextSteps.length?{nextSteps:e.nextSteps}:{}}}function le(e){return{status:`blueprint_proposed`,...e.summary?{summary:e.summary}:{},counts:e.counts,questions:e.questions,...e.targetApp?{targetApp:e.targetApp}:{},blueprint:{objects:e.objects.map(e=>({name:e.name,...e.label?{label:e.label}:{},fields:Array.from({length:e.fieldCount},()=>null)})),assumptions:e.assumptions}}}var R=`objectstack:ai-chat-conversation-id`,z=`objectstack:ai-chat-messages`;function B(e,t){return t?`${R}:${e}:${t}`:`${R}:${e}`}function V(e){try{return localStorage.getItem(e)??void 0}catch{return}}function H(e,t){try{t?localStorage.setItem(e,t):localStorage.removeItem(e)}catch{}}function U(e){return`${z}:${e}`}function W(e){try{let t=localStorage.getItem(U(e));if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(e=>!!e&&typeof e==`object`&&typeof e.id==`string`&&(e.role===`user`||e.role===`assistant`||e.role===`system`)&&Array.isArray(e.parts)):[]}catch{return[]}}function G(e,t){if(e)try{if(t.length===0){localStorage.removeItem(U(e));return}localStorage.setItem(U(e),JSON.stringify(t))}catch{}}function ue(e){return e.map(e=>{let t=[];if(e.content&&t.push({type:`text`,text:e.content}),e.role===`assistant`)for(let n of e.toolInvocations??[]){let e=n.draftReview?ce(n.draftReview):n.proposedPlan?le(n.proposedPlan):void 0;t.push({type:`tool-${n.toolName}`,toolCallId:n.toolCallId,toolName:n.toolName,state:n.state??(n.errorText?`output-error`:`output-available`),...n.errorText?{errorText:n.errorText}:{},...e===void 0?{}:{output:e}})}if(t.length!==0)return{id:e.id,role:e.role,parts:t}}).filter(e=>!!e)}function K(e){return typeof e==`string`?e?[{type:`text`,text:e}]:[]:Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return e?{type:`text`,text:e}:void 0;if(e&&typeof e==`object`&&`type`in e&&typeof e.type==`string`)return e;if(e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`)return{type:`text`,text:e.text}}).filter(e=>!!e):e&&typeof e==`object`&&`parts`in e&&Array.isArray(e.parts)?K(e.parts):[]}function de(e,t){for(let n of K(e)){let e=typeof n.toolCallId==`string`?n.toolCallId:void 0;if(!e)continue;let r=t.get(e);if(!r)continue;let i=n.output??n.result;if(i===void 0)continue;r.output=i;let a=n.errorText;r.state=n.isError||typeof a==`string`?`output-error`:`output-available`,typeof a==`string`&&(r.errorText=a)}}function q(e){if(!e)return[];let t=[],n=new Map;return e.forEach((e,r)=>{let i=e.role;if(i===`tool`){de(e.content,n);return}if(i!==`user`&&i!==`assistant`&&i!==`system`)return;let a=K(e.content);if(a.length!==0){if(i===`assistant`)for(let e of a){e.type===`tool-call`&&typeof e.toolName==`string`&&e.toolName&&(e.type=`tool-${e.toolName}`);let t=typeof e.toolCallId==`string`?e.toolCallId:void 0;t&&(e.type===`tool-call`||e.type.startsWith(`tool-`))&&n.set(t,e)}t.push({id:e.id??`msg-${r}`,role:i,parts:a})}}),t}function J(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e);return Array.isArray(t)?t:void 0}catch{return}}function fe(e){return e?e.map(e=>{let t=e.id,n=typeof e.content==`string`?e.content:``;if(e.role===`assistant`){let r=J(e.tool_calls);if(r&&r.length>0){let e=[];return n&&e.push({type:`text`,text:n}),e.push(...r),{id:t,role:`assistant`,content:e}}return{id:t,role:`assistant`,content:n}}if(e.role===`tool`){let r=J(e.content);return r&&r.length>0&&r[0]?.type===`tool-result`?{id:t,role:`tool`,content:r}:{id:t,role:`tool`,content:[{type:`tool-result`,toolCallId:e.tool_call_id??``,toolName:`unknown`,output:{type:`text`,value:n}}]}}return{id:t,role:e.role,content:n}}):[]}async function Y(e,t){let n=await fetch(`${e}/conversations/${encodeURIComponent(t)}`,{credentials:`include`});if(n.status===404||n.status===403)return null;if(!n.ok)throw Error(`GET conversation failed: ${n.status}`);return await n.json()}async function X(e){let t=await fetch(`${e}/conversations`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!t.ok)throw Error(`POST conversation failed: ${t.status}`);return await t.json()}async function pe(e,t){await fetch(`${e}/conversations/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`include`}).catch(()=>{})}function Z(e){let{userId:t,scope:n,apiBase:r,activeId:i,forceNew:a,resumeMode:o=`resume`}=e,[s,c]=(0,g.useState)(void 0),[l,u]=(0,g.useState)([]),[d,f]=(0,g.useState)(!!t),p=(0,g.useRef)(!0),m=(0,g.useRef)(void 0),h=(0,g.useRef)(void 0);(0,g.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]),(0,g.useEffect)(()=>{if(!t){c(void 0),u([]),f(!1),m.current=void 0,h.current=void 0;return}let e=h.current!==n;if(!i&&!a&&!e&&m.current===t&&s)return;let l=!1,d=B(t,n);return!i&&(a||e&&m.current===t)&&(c(void 0),u([])),f(!0),(async()=>{try{if(i){let e=await Y(r,i);if(l)return;if(e){H(d,e.id),c(e.id);let r=q(e.messages);u(r.length>0?r:W(e.id)),m.current=t,h.current=n;return}H(d,void 0),G(i,[])}else if(!a){let e=V(d);if(e){let i=await Y(r,e);if(l)return;if(i){let e=q(i.messages);if(o!==`fresh`||e.length===0){c(i.id),u(o===`fresh`?[]:e.length>0?e:W(i.id)),m.current=t,h.current=n;return}}else H(d,void 0),G(e,[])}}let e=await X(r);if(l)return;H(d,e.id),c(e.id),u(q(e.messages)),m.current=t,h.current=n}catch{l||(c(void 0),u([]))}finally{l||f(!1)}})(),()=>{l=!0}},[t,n,r,i,a,o]);let _=(0,g.useCallback)(async()=>{if(!t)return;let e=B(t,n);f(!0);try{s&&await pe(r,s),G(s,[]),H(e,void 0);let t=await X(r);if(H(e,t.id),G(t.id,[]),!p.current)return;c(t.id),u([])}catch{p.current&&(c(void 0),u([]))}finally{p.current&&f(!1)}},[s,t,n,r]),v=(0,g.useCallback)(async()=>{if(!t)return;let e=B(t,n);f(!0);try{let i=await X(r);if(H(e,i.id),G(i.id,[]),!p.current)return;c(i.id),u([]),m.current=t,h.current=n}catch{}finally{p.current&&f(!1)}},[t,n,r]);return{conversationId:s,conversationScope:h.current,initialMessages:l,isLoading:d,reset:_,startNew:v}}var me=new Set([`new chat`,`new conversation`,`untitled`,`新对话`]);function he(e){let t=e?.trim().toLowerCase();return!t||me.has(t)}function ge(e){let t=e.messages;if(!t||t.length===0)return;for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role===`user`){let e=Q(n.content);if(e)return e}}let n=t[t.length-1];return Q(n?.content)}function Q(e){if(typeof e==`string`)return e.slice(0,140);if(e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`)return e.text.slice(0,140);if(e&&typeof e==`object`&&`parts`in e&&Array.isArray(e.parts))return Q(e.parts);if(Array.isArray(e)){let t=e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`?e.text:``).join(``);return t?t.slice(0,140):void 0}}function $(e){let t=e.title?.trim(),n=ge(e)??Q(e.preview);return{id:e.id,title:he(t)?void 0:t,agentId:e.agentId,createdAt:e.createdAt,updatedAt:e.updatedAt,preview:n}}async function _e(e,t){let n=await fetch(`${e}/conversations/${encodeURIComponent(t)}`,{credentials:`include`});if(!n.ok)return;let r=await n.json();return $(`conversation`in r&&r.conversation?r.conversation:r)}function ve(e){let{userId:t,apiBase:n,limit:r=50,refreshKey:i}=e,[a,o]=(0,g.useState)([]),[s,c]=(0,g.useState)(!!t),[l,u]=(0,g.useState)(void 0),[d,f]=(0,g.useState)(0),p=(0,g.useCallback)(async()=>{f(e=>e+1)},[]),m=(0,g.useCallback)(async e=>{try{await fetch(`${n}/conversations/${encodeURIComponent(e)}`,{method:`DELETE`,credentials:`include`})}finally{o(t=>t.filter(t=>t.id!==e))}},[n]),h=(0,g.useCallback)(async(e,t)=>{let r=t.trim();o(t=>t.map(t=>t.id===e?{...t,title:r||void 0}:t));let i=await fetch(`${n}/conversations/${encodeURIComponent(e)}`,{method:`PATCH`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:r})});if(!i.ok)throw f(e=>e+1),Error(`PATCH conversation failed: ${i.status}`)},[n]);return(0,g.useEffect)(()=>{if(!t){o([]),c(!1),u(void 0);return}let e=!1;return c(!0),u(void 0),(async()=>{try{let t=await fetch(`${n}/conversations?limit=${encodeURIComponent(String(r))}`,{credentials:`include`});if(!t.ok)throw Error(`GET conversations failed: ${t.status}`);let i=await t.json(),a=Array.isArray(i)?i:i.conversations??i.items??[];if(e)return;let s=a.map($).sort((e,t)=>(t.updatedAt??``).localeCompare(e.updatedAt??``));o(s);let c=s.filter(e=>!e.title&&!e.preview).slice(0,20);if(c.length>0){let t=await Promise.all(c.map(e=>_e(n,e.id).catch(()=>void 0)));if(e)return;let r=new Map(t.filter(e=>!!(e?.preview||e?.title)).map(e=>[e.id,e]));r.size>0&&o(e=>e.map(e=>{let t=r.get(e.id);return t?{...e,title:e.title??t.title,preview:e.preview??t.preview}:e}))}}catch(t){if(e)return;u(t instanceof Error?t:Error(String(t))),o([])}finally{e||c(!1)}})(),()=>{e=!0}},[t,n,r,d,i]),{conversations:a,isLoading:s,error:l,refetch:p,remove:m,rename:h}}async function ye(e){let t=await fetch(`/api/v1/meta/_drafts?packageId=${encodeURIComponent(e)}`,{credentials:`include`,headers:{Accept:`application/json`},cache:`no-store`});if(!t.ok)throw Error(`_drafts HTTP ${t.status}`);let n=await t.json(),r=Array.isArray(n)?n:n?.drafts??n?.data?.drafts??[];return Array.isArray(r)?r.length:0}function be(e){if(!e||e.length===0)return!1;let t=e[e.length-1];return!t||t.role!==`assistant`?!1:t.parts.some(e=>e.type===`text`&&String(e.text??``).trim().length>0)}function xe(e){let{chatApi:t,conversationId:n}=e,[r,i]=(0,g.useState)(!1),a=(0,g.useRef)(void 0);return{errorSuppressed:r,handleChatError:(0,g.useCallback)(async e=>{if(e?.notSent){i(!1);return}let r=t?.replace(/\/agents\/[^/]+\/chat$/,``);if(!n||!r){i(!1);return}try{let e=q((await Y(r,n))?.messages);if(be(e)&&a.current){a.current(e),i(!0);return}}catch{}i(!1)},[n,t]),setMessagesRef:a,resetSuppression:(0,g.useCallback)(()=>i(!1),[])}}export{Y as a,Z as c,P as d,ie as f,_ as g,y as h,fe as i,G as l,C as m,ye as n,ue as o,ee as p,ve as r,q as s,xe as t,se as u};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{f as t,h as n,m as r,y as i}from"./vendor-react-BGDDiZfJ.js";import{J as a,L as o,R as s,l as c}from"./framework-B3O15Lsq.js";import{Nt as l}from"./ui-components-rkvkkTxO.js";import{r as u}from"./vendor-ui-utils-BzQBRdq3.js";import"./AdapterProvider-DYYVhErE.js";import{a as d}from"./MetadataProvider-BpQl3Bw2.js";import{o as f,r as p}from"./useRecordApprovals-obyIj2_8.js";import{n as m}from"./ui-layout-CAjjF5_S.js";import{r as h}from"./appRoute-CbCiASix.js";var g=e(i(),1);function _({objectName:e,objectLabel:n,dataSource:i,onEdit:o,onRefresh:s,onConfirm:l,onToast:d}){let f=t(),{appName:p}=r(),{t:m}=c(),h=`/apps/${p}`,{execute:_,loading:v,error:y,runner:b}=a({context:{objectName:e,objectLabel:n||e,baseUrl:h},onConfirm:l,onToast:d});return(0,g.useEffect)(()=>{b.registerHandler(`create`,async()=>(o?.(null),{success:!0})),b.registerHandler(`delete`,async t=>{let r=Array.isArray(t.params?.records)?t.params.records.filter(e=>e?.id!=null):null;if(r&&r.length>1){let t=await Promise.allSettled(r.map(t=>i.delete(e,t.id))),a=t.filter(e=>e.status===`rejected`).length,o=t.length-a;return s?.(),a===0?(u.success(m(`objectActions.bulkDeleteSuccess`,{count:o,label:n||e,defaultValue:`Deleted ${o} ${n||e} records`})),{success:!0,reload:!0,silent:!0}):(u.error(m(`objectActions.bulkDeletePartial`,{succeeded:o,failed:a,defaultValue:`${o} deleted, ${a} failed`})),{success:!1})}let a=t.params?.recordId??t.params?.record?.id??r?.[0]?.id??t.recordId;if(!a)return{success:!1,error:m(`objectActions.noRecordId`)};try{return await i.delete(e,a),s?.(),u.success(m(`objectActions.deleteSuccess`,{label:n||e})),{success:!0,reload:!0,silent:!0}}catch(t){return u.error(m(`objectActions.deleteFailed`,{label:n||e}),{description:t.message}),{success:!1}}}),b.registerHandler(`navigate`,async e=>{let t=e.params?.url||e.url;return t&&f(t.startsWith(`/`)?t:`${h}/${t}`),{success:!0}}),b.registerHandler(`refresh`,async()=>(s?.(),{success:!0,reload:!0}))},[b,e,i,o,s,f,h,m,n]),{execute:_,create:(0,g.useCallback)(()=>{o?.(null)},[o]),deleteRecord:(0,g.useCallback)(async e=>_({type:`delete`,confirmText:m(`objectActions.deleteConfirm`),params:{recordId:e}}),[_,m]),navigateToView:(0,g.useCallback)(t=>{f(`${h}/${e}/view/${t}`)},[f,h,e]),navigateToRecord:(0,g.useCallback)(t=>{f(`${h}/${e}/record/${encodeURIComponent(t)}`)},[f,h,e]),loading:v,error:y}}function v(e){return e==null?[]:Array.isArray(e)?e:[e]}function y(e,t){let{alias:r,value:i=`1`,replace:a=!0}=t??{},[o,s]=n(),c=(0,g.useMemo)(()=>v(r),[r]),l=(0,g.useCallback)(t=>t.get(e)===i||c.some(e=>t.get(e)===i),[e,i,c]),u=l(o),d=(0,g.useCallback)(t=>{if(t===l(o))return;let n=new URLSearchParams(o);if(t){n.set(e,i);for(let e of c)n.delete(e)}else{n.delete(e);for(let e of c)n.delete(e)}s(n,{replace:a})},[l,o,s,e,i,c,a]);return{open:u,setOpen:d,openOverlay:(0,g.useCallback)(()=>d(!0),[d]),closeOverlay:(0,g.useCallback)(()=>d(!1),[d]),toggleOverlay:(0,g.useCallback)(()=>{s(t=>{let n=new URLSearchParams(t);if(l(n)){n.delete(e);for(let e of c)n.delete(e)}else{n.set(e,i);for(let e of c)n.delete(e)}return n},{replace:a})},[s,l,e,i,c,a])}}var b=20;function x(e,t=``){let{href:n,external:r}=m(e,t);return r?n:!n||n===`#`?``:n}function S(e){return`nav:${e}`}function C(){let{favorites:e,addFavorite:t,removeFavorite:n,setPinned:r,pinnedNavIds:i}=p(),a=(0,g.useCallback)((e,i,a,o)=>{let s=S(e);i?(a&&t({id:s,label:a.label,href:x(a,o??``),type:`nav`,navId:e,pinned:!0}),r(s,!0)):n(s)},[t,n,r]),o=(0,g.useCallback)(e=>i.has(e),[i]),s=(0,g.useCallback)(e=>{if(i.size===0){let t=!1;for(let n of e)if(n.pinned){t=!0;break}if(!t)return e}let t=0,n=e=>e.map(e=>{let r=i.has(e.id)&&t<b;r&&t++;let a=e.children?.length?n(e.children):e.children;return r!==(e.pinned??!1)||a!==e.children?{...e,pinned:r,children:a}:e});return n(e)},[i]),c=(0,g.useCallback)(()=>{for(let t of e)t.type===`nav`&&n(t.id)},[e,n]);return{pinnedIds:(0,g.useMemo)(()=>Array.from(i),[i]),togglePin:a,isPinned:o,applyPins:s,clearPins:c}}var w=768,T=1024;function ee(){let{setOpen:e,isMobile:t}=l(),n=(0,g.useRef)(e);(0,g.useEffect)(()=>{n.current=e},[e]),(0,g.useEffect)(()=>{if(t)return;let e=!1;function r(){let t=window.innerWidth,r=t>=w&&t<T;r&&!e&&n.current(!1),e=r}return r(),window.addEventListener(`resize`,r),()=>window.removeEventListener(`resize`,r)},[t])}function te(e,t){return{name:e.name,label:e.label,pluralLabel:e.pluralLabel,description:e.description,icon:e.icon,group:e.group,sortOrder:e.sortOrder,enabled:e.enabled,fields:t,relationships:e.relationships}}function ne(e){return{name:e.name,label:e.label,type:e.type,group:e.group,description:e.description,required:e.required,unique:e.unique,readonly:e.readonly,hidden:e.hidden,defaultValue:e.defaultValue,placeholder:e.placeholder,options:e.options,externalId:e.externalId,trackHistory:e.trackHistory,indexed:e.indexed,referenceTo:e.referenceTo,formula:e.formula,sortOrder:e.sortOrder}}var re=class{adapter;constructor(e){this.adapter=e}async getItems(e){let t=await this.adapter.getClient().meta.getItems(e);return t&&typeof t==`object`&&`items`in t&&Array.isArray(t.items)?t.items:[]}async saveMetadataItem(e,t,n){await this.adapter.getClient().meta.saveItem(e,t,n),this.adapter.invalidateCache(`${e}:${t}`)}async deleteMetadataItem(e,t){await this.adapter.getClient().meta.saveItem(e,t,{name:t,enabled:!1,_deleted:!0}),this.adapter.invalidateCache(`${e}:${t}`)}async saveObject(e,t){let n=this.adapter.getClient(),r=te(e,t);await n.meta.saveItem(`object`,e.name,r),this.adapter.invalidateCache(`object:${e.name}`)}async deleteObject(e){await this.adapter.getClient().meta.saveItem(`object`,e,{name:e,enabled:!1,_deleted:!0}),this.adapter.invalidateCache(`object:${e}`)}async saveFields(e,t){let n=this.adapter.getClient(),r={};try{let t=await n.meta.getItem(`object`,e);r=t?.item??t??{}}catch{}let i={...r,name:e,fields:t.map(ne)};await n.meta.saveItem(`object`,e,i),this.adapter.invalidateCache(`object:${e}`)}static diffObjects(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map(t.map(e=>[e.id,e]));for(let[e,t]of r)if(!n.has(e))return{type:`create`,object:t};for(let[e,t]of n)if(!r.has(e))return{type:`delete`,object:t};for(let[e,t]of r){let r=n.get(e);if(r&&JSON.stringify(r)!==JSON.stringify(t))return{type:`update`,object:t}}return null}static diffFields(e,t){let n=new Map(e.map(e=>[e.id,e])),r=new Map(t.map(e=>[e.id,e]));for(let[e,t]of r)if(!n.has(e))return{type:`create`,field:t};for(let[e,t]of n)if(!r.has(e))return{type:`delete`,field:t};for(let[e,t]of r){let r=n.get(e);if(r&&JSON.stringify(r)!==JSON.stringify(t))return{type:`update`,field:t}}return null}};function ie(){let e=o();return(0,g.useMemo)(()=>e?new re(e):null,[e])}var E=0;function D(e=`nav`){return`${e}_${Date.now()}_${++E}`}function O(e,t){return[...e,t]}function k(e,t,n){return e.filter(e=>!(e.type===t&&(t===`page`&&e.pageName===n||t===`dashboard`&&e.dashboardName===n))).map(e=>e.children&&e.children.length>0?{...e,children:k(e.children,t,n)}:e)}function A(e,t,n,r){return e.map(e=>{let i=e;return t===`page`&&e.type===`page`&&e.pageName===n?i={...e,pageName:r}:t===`dashboard`&&e.type===`dashboard`&&e.dashboardName===n&&(i={...e,dashboardName:r}),i.children&&i.children.length>0?{...i,children:A(i.children,t,n,r)}:i})}function j(e,t){return e.length===t.length?e===t?!0:JSON.stringify(e)===JSON.stringify(t):!1}function ae(e){return typeof e==`string`&&e.startsWith(`sys_`)}function oe(e){if(!e||typeof e!=`object`)return!1;let t=e;return t._packageId!=null||t._provenance===`package`?!0:ae(t.name)}function M(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t._lock??t.protection?.lock;return n!==`full`&&n!==`no-overlay`}function N(){let e=o(),{apps:t,refresh:n}=s(),{t:r}=c(),i=(0,g.useRef)(e);i.current=e;let a=(0,g.useRef)(n);a.current=n;let l=(0,g.useCallback)(async(e,t)=>{let n=i.current?.getClient();n&&await n.meta.saveItem(`app`,e,t),await a.current?.()},[]),d=(0,g.useCallback)(e=>h(t,e),[t]),f=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=O(a,{id:D(`nav_page`),type:`page`,label:n||t,pageName:t,icon:`FileText`}),s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.addedPage`,{name:n||t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),p=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=O(a,{id:D(`nav_dash`),type:`dashboard`,label:n||t,dashboardName:t,icon:`LayoutDashboard`}),s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.addedDashboard`,{name:n||t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),m=(0,g.useCallback)(async(e,t)=>{let n=d(e);if(!n)return;let i=n.navigation??[],a=k(i,`page`,t);if(j(a,i))return;let o={...n,navigation:a};try{await l(e,o),u.success(r(`navigationSync.removedPage`,{name:t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...n,navigation:i}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),_=(0,g.useCallback)(async(e,t)=>{let n=d(e);if(!n)return;let i=n.navigation??[],a=k(i,`dashboard`,t);if(j(a,i))return;let o={...n,navigation:a};try{await l(e,o),u.success(r(`navigationSync.removedDashboard`,{name:t}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...n,navigation:i}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),v=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=A(a,`page`,t,n);if(j(o,a))return;let s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.renamedPage`,{oldName:t,newName:n}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),y=(0,g.useCallback)(async(e,t,n)=>{let i=d(e);if(!i)return;let a=i.navigation??[],o=A(a,`dashboard`,t,n);if(j(o,a))return;let s={...i,navigation:o};try{await l(e,s),u.success(r(`navigationSync.renamedDashboard`,{oldName:t,newName:n}),{action:{label:r(`navigationSync.undoLabel`),onClick:async()=>{try{await l(e,{...i,navigation:a}),u.info(r(`navigationSync.undone`))}catch{u.error(r(`navigationSync.undoFailed`))}}}})}catch{u.error(r(`navigationSync.updateFailed`))}},[d,l,r]),b=e=>e&&typeof e==`object`&&`name`in e?e.name:void 0;return{syncPageCreated:f,syncDashboardCreated:p,syncPageDeleted:m,syncDashboardDeleted:_,syncPageRenamed:v,syncDashboardRenamed:y,syncPageCreatedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await f(t,e,n)}},[t,f]),syncDashboardCreatedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await p(t,e,n)}},[t,p]),syncPageDeletedAllApps:(0,g.useCallback)(async e=>{for(let n of t){let t=b(n);!t||!M(n)||await m(t,e)}},[t,m]),syncDashboardDeletedAllApps:(0,g.useCallback)(async e=>{for(let n of t){let t=b(n);!t||!M(n)||await _(t,e)}},[t,_]),syncPageRenamedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await v(t,e,n)}},[t,v]),syncDashboardRenamedAllApps:(0,g.useCallback)(async(e,n)=>{for(let r of t){let t=b(r);!t||!M(r)||await y(t,e,n)}},[t,y])}}function P(){let{pages:e,dashboards:t,apps:n,getTypeStatus:r}=s(),i=o(),a=(0,g.useRef)(i);a.current=i;let c=d(),{syncPageCreated:l,syncDashboardCreated:u,syncPageDeleted:f,syncDashboardDeleted:p}=N(),m=(0,g.useRef)(null),h=(0,g.useRef)(null),_=(0,g.useRef)(0),v=(0,g.useRef)(!1),y=e=>e&&typeof e==`object`&&`name`in e?e.name:void 0;return(0,g.useEffect)(()=>{if(v.current)return;if(c){m.current=null,h.current=null;return}if(r&&(r(`page`)!==`ready`||r(`dashboard`)!==`ready`))return;let i=e=>new Set(e.filter(e=>!oe(e)).map(e=>e?.name).filter(e=>typeof e==`string`&&e.length>0)),a=i(e??[]),o=i(t??[]),s=m.current,d=h.current;if(s===null||d===null){m.current=a,h.current=o;return}let g=[...a].filter(e=>!s.has(e)),b=[...s].filter(e=>!a.has(e)),x=[...o].filter(e=>!d.has(e)),S=[...d].filter(e=>!o.has(e));if(g.length===0&&b.length===0&&x.length===0&&S.length===0){m.current=a,h.current=o;return}let C=++_.current;v.current=!0;let w=!1;return(async()=>{try{for(let e of n){if(w||_.current!==C)break;let t=y(e);if(!(!t||!M(e))){for(let e of g){if(w)break;await l(t,e)}for(let e of b){if(w)break;await f(t,e)}for(let e of x){if(w)break;await u(t,e)}for(let e of S){if(w)break;await p(t,e)}}}}finally{_.current===C&&(m.current=a,h.current=o,v.current=!1)}})(),()=>{w=!0}},[e,t,n,c,r,l,u,f,p]),null}var F=new Set([`view`,`record`,`page`,`dashboard`,`design`,`report`]);function I(e){return e.replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function L(e){try{return decodeURIComponent(e)}catch{return e}}function se({pathname:e,appName:t,objects:n=[],basePathSegment:r=`apps`,disabled:i=!1}){let{addRecentItem:a}=f(),o=(0,g.useRef)(n);o.current=n,(0,g.useEffect)(()=>{if(i||!t)return;let n=e.split(`/`).filter(Boolean);if(n[0]!==r||n[1]!==t)return;let s=n[2],c=n[3],l=`/${r}/${t}`;if(s===`metadata`){let e=n[3],t=n[4];e&&t&&t!==`new`&&a({id:`metadata:${e}:${L(t)}`,label:L(t),href:`${l}/metadata/${e}/${t}`,type:`metadata`});return}if(s&&!F.has(s)){let e=o.current.find(e=>e.name===s);e&&a({id:`object:${e.name}`,label:e.label||e.name,href:`${l}/${e.name}`,type:`object`});return}if(c)switch(s){case`dashboard`:a({id:`dashboard:${c}`,label:I(c),href:`${l}/dashboard/${c}`,type:`dashboard`});break;case`page`:a({id:`page:${c}`,label:I(c),href:`${l}/page/${c}`,type:`page`});break;case`report`:a({id:`report:${c}`,label:I(c),href:`${l}/report/${c}`,type:`report`});break;default:break}},[e,t,r,i])}function ce(e){return{status:`drafted`,drafted:e.items,...e.summary?{summary:e.summary}:{},...e.packageId?{packageId:e.packageId}:{},...e.autoPublishable?{autoPublishable:!0}:{},...e.failedCount?{failed:Array.from({length:e.failedCount},()=>null)}:{},...e.materialized?{materialized:!0}:{},...e.verification?{verification:e.verification}:{},...e.issues&&e.issues.length?{issues:e.issues}:{},...e.nextSteps&&e.nextSteps.length?{nextSteps:e.nextSteps}:{}}}function le(e){return{status:`blueprint_proposed`,...e.summary?{summary:e.summary}:{},counts:e.counts,questions:e.questions,...e.targetApp?{targetApp:e.targetApp}:{},blueprint:{objects:e.objects.map(e=>({name:e.name,...e.label?{label:e.label}:{},fields:Array.from({length:e.fieldCount},()=>null)})),assumptions:e.assumptions}}}var R=`objectstack:ai-chat-conversation-id`,z=`objectstack:ai-chat-messages`;function B(e,t){return t?`${R}:${e}:${t}`:`${R}:${e}`}function V(e){try{return localStorage.getItem(e)??void 0}catch{return}}function H(e,t){try{t?localStorage.setItem(e,t):localStorage.removeItem(e)}catch{}}function U(e){return`${z}:${e}`}function W(e){try{let t=localStorage.getItem(U(e));if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(e=>!!e&&typeof e==`object`&&typeof e.id==`string`&&(e.role===`user`||e.role===`assistant`||e.role===`system`)&&Array.isArray(e.parts)):[]}catch{return[]}}function G(e,t){if(e)try{if(t.length===0){localStorage.removeItem(U(e));return}localStorage.setItem(U(e),JSON.stringify(t))}catch{}}function ue(e){return e.map(e=>{let t=[];if(e.content&&t.push({type:`text`,text:e.content}),e.role===`assistant`)for(let n of e.toolInvocations??[]){let e=n.draftReview?ce(n.draftReview):n.proposedPlan?le(n.proposedPlan):void 0;t.push({type:`tool-${n.toolName}`,toolCallId:n.toolCallId,toolName:n.toolName,state:n.state??(n.errorText?`output-error`:`output-available`),...n.errorText?{errorText:n.errorText}:{},...e===void 0?{}:{output:e}})}if(t.length!==0)return{id:e.id,role:e.role,parts:t}}).filter(e=>!!e)}function K(e){return typeof e==`string`?e?[{type:`text`,text:e}]:[]:Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return e?{type:`text`,text:e}:void 0;if(e&&typeof e==`object`&&`type`in e&&typeof e.type==`string`)return e;if(e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`)return{type:`text`,text:e.text}}).filter(e=>!!e):e&&typeof e==`object`&&`parts`in e&&Array.isArray(e.parts)?K(e.parts):[]}function de(e,t){for(let n of K(e)){let e=typeof n.toolCallId==`string`?n.toolCallId:void 0;if(!e)continue;let r=t.get(e);if(!r)continue;let i=n.output??n.result;if(i===void 0)continue;r.output=i;let a=n.errorText;r.state=n.isError||typeof a==`string`?`output-error`:`output-available`,typeof a==`string`&&(r.errorText=a)}}function q(e){if(!e)return[];let t=[],n=new Map;return e.forEach((e,r)=>{let i=e.role;if(i===`tool`){de(e.content,n);return}if(i!==`user`&&i!==`assistant`&&i!==`system`)return;let a=K(e.content);if(a.length!==0){if(i===`assistant`)for(let e of a){e.type===`tool-call`&&typeof e.toolName==`string`&&e.toolName&&(e.type=`tool-${e.toolName}`);let t=typeof e.toolCallId==`string`?e.toolCallId:void 0;t&&(e.type===`tool-call`||e.type.startsWith(`tool-`))&&n.set(t,e)}t.push({id:e.id??`msg-${r}`,role:i,parts:a})}}),t}function J(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e);return Array.isArray(t)?t:void 0}catch{return}}function fe(e){return e?e.map(e=>{let t=e.id,n=typeof e.content==`string`?e.content:``;if(e.role===`assistant`){let r=J(e.tool_calls);if(r&&r.length>0){let e=[];return n&&e.push({type:`text`,text:n}),e.push(...r),{id:t,role:`assistant`,content:e}}return{id:t,role:`assistant`,content:n}}if(e.role===`tool`){let r=J(e.content);return r&&r.length>0&&r[0]?.type===`tool-result`?{id:t,role:`tool`,content:r}:{id:t,role:`tool`,content:[{type:`tool-result`,toolCallId:e.tool_call_id??``,toolName:`unknown`,output:{type:`text`,value:n}}]}}return{id:t,role:e.role,content:n}}):[]}async function Y(e,t){let n=await fetch(`${e}/conversations/${encodeURIComponent(t)}`,{credentials:`include`});if(n.status===404||n.status===403)return null;if(!n.ok)throw Error(`GET conversation failed: ${n.status}`);return await n.json()}async function X(e){let t=await fetch(`${e}/conversations`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!t.ok)throw Error(`POST conversation failed: ${t.status}`);return await t.json()}async function pe(e,t){await fetch(`${e}/conversations/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`include`}).catch(()=>{})}function Z(e){let{userId:t,scope:n,apiBase:r,activeId:i,forceNew:a,resumeMode:o=`resume`}=e,[s,c]=(0,g.useState)(void 0),[l,u]=(0,g.useState)([]),[d,f]=(0,g.useState)(!!t),p=(0,g.useRef)(!0),m=(0,g.useRef)(void 0),h=(0,g.useRef)(void 0);(0,g.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]),(0,g.useEffect)(()=>{if(!t){c(void 0),u([]),f(!1),m.current=void 0,h.current=void 0;return}let e=h.current!==n;if(!i&&!a&&!e&&m.current===t&&s)return;let l=!1,d=B(t,n);return!i&&(a||e&&m.current===t)&&(c(void 0),u([])),f(!0),(async()=>{try{if(i){let e=await Y(r,i);if(l)return;if(e){H(d,e.id),c(e.id);let r=q(e.messages);u(r.length>0?r:W(e.id)),m.current=t,h.current=n;return}H(d,void 0),G(i,[])}else if(!a){let e=V(d);if(e){let i=await Y(r,e);if(l)return;if(i){let e=q(i.messages);if(o!==`fresh`||e.length===0){c(i.id),u(o===`fresh`?[]:e.length>0?e:W(i.id)),m.current=t,h.current=n;return}}else H(d,void 0),G(e,[])}}let e=await X(r);if(l)return;H(d,e.id),c(e.id),u(q(e.messages)),m.current=t,h.current=n}catch{l||(c(void 0),u([]))}finally{l||f(!1)}})(),()=>{l=!0}},[t,n,r,i,a,o]);let _=(0,g.useCallback)(async()=>{if(!t)return;let e=B(t,n);f(!0);try{s&&await pe(r,s),G(s,[]),H(e,void 0);let t=await X(r);if(H(e,t.id),G(t.id,[]),!p.current)return;c(t.id),u([])}catch{p.current&&(c(void 0),u([]))}finally{p.current&&f(!1)}},[s,t,n,r]),v=(0,g.useCallback)(async()=>{if(!t)return;let e=B(t,n);f(!0);try{let i=await X(r);if(H(e,i.id),G(i.id,[]),!p.current)return;c(i.id),u([]),m.current=t,h.current=n}catch{}finally{p.current&&f(!1)}},[t,n,r]);return{conversationId:s,conversationScope:h.current,initialMessages:l,isLoading:d,reset:_,startNew:v}}var me=new Set([`new chat`,`new conversation`,`untitled`,`新对话`]);function he(e){let t=e?.trim().toLowerCase();return!t||me.has(t)}function ge(e){let t=e.messages;if(!t||t.length===0)return;for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.role===`user`){let e=Q(n.content);if(e)return e}}let n=t[t.length-1];return Q(n?.content)}function Q(e){if(typeof e==`string`)return e.slice(0,140);if(e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`)return e.text.slice(0,140);if(e&&typeof e==`object`&&`parts`in e&&Array.isArray(e.parts))return Q(e.parts);if(Array.isArray(e)){let t=e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`?e.text:``).join(``);return t?t.slice(0,140):void 0}}function $(e){let t=e.title?.trim(),n=ge(e)??Q(e.preview);return{id:e.id,title:he(t)?void 0:t,agentId:e.agentId,createdAt:e.createdAt,updatedAt:e.updatedAt,preview:n}}async function _e(e,t){let n=await fetch(`${e}/conversations/${encodeURIComponent(t)}`,{credentials:`include`});if(!n.ok)return;let r=await n.json();return $(`conversation`in r&&r.conversation?r.conversation:r)}function ve(e){let{userId:t,apiBase:n,limit:r=50,refreshKey:i}=e,[a,o]=(0,g.useState)([]),[s,c]=(0,g.useState)(!!t),[l,u]=(0,g.useState)(void 0),[d,f]=(0,g.useState)(0),p=(0,g.useCallback)(async()=>{f(e=>e+1)},[]),m=(0,g.useCallback)(async e=>{try{await fetch(`${n}/conversations/${encodeURIComponent(e)}`,{method:`DELETE`,credentials:`include`})}finally{o(t=>t.filter(t=>t.id!==e))}},[n]),h=(0,g.useCallback)(async(e,t)=>{let r=t.trim();o(t=>t.map(t=>t.id===e?{...t,title:r||void 0}:t));let i=await fetch(`${n}/conversations/${encodeURIComponent(e)}`,{method:`PATCH`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:r})});if(!i.ok)throw f(e=>e+1),Error(`PATCH conversation failed: ${i.status}`)},[n]);return(0,g.useEffect)(()=>{if(!t){o([]),c(!1),u(void 0);return}let e=!1;return c(!0),u(void 0),(async()=>{try{let t=await fetch(`${n}/conversations?limit=${encodeURIComponent(String(r))}`,{credentials:`include`});if(!t.ok)throw Error(`GET conversations failed: ${t.status}`);let i=await t.json(),a=Array.isArray(i)?i:i.conversations??i.items??[];if(e)return;let s=a.map($).sort((e,t)=>(t.updatedAt??``).localeCompare(e.updatedAt??``));o(s);let c=s.filter(e=>!e.title&&!e.preview).slice(0,20);if(c.length>0){let t=await Promise.all(c.map(e=>_e(n,e.id).catch(()=>void 0)));if(e)return;let r=new Map(t.filter(e=>!!(e?.preview||e?.title)).map(e=>[e.id,e]));r.size>0&&o(e=>e.map(e=>{let t=r.get(e.id);return t?{...e,title:e.title??t.title,preview:e.preview??t.preview}:e}))}}catch(t){if(e)return;u(t instanceof Error?t:Error(String(t))),o([])}finally{e||c(!1)}})(),()=>{e=!0}},[t,n,r,d,i]),{conversations:a,isLoading:s,error:l,refetch:p,remove:m,rename:h}}async function ye(e){let t=await fetch(`/api/v1/meta/_drafts?packageId=${encodeURIComponent(e)}`,{credentials:`include`,headers:{Accept:`application/json`},cache:`no-store`});if(!t.ok)throw Error(`_drafts HTTP ${t.status}`);let n=await t.json(),r=Array.isArray(n)?n:n?.drafts??n?.data?.drafts??[];return Array.isArray(r)?r.length:0}function be(e){if(!e||e.length===0)return!1;let t=e[e.length-1];return!t||t.role!==`assistant`?!1:t.parts.some(e=>e.type===`text`&&String(e.text??``).trim().length>0)}function xe(e){let{chatApi:t,conversationId:n}=e,[r,i]=(0,g.useState)(!1),a=(0,g.useRef)(void 0);return{errorSuppressed:r,handleChatError:(0,g.useCallback)(async e=>{if(e?.notSent){i(!1);return}let r=t?.replace(/\/agents\/[^/]+\/chat$/,``);if(!n||!r){i(!1);return}try{let e=q((await Y(r,n))?.messages);if(be(e)&&a.current){a.current(e),i(!0);return}}catch{}i(!1)},[n,t]),setMessagesRef:a,resetSuppression:(0,g.useCallback)(()=>i(!1),[])}}export{Y as a,Z as c,P as d,ie as f,_ as g,y as h,fe as i,G as l,C as m,ye as n,ue as o,ee as p,ve as r,q as s,xe as t,se as u};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{_ as t,t as n}from"./vendor-react-slxo-5GC.js";import{f as r}from"./infrastructure-BnbfcrX8.js";import{R as i,Y as a}from"./framework-B9PMswdm.js";import{Ac as o,Bt as s,Cn as c,Dn as l,En as u,Gn as d,Ht as f,Jn as p,Kn as m,Sr as h,Tn as g,Ut as _,Vt as v,Wn as ee,Wt as te,Yn as y,wn as b}from"./ui-components-DsYvPIox.js";import{n as x}from"./plugin-form-CzotVFc-.js";import{t as S}from"./recordFormNavigation-8nEYNxNo.js";var C=e(t(),1),w=n(),T=(0,C.createContext)({favorites:null,recent:null}),E=(0,C.createContext)(null);function D({children:e}){let[t,n]=(0,C.useState)({favorites:null,recent:null}),r=(0,C.useRef)({attach:(e,t)=>{n(n=>n[e]===t?n:{...n,[e]:t})}});return(0,w.jsx)(E.Provider,{value:r.current,children:(0,w.jsx)(T.Provider,{value:t,children:e})})}function O(e){return(0,C.useContext)(T)[e]}function k(){let e=(0,C.useContext)(E);return(0,C.useCallback)((t,n)=>{e?.attach(t,n)},[e])}function A(e,t){return t?`${e}:u:${t}`:e}function j(e,t){let n=(0,C.useRef)(t);n.current=t,(0,C.useEffect)(()=>{if(typeof window>`u`)return;let t=t=>{if(!(t.key!==e||t.storageArea!==localStorage)){if(t.newValue==null){n.current(null);return}try{n.current(JSON.parse(t.newValue))}catch{n.current(null)}}};return window.addEventListener(`storage`,t),()=>window.removeEventListener(`storage`,t)},[e])}function M(e,t=500){let n=null,r=null,i=!1,a=async()=>{if(n&&=(clearTimeout(n),null),!i)return;let t=r;i=!1,r=null;try{await e(t)}catch{}};return{schedule:e=>{r=e,i=!0,n&&clearTimeout(n),n=setTimeout(()=>{n=null,a()},t)},flush:a,cancel:()=>{n&&clearTimeout(n),n=null,i=!1,r=null}}}var N=`objectui-recent-items`,P=8;function F(e){try{let t=localStorage.getItem(A(N,e));return t?JSON.parse(t):[]}catch{return[]}}function I(e,t){try{localStorage.setItem(A(N,t),JSON.stringify(e))}catch{}}var L=(0,C.createContext)(null);function R({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`recent`),[a,o]=(0,C.useState)(()=>F(n));(0,C.useEffect)(()=>{o(F(n))},[n]),j(A(N,n),e=>{o(Array.isArray(e)?e.filter(e=>e&&typeof e.id==`string`).slice(0,P):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=(Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`).slice(0,P);o(a),I(a,n)}catch{}})(),()=>{t=!0}},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{I(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e.id),r=[{...e,visitedAt:new Date().toISOString()},...n].slice(0,P);return l(r),r})},[l]),d=(0,C.useCallback)(()=>{o([]),l([])},[l]),f=(0,C.useMemo)(()=>({recentItems:a,addRecentItem:u,clearRecentItems:d}),[a,u,d]);return(0,w.jsx)(L.Provider,{value:f,children:e})}function z(){return(0,C.useContext)(L)||{recentItems:[],addRecentItem:()=>{},clearRecentItems:()=>{}}}var B={sm:`sm:max-w-sm`,default:`sm:max-w-lg`,lg:`sm:max-w-2xl`,xl:`sm:max-w-5xl`,full:`sm:max-w-[95vw] sm:w-full`},V={lg:`sm:max-w-2xl`,xl:`sm:max-w-3xl`,full:`sm:max-w-[95vw]`};function H(e){if(typeof e==`string`){let t=e.match(/^(create|new|add|edit|update)_(.+)$/);return t?{objectName:t[2],mode:t[1]===`edit`||t[1]===`update`?`edit`:`create`}:{objectName:e,mode:`create`}}return e&&typeof e==`object`?e.type&&!e.content&&!e.objectName&&!e.placement?{content:e}:e:{}}function U(e){let[t,n]=(0,C.useState)(null),{objects:r}=i(),T=(0,C.useCallback)(e=>{n(t=>(t?.resolve(e),null))},[]),E=(0,C.useCallback)(e=>new Promise(t=>{n({d:H(e),resolve:t})}),[]),D=null;if(t){let n=t.d,i=e=>{e||T({success:!1})};if(n.objectName&&!n.content){let t=n.fields||n.sections?{}:S(r.find(e=>e?.name===n.objectName));D=(0,w.jsx)(x,{schema:{type:`object-form`,formType:`modal`,objectName:n.objectName,mode:n.mode||`create`,recordId:n.recordId,title:n.title,description:n.description,fields:n.fields,...t,modalSize:n.size,open:!0,onOpenChange:i,onSuccess:e=>T({success:!0,reload:!0,data:e}),onCancel:()=>T({success:!1}),showSubmit:!0,showCancel:!0},dataSource:e})}else{let e=n.placement||`center`,t=n.content?(0,w.jsx)(a,{schema:n.content}):n.description?(0,w.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n.description}):null;D=e===`side`?(0,w.jsx)(s,{open:!0,onOpenChange:i,children:(0,w.jsxs)(v,{side:n.side||`right`,className:o(`w-full overflow-y-auto`,V[n.size||`default`]),children:[n.title&&(0,w.jsxs)(_,{children:[(0,w.jsx)(te,{children:n.title}),n.description&&(0,w.jsx)(f,{children:n.description})]}),(0,w.jsx)(`div`,{className:`py-3`,children:t})]})}):e===`bottom`?(0,w.jsx)(c,{open:!0,onOpenChange:i,children:(0,w.jsxs)(b,{children:[n.title&&(0,w.jsxs)(u,{children:[(0,w.jsx)(l,{children:n.title}),n.description&&(0,w.jsx)(g,{children:n.description})]}),(0,w.jsx)(`div`,{className:`max-h-[75vh] overflow-y-auto px-4 pb-6`,children:t})]})}):(0,w.jsx)(ee,{open:!0,onOpenChange:i,children:(0,w.jsxs)(d,{className:o(e===`fullscreen`?`h-[95vh] w-full max-w-[98vw] overflow-y-auto`:B[n.size||`default`]),children:[n.title&&(0,w.jsxs)(p,{children:[(0,w.jsx)(y,{children:n.title}),n.description&&(0,w.jsx)(m,{children:n.description})]}),(0,w.jsx)(`div`,{children:t}),!n.content&&(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(h,{onClick:()=>T({success:!0}),children:`OK`})})]})})}}return{modalHandler:E,modalElement:D,closeModal:T}}var W=`objectui-favorites`,G=`objectui-nav-pins`,K=20,q=20;function J(e){let t=0,n=0,r=!1;for(let i of e)i.type===`nav`?(n++,n>q&&(r=!0)):(t++,t>K&&(r=!0));if(!r)return e;let i=[],a=0,o=0;for(let t of e)t.type===`nav`?o<q&&(i.push(t),o++):a<K&&(i.push(t),a++);return i}function Y(e){try{let t=localStorage.getItem(A(W,e));return t?JSON.parse(t):[]}catch{return[]}}function X(e,t){try{localStorage.setItem(A(W,t),JSON.stringify(e))}catch{}}function Z(e){let t;try{t=localStorage.getItem(G)}catch{return{migrated:e,didMigrate:!1}}if(!t)return{migrated:e,didMigrate:!1};let n=[];try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.filter(e=>typeof e==`string`))}catch{}try{localStorage.removeItem(G)}catch{}if(n.length===0)return{migrated:e,didMigrate:!1};let r=new Set(e.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),i=new Date().toISOString(),a=[];for(let e of n)r.has(e)||a.push({id:`nav:${e}`,label:e,href:``,type:`nav`,navId:e,pinned:!0,favoritedAt:i});return a.length===0?{migrated:e,didMigrate:!0}:{migrated:[...e,...a],didMigrate:!0}}var Q=(0,C.createContext)(null);function ne({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`favorites`),[a,o]=(0,C.useState)(()=>Y(n));(0,C.useEffect)(()=>{o(Y(n))},[n]),j(A(W,n),e=>{o(Array.isArray(e)?J(e.filter(e=>e&&typeof e.id==`string`)):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=J((Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`)),l=Y(n),u=new Set(a.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),d=l.filter(e=>e.type===`nav`&&e.navId&&!u.has(e.navId)),f=a,p=!1;d.length>0&&(f=J([...a,...d]),p=!0);let{migrated:m,didMigrate:h}=Z(f);h&&(f=J(m),p=!0),o(f),X(f,n),p&&c.schedule(f)}catch{}})(),()=>{t=!0}},[i,n]),(0,C.useEffect)(()=>{i||o(e=>{let{migrated:t,didMigrate:r}=Z(e);if(!r)return e;let i=J(t);return X(i,n),i})},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{X(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{if(t.some(t=>t.id===e.id))return t;let n=J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),d=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e);return l(n),n})},[l]),f=(0,C.useCallback)(e=>{o(t=>{let n=t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),p=(0,C.useCallback)(()=>{o([]),l([])},[l]),m=(0,C.useCallback)((e,t)=>{!e||!t||o(n=>{let r=!1,i=n.map(n=>n.id===e&&n.label!==t?(r=!0,{...n,label:t}):n);return r?(l(i),i):n})},[l]),h=(0,C.useCallback)((e,t)=>{o(n=>{let r=!1,i=n.map(n=>n.id!==e||!!n.pinned===t?n:(r=!0,{...n,pinned:t}));return r?(l(i),i):n})},[l]),g=(0,C.useMemo)(()=>{let e=new Set;for(let t of a)t.pinned&&t.type===`nav`&&t.navId&&e.add(t.navId);return{favorites:a,addFavorite:u,removeFavorite:d,toggleFavorite:f,isFavorite:e=>a.some(t=>t.id===e),clearFavorites:p,refreshLabel:m,setPinned:h,isPinned:e=>a.some(t=>t.id===e&&!!t.pinned),pinnedNavIds:e}},[a,u,d,f,p,m,h]);return(0,w.jsx)(Q.Provider,{value:g,children:e})}function re(){return(0,C.useContext)(Q)||{favorites:[],addFavorite:()=>{},removeFavorite:()=>{},toggleFavorite:()=>{},isFavorite:()=>!1,clearFavorites:()=>{},refreshLabel:()=>{},setPinned:()=>{},isPinned:()=>!1,pinnedNavIds:new Set}}function ie(){return`${``.replace(/\/$/,``)}/api/v1`}async function $(e,t){let n=await fetch(`${ie()}${e}`,{credentials:`include`,headers:{"Content-Type":`application/json`,...t?.headers||{}},...t}),r=null;try{r=await n.json()}catch{}if(!n.ok){let e=Error(r?.error||`HTTP ${n.status}`);throw e.code=r?.code??`HTTP_${n.status}`,e.status=n.status,e}return r}function ae(e,t,n){let[r,i]=(0,C.useState)(!1),[a,o]=(0,C.useState)(!0),[s,c]=(0,C.useState)([]),l=(0,C.useRef)(!1),u=(0,C.useCallback)(async()=>{if(!(!e||!t)&&!l.current){i(!0);try{c((await $(`/approvals/requests?object=${encodeURIComponent(e)}&recordId=${encodeURIComponent(t)}`))?.data??[]),o(!0)}catch(e){(e?.status===404||e?.status===501)&&(l.current=!0,o(!1))}finally{i(!1)}}},[e,t]);(0,C.useEffect)(()=>{if(!e||!t){c([]);return}u()},[e,t,u]);let d=(0,C.useMemo)(()=>s.find(e=>e.status===`pending`)??null,[s]),f=(0,C.useMemo)(()=>s.length===0?null:[...s].sort((e,t)=>{let n=e.submitted_at||e.completed_at||``;return(t.submitted_at||t.completed_at||``).localeCompare(n)})[0]??null,[s]),p=!!d&&!!n&&(d.pending_approvers??[]).includes(n),m=(0,C.useCallback)(async(e,t)=>{if(!d)throw Error(`No pending request`);let r=await $(`/approvals/requests/${encodeURIComponent(d.id)}/${e}`,{method:`POST`,body:JSON.stringify({...n?{actorId:n}:{},...t?.comment?{comment:t.comment}:{}})});return await u(),r?.request},[d,n,u]);return{loading:r,available:a,pendingRequest:d,latestRequest:f,canDecide:p,approve:(0,C.useCallback)(e=>m(`approve`,e),[m]),reject:(0,C.useCallback)(e=>m(`reject`,e),[m]),refresh:u}}export{R as a,k as c,U as i,ne as n,z as o,re as r,D as s,ae as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{r as t,y as n}from"./vendor-react-BGDDiZfJ.js";import{f as r}from"./infrastructure-Bcx6-8du.js";import{R as i,Y as a}from"./framework-B3O15Lsq.js";import{Bt as o,Cn as s,En as c,Gn as l,Ht as u,Jn as d,Sn as f,Tn as p,Un as m,Ut as h,Vt as g,Wn as _,Wt as v,kc as y,qn as ee,wn as b,xr as te}from"./ui-components-rkvkkTxO.js";import{n as x}from"./plugin-form-FeZEoC2R.js";import{t as S}from"./recordFormNavigation-8nEYNxNo.js";var C=e(n(),1),w=t(),T=(0,C.createContext)({favorites:null,recent:null}),E=(0,C.createContext)(null);function D({children:e}){let[t,n]=(0,C.useState)({favorites:null,recent:null}),r=(0,C.useRef)({attach:(e,t)=>{n(n=>n[e]===t?n:{...n,[e]:t})}});return(0,w.jsx)(E.Provider,{value:r.current,children:(0,w.jsx)(T.Provider,{value:t,children:e})})}function O(e){return(0,C.useContext)(T)[e]}function k(){let e=(0,C.useContext)(E);return(0,C.useCallback)((t,n)=>{e?.attach(t,n)},[e])}function A(e,t){return t?`${e}:u:${t}`:e}function j(e,t){let n=(0,C.useRef)(t);n.current=t,(0,C.useEffect)(()=>{if(typeof window>`u`)return;let t=t=>{if(!(t.key!==e||t.storageArea!==localStorage)){if(t.newValue==null){n.current(null);return}try{n.current(JSON.parse(t.newValue))}catch{n.current(null)}}};return window.addEventListener(`storage`,t),()=>window.removeEventListener(`storage`,t)},[e])}function M(e,t=500){let n=null,r=null,i=!1,a=async()=>{if(n&&=(clearTimeout(n),null),!i)return;let t=r;i=!1,r=null;try{await e(t)}catch{}};return{schedule:e=>{r=e,i=!0,n&&clearTimeout(n),n=setTimeout(()=>{n=null,a()},t)},flush:a,cancel:()=>{n&&clearTimeout(n),n=null,i=!1,r=null}}}var N=`objectui-recent-items`,P=8;function F(e){try{let t=localStorage.getItem(A(N,e));return t?JSON.parse(t):[]}catch{return[]}}function I(e,t){try{localStorage.setItem(A(N,t),JSON.stringify(e))}catch{}}var L=(0,C.createContext)(null);function R({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`recent`),[a,o]=(0,C.useState)(()=>F(n));(0,C.useEffect)(()=>{o(F(n))},[n]),j(A(N,n),e=>{o(Array.isArray(e)?e.filter(e=>e&&typeof e.id==`string`).slice(0,P):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=(Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`).slice(0,P);o(a),I(a,n)}catch{}})(),()=>{t=!0}},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{I(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e.id),r=[{...e,visitedAt:new Date().toISOString()},...n].slice(0,P);return l(r),r})},[l]),d=(0,C.useCallback)(()=>{o([]),l([])},[l]),f=(0,C.useMemo)(()=>({recentItems:a,addRecentItem:u,clearRecentItems:d}),[a,u,d]);return(0,w.jsx)(L.Provider,{value:f,children:e})}function z(){return(0,C.useContext)(L)||{recentItems:[],addRecentItem:()=>{},clearRecentItems:()=>{}}}var B={sm:`sm:max-w-sm`,default:`sm:max-w-lg`,lg:`sm:max-w-2xl`,xl:`sm:max-w-5xl`,full:`sm:max-w-[95vw] sm:w-full`},V={lg:`sm:max-w-2xl`,xl:`sm:max-w-3xl`,full:`sm:max-w-[95vw]`};function H(e){if(typeof e==`string`){let t=e.match(/^(create|new|add|edit|update)_(.+)$/);return t?{objectName:t[2],mode:t[1]===`edit`||t[1]===`update`?`edit`:`create`}:{objectName:e,mode:`create`}}return e&&typeof e==`object`?e.type&&!e.content&&!e.objectName&&!e.placement?{content:e}:e:{}}function U(e){let[t,n]=(0,C.useState)(null),{objects:r}=i(),T=(0,C.useCallback)(e=>{n(t=>(t?.resolve(e),null))},[]),E=(0,C.useCallback)(e=>new Promise(t=>{n({d:H(e),resolve:t})}),[]),D=null;if(t){let n=t.d,i=e=>{e||T({success:!1})};if(n.objectName&&!n.content){let t=n.fields||n.sections?{}:S(r.find(e=>e?.name===n.objectName));D=(0,w.jsx)(x,{schema:{type:`object-form`,formType:`modal`,objectName:n.objectName,mode:n.mode||`create`,recordId:n.recordId,title:n.title,description:n.description,fields:n.fields,...t,modalSize:n.size,open:!0,onOpenChange:i,onSuccess:e=>T({success:!0,reload:!0,data:e}),onCancel:()=>T({success:!1}),showSubmit:!0,showCancel:!0},dataSource:e})}else{let e=n.placement||`center`,t=n.content?(0,w.jsx)(a,{schema:n.content}):n.description?(0,w.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n.description}):null;D=e===`side`?(0,w.jsx)(o,{open:!0,onOpenChange:i,children:(0,w.jsxs)(g,{side:n.side||`right`,className:y(`w-full overflow-y-auto`,V[n.size||`default`]),children:[n.title&&(0,w.jsxs)(h,{children:[(0,w.jsx)(v,{children:n.title}),n.description&&(0,w.jsx)(u,{children:n.description})]}),(0,w.jsx)(`div`,{className:`py-3`,children:t})]})}):e===`bottom`?(0,w.jsx)(f,{open:!0,onOpenChange:i,children:(0,w.jsxs)(s,{children:[n.title&&(0,w.jsxs)(p,{children:[(0,w.jsx)(c,{children:n.title}),n.description&&(0,w.jsx)(b,{children:n.description})]}),(0,w.jsx)(`div`,{className:`max-h-[75vh] overflow-y-auto px-4 pb-6`,children:t})]})}):(0,w.jsx)(m,{open:!0,onOpenChange:i,children:(0,w.jsxs)(_,{className:y(e===`fullscreen`?`h-[95vh] w-full max-w-[98vw] overflow-y-auto`:B[n.size||`default`]),children:[n.title&&(0,w.jsxs)(ee,{children:[(0,w.jsx)(d,{children:n.title}),n.description&&(0,w.jsx)(l,{children:n.description})]}),(0,w.jsx)(`div`,{children:t}),!n.content&&(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(te,{onClick:()=>T({success:!0}),children:`OK`})})]})})}}return{modalHandler:E,modalElement:D,closeModal:T}}var W=`objectui-favorites`,G=`objectui-nav-pins`,K=20,q=20;function J(e){let t=0,n=0,r=!1;for(let i of e)i.type===`nav`?(n++,n>q&&(r=!0)):(t++,t>K&&(r=!0));if(!r)return e;let i=[],a=0,o=0;for(let t of e)t.type===`nav`?o<q&&(i.push(t),o++):a<K&&(i.push(t),a++);return i}function Y(e){try{let t=localStorage.getItem(A(W,e));return t?JSON.parse(t):[]}catch{return[]}}function X(e,t){try{localStorage.setItem(A(W,t),JSON.stringify(e))}catch{}}function Z(e){let t;try{t=localStorage.getItem(G)}catch{return{migrated:e,didMigrate:!1}}if(!t)return{migrated:e,didMigrate:!1};let n=[];try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.filter(e=>typeof e==`string`))}catch{}try{localStorage.removeItem(G)}catch{}if(n.length===0)return{migrated:e,didMigrate:!1};let r=new Set(e.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),i=new Date().toISOString(),a=[];for(let e of n)r.has(e)||a.push({id:`nav:${e}`,label:e,href:``,type:`nav`,navId:e,pinned:!0,favoritedAt:i});return a.length===0?{migrated:e,didMigrate:!0}:{migrated:[...e,...a],didMigrate:!0}}var Q=(0,C.createContext)(null);function ne({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`favorites`),[a,o]=(0,C.useState)(()=>Y(n));(0,C.useEffect)(()=>{o(Y(n))},[n]),j(A(W,n),e=>{o(Array.isArray(e)?J(e.filter(e=>e&&typeof e.id==`string`)):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=J((Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`)),l=Y(n),u=new Set(a.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),d=l.filter(e=>e.type===`nav`&&e.navId&&!u.has(e.navId)),f=a,p=!1;d.length>0&&(f=J([...a,...d]),p=!0);let{migrated:m,didMigrate:h}=Z(f);h&&(f=J(m),p=!0),o(f),X(f,n),p&&c.schedule(f)}catch{}})(),()=>{t=!0}},[i,n]),(0,C.useEffect)(()=>{i||o(e=>{let{migrated:t,didMigrate:r}=Z(e);if(!r)return e;let i=J(t);return X(i,n),i})},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{X(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{if(t.some(t=>t.id===e.id))return t;let n=J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),d=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e);return l(n),n})},[l]),f=(0,C.useCallback)(e=>{o(t=>{let n=t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),p=(0,C.useCallback)(()=>{o([]),l([])},[l]),m=(0,C.useCallback)((e,t)=>{!e||!t||o(n=>{let r=!1,i=n.map(n=>n.id===e&&n.label!==t?(r=!0,{...n,label:t}):n);return r?(l(i),i):n})},[l]),h=(0,C.useCallback)((e,t)=>{o(n=>{let r=!1,i=n.map(n=>n.id!==e||!!n.pinned===t?n:(r=!0,{...n,pinned:t}));return r?(l(i),i):n})},[l]),g=(0,C.useMemo)(()=>{let e=new Set;for(let t of a)t.pinned&&t.type===`nav`&&t.navId&&e.add(t.navId);return{favorites:a,addFavorite:u,removeFavorite:d,toggleFavorite:f,isFavorite:e=>a.some(t=>t.id===e),clearFavorites:p,refreshLabel:m,setPinned:h,isPinned:e=>a.some(t=>t.id===e&&!!t.pinned),pinnedNavIds:e}},[a,u,d,f,p,m,h]);return(0,w.jsx)(Q.Provider,{value:g,children:e})}function re(){return(0,C.useContext)(Q)||{favorites:[],addFavorite:()=>{},removeFavorite:()=>{},toggleFavorite:()=>{},isFavorite:()=>!1,clearFavorites:()=>{},refreshLabel:()=>{},setPinned:()=>{},isPinned:()=>!1,pinnedNavIds:new Set}}function ie(){return`${``.replace(/\/$/,``)}/api/v1`}async function $(e,t){let n=await fetch(`${ie()}${e}`,{credentials:`include`,headers:{"Content-Type":`application/json`,...t?.headers||{}},...t}),r=null;try{r=await n.json()}catch{}if(!n.ok){let e=Error(r?.error||`HTTP ${n.status}`);throw e.code=r?.code??`HTTP_${n.status}`,e.status=n.status,e}return r}function ae(e,t,n){let[r,i]=(0,C.useState)(!1),[a,o]=(0,C.useState)(!0),[s,c]=(0,C.useState)([]),l=(0,C.useRef)(!1),u=(0,C.useCallback)(async()=>{if(!(!e||!t)&&!l.current){i(!0);try{let n=await $(`/approvals/requests?object=${encodeURIComponent(e)}&recordId=${encodeURIComponent(t)}`);c(n?.data??[]),o(!0)}catch(e){(e?.status===404||e?.status===501)&&(l.current=!0,o(!1))}finally{i(!1)}}},[e,t]);(0,C.useEffect)(()=>{if(!e||!t){c([]);return}u()},[e,t,u]);let d=(0,C.useMemo)(()=>s.find(e=>e.status===`pending`)??null,[s]),f=(0,C.useMemo)(()=>s.length===0?null:[...s].sort((e,t)=>{let n=e.submitted_at||e.completed_at||``;return(t.submitted_at||t.completed_at||``).localeCompare(n)})[0]??null,[s]),p=!!d&&!!n&&(d.pending_approvers??[]).includes(n),m=(0,C.useCallback)(async(e,t)=>{if(!d)throw Error(`No pending request`);let r=await $(`/approvals/requests/${encodeURIComponent(d.id)}/${e}`,{method:`POST`,body:JSON.stringify({...n?{actorId:n}:{},...t?.comment?{comment:t.comment}:{}})});return await u(),r?.request},[d,n,u]);return{loading:r,available:a,pendingRequest:d,latestRequest:f,canDecide:p,approve:(0,C.useCallback)(e=>m(`approve`,e),[m]),reject:(0,C.useCallback)(e=>m(`reject`,e),[m]),refresh:u}}export{R as a,k as c,U as i,ne as n,z as o,re as r,D as s,ae as t};