@runeya/runeya 2.0.66 → 2.0.67

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 (199) hide show
  1. package/agent/index.js +13 -8
  2. package/agent/index.js.map +1 -1
  3. package/index.js +4 -1
  4. package/index.js.map +1 -1
  5. package/mcp-server/index.js +11 -5
  6. package/mcp-server/index.js.map +1 -1
  7. package/node-QABM22GF.js +78 -0
  8. package/node-QABM22GF.js.map +1 -0
  9. package/package.json +1 -1
  10. package/{src-ETRPQHFP.js → src-QP5LALGR.js} +1187 -1019
  11. package/src-QP5LALGR.js.map +1 -0
  12. package/web/assets/{AgentScalarChatInterface.vue-Zqu9sSBH.js → AgentScalarChatInterface.vue-DVn9R6UA.js} +1 -1
  13. package/web/assets/{AgentTerminalPage-Bm3kpbcU.js → AgentTerminalPage-C66ptjgH.js} +1 -1
  14. package/web/assets/AiChatPage-Bh3ugfp4.js +1 -0
  15. package/web/assets/AppLayout-B0n34XKU.js +1 -0
  16. package/web/assets/{AppLayout-Cx7ccwgc.css → AppLayout-BqXoW05V.css} +1 -1
  17. package/web/assets/{AuditPage-DUSwJfVK.js → AuditPage-CbkmlJeq.js} +1 -1
  18. package/web/assets/{CloudAccountPage-Ye5gyp-a.js → CloudAccountPage-CqMO-gQ1.js} +1 -1
  19. package/web/assets/CloudAccountPage-DuTsra7v.js +1 -0
  20. package/web/assets/{CloudMessagingPage-D2bQQJYt.js → CloudMessagingPage-D8Y4KWWS.js} +1 -1
  21. package/web/assets/{DashboardPage-CHU-AVBl.js → DashboardPage-B7BrLHKh.js} +1 -1
  22. package/web/assets/{DirectoryPickerDialog-DWBd-8G-.js → DirectoryPickerDialog-DiXqygSc.js} +1 -1
  23. package/web/assets/{EditorIcon-CCXptJPw.js → EditorIcon-ChiKZey2.js} +1 -1
  24. package/web/assets/{EnvironmentForm-PHlewheL.js → EnvironmentForm-C_Vb13xF.js} +1 -1
  25. package/web/assets/{EnvironmentFormPage-D38aMov8.js → EnvironmentFormPage-BaMwL4YK.js} +1 -1
  26. package/web/assets/{EnvironmentListPage-DdQ4q79B.js → EnvironmentListPage-DAKszj2p.js} +1 -1
  27. package/web/assets/{KanbanBoardPage-BQixRj2E.js → KanbanBoardPage-DVfCJ09e.js} +3 -3
  28. package/web/assets/{KanbanListPage-CZbGUlKe.js → KanbanListPage-CAUPVG3x.js} +1 -1
  29. package/web/assets/{LaunchProjectPage-DCECoi2W.js → LaunchProjectPage-DboQPHhM.js} +1 -1
  30. package/web/assets/{LaunchServicesPage-Igch4OkU.js → LaunchServicesPage-CjM0FUsg.js} +1 -1
  31. package/web/assets/{LogViewer-CJ7eJWSJ.js → LogViewer-CV4UKjXg.js} +1 -1
  32. package/web/assets/{OrgKeyPrompt-Beh4oSZo.js → OrgKeyPrompt-B-Ob1wQo.js} +1 -1
  33. package/web/assets/{ProcessControls-C338q9mk.js → ProcessControls-DAciBoSD.js} +1 -1
  34. package/web/assets/{ProcessDetailPage-nOQRTRxC.js → ProcessDetailPage-DtFb-qaA.js} +1 -1
  35. package/web/assets/{ProcessMetrics-2zeVTtwB.js → ProcessMetrics--iokpCM-.js} +1 -1
  36. package/web/assets/{ProjectDetailPage-_KWEJ7Rf.js → ProjectDetailPage-DKwgJnBb.js} +1 -1
  37. package/web/assets/{ProjectListPage-BpjpOa0B.js → ProjectListPage-Dxb9S6la.js} +1 -1
  38. package/web/assets/{RandomJobTestPage-C2P7Of7m.js → RandomJobTestPage-Rjvqbre2.js} +1 -1
  39. package/web/assets/{ScenarioEditorPage-CLZfBdRV.js → ScenarioEditorPage-Diue0rEv.js} +1 -1
  40. package/web/assets/{SendToChatDialog-CVk67rVP.js → SendToChatDialog-DZm9rbYQ.js} +1 -1
  41. package/web/assets/{ServiceControlsBar-Bj8W6_zq.js → ServiceControlsBar-CqH5T0Bt.js} +1 -1
  42. package/web/assets/{ServiceDetailPage-BQLxNRdV.js → ServiceDetailPage-yYY05Ofq.js} +1 -1
  43. package/web/assets/{ServiceFormPage-D6xyXhpD.js → ServiceFormPage-DLDyDff6.js} +1 -1
  44. package/web/assets/{SettingsPage-DgoltSoU.js → SettingsPage-iHIqmfyf.js} +4 -4
  45. package/web/assets/{UnlockPage-CGvHLoeU.js → UnlockPage-DQ34l5l1.js} +1 -1
  46. package/web/assets/{VariablesTable-yUXhkoTa.js → VariablesTable-WVZfP2VG.js} +1 -1
  47. package/web/assets/{VaultMigrationPage-COgPnndp.js → VaultMigrationPage-DqKJ_shK.js} +1 -1
  48. package/web/assets/{VersionBadge-D0-TBwlH.js → VersionBadge-zIjq4iAX.js} +1 -1
  49. package/web/assets/WikiPage-BsY9YXHO.js +1 -0
  50. package/web/assets/{WikiView-BSJ7xirc.js → WikiView-BnCFtAdF.js} +1 -1
  51. package/web/assets/{add-scalar-classes-CmUab9yH.js → add-scalar-classes-CjgwfCIh.js} +3 -3
  52. package/web/assets/auth-errors-DBBrz53D.js +1 -0
  53. package/web/assets/{autocomplete-BoVkCZ3N.js → autocomplete-D-6FU1t-.js} +1 -1
  54. package/web/assets/{basic-shape-diamond.svg-BAFkGVp0.js → basic-shape-diamond.svg-DE3LO5SU.js} +1 -1
  55. package/web/assets/{basic-shape-hexagon.svg-CXBYrKDq.js → basic-shape-hexagon.svg-DHCVACA2.js} +1 -1
  56. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-BGIUk5JU.js → basic-shape-primary-circle-ellipse-round.svg-BGztJOjy.js} +1 -1
  57. package/web/assets/{basic-shape-primary-square-rectangle.svg-Cs7aJCXJ.js → basic-shape-primary-square-rectangle.svg-BNvakQwI.js} +1 -1
  58. package/web/assets/{basic-shape-shield.svg-D0zGJ-AS.js → basic-shape-shield.svg-D0xk91H_.js} +1 -1
  59. package/web/assets/{browser-ew4T6Wak.js → browser-BivKTyTv.js} +1 -1
  60. package/web/assets/{browser-DM2Khq4B.js → browser-bzX9Nao0.js} +1 -1
  61. package/web/assets/{card-DEwOdoy7.js → card-wjkfdMj0.js} +1 -1
  62. package/web/assets/{checkbox-7RxjiveI.js → checkbox-IknS1FQn.js} +1 -1
  63. package/web/assets/{chip-DIaKFEgA.js → chip-Boe0Xov3.js} +1 -1
  64. package/web/assets/{client-C7GCqCio.js → client-BSU8WE5S.js} +1 -1
  65. package/web/assets/{cloud-chat.store-Dyj5VOAR.js → cloud-chat.store-XQdrKrub.js} +1 -1
  66. package/web/assets/{cloud-session-BlHm1AAi.js → cloud-session-BwiZNDmW.js} +1 -1
  67. package/web/assets/{column-BaYEu-Xp.js → column-B7tQz83B.js} +1 -1
  68. package/web/assets/{computer-device-desktop-monitor.svg-HxK5c6Pq.js → computer-device-desktop-monitor.svg-CnYkVG-R.js} +1 -1
  69. package/web/assets/{computer-device-desktop.svg-g9vb_5N-.js → computer-device-desktop.svg-XlBIDLoz.js} +1 -1
  70. package/web/assets/{computer-device-laptop.svg-BMMBociB.js → computer-device-laptop.svg-DaLHuxcg.js} +1 -1
  71. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-Czfpjn43.js → computer-device-mobile-phone-android-samsung-back.svg-qHWgnNNS.js} +1 -1
  72. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-pUCOHsgN.js → computer-device-mobile-phone-android-samsung.svg-CtxJbuqe.js} +1 -1
  73. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-Dix3VORS.js → computer-device-mobile-phone-iphone-x-back.svg-BQiGDxzt.js} +1 -1
  74. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-p2gbl1TW.js → computer-device-mobile-phone-iphone-x.svg-CgAytTCm.js} +1 -1
  75. package/web/assets/{computer-device-mobile-tablet-touch.svg-DnE6hC8T.js → computer-device-mobile-tablet-touch.svg-CAqOIQYV.js} +1 -1
  76. package/web/assets/{computer-device-mobile-tablet.svg-BlCJk_bJ.js → computer-device-mobile-tablet.svg-DQpw8q67.js} +1 -1
  77. package/web/assets/{computer-device-network-ethernet-cat6.svg-830kQkxi.js → computer-device-network-ethernet-cat6.svg-CBRhWnOl.js} +1 -1
  78. package/web/assets/{computer-device-network-lan-www.svg-C8QS39hd.js → computer-device-network-lan-www.svg-Cv-QFYIZ.js} +1 -1
  79. package/web/assets/{computer-device-network-wifi-connection.svg-Cq9SMwuS.js → computer-device-network-wifi-connection.svg-BBsVDFRE.js} +1 -1
  80. package/web/assets/{computer-device-network-wifi-router.svg-Co3SwsJB.js → computer-device-network-wifi-router.svg-BK2DsNKU.js} +1 -1
  81. package/web/assets/{cssMode-BmpKaBWz.js → cssMode-B4oj4WYQ.js} +1 -1
  82. package/web/assets/{divider-BbEJbTN0.js → divider-_mB7RWpZ.js} +1 -1
  83. package/web/assets/{ecology-science-erlenmeyer-flask.svg-Di0Wf0dY.js → ecology-science-erlenmeyer-flask.svg-CA-I1J40.js} +1 -1
  84. package/web/assets/{fieldset-BrjmZWof.js → fieldset-DxE1RM8v.js} +1 -1
  85. package/web/assets/{freemarker2-22AUFDyO.js → freemarker2-DjWzSYtR.js} +1 -1
  86. package/web/assets/{handlebars-BSkOvV0L.js → handlebars-CrIRV8P_.js} +1 -1
  87. package/web/assets/{html-hlHaQZ73.js → html-FZ2bNZkn.js} +1 -1
  88. package/web/assets/{htmlMode-BRTwjwpU.js → htmlMode-C4UY3uXX.js} +1 -1
  89. package/web/assets/{image-flash-lightning.svg-dkqSucku.js → image-flash-lightning.svg-BESGut9z.js} +1 -1
  90. package/web/assets/{image-picture-flower.svg-DZnDd7_J.js → image-picture-flower.svg-DFFw77B4.js} +1 -1
  91. package/web/assets/{index-DQD0hOgi.js → index-ChHZJigw.js} +5 -5
  92. package/web/assets/{interface-alert-exclamation-diamond.svg-C401SWye.js → interface-alert-exclamation-diamond.svg-C0_oVqKd.js} +1 -1
  93. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-COovlb0i.js → interface-alert-exclamation-triangle-warning.svg-CT57udnb.js} +1 -1
  94. package/web/assets/{interface-alert-information-circle.svg-BwNbo0yM.js → interface-alert-information-circle.svg-feXGxf07.js} +1 -1
  95. package/web/assets/{interface-award-crown.svg-C-w5fwti.js → interface-award-crown.svg-Dzcgb2OZ.js} +1 -1
  96. package/web/assets/{interface-bookmark.svg-D0m1qU6o.js → interface-bookmark-tag.svg-DYObw7kI.js} +1 -1
  97. package/web/assets/{interface-bookmark-tag.svg-6ZIfhpAK.js → interface-bookmark.svg-D29YXcId.js} +1 -1
  98. package/web/assets/{interface-calendar-date-one.svg-D8GMSKK4.js → interface-calendar-date-one.svg-B6LAQ50v.js} +1 -1
  99. package/web/assets/{interface-content-book-open-pages.svg-DQVGr6Tp.js → interface-content-book-open-pages.svg-BlpLjyAs.js} +1 -1
  100. package/web/assets/{interface-content-book-page.svg-Burs9T5l.js → interface-content-book-page.svg-D8zFMaud.js} +1 -1
  101. package/web/assets/{interface-content-file.svg-QMaR0bu1.js → interface-content-file.svg-Bu9ZoTup.js} +1 -1
  102. package/web/assets/{interface-content-folder.svg-DmjHF_FL.js → interface-content-folder.svg-C7xURsse.js} +1 -1
  103. package/web/assets/interface-content-folder.svg-ZuNlhEM9.js +1 -0
  104. package/web/assets/{interface-copy-clipboard.svg-lgdNoQUH.js → interface-copy-clipboard.svg-pk2ijV65.js} +1 -1
  105. package/web/assets/{interface-edit-attachment.svg-DkWZed8H.js → interface-edit-attachment.svg-Bcr20hoB.js} +1 -1
  106. package/web/assets/{interface-edit-binocular.svg-C_luoo2V.js → interface-edit-binocular.svg-COIP_m1k.js} +1 -1
  107. package/web/assets/{interface-edit-magic-wand.svg-mfDVPLMa.js → interface-edit-magic-wand.svg-D_m1zeUL.js} +1 -1
  108. package/web/assets/{interface-edit-tool-paint-roller.svg-DCBpOYQu.js → interface-edit-tool-paint-roller.svg-BeVeFbeH.js} +1 -1
  109. package/web/assets/{interface-edit-tool-pencil.svg-fqyQWL5k.js → interface-edit-tool-pencil.svg-dsW53gC1.js} +1 -1
  110. package/web/assets/{interface-favorite-award.svg-DgUlQfKG.js → interface-favorite-award.svg-3BNGOKWw.js} +1 -1
  111. package/web/assets/{interface-favorite-flag.svg--8SQf4C2.js → interface-favorite-flag.svg-D48-u5Nr.js} +1 -1
  112. package/web/assets/{interface-favorite-heart.svg-Bk03QjU6.js → interface-favorite-heart.svg-CKvRWS8p.js} +1 -1
  113. package/web/assets/{interface-favorite-star.svg-BmYbWrQE.js → interface-favorite-star.svg-CxMLBraT.js} +1 -1
  114. package/web/assets/{interface-favorite-stars-sparkles.svg-BEYyPTqH.js → interface-favorite-stars-sparkles.svg-Cy14KCtV.js} +1 -1
  115. package/web/assets/{interface-hierarchy-flowchart.svg-C0J6xzvI.js → interface-hierarchy-flowchart.svg-Lg00w7YV.js} +1 -1
  116. package/web/assets/{interface-home-house.svg-yWpAesCb.js → interface-home-house.svg-CsvIh8II.js} +1 -1
  117. package/web/assets/{interface-hyperlink.svg-COfqwBSx.js → interface-hyperlink.svg-BuFqr9k_.js} +1 -1
  118. package/web/assets/{interface-lighting-brightness.svg-C_ACQ4IE.js → interface-lighting-brightness.svg-C1Me4yCs.js} +1 -1
  119. package/web/assets/{interface-lock-closed.svg-CznsvqCi.js → interface-lock-closed.svg-DVhklYLb.js} +1 -1
  120. package/web/assets/{interface-lock-open-unlock.svg-BFpG7swb.js → interface-lock-open-unlock.svg-Day60scV.js} +1 -1
  121. package/web/assets/{interface-login-key.svg-ByQoPb-O.js → interface-login-key.svg-DYEI5voM.js} +1 -1
  122. package/web/assets/{interface-search.svg-DXFtCXpT.js → interface-search.svg-DwsHXg2v.js} +1 -1
  123. package/web/assets/{interface-setting-cog.svg-CaV3Cp60.js → interface-setting-cog.svg-CeNdjOvF.js} +1 -1
  124. package/web/assets/{interface-share-megaphone-bullhorn.svg-By8aY7RU.js → interface-share-megaphone-bullhorn.svg-C8ZC1W-n.js} +1 -1
  125. package/web/assets/{interface-share-rocket.svg-DNohy-ip.js → interface-share-rocket.svg-gmRwyR-9.js} +1 -1
  126. package/web/assets/{interface-share-satellite.svg-BavAgRbB.js → interface-share-satellite.svg-BfcRjFbw.js} +1 -1
  127. package/web/assets/{interface-share-space-ship.svg-BgJFQkJk.js → interface-share-space-ship.svg-CEjN-mXM.js} +1 -1
  128. package/web/assets/{interface-share.svg-Bg-xjVsD.js → interface-share.svg-CPspWlPa.js} +1 -1
  129. package/web/assets/{interface-signal-square.svg-Bss2X0FB.js → interface-signal-square.svg-DxhbfEQv.js} +1 -1
  130. package/web/assets/{interface-time-clock-circle.svg-CJjbqmaM.js → interface-time-clock-circle.svg-Ck0G0rmI.js} +1 -1
  131. package/web/assets/{interface-time-hour-glass.svg-DVqPtXUm.js → interface-time-hour-glass.svg-C-mRKciT.js} +1 -1
  132. package/web/assets/{interface-users-multiple.svg-wdqJgfZm.js → interface-users-multiple.svg-DYmB6Rbf.js} +1 -1
  133. package/web/assets/{interface-weather-moon.svg-BKrQgzTa.js → interface-weather-moon.svg-Cvj6_eNh.js} +1 -1
  134. package/web/assets/{javascript-DSFf_YjS.js → javascript-CY5caZva.js} +1 -1
  135. package/web/assets/{jsonMode-B2P8l1pU.js → jsonMode-rh9HaZkf.js} +1 -1
  136. package/web/assets/{liquid-B7MQ4Fsk.js → liquid-DlLRGYKU.js} +1 -1
  137. package/web/assets/{lspLanguageFeatures-C3FF6vUy.js → lspLanguageFeatures-CRnhy4bG.js} +1 -1
  138. package/web/assets/{mail-chat-bubble-square.svg-BloaVfp-.js → mail-chat-bubble-square.svg-BObGty59.js} +1 -1
  139. package/web/assets/{mail-send-email-paper-airplane.svg-B6ZIXm5P.js → mail-send-email-paper-airplane.svg-B5czr-hw.js} +1 -1
  140. package/web/assets/{mail-send-envelope.svg-DY5COScs.js → mail-send-envelope.svg-C37J2sdc.js} +1 -1
  141. package/web/assets/{mdx-C_WgJhu_.js → mdx-B3a8uTpN.js} +1 -1
  142. package/web/assets/{message-BHo4LcuI.js → message-CD325uOm.js} +1 -1
  143. package/web/assets/{minus-B_o0inoM.js → minus-Cl1s4nDX.js} +1 -1
  144. package/web/assets/{modal-DquH5DEK.js → modal-CU6Bnd1J.js} +1 -1
  145. package/web/assets/modal-DEWMc9tx.js +1 -0
  146. package/web/assets/{money-cashier-receipt.svg-oseoAVlB.js → money-cashier-receipt.svg-Cc8n6S0T.js} +1 -1
  147. package/web/assets/{money-currency-dollar-pay.svg-DcGijgHE.js → money-currency-dollar-pay.svg-C0_3kvpL.js} +1 -1
  148. package/web/assets/{money-graph-arrow-increase.svg-3ZRKzQXX.js → money-graph-arrow-increase.svg-woD8qioO.js} +1 -1
  149. package/web/assets/{money-graph-bar-chart-increase.svg-BrHE0FOy.js → money-graph-bar-chart-increase.svg-CSw1VAAV.js} +1 -1
  150. package/web/assets/{multiselect-CZCZtbEb.js → multiselect-BRGZ5fql.js} +1 -1
  151. package/web/assets/{nature-ecology-leaf.svg-DUFviPEE.js → nature-ecology-leaf.svg-CQP_HptW.js} +1 -1
  152. package/web/assets/{password-BTw05sQ2.js → password-CT6KZaXX.js} +1 -1
  153. package/web/assets/{phone-telephone.svg-NChbl8AZ.js → phone-telephone.svg-DdIEcJda.js} +1 -1
  154. package/web/assets/{plus-CYFRbMfZ.js → plus-CNb4vtRF.js} +1 -1
  155. package/web/assets/process.store-DS0H00M6.js +1 -0
  156. package/web/assets/{programming-bug.svg-BQnBdCsT.js → programming-bug.svg-b2e0hwhB.js} +1 -1
  157. package/web/assets/{programming-cloud.svg-CFurS7YD.js → programming-cloud.svg-2k-_lY2R.js} +1 -1
  158. package/web/assets/{programming-computer-database-server.svg-BCVSLupS.js → programming-computer-database-server.svg-CsVPAAB9.js} +1 -1
  159. package/web/assets/{programming-computer-database.svg-Durcs657.js → programming-computer-database.svg-CzCJ-cUE.js} +1 -1
  160. package/web/assets/{programming-module-four-layout.svg-C2j6c2b3.js → programming-module-four-layout.svg-D3tAGvjg.js} +1 -1
  161. package/web/assets/{programming-module-three.svg-Dl1mzila.js → programming-module-three.svg-Cgtxdkq9.js} +1 -1
  162. package/web/assets/{programming-module.svg-Ru5EdTBU.js → programming-module.svg-B1uuFp4W.js} +1 -1
  163. package/web/assets/{programming-script-code.svg-DcVa8zJ9.js → programming-script-code.svg-B4FKnqTv.js} +1 -1
  164. package/web/assets/{python-BykhsxRP.js → python-BObWJ8Hq.js} +1 -1
  165. package/web/assets/{razor-D_mR8RkO.js → razor-COigQ7gt.js} +1 -1
  166. package/web/assets/router-Di7VfiOq.js +1 -0
  167. package/web/assets/settings-scope-D3a6G9-2.js +1 -0
  168. package/web/assets/{settings.store-DOfmiAcW.js → settings.store-Dxshs2VQ.js} +1 -1
  169. package/web/assets/{shopping-cart.svg-B3H5uLw5.js → shopping-cart.svg-BuRDYcqM.js} +1 -1
  170. package/web/assets/{shopping-gift-present.svg-Iqn37pBP.js → shopping-gift-present.svg-h10DhCw1.js} +1 -1
  171. package/web/assets/{shopping-shipping-box-parcel-package.svg-BLFpdcWA.js → shopping-shipping-box-parcel-package.svg-Cj8fvF6E.js} +1 -1
  172. package/web/assets/{src-C_rj6jTS.js → src-CeD-dzB5.js} +1 -1
  173. package/web/assets/{src-BYh7ThU0.js → src-D83niZVs.js} +1 -1
  174. package/web/assets/{tabpanel-Bv4fRZzp.js → tabpanel-DguHvr4k.js} +1 -1
  175. package/web/assets/{tag-new-circle.svg-DIeLhows.js → tag-new-circle.svg-Zn07CrZt.js} +1 -1
  176. package/web/assets/{toggleswitch-BceT7a4p.js → toggleswitch-BGTO0eH4.js} +1 -1
  177. package/web/assets/{travel-map-earth-globe.svg-ZeztXqnU.js → travel-map-earth-globe.svg-B4LvrGwp.js} +1 -1
  178. package/web/assets/trpc-B3z_V0Ei.js +1 -0
  179. package/web/assets/{tsMode-SvRa8C_f.js → tsMode-Hh_YkITa.js} +1 -1
  180. package/web/assets/{typescript-CWqZ6okb.js → typescript-C9fyq61g.js} +1 -1
  181. package/web/assets/useAiChatDrawer-DvkZ7XYr.js +1 -0
  182. package/web/assets/{useCloudOrg-DdUm6wvu.js → useCloudOrg-Cn9VivVr.js} +1 -1
  183. package/web/assets/{useProjectCatalog-CvcCqyU7.js → useProjectCatalog-BTfFgYwA.js} +1 -1
  184. package/web/assets/{xml-CBOHM5vV.js → xml-DGE9ZlpR.js} +1 -1
  185. package/web/assets/{yaml-Ck5vZTNH.js → yaml-D4ibnYJa.js} +1 -1
  186. package/web/index.html +1 -1
  187. package/src-ETRPQHFP.js.map +0 -1
  188. package/web/assets/AiChatPage-B14vDmO-.js +0 -1
  189. package/web/assets/AppLayout-Cwizg1FV.js +0 -1
  190. package/web/assets/CloudAccountPage-CpSBW_If.js +0 -1
  191. package/web/assets/WikiPage-BnqPhEQ9.js +0 -1
  192. package/web/assets/auth-errors-DHq-tg-I.js +0 -1
  193. package/web/assets/interface-content-folder.svg-DiUdq9Xr.js +0 -1
  194. package/web/assets/modal-B-Sy97Tr.js +0 -1
  195. package/web/assets/process.store-ClHfDEKC.js +0 -1
  196. package/web/assets/router-DBBbiuoP.js +0 -1
  197. package/web/assets/settings-scope-BliiOU7-.js +0 -1
  198. package/web/assets/trpc-CilSj96H.js +0 -1
  199. package/web/assets/useAiChatDrawer-BWCsxZJK.js +0 -1
@@ -1 +1 @@
1
- import{$r as e,Ai as t,Ci as n,Jt as r,Mn as ee,Pi as i,Qt as te,Ta as a,Vn as o,Wt as s,Xt as c,Zi as l,Zr as u,Zt as d,ai as f,c as p,di as m,dn as h,ga as g,hn as _,ia as v,ii as y,jn as b,l as x,ni as S,oi as C,pi as w,ri as T,u as ne,ui as E,yn as D}from"./index-DQD0hOgi.js";import{t as O}from"./message-BHo4LcuI.js";import{t as k}from"./password-BTw05sQ2.js";import{t as A}from"./card-DEwOdoy7.js";import{t as j}from"./VersionBadge-D0-TBwlH.js";var M={class:`unlock-container`},N={class:`unlock-header`},P={class:`unlock-title`,"data-testid":`unlock-title`},F={class:`unlock-subtitle`},I={class:`field`},L={for:`masterPassword`},R={key:0,class:`field`},z={for:`encryptionKey`},B={class:`field-help`},V=_(w({__name:`UnlockPage`,setup(_){let w=ee(),V=b(),{t:H}=o(),U=x(),W=ne(),G=g(``),K=g(``),q=g(``),J=g(!1),Y=g(null),X=g(null);function Z(){n(()=>{(X.value?.$el?.querySelector(`input`))?.focus()})}let Q=S(()=>Y.value?.state===`setup`);t(async()=>{Z();try{Y.value=await r(),Y.value.state===`unlocked`&&await $()}catch{q.value=H(`unlockPage.serverUnreachable`)}});async function re(){q.value=``,J.value=!0;try{let e;if(Y.value?.state===`setup`){let t=Y.value.hasVerifyFile&&!Y.value.isLegacyMigration&&K.value||void 0;e=await d(G.value,t)}else e=await te(G.value);c(e),await p({loadPreferences:()=>W.loadPreferences(),initTrpcWs:s,startStatusStream:()=>U.startStatusStream()}),await $()}catch(e){q.value=e instanceof Error?e.message:H(`unlockPage.unknownError`),Z()}finally{J.value=!1}}async function $(){try{if((await r()).legacyVault){await w.push({name:`migrate-vault`});return}}catch{}let e=V.query.redirect;e&&e.startsWith(`/`)?await w.push(e):await w.push({name:`launch-project`})}return(t,n)=>(i(),C(`div`,M,[m(a(A),{class:`unlock-card`},{header:l(()=>[T(`div`,N,[T(`h1`,P,v(Q.value?a(H)(`unlockPage.titleSetup`):a(H)(`unlockPage.titleLocked`)),1),T(`p`,F,[Q.value&&Y.value?.isLegacyMigration?(i(),C(e,{key:0},[E(v(a(H)(`unlockPage.subtitleLegacyMigration`)),1)],64)):Q.value&&Y.value?.hasVerifyFile?(i(),C(e,{key:1},[E(v(a(H)(`unlockPage.subtitleHasVerifyFile`)),1)],64)):Q.value?(i(),C(e,{key:2},[E(v(a(H)(`unlockPage.subtitleSetup`)),1)],64)):(i(),C(e,{key:3},[E(v(a(H)(`unlockPage.subtitleUnlock`)),1)],64))])])]),content:l(()=>[T(`form`,{onSubmit:u(re,[`prevent`]),class:`unlock-form`},[T(`div`,I,[T(`label`,L,v(a(H)(`unlockPage.masterPasswordLabel`)),1),m(a(k),{ref_key:`passwordRef`,ref:X,id:`masterPassword`,"data-testid":`master-password-input`,modelValue:G.value,"onUpdate:modelValue":n[0]||=e=>G.value=e,feedback:Q.value,toggleMask:``,fluid:``,disabled:J.value,autocomplete:Q.value?`new-password`:`current-password`,placeholder:a(H)(`unlockPage.masterPasswordPlaceholder`)},null,8,[`modelValue`,`feedback`,`disabled`,`autocomplete`,`placeholder`])]),Q.value&&Y.value?.hasVerifyFile&&!Y.value?.isLegacyMigration?(i(),C(`div`,R,[T(`label`,z,v(a(H)(`unlockPage.encryptionKeyLabel`)),1),m(a(h),{id:`encryptionKey`,"data-testid":`encryption-key-input`,modelValue:K.value,"onUpdate:modelValue":n[1]||=e=>K.value=e,fluid:``,disabled:J.value,placeholder:a(H)(`unlockPage.encryptionKeyPlaceholder`),autocomplete:`off`},null,8,[`modelValue`,`disabled`,`placeholder`]),T(`small`,B,v(a(H)(`unlockPage.encryptionKeyHelp`)),1)])):f(``,!0),q.value?(i(),y(a(O),{key:1,severity:`error`,closable:!1,"data-testid":`unlock-error`},{default:l(()=>[E(v(q.value),1)]),_:1})):f(``,!0),Q.value?(i(),y(a(O),{key:2,severity:`info`,closable:!1,class:`machine-warning`},{default:l(()=>[E(v(a(H)(`unlockPage.machineWarning`)),1)]),_:1})):f(``,!0),m(a(D),{type:`submit`,"data-testid":`unlock-submit-btn`,label:J.value?a(H)(`unlockPage.pleaseWait`):Q.value?a(H)(`unlockPage.configure`):a(H)(`unlockPage.unlock`),disabled:J.value||!G.value,loading:J.value,fluid:``},null,8,[`label`,`disabled`,`loading`])],32)]),_:1}),m(j)]))}}),[[`__scopeId`,`data-v-b06081cf`]]);export{V as default};
1
+ import{$r as e,Ai as t,Ci as n,Jt as r,Mn as ee,Pi as i,Qt as te,Ta as a,Vn as o,Wt as s,Xt as c,Zi as l,Zr as u,Zt as d,ai as f,c as p,di as m,dn as h,ga as g,hn as _,ia as v,ii as y,jn as b,l as x,ni as S,oi as C,pi as w,ri as T,u as ne,ui as E,yn as D}from"./index-ChHZJigw.js";import{t as O}from"./message-CD325uOm.js";import{t as k}from"./password-CT6KZaXX.js";import{t as A}from"./card-wjkfdMj0.js";import{t as j}from"./VersionBadge-zIjq4iAX.js";var M={class:`unlock-container`},N={class:`unlock-header`},P={class:`unlock-title`,"data-testid":`unlock-title`},F={class:`unlock-subtitle`},I={class:`field`},L={for:`masterPassword`},R={key:0,class:`field`},z={for:`encryptionKey`},B={class:`field-help`},V=_(w({__name:`UnlockPage`,setup(_){let w=ee(),V=b(),{t:H}=o(),U=x(),W=ne(),G=g(``),K=g(``),q=g(``),J=g(!1),Y=g(null),X=g(null);function Z(){n(()=>{(X.value?.$el?.querySelector(`input`))?.focus()})}let Q=S(()=>Y.value?.state===`setup`);t(async()=>{Z();try{Y.value=await r(),Y.value.state===`unlocked`&&await $()}catch{q.value=H(`unlockPage.serverUnreachable`)}});async function re(){q.value=``,J.value=!0;try{let e;if(Y.value?.state===`setup`){let t=Y.value.hasVerifyFile&&!Y.value.isLegacyMigration&&K.value||void 0;e=await d(G.value,t)}else e=await te(G.value);c(e),await p({loadPreferences:()=>W.loadPreferences(),initTrpcWs:s,startStatusStream:()=>U.startStatusStream()}),await $()}catch(e){q.value=e instanceof Error?e.message:H(`unlockPage.unknownError`),Z()}finally{J.value=!1}}async function $(){try{if((await r()).legacyVault){await w.push({name:`migrate-vault`});return}}catch{}let e=V.query.redirect;e&&e.startsWith(`/`)?await w.push(e):await w.push({name:`launch-project`})}return(t,n)=>(i(),C(`div`,M,[m(a(A),{class:`unlock-card`},{header:l(()=>[T(`div`,N,[T(`h1`,P,v(Q.value?a(H)(`unlockPage.titleSetup`):a(H)(`unlockPage.titleLocked`)),1),T(`p`,F,[Q.value&&Y.value?.isLegacyMigration?(i(),C(e,{key:0},[E(v(a(H)(`unlockPage.subtitleLegacyMigration`)),1)],64)):Q.value&&Y.value?.hasVerifyFile?(i(),C(e,{key:1},[E(v(a(H)(`unlockPage.subtitleHasVerifyFile`)),1)],64)):Q.value?(i(),C(e,{key:2},[E(v(a(H)(`unlockPage.subtitleSetup`)),1)],64)):(i(),C(e,{key:3},[E(v(a(H)(`unlockPage.subtitleUnlock`)),1)],64))])])]),content:l(()=>[T(`form`,{onSubmit:u(re,[`prevent`]),class:`unlock-form`},[T(`div`,I,[T(`label`,L,v(a(H)(`unlockPage.masterPasswordLabel`)),1),m(a(k),{ref_key:`passwordRef`,ref:X,id:`masterPassword`,"data-testid":`master-password-input`,modelValue:G.value,"onUpdate:modelValue":n[0]||=e=>G.value=e,feedback:Q.value,toggleMask:``,fluid:``,disabled:J.value,autocomplete:Q.value?`new-password`:`current-password`,placeholder:a(H)(`unlockPage.masterPasswordPlaceholder`)},null,8,[`modelValue`,`feedback`,`disabled`,`autocomplete`,`placeholder`])]),Q.value&&Y.value?.hasVerifyFile&&!Y.value?.isLegacyMigration?(i(),C(`div`,R,[T(`label`,z,v(a(H)(`unlockPage.encryptionKeyLabel`)),1),m(a(h),{id:`encryptionKey`,"data-testid":`encryption-key-input`,modelValue:K.value,"onUpdate:modelValue":n[1]||=e=>K.value=e,fluid:``,disabled:J.value,placeholder:a(H)(`unlockPage.encryptionKeyPlaceholder`),autocomplete:`off`},null,8,[`modelValue`,`disabled`,`placeholder`]),T(`small`,B,v(a(H)(`unlockPage.encryptionKeyHelp`)),1)])):f(``,!0),q.value?(i(),y(a(O),{key:1,severity:`error`,closable:!1,"data-testid":`unlock-error`},{default:l(()=>[E(v(q.value),1)]),_:1})):f(``,!0),Q.value?(i(),y(a(O),{key:2,severity:`info`,closable:!1,class:`machine-warning`},{default:l(()=>[E(v(a(H)(`unlockPage.machineWarning`)),1)]),_:1})):f(``,!0),m(a(D),{type:`submit`,"data-testid":`unlock-submit-btn`,label:J.value?a(H)(`unlockPage.pleaseWait`):Q.value?a(H)(`unlockPage.configure`):a(H)(`unlockPage.unlock`),disabled:J.value||!G.value,loading:J.value,fluid:``},null,8,[`label`,`disabled`,`loading`])],32)]),_:1}),m(j)]))}}),[[`__scopeId`,`data-v-b06081cf`]]);export{V as default};
@@ -1 +1 @@
1
- import{$r as e,Ai as t,Ci as n,Ei as r,Ii as i,Ki as ee,Ln as te,Pi as a,Ta as o,Vn as ne,Zi as s,Zr as re,_n as c,ai as l,di as u,dn as d,ga as f,hn as p,ia as m,ii as h,jt as ie,ni as g,oi as _,pi as v,qi as ae,ra as y,ri as b,ta as x,ui as oe,un as S,yn as se}from"./index-DQD0hOgi.js";import{t as C}from"./message-BHo4LcuI.js";import{n as ce,t as w}from"./column-BaYEu-Xp.js";import{t as le}from"./toggleswitch-BceT7a4p.js";import{t as ue}from"./autocomplete-BoVkCZ3N.js";import{t as T}from"./uuid-BsA29kWk.js";var E={key:0,class:`env-badge`},D={class:`env-badge__name`},de=p(v({__name:`EnvironmentBadge`,props:{environmentId:{}},setup(e){let t=e,n=ie(),r=g(()=>n.getById(t.environmentId));function i(e){if(e)return e.startsWith(`#`)?e:`#${e}`}return(e,t)=>r.value?(a(),_(`span`,E,[b(`span`,{class:`env-badge__swatch`,style:y({backgroundColor:i(r.value.bgColor)||i(r.value.color)||`var(--p-primary-color)`})},null,4),b(`span`,D,m(r.value.name),1)])):l(``,!0)}}),[[`__scopeId`,`data-v-b70e647b`]]),O={class:`key-row`},k={class:`expansion-field expansion-field--key`},fe=[`for`],pe={key:2,class:`value-display`},me={key:0,class:`expansion-field expansion-field--toggle`},he={class:`expansion-label`,for:`varrow-secret`},ge={key:1,class:`expansion-field expansion-field--toggle`},_e=[`title`],ve={key:2,class:`key-row-delete`},ye={key:0,class:`not-secret-warning`},be={class:`expansion-section`},A={class:`section-title`},xe={class:`section-fields`},Se={class:`expansion-field expansion-field--prepost`},j={class:`expansion-label`,for:`varrow-prefix`},M={key:1,class:`value-display`},Ce={class:`expansion-field expansion-field--value`},we=[`for`],N={key:0,class:`secret-input-wrap`},P=[`disabled`],F=[`title`],Te={key:1,class:`value-display value-display--with-actions`},I={key:0,class:`value-actions`},Ee={key:0},L={key:1},De={class:`expansion-field expansion-field--prepost`},R={class:`expansion-label`,for:`varrow-suffix`},z={key:1,class:`value-display`},B={key:0,class:`preview-value`},Oe={key:0,class:`prepost-part prepost-part--pre`},ke={key:1,class:`prepost-part prepost-part--interpolation`},Ae={class:`prepost-part--value prepost-resolved-inline`},je=[`title`],Me={key:2,class:`prepost-part prepost-part--value`},Ne={key:3,class:`prepost-part prepost-part--post`},Pe={key:1,class:`expansion-section`},Fe={class:`section-header`},Ie={class:`section-title`},Le={class:`section-fields`},Re={class:`expansion-field expansion-field--prepost`},ze={class:`expansion-label`,for:`varrow-override-prefix`},Be={class:`expansion-field expansion-field--value`},V=[`for`],Ve={key:0,class:`secret-input-wrap`},He=[`disabled`],Ue=[`title`],We={class:`expansion-field expansion-field--prepost`},Ge={class:`expansion-label`,for:`varrow-override-suffix`},Ke={key:1,class:`override-view`},qe={key:0,class:`value-display--with-actions`},Je={class:`value-actions`},Ye={key:0,class:`override-value-masked`},Xe={key:1,class:`override-value`},Ze={key:1,class:`override-value`},Qe={key:1,class:`override-empty`},$e={key:0,class:`preview-value preview-value--override`},et={key:0,class:`prepost-part prepost-part--pre`},tt={key:1,class:`prepost-part prepost-part--interpolation`},nt={key:0,class:`prepost-part--value prepost-resolved-inline`},rt={key:2,class:`prepost-part prepost-part--value`},it={key:3,class:`prepost-part prepost-part--post`},at=p(v({__name:`VariableRowEditor`,props:{environmentId:{},variableId:{},overrides:{},editable:{type:Boolean,default:!0},showOverrides:{type:Boolean,default:!1},canEditSource:{type:Boolean,default:!1},showDelete:{type:Boolean,default:!0},showOverrideBadge:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},resolvedEnv:{default:()=>({})},autocompleteEnabled:{type:Boolean,default:!1},autocompleteSuggestions:{default:()=>[]},autocompleteMeta:{default:()=>({})},isPending:{type:Boolean,default:!1}},emits:[`deleted`,`saved`,`autocomplete-search`,`override-changed`,`edit-source`],setup(n,{emit:r}){let i=/^\{\{(.+)\}\}$/,ee=/^\{\{environment\.(.+)\}\}$/,s=n,c=r,p=ie(),v=te(),{t:y}=ne(),C=f(!1),ce=f(!1),w=f(!1),T=f(!1),E=f(!1),D=f(null);function de(e,t){navigator.clipboard.writeText(t),D.value=e,setTimeout(()=>{D.value===e&&(D.value=null)},1500)}let at=g(()=>p.getById(s.environmentId)?.variables?.[s.variableId]),H=f(``),U=f(``),W=f(``),G=f(``),K=f(!1),ot=f(!1),st=g(()=>Q(U.value)),q=g(()=>K.value&&!st.value);function ct(){let e=at.value;H.value=e?.key??``,U.value=e?.value?.value??``,W.value=e?.value?.pre??``,G.value=e?.value?.post??``,K.value=e?.value?.isSecret??!1,ot.value=e?.value?.injectIntoAi??!1}t(ct),ae(at,(e,t)=>{!t&&e&&ct()});let J=g(()=>s.overrides[s.variableId]??null),Y=f(``),X=f(``),Z=f(``);function lt(){let e=J.value;Y.value=e?.pre??``,X.value=e?.value??``,Z.value=e?.post??``}t(lt),ae(J,lt);function Q(e){return i.test(e)}function ut(e){let t=e.match(i);return t?t[1].replace(/^environment\./,``):e}function dt(e){let t=e.match(ee);return t?s.resolvedEnv[t[1]]??null:null}function ft(e){let t=e.value;H.value=t,U.value=`{{environment.${t}}}`,K.value=!1;let n=s.autocompleteMeta?.[t];n&&(W.value=n.pre,G.value=n.post),$()}async function $(){if(C.value)return;let e=H.value.trim();if(e){C.value=!0;try{await p.upsertVariable(s.environmentId,s.variableId,{key:e,value:{value:U.value,pre:W.value,post:G.value,isSecret:q.value,injectIntoAi:ot.value}}),s.isPending&&c(`saved`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.saveError`),life:4e3})}finally{C.value=!1}}}async function pt(){if(s.isPending){c(`deleted`);return}C.value=!0;try{J.value&&await p.removeOverride(s.variableId),await p.removeVariable(s.environmentId,s.variableId),c(`deleted`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.deleteError`),life:4e3})}finally{C.value=!1}}async function mt(){let e=Y.value||X.value||Z.value;try{if(!e){J.value&&(await p.removeOverride(s.variableId),c(`override-changed`));return}await p.setOverride(s.variableId,{value:{value:X.value,pre:Y.value,post:Z.value,isSecret:q.value}}),c(`override-changed`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.overrideError`),life:4e3})}}async function ht(){try{await p.removeOverride(s.variableId),c(`override-changed`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.clearOverrideError`),life:4e3})}}function gt(e){let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&$()}return(t,r)=>(a(),_(`div`,{class:`expansion-form`,onFocusout:gt},[b(`div`,O,[b(`div`,k,[b(`label`,{class:`expansion-label`,for:n.editable&&n.autocompleteEnabled?`varrow-key-ac`:`varrow-key-input`},m(o(y)(`common.key`)),9,fe),n.editable&&n.autocompleteEnabled?(a(),h(o(ue),{key:0,"input-id":`varrow-key-ac`,modelValue:H.value,"onUpdate:modelValue":r[0]||=e=>H.value=e,suggestions:n.autocompleteSuggestions,placeholder:o(y)(`variableRowEditor.variableNamePlaceholder`),class:`w-full`,disabled:n.disabled,onComplete:r[1]||=e=>c(`autocomplete-search`,e.query),onItemSelect:ft,onBlur:$},null,8,[`modelValue`,`suggestions`,`placeholder`,`disabled`])):n.editable?(a(),h(o(d),{key:1,id:`varrow-key-input`,modelValue:H.value,"onUpdate:modelValue":r[2]||=e=>H.value=e,placeholder:o(y)(`variableRowEditor.variableNamePlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`placeholder`,`disabled`])):(a(),_(`code`,pe,m(H.value),1))]),n.editable&&!st.value?(a(),_(`div`,me,[b(`label`,he,m(o(y)(`variableRowEditor.secret`)),1),u(o(le),{"input-id":`varrow-secret`,modelValue:K.value,"onUpdate:modelValue":[r[3]||=e=>K.value=e,$],disabled:n.disabled},null,8,[`modelValue`,`disabled`])])):l(``,!0),n.editable?(a(),_(`div`,ge,[b(`label`,{class:`expansion-label`,for:`varrow-injectai`,title:o(y)(`variableRowEditor.injectIntoAiHint`)},m(o(y)(`variableRowEditor.injectIntoAi`)),9,_e),u(o(le),{"input-id":`varrow-injectai`,modelValue:ot.value,"onUpdate:modelValue":[r[4]||=e=>ot.value=e,$],disabled:n.disabled},null,8,[`modelValue`,`disabled`])])):l(``,!0),n.showDelete&&n.editable?(a(),_(`div`,ve,[u(o(se),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:n.disabled||C.value,onClick:pt},null,8,[`disabled`])])):l(``,!0)]),n.editable&&!K.value&&!Q(U.value)?(a(),_(`div`,ye,[r[26]||=b(`i`,{class:`pi pi-info-circle`},null,-1),b(`span`,null,m(o(y)(`variableRowEditor.notSecretWarning`)),1)])):l(``,!0),b(`div`,be,[b(`div`,A,m(o(y)(`variableRowEditor.value`)),1),b(`div`,xe,[b(`div`,Se,[b(`label`,j,m(o(y)(`variableRowEditor.prefix`)),1),n.editable?(a(),h(o(d),{key:0,id:`varrow-prefix`,modelValue:W.value,"onUpdate:modelValue":r[5]||=e=>W.value=e,placeholder:o(y)(`variableRowEditor.prefixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`placeholder`,`disabled`])):(a(),_(`code`,M,m(W.value||`—`),1))]),b(`div`,Ce,[b(`label`,{class:`expansion-label`,for:q.value?`varrow-value-secret`:`varrow-value-plain`},m(o(y)(`variableRowEditor.value`)),9,we),n.editable?(a(),_(e,{key:0},[q.value?(a(),_(`div`,N,[u(o(d),{id:`varrow-value-secret`,modelValue:U.value,"onUpdate:modelValue":r[6]||=e=>U.value=e,type:T.value?`text`:`password`,placeholder:o(y)(`variableRowEditor.valuePlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`type`,`placeholder`,`disabled`]),b(`button`,{type:`button`,class:`secret-toggle`,disabled:n.disabled,onClick:r[7]||=e=>T.value=!T.value,tabindex:`-1`},[b(`i`,{class:x(T.value?`pi pi-eye-slash`:`pi pi-eye`)},null,2)],8,P)])):Q(U.value)&&!ce.value?(a(),_(`span`,{key:1,class:`interpolation-badge`,title:U.value,onClick:r[8]||=e=>ce.value=!0},[u(o(S),{severity:`secondary`,value:ut(U.value)},null,8,[`value`]),r[27]||=b(`i`,{class:`pi pi-pencil interpolation-edit-icon`},null,-1)],8,F)):(a(),h(o(d),{key:2,id:`varrow-value-plain`,modelValue:U.value,"onUpdate:modelValue":r[9]||=e=>U.value=e,placeholder:o(y)(`variableRowEditor.valuePlaceholder`),class:`w-full`,disabled:n.disabled,onFocus:r[10]||=e=>ce.value=!0,onBlur:r[11]||=e=>{ce.value=!1,$()}},null,8,[`modelValue`,`placeholder`,`disabled`]))],64)):(a(),_(`span`,Te,[U.value?(a(),_(`span`,I,[q.value?(a(),_(`i`,{key:0,class:x([T.value?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:r[12]||=e=>T.value=!T.value},null,2)):l(``,!0),b(`i`,{class:x([D.value===`val`?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:r[13]||=e=>de(`val`,W.value+U.value+G.value)},null,2)])):l(``,!0),Q(U.value)?(a(),h(o(S),{key:1,severity:`secondary`,value:ut(U.value)},null,8,[`value`])):q.value?(a(),_(e,{key:2},[T.value?(a(),_(`span`,L,m(U.value),1)):(a(),_(`span`,Ee,`***`))],64)):(a(),_(e,{key:3},[oe(m(U.value),1)],64))]))]),b(`div`,De,[b(`label`,R,m(o(y)(`variableRowEditor.suffix`)),1),n.editable?(a(),h(o(d),{key:0,id:`varrow-suffix`,modelValue:G.value,"onUpdate:modelValue":r[14]||=e=>G.value=e,placeholder:o(y)(`variableRowEditor.suffixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`placeholder`,`disabled`])):(a(),_(`code`,z,m(G.value||`—`),1))])]),q.value?l(``,!0):(a(),_(`code`,B,[W.value?(a(),_(`span`,Oe,m(W.value),1)):l(``,!0),Q(U.value)?(a(),_(`span`,ke,[dt(U.value)==null?(a(),_(e,{key:1},[u(o(S),{severity:`secondary`,value:ut(U.value),style:{"font-size":`0.7rem`}},null,8,[`value`]),r[28]||=b(`span`,{class:`prepost-unresolved`},`(?)`,-1)],64)):(a(),_(e,{key:0},[b(`span`,Ae,m(dt(U.value)),1),n.canEditSource?(a(),_(`i`,{key:0,class:`pi pi-pencil edit-source-icon`,title:o(y)(`variablesTable.editParentTitle`),onClick:r[15]||=re(e=>c(`edit-source`),[`stop`])},null,8,je)):l(``,!0)],64))])):(a(),_(`span`,Me,m(U.value||`…`),1)),G.value?(a(),_(`span`,Ne,m(G.value),1)):l(``,!0)]))]),n.showOverrides&&H.value?.trim()?(a(),_(`div`,Pe,[b(`div`,Fe,[b(`div`,Ie,m(o(y)(`variableRowEditor.localOverride`)),1),n.editable&&J.value?(a(),h(o(se),{key:0,icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`danger`,title:o(y)(`variableRowEditor.clearOverride`),disabled:n.disabled,onClick:ht},null,8,[`title`,`disabled`])):l(``,!0)]),b(`div`,Le,[n.editable?(a(),_(e,{key:0},[b(`div`,Re,[b(`label`,ze,m(o(y)(`variableRowEditor.prefix`)),1),u(o(d),{id:`varrow-override-prefix`,modelValue:Y.value,"onUpdate:modelValue":r[16]||=e=>Y.value=e,placeholder:o(y)(`variableRowEditor.prefixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:mt},null,8,[`modelValue`,`placeholder`,`disabled`])]),b(`div`,Be,[b(`label`,{class:`expansion-label`,for:q.value?`varrow-override-value-secret`:`varrow-override-value-plain`},m(o(y)(`variableRowEditor.value`)),9,V),q.value?(a(),_(`div`,Ve,[u(o(d),{id:`varrow-override-value-secret`,modelValue:X.value,"onUpdate:modelValue":r[17]||=e=>X.value=e,type:E.value?`text`:`password`,placeholder:o(y)(`variableRowEditor.overrideValuePlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:mt},null,8,[`modelValue`,`type`,`placeholder`,`disabled`]),b(`button`,{type:`button`,class:`secret-toggle`,disabled:n.disabled,onClick:r[18]||=e=>E.value=!E.value,tabindex:`-1`},[b(`i`,{class:x(E.value?`pi pi-eye-slash`:`pi pi-eye`)},null,2)],8,He)])):Q(X.value)&&!w.value?(a(),_(`span`,{key:1,class:`interpolation-badge`,title:X.value,onClick:r[19]||=e=>w.value=!0},[u(o(S),{severity:`secondary`,value:ut(X.value)},null,8,[`value`]),r[29]||=b(`i`,{class:`pi pi-pencil interpolation-edit-icon`},null,-1)],8,Ue)):(a(),h(o(d),{key:2,id:`varrow-override-value-plain`,modelValue:X.value,"onUpdate:modelValue":r[20]||=e=>X.value=e,placeholder:o(y)(`variableRowEditor.overrideValuePlaceholder`),class:`w-full`,disabled:n.disabled,onFocus:r[21]||=e=>w.value=!0,onBlur:r[22]||=e=>{w.value=!1,mt()}},null,8,[`modelValue`,`placeholder`,`disabled`]))]),b(`div`,We,[b(`label`,Ge,m(o(y)(`variableRowEditor.suffix`)),1),u(o(d),{id:`varrow-override-suffix`,modelValue:Z.value,"onUpdate:modelValue":r[23]||=e=>Z.value=e,placeholder:o(y)(`variableRowEditor.suffixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:mt},null,8,[`modelValue`,`placeholder`,`disabled`])])],64)):(a(),_(`div`,Ke,[J.value?(a(),_(`span`,qe,[b(`span`,Je,[q.value||J.value.isSecret?(a(),_(`i`,{key:0,class:x([E.value?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:r[24]||=e=>E.value=!E.value},null,2)):l(``,!0),b(`i`,{class:x([D.value===`ovr`?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:r[25]||=e=>de(`ovr`,J.value.pre+J.value.value+J.value.post)},null,2)]),q.value||J.value.isSecret?(a(),_(e,{key:0},[E.value?(a(),_(`code`,Xe,m(J.value.pre)+m(J.value.value)+m(J.value.post),1)):(a(),_(`span`,Ye,`***`))],64)):(a(),_(`code`,Ze,m(J.value.pre)+m(J.value.value)+m(J.value.post),1))])):(a(),_(`span`,Qe,`—`))]))]),n.editable&&!q.value&&(Y.value||X.value||Z.value)?(a(),_(`code`,$e,[Y.value?(a(),_(`span`,et,m(Y.value),1)):l(``,!0),Q(X.value)?(a(),_(`span`,tt,[dt(X.value)==null?(a(),_(e,{key:1},[u(o(S),{severity:`secondary`,value:ut(X.value),style:{"font-size":`0.7rem`}},null,8,[`value`]),r[30]||=b(`span`,{class:`prepost-unresolved`},`(?)`,-1)],64)):(a(),_(`span`,nt,m(dt(X.value)),1))])):(a(),_(`span`,rt,m(X.value||`…`),1)),Z.value?(a(),_(`span`,it,m(Z.value),1)):l(``,!0)])):l(``,!0)])):l(``,!0)],32))}}),[[`__scopeId`,`data-v-2a3078f4`]]),H={class:`table-toolbar`},U={key:0,class:`overrides-filter`},W={for:`overrides-filter`},G={class:`text-center py-4 text-gray-500`},K={class:`row-key-cell`},ot={class:`row-key-line`},st={class:`row-key`},q=[`title`],ct=[`title`],J={key:1,class:`resolved-from-line`},Y={class:`row-value`},X=[`title`,`onClick`],Z=[`title`,`onClick`],lt={key:1,class:`value-levels`},Q={class:`resolved-level`},ut={key:0,class:`secret-mask`},dt=[`title`],ft={key:0,class:`secret-mask`},$=[`title`],pt=[`title`],mt={key:6,class:`empty-value`},ht={key:0,class:`override-indicator`},gt=[`title`,`onClick`],_t=[`title`,`onClick`],vt={key:0,class:`override-value-masked`},yt=[`title`],bt=[`title`],xt={key:0,class:`parent-edit`},St={class:`parent-edit__field`},Ct={class:`parent-edit__label`,for:`parent-edit-value`},wt={class:`parent-edit__usages`},Tt={class:`parent-edit__usages-title`},Et={key:0,class:`parent-edit__usages-loading`},Dt={key:0,class:`parent-edit__usage-list`},Ot={class:`parent-edit__usage-env`},kt={key:0,class:`parent-edit__usage-svc`},At={key:1,class:`parent-edit__usages-empty`},jt=40,Mt=200,Nt=24,Pt=p(v({__name:`VariablesTable`,props:{environmentId:{},resolvedEnv:{default:()=>({})},sources:{default:()=>({})},editable:{type:Boolean,default:!0},showOverrides:{type:Boolean,default:!1},showOverrideBadge:{type:Boolean,default:!1},showDelete:{type:Boolean,default:!0},showAddButton:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},autocompleteEnabled:{type:Boolean,default:!1},autocompleteSuggestions:{default:()=>[]},autocompleteMeta:{default:()=>({})},serviceBuiltins:{},scrollHeight:{default:`auto`}},emits:[`autocomplete-search`,`variables-changed`],setup(p,{emit:v}){let ae=/^\{\{(.+)\}\}$/,y=/^\{\{environment\.(.+)\}\}$/,ue={"service.HOST_LAN":`(agent LAN IP)`},E=p,D=v,{t:O}=ne(),k=ie(),fe=g(()=>Object.keys(E.sources).length>0),pe=g(()=>Object.keys(E.resolvedEnv).length>0),me=ee(`rootRef`),he=f(null),ge=g(()=>E.scrollHeight===`auto`?he.value??`460px`:E.scrollHeight);function _e(){if(E.scrollHeight!==`auto`)return;let e=me.value;if(!e)return;let t=(e.querySelector(`.p-datatable-table-container`)??e).getBoundingClientRect().top,n=window.innerHeight-t-Nt;he.value=`${Math.max(Mt,Math.round(n))}px`}let ve=null;t(()=>{n(_e),window.addEventListener(`resize`,_e),typeof ResizeObserver<`u`&&me.value&&(ve=new ResizeObserver(()=>_e()),ve.observe(document.body))}),r(()=>{window.removeEventListener(`resize`,_e),ve?.disconnect(),ve=null});let ye=f(``),be=f(!1),A=f({});async function xe(){if(E.showOverrides)try{let e=await k.getOverrides(),t={};for(let[n,r]of Object.entries(e)){let e=r;t[n]={value:e.value.value,pre:e.value.pre,post:e.value.post,isSecret:e.value.isSecret}}A.value=t}catch{}}t(xe);let Se=g(()=>k.getById(E.environmentId));function j(e){return Se.value?.variables?.[e]}let M=f([]),Ce=g(()=>{let e=Object.keys(Se.value?.variables??{}).map(e=>({variableId:e})),t=new Set(e.map(e=>e.variableId)),n=M.value.filter(e=>!t.has(e)).map(e=>({variableId:e}));return[...e,...n]}),we=ee(`tableRef`),N=f({}),P=f([]),F=f(new Set);function Te(e){let t=new Set(F.value);t.has(e)?t.delete(e):t.add(e),F.value=t}let I=f(null);function Ee(e,t){navigator.clipboard.writeText(t),I.value=e,setTimeout(()=>{I.value===e&&(I.value=null)},1500)}function L(e){let t=j(e);if(!t)return``;let n=t.value?.value??``;return V(n)?He(n)??n:(t.value?.pre??``)+n+(t.value?.post??``)}let De=te(),R=f(null),z=f(!1),B=f(!1),Oe=f(!1),ke=0,Ae=f([]);async function je(e){let t=E.sources[e]?.resolvedFrom,n=j(e)?.value?.value??``;if(!t||!n)return;let r=Ve(n),i=k.getById(t.environmentId),ee=Object.entries(i?.variables??{}).find(([,e])=>e.key===r);if(!ee){De.add({severity:`warn`,summary:O(`variablesTable.editParentNotFound`),life:4e3});return}let[te,a]=ee;R.value={key:r,environmentId:t.environmentId,environmentName:t.environmentName,variableId:te,value:a.value?.value??``,pre:a.value?.pre??``,post:a.value?.post??``,isSecret:a.value?.isSecret??!1,injectIntoAi:a.value?.injectIntoAi??!1},Ae.value=[],z.value=!0,Me(r,t.environmentId)}async function Me(e,t){let n=++ke;Oe.value=!0;try{let r=k.currentProjectId;if(!r)return;let i=await k.keyUsages(r,e,t);if(n!==ke)return;Ae.value=[...i.inheritedBy.map(e=>({kind:`inherits`,environmentName:e.environmentName,...e.serviceName?{serviceName:e.serviceName}:{}})),...i.definedIn.map(e=>({kind:`defines`,environmentName:e.environmentName,...e.serviceName?{serviceName:e.serviceName}:{}})),...i.referencedBy.map(e=>({kind:`references`,environmentName:e.environmentName,...e.serviceName?{serviceName:e.serviceName}:{},viaKey:e.key}))]}catch{n===ke&&(Ae.value=[])}finally{n===ke&&(Oe.value=!1)}}async function Ne(){let e=R.value;if(e){B.value=!0;try{await k.upsertVariable(e.environmentId,e.variableId,{key:e.key,value:{value:e.value,pre:e.pre,post:e.post,isSecret:e.isSecret,injectIntoAi:e.injectIntoAi}}),z.value=!1,D(`variables-changed`)}catch(e){De.add({severity:`error`,summary:O(`common.error`),detail:e.message,life:4e3})}finally{B.value=!1}}}function Pe(e){let t=A.value[e];return t?t.pre+t.value+t.post:``}let Fe=g(()=>{let e=[...Ce.value];if(be.value&&(e=e.filter(e=>!!A.value[e.variableId])),ye.value.trim()){let t=ye.value.toLowerCase();e=e.filter(e=>{let n=j(e.variableId);if(!n)return!1;if(n.key.toLowerCase().includes(t)||(n.value?.value??``).toLowerCase().includes(t))return!0;let r=A.value[e.variableId];return!!(r&&r.value.toLowerCase().includes(t))})}return P.value.length>0?e.sort((e,t)=>{let n=P.value.indexOf(e.variableId),r=P.value.indexOf(t.variableId);return n===-1?1:r===-1?-1:n-r}):e.sort((e,t)=>{let n=j(e.variableId)?.key??``,r=j(t.variableId)?.key??``;return n?r?n.localeCompare(r):-1:1}),e});function Ie(e){let t=e.data.variableId;N.value[t]?(N.value={},P.value=[],Le(t)):(P.value=Fe.value.map(e=>e.variableId),N.value={[t]:!0})}function Le(e){n(()=>{let t=we.value?.$el;if(!t)return;let n=Fe.value.findIndex(t=>t.variableId===e);n<0||t.querySelectorAll(`tbody tr[data-p-index]`)[n]?.scrollIntoView({block:`nearest`,behavior:`smooth`})})}function Re(e){M.value=M.value.filter(t=>t!==e),N.value[e]&&(N.value={},P.value=[])}function ze(e){M.value=M.value.filter(t=>t!==e)}function Be(){let e=T();M.value=[...M.value,e],P.value=[...Ce.value.map(e=>e.variableId),e],n(()=>{N.value={[e]:!0},n(()=>{let e=document.querySelector(`.variables-expand-table .p-datatable-row-expansion:last-of-type`);e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})})})}function V(e){return ae.test(e)}function Ve(e){let t=e.match(ae);return t?t[1].replace(/^(?:environment|service)\./,``):e}function He(e){let t=e.match(y);if(t)return E.resolvedEnv[t[1]]??null;let n=e.match(ae);if(n){let e={...ue,...E.serviceBuiltins};if(n[1]in e)return e[n[1]]}return null}function Ue(e){return e.length<=jt?e:e.substring(0,jt)+`…`}return(t,n)=>(a(),_(e,null,[b(`div`,{ref_key:`rootRef`,ref:me,class:`variables-table`},[b(`div`,H,[u(o(d),{modelValue:ye.value,"onUpdate:modelValue":n[0]||=e=>ye.value=e,placeholder:`Search variables...`,class:`search-input`,size:`small`},null,8,[`modelValue`]),p.showOverrides?(a(),_(`div`,U,[u(o(le),{modelValue:be.value,"onUpdate:modelValue":n[1]||=e=>be.value=e,"input-id":`overrides-filter`},null,8,[`modelValue`]),b(`label`,W,m(o(O)(`variablesTable.overriddenOnly`)),1)])):l(``,!0)]),u(o(ce),{ref_key:`tableRef`,ref:we,"expanded-rows":N.value,"onUpdate:expandedRows":n[5]||=e=>N.value=e,value:Fe.value,"data-key":`variableId`,class:`p-datatable-sm variables-expand-table`,scrollable:``,"scroll-height":ge.value,onRowClick:Ie},{empty:s(()=>[b(`div`,G,m(p.showAddButton?o(O)(`variablesTable.empty`):o(O)(`variablesTable.emptyReadonly`)),1)]),expansion:s(({data:e})=>[u(at,{"environment-id":p.environmentId,"variable-id":e.variableId,overrides:A.value,editable:p.editable,"show-overrides":p.showOverrides,"show-delete":p.showDelete,"show-override-badge":p.showOverrideBadge,disabled:p.disabled,"resolved-env":p.resolvedEnv,"autocomplete-enabled":p.autocompleteEnabled,"autocomplete-suggestions":p.autocompleteSuggestions,"autocomplete-meta":p.autocompleteMeta,"is-pending":M.value.includes(e.variableId),onDeleted:t=>Re(e.variableId),onSaved:t=>ze(e.variableId),onAutocompleteSearch:n[4]||=e=>D(`autocomplete-search`,e),onOverrideChanged:xe,"can-edit-source":!!p.sources[e.variableId]?.resolvedFrom,onEditSource:t=>je(e.variableId)},null,8,[`environment-id`,`variable-id`,`overrides`,`editable`,`show-overrides`,`show-delete`,`show-override-badge`,`disabled`,`resolved-env`,`autocomplete-enabled`,`autocomplete-suggestions`,`autocomplete-meta`,`is-pending`,`onDeleted`,`onSaved`,`can-edit-source`,`onEditSource`])]),default:s(()=>[u(o(w),{expander:``,style:{width:`2.5rem`}}),u(o(w),{field:`variableId`,header:o(O)(`common.key`)},{body:s(({data:e})=>[b(`div`,K,[b(`span`,ot,[b(`code`,st,m(j(e.variableId)?.key||`(new variable)`),1),p.sources[e.variableId]?.overriddenBy?(a(),_(`span`,{key:0,class:`overridden-badge overridden-badge--local`,title:o(O)(`variablesTable.localOverrideTooltip`,{env:p.sources[e.variableId].overriddenBy.environmentName})},[n[9]||=b(`i`,{class:`pi pi-desktop`},null,-1),oe(` `+m(o(O)(`variablesTable.localOverride`)),1)],8,q)):p.showOverrideBadge&&p.sources[e.variableId]?.overridden&&!V(j(e.variableId)?.value?.value??``)?(a(),_(`span`,{key:1,class:`overridden-badge`,title:o(O)(`variablesTable.overrideTooltip`)},[n[10]||=b(`i`,{class:`pi pi-exclamation-triangle`},null,-1),oe(` `+m(o(O)(`variablesTable.override`)),1)],8,ct)):l(``,!0)]),fe.value&&p.sources[e.variableId]?(a(),h(de,{key:0,"environment-id":p.sources[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):l(``,!0),fe.value&&p.sources[e.variableId]?.resolvedFrom?(a(),_(`span`,J,[n[11]||=b(`i`,{class:`pi pi-arrow-right resolved-from-arrow`},null,-1),u(de,{"environment-id":p.sources[e.variableId].resolvedFrom.environmentId,class:`source-badge`},null,8,[`environment-id`])])):l(``,!0)])]),_:1},8,[`header`]),u(o(w),{header:o(O)(`common.value`)},{body:s(({data:t})=>[b(`span`,Y,[L(t.variableId)?(a(),_(`span`,{key:0,class:`value-actions`,onClick:n[2]||=re(()=>{},[`stop`])},[j(t.variableId)?.value?.isSecret?(a(),_(`i`,{key:0,class:x([F.value.has(t.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),title:o(O)(`variablesTable.reveal`),onClick:e=>Te(t.variableId)},null,10,X)):l(``,!0),b(`i`,{class:x([I.value===t.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),title:o(O)(`actions.copy`),onClick:e=>Ee(t.variableId,L(t.variableId))},null,10,Z)])):l(``,!0),V(j(t.variableId)?.value?.value??``)&&He(j(t.variableId)?.value?.value??``)!=null?(a(),_(`span`,lt,[u(o(S),{severity:`secondary`,value:Ve(j(t.variableId)?.value?.value??``),class:`interpolation-hint-tag`},null,8,[`value`]),b(`span`,Q,[j(t.variableId)?.value?.isSecret&&!F.value.has(t.variableId)?(a(),_(`span`,ut,`***`)):(a(),_(`code`,{key:1,class:`resolved-final`,title:He(j(t.variableId)?.value?.value??``)},m(Ue(He(j(t.variableId)?.value?.value??``))),9,dt))])])):V(j(t.variableId)?.value?.value??``)&&pe.value&&He(j(t.variableId)?.value?.value??``)==null?(a(),_(e,{key:2},[n[12]||=b(`i`,{class:`pi pi-exclamation-triangle unresolved-icon`},null,-1),u(o(S),{severity:`secondary`,value:Ve(j(t.variableId)?.value?.value??``)},null,8,[`value`]),n[13]||=b(`span`,{class:`unresolved-msg`},`Variable not found in this environment`,-1)],64)):V(j(t.variableId)?.value?.value??``)?(a(),h(o(S),{key:3,severity:`secondary`,value:Ve(j(t.variableId)?.value?.value??``)},null,8,[`value`])):j(t.variableId)?.value?.isSecret?(a(),_(e,{key:4},[F.value.has(t.variableId)?(a(),_(`code`,{key:1,title:L(t.variableId)},m(Ue(L(t.variableId))),9,$)):(a(),_(`span`,ft,`***`))],64)):j(t.variableId)?.value?.value||j(t.variableId)?.value?.pre||j(t.variableId)?.value?.post?(a(),_(`code`,{key:5,title:L(t.variableId)},m(Ue(L(t.variableId))),9,pt)):(a(),_(`span`,mt,`(empty)`))]),p.showOverrides&&!V(j(t.variableId)?.value?.value??``)&&A.value[t.variableId]?(a(),_(`span`,ht,[n[14]||=b(`i`,{class:`pi pi-arrow-right`,style:{"font-size":`0.7rem`}},null,-1),b(`span`,{class:`value-actions`,onClick:n[3]||=re(()=>{},[`stop`])},[j(t.variableId)?.value?.isSecret||A.value[t.variableId].isSecret?(a(),_(`i`,{key:0,class:x([F.value.has(`ovr:`+t.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),title:o(O)(`variablesTable.reveal`),onClick:e=>Te(`ovr:`+t.variableId)},null,10,gt)):l(``,!0),b(`i`,{class:x([I.value===`ovr:`+t.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),title:o(O)(`actions.copy`),onClick:e=>Ee(`ovr:`+t.variableId,Pe(t.variableId))},null,10,_t)]),j(t.variableId)?.value?.isSecret||A.value[t.variableId].isSecret?(a(),_(e,{key:0},[F.value.has(`ovr:`+t.variableId)?(a(),_(`code`,{key:1,class:`override-value`,title:Pe(t.variableId)},m(Ue(Pe(t.variableId))),9,yt)):(a(),_(`span`,vt,`***`))],64)):(a(),_(`code`,{key:1,class:`override-value`,title:Pe(t.variableId)},m(Ue(Pe(t.variableId))),9,bt))])):l(``,!0)]),_:1},8,[`header`])]),_:1},8,[`expanded-rows`,`value`,`scroll-height`]),p.showAddButton?(a(),h(o(se),{key:0,type:`button`,label:o(O)(`variablesTable.addVariable`),icon:`pi pi-plus`,text:``,disabled:p.disabled,class:`mt-3`,onClick:Be},null,8,[`label`,`disabled`])):l(``,!0)],512),u(o(c),{visible:z.value,"onUpdate:visible":n[8]||=e=>z.value=e,modal:``,header:o(O)(`variablesTable.editParentHeader`),style:{width:`38rem`,maxWidth:`95vw`}},{footer:s(()=>[u(o(se),{label:o(O)(`common.cancel`),text:``,disabled:B.value,onClick:n[7]||=e=>z.value=!1},null,8,[`label`,`disabled`]),u(o(se),{label:o(O)(`variablesTable.editParentConfirm`),severity:`warn`,loading:B.value,onClick:Ne},null,8,[`label`,`loading`])]),default:s(()=>[R.value?(a(),_(`div`,xt,[u(o(C),{severity:`warn`,closable:!1,class:`parent-edit__warning`},{default:s(()=>[oe(m(o(O)(`variablesTable.editParentWarning`,{key:R.value.key,env:R.value.environmentName})),1)]),_:1}),b(`div`,St,[b(`label`,Ct,m(o(O)(`common.value`)),1),u(o(d),{id:`parent-edit-value`,modelValue:R.value.value,"onUpdate:modelValue":n[6]||=e=>R.value.value=e,class:`w-full`,disabled:B.value},null,8,[`modelValue`,`disabled`])]),b(`div`,wt,[b(`div`,Tt,[n[15]||=b(`i`,{class:`pi pi-sitemap`},null,-1),oe(` `+m(o(O)(`variablesTable.editParentImpact`)),1)]),Oe.value?(a(),_(`div`,Et,[n[16]||=b(`i`,{class:`pi pi-spin pi-spinner`},null,-1),b(`span`,null,m(o(O)(`variablesTable.editParentLoading`)),1)])):(a(),_(e,{key:1},[Ae.value.length?(a(),_(`ul`,Dt,[(a(!0),_(e,null,i(Ae.value,(e,t)=>(a(),_(`li`,{key:t},[u(o(S),{severity:e.kind===`references`?`info`:`secondary`,value:e.kind===`references`?e.viaKey:e.kind===`inherits`?o(O)(`variablesTable.editParentInherits`):o(O)(`variablesTable.editParentDefines`)},null,8,[`severity`,`value`]),b(`span`,Ot,m(e.environmentName),1),e.serviceName?(a(),_(`span`,kt,m(e.serviceName),1)):l(``,!0)]))),128))])):(a(),_(`div`,At,m(o(O)(`variablesTable.editParentNoUsage`)),1))],64))])])):l(``,!0)]),_:1},8,[`visible`,`header`])],64))}}),[[`__scopeId`,`data-v-5af35db0`]]);export{de as n,Pt as t};
1
+ import{$r as e,Ai as t,Ci as n,Ei as r,Ii as i,Ki as ee,Ln as te,Pi as a,Ta as o,Vn as ne,Zi as s,Zr as re,_n as c,ai as l,di as u,dn as d,ga as f,hn as p,ia as m,ii as h,jt as ie,ni as g,oi as _,pi as v,qi as ae,ra as y,ri as b,ta as x,ui as oe,un as S,yn as se}from"./index-ChHZJigw.js";import{t as C}from"./message-CD325uOm.js";import{n as ce,t as w}from"./column-B7tQz83B.js";import{t as le}from"./toggleswitch-BGTO0eH4.js";import{t as ue}from"./autocomplete-D-6FU1t-.js";import{t as T}from"./uuid-BsA29kWk.js";var E={key:0,class:`env-badge`},D={class:`env-badge__name`},de=p(v({__name:`EnvironmentBadge`,props:{environmentId:{}},setup(e){let t=e,n=ie(),r=g(()=>n.getById(t.environmentId));function i(e){if(e)return e.startsWith(`#`)?e:`#${e}`}return(e,t)=>r.value?(a(),_(`span`,E,[b(`span`,{class:`env-badge__swatch`,style:y({backgroundColor:i(r.value.bgColor)||i(r.value.color)||`var(--p-primary-color)`})},null,4),b(`span`,D,m(r.value.name),1)])):l(``,!0)}}),[[`__scopeId`,`data-v-b70e647b`]]),O={class:`key-row`},k={class:`expansion-field expansion-field--key`},fe=[`for`],pe={key:2,class:`value-display`},me={key:0,class:`expansion-field expansion-field--toggle`},he={class:`expansion-label`,for:`varrow-secret`},ge={key:1,class:`expansion-field expansion-field--toggle`},_e=[`title`],ve={key:2,class:`key-row-delete`},ye={key:0,class:`not-secret-warning`},be={class:`expansion-section`},A={class:`section-title`},xe={class:`section-fields`},Se={class:`expansion-field expansion-field--prepost`},j={class:`expansion-label`,for:`varrow-prefix`},M={key:1,class:`value-display`},Ce={class:`expansion-field expansion-field--value`},we=[`for`],N={key:0,class:`secret-input-wrap`},P=[`disabled`],F=[`title`],Te={key:1,class:`value-display value-display--with-actions`},I={key:0,class:`value-actions`},Ee={key:0},L={key:1},De={class:`expansion-field expansion-field--prepost`},R={class:`expansion-label`,for:`varrow-suffix`},z={key:1,class:`value-display`},B={key:0,class:`preview-value`},Oe={key:0,class:`prepost-part prepost-part--pre`},ke={key:1,class:`prepost-part prepost-part--interpolation`},Ae={class:`prepost-part--value prepost-resolved-inline`},je=[`title`],Me={key:2,class:`prepost-part prepost-part--value`},Ne={key:3,class:`prepost-part prepost-part--post`},Pe={key:1,class:`expansion-section`},Fe={class:`section-header`},Ie={class:`section-title`},Le={class:`section-fields`},Re={class:`expansion-field expansion-field--prepost`},ze={class:`expansion-label`,for:`varrow-override-prefix`},Be={class:`expansion-field expansion-field--value`},V=[`for`],Ve={key:0,class:`secret-input-wrap`},He=[`disabled`],Ue=[`title`],We={class:`expansion-field expansion-field--prepost`},Ge={class:`expansion-label`,for:`varrow-override-suffix`},Ke={key:1,class:`override-view`},qe={key:0,class:`value-display--with-actions`},Je={class:`value-actions`},Ye={key:0,class:`override-value-masked`},Xe={key:1,class:`override-value`},Ze={key:1,class:`override-value`},Qe={key:1,class:`override-empty`},$e={key:0,class:`preview-value preview-value--override`},et={key:0,class:`prepost-part prepost-part--pre`},tt={key:1,class:`prepost-part prepost-part--interpolation`},nt={key:0,class:`prepost-part--value prepost-resolved-inline`},rt={key:2,class:`prepost-part prepost-part--value`},it={key:3,class:`prepost-part prepost-part--post`},at=p(v({__name:`VariableRowEditor`,props:{environmentId:{},variableId:{},overrides:{},editable:{type:Boolean,default:!0},showOverrides:{type:Boolean,default:!1},canEditSource:{type:Boolean,default:!1},showDelete:{type:Boolean,default:!0},showOverrideBadge:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},resolvedEnv:{default:()=>({})},autocompleteEnabled:{type:Boolean,default:!1},autocompleteSuggestions:{default:()=>[]},autocompleteMeta:{default:()=>({})},isPending:{type:Boolean,default:!1}},emits:[`deleted`,`saved`,`autocomplete-search`,`override-changed`,`edit-source`],setup(n,{emit:r}){let i=/^\{\{(.+)\}\}$/,ee=/^\{\{environment\.(.+)\}\}$/,s=n,c=r,p=ie(),v=te(),{t:y}=ne(),C=f(!1),ce=f(!1),w=f(!1),T=f(!1),E=f(!1),D=f(null);function de(e,t){navigator.clipboard.writeText(t),D.value=e,setTimeout(()=>{D.value===e&&(D.value=null)},1500)}let at=g(()=>p.getById(s.environmentId)?.variables?.[s.variableId]),H=f(``),U=f(``),W=f(``),G=f(``),K=f(!1),ot=f(!1),st=g(()=>Q(U.value)),q=g(()=>K.value&&!st.value);function ct(){let e=at.value;H.value=e?.key??``,U.value=e?.value?.value??``,W.value=e?.value?.pre??``,G.value=e?.value?.post??``,K.value=e?.value?.isSecret??!1,ot.value=e?.value?.injectIntoAi??!1}t(ct),ae(at,(e,t)=>{!t&&e&&ct()});let J=g(()=>s.overrides[s.variableId]??null),Y=f(``),X=f(``),Z=f(``);function lt(){let e=J.value;Y.value=e?.pre??``,X.value=e?.value??``,Z.value=e?.post??``}t(lt),ae(J,lt);function Q(e){return i.test(e)}function ut(e){let t=e.match(i);return t?t[1].replace(/^environment\./,``):e}function dt(e){let t=e.match(ee);return t?s.resolvedEnv[t[1]]??null:null}function ft(e){let t=e.value;H.value=t,U.value=`{{environment.${t}}}`,K.value=!1;let n=s.autocompleteMeta?.[t];n&&(W.value=n.pre,G.value=n.post),$()}async function $(){if(C.value)return;let e=H.value.trim();if(e){C.value=!0;try{await p.upsertVariable(s.environmentId,s.variableId,{key:e,value:{value:U.value,pre:W.value,post:G.value,isSecret:q.value,injectIntoAi:ot.value}}),s.isPending&&c(`saved`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.saveError`),life:4e3})}finally{C.value=!1}}}async function pt(){if(s.isPending){c(`deleted`);return}C.value=!0;try{J.value&&await p.removeOverride(s.variableId),await p.removeVariable(s.environmentId,s.variableId),c(`deleted`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.deleteError`),life:4e3})}finally{C.value=!1}}async function mt(){let e=Y.value||X.value||Z.value;try{if(!e){J.value&&(await p.removeOverride(s.variableId),c(`override-changed`));return}await p.setOverride(s.variableId,{value:{value:X.value,pre:Y.value,post:Z.value,isSecret:q.value}}),c(`override-changed`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.overrideError`),life:4e3})}}async function ht(){try{await p.removeOverride(s.variableId),c(`override-changed`)}catch(e){v.add({severity:`error`,summary:y(`common.error`),detail:e.message??y(`variableRowEditor.clearOverrideError`),life:4e3})}}function gt(e){let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&$()}return(t,r)=>(a(),_(`div`,{class:`expansion-form`,onFocusout:gt},[b(`div`,O,[b(`div`,k,[b(`label`,{class:`expansion-label`,for:n.editable&&n.autocompleteEnabled?`varrow-key-ac`:`varrow-key-input`},m(o(y)(`common.key`)),9,fe),n.editable&&n.autocompleteEnabled?(a(),h(o(ue),{key:0,"input-id":`varrow-key-ac`,modelValue:H.value,"onUpdate:modelValue":r[0]||=e=>H.value=e,suggestions:n.autocompleteSuggestions,placeholder:o(y)(`variableRowEditor.variableNamePlaceholder`),class:`w-full`,disabled:n.disabled,onComplete:r[1]||=e=>c(`autocomplete-search`,e.query),onItemSelect:ft,onBlur:$},null,8,[`modelValue`,`suggestions`,`placeholder`,`disabled`])):n.editable?(a(),h(o(d),{key:1,id:`varrow-key-input`,modelValue:H.value,"onUpdate:modelValue":r[2]||=e=>H.value=e,placeholder:o(y)(`variableRowEditor.variableNamePlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`placeholder`,`disabled`])):(a(),_(`code`,pe,m(H.value),1))]),n.editable&&!st.value?(a(),_(`div`,me,[b(`label`,he,m(o(y)(`variableRowEditor.secret`)),1),u(o(le),{"input-id":`varrow-secret`,modelValue:K.value,"onUpdate:modelValue":[r[3]||=e=>K.value=e,$],disabled:n.disabled},null,8,[`modelValue`,`disabled`])])):l(``,!0),n.editable?(a(),_(`div`,ge,[b(`label`,{class:`expansion-label`,for:`varrow-injectai`,title:o(y)(`variableRowEditor.injectIntoAiHint`)},m(o(y)(`variableRowEditor.injectIntoAi`)),9,_e),u(o(le),{"input-id":`varrow-injectai`,modelValue:ot.value,"onUpdate:modelValue":[r[4]||=e=>ot.value=e,$],disabled:n.disabled},null,8,[`modelValue`,`disabled`])])):l(``,!0),n.showDelete&&n.editable?(a(),_(`div`,ve,[u(o(se),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:n.disabled||C.value,onClick:pt},null,8,[`disabled`])])):l(``,!0)]),n.editable&&!K.value&&!Q(U.value)?(a(),_(`div`,ye,[r[26]||=b(`i`,{class:`pi pi-info-circle`},null,-1),b(`span`,null,m(o(y)(`variableRowEditor.notSecretWarning`)),1)])):l(``,!0),b(`div`,be,[b(`div`,A,m(o(y)(`variableRowEditor.value`)),1),b(`div`,xe,[b(`div`,Se,[b(`label`,j,m(o(y)(`variableRowEditor.prefix`)),1),n.editable?(a(),h(o(d),{key:0,id:`varrow-prefix`,modelValue:W.value,"onUpdate:modelValue":r[5]||=e=>W.value=e,placeholder:o(y)(`variableRowEditor.prefixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`placeholder`,`disabled`])):(a(),_(`code`,M,m(W.value||`—`),1))]),b(`div`,Ce,[b(`label`,{class:`expansion-label`,for:q.value?`varrow-value-secret`:`varrow-value-plain`},m(o(y)(`variableRowEditor.value`)),9,we),n.editable?(a(),_(e,{key:0},[q.value?(a(),_(`div`,N,[u(o(d),{id:`varrow-value-secret`,modelValue:U.value,"onUpdate:modelValue":r[6]||=e=>U.value=e,type:T.value?`text`:`password`,placeholder:o(y)(`variableRowEditor.valuePlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`type`,`placeholder`,`disabled`]),b(`button`,{type:`button`,class:`secret-toggle`,disabled:n.disabled,onClick:r[7]||=e=>T.value=!T.value,tabindex:`-1`},[b(`i`,{class:x(T.value?`pi pi-eye-slash`:`pi pi-eye`)},null,2)],8,P)])):Q(U.value)&&!ce.value?(a(),_(`span`,{key:1,class:`interpolation-badge`,title:U.value,onClick:r[8]||=e=>ce.value=!0},[u(o(S),{severity:`secondary`,value:ut(U.value)},null,8,[`value`]),r[27]||=b(`i`,{class:`pi pi-pencil interpolation-edit-icon`},null,-1)],8,F)):(a(),h(o(d),{key:2,id:`varrow-value-plain`,modelValue:U.value,"onUpdate:modelValue":r[9]||=e=>U.value=e,placeholder:o(y)(`variableRowEditor.valuePlaceholder`),class:`w-full`,disabled:n.disabled,onFocus:r[10]||=e=>ce.value=!0,onBlur:r[11]||=e=>{ce.value=!1,$()}},null,8,[`modelValue`,`placeholder`,`disabled`]))],64)):(a(),_(`span`,Te,[U.value?(a(),_(`span`,I,[q.value?(a(),_(`i`,{key:0,class:x([T.value?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:r[12]||=e=>T.value=!T.value},null,2)):l(``,!0),b(`i`,{class:x([D.value===`val`?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:r[13]||=e=>de(`val`,W.value+U.value+G.value)},null,2)])):l(``,!0),Q(U.value)?(a(),h(o(S),{key:1,severity:`secondary`,value:ut(U.value)},null,8,[`value`])):q.value?(a(),_(e,{key:2},[T.value?(a(),_(`span`,L,m(U.value),1)):(a(),_(`span`,Ee,`***`))],64)):(a(),_(e,{key:3},[oe(m(U.value),1)],64))]))]),b(`div`,De,[b(`label`,R,m(o(y)(`variableRowEditor.suffix`)),1),n.editable?(a(),h(o(d),{key:0,id:`varrow-suffix`,modelValue:G.value,"onUpdate:modelValue":r[14]||=e=>G.value=e,placeholder:o(y)(`variableRowEditor.suffixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:$},null,8,[`modelValue`,`placeholder`,`disabled`])):(a(),_(`code`,z,m(G.value||`—`),1))])]),q.value?l(``,!0):(a(),_(`code`,B,[W.value?(a(),_(`span`,Oe,m(W.value),1)):l(``,!0),Q(U.value)?(a(),_(`span`,ke,[dt(U.value)==null?(a(),_(e,{key:1},[u(o(S),{severity:`secondary`,value:ut(U.value),style:{"font-size":`0.7rem`}},null,8,[`value`]),r[28]||=b(`span`,{class:`prepost-unresolved`},`(?)`,-1)],64)):(a(),_(e,{key:0},[b(`span`,Ae,m(dt(U.value)),1),n.canEditSource?(a(),_(`i`,{key:0,class:`pi pi-pencil edit-source-icon`,title:o(y)(`variablesTable.editParentTitle`),onClick:r[15]||=re(e=>c(`edit-source`),[`stop`])},null,8,je)):l(``,!0)],64))])):(a(),_(`span`,Me,m(U.value||`…`),1)),G.value?(a(),_(`span`,Ne,m(G.value),1)):l(``,!0)]))]),n.showOverrides&&H.value?.trim()?(a(),_(`div`,Pe,[b(`div`,Fe,[b(`div`,Ie,m(o(y)(`variableRowEditor.localOverride`)),1),n.editable&&J.value?(a(),h(o(se),{key:0,icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`danger`,title:o(y)(`variableRowEditor.clearOverride`),disabled:n.disabled,onClick:ht},null,8,[`title`,`disabled`])):l(``,!0)]),b(`div`,Le,[n.editable?(a(),_(e,{key:0},[b(`div`,Re,[b(`label`,ze,m(o(y)(`variableRowEditor.prefix`)),1),u(o(d),{id:`varrow-override-prefix`,modelValue:Y.value,"onUpdate:modelValue":r[16]||=e=>Y.value=e,placeholder:o(y)(`variableRowEditor.prefixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:mt},null,8,[`modelValue`,`placeholder`,`disabled`])]),b(`div`,Be,[b(`label`,{class:`expansion-label`,for:q.value?`varrow-override-value-secret`:`varrow-override-value-plain`},m(o(y)(`variableRowEditor.value`)),9,V),q.value?(a(),_(`div`,Ve,[u(o(d),{id:`varrow-override-value-secret`,modelValue:X.value,"onUpdate:modelValue":r[17]||=e=>X.value=e,type:E.value?`text`:`password`,placeholder:o(y)(`variableRowEditor.overrideValuePlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:mt},null,8,[`modelValue`,`type`,`placeholder`,`disabled`]),b(`button`,{type:`button`,class:`secret-toggle`,disabled:n.disabled,onClick:r[18]||=e=>E.value=!E.value,tabindex:`-1`},[b(`i`,{class:x(E.value?`pi pi-eye-slash`:`pi pi-eye`)},null,2)],8,He)])):Q(X.value)&&!w.value?(a(),_(`span`,{key:1,class:`interpolation-badge`,title:X.value,onClick:r[19]||=e=>w.value=!0},[u(o(S),{severity:`secondary`,value:ut(X.value)},null,8,[`value`]),r[29]||=b(`i`,{class:`pi pi-pencil interpolation-edit-icon`},null,-1)],8,Ue)):(a(),h(o(d),{key:2,id:`varrow-override-value-plain`,modelValue:X.value,"onUpdate:modelValue":r[20]||=e=>X.value=e,placeholder:o(y)(`variableRowEditor.overrideValuePlaceholder`),class:`w-full`,disabled:n.disabled,onFocus:r[21]||=e=>w.value=!0,onBlur:r[22]||=e=>{w.value=!1,mt()}},null,8,[`modelValue`,`placeholder`,`disabled`]))]),b(`div`,We,[b(`label`,Ge,m(o(y)(`variableRowEditor.suffix`)),1),u(o(d),{id:`varrow-override-suffix`,modelValue:Z.value,"onUpdate:modelValue":r[23]||=e=>Z.value=e,placeholder:o(y)(`variableRowEditor.suffixPlaceholder`),class:`w-full`,disabled:n.disabled,onBlur:mt},null,8,[`modelValue`,`placeholder`,`disabled`])])],64)):(a(),_(`div`,Ke,[J.value?(a(),_(`span`,qe,[b(`span`,Je,[q.value||J.value.isSecret?(a(),_(`i`,{key:0,class:x([E.value?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:r[24]||=e=>E.value=!E.value},null,2)):l(``,!0),b(`i`,{class:x([D.value===`ovr`?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:r[25]||=e=>de(`ovr`,J.value.pre+J.value.value+J.value.post)},null,2)]),q.value||J.value.isSecret?(a(),_(e,{key:0},[E.value?(a(),_(`code`,Xe,m(J.value.pre)+m(J.value.value)+m(J.value.post),1)):(a(),_(`span`,Ye,`***`))],64)):(a(),_(`code`,Ze,m(J.value.pre)+m(J.value.value)+m(J.value.post),1))])):(a(),_(`span`,Qe,`—`))]))]),n.editable&&!q.value&&(Y.value||X.value||Z.value)?(a(),_(`code`,$e,[Y.value?(a(),_(`span`,et,m(Y.value),1)):l(``,!0),Q(X.value)?(a(),_(`span`,tt,[dt(X.value)==null?(a(),_(e,{key:1},[u(o(S),{severity:`secondary`,value:ut(X.value),style:{"font-size":`0.7rem`}},null,8,[`value`]),r[30]||=b(`span`,{class:`prepost-unresolved`},`(?)`,-1)],64)):(a(),_(`span`,nt,m(dt(X.value)),1))])):(a(),_(`span`,rt,m(X.value||`…`),1)),Z.value?(a(),_(`span`,it,m(Z.value),1)):l(``,!0)])):l(``,!0)])):l(``,!0)],32))}}),[[`__scopeId`,`data-v-2a3078f4`]]),H={class:`table-toolbar`},U={key:0,class:`overrides-filter`},W={for:`overrides-filter`},G={class:`text-center py-4 text-gray-500`},K={class:`row-key-cell`},ot={class:`row-key-line`},st={class:`row-key`},q=[`title`],ct=[`title`],J={key:1,class:`resolved-from-line`},Y={class:`row-value`},X=[`title`,`onClick`],Z=[`title`,`onClick`],lt={key:1,class:`value-levels`},Q={class:`resolved-level`},ut={key:0,class:`secret-mask`},dt=[`title`],ft={key:0,class:`secret-mask`},$=[`title`],pt=[`title`],mt={key:6,class:`empty-value`},ht={key:0,class:`override-indicator`},gt=[`title`,`onClick`],_t=[`title`,`onClick`],vt={key:0,class:`override-value-masked`},yt=[`title`],bt=[`title`],xt={key:0,class:`parent-edit`},St={class:`parent-edit__field`},Ct={class:`parent-edit__label`,for:`parent-edit-value`},wt={class:`parent-edit__usages`},Tt={class:`parent-edit__usages-title`},Et={key:0,class:`parent-edit__usages-loading`},Dt={key:0,class:`parent-edit__usage-list`},Ot={class:`parent-edit__usage-env`},kt={key:0,class:`parent-edit__usage-svc`},At={key:1,class:`parent-edit__usages-empty`},jt=40,Mt=200,Nt=24,Pt=p(v({__name:`VariablesTable`,props:{environmentId:{},resolvedEnv:{default:()=>({})},sources:{default:()=>({})},editable:{type:Boolean,default:!0},showOverrides:{type:Boolean,default:!1},showOverrideBadge:{type:Boolean,default:!1},showDelete:{type:Boolean,default:!0},showAddButton:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},autocompleteEnabled:{type:Boolean,default:!1},autocompleteSuggestions:{default:()=>[]},autocompleteMeta:{default:()=>({})},serviceBuiltins:{},scrollHeight:{default:`auto`}},emits:[`autocomplete-search`,`variables-changed`],setup(p,{emit:v}){let ae=/^\{\{(.+)\}\}$/,y=/^\{\{environment\.(.+)\}\}$/,ue={"service.HOST_LAN":`(agent LAN IP)`},E=p,D=v,{t:O}=ne(),k=ie(),fe=g(()=>Object.keys(E.sources).length>0),pe=g(()=>Object.keys(E.resolvedEnv).length>0),me=ee(`rootRef`),he=f(null),ge=g(()=>E.scrollHeight===`auto`?he.value??`460px`:E.scrollHeight);function _e(){if(E.scrollHeight!==`auto`)return;let e=me.value;if(!e)return;let t=(e.querySelector(`.p-datatable-table-container`)??e).getBoundingClientRect().top,n=window.innerHeight-t-Nt;he.value=`${Math.max(Mt,Math.round(n))}px`}let ve=null;t(()=>{n(_e),window.addEventListener(`resize`,_e),typeof ResizeObserver<`u`&&me.value&&(ve=new ResizeObserver(()=>_e()),ve.observe(document.body))}),r(()=>{window.removeEventListener(`resize`,_e),ve?.disconnect(),ve=null});let ye=f(``),be=f(!1),A=f({});async function xe(){if(E.showOverrides)try{let e=await k.getOverrides(),t={};for(let[n,r]of Object.entries(e)){let e=r;t[n]={value:e.value.value,pre:e.value.pre,post:e.value.post,isSecret:e.value.isSecret}}A.value=t}catch{}}t(xe);let Se=g(()=>k.getById(E.environmentId));function j(e){return Se.value?.variables?.[e]}let M=f([]),Ce=g(()=>{let e=Object.keys(Se.value?.variables??{}).map(e=>({variableId:e})),t=new Set(e.map(e=>e.variableId)),n=M.value.filter(e=>!t.has(e)).map(e=>({variableId:e}));return[...e,...n]}),we=ee(`tableRef`),N=f({}),P=f([]),F=f(new Set);function Te(e){let t=new Set(F.value);t.has(e)?t.delete(e):t.add(e),F.value=t}let I=f(null);function Ee(e,t){navigator.clipboard.writeText(t),I.value=e,setTimeout(()=>{I.value===e&&(I.value=null)},1500)}function L(e){let t=j(e);if(!t)return``;let n=t.value?.value??``;return V(n)?He(n)??n:(t.value?.pre??``)+n+(t.value?.post??``)}let De=te(),R=f(null),z=f(!1),B=f(!1),Oe=f(!1),ke=0,Ae=f([]);async function je(e){let t=E.sources[e]?.resolvedFrom,n=j(e)?.value?.value??``;if(!t||!n)return;let r=Ve(n),i=k.getById(t.environmentId),ee=Object.entries(i?.variables??{}).find(([,e])=>e.key===r);if(!ee){De.add({severity:`warn`,summary:O(`variablesTable.editParentNotFound`),life:4e3});return}let[te,a]=ee;R.value={key:r,environmentId:t.environmentId,environmentName:t.environmentName,variableId:te,value:a.value?.value??``,pre:a.value?.pre??``,post:a.value?.post??``,isSecret:a.value?.isSecret??!1,injectIntoAi:a.value?.injectIntoAi??!1},Ae.value=[],z.value=!0,Me(r,t.environmentId)}async function Me(e,t){let n=++ke;Oe.value=!0;try{let r=k.currentProjectId;if(!r)return;let i=await k.keyUsages(r,e,t);if(n!==ke)return;Ae.value=[...i.inheritedBy.map(e=>({kind:`inherits`,environmentName:e.environmentName,...e.serviceName?{serviceName:e.serviceName}:{}})),...i.definedIn.map(e=>({kind:`defines`,environmentName:e.environmentName,...e.serviceName?{serviceName:e.serviceName}:{}})),...i.referencedBy.map(e=>({kind:`references`,environmentName:e.environmentName,...e.serviceName?{serviceName:e.serviceName}:{},viaKey:e.key}))]}catch{n===ke&&(Ae.value=[])}finally{n===ke&&(Oe.value=!1)}}async function Ne(){let e=R.value;if(e){B.value=!0;try{await k.upsertVariable(e.environmentId,e.variableId,{key:e.key,value:{value:e.value,pre:e.pre,post:e.post,isSecret:e.isSecret,injectIntoAi:e.injectIntoAi}}),z.value=!1,D(`variables-changed`)}catch(e){De.add({severity:`error`,summary:O(`common.error`),detail:e.message,life:4e3})}finally{B.value=!1}}}function Pe(e){let t=A.value[e];return t?t.pre+t.value+t.post:``}let Fe=g(()=>{let e=[...Ce.value];if(be.value&&(e=e.filter(e=>!!A.value[e.variableId])),ye.value.trim()){let t=ye.value.toLowerCase();e=e.filter(e=>{let n=j(e.variableId);if(!n)return!1;if(n.key.toLowerCase().includes(t)||(n.value?.value??``).toLowerCase().includes(t))return!0;let r=A.value[e.variableId];return!!(r&&r.value.toLowerCase().includes(t))})}return P.value.length>0?e.sort((e,t)=>{let n=P.value.indexOf(e.variableId),r=P.value.indexOf(t.variableId);return n===-1?1:r===-1?-1:n-r}):e.sort((e,t)=>{let n=j(e.variableId)?.key??``,r=j(t.variableId)?.key??``;return n?r?n.localeCompare(r):-1:1}),e});function Ie(e){let t=e.data.variableId;N.value[t]?(N.value={},P.value=[],Le(t)):(P.value=Fe.value.map(e=>e.variableId),N.value={[t]:!0})}function Le(e){n(()=>{let t=we.value?.$el;if(!t)return;let n=Fe.value.findIndex(t=>t.variableId===e);n<0||t.querySelectorAll(`tbody tr[data-p-index]`)[n]?.scrollIntoView({block:`nearest`,behavior:`smooth`})})}function Re(e){M.value=M.value.filter(t=>t!==e),N.value[e]&&(N.value={},P.value=[])}function ze(e){M.value=M.value.filter(t=>t!==e)}function Be(){let e=T();M.value=[...M.value,e],P.value=[...Ce.value.map(e=>e.variableId),e],n(()=>{N.value={[e]:!0},n(()=>{let e=document.querySelector(`.variables-expand-table .p-datatable-row-expansion:last-of-type`);e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})})})}function V(e){return ae.test(e)}function Ve(e){let t=e.match(ae);return t?t[1].replace(/^(?:environment|service)\./,``):e}function He(e){let t=e.match(y);if(t)return E.resolvedEnv[t[1]]??null;let n=e.match(ae);if(n){let e={...ue,...E.serviceBuiltins};if(n[1]in e)return e[n[1]]}return null}function Ue(e){return e.length<=jt?e:e.substring(0,jt)+`…`}return(t,n)=>(a(),_(e,null,[b(`div`,{ref_key:`rootRef`,ref:me,class:`variables-table`},[b(`div`,H,[u(o(d),{modelValue:ye.value,"onUpdate:modelValue":n[0]||=e=>ye.value=e,placeholder:`Search variables...`,class:`search-input`,size:`small`},null,8,[`modelValue`]),p.showOverrides?(a(),_(`div`,U,[u(o(le),{modelValue:be.value,"onUpdate:modelValue":n[1]||=e=>be.value=e,"input-id":`overrides-filter`},null,8,[`modelValue`]),b(`label`,W,m(o(O)(`variablesTable.overriddenOnly`)),1)])):l(``,!0)]),u(o(ce),{ref_key:`tableRef`,ref:we,"expanded-rows":N.value,"onUpdate:expandedRows":n[5]||=e=>N.value=e,value:Fe.value,"data-key":`variableId`,class:`p-datatable-sm variables-expand-table`,scrollable:``,"scroll-height":ge.value,onRowClick:Ie},{empty:s(()=>[b(`div`,G,m(p.showAddButton?o(O)(`variablesTable.empty`):o(O)(`variablesTable.emptyReadonly`)),1)]),expansion:s(({data:e})=>[u(at,{"environment-id":p.environmentId,"variable-id":e.variableId,overrides:A.value,editable:p.editable,"show-overrides":p.showOverrides,"show-delete":p.showDelete,"show-override-badge":p.showOverrideBadge,disabled:p.disabled,"resolved-env":p.resolvedEnv,"autocomplete-enabled":p.autocompleteEnabled,"autocomplete-suggestions":p.autocompleteSuggestions,"autocomplete-meta":p.autocompleteMeta,"is-pending":M.value.includes(e.variableId),onDeleted:t=>Re(e.variableId),onSaved:t=>ze(e.variableId),onAutocompleteSearch:n[4]||=e=>D(`autocomplete-search`,e),onOverrideChanged:xe,"can-edit-source":!!p.sources[e.variableId]?.resolvedFrom,onEditSource:t=>je(e.variableId)},null,8,[`environment-id`,`variable-id`,`overrides`,`editable`,`show-overrides`,`show-delete`,`show-override-badge`,`disabled`,`resolved-env`,`autocomplete-enabled`,`autocomplete-suggestions`,`autocomplete-meta`,`is-pending`,`onDeleted`,`onSaved`,`can-edit-source`,`onEditSource`])]),default:s(()=>[u(o(w),{expander:``,style:{width:`2.5rem`}}),u(o(w),{field:`variableId`,header:o(O)(`common.key`)},{body:s(({data:e})=>[b(`div`,K,[b(`span`,ot,[b(`code`,st,m(j(e.variableId)?.key||`(new variable)`),1),p.sources[e.variableId]?.overriddenBy?(a(),_(`span`,{key:0,class:`overridden-badge overridden-badge--local`,title:o(O)(`variablesTable.localOverrideTooltip`,{env:p.sources[e.variableId].overriddenBy.environmentName})},[n[9]||=b(`i`,{class:`pi pi-desktop`},null,-1),oe(` `+m(o(O)(`variablesTable.localOverride`)),1)],8,q)):p.showOverrideBadge&&p.sources[e.variableId]?.overridden&&!V(j(e.variableId)?.value?.value??``)?(a(),_(`span`,{key:1,class:`overridden-badge`,title:o(O)(`variablesTable.overrideTooltip`)},[n[10]||=b(`i`,{class:`pi pi-exclamation-triangle`},null,-1),oe(` `+m(o(O)(`variablesTable.override`)),1)],8,ct)):l(``,!0)]),fe.value&&p.sources[e.variableId]?(a(),h(de,{key:0,"environment-id":p.sources[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):l(``,!0),fe.value&&p.sources[e.variableId]?.resolvedFrom?(a(),_(`span`,J,[n[11]||=b(`i`,{class:`pi pi-arrow-right resolved-from-arrow`},null,-1),u(de,{"environment-id":p.sources[e.variableId].resolvedFrom.environmentId,class:`source-badge`},null,8,[`environment-id`])])):l(``,!0)])]),_:1},8,[`header`]),u(o(w),{header:o(O)(`common.value`)},{body:s(({data:t})=>[b(`span`,Y,[L(t.variableId)?(a(),_(`span`,{key:0,class:`value-actions`,onClick:n[2]||=re(()=>{},[`stop`])},[j(t.variableId)?.value?.isSecret?(a(),_(`i`,{key:0,class:x([F.value.has(t.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),title:o(O)(`variablesTable.reveal`),onClick:e=>Te(t.variableId)},null,10,X)):l(``,!0),b(`i`,{class:x([I.value===t.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),title:o(O)(`actions.copy`),onClick:e=>Ee(t.variableId,L(t.variableId))},null,10,Z)])):l(``,!0),V(j(t.variableId)?.value?.value??``)&&He(j(t.variableId)?.value?.value??``)!=null?(a(),_(`span`,lt,[u(o(S),{severity:`secondary`,value:Ve(j(t.variableId)?.value?.value??``),class:`interpolation-hint-tag`},null,8,[`value`]),b(`span`,Q,[j(t.variableId)?.value?.isSecret&&!F.value.has(t.variableId)?(a(),_(`span`,ut,`***`)):(a(),_(`code`,{key:1,class:`resolved-final`,title:He(j(t.variableId)?.value?.value??``)},m(Ue(He(j(t.variableId)?.value?.value??``))),9,dt))])])):V(j(t.variableId)?.value?.value??``)&&pe.value&&He(j(t.variableId)?.value?.value??``)==null?(a(),_(e,{key:2},[n[12]||=b(`i`,{class:`pi pi-exclamation-triangle unresolved-icon`},null,-1),u(o(S),{severity:`secondary`,value:Ve(j(t.variableId)?.value?.value??``)},null,8,[`value`]),n[13]||=b(`span`,{class:`unresolved-msg`},`Variable not found in this environment`,-1)],64)):V(j(t.variableId)?.value?.value??``)?(a(),h(o(S),{key:3,severity:`secondary`,value:Ve(j(t.variableId)?.value?.value??``)},null,8,[`value`])):j(t.variableId)?.value?.isSecret?(a(),_(e,{key:4},[F.value.has(t.variableId)?(a(),_(`code`,{key:1,title:L(t.variableId)},m(Ue(L(t.variableId))),9,$)):(a(),_(`span`,ft,`***`))],64)):j(t.variableId)?.value?.value||j(t.variableId)?.value?.pre||j(t.variableId)?.value?.post?(a(),_(`code`,{key:5,title:L(t.variableId)},m(Ue(L(t.variableId))),9,pt)):(a(),_(`span`,mt,`(empty)`))]),p.showOverrides&&!V(j(t.variableId)?.value?.value??``)&&A.value[t.variableId]?(a(),_(`span`,ht,[n[14]||=b(`i`,{class:`pi pi-arrow-right`,style:{"font-size":`0.7rem`}},null,-1),b(`span`,{class:`value-actions`,onClick:n[3]||=re(()=>{},[`stop`])},[j(t.variableId)?.value?.isSecret||A.value[t.variableId].isSecret?(a(),_(`i`,{key:0,class:x([F.value.has(`ovr:`+t.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),title:o(O)(`variablesTable.reveal`),onClick:e=>Te(`ovr:`+t.variableId)},null,10,gt)):l(``,!0),b(`i`,{class:x([I.value===`ovr:`+t.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),title:o(O)(`actions.copy`),onClick:e=>Ee(`ovr:`+t.variableId,Pe(t.variableId))},null,10,_t)]),j(t.variableId)?.value?.isSecret||A.value[t.variableId].isSecret?(a(),_(e,{key:0},[F.value.has(`ovr:`+t.variableId)?(a(),_(`code`,{key:1,class:`override-value`,title:Pe(t.variableId)},m(Ue(Pe(t.variableId))),9,yt)):(a(),_(`span`,vt,`***`))],64)):(a(),_(`code`,{key:1,class:`override-value`,title:Pe(t.variableId)},m(Ue(Pe(t.variableId))),9,bt))])):l(``,!0)]),_:1},8,[`header`])]),_:1},8,[`expanded-rows`,`value`,`scroll-height`]),p.showAddButton?(a(),h(o(se),{key:0,type:`button`,label:o(O)(`variablesTable.addVariable`),icon:`pi pi-plus`,text:``,disabled:p.disabled,class:`mt-3`,onClick:Be},null,8,[`label`,`disabled`])):l(``,!0)],512),u(o(c),{visible:z.value,"onUpdate:visible":n[8]||=e=>z.value=e,modal:``,header:o(O)(`variablesTable.editParentHeader`),style:{width:`38rem`,maxWidth:`95vw`}},{footer:s(()=>[u(o(se),{label:o(O)(`common.cancel`),text:``,disabled:B.value,onClick:n[7]||=e=>z.value=!1},null,8,[`label`,`disabled`]),u(o(se),{label:o(O)(`variablesTable.editParentConfirm`),severity:`warn`,loading:B.value,onClick:Ne},null,8,[`label`,`loading`])]),default:s(()=>[R.value?(a(),_(`div`,xt,[u(o(C),{severity:`warn`,closable:!1,class:`parent-edit__warning`},{default:s(()=>[oe(m(o(O)(`variablesTable.editParentWarning`,{key:R.value.key,env:R.value.environmentName})),1)]),_:1}),b(`div`,St,[b(`label`,Ct,m(o(O)(`common.value`)),1),u(o(d),{id:`parent-edit-value`,modelValue:R.value.value,"onUpdate:modelValue":n[6]||=e=>R.value.value=e,class:`w-full`,disabled:B.value},null,8,[`modelValue`,`disabled`])]),b(`div`,wt,[b(`div`,Tt,[n[15]||=b(`i`,{class:`pi pi-sitemap`},null,-1),oe(` `+m(o(O)(`variablesTable.editParentImpact`)),1)]),Oe.value?(a(),_(`div`,Et,[n[16]||=b(`i`,{class:`pi pi-spin pi-spinner`},null,-1),b(`span`,null,m(o(O)(`variablesTable.editParentLoading`)),1)])):(a(),_(e,{key:1},[Ae.value.length?(a(),_(`ul`,Dt,[(a(!0),_(e,null,i(Ae.value,(e,t)=>(a(),_(`li`,{key:t},[u(o(S),{severity:e.kind===`references`?`info`:`secondary`,value:e.kind===`references`?e.viaKey:e.kind===`inherits`?o(O)(`variablesTable.editParentInherits`):o(O)(`variablesTable.editParentDefines`)},null,8,[`severity`,`value`]),b(`span`,Ot,m(e.environmentName),1),e.serviceName?(a(),_(`span`,kt,m(e.serviceName),1)):l(``,!0)]))),128))])):(a(),_(`div`,At,m(o(O)(`variablesTable.editParentNoUsage`)),1))],64))])])):l(``,!0)]),_:1},8,[`visible`,`header`])],64))}}),[[`__scopeId`,`data-v-5af35db0`]]);export{de as n,Pt as t};
@@ -1 +1 @@
1
- import{$r as e,$t as t,Ai as n,Ii as r,Jt as i,Mn as a,Mt as o,Pi as s,Ta as c,Vn as l,Zi as u,Zr as d,ai as f,di as p,ga as m,hn as h,ia as g,ii as _,oi as v,pi as y,ri as b,ui as x,yn as S}from"./index-DQD0hOgi.js";import{t as C}from"./message-BHo4LcuI.js";import{t as w}from"./password-BTw05sQ2.js";var T={class:`migration-page`,"data-testid":`page-content`},E={class:`migration-card`},D={class:`migration-title`,"data-testid":`vault-migration-title`},O={class:`migration-lead`},k={class:`migration-path`},A={for:`legacyMasterPassword`},j={class:`migration-report`},M={key:0},N={key:1,class:`migration-report__warn`},P={class:`migration-backup`},F=h(y({__name:`VaultMigrationPage`,setup(h){let y=a(),{t:F}=l(),I=m(null),L=m(``),R=m(!1),z=m(``),B=m(null);n(async()=>{try{I.value=(await i()).legacyVault??null,I.value||await y.replace({name:`launch-project`})}catch{z.value=F(`vaultMigration.statusError`)}});async function V(){if(L.value){R.value=!0,z.value=``;try{B.value=await t(L.value),L.value=``}catch(e){z.value=o(e)??F(`vaultMigration.failed`)}finally{R.value=!1}}}async function H(){await y.replace({name:`launch-project`})}return(t,n)=>(s(),v(`div`,T,[b(`div`,E,[b(`h1`,D,g(c(F)(`vaultMigration.title`)),1),B.value?(s(),v(e,{key:1},[p(c(C),{severity:`success`,closable:!1,"data-testid":`vault-migration-done`},{default:u(()=>[x(g(c(F)(`vaultMigration.done`)),1)]),_:1}),b(`ul`,j,[(s(!0),v(e,null,r(B.value.rekeyed,e=>(s(),v(`li`,{key:e.file},g(c(F)(`vaultMigration.rekeyed`,{file:e.file,count:e.values})),1))),128)),B.value.moved.length?(s(),v(`li`,M,g(c(F)(`vaultMigration.moved`,{files:B.value.moved.join(`, `)})),1)):f(``,!0),B.value.skipped.length?(s(),v(`li`,N,g(c(F)(`vaultMigration.skipped`,{files:B.value.skipped.join(`, `)})),1)):f(``,!0)]),b(`p`,P,[x(g(c(F)(`vaultMigration.backupKept`))+` `,1),b(`code`,null,g(B.value.backupDir),1)]),p(c(S),{"data-testid":`vault-migration-continue`,label:c(F)(`vaultMigration.continue`),onClick:H},null,8,[`label`])],64)):(s(),v(e,{key:0},[b(`p`,O,g(c(F)(`vaultMigration.lead`)),1),b(`p`,k,[b(`code`,null,g(I.value),1)]),p(c(C),{severity:`info`,closable:!1,class:`migration-note`},{default:u(()=>[x(g(c(F)(`vaultMigration.backupNote`)),1)]),_:1}),b(`form`,{class:`migration-form`,onSubmit:d(V,[`prevent`])},[b(`label`,A,g(c(F)(`vaultMigration.oldPasswordLabel`)),1),p(c(w),{id:`legacyMasterPassword`,modelValue:L.value,"onUpdate:modelValue":n[0]||=e=>L.value=e,"data-testid":`legacy-master-password-input`,feedback:!1,"toggle-mask":``,autocomplete:`current-password`,disabled:R.value,fluid:``},null,8,[`modelValue`,`disabled`]),z.value?(s(),_(c(C),{key:0,severity:`error`,closable:!1,"data-testid":`vault-migration-error`},{default:u(()=>[x(g(z.value),1)]),_:1})):f(``,!0),p(c(S),{type:`submit`,"data-testid":`vault-migration-submit`,label:R.value?c(F)(`vaultMigration.migrating`):c(F)(`vaultMigration.migrate`),loading:R.value,disabled:R.value||!L.value},null,8,[`label`,`loading`,`disabled`])],32)],64))])]))}}),[[`__scopeId`,`data-v-fb50c36e`]]);export{F as default};
1
+ import{$r as e,$t as t,Ai as n,Ii as r,Jt as i,Mn as a,Mt as o,Pi as s,Ta as c,Vn as l,Zi as u,Zr as d,ai as f,di as p,ga as m,hn as h,ia as g,ii as _,oi as v,pi as y,ri as b,ui as x,yn as S}from"./index-ChHZJigw.js";import{t as C}from"./message-CD325uOm.js";import{t as w}from"./password-CT6KZaXX.js";var T={class:`migration-page`,"data-testid":`page-content`},E={class:`migration-card`},D={class:`migration-title`,"data-testid":`vault-migration-title`},O={class:`migration-lead`},k={class:`migration-path`},A={for:`legacyMasterPassword`},j={class:`migration-report`},M={key:0},N={key:1,class:`migration-report__warn`},P={class:`migration-backup`},F=h(y({__name:`VaultMigrationPage`,setup(h){let y=a(),{t:F}=l(),I=m(null),L=m(``),R=m(!1),z=m(``),B=m(null);n(async()=>{try{I.value=(await i()).legacyVault??null,I.value||await y.replace({name:`launch-project`})}catch{z.value=F(`vaultMigration.statusError`)}});async function V(){if(L.value){R.value=!0,z.value=``;try{B.value=await t(L.value),L.value=``}catch(e){z.value=o(e)??F(`vaultMigration.failed`)}finally{R.value=!1}}}async function H(){await y.replace({name:`launch-project`})}return(t,n)=>(s(),v(`div`,T,[b(`div`,E,[b(`h1`,D,g(c(F)(`vaultMigration.title`)),1),B.value?(s(),v(e,{key:1},[p(c(C),{severity:`success`,closable:!1,"data-testid":`vault-migration-done`},{default:u(()=>[x(g(c(F)(`vaultMigration.done`)),1)]),_:1}),b(`ul`,j,[(s(!0),v(e,null,r(B.value.rekeyed,e=>(s(),v(`li`,{key:e.file},g(c(F)(`vaultMigration.rekeyed`,{file:e.file,count:e.values})),1))),128)),B.value.moved.length?(s(),v(`li`,M,g(c(F)(`vaultMigration.moved`,{files:B.value.moved.join(`, `)})),1)):f(``,!0),B.value.skipped.length?(s(),v(`li`,N,g(c(F)(`vaultMigration.skipped`,{files:B.value.skipped.join(`, `)})),1)):f(``,!0)]),b(`p`,P,[x(g(c(F)(`vaultMigration.backupKept`))+` `,1),b(`code`,null,g(B.value.backupDir),1)]),p(c(S),{"data-testid":`vault-migration-continue`,label:c(F)(`vaultMigration.continue`),onClick:H},null,8,[`label`])],64)):(s(),v(e,{key:0},[b(`p`,O,g(c(F)(`vaultMigration.lead`)),1),b(`p`,k,[b(`code`,null,g(I.value),1)]),p(c(C),{severity:`info`,closable:!1,class:`migration-note`},{default:u(()=>[x(g(c(F)(`vaultMigration.backupNote`)),1)]),_:1}),b(`form`,{class:`migration-form`,onSubmit:d(V,[`prevent`])},[b(`label`,A,g(c(F)(`vaultMigration.oldPasswordLabel`)),1),p(c(w),{id:`legacyMasterPassword`,modelValue:L.value,"onUpdate:modelValue":n[0]||=e=>L.value=e,"data-testid":`legacy-master-password-input`,feedback:!1,"toggle-mask":``,autocomplete:`current-password`,disabled:R.value,fluid:``},null,8,[`modelValue`,`disabled`]),z.value?(s(),_(c(C),{key:0,severity:`error`,closable:!1,"data-testid":`vault-migration-error`},{default:u(()=>[x(g(z.value),1)]),_:1})):f(``,!0),p(c(S),{type:`submit`,"data-testid":`vault-migration-submit`,label:R.value?c(F)(`vaultMigration.migrating`):c(F)(`vaultMigration.migrate`),loading:R.value,disabled:R.value||!L.value},null,8,[`label`,`loading`,`disabled`])],32)],64))])]))}}),[[`__scopeId`,`data-v-fb50c36e`]]);export{F as default};
@@ -1 +1 @@
1
- import{Ai as e,Kt as t,Pi as n,ai as r,ga as i,hn as a,ia as o,oi as s,pi as c}from"./index-DQD0hOgi.js";var l={key:0,class:`version-badge`,"data-testid":`version-badge`},u=a(c({__name:`VersionBadge`,setup(a){let c=i(``);return e(()=>{t.health.check.query().then(e=>{c.value=e.version}).catch(()=>{})}),(e,t)=>c.value?(n(),s(`span`,l,`v`+o(c.value),1)):r(``,!0)}}),[[`__scopeId`,`data-v-61dd6b89`]]);export{u as t};
1
+ import{Ai as e,Kt as t,Pi as n,ai as r,ga as i,hn as a,ia as o,oi as s,pi as c}from"./index-ChHZJigw.js";var l={key:0,class:`version-badge`,"data-testid":`version-badge`},u=a(c({__name:`VersionBadge`,setup(a){let c=i(``);return e(()=>{t.health.check.query().then(e=>{c.value=e.version}).catch(()=>{})}),(e,t)=>c.value?(n(),s(`span`,l,`v`+o(c.value),1)):r(``,!0)}}),[[`__scopeId`,`data-v-61dd6b89`]]);export{u as t};
@@ -0,0 +1 @@
1
+ import{Pi as e,ii as t,pi as n}from"./index-ChHZJigw.js";import"./src-D83niZVs.js";import"./w3c-keyname-9KQ-4XZl.js";import{t as r}from"./WikiView-BnCFtAdF.js";var i=n({__name:`WikiPage`,setup(n){return(n,i)=>(e(),t(r,{scope:`global`}))}});export{i as default};
@@ -1 +1 @@
1
- import{$r as e,Ai as t,Ei as n,Ii as r,In as i,Kt as a,Mn as o,Pi as s,Ri as c,Ta as l,Xr as u,Zi as d,Zr as f,_n as p,ai as m,di as h,dn as g,ga as _,hn as v,ia as y,ii as ee,ni as b,oi as x,pi as S,qi as te,ri as C,ta as w,ui as T,yn as E}from"./index-DQD0hOgi.js";import{t as ne}from"./src-BYh7ThU0.js";var re={class:`fs-node`},D=[`title`],O={class:`fs-node__name`},k=[`title`],A={class:`fs-node__name`},j={key:2,class:`fs-node__actions`},M={key:0,class:`fs-node__children`},ie=S({__name:`FsNode`,props:{entry:{},selectedPath:{},expanded:{},editable:{type:Boolean}},emits:[`toggle`,`select`,`create-child`,`rename`,`delete`],setup(t,{emit:n}){let i=t,a=n,o=b(()=>i.entry.type===`dir`&&i.expanded.has(i.entry.path)),l=b(()=>i.entry.type===`file`&&i.selectedPath===i.entry.path);return(n,i)=>{let u=c(`FsNode`,!0);return s(),x(`div`,re,[C(`div`,{class:w([`fs-node__row`,{"fs-node__row--selected":l.value}])},[t.entry.type===`dir`?(s(),x(`button`,{key:0,class:`fs-node__main`,title:t.entry.path,onClick:i[0]||=e=>a(`toggle`,t.entry.path)},[C(`i`,{class:w(`pi ${o.value?`pi-chevron-down`:`pi-chevron-right`} fs-node__caret`)},null,2),C(`i`,{class:w(`pi ${o.value?`pi-folder-open`:`pi-folder`} fs-node__icon fs-node__icon--folder`)},null,2),C(`span`,O,y(t.entry.name),1)],8,D)):(s(),x(`button`,{key:1,class:`fs-node__main`,title:t.entry.path,onClick:i[1]||=e=>a(`select`,t.entry.path)},[i[11]||=C(`span`,{class:`fs-node__caret-spacer`},null,-1),i[12]||=C(`i`,{class:`pi pi-file fs-node__icon`},null,-1),C(`span`,A,y(t.entry.name),1)],8,k)),t.editable?(s(),x(`div`,j,[t.entry.type===`dir`?(s(),x(`button`,{key:0,class:`fs-node__action`,title:`Nouveau fichier`,onClick:i[2]||=f(e=>a(`create-child`,t.entry.path,`file`),[`stop`])},[...i[13]||=[C(`i`,{class:`pi pi-file-plus`},null,-1)]])):m(``,!0),t.entry.type===`dir`?(s(),x(`button`,{key:1,class:`fs-node__action`,title:`Nouveau dossier`,onClick:i[3]||=f(e=>a(`create-child`,t.entry.path,`dir`),[`stop`])},[...i[14]||=[C(`i`,{class:`pi pi-folder-plus`},null,-1)]])):m(``,!0),C(`button`,{class:`fs-node__action`,title:`Renommer`,onClick:i[4]||=f(e=>a(`rename`,t.entry.path,t.entry.type===`dir`),[`stop`])},[...i[15]||=[C(`i`,{class:`pi pi-pencil`},null,-1)]]),C(`button`,{class:`fs-node__action fs-node__action--danger`,title:`Supprimer`,onClick:i[5]||=f(e=>a(`delete`,t.entry.path,t.entry.type===`dir`),[`stop`])},[...i[16]||=[C(`i`,{class:`pi pi-trash`},null,-1)]])])):m(``,!0)],2),t.entry.type===`dir`&&o.value?(s(),x(`ul`,M,[(s(!0),x(e,null,r(t.entry.children,e=>(s(),x(`li`,{key:e.path},[h(u,{entry:e,"selected-path":t.selectedPath,expanded:t.expanded,editable:t.editable,onToggle:i[6]||=e=>a(`toggle`,e),onSelect:i[7]||=e=>a(`select`,e),onCreateChild:i[8]||=(e,t)=>a(`create-child`,e,t),onRename:i[9]||=(e,t)=>a(`rename`,e,t),onDelete:i[10]||=(e,t)=>a(`delete`,e,t)},null,8,[`entry`,`selected-path`,`expanded`,`editable`])]))),128))])):m(``,!0)])}}}),ae={key:0,class:`wiki__not-configured`},oe={key:1,class:`wiki__not-configured`},se={key:0},ce={key:1},le={key:2,class:`wiki`},ue={class:`wiki__sidebar`},de={class:`wiki__sidebar-header`},fe=[`title`],pe={class:`wiki__sidebar-actions`},me={key:0,class:`wiki__loading`},he={key:1,class:`wiki__error`},ge={key:2,class:`wiki__empty`},_e={key:3,class:`wiki__tree`},ve={class:`wiki__main`},ye={class:`wiki__title-row`},be={class:`wiki__title-path`},xe={key:0,class:`wiki__status`},Se={key:0},Ce={key:1},we={key:2,class:`wiki__status-saved`},Te={key:1,class:`wiki__status wiki__status-readonly`},Ee={key:0,class:`wiki__editor-actions`},De={key:1,class:`wiki__loading`},Oe={key:1,class:`wiki__placeholder`},ke={class:`wiki__prompt-body`},Ae={for:`wiki-prompt-input`,class:`wiki__prompt-label`},je={class:`wiki__link-list`},Me=[`onClick`],Ne={class:`wiki__link-path`},Pe={key:0,class:`wiki__link-empty`},N=v(S({__name:`WikiView`,props:{scope:{}},setup(c){let v=o(),S=c,re=i(),D=_(``),O=_([]),k=_(!1),A=_(null),j=_(!1),M=_(null),N=_(!1),P=_(new Set),F=_(null),I=_(``),L=_(!1),R=_(!1),z=_(!1),B=null,V=``,Fe=_(null),H=_(!1),U=_(``),W=_({open:!1,title:``,label:``,value:``,placeholder:``,resolve:null});function Ie(e){return new Promise(t=>{W.value={open:!0,title:e.title,label:e.label,value:e.initialValue??``,placeholder:e.placeholder??``,resolve:t}})}function Le(){let e=W.value.value.trim();W.value.resolve?.(e||null),W.value.open=!1}function G(){W.value.resolve?.(null),W.value.open=!1}let Re=b(()=>{let e=[],t=n=>{for(let r of n)r.type===`file`?e.push({path:r.path,name:r.name}):t(r.children)};return t(O.value),e}),ze=b(()=>{let e=U.value.trim().toLowerCase();return Re.value.filter(e=>e.path!==F.value).filter(t=>!e||t.path.toLowerCase().includes(e))});async function K(){k.value=!0,A.value=null,j.value=!1,M.value=null;try{let e=await a.wiki.list.query({scope:S.scope});D.value=e.root,O.value=e.entries}catch(e){let t=e.message;if(/Aucun dossier de docs|globalDocsPath|docsPath|Aucun cwd/i.test(t))j.value=!0;else{let e=t.match(/Dossier introuvable:\s*(.+)$/);e?M.value=e[1].trim():A.value=t}}finally{k.value=!1}}async function Be(){N.value=!0;try{await a.wiki.ensureRoot.mutate({scope:S.scope}),M.value=null,await K()}catch(e){A.value=e.message}finally{N.value=!1}}let q=b(()=>S.scope===`global`),Ve=b(()=>S.scope.startsWith(`service:`)),He=b(()=>Ve.value?S.scope.slice(8):null);function Ue(){q.value?v.push({name:`settings`,query:{section:`general`}}):He.value&&v.push(`/services/${He.value}/config?configTab=general`)}function We(e){P.value.has(e)?P.value.delete(e):P.value.add(e),P.value=new Set(P.value)}async function J(e){X(),z.value=!1,F.value=e,L.value=!0,I.value=``;try{let t=await a.wiki.read.query({scope:S.scope,path:e});I.value=t.content,V=t.content;let n=e.split(`/`);for(n.pop();n.length;)P.value.add(n.join(`/`)),n.pop();P.value=new Set(P.value)}catch(e){A.value=e.message}finally{L.value=!1}}function Ge(){B&&clearTimeout(B),B=setTimeout(()=>{Y()},800)}async function Y(){if(!F.value||I.value===V)return;let e=F.value,t=I.value;R.value=!0;try{await a.wiki.write.mutate({scope:S.scope,path:e,content:t}),V=t}catch(e){A.value=e.message}finally{R.value=!1}}function X(){B&&(clearTimeout(B),B=null,Y())}te(I,()=>{F.value&&z.value&&Ge()});function Ke(){z.value?(X(),z.value=!1):z.value=!0}async function Z(e,t){let n=await Ie({title:t===`file`?`Nouveau fichier`:`Nouveau dossier`,label:t===`file`?`Nom du fichier (sans extension)`:`Nom du dossier`,initialValue:t===`file`?`nouveau`:`nouveau-dossier`});if(!n)return;let r=n.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!r)return;let i=t===`file`&&!/\.(md|markdown)$/i.test(r)?`${r}.md`:r,o=e?`${e}/${i}`:i;try{t===`file`?(await a.wiki.createFile.mutate({scope:S.scope,path:o}),await K(),J(o)):(await a.wiki.createDir.mutate({scope:S.scope,path:o}),P.value.add(o),P.value=new Set(P.value),await K())}catch(e){A.value=e.message}}async function qe(e,t){let n=e.split(`/`),r=n[n.length-1],i=await Ie({title:`Renommer`,label:`Nouveau nom`,initialValue:r});if(!i||i===r)return;let o=i.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!o)return;let s=!t&&!/\.(md|markdown)$/i.test(o)?`${o}.md`:o;n[n.length-1]=s;let c=n.join(`/`);try{await a.wiki.rename.mutate({scope:S.scope,fromPath:e,toPath:c}),F.value===e&&(F.value=c),await K()}catch(e){A.value=e.message}}function Je(e,t){re.require({message:`Supprimer "${e}" ${t?`(et tout son contenu)`:``} ?`,header:`Confirmation`,icon:`pi pi-exclamation-triangle`,rejectProps:{label:`Annuler`,severity:`secondary`,outlined:!0},acceptProps:{label:`Supprimer`,severity:`danger`},accept:async()=>{try{await a.wiki.delete.mutate({scope:S.scope,path:e}),(F.value===e||t&&F.value?.startsWith(e+`/`))&&(F.value=null,I.value=``),await K()}catch(e){A.value=e.message}}})}function Ye(){U.value=``,H.value=!0}function Xe(e){let t=Ze(F.value??``,e.path);Fe.value?.insertWikiLink?.(t,e.name.replace(/\.(md|markdown)$/i,``)),H.value=!1}function Ze(e,t){let n=e.split(`/`);n.pop();let r=t.split(`/`),i=0;for(;i<n.length&&i<r.length-1&&n[i]===r[i];)i++;let a=n.length-i,o=r.slice(i);return(a===0?`./`:`../`.repeat(a))+o.join(`/`)}function Qe(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`mailto:`)){window.open(e,`_blank`,`noopener,noreferrer`);return}if(e.startsWith(`#`)||!/\.(md|markdown)(#|\?|$)/i.test(e))return;let t=e.split(`#`)[0].split(`?`)[0],n=$e(F.value??``,t);Re.value.some(e=>e.path===n)?J(n):A.value=`Fichier introuvable: ${n}`}function $e(e,t){if(t.startsWith(`/`))return t.replace(/^\/+/,``);let n=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)).split(`/`).filter(Boolean):[];for(let e of t.split(`/`))e===``||e===`.`||(e===`..`?n.pop():n.push(e));return n.join(`/`)}function Q(){F.value&&J(F.value)}function $(){document.visibilityState===`visible`&&Q()}return te(()=>S.scope,()=>{F.value=null,I.value=``,O.value=[],K()}),t(()=>{K(),window.addEventListener(`focus`,Q),document.addEventListener(`visibilitychange`,$)}),n(()=>{X(),window.removeEventListener(`focus`,Q),document.removeEventListener(`visibilitychange`,$)}),(t,n)=>M.value?(s(),x(`div`,ae,[n[8]||=C(`i`,{class:`pi pi-folder-open wiki__not-configured-icon`},null,-1),n[9]||=C(`h2`,null,`Le dossier de documentation n'existe pas encore`,-1),C(`p`,null,[n[7]||=T(` Chemin attendu : `,-1),C(`code`,null,y(M.value),1)]),h(l(E),{icon:`pi pi-plus`,label:`Créer le dossier`,loading:N.value,onClick:Be},null,8,[`loading`])])):j.value?(s(),x(`div`,oe,[n[11]||=C(`i`,{class:`pi pi-cog wiki__not-configured-icon`},null,-1),C(`h2`,null,y(q.value?`Wiki global non configuré`:`Documentation du service non configurée`),1),q.value?(s(),x(`p`,se,` Le wiki global a besoin d'un chemin absolu vers un dossier sur disque pour fonctionner. `)):(s(),x(`p`,ce,[...n[10]||=[T(` Ce service n'a pas de `,-1),C(`code`,null,`cwd`,-1),T(` ni de `,-1),C(`code`,null,`docsPath`,-1),T(` renseigné. `,-1)]])),h(l(E),{icon:`pi pi-arrow-right`,label:q.value?`Configurer le wiki global`:`Configurer le service`,onClick:Ue},null,8,[`label`])])):(s(),x(`div`,le,[C(`aside`,ue,[C(`div`,de,[C(`span`,{class:`wiki__sidebar-title`,title:D.value},y(D.value||`Pages`),9,fe),C(`div`,pe,[h(l(E),{icon:`pi pi-folder-plus`,size:`small`,text:``,rounded:``,title:`Nouveau dossier racine`,onClick:n[0]||=e=>Z(``,`dir`)}),h(l(E),{icon:`pi pi-file-plus`,size:`small`,text:``,rounded:``,title:`Nouveau fichier racine`,onClick:n[1]||=e=>Z(``,`file`)}),h(l(E),{icon:`pi pi-refresh`,size:`small`,text:``,rounded:``,title:`Rafraîchir`,onClick:K})])]),k.value?(s(),x(`div`,me,`Chargement…`)):A.value?(s(),x(`div`,he,y(A.value),1)):O.value.length===0?(s(),x(`div`,ge,` Aucun fichier. Utilisez les boutons en haut pour créer un fichier ou un dossier. `)):(s(),x(`ul`,_e,[(s(!0),x(e,null,r(O.value,e=>(s(),x(`li`,{key:e.path},[h(ie,{entry:e,"selected-path":F.value,expanded:P.value,editable:!0,onToggle:We,onSelect:J,onCreateChild:Z,onRename:qe,onDelete:Je},null,8,[`entry`,`selected-path`,`expanded`])]))),128))]))]),C(`section`,ve,[F.value?(s(),x(e,{key:0},[C(`div`,ye,[n[16]||=C(`i`,{class:`pi pi-file wiki__title-icon`},null,-1),C(`span`,be,y(F.value),1),z.value?(s(),x(`span`,xe,[R.value?(s(),x(`span`,Se,[...n[12]||=[C(`i`,{class:`pi pi-spin pi-spinner`},null,-1),T(` Sauvegarde…`,-1)]])):I.value===l(V)?(s(),x(`span`,we,[...n[14]||=[C(`i`,{class:`pi pi-check`},null,-1),T(` Sauvegardé`,-1)]])):(s(),x(`span`,Ce,[...n[13]||=[C(`i`,{class:`pi pi-circle-fill wiki__status-pending`},null,-1),T(` Modifié`,-1)]]))])):(s(),x(`span`,Te,[...n[15]||=[C(`i`,{class:`pi pi-eye`},null,-1),T(` Lecture seule `,-1)]])),h(l(E),{icon:z.value?`pi pi-check`:`pi pi-pencil`,label:z.value?`Terminer`:`Modifier`,size:`small`,severity:z.value?`success`:`secondary`,outlined:!z.value,onClick:Ke},null,8,[`icon`,`label`,`severity`,`outlined`]),h(l(E),{icon:`pi pi-refresh`,size:`small`,text:``,rounded:``,title:`Recharger depuis le disque`,loading:L.value,onClick:Q},null,8,[`loading`])]),z.value?(s(),x(`div`,Ee,[h(l(E),{icon:`pi pi-link`,label:`Lier un fichier`,size:`small`,text:``,onClick:Ye})])):m(``,!0),L.value?(s(),x(`div`,De,`Chargement du fichier…`)):(s(),ee(l(ne),{key:2,ref_key:`editorRef`,ref:Fe,modelValue:I.value,"onUpdate:modelValue":n[2]||=e=>I.value=e,markdown:``,editable:z.value,class:w([`wiki__editor`,{"wiki__editor--readonly":!z.value}]),placeholder:`Écrivez le contenu de la page…`,onLinkClick:Qe},null,8,[`modelValue`,`editable`,`class`]))],64)):(s(),x(`div`,Oe,[...n[17]||=[C(`i`,{class:`pi pi-book wiki__placeholder-icon`},null,-1),C(`p`,null,`Sélectionnez un fichier ou créez-en un nouveau.`,-1)]]))]),h(l(p),{visible:W.value.open,"onUpdate:visible":n[4]||=e=>W.value.open=e,header:W.value.title,modal:``,style:{width:`420px`},"close-on-escape":!0,onHide:G},{footer:d(()=>[h(l(E),{label:`Annuler`,severity:`secondary`,outlined:``,size:`small`,onClick:G}),h(l(E),{label:`OK`,size:`small`,disabled:!W.value.value.trim(),onClick:Le},null,8,[`disabled`])]),default:d(()=>[C(`div`,ke,[C(`label`,Ae,y(W.value.label),1),h(l(g),{id:`wiki-prompt-input`,modelValue:W.value.value,"onUpdate:modelValue":n[3]||=e=>W.value.value=e,class:`wiki__prompt-input`,placeholder:W.value.placeholder,autofocus:``,onKeydown:[u(f(Le,[`prevent`]),[`enter`]),u(G,[`escape`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),h(l(p),{visible:H.value,"onUpdate:visible":n[6]||=e=>H.value=e,header:`Insérer un lien vers un fichier`,modal:``,style:{width:`500px`}},{default:d(()=>[h(l(g),{modelValue:U.value,"onUpdate:modelValue":n[5]||=e=>U.value=e,placeholder:`Rechercher un fichier…`,class:`wiki__link-search`,autofocus:``},null,8,[`modelValue`]),C(`div`,je,[(s(!0),x(e,null,r(ze.value,e=>(s(),x(`button`,{key:e.path,class:`wiki__link-item`,onClick:t=>Xe(e)},[n[18]||=C(`i`,{class:`pi pi-file`},null,-1),C(`span`,Ne,y(e.path),1)],8,Me))),128)),ze.value.length===0?(s(),x(`div`,Pe,` Aucun fichier disponible. `)):m(``,!0)])]),_:1},8,[`visible`])]))}}),[[`__scopeId`,`data-v-10f9637d`]]);export{N as t};
1
+ import{$r as e,Ai as t,Ei as n,Ii as r,In as i,Kt as a,Mn as o,Pi as s,Ri as c,Ta as l,Xr as u,Zi as d,Zr as f,_n as p,ai as m,di as h,dn as g,ga as _,hn as v,ia as y,ii as ee,ni as b,oi as x,pi as S,qi as te,ri as C,ta as w,ui as T,yn as E}from"./index-ChHZJigw.js";import{t as ne}from"./src-D83niZVs.js";var re={class:`fs-node`},D=[`title`],O={class:`fs-node__name`},k=[`title`],A={class:`fs-node__name`},j={key:2,class:`fs-node__actions`},M={key:0,class:`fs-node__children`},ie=S({__name:`FsNode`,props:{entry:{},selectedPath:{},expanded:{},editable:{type:Boolean}},emits:[`toggle`,`select`,`create-child`,`rename`,`delete`],setup(t,{emit:n}){let i=t,a=n,o=b(()=>i.entry.type===`dir`&&i.expanded.has(i.entry.path)),l=b(()=>i.entry.type===`file`&&i.selectedPath===i.entry.path);return(n,i)=>{let u=c(`FsNode`,!0);return s(),x(`div`,re,[C(`div`,{class:w([`fs-node__row`,{"fs-node__row--selected":l.value}])},[t.entry.type===`dir`?(s(),x(`button`,{key:0,class:`fs-node__main`,title:t.entry.path,onClick:i[0]||=e=>a(`toggle`,t.entry.path)},[C(`i`,{class:w(`pi ${o.value?`pi-chevron-down`:`pi-chevron-right`} fs-node__caret`)},null,2),C(`i`,{class:w(`pi ${o.value?`pi-folder-open`:`pi-folder`} fs-node__icon fs-node__icon--folder`)},null,2),C(`span`,O,y(t.entry.name),1)],8,D)):(s(),x(`button`,{key:1,class:`fs-node__main`,title:t.entry.path,onClick:i[1]||=e=>a(`select`,t.entry.path)},[i[11]||=C(`span`,{class:`fs-node__caret-spacer`},null,-1),i[12]||=C(`i`,{class:`pi pi-file fs-node__icon`},null,-1),C(`span`,A,y(t.entry.name),1)],8,k)),t.editable?(s(),x(`div`,j,[t.entry.type===`dir`?(s(),x(`button`,{key:0,class:`fs-node__action`,title:`Nouveau fichier`,onClick:i[2]||=f(e=>a(`create-child`,t.entry.path,`file`),[`stop`])},[...i[13]||=[C(`i`,{class:`pi pi-file-plus`},null,-1)]])):m(``,!0),t.entry.type===`dir`?(s(),x(`button`,{key:1,class:`fs-node__action`,title:`Nouveau dossier`,onClick:i[3]||=f(e=>a(`create-child`,t.entry.path,`dir`),[`stop`])},[...i[14]||=[C(`i`,{class:`pi pi-folder-plus`},null,-1)]])):m(``,!0),C(`button`,{class:`fs-node__action`,title:`Renommer`,onClick:i[4]||=f(e=>a(`rename`,t.entry.path,t.entry.type===`dir`),[`stop`])},[...i[15]||=[C(`i`,{class:`pi pi-pencil`},null,-1)]]),C(`button`,{class:`fs-node__action fs-node__action--danger`,title:`Supprimer`,onClick:i[5]||=f(e=>a(`delete`,t.entry.path,t.entry.type===`dir`),[`stop`])},[...i[16]||=[C(`i`,{class:`pi pi-trash`},null,-1)]])])):m(``,!0)],2),t.entry.type===`dir`&&o.value?(s(),x(`ul`,M,[(s(!0),x(e,null,r(t.entry.children,e=>(s(),x(`li`,{key:e.path},[h(u,{entry:e,"selected-path":t.selectedPath,expanded:t.expanded,editable:t.editable,onToggle:i[6]||=e=>a(`toggle`,e),onSelect:i[7]||=e=>a(`select`,e),onCreateChild:i[8]||=(e,t)=>a(`create-child`,e,t),onRename:i[9]||=(e,t)=>a(`rename`,e,t),onDelete:i[10]||=(e,t)=>a(`delete`,e,t)},null,8,[`entry`,`selected-path`,`expanded`,`editable`])]))),128))])):m(``,!0)])}}}),ae={key:0,class:`wiki__not-configured`},oe={key:1,class:`wiki__not-configured`},se={key:0},ce={key:1},le={key:2,class:`wiki`},ue={class:`wiki__sidebar`},de={class:`wiki__sidebar-header`},fe=[`title`],pe={class:`wiki__sidebar-actions`},me={key:0,class:`wiki__loading`},he={key:1,class:`wiki__error`},ge={key:2,class:`wiki__empty`},_e={key:3,class:`wiki__tree`},ve={class:`wiki__main`},ye={class:`wiki__title-row`},be={class:`wiki__title-path`},xe={key:0,class:`wiki__status`},Se={key:0},Ce={key:1},we={key:2,class:`wiki__status-saved`},Te={key:1,class:`wiki__status wiki__status-readonly`},Ee={key:0,class:`wiki__editor-actions`},De={key:1,class:`wiki__loading`},Oe={key:1,class:`wiki__placeholder`},ke={class:`wiki__prompt-body`},Ae={for:`wiki-prompt-input`,class:`wiki__prompt-label`},je={class:`wiki__link-list`},Me=[`onClick`],Ne={class:`wiki__link-path`},Pe={key:0,class:`wiki__link-empty`},N=v(S({__name:`WikiView`,props:{scope:{}},setup(c){let v=o(),S=c,re=i(),D=_(``),O=_([]),k=_(!1),A=_(null),j=_(!1),M=_(null),N=_(!1),P=_(new Set),F=_(null),I=_(``),L=_(!1),R=_(!1),z=_(!1),B=null,V=``,Fe=_(null),H=_(!1),U=_(``),W=_({open:!1,title:``,label:``,value:``,placeholder:``,resolve:null});function Ie(e){return new Promise(t=>{W.value={open:!0,title:e.title,label:e.label,value:e.initialValue??``,placeholder:e.placeholder??``,resolve:t}})}function Le(){let e=W.value.value.trim();W.value.resolve?.(e||null),W.value.open=!1}function G(){W.value.resolve?.(null),W.value.open=!1}let Re=b(()=>{let e=[],t=n=>{for(let r of n)r.type===`file`?e.push({path:r.path,name:r.name}):t(r.children)};return t(O.value),e}),ze=b(()=>{let e=U.value.trim().toLowerCase();return Re.value.filter(e=>e.path!==F.value).filter(t=>!e||t.path.toLowerCase().includes(e))});async function K(){k.value=!0,A.value=null,j.value=!1,M.value=null;try{let e=await a.wiki.list.query({scope:S.scope});D.value=e.root,O.value=e.entries}catch(e){let t=e.message;if(/Aucun dossier de docs|globalDocsPath|docsPath|Aucun cwd/i.test(t))j.value=!0;else{let e=t.match(/Dossier introuvable:\s*(.+)$/);e?M.value=e[1].trim():A.value=t}}finally{k.value=!1}}async function Be(){N.value=!0;try{await a.wiki.ensureRoot.mutate({scope:S.scope}),M.value=null,await K()}catch(e){A.value=e.message}finally{N.value=!1}}let q=b(()=>S.scope===`global`),Ve=b(()=>S.scope.startsWith(`service:`)),He=b(()=>Ve.value?S.scope.slice(8):null);function Ue(){q.value?v.push({name:`settings`,query:{section:`general`}}):He.value&&v.push(`/services/${He.value}/config?configTab=general`)}function We(e){P.value.has(e)?P.value.delete(e):P.value.add(e),P.value=new Set(P.value)}async function J(e){X(),z.value=!1,F.value=e,L.value=!0,I.value=``;try{let t=await a.wiki.read.query({scope:S.scope,path:e});I.value=t.content,V=t.content;let n=e.split(`/`);for(n.pop();n.length;)P.value.add(n.join(`/`)),n.pop();P.value=new Set(P.value)}catch(e){A.value=e.message}finally{L.value=!1}}function Ge(){B&&clearTimeout(B),B=setTimeout(()=>{Y()},800)}async function Y(){if(!F.value||I.value===V)return;let e=F.value,t=I.value;R.value=!0;try{await a.wiki.write.mutate({scope:S.scope,path:e,content:t}),V=t}catch(e){A.value=e.message}finally{R.value=!1}}function X(){B&&(clearTimeout(B),B=null,Y())}te(I,()=>{F.value&&z.value&&Ge()});function Ke(){z.value?(X(),z.value=!1):z.value=!0}async function Z(e,t){let n=await Ie({title:t===`file`?`Nouveau fichier`:`Nouveau dossier`,label:t===`file`?`Nom du fichier (sans extension)`:`Nom du dossier`,initialValue:t===`file`?`nouveau`:`nouveau-dossier`});if(!n)return;let r=n.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!r)return;let i=t===`file`&&!/\.(md|markdown)$/i.test(r)?`${r}.md`:r,o=e?`${e}/${i}`:i;try{t===`file`?(await a.wiki.createFile.mutate({scope:S.scope,path:o}),await K(),J(o)):(await a.wiki.createDir.mutate({scope:S.scope,path:o}),P.value.add(o),P.value=new Set(P.value),await K())}catch(e){A.value=e.message}}async function qe(e,t){let n=e.split(`/`),r=n[n.length-1],i=await Ie({title:`Renommer`,label:`Nouveau nom`,initialValue:r});if(!i||i===r)return;let o=i.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!o)return;let s=!t&&!/\.(md|markdown)$/i.test(o)?`${o}.md`:o;n[n.length-1]=s;let c=n.join(`/`);try{await a.wiki.rename.mutate({scope:S.scope,fromPath:e,toPath:c}),F.value===e&&(F.value=c),await K()}catch(e){A.value=e.message}}function Je(e,t){re.require({message:`Supprimer "${e}" ${t?`(et tout son contenu)`:``} ?`,header:`Confirmation`,icon:`pi pi-exclamation-triangle`,rejectProps:{label:`Annuler`,severity:`secondary`,outlined:!0},acceptProps:{label:`Supprimer`,severity:`danger`},accept:async()=>{try{await a.wiki.delete.mutate({scope:S.scope,path:e}),(F.value===e||t&&F.value?.startsWith(e+`/`))&&(F.value=null,I.value=``),await K()}catch(e){A.value=e.message}}})}function Ye(){U.value=``,H.value=!0}function Xe(e){let t=Ze(F.value??``,e.path);Fe.value?.insertWikiLink?.(t,e.name.replace(/\.(md|markdown)$/i,``)),H.value=!1}function Ze(e,t){let n=e.split(`/`);n.pop();let r=t.split(`/`),i=0;for(;i<n.length&&i<r.length-1&&n[i]===r[i];)i++;let a=n.length-i,o=r.slice(i);return(a===0?`./`:`../`.repeat(a))+o.join(`/`)}function Qe(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`mailto:`)){window.open(e,`_blank`,`noopener,noreferrer`);return}if(e.startsWith(`#`)||!/\.(md|markdown)(#|\?|$)/i.test(e))return;let t=e.split(`#`)[0].split(`?`)[0],n=$e(F.value??``,t);Re.value.some(e=>e.path===n)?J(n):A.value=`Fichier introuvable: ${n}`}function $e(e,t){if(t.startsWith(`/`))return t.replace(/^\/+/,``);let n=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)).split(`/`).filter(Boolean):[];for(let e of t.split(`/`))e===``||e===`.`||(e===`..`?n.pop():n.push(e));return n.join(`/`)}function Q(){F.value&&J(F.value)}function $(){document.visibilityState===`visible`&&Q()}return te(()=>S.scope,()=>{F.value=null,I.value=``,O.value=[],K()}),t(()=>{K(),window.addEventListener(`focus`,Q),document.addEventListener(`visibilitychange`,$)}),n(()=>{X(),window.removeEventListener(`focus`,Q),document.removeEventListener(`visibilitychange`,$)}),(t,n)=>M.value?(s(),x(`div`,ae,[n[8]||=C(`i`,{class:`pi pi-folder-open wiki__not-configured-icon`},null,-1),n[9]||=C(`h2`,null,`Le dossier de documentation n'existe pas encore`,-1),C(`p`,null,[n[7]||=T(` Chemin attendu : `,-1),C(`code`,null,y(M.value),1)]),h(l(E),{icon:`pi pi-plus`,label:`Créer le dossier`,loading:N.value,onClick:Be},null,8,[`loading`])])):j.value?(s(),x(`div`,oe,[n[11]||=C(`i`,{class:`pi pi-cog wiki__not-configured-icon`},null,-1),C(`h2`,null,y(q.value?`Wiki global non configuré`:`Documentation du service non configurée`),1),q.value?(s(),x(`p`,se,` Le wiki global a besoin d'un chemin absolu vers un dossier sur disque pour fonctionner. `)):(s(),x(`p`,ce,[...n[10]||=[T(` Ce service n'a pas de `,-1),C(`code`,null,`cwd`,-1),T(` ni de `,-1),C(`code`,null,`docsPath`,-1),T(` renseigné. `,-1)]])),h(l(E),{icon:`pi pi-arrow-right`,label:q.value?`Configurer le wiki global`:`Configurer le service`,onClick:Ue},null,8,[`label`])])):(s(),x(`div`,le,[C(`aside`,ue,[C(`div`,de,[C(`span`,{class:`wiki__sidebar-title`,title:D.value},y(D.value||`Pages`),9,fe),C(`div`,pe,[h(l(E),{icon:`pi pi-folder-plus`,size:`small`,text:``,rounded:``,title:`Nouveau dossier racine`,onClick:n[0]||=e=>Z(``,`dir`)}),h(l(E),{icon:`pi pi-file-plus`,size:`small`,text:``,rounded:``,title:`Nouveau fichier racine`,onClick:n[1]||=e=>Z(``,`file`)}),h(l(E),{icon:`pi pi-refresh`,size:`small`,text:``,rounded:``,title:`Rafraîchir`,onClick:K})])]),k.value?(s(),x(`div`,me,`Chargement…`)):A.value?(s(),x(`div`,he,y(A.value),1)):O.value.length===0?(s(),x(`div`,ge,` Aucun fichier. Utilisez les boutons en haut pour créer un fichier ou un dossier. `)):(s(),x(`ul`,_e,[(s(!0),x(e,null,r(O.value,e=>(s(),x(`li`,{key:e.path},[h(ie,{entry:e,"selected-path":F.value,expanded:P.value,editable:!0,onToggle:We,onSelect:J,onCreateChild:Z,onRename:qe,onDelete:Je},null,8,[`entry`,`selected-path`,`expanded`])]))),128))]))]),C(`section`,ve,[F.value?(s(),x(e,{key:0},[C(`div`,ye,[n[16]||=C(`i`,{class:`pi pi-file wiki__title-icon`},null,-1),C(`span`,be,y(F.value),1),z.value?(s(),x(`span`,xe,[R.value?(s(),x(`span`,Se,[...n[12]||=[C(`i`,{class:`pi pi-spin pi-spinner`},null,-1),T(` Sauvegarde…`,-1)]])):I.value===l(V)?(s(),x(`span`,we,[...n[14]||=[C(`i`,{class:`pi pi-check`},null,-1),T(` Sauvegardé`,-1)]])):(s(),x(`span`,Ce,[...n[13]||=[C(`i`,{class:`pi pi-circle-fill wiki__status-pending`},null,-1),T(` Modifié`,-1)]]))])):(s(),x(`span`,Te,[...n[15]||=[C(`i`,{class:`pi pi-eye`},null,-1),T(` Lecture seule `,-1)]])),h(l(E),{icon:z.value?`pi pi-check`:`pi pi-pencil`,label:z.value?`Terminer`:`Modifier`,size:`small`,severity:z.value?`success`:`secondary`,outlined:!z.value,onClick:Ke},null,8,[`icon`,`label`,`severity`,`outlined`]),h(l(E),{icon:`pi pi-refresh`,size:`small`,text:``,rounded:``,title:`Recharger depuis le disque`,loading:L.value,onClick:Q},null,8,[`loading`])]),z.value?(s(),x(`div`,Ee,[h(l(E),{icon:`pi pi-link`,label:`Lier un fichier`,size:`small`,text:``,onClick:Ye})])):m(``,!0),L.value?(s(),x(`div`,De,`Chargement du fichier…`)):(s(),ee(l(ne),{key:2,ref_key:`editorRef`,ref:Fe,modelValue:I.value,"onUpdate:modelValue":n[2]||=e=>I.value=e,markdown:``,editable:z.value,class:w([`wiki__editor`,{"wiki__editor--readonly":!z.value}]),placeholder:`Écrivez le contenu de la page…`,onLinkClick:Qe},null,8,[`modelValue`,`editable`,`class`]))],64)):(s(),x(`div`,Oe,[...n[17]||=[C(`i`,{class:`pi pi-book wiki__placeholder-icon`},null,-1),C(`p`,null,`Sélectionnez un fichier ou créez-en un nouveau.`,-1)]]))]),h(l(p),{visible:W.value.open,"onUpdate:visible":n[4]||=e=>W.value.open=e,header:W.value.title,modal:``,style:{width:`420px`},"close-on-escape":!0,onHide:G},{footer:d(()=>[h(l(E),{label:`Annuler`,severity:`secondary`,outlined:``,size:`small`,onClick:G}),h(l(E),{label:`OK`,size:`small`,disabled:!W.value.value.trim(),onClick:Le},null,8,[`disabled`])]),default:d(()=>[C(`div`,ke,[C(`label`,Ae,y(W.value.label),1),h(l(g),{id:`wiki-prompt-input`,modelValue:W.value.value,"onUpdate:modelValue":n[3]||=e=>W.value.value=e,class:`wiki__prompt-input`,placeholder:W.value.placeholder,autofocus:``,onKeydown:[u(f(Le,[`prevent`]),[`enter`]),u(G,[`escape`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),h(l(p),{visible:H.value,"onUpdate:visible":n[6]||=e=>H.value=e,header:`Insérer un lien vers un fichier`,modal:``,style:{width:`500px`}},{default:d(()=>[h(l(g),{modelValue:U.value,"onUpdate:modelValue":n[5]||=e=>U.value=e,placeholder:`Rechercher un fichier…`,class:`wiki__link-search`,autofocus:``},null,8,[`modelValue`]),C(`div`,je,[(s(!0),x(e,null,r(ze.value,e=>(s(),x(`button`,{key:e.path,class:`wiki__link-item`,onClick:t=>Xe(e)},[n[18]||=C(`i`,{class:`pi pi-file`},null,-1),C(`span`,Ne,y(e.path),1)],8,Me))),128)),ze.value.length===0?(s(),x(`div`,Pe,` Aucun fichier disponible. `)):m(``,!0)])]),_:1},8,[`visible`])]))}}),[[`__scopeId`,`data-v-10f9637d`]]);export{N as t};