@objectstack/console 17.5.0 → 17.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/CHANGELOG.md +806 -0
  2. package/dist/.objectstack-injection.json +2 -2
  3. package/dist/.objectui-sha +1 -1
  4. package/dist/assets/{ActionResultDialog-CLdIyOW6.js → ActionResultDialog-ChYnuROr.js} +3 -3
  5. package/dist/assets/{AiPendingActionsPage-OKYz66yR.js → AiPendingActionsPage-Dh3-i4BB.js} +1 -1
  6. package/dist/assets/{ApiConsolePage-CcrKovu8.js → ApiConsolePage-CKYEqlMs.js} +1 -1
  7. package/dist/assets/AppDocsIndex-B5Tky2xg.js +1 -0
  8. package/dist/assets/{AppManagementPage-D_xz8cTZ.js → AppManagementPage-ZwyvnHpM.js} +1 -1
  9. package/dist/assets/ApprovalsInboxPage-DD4fe0Em.js +1 -0
  10. package/dist/assets/{AuditLogPage-CoghqsZb.js → AuditLogPage-Sed6iMqP.js} +1 -1
  11. package/dist/assets/BookPage-DYjUsQIc.js +1 -0
  12. package/dist/assets/{ComponentNavView-BxsixSU9.js → ComponentNavView-DrlxM4SY.js} +1 -1
  13. package/dist/assets/CreateViewDialog-Cp72x_O7.js +1 -0
  14. package/dist/assets/DashboardView-juicRxcP.js +1 -0
  15. package/dist/assets/DocPage-CxJaQ-pC.js +1 -0
  16. package/dist/assets/{DocsIndex-B2zw_HAp.js → DocsIndex-LALVtIVR.js} +1 -1
  17. package/dist/assets/{DocsLayout-DezZ8x7_.js → DocsLayout-BAwlJQQf.js} +1 -1
  18. package/dist/assets/DocsSlug-CkF1E-Zs.js +1 -0
  19. package/dist/assets/ExpressionProvider-Dr0e99r1.js +1 -0
  20. package/dist/assets/FlowRunsPage-R3W3t2s4.js +1 -0
  21. package/dist/assets/{IntegrationsPage-2leVkVDH.js → IntegrationsPage-DIuFLEbF.js} +2 -2
  22. package/dist/assets/InterfaceListPage-BfoCldGu.js +1 -0
  23. package/dist/assets/{MarketplaceInstalledPage-EPPHSitW.js → MarketplaceInstalledPage-DyjhcUNB.js} +1 -1
  24. package/dist/assets/MarketplacePackagePage-BbO27Pgs.js +4 -0
  25. package/dist/assets/{MarketplacePage-BnQKykgv.js → MarketplacePage-DO2_b64U.js} +1 -1
  26. package/dist/assets/{MetadataInspector-BWxLkr0O.js → MetadataInspector-BQyu9pOE.js} +1 -1
  27. package/dist/assets/ObjectDataPage-DIY-yefK.js +1 -0
  28. package/dist/assets/PageView-C-qWu3Jw.js +1 -0
  29. package/dist/assets/ProfilePage-Qp8DL8CF.js +1 -0
  30. package/dist/assets/{PublicFormsPage-DlE6tck_.js → PublicFormsPage-D3AT2EH9.js} +1 -1
  31. package/dist/assets/RecordDetailView-B3XBEgk2.js +3 -0
  32. package/dist/assets/RecordFormPage-CcoZfUJ3.js +1 -0
  33. package/dist/assets/ReportDefaultInspector-DVcWM6sh.js +1 -0
  34. package/dist/assets/ReportView-pJCFptzp.js +2 -0
  35. package/dist/assets/RuntimeDraftBar-DObTyFu2.js +1 -0
  36. package/dist/assets/SchemaForm-BWSWYMLE.js +3 -0
  37. package/dist/assets/SearchResultsPage-ChVIzFob.js +1 -0
  38. package/dist/assets/{SettingsHub-BGKIj-Zq.js → SettingsHub-CPP9FDe8.js} +1 -1
  39. package/dist/assets/SettingsView-CrHAROu9.js +1 -0
  40. package/dist/assets/{SkeletonDetail-C8fMI-Mu.js → SkeletonDetail-CP-35B8x.js} +1 -1
  41. package/dist/assets/{af-BfSmLD34.js → af-Bhbso4Pg.js} +1 -1
  42. package/dist/assets/ai-BAPiCsNk.js +3 -0
  43. package/dist/assets/app-shell-eager-leaves-D9tgfJOe.js +1 -0
  44. package/dist/assets/{ar-B9ttrM75.js → ar-DG8TAFtm.js} +1 -1
  45. package/dist/assets/{ar-DZ-C1rn-cyl.js → ar-DZ-BtSien-d.js} +1 -1
  46. package/dist/assets/{ar-EG-BaDxKP_o.js → ar-EG-DpXC0zoY.js} +1 -1
  47. package/dist/assets/{ar-MA-DbxNEcmd.js → ar-MA-D1qVJLyE.js} +1 -1
  48. package/dist/assets/{ar-SA-DeC5LXcX.js → ar-SA-BIYKNgv8.js} +1 -1
  49. package/dist/assets/{ar-TN-C9KpTFJz.js → ar-TN-mUR5Mq3s.js} +1 -1
  50. package/dist/assets/{az-cMerDwRO.js → az-B7IqwHGK.js} +1 -1
  51. package/dist/assets/{be-ZTSbszQh.js → be-CnZyPaSX.js} +1 -1
  52. package/dist/assets/{be-tarask-BXZEUrgX.js → be-tarask--uMMCC7l.js} +1 -1
  53. package/dist/assets/{bg-BDogpmn5.js → bg-CZwuirtY.js} +1 -1
  54. package/dist/assets/{bn-Cz04uxmh.js → bn-BbOX0r-z.js} +1 -1
  55. package/dist/assets/{bs-CpFnCl-j.js → bs-B5W75cYR.js} +1 -1
  56. package/dist/assets/{ca-CHC4M52Z.js → ca-Be69LdIM.js} +1 -1
  57. package/dist/assets/{ckb-Dxw-RNm8.js → ckb-B-nKM1Vn.js} +1 -1
  58. package/dist/assets/contracts-DieHW666.js +1 -0
  59. package/dist/assets/{createDerive-DvA_JGNq.js → createDerive-CynsXU-B.js} +1 -1
  60. package/dist/assets/{cs-DsFaJ5Z7.js → cs-qHngxH7l.js} +1 -1
  61. package/dist/assets/{cy-FH4JFDTs.js → cy-DscO2Pgf.js} +1 -1
  62. package/dist/assets/{da-D1pVjaAq.js → da-vibkaLMF.js} +1 -1
  63. package/dist/assets/data-adapter-BDsrq0TX.js +2 -0
  64. package/dist/assets/{de-AT-DUMQCisj.js → de-AT--JneEuBw.js} +1 -1
  65. package/dist/assets/{de-DKrxSvnP.js → de-BCT78XYW.js} +1 -1
  66. package/dist/assets/default-inspector-registry-Dktr6x_q.js +1 -0
  67. package/dist/assets/dist-yh3dYtHt.js +14 -0
  68. package/dist/assets/drillUrlFilters-N0RngQg6.js +1 -0
  69. package/dist/assets/{el-l3-bHySV.js → el-Cl0y9T2b.js} +1 -1
  70. package/dist/assets/en-AU-By42tTB7.js +1 -0
  71. package/dist/assets/{en-CA-DGH5NF0a.js → en-CA-BqEEoj-Y.js} +1 -1
  72. package/dist/assets/en-GB-Cx8B9nkB.js +1 -0
  73. package/dist/assets/en-IE-CX9nv6uO.js +1 -0
  74. package/dist/assets/en-IN-ByGSBHa4.js +1 -0
  75. package/dist/assets/en-NZ-BPMwa2ZN.js +1 -0
  76. package/dist/assets/en-ZA-lj_N4R6c.js +1 -0
  77. package/dist/assets/{eo-CL6CXHZx.js → eo-oOXROuhF.js} +1 -1
  78. package/dist/assets/{es-BIJ0rksI.js → es-EudscwjH.js} +1 -1
  79. package/dist/assets/{et-BGgMzjm1.js → et-CB-5LLh6.js} +1 -1
  80. package/dist/assets/{eu-CqvAoRrX.js → eu-B4-hcseX.js} +1 -1
  81. package/dist/assets/{fa-IR-DNz3oA1-.js → fa-IR-CogavcMJ.js} +1 -1
  82. package/dist/assets/{fi-DNSfKWuW.js → fi-CIBE0mYa.js} +1 -1
  83. package/dist/assets/{formatLong-CHb9WA3O.js → formatLong-qqgm7lV1.js} +1 -1
  84. package/dist/assets/{fr-CA-CotiswPx.js → fr-CA-BugXMutW.js} +1 -1
  85. package/dist/assets/{fr-DYRJCirJ.js → fr-CDReXYWW.js} +1 -1
  86. package/dist/assets/{fr-CH-CpiEYWpc.js → fr-CH-fiTiB6X1.js} +1 -1
  87. package/dist/assets/framework-CAuH4h0L.js +35 -0
  88. package/dist/assets/{fy-B69yM3FE.js → fy-t_GzIAg_.js} +1 -1
  89. package/dist/assets/{gd-BAy8AsX6.js → gd-CSncIxtN.js} +1 -1
  90. package/dist/assets/{getIcon-BEVyC4y3.js → getIcon-BDkBRQFw.js} +1 -1
  91. package/dist/assets/{gl-soLn_weL.js → gl-_138Mj2S.js} +1 -1
  92. package/dist/assets/{gu-B19Yo9yC.js → gu-COfH-YUT.js} +1 -1
  93. package/dist/assets/{he-DYTPo33p.js → he-BXL4lOKY.js} +1 -1
  94. package/dist/assets/{hi-D2dIK7Oy.js → hi-kXuYI0TJ.js} +1 -1
  95. package/dist/assets/{highlighted-body-OFNGDK62-CExufvVt.js → highlighted-body-OFNGDK62-CK7x7Gzm.js} +1 -1
  96. package/dist/assets/{hr-BV-VOPMu.js → hr-DAOsQWzI.js} +1 -1
  97. package/dist/assets/{ht-C7MM4qkS.js → ht-Ch8SKz8p.js} +1 -1
  98. package/dist/assets/{hu-Rha1m2Ym.js → hu-q6W_rWPT.js} +1 -1
  99. package/dist/assets/{hy-CiTNgbdV.js → hy-0M8OmwnM.js} +1 -1
  100. package/dist/assets/i18n-DTfZonAM.js +17 -0
  101. package/dist/assets/i18n-locale-ar-O6rs-Cir.js +4 -0
  102. package/dist/assets/i18n-locale-de-CMc1jk4a.js +4 -0
  103. package/dist/assets/i18n-locale-en-CbRQO81h.js +4 -0
  104. package/dist/assets/i18n-locale-es-t47nyoCX.js +4 -0
  105. package/dist/assets/i18n-locale-fr-E425EqJM.js +4 -0
  106. package/dist/assets/i18n-locale-ja-y_fk77fz.js +4 -0
  107. package/dist/assets/i18n-locale-ko-CdnY2uCg.js +4 -0
  108. package/dist/assets/i18n-locale-pt-BaUOXS6y.js +4 -0
  109. package/dist/assets/i18n-locale-ru-pFlhX9wg.js +4 -0
  110. package/dist/assets/i18n-locale-zh-Dkj4ROTN.js +4 -0
  111. package/dist/assets/i18n-runtime-CdWyaiOD.js +1 -0
  112. package/dist/assets/{id-Cijsfjt-.js → id-BM_H1_jv.js} +1 -1
  113. package/dist/assets/index-ocmkyCt6.js +19 -0
  114. package/dist/assets/index-v2Ijn9Gr.css +2 -0
  115. package/dist/assets/{infrastructure-BHSync5f.js → infrastructure-CSnL6ntj.js} +2 -2
  116. package/dist/assets/integration-7NqwVHuJ.js +1 -0
  117. package/dist/assets/{is-xS1WTyeC.js → is-B_7jXZfS.js} +1 -1
  118. package/dist/assets/isSameWeek-D90tBsli.js +1 -0
  119. package/dist/assets/{it-C2i_c9sd.js → it-CBM0J9cD.js} +1 -1
  120. package/dist/assets/{it-CH-l516ZNXj.js → it-CH-BQltCNsR.js} +1 -1
  121. package/dist/assets/{ja-D9_ewLny.js → ja-DBjnsx21.js} +1 -1
  122. package/dist/assets/{ja-Hira-D_6ExgHw.js → ja-Hira-BZfSmj1i.js} +1 -1
  123. package/dist/assets/{ka-BYHGyees.js → ka-HwpuKgUY.js} +1 -1
  124. package/dist/assets/{kk-CbTFtuqb.js → kk-DLKA9paj.js} +1 -1
  125. package/dist/assets/{km-Dr2gwhIn.js → km-BU5kermq.js} +1 -1
  126. package/dist/assets/{kn-CprH8JD7.js → kn-BNFqbCoi.js} +1 -1
  127. package/dist/assets/{ko-CsFS2u5i.js → ko-D8n4uMqQ.js} +1 -1
  128. package/dist/assets/{lb-CbFKN7Ob.js → lb-B1empQ7m.js} +1 -1
  129. package/dist/assets/{lt-Bq0xkLp0.js → lt-gMukpK3G.js} +1 -1
  130. package/dist/assets/{lv-Cj6vg6Qo.js → lv-D2O5AnsZ.js} +1 -1
  131. package/dist/assets/{match-CiPp9BME.js → match-BTF6WqJh.js} +1 -1
  132. package/dist/assets/{match-C_jFGO9e.js → match-Cyum2eeW.js} +1 -1
  133. package/dist/assets/{match-Co4ivumx.js → match-ScHH8kYk.js} +1 -1
  134. package/dist/assets/mermaid-GHXKKRXX-D4H6EVJQ.js +1 -0
  135. package/dist/assets/metadata-admin-CEhVmXFv.js +9 -0
  136. package/dist/assets/{mk-MXFM99YL.js → mk-D-Zl0xVN.js} +1 -1
  137. package/dist/assets/{mn-D5Q9B6Jt.js → mn-jJbTslgD.js} +1 -1
  138. package/dist/assets/{ms-CCzPRldx.js → ms-CUuJHLA4.js} +1 -1
  139. package/dist/assets/{mt-mjJpN6xW.js → mt-yIcbfxKY.js} +1 -1
  140. package/dist/assets/{nb-BIlNqdEb.js → nb-D9WNypoj.js} +1 -1
  141. package/dist/assets/{nl-BE-FwXjQsmV.js → nl-BE-B1vKiw2h.js} +1 -1
  142. package/dist/assets/{nl-D2uBtIxG.js → nl-DC7b5e90.js} +1 -1
  143. package/dist/assets/{nn-B0loJ7SV.js → nn-uP4yJ9s0.js} +1 -1
  144. package/dist/assets/{oc-U7-yH1sO.js → oc-DHTqadJI.js} +1 -1
  145. package/dist/assets/{pl-mTy0JYgi.js → pl-Bxnnizf5.js} +1 -1
  146. package/dist/assets/plugin-calendar-b7C35ANT.js +1 -0
  147. package/dist/assets/plugin-charts-b-yVtmdI.js +7 -0
  148. package/dist/assets/plugin-chatbot-D1KW_oIO.js +122 -0
  149. package/dist/assets/plugin-dashboard-DTkPoPEb.js +6 -0
  150. package/dist/assets/plugin-form-UIRm-FpQ.js +1 -0
  151. package/dist/assets/plugin-gantt-9dtc8zzX.js +63 -0
  152. package/dist/assets/plugin-grid-Cp4RKtMJ.js +10 -0
  153. package/dist/assets/plugin-kanban-B2JOPZIJ.js +1 -0
  154. package/dist/assets/plugin-map-CBJcVJYk.js +1 -0
  155. package/dist/assets/{plugin-markdown-D1nTQc1T.js → plugin-markdown-CNlDzqP-.js} +1 -1
  156. package/dist/assets/plugin-report-IZzgQb-Q.js +59 -0
  157. package/dist/assets/plugin-timeline-DsmtjcJ3.js +1 -0
  158. package/dist/assets/plugin-tree-DTRPBdhe.js +1 -0
  159. package/dist/assets/plugin-view-D9ixsNDG.js +1 -0
  160. package/dist/assets/plugins-views-CnvkdSJK.js +3 -0
  161. package/dist/assets/{pt-BR-2KtO5Js1.js → pt-BR-D416seHT.js} +1 -1
  162. package/dist/assets/{pt-Bet5OOQf.js → pt-DwHBy9_c.js} +1 -1
  163. package/dist/assets/{ro-37U6sgzi.js → ro-DDf1X3Np.js} +1 -1
  164. package/dist/assets/{ru-CyuAY-5E.js → ru-8eM3mcgK.js} +1 -1
  165. package/dist/assets/{runtime-metadata-persistence-afAW-MeD.js → runtime-metadata-persistence-DX29lQ62.js} +1 -1
  166. package/dist/assets/{se-DeJabuC6.js → se-D4JvQeRX.js} +1 -1
  167. package/dist/assets/{sk-DWEpjfkR.js → sk-DvpgttGI.js} +1 -1
  168. package/dist/assets/{sl-4oSvNhIR.js → sl-B3gCZ-_a.js} +1 -1
  169. package/dist/assets/{sq-BjkBCaXW.js → sq-CVaTmL0V.js} +1 -1
  170. package/dist/assets/{sr-Dxm1DsRS.js → sr-CnH5Ffyz.js} +1 -1
  171. package/dist/assets/{sr-Latn-Dawg6oP2.js → sr-Latn-Dw9w61q6.js} +1 -1
  172. package/dist/assets/src-BUry7633.js +2 -0
  173. package/dist/assets/{src-C8NYjdVm.js → src-DMDT5a27.js} +1 -1
  174. package/dist/assets/src-ZxH3AOCu.js +16 -0
  175. package/dist/assets/{studioEntry-nXQP3iL0.js → studioEntry-DAqcBFtr.js} +1 -1
  176. package/dist/assets/{submitRedirect-jK-cEIbP.js → submitRedirect-iy0oOi7I.js} +1 -1
  177. package/dist/assets/{sv-CROOGJGz.js → sv-CU7wdxyK.js} +1 -1
  178. package/dist/assets/{ta-BZnTmFI_.js → ta-DPH6q0HR.js} +1 -1
  179. package/dist/assets/{te-BN0v0x5t.js → te-BSaThkGV.js} +1 -1
  180. package/dist/assets/{th-CBjKhp_U.js → th-NXP8_Qb8.js} +1 -1
  181. package/dist/assets/{tr-x0Ne4N4H.js → tr-DDXoH663.js} +1 -1
  182. package/dist/assets/types-zod-ChJ30y25.js +1 -0
  183. package/dist/assets/{ug-sgzNhsKo.js → ug-Guus6pPe.js} +1 -1
  184. package/dist/assets/ui-components-D8wcRNrt.js +37 -0
  185. package/dist/assets/ui-layout-BYO3rRIl.js +1 -0
  186. package/dist/assets/{uk-o_DQ5VHJ.js → uk-uiy4vsp8.js} +1 -1
  187. package/dist/assets/use-book-data-DFTswcKm.js +1 -0
  188. package/dist/assets/{useActionModal-CSvbHkQ7.js → useActionModal-h52Z5Pkl.js} +1 -1
  189. package/dist/assets/useCanAuthorMetadata-TDrVrYGB.js +1 -0
  190. package/dist/assets/useDatasetCatalog-BOd0Ybr1.js +1 -0
  191. package/dist/assets/useNavSelDeepLink-67Y4qCNO.js +1 -0
  192. package/dist/assets/useNavTargetLabel-D8lRdb6O.js +1 -0
  193. package/dist/assets/useOpenRecordList-C7oqUD3F.js +1 -0
  194. package/dist/assets/{usePackageL10n-CMx66am-.js → usePackageL10n-Jl2XiF2F.js} +1 -1
  195. package/dist/assets/{useSettingsLabel-Kkr2q0Oo.js → useSettingsLabel-CSpBDTdy.js} +1 -1
  196. package/dist/assets/{uz-Cyrl-DbtkQtz_.js → uz-Cyrl-Cmb5bvbf.js} +1 -1
  197. package/dist/assets/{uz-Be41d4jl.js → uz-DJWxoTz4.js} +1 -1
  198. package/dist/assets/vendor-objectstack-C4eD5dbT.js +139 -0
  199. package/dist/assets/{vi-84mZmklk.js → vi-Bb3QoIJC.js} +1 -1
  200. package/dist/assets/{zh-CN-DD1reegJ.js → zh-CN-C-Hts1ZR.js} +1 -1
  201. package/dist/assets/{zh-HK-B05u30WI.js → zh-HK-CtBAZ_ZS.js} +1 -1
  202. package/dist/assets/{zh-TW-Bb-WimPD.js → zh-TW-B7DDahD-.js} +1 -1
  203. package/dist/chunk-membership.json +116 -104
  204. package/dist/eager-closure.json +126 -120
  205. package/dist/index.html +4 -4
  206. package/dist/sdui.manifest.json +998 -115
  207. package/package.json +1 -1
  208. package/dist/assets/AppDocsIndex-F4zDq2zz.js +0 -1
  209. package/dist/assets/ApprovalsInboxPage-DrEUmaDb.js +0 -1
  210. package/dist/assets/CreateViewDialog-xyKlpLEW.js +0 -1
  211. package/dist/assets/DashboardView-CGC-_Om8.js +0 -1
  212. package/dist/assets/DocPage-CIZE5kdj.js +0 -1
  213. package/dist/assets/DocsSlug-DXdFdwlS.js +0 -1
  214. package/dist/assets/ExpressionProvider-DZfMwyMs.js +0 -1
  215. package/dist/assets/FlowRunsPage-CvY3nJMF.js +0 -1
  216. package/dist/assets/InterfaceListPage-BdECC_i3.js +0 -1
  217. package/dist/assets/MarketplacePackagePage-C7NOu2Ir.js +0 -4
  218. package/dist/assets/ObjectDataPage-BIzp65Mo.js +0 -1
  219. package/dist/assets/PageView-CVLgCRSF.js +0 -1
  220. package/dist/assets/ProfilePage-D2qGgxPK.js +0 -1
  221. package/dist/assets/RecordDetailView-DQKydU7X.js +0 -3
  222. package/dist/assets/RecordFormPage-BTjwxJIA.js +0 -1
  223. package/dist/assets/ReportDefaultInspector-DdsQAkd7.js +0 -1
  224. package/dist/assets/ReportView-GIdKJdOt.js +0 -2
  225. package/dist/assets/RuntimeDraftBar-BbMdi3Kp.js +0 -1
  226. package/dist/assets/SchemaForm-C8X1ve4p.js +0 -3
  227. package/dist/assets/SearchResultsPage-Jwhqsdyo.js +0 -1
  228. package/dist/assets/SettingsView-D8SMKdrc.js +0 -1
  229. package/dist/assets/app-shell-eager-leaves-CDVclng4.js +0 -1
  230. package/dist/assets/appRoute-DbnWDEa1.js +0 -1
  231. package/dist/assets/data-adapter-DMbe6Njk.js +0 -1
  232. package/dist/assets/default-inspector-registry-CpL3fFhl.js +0 -1
  233. package/dist/assets/dist-BXrEV1ag.js +0 -13
  234. package/dist/assets/drillUrlFilters-hi-2d3DW.js +0 -1
  235. package/dist/assets/en-AU-C6x7mDhH.js +0 -1
  236. package/dist/assets/en-GB-0-nho2eK.js +0 -1
  237. package/dist/assets/en-IE-2fC3BkfV.js +0 -1
  238. package/dist/assets/en-IN-C1QcFhxn.js +0 -1
  239. package/dist/assets/en-NZ-C80ptZT7.js +0 -1
  240. package/dist/assets/en-ZA-ByZDrjeb.js +0 -1
  241. package/dist/assets/framework-DcWkeiND.js +0 -35
  242. package/dist/assets/i18n-CEKxYdmD.js +0 -9
  243. package/dist/assets/i18n-locale-ar-DN7sl3GF.js +0 -4
  244. package/dist/assets/i18n-locale-de-C40JErvb.js +0 -4
  245. package/dist/assets/i18n-locale-en-CITPDIHy.js +0 -4
  246. package/dist/assets/i18n-locale-es-C8DdWN6c.js +0 -4
  247. package/dist/assets/i18n-locale-fr-COIdEZZl.js +0 -4
  248. package/dist/assets/i18n-locale-ja-DYF_rU_s.js +0 -4
  249. package/dist/assets/i18n-locale-ko-B-ODYAtX.js +0 -4
  250. package/dist/assets/i18n-locale-pt-CK1SyBIm.js +0 -4
  251. package/dist/assets/i18n-locale-ru-jLzvShMO.js +0 -4
  252. package/dist/assets/i18n-locale-zh-Bf9Gbbvl.js +0 -4
  253. package/dist/assets/i18n-runtime-CTgAQF4N.js +0 -1
  254. package/dist/assets/index-CLyvpiGc.css +0 -2
  255. package/dist/assets/index-CfnfGw5W.js +0 -20
  256. package/dist/assets/isSameWeek-DWYeNyh8.js +0 -1
  257. package/dist/assets/mermaid-GHXKKRXX-DVLc_uym.js +0 -1
  258. package/dist/assets/metadata-admin-CybaOCdO.js +0 -9
  259. package/dist/assets/nav-selection-Dzm_mA3C.js +0 -1
  260. package/dist/assets/plugin-calendar-CKRBcML7.js +0 -1
  261. package/dist/assets/plugin-charts-DGTJxXCB.js +0 -7
  262. package/dist/assets/plugin-chatbot-DwtwNA-y.js +0 -122
  263. package/dist/assets/plugin-dashboard-C1AYKmGX.js +0 -6
  264. package/dist/assets/plugin-form-CV8ZY04-.js +0 -1
  265. package/dist/assets/plugin-gantt-BRIb2_8G.js +0 -63
  266. package/dist/assets/plugin-grid-C9h7mRVv.js +0 -11
  267. package/dist/assets/plugin-kanban-BcJ0Dhys.js +0 -1
  268. package/dist/assets/plugin-map-D24ZUOUj.js +0 -1
  269. package/dist/assets/plugin-report-BfGintAq.js +0 -59
  270. package/dist/assets/plugin-timeline-CbBRq_qt.js +0 -1
  271. package/dist/assets/plugin-tree-BNX2A5J5.js +0 -1
  272. package/dist/assets/plugin-view-DzWQWYyH.js +0 -1
  273. package/dist/assets/plugins-views-DraK4xz0.js +0 -3
  274. package/dist/assets/src-B8lv0plz.js +0 -18
  275. package/dist/assets/src-DoDvT77T.js +0 -1
  276. package/dist/assets/types-zod-Y2RwUUeJ.js +0 -1
  277. package/dist/assets/ui-components-BTB1NkUW.js +0 -37
  278. package/dist/assets/ui-layout-bZfafwJa.js +0 -1
  279. package/dist/assets/use-book-data-C3eyZJSG.js +0 -1
  280. package/dist/assets/useOpenRecordList-B5-qaFUx.js +0 -1
  281. package/dist/assets/vendor-objectstack-XuWC71M9.js +0 -266
  282. package/dist/assets/vendor-zod-CHLW1iCr.js +0 -64
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{d as t,p as n,r,t as i,u as a,v as o}from"./vendor-react-BggL7APJ.js";import{Z as s,it as c,tt as l}from"./vendor-objectstack-XuWC71M9.js";import{An as u,Ar as d,Dn as f,Mn as p,Mr as m,Nn as h,Nr as g,Ot as _,Pn as v,Pr as y,Tt as b,Zn as x,an as S,en as C,in as w,jn as T,jr as E,kn as D,kr as O,ni as k,nn as A,on as ee,qn as j,rn as M,tn as te,vi as N,wt as ne}from"./ui-components-BTB1NkUW.js";import{Wr as P}from"./framework-DcWkeiND.js";import{t as F}from"./i18n-runtime-CTgAQF4N.js";import{t as I}from"./vendor-icon-arrow-left-DmGEbpkA.js";import{t as L}from"./vendor-icon-chevron-right-DbnKwHYQ.js";import{t as re}from"./vendor-icon-copy-B5M-KdZo.js";import{t as ie}from"./vendor-icon-download-C3csYSaD.js";import{t as R}from"./vendor-icon-external-link-SBKz5x6R.js";import{t as ae}from"./vendor-icon-eye-C3HaEGOo.js";import{t as z}from"./vendor-icon-file-up-CeHsRg2x.js";import{t as oe}from"./vendor-icon-inbox-ByVQ4l4S.js";import{t as se}from"./vendor-icon-loader-circle-D3PsuVaD.js";import{t as ce}from"./vendor-icon-package-B6zAlWd3.js";import{t as le}from"./vendor-icon-pencil-CMubUBjW.js";import{t as ue}from"./vendor-icon-plus-BlfcDDsa.js";import{t as de}from"./vendor-icon-power-off-4BJhC7rc.js";import{t as fe}from"./vendor-icon-power-CySrWbJV.js";import{t as pe}from"./vendor-icon-refresh-cw-BGjSPEfJ.js";import{t as me}from"./vendor-icon-rotate-ccw-lr5YKsxC.js";import{t as he}from"./vendor-icon-search-B2Uqtp_W.js";import{t as ge}from"./vendor-icon-trash-BLsWkwB9.js";import{t as _e}from"./vendor-icon-triangle-alert-D5n0T3q_.js";import{t as ve}from"./vendor-icon-undo-2-C9MbW2Vb.js";import{t as ye}from"./vendor-icon-upload-BZ3rElxe.js";import{o as be,s as xe}from"./createDerive-DvA_JGNq.js";import{T as Se}from"./vendor-zod-CHLW1iCr.js";import{r as Ce}from"./SchemaForm-C8X1ve4p.js";import{a as B,g as V,i as H,l as we,o as Te,r as U,u as Ee}from"./i18n-CEKxYdmD.js";import{r as De}from"./dist-Dc_9i5rZ.js";var W=e(o(),1),G=i();function K(e){let t=e?.error;if(!t||typeof t!=`object`)return null;let{code:n,message:r,userMessage:i}=t,a=(typeof i==`string`?i:``)||(typeof r==`string`?r:``);if(!a)return null;let o=typeof n==`string`?n:``;return o?`${a} (${o})`:a}function Oe(e){let t=(Array.isArray(e)?e:[e]).map(e=>e.split(`.`));return(e,n)=>{for(let r of t){let t=e;for(let e of r)if(t&&typeof t==`object`&&e in t)t=t[e];else{t=void 0;break}if(t===n)return!0}return!1}}var q=new Map;function ke(e){let t=q.get(e.type);if(!t){q.set(e.type,e);return}let n={...t};for(let[t,r]of Object.entries(e))r!==void 0&&(n[t]=r);q.set(e.type,n)}function Ae(e){return q.get(e)}function je(e){let t=[];for(let n of q.values())if(n.anchors?.length)for(let r of n.anchors)r.anchorType===e&&t.push({type:n.type,config:n,anchor:r});return t.sort((e,t)=>{let n=e.anchor.order??100,r=t.anchor.order??100;if(n!==r)return n-r;let i=e.anchor.groupLabel??e.config.label??e.type,a=t.anchor.groupLabel??t.config.label??t.type;return i.localeCompare(a)}),t}function Me(e,t){let n=q.get(e)??{type:e};return{...n,type:e,label:n.label??t?.label??e,description:n.description??t?.description,domain:n.domain??t?.domain??`other`,allowOrgOverride:t?.allowOrgOverride,defaultSchema:n.defaultSchema}}function Ne({entry:e,readOnly:t,locale:n,compact:r}){let i=r?`text-[10px] h-5 px-1.5`:`text-[10px]`;return t?(0,G.jsx)(k,{variant:`outline`,className:`${i} text-muted-foreground`,title:U(`engine.studio.pkg.readonlyHint`,n),children:U(`engine.badge.readOnly`,n)}):e?.allowOrgOverride?(0,G.jsx)(k,{className:`${i} `+(e.overrideSource===`env`?`bg-amber-100 text-amber-800 hover:bg-amber-100`:`bg-emerald-100 text-emerald-800 hover:bg-emerald-100`),title:e.overrideSource===`env`?`Writable via OBJECTSTACK_METADATA_WRITABLE env var`:`Writable per ADR-0005 overlay opt-in`,children:U(`engine.badge.writable`,n)}):e?.allowRuntimeCreate?(0,G.jsx)(k,{className:`${i} bg-sky-100 text-sky-800 hover:bg-sky-100`,title:`Code-shipped items are locked; new items can be created at runtime`,children:U(`engine.badge.createOnly`,n)}):(0,G.jsx)(k,{variant:`outline`,className:`${i} text-muted-foreground`,children:U(`engine.badge.readOnly`,n)})}function Pe({entry:e,itemName:t,subtitle:n,stats:i,actions:o,embedded:s=!1,readOnly:c=!1,children:l}){let u=e?.type??``,d=V(),f=Ee(u,d,e?.label),{pathname:p}=a(),m=W.useMemo(()=>{let e=p.indexOf(`/metadata`);return e>=0?p.slice(0,e+9):`/metadata`},[p]);return(0,G.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[t?(0,G.jsxs)(`div`,{className:`px-6 py-2.5 border-b bg-background flex items-center gap-3 min-h-[44px]`,children:[(0,G.jsxs)(`nav`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground min-w-0`,children:[s?(0,G.jsx)(`span`,{className:`shrink-0`,children:f}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(r,{to:m,className:`hover:text-foreground shrink-0`,children:U(`engine.breadcrumb.allTypes`,d)}),(0,G.jsx)(L,{className:`h-3 w-3 shrink-0`}),(0,G.jsx)(r,{to:`${m}/${encodeURIComponent(u)}`,className:`hover:text-foreground shrink-0`,children:f})]}),(0,G.jsx)(L,{className:`h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{className:`text-foreground font-medium font-mono truncate`,title:t,children:t})]}),(0,G.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[e?.domain&&(0,G.jsx)(k,{variant:`outline`,className:`text-[10px] uppercase tracking-wider h-5 px-1.5`,children:we(e.domain,d)}),(0,G.jsx)(Ne,{entry:e,readOnly:c,locale:d,compact:!0})]}),n&&(0,G.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:n}),(0,G.jsx)(`div`,{className:`flex-1`}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[i?.map((e,t)=>(0,G.jsxs)(`div`,{className:`flex items-baseline gap-1 px-2 py-0.5 rounded border bg-muted/30`,children:[(0,G.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:e.label}),(0,G.jsx)(`span`,{className:`text-xs font-semibold tabular-nums`,children:e.value})]},t)),o]})]}):(0,G.jsxs)(`div`,{className:`px-6 pt-5 pb-4 border-b bg-background`,children:[!s&&(0,G.jsxs)(`nav`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground mb-2`,children:[(0,G.jsx)(r,{to:m,className:`hover:text-foreground`,children:U(`engine.breadcrumb.allTypes`,d)}),(0,G.jsx)(L,{className:`h-3 w-3`}),(0,G.jsx)(`span`,{className:`text-foreground font-medium`,children:f})]}),(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-3 flex-wrap`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,G.jsx)(`h1`,{className:`text-xl font-semibold truncate`,children:f}),(0,G.jsx)(`code`,{className:`text-xs font-mono text-muted-foreground`,children:u}),e?.domain&&(0,G.jsx)(k,{variant:`outline`,className:`text-[10px] uppercase tracking-wider`,children:we(e.domain,d)}),(0,G.jsx)(Ne,{entry:e,readOnly:c,locale:d})]}),n&&(0,G.jsx)(`div`,{className:`text-sm text-muted-foreground mt-1`,children:n}),!n&&e?.description&&(0,G.jsx)(`div`,{className:`text-sm text-muted-foreground mt-1 max-w-3xl`,children:e.description})]}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i?.map((e,t)=>(0,G.jsxs)(`div`,{className:`flex flex-col items-end px-3 py-1 rounded border bg-muted/30 min-w-[64px]`,children:[(0,G.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:e.label}),(0,G.jsx)(`span`,{className:`text-sm font-semibold tabular-nums`,children:e.value})]},t)),o]})]})]}),(0,G.jsx)(`div`,{className:`flex-1 overflow-auto`,children:l})]})}function Fe({type:e,name:r}){let i=n(),a=e??i.type??``,o=r??i.name??``,s=t(),c=be(),l=V(),{entries:u}=xe(c),d=u.find(e=>e.type===a),[f,p]=W.useState(0),[m,h]=W.useState(0);return(0,G.jsx)(Pe,{entry:d??{type:a,label:a},itemName:o,subtitle:U(`engine.edit.historySubtitle`,l),stats:[{label:U(`engine.edit.historyEvents`,l),value:m}],actions:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(N,{variant:`ghost`,size:`sm`,onClick:()=>s(`../${encodeURIComponent(o)}`),children:[(0,G.jsx)(I,{className:`h-4 w-4 mr-1`}),`Back to item`]}),(0,G.jsx)(N,{variant:`ghost`,size:`sm`,onClick:()=>p(e=>e+1),children:(0,G.jsx)(pe,{className:`h-4 w-4`})})]}),children:(0,G.jsx)(`div`,{className:`p-6 max-w-4xl`,children:(0,G.jsx)(Ie,{type:a,name:o,refreshKey:f,onCount:h,client:c,locale:l,onRollback:()=>p(e=>e+1)})})})}function Ie({type:e,name:t,refreshKey:n=0,onCount:r,client:i,onRollback:a,rollbackConfirm:o,rollbackLabel:s,locale:c}){let l=F(),[u,d]=W.useState([]),[f,p]=W.useState(!0),[m,h]=W.useState(null),[g,v]=W.useState(null),[y,x]=W.useState(null),[S,C]=W.useState(0);W.useEffect(()=>{let n=!1;return p(!0),h(null),(async()=>{try{let a=await i.history(e,t,{limit:100});if(n)return;let o=[...Array.isArray(a)?a:Array.isArray(a?.events)?a.events:[]].sort((e,t)=>(t.seq??0)-(e.seq??0));d(o),r?.(o.length),p(!1)}catch(e){n||(h(e?.message??String(e)),p(!1))}})(),()=>{n=!0}},[i,e,t,n,S]);async function w(n){let r=o?o(n):`Restore version ${n}? This writes the historical body back as the current overlay.`;if(confirm(r)){x(n),h(null);try{await i.rollback(e,t,n),a?.(n),C(e=>e+1)}catch(e){h(e?.message??String(e))}finally{x(null)}}}return(0,G.jsxs)(G.Fragment,{children:[f&&(0,G.jsxs)(`div`,{className:`text-sm text-muted-foreground flex items-center gap-2`,children:[(0,G.jsx)(se,{className:`h-4 w-4 animate-spin`}),` Loading history…`]}),m&&(0,G.jsx)(`div`,{className:`text-sm text-destructive border border-destructive/30 rounded p-3 bg-destructive/5`,children:m}),!f&&!m&&u.length===0&&(0,G.jsxs)(ne,{children:[(0,G.jsx)(_,{children:U(`engine.edit.historyEmptyTitle`,c)}),(0,G.jsx)(b,{children:U(`engine.edit.historyEmptyDesc`,c)})]}),!f&&u.length>0&&(0,G.jsx)(`ol`,{className:`space-y-2 relative pl-6 border-l`,children:u.map((e,t)=>{let n=g===t,r=e.op??e.kind,i=e.ts??e.at,o=!!a&&typeof e.version==`number`&&r!==`delete`&&r!==`tombstone`;return(0,G.jsxs)(`li`,{className:`relative`,children:[(0,G.jsx)(`span`,{className:`absolute -left-[27px] top-2 w-3 h-3 rounded-full bg-primary ring-4 ring-background`}),(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:()=>v(n?null:t),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&v(n?null:t)},className:`border rounded-lg p-3 hover:border-primary/50 cursor-pointer transition-colors`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,G.jsxs)(k,{variant:`outline`,className:`text-[10px] font-mono`,children:[`seq `,e.seq??`–`]}),typeof e.version==`number`&&(0,G.jsxs)(k,{variant:`outline`,className:`text-[10px] font-mono`,children:[`v`,e.version]}),r&&(0,G.jsx)(k,{className:`text-[10px] `+(r===`delete`||r===`tombstone`?`bg-red-100 text-red-800 hover:bg-red-100`:r===`create`?`bg-blue-100 text-blue-800 hover:bg-blue-100`:r===`publish`?`bg-emerald-100 text-emerald-800 hover:bg-emerald-100`:r===`revert`?`bg-amber-100 text-amber-900 hover:bg-amber-100`:`bg-emerald-100 text-emerald-800 hover:bg-emerald-100`),children:Te(`op`,String(r),c)}),e.actor&&(0,G.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`by`,` `,(0,G.jsx)(`span`,{className:`font-mono`,children:String(e.actor)})]}),i&&(0,G.jsx)(`span`,{className:`text-xs text-muted-foreground ml-auto`,children:Le(i,l)}),o&&(0,G.jsx)(N,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,title:s??`Rollback to this version`,disabled:y!==null,onClick:t=>{t.stopPropagation(),w(e.version)},children:y===e.version?(0,G.jsx)(se,{className:`h-3.5 w-3.5 animate-spin`}):(0,G.jsx)(me,{className:`h-3.5 w-3.5`})})]}),n&&(0,G.jsx)(`pre`,{className:`mt-2 text-xs font-mono bg-muted/30 rounded p-2 overflow-auto max-h-[280px]`,children:Re(e)})]})]},`${e.seq??t}-${t}`)})})]})}function Le(e,t){try{let n=new Date(e);return Number.isNaN(n.getTime())?String(e):n.toLocaleString(t)}catch{return String(e)}}function Re(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ze(e){let t=e?.data??e,n=Array.isArray(t)?t:t?.packages??[],r=[];for(let e of n){if(!e||typeof e!=`object`)continue;let t=e.manifest??{},n=String(t.id??e.id??``);if(!n)continue;let i=typeof t.scope==`string`?t.scope:``;if(i===`system`||i===`cloud`)continue;let a=typeof t.namespace==`string`&&t.namespace?t.namespace:l(n),o=typeof e.writable==`boolean`?e.writable:i!==`project`,s=(typeof t.name==`string`&&t.name.trim()?t.name:void 0)??(typeof e.name==`string`&&e.name.trim()?e.name:void 0);r.push({id:n,name:s??n,writable:o,namespace:a})}return r}async function Be(){let e=await fetch(`/api/v1/packages`,{credentials:`include`,headers:{Accept:`application/json`},cache:`no-store`});if(!e.ok){let t=await e.json().catch(()=>null);throw Error(K(t)??`HTTP ${e.status}`)}return ze(await e.json())}var Ve=5;function He(e){let t=Array.isArray(e.failed)?e.failed:[],n=typeof e.failedCount==`number`?e.failedCount:t.length,r=typeof e.copiedCount==`number`?e.copiedCount:0;if(n>0){let e=t.slice(0,Ve).map(e=>`${e.type||`item`}/${e.name||`?`}: ${e.error||`copy failed`}`),i=t.length-e.length;return`Partial duplicate: ${r} item(s) copied, ${n} failed.${e.length?` ${e.join(`; `)}${i>0?`; +${i} more`:``}`:``}`}return`Nothing was copied: the duplicate is empty (0 items copied, 0 reported as failed). The source package may have no active items, or its rows may be outside this session's scope.`}async function Ue(e,t,n){let r=await fetch(`/api/v1/packages/${encodeURIComponent(e)}/duplicate`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({targetPackageId:t,...n?{targetName:n}:{}})}),i=await r.json().catch(()=>null);if(!r.ok)throw Error(K(i)??`HTTP ${r.status}`);let a=i?.data??i??void 0;if(a?.success===!1)throw Error(He(a))}var We=/^[a-z][a-z0-9_.-]*(\.[a-z0-9_-]+)+$/,Ge=/^[a-z][a-z0-9_]{1,19}$/;function Ke(e,t){return t&&c(e,t)?`${t}_${e}`:e}function qe(e){let t=e.toLowerCase().replace(/[^a-z0-9_.-]/g,``);return{value:t,stripped:t.length!==e.length}}var Je={io:`input`,unrepresentable:`any`},J,Ye=!1;function Xe(){if(J||Ye)return J;try{J=Se(s,Je)}catch(e){Ye=!0,typeof console<`u`&&console.warn(`[package-schema] failed to derive manifest JSONSchema from spec`,e)}return J}function Ze(e){return{type:`modal`,sections:[{label:U(`engine.packages.form.basics`,e),columns:1,fields:[{field:`name`,label:U(`engine.packages.create.name`,e),helpText:B(`engine.packages.form.help.name`,e),placeholder:`Acme CRM`},{field:`id`,label:U(`engine.packages.create.id`,e),helpText:B(`engine.packages.form.help.id`,e),placeholder:`com.acme.crm`,immutable:!0},{field:`namespace`,label:U(`engine.packages.create.namespace`,e),helpText:B(`engine.packages.form.help.namespace`,e),placeholder:`crm`,immutable:!0},{field:`version`,label:U(`engine.packages.create.version`,e),helpText:B(`engine.packages.form.help.version`,e),placeholder:`0.1.0`},{field:`type`,label:U(`engine.packages.detail.type`,e),helpText:B(`engine.packages.form.help.type`,e),immutable:!0},{field:`description`,label:U(`engine.packages.detail.description`,e),helpText:B(`engine.packages.form.help.description`,e)}]},{label:U(`engine.packages.form.advanced`,e),collapsible:!0,collapsed:!0,columns:1,fields:[{field:`defaultDatasource`,label:U(`engine.packages.form.defaultDatasource`,e),helpText:B(`engine.packages.form.help.defaultDatasource`,e),immutable:!0},{field:`scope`,label:U(`engine.packages.form.scope`,e),helpText:B(`engine.packages.form.help.scope`,e),immutable:!0},{field:`dependencies`,label:U(`engine.packages.form.dependencies`,e),helpText:B(`engine.packages.form.help.dependencies`,e),immutable:!0}]}]}}var Qe=`/api/v1/packages`;function $e(e){return s.shape.version.safeParse(e).success}function et(e){let t=e?.error;if(!t||typeof t!=`object`)return``;let{userMessage:n}=t;return typeof n==`string`?n:``}async function tt(e,t){let n=await fetch(e,{credentials:`include`,headers:{Accept:`application/json`,...t?.headers||{}},...t}),r=await n.text(),i=r?JSON.parse(r):null;if(!n.ok||i?.success===!1){let e=K(i)||i?.error||i?.message||`Request failed (${n.status})`,t=Error(typeof e==`string`?e:`Request failed (${n.status})`);throw t.status=n.status,t.userMessage=et(i),t}return i?.data??i}function nt(){try{window.dispatchEvent(new CustomEvent(`objectui:packages-changed`))}catch{}}function Y({mode:e,open:t,onOpenChange:n,manifest:r,onSaved:i}){let a=V(),o=W.useMemo(()=>Xe(),[]),c=W.useMemo(()=>Ze(a),[a]),u=e===`create`,f=e===`view`,[p,h]=W.useState({}),[_,v]=W.useState(!1),[b,x]=W.useState(null),S=W.useRef(!1);W.useEffect(()=>{t&&(S.current=!1,h(u?{version:`0.1.0`,type:`app`}:{...r??{}}),x(null),v(!1))},[t,u,r]);let C=W.useCallback(e=>{if(!u){h(e);return}h(t=>{let n=e.namespace;return n!==t.namespace&&(S.current=!0,n=String(n??``).toLowerCase().replace(/[^a-z0-9_]/g,``)),!S.current&&e.id!==t.id&&(n=l(String(e.id??``))??``),{...e,namespace:n}})},[u]),w=W.useMemo(()=>{if(f)return[];let e=s.safeParse(p);return e.success?[]:e.error.issues.map(e=>({path:e.path.join(`.`),message:e.message}))},[p,f]),T=!!String(p.name??``).trim(),D=String(p.version??``).trim(),k=u?$e(D):!D||$e(D),A=!u||!!String(p.id??``).trim(),ee=!u||Ge.test(String(p.namespace??``).trim()),j=!f&&T&&k&&A&&ee&&!_;async function M(){if(j){v(!0),x(null);try{let t;if(u){let n={...p,id:String(p.id??``).trim(),name:String(p.name??``).trim(),version:D,type:p.type??`app`},r=await tt(Qe,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({manifest:n})});t={id:String(r?.manifest?.id??n.id),mode:e,package:r}}else{let n=String(r?.id??p.id??``);t={id:n,mode:e,package:await tt(`${Qe}/${encodeURIComponent(n)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:String(p.name??``).trim(),description:String(p.description??``).trim(),version:D})})}}nt(),i?.(t),n(!1)}catch(e){let t=e?.message??``,n=typeof e?.userMessage==`string`&&e.userMessage!==``;e?.status===409||/already exists/i.test(t)?x(n?t:U(`engine.packages.create.exists`,a)):e?.status===403||/manage_metadata/i.test(t)?x(n?t:U(`engine.packages.noCapability`,a)):x(t||U(u?`engine.packages.create.failed`:`engine.packages.edit.failed`,a))}finally{v(!1)}}}let te=U(e===`create`?`engine.packages.create.title`:e===`edit`?`engine.packages.edit.title`:`engine.packages.view.title`,a);return(0,G.jsx)(O,{open:t,onOpenChange:n,children:(0,G.jsxs)(d,{className:`max-h-[85vh] overflow-y-auto`,children:[(0,G.jsxs)(g,{children:[(0,G.jsx)(y,{children:te}),e===`create`?(0,G.jsx)(E,{children:H(`engine.packages.create.description`,a,{example:`com.acme.crm`})}):(0,G.jsx)(E,{className:`font-mono text-xs`,children:String(r?.id??p.id??``)})]}),(0,G.jsx)(`div`,{className:`py-1`,"data-testid":`package-form`,children:(0,G.jsx)(Ce,{schema:o,form:c,value:p,onChange:C,issues:w,readOnly:f,createMode:u})}),b&&(0,G.jsxs)(`div`,{"data-testid":`package-form-error`,className:`flex items-start gap-2 rounded-md border border-destructive/40 bg-destructive/10 p-2 text-sm text-destructive`,children:[(0,G.jsx)(_e,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,G.jsx)(`span`,{children:b})]}),(0,G.jsx)(m,{children:f?(0,G.jsx)(N,{variant:`outline`,onClick:()=>n(!1),children:U(`engine.close`,a)}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(N,{variant:`outline`,onClick:()=>n(!1),disabled:_,children:U(`engine.cancel`,a)}),(0,G.jsx)(N,{onClick:M,disabled:!j,"data-testid":`package-form-submit`,children:U(_?u?`engine.packages.create.creating`:`engine.packages.edit.saving`:u?`engine.packages.create.submit`:`engine.packages.edit.save`,a)})]})})]})})}var X=`/api/v1/packages`;async function Z(e,t){let n=await fetch(e,{credentials:`include`,headers:{Accept:`application/json`,...t?.headers||{}},...t}),r=await n.text(),i=r?JSON.parse(r):null;if(!n.ok||i?.success===!1){let e=K(i)||i?.error||i?.message||`Request failed (${n.status})`;throw Error(typeof e==`string`?e:`Request failed (${n.status})`)}return i?.data??i}function rt({scope:e}){let t=V();if(!e)return(0,G.jsx)(k,{className:`bg-emerald-400/15 text-emerald-600 hover:bg-emerald-400/15 dark:text-emerald-300`,children:U(`engine.packages.scope.writable`,t)});let n=e===`project`?`default`:e===`system`?`secondary`:`outline`,r=e===`project`?`engine.packages.scope.project`:e===`system`?`engine.packages.scope.system`:e===`cloud`?`engine.packages.scope.cloud`:``;return(0,G.jsx)(k,{variant:n,children:r?U(r,t):e})}function it({pkg:e}){let t=V(),n=e.enabled!==!1&&e.status!==`disabled`;return(0,G.jsx)(k,{variant:n?`default`:`outline`,children:U(n?`engine.packages.status.enabled`:`engine.packages.status.disabled`,t)})}function at({open:e,onOpenChange:t,onCreated:n}){return(0,G.jsx)(Y,{mode:`create`,open:e,onOpenChange:t,onSaved:e=>n(e.id)})}function Q({label:e,children:t}){return(0,G.jsxs)(`div`,{className:`flex items-baseline justify-between gap-4 py-1.5`,children:[(0,G.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:e}),(0,G.jsx)(`span`,{className:`text-sm font-medium text-right break-all`,children:t})]})}function ot({pkg:e,open:t,onOpenChange:n,onSaved:r}){return(0,G.jsx)(Y,{mode:`edit`,open:t,onOpenChange:n,manifest:e?.manifest??null,onSaved:t=>r(t.package??e)})}function st({pkg:e,appBase:t,open:n,onOpenChange:i,onChanged:a}){let o=V(),s=be(),[c,l]=W.useState(null),[d,f]=W.useState(null),[m,g]=W.useState(null),[_,y]=W.useState(!1),[b,x]=W.useState(!1);if(W.useEffect(()=>{f(null),l(null)},[e?.manifest.id]),W.useEffect(()=>{let t=e?.manifest.id;if(!n||!t){g(null);return}let r=!1;return Z(`/api/v1/meta/_drafts?packageId=${encodeURIComponent(t)}`).then(e=>{r||g(e?.drafts??[])}).catch(()=>{r||g([])}),()=>{r=!0}},[n,e?.manifest.id]),!e)return null;let S=e.manifest.id,C=e.enabled!==!1&&e.status!==`disabled`,w=e.manifest.scope===`system`||e.manifest.scope===`cloud`;async function E(e,t,n){l(e),f(null);try{await t(),f({kind:`ok`,text:n}),a()}catch(e){f({kind:`err`,text:e?.message??U(`engine.packages.detail.actionFailed`,o)})}finally{l(null)}}return(0,G.jsx)(D,{open:n,onOpenChange:i,children:(0,G.jsxs)(u,{className:`w-full sm:max-w-md overflow-y-auto`,children:[(0,G.jsxs)(p,{children:[(0,G.jsxs)(h,{className:`flex items-center gap-2`,children:[(0,G.jsx)(ce,{className:`h-4 w-4`}),e.manifest.name||S]}),(0,G.jsx)(T,{className:`font-mono text-xs`,children:S})]}),(0,G.jsxs)(`div`,{className:`mt-4`,children:[(0,G.jsx)(Q,{label:U(`engine.packages.col.version`,o),children:e.manifest.version||`—`}),(0,G.jsx)(Q,{label:U(`engine.packages.detail.type`,o),children:e.manifest.type||`—`}),(0,G.jsx)(Q,{label:U(`engine.packages.col.scope`,o),children:(0,G.jsx)(rt,{scope:e.manifest.scope})}),(0,G.jsx)(Q,{label:U(`engine.packages.col.status`,o),children:(0,G.jsx)(it,{pkg:e})}),e.manifest.description&&(0,G.jsx)(Q,{label:U(`engine.packages.detail.description`,o),children:e.manifest.description})]}),t&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(v,{className:`my-4`}),(0,G.jsxs)(r,{to:`${t}/metadata/object?package=${encodeURIComponent(S)}`,className:`inline-flex items-center gap-1.5 text-sm text-primary hover:underline`,onClick:()=>i(!1),children:[(0,G.jsx)(R,{className:`h-3.5 w-3.5`}),U(`engine.packages.detail.browseMetadata`,o)]})]}),m&&m.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(v,{className:`my-4`}),(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsxs)(`p`,{className:`flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:[U(`engine.packages.detail.pendingChanges`,o),(0,G.jsx)(k,{variant:`secondary`,children:m.length})]}),(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:U(`engine.packages.detail.pendingHint`,o)}),!w&&(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,G.jsxs)(N,{size:`sm`,onClick:()=>E(`publish-drafts`,async()=>{let e=await s.publishPackageDrafts(S).catch(e=>{let t=K(e?.body);throw t?Error(t):e});if(e.success===!1)throw Error(K(e)||(typeof e.error==`string`?e.error:``)||(typeof e.message==`string`?e.message:``)||U(`engine.packages.detail.actionFailed`,o));try{let e=await Z(`/api/v1/meta/_drafts?packageId=${encodeURIComponent(S)}`);g(e?.drafts??[])}catch{g([])}if(e?.failedCount){let t=Array.isArray(e.failed)?e.failed:[],n=t.find(e=>!P(e,`BATCH_ABORTED`)&&e?.error);throw t.some(e=>P(e,`BATCH_ABORTED`))?Error(H(`engine.packages.detail.publishDraftsRolledBack`,o,{cause:n?`${n.type??`?`}/${n.name??`?`}: ${n.error}`:String(e.failedCount)})):Error(H(`engine.packages.detail.publishDraftsPartial`,o,{published:e.publishedCount??0,failed:e.failedCount}))}return e},U(`engine.packages.detail.publishDraftsOk`,o)),disabled:!!c,children:[(0,G.jsx)(ye,{className:`mr-1.5 h-3.5 w-3.5`}),c===`publish-drafts`?U(`engine.packages.detail.publishing`,o):H(`engine.packages.detail.publishApp`,o,{count:m.length})]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:()=>E(`discard-drafts`,()=>Z(`${X}/${encodeURIComponent(S)}/discard-drafts`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({})}).then(async e=>{try{let e=await Z(`/api/v1/meta/_drafts?packageId=${encodeURIComponent(S)}`);g(e?.drafts??[])}catch{g([])}if(e?.failedCount)throw Error(H(`engine.packages.detail.discardDraftsPartial`,o,{discarded:e.discardedCount??0,failed:e.failedCount}));return e}),U(`engine.packages.detail.discardDraftsOk`,o)),disabled:!!c,children:[(0,G.jsx)(ve,{className:`mr-1.5 h-3.5 w-3.5`}),c===`discard-drafts`?U(`engine.packages.detail.discarding`,o):H(`engine.packages.detail.discardChanges`,o,{count:m.length})]})]}),(0,G.jsx)(`ul`,{className:`space-y-1`,children:m.map(e=>t?(0,G.jsx)(`li`,{children:(0,G.jsxs)(r,{to:`${t}/metadata/${encodeURIComponent(e.type)}/${encodeURIComponent(e.name)}?review=1`,className:`inline-flex items-center gap-1.5 text-sm text-primary hover:underline`,onClick:()=>i(!1),children:[(0,G.jsx)(z,{className:`h-3.5 w-3.5`}),(0,G.jsx)(`span`,{className:`font-mono text-xs`,children:e.type}),(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:`·`}),e.name]})},`${e.type}/${e.name}`):(0,G.jsxs)(`li`,{className:`inline-flex items-center gap-1.5 text-sm`,children:[(0,G.jsx)(z,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,G.jsx)(`span`,{className:`font-mono text-xs`,children:e.type}),(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:`·`}),e.name]},`${e.type}/${e.name}`))})]})]}),(0,G.jsx)(v,{className:`my-4`}),w?(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:U(`engine.packages.detail.kernelReadOnly`,o)}):(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:U(`engine.packages.detail.actions`,o)}),(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:()=>x(!0),disabled:!!c,children:[(0,G.jsx)(ae,{className:`mr-1.5 h-3.5 w-3.5`}),U(`engine.packages.detail.viewInfo`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:()=>y(!0),disabled:!!c,children:[(0,G.jsx)(le,{className:`mr-1.5 h-3.5 w-3.5`}),U(`engine.packages.detail.edit`,o)]}),(0,G.jsxs)(N,{size:`sm`,onClick:()=>E(`publish`,()=>Z(`${X}/${encodeURIComponent(S)}/publish`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({})}).then(e=>{if(e&&e.success===!1){let t=e.validationErrors?.length??0;throw Error(t?H(`engine.packages.detail.publishBlocked`,o,{count:t}):e.validationErrors?.[0]?.message||U(`engine.packages.detail.nothingToPublish`,o))}return e}),U(`engine.packages.detail.published`,o)),disabled:!!c,children:[(0,G.jsx)(ye,{className:`mr-1.5 h-3.5 w-3.5`}),U(c===`publish`?`engine.packages.detail.publishing`:`engine.packages.detail.publish`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:()=>E(`revert`,()=>Z(`${X}/${encodeURIComponent(S)}/revert`,{method:`POST`}),U(`engine.packages.detail.reverted`,o)),disabled:!!c,children:[(0,G.jsx)(ve,{className:`mr-1.5 h-3.5 w-3.5`}),U(`engine.packages.detail.revert`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:()=>E(`toggle`,()=>Z(`${X}/${encodeURIComponent(S)}/${C?`disable`:`enable`}`,{method:`PATCH`}),U(C?`engine.packages.detail.disabled`:`engine.packages.detail.enabled`,o)),disabled:!!c,children:[C?(0,G.jsx)(de,{className:`mr-1.5 h-3.5 w-3.5`}):(0,G.jsx)(fe,{className:`mr-1.5 h-3.5 w-3.5`}),U(C?`engine.packages.detail.disable`:`engine.packages.detail.enable`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:()=>E(`export`,async()=>{let e=await Z(`${X}/${encodeURIComponent(S)}/export`),t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${S}.package.json`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)},U(`engine.packages.detail.exported`,o)),disabled:!!c,children:[(0,G.jsx)(ie,{className:`mr-1.5 h-3.5 w-3.5`}),U(c===`export`?`engine.packages.detail.exporting`:`engine.packages.detail.export`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:async()=>{let t=window.prompt(U(`engine.packages.detail.duplicatePrompt`,o),`${S}-copy`);if(t&&t.trim()){l(`duplicate`),f(null);try{await Z(`${X}/${encodeURIComponent(S)}/duplicate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({targetPackageId:t.trim(),targetName:`${e?.manifest.name??S} (copy)`})}),f({kind:`ok`,text:U(`engine.packages.detail.duplicated`,o)}),a()}catch(e){f({kind:`err`,text:e?.message??`Duplicate failed`})}finally{l(null)}}},disabled:!!c,children:[(0,G.jsx)(re,{className:`mr-1.5 h-3.5 w-3.5`}),U(c===`duplicate`?`engine.packages.detail.duplicating`:`engine.packages.detail.duplicate`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:async()=>{if(window.confirm(H(`engine.packages.detail.adoptConfirm`,o,{name:e?.manifest.name||S}))){l(`adopt`),f(null);try{await Z(`${X}/${encodeURIComponent(S)}/adopt-orphans`,{method:`POST`}),f({kind:`ok`,text:U(`engine.packages.detail.adopted`,o)}),a()}catch(e){f({kind:`err`,text:e?.message??`Adopt failed`})}finally{l(null)}}},disabled:!!c,children:[(0,G.jsx)(oe,{className:`mr-1.5 h-3.5 w-3.5`}),U(c===`adopt`?`engine.packages.detail.adopting`:`engine.packages.detail.adoptOrphans`,o)]}),(0,G.jsxs)(N,{size:`sm`,variant:`outline`,onClick:async()=>{if(!window.confirm(H(`engine.packages.detail.deleteConfirm`,o,{name:e?.manifest.name||S})))return;let t=window.confirm(U(`engine.packages.detail.deleteKeepData`,o))?``:`?keepData=true`;l(`delete`),f(null);try{await Z(`${X}/${encodeURIComponent(S)}${t}`,{method:`DELETE`}),a(),i(!1)}catch(e){f({kind:`err`,text:e?.message??U(`engine.packages.detail.deleteFailed`,o)})}finally{l(null)}},disabled:!!c,className:`text-destructive hover:bg-destructive/10 hover:text-destructive`,children:[(0,G.jsx)(ge,{className:`mr-1.5 h-3.5 w-3.5`}),U(c===`delete`?`engine.packages.detail.deleting`:`engine.packages.detail.deleteApp`,o)]})]})]}),d&&(0,G.jsx)(`div`,{className:`mt-4 rounded-md border p-2 text-sm ${d.kind===`ok`?`border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400`:`border-destructive/40 bg-destructive/10 text-destructive`}`,children:d.text}),(0,G.jsx)(ot,{pkg:e,open:_,onOpenChange:y,onSaved:()=>{f({kind:`ok`,text:U(`engine.packages.edit.saved`,o)}),a()}}),(0,G.jsx)(Y,{mode:`view`,open:b,onOpenChange:x,manifest:e?.manifest??null})]})})}function ct(){let e=V(),{pathname:t}=a(),n=W.useMemo(()=>{let e=t.indexOf(`/component`);return e>=0?t.slice(0,e):t},[t]),[r,i]=W.useState([]),[o,s]=W.useState(!0),[c,l]=W.useState(null),[u,d]=W.useState(``),[p,m]=W.useState(!1),[h,g]=W.useState(!1),[v,y]=W.useState(null),[T,E]=W.useState(!1),D=W.useRef(null),[O,k]=W.useState(!1),[P,F]=W.useState(null),I=W.useCallback(async()=>{s(!0),l(null);try{let e=await Z(X),t=Array.isArray(e?.packages)?e.packages:[];t.sort((e,t)=>{let n=e.manifest.scope===`project`?0:1,r=t.manifest.scope===`project`?0:1;return n===r?(e.manifest.name||e.manifest.id).localeCompare(t.manifest.name||t.manifest.id):n-r}),i(t)}catch(t){l(t?.message??U(`engine.packages.loadFailed`,e))}finally{s(!1)}},[e]);W.useEffect(()=>{I()},[I]),W.useEffect(()=>{if(!v)return;let e=r.find(e=>e.manifest.id===v.manifest.id);e&&e!==v&&y(e)},[r,v]);let L=W.useMemo(()=>{let e=u.trim().toLowerCase();return r.filter(t=>(t.manifest.scope===`system`||t.manifest.scope===`cloud`)&&!p?!1:!e||t.manifest.id.toLowerCase().includes(e)||(t.manifest.name||``).toLowerCase().includes(e))},[r,u,p]),re=e=>{y(e),E(!0)},ie=async t=>{let n=t.target.files?.[0];if(t.target.value=``,n){k(!0),F(null);try{let t=await n.text(),r;try{r=JSON.parse(t)}catch{throw Error(U(`engine.packages.import.invalidJson`,e))}if(!r||typeof r!=`object`||!r.id&&!r.name)throw Error(U(`engine.packages.import.invalidPackage`,e));let i=await Z(`/api/v1/marketplace/install-local`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({manifest:r})});F({kind:`ok`,text:H(`engine.packages.import.success`,e,{id:i?.manifestId??r.id})}),await I()}catch(t){F({kind:`err`,text:t?.message??U(`engine.packages.import.failed`,e)})}finally{k(!1)}}},R=r.filter(e=>e.manifest.scope===`system`||e.manifest.scope===`cloud`).length;return(0,G.jsxs)(`div`,{className:`mx-auto w-full max-w-5xl px-6 py-6`,children:[(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,G.jsx)(`div`,{className:`rounded-lg bg-primary/10 p-2 text-primary`,children:(0,G.jsx)(ce,{className:`h-5 w-5`})}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight`,children:U(`engine.packages.title`,e)}),(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:U(`engine.packages.description`,e)})]})]}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsxs)(N,{variant:`outline`,size:`sm`,onClick:()=>void I(),disabled:o,children:[(0,G.jsx)(pe,{className:`mr-1.5 h-3.5 w-3.5 ${o?`animate-spin`:``}`}),U(`engine.packages.refresh`,e)]}),(0,G.jsx)(`input`,{ref:D,type:`file`,accept:`application/json,.json`,className:`hidden`,onChange:ie}),(0,G.jsxs)(N,{variant:`outline`,size:`sm`,onClick:()=>D.current?.click(),disabled:O,children:[(0,G.jsx)(z,{className:`mr-1.5 h-3.5 w-3.5`}),U(O?`engine.packages.importing`:`engine.packages.import`,e)]}),(0,G.jsxs)(N,{size:`sm`,onClick:()=>g(!0),children:[(0,G.jsx)(ue,{className:`mr-1.5 h-3.5 w-3.5`}),U(`engine.packages.new`,e)]})]})]}),P&&(0,G.jsx)(`div`,{className:`mt-4 rounded-md border p-2 text-sm ${P.kind===`ok`?`border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400`:`border-destructive/40 bg-destructive/10 text-destructive`}`,children:P.text}),(0,G.jsxs)(`div`,{className:`mt-5 flex flex-wrap items-center justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`relative w-full max-w-xs`,children:[(0,G.jsx)(he,{className:`absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,G.jsx)(j,{className:`pl-8`,placeholder:U(`engine.packages.search`,e),value:u,onChange:e=>d(e.target.value)})]}),R>0&&(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(ee,{id:`show-kernel`,checked:p,onCheckedChange:m}),(0,G.jsx)(x,{htmlFor:`show-kernel`,className:`text-sm text-muted-foreground`,children:H(`engine.packages.showPlatform`,e,{count:R})})]})]}),(0,G.jsx)(`div`,{className:`mt-4 rounded-lg border`,children:o?(0,G.jsx)(`div`,{className:`space-y-2 p-4`,children:[0,1,2].map(e=>(0,G.jsx)(f,{className:`h-10 w-full`},e))}):c?(0,G.jsxs)(`div`,{className:`flex items-start gap-2 p-4 text-sm text-destructive`,children:[(0,G.jsx)(_e,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,G.jsx)(`span`,{"data-testid":`packages-load-error`,children:c})]}):L.length===0?(0,G.jsx)(`div`,{className:`p-8`,children:(0,G.jsxs)(ne,{children:[(0,G.jsx)(_,{children:U(`engine.packages.empty`,e)}),(0,G.jsx)(b,{children:r.length===0?U(`engine.packages.emptyCreate`,e):U(`engine.packages.emptyFiltered`,e)})]})}):(0,G.jsxs)(C,{children:[(0,G.jsx)(w,{children:(0,G.jsxs)(S,{children:[(0,G.jsx)(M,{children:U(`engine.packages.col.name`,e)}),(0,G.jsx)(M,{children:`ID`}),(0,G.jsx)(M,{className:`w-24`,children:U(`engine.packages.col.version`,e)}),(0,G.jsx)(M,{className:`w-24`,children:U(`engine.packages.col.scope`,e)}),(0,G.jsx)(M,{className:`w-24`,children:U(`engine.packages.col.status`,e)})]})}),(0,G.jsx)(te,{children:L.map(e=>(0,G.jsxs)(S,{className:`cursor-pointer`,onClick:()=>re(e),children:[(0,G.jsx)(A,{className:`font-medium`,children:e.manifest.name||e.manifest.id}),(0,G.jsx)(A,{className:`font-mono text-xs text-muted-foreground`,children:e.manifest.id}),(0,G.jsx)(A,{children:e.manifest.version||`—`}),(0,G.jsx)(A,{children:(0,G.jsx)(rt,{scope:e.manifest.scope})}),(0,G.jsx)(A,{children:(0,G.jsx)(it,{pkg:e})})]},e.manifest.id))})]})}),(0,G.jsx)(at,{open:h,onOpenChange:g,onCreated:async()=>{await I()}}),(0,G.jsx)(st,{pkg:v,appBase:n,open:T,onOpenChange:E,onChanged:()=>void I()})]})}var $=new Map;function lt(e,t){$.set(e,t)}function ut(e){return $.get(e)}function dt(){return Array.from($.keys()).sort()}function ft(e=4e3){let t=W.useRef(null),[n,r]=W.useState(!1);return W.useEffect(()=>{if(n)return;let e=!1,t=De?.init?.();return t&&typeof t.catch==`function`&&t.catch(()=>{e||r(!0)}),()=>{e=!0}},[n]),W.useEffect(()=>{if(n)return;let i=setTimeout(()=>{let e=t.current;(!e||!e.querySelector(`.view-line`))&&r(!0)},e);return()=>clearTimeout(i)},[n,e]),[n,t]}var pt=new Map;function mt(e,t){pt.set(e,t)}function ht(e){return pt.get(e)}function gt(){return Array.from(pt.keys()).sort()}var _t=new Map;function vt(e,t){_t.set(e,t)}function yt(e){return _t.get(e)}export{Ae as C,K as D,Me as E,Oe as S,ke as T,Ke as _,mt as a,Fe as b,dt as c,st as d,ct as f,Be as g,Ue as h,gt as i,lt as l,We as m,vt as n,ft as o,Y as p,ht as r,ut as s,yt as t,at as u,qe as v,je as w,Pe as x,Ie as y};