graphdb-workbench 2.8.0-TR12 → 2.8.0-TR13

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 (363) hide show
  1. package/dist/{0.222642ac8a834644de39.bundle.js → 0.c12880b944139d726364.bundle.js} +3 -3
  2. package/dist/{1.ebb46b40f04cba034e61.bundle.js → 1.b5ab0c81ff05d97d9212.bundle.js} +1 -1
  3. package/dist/10.1179c6bc53d65a3018b4.bundle.js +1 -0
  4. package/dist/{101.04ecbbc205f9cce449e2.bundle.js → 100.6ec3d989e75140cf46ca.bundle.js} +1 -1
  5. package/dist/{102.0f9a64ceb323e719fb9e.bundle.js → 101.f066daa3cfc930d79302.bundle.js} +1 -1
  6. package/dist/{103.ba98ffe51ae3fcd3ca2c.bundle.js → 102.791468df396a09a31d71.bundle.js} +1 -1
  7. package/dist/{104.c6fa28ded1a4c26bc1a2.bundle.js → 103.37921e51177a654d75ac.bundle.js} +1 -1
  8. package/dist/{105.1f6013e09a913230f5a0.bundle.js → 104.e3e2867c1b690c43f489.bundle.js} +1 -1
  9. package/dist/{106.db2a24b8b831a9a41730.bundle.js → 105.f8bc439e384e9f5110fe.bundle.js} +1 -1
  10. package/dist/{107.76a892fb4131d6fb5c6a.bundle.js → 106.8c2ba58b4f242956a82c.bundle.js} +1 -1
  11. package/dist/{108.a86e28984373a10ed377.bundle.js → 107.4315a0c3620f546dd600.bundle.js} +1 -1
  12. package/dist/{109.396369e9ad1d6ac8515c.bundle.js → 108.02aeec3c92b68ce6c35e.bundle.js} +1 -1
  13. package/dist/{110.74113301e9bf04aa532c.bundle.js → 109.e0e1046fdb1e8ecd59f8.bundle.js} +1 -1
  14. package/dist/{10.84c92cce7ac26f335dd1.bundle.js → 11.731ed4f7b67ece4fb109.bundle.js} +1 -1
  15. package/dist/{111.577f12afd89f88ff3c41.bundle.js → 110.d51e761889fe08e2c49d.bundle.js} +1 -1
  16. package/dist/{112.97780a4fe36300f514c5.bundle.js → 111.da72110e4ddfe486912a.bundle.js} +1 -1
  17. package/dist/{113.5c183cbd72f4e91deeee.bundle.js → 112.77a36111c9f4da94f2d0.bundle.js} +1 -1
  18. package/dist/{114.f44bf4f49655b843752b.bundle.js → 113.d5bd3f0ad7bd8c52abe1.bundle.js} +1 -1
  19. package/dist/{115.60bf043f46bdeb922372.bundle.js → 114.2f6bdd6b8c8dd9f01217.bundle.js} +1 -1
  20. package/dist/{116.9d728768854e290a2653.bundle.js → 115.b9393bf71391a3f494da.bundle.js} +1 -1
  21. package/dist/{117.295086c4cd54397c56df.bundle.js → 116.54e31b6224e208e4c423.bundle.js} +1 -1
  22. package/dist/{118.6ab3f8f724a06905c5cf.bundle.js → 117.38e2c564034dc25c4815.bundle.js} +1 -1
  23. package/dist/{119.2f144c11c33a3bbeda21.bundle.js → 118.09e66dd3b083f2d36696.bundle.js} +1 -1
  24. package/dist/{120.440d48a02219554f0af0.bundle.js → 119.131ce05ec4fa52bfaf2a.bundle.js} +1 -1
  25. package/dist/{11.347714ca41cef8ea7f1e.bundle.js → 12.006922371a75c0e8f3aa.bundle.js} +1 -1
  26. package/dist/{121.b9f200eec8693987cd2b.bundle.js → 120.2fe6c930b40edfc70a3f.bundle.js} +1 -1
  27. package/dist/{122.10eda802eaaa781ea566.bundle.js → 121.4f96e05a93da0d050583.bundle.js} +1 -1
  28. package/dist/{123.1548ca1c0632bc3dcfeb.bundle.js → 122.14c6539a5cf5826291f1.bundle.js} +1 -1
  29. package/dist/{124.05248e4fa4e72076f8e1.bundle.js → 123.75914b050247dec2f47a.bundle.js} +1 -1
  30. package/dist/{125.117e9b10046dea563e1b.bundle.js → 124.db458d12650e11836826.bundle.js} +1 -1
  31. package/dist/{126.f1a86f86018b7c58852d.bundle.js → 125.653e9a40b0339268bfa4.bundle.js} +1 -1
  32. package/dist/{127.0124928e6c0f7cf3f6c4.bundle.js → 126.bc9af544cdeef53a98a4.bundle.js} +1 -1
  33. package/dist/{129.3e71e14cf51fed8b7fb8.bundle.js → 127.20092c02c9853f630785.bundle.js} +1 -1
  34. package/dist/128.d7b62fe06971afd880da.bundle.js +1 -0
  35. package/dist/{131.45f6c9b55329c691d5eb.bundle.js → 129.676c2740eba42a5189ae.bundle.js} +1 -1
  36. package/dist/{12.208a25d54fad54ce23f5.bundle.js → 13.76fc57fe53ba53fb2c7f.bundle.js} +1 -1
  37. package/dist/{132.423a880945adb530ff42.bundle.js → 130.ef294422e321cdff61f3.bundle.js} +1 -1
  38. package/dist/{133.d59607c90abb5c88f92c.bundle.js → 131.aaa123afc12ca4bdf46e.bundle.js} +1 -1
  39. package/dist/132.88ff26b2f0d1d51bad52.bundle.js +1 -0
  40. package/dist/{135.2c26864970bac0810793.bundle.js → 133.4847df13c0867a84a713.bundle.js} +1 -1
  41. package/dist/{136.9320c511cc2742542367.bundle.js → 134.20c075955d10d6925a62.bundle.js} +1 -1
  42. package/dist/135.5e771c47f8d09d2854fc.bundle.js +1 -0
  43. package/dist/{138.2faf8c3516d4c4f72ff0.bundle.js → 136.92a341f0772ee65da7d6.bundle.js} +1 -1
  44. package/dist/{139.6738727d298cb82cdd13.bundle.js → 137.7330e14ed6a57aad5f94.bundle.js} +1 -1
  45. package/dist/138.43357891c8faa58707b4.bundle.js +1 -0
  46. package/dist/{140.8aec03c5b38c631d6c1e.bundle.js → 139.2277d7941d2756767afe.bundle.js} +1 -1
  47. package/dist/{13.a73763d3c6e0578c2af1.bundle.js → 14.a8fc6ef8dc6fa2f2816a.bundle.js} +11 -11
  48. package/dist/{141.32117cd8775dbe8fcbae.bundle.js → 140.2bf9ff7d38dd8ff616af.bundle.js} +1 -1
  49. package/dist/{142.15e37af8c96cf9dc3e7f.bundle.js → 141.f710186615c337b2fae6.bundle.js} +1 -1
  50. package/dist/{143.fdd4fcbb5282cd2dd46b.bundle.js → 142.fd312126fe70574b15e3.bundle.js} +1 -1
  51. package/dist/{144.7cb8a8402955c6168ecb.bundle.js → 143.b31bed2d13b249d84ad0.bundle.js} +1 -1
  52. package/dist/{145.3fa30ed06e9163633a2e.bundle.js → 144.9f1e5dd5f0d1e6f382fd.bundle.js} +1 -1
  53. package/dist/{146.68ce65959f5884311fde.bundle.js → 145.33d55443d1dd19a0bacb.bundle.js} +1 -1
  54. package/dist/{147.ed592ab631dcbf041ddf.bundle.js → 146.7765ae4e0ecce35603f4.bundle.js} +1 -1
  55. package/dist/{148.97728d94afb4d290c123.bundle.js → 147.5d44d89036a267b899c1.bundle.js} +1 -1
  56. package/dist/{149.1201e5f6027054c6193b.bundle.js → 148.f25d2d396c86c31714f6.bundle.js} +1 -1
  57. package/dist/{150.c93958d2d24c3a9df09c.bundle.js → 149.f7dbe3a9918a4684fa64.bundle.js} +1 -1
  58. package/dist/{15.1fef7c75d6d3884c7477.bundle.js → 15.5e160943e2ce5fc32b3f.bundle.js} +1 -1
  59. package/dist/{151.18c5954b695558d8a75a.bundle.js → 150.c69c89d996b1a696f1b1.bundle.js} +1 -1
  60. package/dist/{152.d6af0cde3e1dd9fc8c1d.bundle.js → 151.23df73ebedae9acb9f8a.bundle.js} +1 -1
  61. package/dist/{153.eea3436e5f2ed6af5805.bundle.js → 152.050964735a12306f4d8d.bundle.js} +1 -1
  62. package/dist/{154.43b33419d000ca35797f.bundle.js → 153.450de3a974ca576d4f76.bundle.js} +1 -1
  63. package/dist/{155.8d7e2682ad34c9270fe0.bundle.js → 154.e4cfb640ab1ca3cd4286.bundle.js} +1 -1
  64. package/dist/{156.c27889fee0b5465eb925.bundle.js → 155.e07768c450476750f15e.bundle.js} +1 -1
  65. package/dist/{157.a9267e161a99f7c397f0.bundle.js → 156.0eea43daab882951002d.bundle.js} +1 -1
  66. package/dist/{158.19fb300f24fd7a14210a.bundle.js → 157.8647e0cfa6d9b22fba1c.bundle.js} +1 -1
  67. package/dist/{159.ceb87dd0c514721e6f26.bundle.js → 158.e2eb018ac1b578ce4b4e.bundle.js} +1 -1
  68. package/dist/{160.2eade0d127800de8d588.bundle.js → 159.a377c78f9b79f34833cd.bundle.js} +1 -1
  69. package/dist/16.72c5de6792b2fb3d40cb.bundle.js +1 -0
  70. package/dist/{161.294da81ed3f45c1250a1.bundle.js → 160.4f9ada4c29a100824fb1.bundle.js} +1 -1
  71. package/dist/{162.a75b63430f79142fcc5d.bundle.js → 161.d048c37d7e9b3ee1528b.bundle.js} +1 -1
  72. package/dist/{163.c1a4bf8dab21603362fb.bundle.js → 162.f08b5bef113ac7ac925d.bundle.js} +1 -1
  73. package/dist/{164.17088ebd990ca168d11d.bundle.js → 163.efa08aaff2e3cdda3711.bundle.js} +1 -1
  74. package/dist/{165.9d560c84a71954a90956.bundle.js → 164.1654634aa86b14797f13.bundle.js} +1 -1
  75. package/dist/{166.4da4ef4df1cd67bf395a.bundle.js → 165.3e5cfde1214c42087e41.bundle.js} +1 -1
  76. package/dist/{167.c132aacfb909005eccc6.bundle.js → 166.bb6f7d1b5cc9bc3ac381.bundle.js} +1 -1
  77. package/dist/{168.a4c723a0068a42dad17b.bundle.js → 167.7c7fd26d09c91dbd9c55.bundle.js} +1 -1
  78. package/dist/{169.06b8e5fedae202dcff73.bundle.js → 168.6a3e67fea55b932f3090.bundle.js} +1 -1
  79. package/dist/{170.26d8ef1cedc67545299a.bundle.js → 169.a9310a747d8bf7366f97.bundle.js} +1 -1
  80. package/dist/{16.bd171e40126f074bf5d9.bundle.js → 17.ce810873458ff1ffca06.bundle.js} +2 -2
  81. package/dist/{171.fd8a4420cd7a4b283b3f.bundle.js → 170.cf2599059e3e923207a4.bundle.js} +1 -1
  82. package/dist/{172.a8bd733aa0e091a38664.bundle.js → 171.a1608fd5e4c899b96352.bundle.js} +1 -1
  83. package/dist/{173.d3a4eb2812be244a1d32.bundle.js → 172.c42d95c2edad241cf688.bundle.js} +1 -1
  84. package/dist/{174.d794bc6b1c46138c6613.bundle.js → 173.18301f20eb503ef8a27a.bundle.js} +1 -1
  85. package/dist/{175.5e8c384818bb17dd9aab.bundle.js → 174.4a15711f0dd5f8ce0919.bundle.js} +1 -1
  86. package/dist/{176.746d6385829d2a680cd1.bundle.js → 175.a73ae90b613da5e597c5.bundle.js} +1 -1
  87. package/dist/{177.86021de382ed87019173.bundle.js → 176.4f84bdfcc0197d750474.bundle.js} +1 -1
  88. package/dist/{178.b7569fc8228e2ef12525.bundle.js → 177.080a382546a2c07c54c8.bundle.js} +1 -1
  89. package/dist/{179.631668faa65967a635b9.bundle.js → 178.456581d02bb705a29124.bundle.js} +1 -1
  90. package/dist/{180.6551aa17a9e417574db2.bundle.js → 179.9cd9059a32896097ca5f.bundle.js} +1 -1
  91. package/dist/{17.68b542dd822f35968787.bundle.js → 18.05b6388e2622fda2a4e1.bundle.js} +1 -1
  92. package/dist/{181.5f8b15d991de41170b3c.bundle.js → 180.5e55e866b1afe07594b5.bundle.js} +1 -1
  93. package/dist/181.95f7ef7fc792b50c2cc6.bundle.js +1 -0
  94. package/dist/{184.805cf439b2adef6bb8a7.bundle.js → 184.badf1727b917eb1cc3a3.bundle.js} +1 -1
  95. package/dist/{185.83602499d7b5740b0232.bundle.js → 185.dd5dc8cbc36ea29c75d1.bundle.js} +1 -1
  96. package/dist/{187.35cfddfd9308fabd0798.bundle.js → 187.cd3cd4940779cc26c789.bundle.js} +1 -1
  97. package/dist/{189.b0bac492836f82dcdfc8.bundle.js → 189.ba20e7d03ba9d5662145.bundle.js} +1 -1
  98. package/dist/{18.953ec403f684734e2311.bundle.js → 19.a017cb971598b8f97d9d.bundle.js} +1 -1
  99. package/dist/{195.3d16b1e1b1d2dafd9cc4.bundle.js → 195.a88587cea9417bf47167.bundle.js} +1 -1
  100. package/dist/{2.0d59ab629b316a74f299.bundle.js → 2.b24d9c8f4b672452f0cf.bundle.js} +2 -2
  101. package/dist/{19.09865b8ff553217fec92.bundle.js → 20.8ab4bf04280797eee840.bundle.js} +1 -1
  102. package/dist/{206.092c305505663ce80fac.bundle.js → 206.a4ee3c3fffdf85a82752.bundle.js} +1 -1
  103. package/dist/{20.570db04dfd68538d4a39.bundle.js → 21.a563810cf92e995c13c3.bundle.js} +1 -1
  104. package/dist/{215.5b427a823993da06a4ec.bundle.js → 215.658744c3b46d8dc85366.bundle.js} +1 -1
  105. package/dist/{21.62ad93276e37e4ac702f.bundle.js → 22.f7fed8a367c43a44d346.bundle.js} +2 -2
  106. package/dist/23.f3a3443a579f798ac397.bundle.js +2 -0
  107. package/dist/{239.7847b00aedc190fd0c6a.bundle.js → 239.b02f686988986a34e9b7.bundle.js} +1 -1
  108. package/dist/24.89d0c908a57f6cc21ce1.bundle.js +2 -0
  109. package/dist/{247.f993b0c29022d6f15136.bundle.js → 247.70459005b0d253fcecb7.bundle.js} +1 -1
  110. package/dist/{249.bcb3610366e645f33995.bundle.js → 249.9a6257284542082278c2.bundle.js} +1 -1
  111. package/dist/25.1679fde85cc933df66f0.bundle.js +2 -0
  112. package/dist/{25.a16bf1536f9beb3a61c8.bundle.js → 26.fe862a850ff9f06e4945.bundle.js} +1 -1
  113. package/dist/{263.3335aaa1b90fea9ad424.bundle.js → 263.87b1d661b837f6acba82.bundle.js} +1 -1
  114. package/dist/{268.35a3fd52026094e7d15b.bundle.js → 268.1760717d55d1cce059d8.bundle.js} +1 -1
  115. package/dist/{26.e292a4da414e671fbe56.bundle.js → 27.3b2aa542f87461dc430e.bundle.js} +2 -2
  116. package/dist/{276.6c6b691f8eee5a07acbb.bundle.js → 276.9414df55f6f14dff2306.bundle.js} +1 -1
  117. package/dist/{277.fc89f60cb5c8b0755f15.bundle.js → 277.a91dd1008205eb4f5162.bundle.js} +1 -1
  118. package/dist/{27.0ef07ce77591c681e79d.bundle.js → 28.a4203eb16286d27639bd.bundle.js} +1 -1
  119. package/dist/280.4e90409f55584b089387.bundle.js +1 -0
  120. package/dist/{284.6a0d07f30f21f0f4be50.bundle.js → 284.30dc35180864dfbc2927.bundle.js} +1 -1
  121. package/dist/{28.070e1e29848334dc9ebb.bundle.js → 29.d7f53701e435afe11038.bundle.js} +1 -1
  122. package/dist/{290.490de8b61f494279836a.bundle.js → 290.d1f08b23cd58260b1226.bundle.js} +1 -1
  123. package/dist/{3.8428e684412876d7abd1.bundle.js → 3.325ae6955d167cf629b6.bundle.js} +1 -1
  124. package/dist/30.dfba97d073872a68a48b.bundle.js +1 -0
  125. package/dist/{304.70aa09bcb7382d94da7a.bundle.js → 304.b6372799dca7f4e9f712.bundle.js} +1 -1
  126. package/dist/{30.1f68f17a4430a7df9cd9.bundle.js → 31.efc8d1b5a18dbec9a9aa.bundle.js} +1 -1
  127. package/dist/{310.a44534336e78f61eb546.bundle.js → 310.484b2c9a5912e27c15b1.bundle.js} +1 -1
  128. package/dist/315.d4c6d40909267d14a01b.bundle.js +1 -0
  129. package/dist/{31.c1cda21566969e913a57.bundle.js → 32.39304475fbf4b36b2a43.bundle.js} +1 -1
  130. package/dist/{322.7c4db969edcd5ded15fa.bundle.js → 322.36a6899c0565b022e54d.bundle.js} +1 -1
  131. package/dist/{323.d4666997f49a2f813fc2.bundle.js → 323.dcb289cffe4ff71d53a4.bundle.js} +1 -1
  132. package/dist/{324.020e9c4d1e9873cd9e3e.bundle.js → 324.180650d6f3bd6b4adb4d.bundle.js} +1 -1
  133. package/dist/{325.52a67b5eb37e212db794.bundle.js → 325.b4db54955a4ce097ad2f.bundle.js} +1 -1
  134. package/dist/{326.73f77ba8f2c8871554a0.bundle.js → 326.c5d3853822abe1e86a44.bundle.js} +1 -1
  135. package/dist/{32.5b1d35866a8521c0ddd8.bundle.js → 33.750b03f61268eaf2623b.bundle.js} +1 -1
  136. package/dist/330.bb63d5fc20b2bcd4d339.bundle.js +1 -0
  137. package/dist/{332.290a55c149676f8b12bc.bundle.js → 331.dcf5bf6589ac6508f678.bundle.js} +1 -1
  138. package/dist/{333.c68c64b311929e005970.bundle.js → 332.9d03e71ea008a855fa21.bundle.js} +1 -1
  139. package/dist/333.0b9d6cf9eaddcf7fced8.bundle.js +1 -0
  140. package/dist/{336.85b41400f26a45c913d2.bundle.js → 334.594168bf09ec20c0a3ca.bundle.js} +1 -1
  141. package/dist/{337.be3ec594318206dc00e8.bundle.js → 335.8ba957523219aa412abc.bundle.js} +1 -1
  142. package/dist/{338.915990e8e5e0ee62b4d1.bundle.js → 336.34e1704cf1ebe667954f.bundle.js} +1 -1
  143. package/dist/{339.b0202e92037aba9cb17d.bundle.js → 337.8481172aedfa9b3e2ae5.bundle.js} +1 -1
  144. package/dist/{340.90a0259ff21debda0ed7.bundle.js → 338.f28c4ee33fc99bbfb9d0.bundle.js} +1 -1
  145. package/dist/{341.6f383e4e7b8992f8aea6.bundle.js → 339.c669b86c15f773126998.bundle.js} +1 -1
  146. package/dist/34.cf1c5d51e0bfbf10fe2e.bundle.js +1 -0
  147. package/dist/{342.1da6fe384b21e903637d.bundle.js → 340.72090fb9be58672bf42d.bundle.js} +1 -1
  148. package/dist/{343.5d92dd5674501400d188.bundle.js → 341.97cd72809c4207c6d1da.bundle.js} +1 -1
  149. package/dist/{344.43a9237134f205770ce2.bundle.js → 342.865fb5893eb67ed6ac7c.bundle.js} +1 -1
  150. package/dist/{345.01c18050b4be81825691.bundle.js → 343.1e0cb72cc52ef6f3a593.bundle.js} +1 -1
  151. package/dist/{346.cdbb73c02ebb13454de5.bundle.js → 344.37dde32d5cb2fdbf6630.bundle.js} +1 -1
  152. package/dist/{347.48420a4e8b6af4c30cf5.bundle.js → 345.7b096bd8435e4ab16889.bundle.js} +1 -1
  153. package/dist/{348.eb0c9e5cf2e6f0e66bf2.bundle.js → 346.a4cd577a9e8aa56875d2.bundle.js} +1 -1
  154. package/dist/{349.62cda39dc01594143a0b.bundle.js → 347.35843e38ac1e710251fb.bundle.js} +1 -1
  155. package/dist/{350.015bc2bbf9e045ebea7e.bundle.js → 348.54a4ceaed66e168609a7.bundle.js} +1 -1
  156. package/dist/{351.fff6d1022304bda921f0.bundle.js → 349.2b5a807450bcf89aa7a3.bundle.js} +1 -1
  157. package/dist/{33.6f0a59e5fd188a8ce2fc.bundle.js → 35.ec76ac07567c2d176a4b.bundle.js} +1 -1
  158. package/dist/{352.5a29fe2cc31e8c3d7b5d.bundle.js → 350.5bba8d09243b3ffc8d27.bundle.js} +1 -1
  159. package/dist/{353.9c0c64bdfd84177d3c1b.bundle.js → 351.00c6d019c3ee260bbbb7.bundle.js} +1 -1
  160. package/dist/{354.cbb2e30901240d068afc.bundle.js → 352.216f8da48bf6779cbe8a.bundle.js} +1 -1
  161. package/dist/{355.92484d90d33cb01731cd.bundle.js → 353.8c810994084e57e681af.bundle.js} +1 -1
  162. package/dist/{356.c9f3f2d892ee4ae0f994.bundle.js → 354.7e3a75ab06e7bbc6e391.bundle.js} +1 -1
  163. package/dist/{357.9ba93f216d695ec04f0e.bundle.js → 355.4bf835922000865b78ff.bundle.js} +1 -1
  164. package/dist/{358.f54aa69efc0ddeea425d.bundle.js → 356.2fb2e095f752291fc36a.bundle.js} +1 -1
  165. package/dist/{359.7c5836271c880c903e3e.bundle.js → 357.7a005297fb7a35544edd.bundle.js} +1 -1
  166. package/dist/{360.fd188c7eb77ecf4bc041.bundle.js → 358.b81cae8ad3c6d372d78a.bundle.js} +1 -1
  167. package/dist/{361.38d8e51020cd5de85195.bundle.js → 359.da5bb8979c09500c9731.bundle.js} +1 -1
  168. package/dist/{34.f5a79845264515ae6574.bundle.js → 36.5ce24e912050a85868aa.bundle.js} +1 -1
  169. package/dist/{362.dc87ac4c16d14af79658.bundle.js → 360.b82aba282a9d8061d236.bundle.js} +1 -1
  170. package/dist/{363.1f0c267f2e8149e447d5.bundle.js → 361.bf3bd5dac44b4779b072.bundle.js} +1 -1
  171. package/dist/{364.6decef5064677280593e.bundle.js → 362.18f0adca82e101c4e5b9.bundle.js} +1 -1
  172. package/dist/{365.ab9b6229226d0d8c3c90.bundle.js → 363.242e5a4aba7c76394d71.bundle.js} +1 -1
  173. package/dist/{366.a8401578ca9a025b7bbf.bundle.js → 364.c8b7a1ca0adf6f6ab5d1.bundle.js} +1 -1
  174. package/dist/{367.476201de3d45ce3d4363.bundle.js → 365.da6f9e3b79056fbc9935.bundle.js} +1 -1
  175. package/dist/{368.1547e3f6478d479da027.bundle.js → 366.933e620636c9518da77e.bundle.js} +1 -1
  176. package/dist/{369.d3c2d2e8c3127df3db3d.bundle.js → 367.333dbacb07d920cb4f35.bundle.js} +1 -1
  177. package/dist/{370.34bec85793d564dbc5ee.bundle.js → 368.b996e000118fd2d48023.bundle.js} +1 -1
  178. package/dist/{371.d215bb7b41b208637d88.bundle.js → 369.e9f183ffff429673e575.bundle.js} +1 -1
  179. package/dist/{35.cb4a1994570fcd048ff3.bundle.js → 37.31c75f57d06df83316c6.bundle.js} +1 -1
  180. package/dist/{372.c76dbc1f58c39ef9e9c9.bundle.js → 370.2df5d6d470f8c4cf16de.bundle.js} +1 -1
  181. package/dist/{373.d7b80790d7ceeb3e66c8.bundle.js → 371.6e98e61425dae465956a.bundle.js} +1 -1
  182. package/dist/{374.a78220a75a28b71edd15.bundle.js → 372.8dc712fa11b03b7cb4a0.bundle.js} +1 -1
  183. package/dist/{375.ad5936cde217fd1cd24b.bundle.js → 373.23df17a1f315ef2daedf.bundle.js} +1 -1
  184. package/dist/{376.b56eccfc38f4ff00dcac.bundle.js → 374.4dd4eb5cc82b451d8945.bundle.js} +1 -1
  185. package/dist/{377.0307f5e28ae10b2e5559.bundle.js → 375.d5b1e69a6423a38c9caf.bundle.js} +1 -1
  186. package/dist/{378.8a0d517c55b0350a47a2.bundle.js → 376.be83e1d73d4b5595017c.bundle.js} +1 -1
  187. package/dist/{379.baebd3f64a0c560ac950.bundle.js → 377.43c7d29f15618ab44a3d.bundle.js} +1 -1
  188. package/dist/{380.765f42a738c22bda1042.bundle.js → 378.a5375562ce0b67f8382b.bundle.js} +1 -1
  189. package/dist/{381.bbf26c624dea07cfb7a8.bundle.js → 379.42bcccb9366be5787688.bundle.js} +1 -1
  190. package/dist/38.1dfb5763064c2adaebd6.bundle.js +1 -0
  191. package/dist/{382.d6ca2271ad6cf3b331da.bundle.js → 380.fbd0b1c517e7f117b69c.bundle.js} +1 -1
  192. package/dist/{383.53043bc87ea19731b4a6.bundle.js → 381.f5f789cf35400f2c9639.bundle.js} +1 -1
  193. package/dist/{384.ea90d9b7352ddcef14a8.bundle.js → 382.421cd82a9eb002f6843c.bundle.js} +1 -1
  194. package/dist/{385.b006e205b113c4fce1cb.bundle.js → 383.e5540db47682edab834d.bundle.js} +1 -1
  195. package/dist/{386.2f621d0ba89b312ca82a.bundle.js → 384.f1c40e0e60f01d8aba9a.bundle.js} +1 -1
  196. package/dist/{387.7ad24de0a13fda2ae400.bundle.js → 385.48c5e5379f7dfac726ab.bundle.js} +1 -1
  197. package/dist/{388.efbe814406005b02e54c.bundle.js → 386.7e64e8d9c4aac0bbdb45.bundle.js} +1 -1
  198. package/dist/{389.64fbc1cce1d5fee57949.bundle.js → 387.e9a84b8c2892dda2f650.bundle.js} +1 -1
  199. package/dist/{390.b568f37210661a38d3ba.bundle.js → 388.2e6dfb15fbcd6462c3d3.bundle.js} +1 -1
  200. package/dist/{391.9ea58d3642d9ee8cc0b1.bundle.js → 389.5b0ede46232d8f8f4d66.bundle.js} +1 -1
  201. package/dist/39.78d988e336bd9d4f7cd4.bundle.js +1 -0
  202. package/dist/{392.9afe6ea9382e0fbe82db.bundle.js → 390.6036e2ff582e87acaec1.bundle.js} +1 -1
  203. package/dist/{393.a8e39fc0249cbb7db9bc.bundle.js → 391.90a84270ddca2ebe03eb.bundle.js} +1 -1
  204. package/dist/392.e0c451e90d8b605ed2bd.bundle.js +1 -0
  205. package/dist/393.3bfc31b44bfdba16d49c.bundle.js +1 -0
  206. package/dist/{396.547c7fde7bc12cc9d3db.bundle.js → 394.97f198143c473525a230.bundle.js} +1 -1
  207. package/dist/{397.0a97a309be2c1da989ab.bundle.js → 395.6ce498a744a986e8ff86.bundle.js} +1 -1
  208. package/dist/{398.6badaf34f20203bada77.bundle.js → 396.aefb86d4ebef8ff2a297.bundle.js} +1 -1
  209. package/dist/{399.f12d38319a9a79933e5a.bundle.js → 397.79cd207a9f02d868df10.bundle.js} +1 -1
  210. package/dist/{4.345ad2617e3517f75565.bundle.js → 4.6e3aeb8eee6cde5ba990.bundle.js} +1 -1
  211. package/dist/{38.a8c8099f2e8a4f3c778f.bundle.js → 40.4cc11d63e6bcfb257927.bundle.js} +1 -1
  212. package/dist/{39.c95b44b1252f8486526f.bundle.js → 41.8564cea4b8d2e978c0fa.bundle.js} +1 -1
  213. package/dist/{40.945b15bca4903efd9b71.bundle.js → 42.d7e29d98febe1327f20d.bundle.js} +1 -1
  214. package/dist/{41.b8d121d5ec004cf9dea1.bundle.js → 43.970f6e2bb8846b2712b8.bundle.js} +1 -1
  215. package/dist/{42.82eacf4859c6cbd5f51f.bundle.js → 44.bcc6eace48b1d6434e62.bundle.js} +1 -1
  216. package/dist/{43.2b4a9d33022e90ac0be2.bundle.js → 45.9b655ea07221e5e2a517.bundle.js} +1 -1
  217. package/dist/{44.595e88a34ef82254fe25.bundle.js → 46.a29d923276330b841abe.bundle.js} +1 -1
  218. package/dist/{45.c470ec6048e1039fd0aa.bundle.js → 47.ba8a59361b7bef07c6a4.bundle.js} +1 -1
  219. package/dist/{46.d0220c9f624074d7bfd4.bundle.js → 48.c31e4bbc3f21fe58fd65.bundle.js} +1 -1
  220. package/dist/{47.060a414a4eaf36ed34cb.bundle.js → 49.929061b5beba2ec97451.bundle.js} +1 -1
  221. package/dist/{5.cb396084f605672543e7.bundle.js → 5.b2096856419b1a06ea75.bundle.js} +1 -1
  222. package/dist/{48.d5bc567583d5e25547dc.bundle.js → 50.20572266650787d7ee91.bundle.js} +1 -1
  223. package/dist/{49.6ec3a9dc86537f805bde.bundle.js → 51.920803b51e86c1f8d45a.bundle.js} +1 -1
  224. package/dist/{50.e91318aac4d8d77785be.bundle.js → 52.42e7bb5a56f5f4c75241.bundle.js} +1 -1
  225. package/dist/{51.6de9a6ab46d8827104d0.bundle.js → 53.ffce7c0ac6b025c53b75.bundle.js} +1 -1
  226. package/dist/{53.bb3c7f37e60f65c29021.bundle.js → 54.ee14bd02621e6b4667b8.bundle.js} +1 -1
  227. package/dist/{54.67e090bb4a052816c714.bundle.js → 55.409784fff5aff351a7fe.bundle.js} +1 -1
  228. package/dist/{55.c55aabd6a1f8b25f2580.bundle.js → 56.b8582f61d881c1cad5e7.bundle.js} +1 -1
  229. package/dist/{56.5e98db705e0a6efb1d07.bundle.js → 57.a298ee7bb5d22e8419f8.bundle.js} +1 -1
  230. package/dist/{57.abc7849d969a76057940.bundle.js → 58.e8c5b3956ece53354494.bundle.js} +1 -1
  231. package/dist/{58.50571f2fffe2f1460096.bundle.js → 59.6b5fd868c31cfb6a2762.bundle.js} +1 -1
  232. package/dist/{6.7346c251ed4a977575f2.bundle.js → 6.fa03286d27c8ae9a8ab2.bundle.js} +1 -1
  233. package/dist/{59.f2dbfcba177233488235.bundle.js → 60.686d916962bfb4056a6c.bundle.js} +1 -1
  234. package/dist/{60.7ad08e1ea896217fdac9.bundle.js → 61.0f5b5f053325f96a3f34.bundle.js} +1 -1
  235. package/dist/{61.6bc066c34ff785f50028.bundle.js → 62.b60e36b63fe11c962d52.bundle.js} +1 -1
  236. package/dist/{62.1dc54be1544831eb448b.bundle.js → 63.732d2a81f1389f90c8c9.bundle.js} +1 -1
  237. package/dist/{63.4aa2e5a87569d01c0ed7.bundle.js → 64.f3a6be2dd7fa51c4f3d4.bundle.js} +1 -1
  238. package/dist/{64.36ebe11edac1da1b0d98.bundle.js → 65.72826a0c206575c1e2b0.bundle.js} +2 -2
  239. package/dist/{65.896a3eaa522be746be60.bundle.js → 66.2d6293e2aff634d498fe.bundle.js} +1 -1
  240. package/dist/{67.83356de3de8509b1e165.bundle.js → 67.ada6349f0f83da3f3256.bundle.js} +1 -1
  241. package/dist/68.7237eac2d4aeac9a56bd.bundle.js +1 -0
  242. package/dist/{69.a739e488b08255da4565.bundle.js → 69.07b17e35f4356b0316a6.bundle.js} +1 -1
  243. package/dist/{7.07d30055aad7da6c8fcf.bundle.js → 7.cd9f66de5a80daeb89da.bundle.js} +1 -1
  244. package/dist/{70.1a91b4a4b85d13a69710.bundle.js → 70.857ff29191ca36ed5b48.bundle.js} +1 -1
  245. package/dist/{71.43ffebf29bde40ba3f77.bundle.js → 71.55f2d00c428565282880.bundle.js} +1 -1
  246. package/dist/{72.9f992138ec54216a251f.bundle.js → 72.aec349c178c91727485d.bundle.js} +1 -1
  247. package/dist/{74.291594bc989e21f2aba6.bundle.js → 74.ba6d30bda6286ae239d5.bundle.js} +1 -1
  248. package/dist/{75.676ae7a419fe23e4a872.bundle.js → 75.8020265074f8b85a9038.bundle.js} +1 -1
  249. package/dist/{77.8cbbc8fec14ad506f2f1.bundle.js → 77.5dd4b9ee10abc4d51d9d.bundle.js} +1 -1
  250. package/dist/{78.f22bca93459642c8f680.bundle.js → 78.4a3b2d46d28b4844917e.bundle.js} +1 -1
  251. package/dist/{79.bfb074733534a6247c06.bundle.js → 79.fcb63f57ab3b465fe83a.bundle.js} +1 -1
  252. package/dist/8.61d7d1eb310f8cdc62a6.bundle.js +1 -0
  253. package/dist/{80.cc1cebcc79df1bfccc83.bundle.js → 80.ed230d0ab87e71ce20a0.bundle.js} +1 -1
  254. package/dist/{81.d8af8695c90555e2969a.bundle.js → 81.a5122117f8d64f9e4593.bundle.js} +1 -1
  255. package/dist/{82.79dcf025720340cc80be.bundle.js → 82.8d0172da4ec38841ff65.bundle.js} +1 -1
  256. package/dist/{83.e40c2ed0a82336d2a200.bundle.js → 83.06f9155fd9d2840c9e0d.bundle.js} +1 -1
  257. package/dist/84.7a6bd4dcc42d89095d9d.bundle.js +1 -0
  258. package/dist/{87.3b21eccdeca424f07078.bundle.js → 85.7c2f09c86407294a40ba.bundle.js} +1 -1
  259. package/dist/{88.591fff6c8f27d6dada6f.bundle.js → 86.80e2092b94da006fef06.bundle.js} +1 -1
  260. package/dist/87.81bb296620f4b3a5fddd.bundle.js +1 -0
  261. package/dist/{89.fd4df0be29181be0c0ea.bundle.js → 88.ea0225ac48d9f5b7b8ee.bundle.js} +1 -1
  262. package/dist/{90.eec16c54cc9f9015f59f.bundle.js → 89.dcb04f91d7e151b1a309.bundle.js} +1 -1
  263. package/dist/9.fec09ce429afc7d37e5c.bundle.js +1 -0
  264. package/dist/{91.1325c47ab1e1bde6f2f4.bundle.js → 90.0b163611c3037b07a007.bundle.js} +1 -1
  265. package/dist/91.ae39d2216929928ed44e.bundle.js +1 -0
  266. package/dist/{93.de6030748b9e71e4f2cb.bundle.js → 92.e809512eeabf7ebef765.bundle.js} +1 -1
  267. package/dist/{94.8d63afe2e8cf0489199a.bundle.js → 93.eacf11b216749ef24662.bundle.js} +1 -1
  268. package/dist/{95.565e12014a029895a47e.bundle.js → 94.ea51ce6e0a719f162375.bundle.js} +1 -1
  269. package/dist/{96.43c4ab175d5100f42417.bundle.js → 95.0dc5550911d3d0d871da.bundle.js} +1 -1
  270. package/dist/{97.2aa9813bb8e2ddcf9e41.bundle.js → 96.f35153db1bf3b90d2abc.bundle.js} +1 -1
  271. package/dist/{98.fbabe5fb9ba60ec4359f.bundle.js → 97.5f0cbc7c62c5871a1dbb.bundle.js} +1 -1
  272. package/dist/{99.3058922e7c3afd38944e.bundle.js → 98.6711ad20bbd77dd418d8.bundle.js} +1 -1
  273. package/dist/99.35c79bc748869bc79a91.bundle.js +1 -0
  274. package/dist/{bundle.60e6c247af87899d5130.bundle.js → bundle.f19c8bb3b73aeddf1f27.bundle.js} +5 -5
  275. package/dist/css/cluster-nodes-configuration.css +100 -0
  276. package/dist/css/clustermanagement.css +80 -0
  277. package/dist/i18n/locale-en.json +43 -34
  278. package/dist/i18n/locale-fr.json +43 -34
  279. package/dist/index.html +3 -3
  280. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +368 -0
  281. package/dist/js/angular/clustermanagement/templates/modal/edit-cluster-nodes-modal.html +17 -0
  282. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  283. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  284. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  285. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  286. package/dist/js/angular/security/templates/user.html +1 -1
  287. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  288. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  289. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  290. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  291. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  292. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
  293. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  294. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  295. package/dist/license-checker.json +2 -2
  296. package/dist/pages/aclmanagement.html +2 -2
  297. package/dist/pages/autocomplete.html +1 -1
  298. package/dist/pages/choose-repository-type.html +1 -1
  299. package/dist/pages/cluster-management/clusterInfo.html +7 -17
  300. package/dist/pages/create-index.html +1 -1
  301. package/dist/pages/dependencies.html +1 -1
  302. package/dist/pages/domainRangeInfo.html +2 -2
  303. package/dist/pages/edit.html +1 -1
  304. package/dist/pages/explore.html +1 -1
  305. package/dist/pages/export.html +1 -1
  306. package/dist/pages/find.html +1 -1
  307. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  308. package/dist/pages/graphs-visualizations.html +7 -7
  309. package/dist/pages/guides.html +1 -1
  310. package/dist/pages/import.html +6 -4
  311. package/dist/pages/jdbc-create.html +1 -1
  312. package/dist/pages/monitor/backup-and-restore.html +1 -1
  313. package/dist/pages/monitor/queries.html +1 -1
  314. package/dist/pages/monitor/resources.html +1 -1
  315. package/dist/pages/namespaces.html +2 -2
  316. package/dist/pages/plugins.html +1 -1
  317. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  318. package/dist/pages/rdfrank.html +2 -2
  319. package/dist/pages/repositories.html +1 -1
  320. package/dist/pages/repository.html +1 -1
  321. package/dist/pages/similarity-indexes.html +1 -1
  322. package/dist/pages/sparql-editor.html +1 -1
  323. package/dist/pages/sparql-template-create.html +1 -1
  324. package/dist/pages/ux-test1.html +2 -2
  325. package/dist/pages/webapi.html +2 -2
  326. package/dist/{polyfills-dom.713c6eb5d06e88d29f04.bundle.js → polyfills-dom.798fd2050f81c0dff613.bundle.js} +1 -1
  327. package/dist/res/swagger5/index.html +12 -12
  328. package/dist/{vendors~polyfills-core-js.96a1bbab5b3376633c87.bundle.js → vendors~polyfills-core-js.b7d53dddc781f5fdc222.bundle.js} +1 -1
  329. package/package.json +1 -1
  330. package/dist/100.3d74de00f030601e9489.bundle.js +0 -1
  331. package/dist/128.fa3084ee3aa636a6943d.bundle.js +0 -1
  332. package/dist/130.70c607ca456d4d3e4425.bundle.js +0 -1
  333. package/dist/134.95838ee457c1daabe365.bundle.js +0 -1
  334. package/dist/137.365af441e64339f760a1.bundle.js +0 -1
  335. package/dist/14.50fce7384e1b3706c9ce.bundle.js +0 -1
  336. package/dist/22.7630e43856dd3c39f7c4.bundle.js +0 -2
  337. package/dist/23.3c512a27f64f3278dbe0.bundle.js +0 -2
  338. package/dist/24.bb3d63db25359da4f29c.bundle.js +0 -2
  339. package/dist/280.7a1fff29dbaae2ab91a2.bundle.js +0 -1
  340. package/dist/29.a86d9d0af0b450c51ec6.bundle.js +0 -1
  341. package/dist/315.b56535ccf659e0dc2b00.bundle.js +0 -1
  342. package/dist/330.54d08af7ae2a1b1543d4.bundle.js +0 -1
  343. package/dist/331.7ad05387c5ea80f14b3b.bundle.js +0 -1
  344. package/dist/334.b18e698ff9268dd2f3c0.bundle.js +0 -1
  345. package/dist/335.283607f4b4419c912c3a.bundle.js +0 -1
  346. package/dist/36.6b37b8a1eb9f42181b77.bundle.js +0 -1
  347. package/dist/37.36f01213afb3bece36cc.bundle.js +0 -1
  348. package/dist/394.488259a20fcc3f78c877.bundle.js +0 -1
  349. package/dist/395.6a033799cf93451ad83f.bundle.js +0 -1
  350. package/dist/52.b8414a9fb196b747d2a6.bundle.js +0 -1
  351. package/dist/66.f7242d9a5ed559431ea7.bundle.js +0 -1
  352. package/dist/68.270fc7723abcb2e37f46.bundle.js +0 -1
  353. package/dist/8.861e38cf9146e3e75649.bundle.js +0 -1
  354. package/dist/84.564dbdaadac4d8f943e6.bundle.js +0 -1
  355. package/dist/85.a26dd294cbde346e535a.bundle.js +0 -1
  356. package/dist/86.a0e03ca9e6b275e5d86c.bundle.js +0 -1
  357. package/dist/9.ef09c58a5a6d39c69a24.bundle.js +0 -1
  358. package/dist/92.9f757b1920f681d4001a.bundle.js +0 -1
  359. package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +0 -67
  360. package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +0 -173
  361. package/dist/js/angular/clustermanagement/templates/modal/remove-nodes-dialog.html +0 -39
  362. package/dist/js/angular/clustermanagement/templates/modal/replace-nodes-dialog.html +0 -86
  363. /package/dist/{vendor.097ea64a1a6385ba13cb.bundle.js → vendor.3ae36bbbdf44fc52984f.bundle.js} +0 -0
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[378],{484:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='\x3c!-- Start editLocation.html --\x3e\n\n<div class="modal-header">\n\t<button type="button" class="close" ng-click="cancel();" aria-hidden="true"></button>\n\t<h3 class="modal-title">{{\'edit.location\' | translate}}</h3>\n</div>\n<div class="modal-body">\n <form id="addLocationForm" autocomplete="off" name="form">\n <div class="form-group row">\n <label class="col-md-4 col-form-label">{{\'auth.type.header\' | translate}}</label>\n <div class="col-md-8">\n <label class="col-form-label" gdb-tooltip="{{\'remote.location.no.auth.used.tooltip\' | translate}}">\n <input type="radio" name="authType" ng-model="editedLocation.authType" value="none"/>\n {{\'auth.type.none\' | translate}}\n </label>\n &nbsp;\n <label class="col-form-label" gdb-tooltip="{{\'basic.auth.type.tooltip\' | translate}}">\n <input type="radio" name="authType" ng-model="editedLocation.authType" value="basic"/>\n {{\'auth.type.basic\' | translate}}\n </label>\n &nbsp;\n <label class="col-form-label" gdb-tooltip="{{\'signature.auth.type.tooltip\' | translate}}">\n <input type="radio" name="authType" ng-model="editedLocation.authType" value="signature"/>\n {{\'auth.type.signature\' | translate}}\n </label>\n </div>\n </div>\n <div class="form-group row" ng-if="editedLocation.authType === \'none\'">\n <div class="col-md-12">{{\'remote.location.no.auth.used.header\' | translate}}</div>\n </div>\n <div ng-if="editedLocation.authType === \'basic\'">\n <div class="form-group row">\n <div class="col-md-12">{{\'basic.auth.type.constraint\' | translate}}</div>\n </div>\n <div class="form-group row">\n <label for="username" class="col-md-4 col-form-label">{{\'username.required\' | translate}}</label>\n <div class="col-md-8">\n <input id="username" ng-model="editedLocation.username" name="locationUsername" placeholder="{{\'my.user.placeholder\' | translate}}"\n class="form-control" ng-required="editedLocation.authType === \'basic\'"/>\n </div>\n </div>\n <div class="form-group row">\n <label for="password" class="col-md-4 col-form-label">{{\'password.required\' | translate}}</label>\n <div class="col-md-8">\n <input id="password" ng-model="editedLocation.password" name="locationPassword" placeholder="{{\'my.password.placeholder\' | translate}}"\n type="password" class="form-control" ng-required="editedLocation.authType === \'basic\'"/>\n </div>\n </div>\n </div>\n <div class="form-group row" ng-if="editedLocation.authType === \'signature\'">\n <div class="col-md-12">\n {{\'signature.auth.info\' | translate}}<a href="{{docBase}}/access-control.html#gdb-authentication"\n rel="noopener" target="_blank">Access Control / GDB authentication</a>{{\'signature.auth.info.last\' | translate}}\n </div>\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" ng-click="cancel();" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <button ng-click="ok();" form="addLocationForm" class="btn btn-primary" ng-disabled="form.$invalid">{{\'common.save.btn\' | translate}}</button>\n</div>\n\n\x3c!-- End editLocation.html --\x3e\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[376],{482:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='\x3c!-- Start editLocation.html --\x3e\n\n<div class="modal-header">\n\t<button type="button" class="close" ng-click="cancel();" aria-hidden="true"></button>\n\t<h3 class="modal-title">{{\'edit.location\' | translate}}</h3>\n</div>\n<div class="modal-body">\n <form id="addLocationForm" autocomplete="off" name="form">\n <div class="form-group row">\n <label class="col-md-4 col-form-label">{{\'auth.type.header\' | translate}}</label>\n <div class="col-md-8">\n <label class="col-form-label" gdb-tooltip="{{\'remote.location.no.auth.used.tooltip\' | translate}}">\n <input type="radio" name="authType" ng-model="editedLocation.authType" value="none"/>\n {{\'auth.type.none\' | translate}}\n </label>\n &nbsp;\n <label class="col-form-label" gdb-tooltip="{{\'basic.auth.type.tooltip\' | translate}}">\n <input type="radio" name="authType" ng-model="editedLocation.authType" value="basic"/>\n {{\'auth.type.basic\' | translate}}\n </label>\n &nbsp;\n <label class="col-form-label" gdb-tooltip="{{\'signature.auth.type.tooltip\' | translate}}">\n <input type="radio" name="authType" ng-model="editedLocation.authType" value="signature"/>\n {{\'auth.type.signature\' | translate}}\n </label>\n </div>\n </div>\n <div class="form-group row" ng-if="editedLocation.authType === \'none\'">\n <div class="col-md-12">{{\'remote.location.no.auth.used.header\' | translate}}</div>\n </div>\n <div ng-if="editedLocation.authType === \'basic\'">\n <div class="form-group row">\n <div class="col-md-12">{{\'basic.auth.type.constraint\' | translate}}</div>\n </div>\n <div class="form-group row">\n <label for="username" class="col-md-4 col-form-label">{{\'username.required\' | translate}}</label>\n <div class="col-md-8">\n <input id="username" ng-model="editedLocation.username" name="locationUsername" placeholder="{{\'my.user.placeholder\' | translate}}"\n class="form-control" ng-required="editedLocation.authType === \'basic\'"/>\n </div>\n </div>\n <div class="form-group row">\n <label for="password" class="col-md-4 col-form-label">{{\'password.required\' | translate}}</label>\n <div class="col-md-8">\n <input id="password" ng-model="editedLocation.password" name="locationPassword" placeholder="{{\'my.password.placeholder\' | translate}}"\n type="password" class="form-control" ng-required="editedLocation.authType === \'basic\'"/>\n </div>\n </div>\n </div>\n <div class="form-group row" ng-if="editedLocation.authType === \'signature\'">\n <div class="col-md-12">\n {{\'signature.auth.info\' | translate}}<a href="{{docBase}}/access-control.html#gdb-authentication"\n rel="noopener" target="_blank">Access Control / GDB authentication</a>{{\'signature.auth.info.last\' | translate}}\n </div>\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" ng-click="cancel();" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <button ng-click="ok();" form="addLocationForm" class="btn btn-primary" ng-disabled="form.$invalid">{{\'common.save.btn\' | translate}}</button>\n</div>\n\n\x3c!-- End editLocation.html --\x3e\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[379],{485:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{dialogTitle}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="form-group">\n <textarea id="wb-repository-file-textarea" class="form-control" rows="10" ng-model="fileContent"\n placeholder="{{\'update.file.content.placeholder\' | translate}}"\n uib-popover="{{\'update.file.content.tooltip\' | translate}}"\n popover-placement="bottom"\n popover-trigger="focus"></textarea>\n </div>\n</div>\n\n<div class="modal-footer">\n <div>\n <button type="button" ng-click="cancel()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-repository-saveFile" class="btn btn-primary" type="button"\n ng-click="ok()">{{\'common.save.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[377],{483:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button type="button" class="close" ng-click="cancel()"></button>\n <h4 class="modal-title">{{dialogTitle}}</h4>\n</div>\n\n<div class="modal-body">\n <div class="form-group">\n <textarea id="wb-repository-file-textarea" class="form-control" rows="10" ng-model="fileContent"\n placeholder="{{\'update.file.content.placeholder\' | translate}}"\n uib-popover="{{\'update.file.content.tooltip\' | translate}}"\n popover-placement="bottom"\n popover-trigger="focus"></textarea>\n </div>\n</div>\n\n<div class="modal-footer">\n <div>\n <button type="button" ng-click="cancel()" class="btn btn-secondary">{{\'common.cancel.btn\' | translate}}</button>\n <button id="wb-repository-saveFile" class="btn btn-primary" type="button"\n ng-click="ok()">{{\'common.save.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[380],{486:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='\x3c!-- Start editLocation.html --\x3e\n\n<div class="modal-header">\n\t<button class="close" ng-click="cancel();" aria-hidden="true"></button>\n\t<h3 class="modal-title">{{\'upload.repo.config.header\' | translate}}</h3>\n</div>\n<div class="modal-body">\n\t<div class="btn btn-outline-primary btn-lg btn-block" ng-if="!editRepoPage">\n\t\t<a ngf-select ngf-change="upload($files)" ngf-multiple="false" class="selectFiles pointer clearfix"\n\t\t accept=".ttl" gdb-tooltip="{{\'select.repo.config.tooltip\' | translate}}">\n\t\t\t<em class="icon-upload icon-lg pull-left" gdb-tooltip="Select files"></em>\n\t\t\t<div class="pull-left">\n\t\t\t\t<span>{{\'upload.ttl.file.btn\' | translate}}</span>\n\t\t\t\t<br>\n\t\t\t\t<small ng-hide="uploadFile" class="text-muted">{{\'no.file.selected.error\' | translate}}</small>\n\t\t\t\t<small ng-show="uploadFile" class="text-muted"\n translate="selected.file.msg"\n translate-value-name="{{uploadFile.name}}"></small>\n\t\t\t</div>\n\t\t\t<div ng-show="uploadFileLoader" onto-loader size="48" class="ot-loader pull-right"></div>\n\t\t</a>\n\t</div>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary" ng-click="cancel()">{{\'common.cancel.btn\' | translate}}</button>\n <button class="btn btn-primary" ng-click="ok()">{{\'common.create.btn\' | translate}}</button>\n</div>\n\n\x3c!-- End editLocation.html --\x3e\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[378],{484:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='\x3c!-- Start editLocation.html --\x3e\n\n<div class="modal-header">\n\t<button class="close" ng-click="cancel();" aria-hidden="true"></button>\n\t<h3 class="modal-title">{{\'upload.repo.config.header\' | translate}}</h3>\n</div>\n<div class="modal-body">\n\t<div class="btn btn-outline-primary btn-lg btn-block" ng-if="!editRepoPage">\n\t\t<a ngf-select ngf-change="upload($files)" ngf-multiple="false" class="selectFiles pointer clearfix"\n\t\t accept=".ttl" gdb-tooltip="{{\'select.repo.config.tooltip\' | translate}}">\n\t\t\t<em class="icon-upload icon-lg pull-left" gdb-tooltip="Select files"></em>\n\t\t\t<div class="pull-left">\n\t\t\t\t<span>{{\'upload.ttl.file.btn\' | translate}}</span>\n\t\t\t\t<br>\n\t\t\t\t<small ng-hide="uploadFile" class="text-muted">{{\'no.file.selected.error\' | translate}}</small>\n\t\t\t\t<small ng-show="uploadFile" class="text-muted"\n translate="selected.file.msg"\n translate-value-name="{{uploadFile.name}}"></small>\n\t\t\t</div>\n\t\t\t<div ng-show="uploadFileLoader" onto-loader size="48" class="ot-loader pull-right"></div>\n\t\t</a>\n\t</div>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary" ng-click="cancel()">{{\'common.cancel.btn\' | translate}}</button>\n <button class="btn btn-primary" ng-click="ok()">{{\'common.create.btn\' | translate}}</button>\n</div>\n\n\x3c!-- End editLocation.html --\x3e\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[381],{487:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div ng-init="getRepositorySize()" style="margin: -4px 0; padding: 10px">\n <div class="row">\n <label style="margin-right: 10px">{{\'location.label\' | translate}}</label>\n <span class="text-right pull-right">\n\t\t\t{{popoverRepo.location ? popoverRepo.location : \'Local\'}}\n\t\t</span>\n </div>\n\t<div class="row">\n\t\t<label style="margin-right: 10px">{{\'type.label\' | translate}}</label>\n\t\t<span class="text-right pull-right">\n\t\t\t{{toHumanReadableType(popoverRepo.type)}}\n\t\t</span>\n\t</div>\n\t<div class="row mb-1">\n\t\t<label style="margin-right: 10px">{{\'access.label\' | translate}}</label>\n\t\t<span class="text-right pull-right">\n\t\t\t{{(popoverRepo.writable && canWriteRepoInLocation(popoverRepo) && popoverRepo.type !== \'ontop\') ? \'read.write.label\' : \'read.only.label\' | translate}}\n\t\t</span>\n\t</div>\n\t<div ng-show="repositorySize.total >= 0">\n\t\t<div class="row" ng-show="repositorySize.total >= 0" style="margin-top: 0">\n\t\t\t\t<label style="margin-right: 10px">{{\'total.statements.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.total | currency:\'\':0}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class="row" ng-show="repositorySize.explicit >= 0" style="margin-top: 0">\n\t\t\t\t<label style="margin-right: 10px">{{\'explicit.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.explicit != 0 ? (repositorySize.explicit | currency:\'\':0) : 0}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class="row" ng-show="repositorySize.inferred >= 0" style="margin-top: 0">\n\t\t\t<label style="margin-right: 10px">{{\'inferred.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.inferred | currency:\'\':0}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class="row" ng-show="repositorySize.explicit >= 0" style="margin-top: 0">\n\t\t\t\t<label style="margin-right: 10px">{{\'expansion.ratio.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.explicit != 0 ? (repositorySize.total/repositorySize.explicit | currency:\'\') : \'-\'}}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n\t<div class="row" ng-hide="repositorySize.loading || repositorySize.total >= 0">\n\t\t{{\'size.info.not.available\' | translate}}\n\t</div>\n\t<div class="row" class="row" ng-show="repositorySize.loading">\n\t\t{{\'common.loading\' | translate}}\n\t</div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[379],{485:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div ng-init="getRepositorySize()" style="margin: -4px 0; padding: 10px">\n <div class="row">\n <label style="margin-right: 10px">{{\'location.label\' | translate}}</label>\n <span class="text-right pull-right">\n\t\t\t{{popoverRepo.location ? popoverRepo.location : \'Local\'}}\n\t\t</span>\n </div>\n\t<div class="row">\n\t\t<label style="margin-right: 10px">{{\'type.label\' | translate}}</label>\n\t\t<span class="text-right pull-right">\n\t\t\t{{toHumanReadableType(popoverRepo.type)}}\n\t\t</span>\n\t</div>\n\t<div class="row mb-1">\n\t\t<label style="margin-right: 10px">{{\'access.label\' | translate}}</label>\n\t\t<span class="text-right pull-right">\n\t\t\t{{(popoverRepo.writable && canWriteRepoInLocation(popoverRepo) && popoverRepo.type !== \'ontop\') ? \'read.write.label\' : \'read.only.label\' | translate}}\n\t\t</span>\n\t</div>\n\t<div ng-show="repositorySize.total >= 0">\n\t\t<div class="row" ng-show="repositorySize.total >= 0" style="margin-top: 0">\n\t\t\t\t<label style="margin-right: 10px">{{\'total.statements.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.total | currency:\'\':0}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class="row" ng-show="repositorySize.explicit >= 0" style="margin-top: 0">\n\t\t\t\t<label style="margin-right: 10px">{{\'explicit.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.explicit != 0 ? (repositorySize.explicit | currency:\'\':0) : 0}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class="row" ng-show="repositorySize.inferred >= 0" style="margin-top: 0">\n\t\t\t<label style="margin-right: 10px">{{\'inferred.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.inferred | currency:\'\':0}}\n\t\t\t</span>\n\t\t</div>\n\t\t<div class="row" ng-show="repositorySize.explicit >= 0" style="margin-top: 0">\n\t\t\t\t<label style="margin-right: 10px">{{\'expansion.ratio.label\' | translate}}</label>\n\t\t\t<span class="text-right pull-right">\n\t\t\t\t{{repositorySize.explicit != 0 ? (repositorySize.total/repositorySize.explicit | currency:\'\') : \'-\'}}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n\t<div class="row" ng-hide="repositorySize.loading || repositorySize.total >= 0">\n\t\t{{\'size.info.not.available\' | translate}}\n\t</div>\n\t<div class="row" class="row" ng-show="repositorySize.loading">\n\t\t{{\'common.loading\' | translate}}\n\t</div>\n</div>\n';return __p}}}]);
@@ -0,0 +1 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[38,99,206,207,208,209,210],{105:function(e,r,t){"use strict";t.r(r),t.d(r,"JdbcDriverType",(function(){return o}));const o={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},170:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopConnectionInformation",(function(){return o}));class o{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},171:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopDriverData",(function(){return n}));var o=t(105);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===o.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===o.JdbcDriverType.SNOWFLAKE}}},172:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopFileInfo",(function(){return o}));class o{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},173:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopFileType",(function(){return o}));const o={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},174:function(e,r,t){"use strict";t.r(r),t.d(r,"OntopRepositoryError",(function(){return o}));class o extends Error{}},277:function(e,r,t){"use strict";t.r(r);var o=t(145),n=t(173),a=t(170),i=t(172),s=t(174),p=t(171),c=t(105);function l(e,r,t,l,d){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(m){m.isGenericDriver=!0,m.defaultUrlTemplate="jdbc:database://localhost:port/database_name",m.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",m.ontopFileType=n.OntopFileType,m.selectedDriver=new p.OntopDriverData,m.supportedDriversData=[],m.formData={connectionInformation:new a.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},m.selectDriver=e=>{m.selectedDriver=m.supportedDriversData.find(r=>r.driverType===e),m.isGenericDriver=p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType),m.editRepoPage&&m.currentOntopRepoInfo&&m.currentOntopRepoInfo.connectionInformation.driverType===e?m.formData=_.cloneDeep(m.currentOntopRepoInfo):(w(),m.formData.connectionInformation.driverType=m.selectedDriver.driverType),m.formData.connectionInformation.driverClass=m.selectedDriver.driverClass,m.updateUrl()},m.getOntopFileInfo=e=>m.formData.settings.ontopFiles.find(r=>e===r.type),m.getHostNameLabel=()=>{const e=p.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return d.instant(e)+"*"},m.getDatabaseNameLabel=()=>{let e="";switch(m.selectedDriver.driverType){case c.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case c.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case c.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return d.instant(e)},m.updateUrl=()=>{const e=u()||"";m.formData.connectionInformation.url=e+m.formData.connectionInformation.urlUserInput},m.isTestConnectionDisabled=()=>{const e=m.formData.connectionInformation,r=m.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port))||!(p.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName)},m.testConnection=()=>{b().then(R).then(O).then(g).then(N).then(h).then(()=>r.validateOntopPropertiesConnection(m.repositoryInfo)).then(()=>t.success(d.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof s.OntopRepositoryError?t.error(e.message):I(d.instant("ontop.repo.failed.to.connect"),e)})},m.editFile=t=>{const n=m.repositoryInfo.params[t.type].label,a=d.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=m.repositoryInfo.params[t.type];return e?e.value:""},dialogTitle:()=>a}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,m.repositoryInfo.location).success(e=>{t.fileName=Object(o.getFileName)(e.fileLocation),m.repositoryInfo.params[t.type].value=e.fileLocation}).error(e=>{I(d.instant("common.error"),e)})})},m.uploadOntopFile=(e,r)=>{if(e&&e.length){const o=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:o,location:m.repositoryInfo.location}};l.upload(n).success(e=>{e.success?(r.fileName=o.name,m.repositoryInfo.params[r.type].value=e.fileLocation):t.error(e.errorMessage)}).error(e=>{I(d.instant("common.error"),e),m.uploadFile=""}).finally(()=>{r.loading=!1})}},m.updateOntopRepo=()=>{const e=m.editRepoPage?m.editRepository:m.createRepo;T().then(b).then(R).then(O).then(g).then(N).then(F).then(h).then(e).catch(e=>{e instanceof s.OntopRepositoryError?t.error(e.message):console.log(e)})},m.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const t=u();if(!t)return;const o=e.ctrlKey||e.metaKey;if(o&&65===r||o&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<t.length&&(e.preventDefault(),e.stopPropagation()),n<t.length&&(e.preventDefault(),e.stopPropagation())},m.onKeyUpInUrlInput=()=>{f()};const f=()=>{const e=u();e&&m.formData.connectionInformation.url.startsWith(e)?m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url.substring(e.length):m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url},u=()=>p.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?D():v(),D=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},v=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",""+r.hostName)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},y=e=>{m.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},h=()=>{y(!0);const e=m.formData.connectionInformation,t={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:m.formData.settings.additionalProperties};return r.updatePropertiesFile(m.repositoryInfo.params.propertiesFile.value,t,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{m.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{I(d.instant("common.error"),e)}).finally(()=>y(!1))},I=(e,r)=>{const o=getError(r);t.error(o,e)},b=()=>p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.host_name")}))),O=()=>p.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.database_name")}))),g=()=>m.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.driver_class")}))),N=()=>m.formData.connectionInformation.url?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.url")}))),T=()=>m.repositoryInfo.id?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("empty.repoid.warning"))),F=()=>m.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new s.OntopRepositoryError(d.instant("ontop.repo.missing.required.file",{fileName:m.repositoryInfo.params[n.OntopFileType.OBDA].label}))),R=()=>m.selectedDriver.portRequired&&!m.formData.connectionInformation.port?Promise.reject(new s.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.port")}))):Promise.resolve(),w=()=>{m.formData={connectionInformation:new a.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new i.OntopFileInfo(e);m.formData.settings.ontopFiles.push(r)}),m.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(m.repositoryInfo).success(e=>{m.supportedDriversData=e}).error(e=>{I(d.instant("common.error"),e)}).then(()=>{m.editRepoPage?(y(!0),r.loadPropertiesFile(m.repositoryInfo.params.propertiesFile.value,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{let r=m.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=m.supportedDriversData.find(e=>p.OntopDriverData.isGenericDriver(e.driverType))),m.selectDriver(r.driverType),m.formData.connectionInformation.driverType=r.driverType,m.formData.connectionInformation.driverClass=e.driverClass,m.formData.connectionInformation.password=e.password,m.formData.connectionInformation.username=e.userName,m.formData.connectionInformation.url=e.url,m.formData.settings.additionalProperties=e.additionalProperties,p.OntopDriverData.isGenericDriver(r.driverType)||(m.formData.connectionInformation.hostName=e.hostName,m.formData.connectionInformation.databaseName=e.databaseName,m.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),f(),m.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=m.repositoryInfo.params[e],t=m.getOntopFileInfo(e);r&&(t.fileName=Object(o.getFileName)(r.value))}),m.currentOntopRepoInfo=_.cloneDeep(m.formData)}).error(e=>{I(d.instant("common.error"),e)}).finally(()=>{y(!1)})):m.selectDriver(c.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",l),l.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[382],{488:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="help-info">\n <h4>{{title}}</h4>\n <p ng-bind-html="helpInfo">\n \x3c!--{{helpInfo}}--\x3e\n </p>\n</div>';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[380],{486:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="help-info">\n <h4>{{title}}</h4>\n <p ng-bind-html="helpInfo">\n \x3c!--{{helpInfo}}--\x3e\n </p>\n</div>';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[383],{489:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-list.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="agent-list-component">\n <div class="agents-filter-dropdown btn-group" uib-dropdown>\n <button type="button" uib-dropdown-toggle class="btn btn-outline-primary dropdown-toggle">\n <i class="fa-kit fa-gdb-repo-graphdb mr-1"></i>\n <span class="selected-filter">{{selectedAgentsFilter.label}}</span>\n <i class="fa-regular fa-filter" gdb-tooltip="{{\'ttyg.agent.btn.filter.tooltip\' | translate}}"></i>\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="filterModel in agentListFilterModel">\n <button type="button" class="dropdown-item" ng-click="onAgentsFilterChange(filterModel)"\n data-value="{{filterModel.label}}">\n {{filterModel.label}}\n </button>\n </li>\n </ul>\n </div>\n\n <div class="agent-list">\n <div ng-if="!agentList.agents.length" class="alert alert-warning">\n {{\'ttyg.agent.messages.no_agents\' | translate}}\n </div>\n\n <div ng-repeat="agent in agentList.filterableAgents">\n <div ng-if="!deletingAgent || deletingAgent.agentId !== agent.id" class="agent-item"\n ng-class="{\'selected\': agent.id === selectedAgent.id}">\n <div class="agent-info" ng-if="agent.repositoryId">\n <div class="agent-name">{{agent.name}}</div>\n <div class="related-repository">\n <i class="fa-kit fa-gdb-repo-graphdb"></i>\n {{agent.repositoryId}}\n </div>\n </div>\n <div class="agent-info agent-no-repo" ng-if="!agent.repositoryId">\n <div class="agent-name">{{agent.name}}</div>\n <div class="related-repository">\n <i class="fa-regular fa-triangle-exclamation text-warning"></i>\n {{\'ttyg.agent.deleted_repository\' | translate}}\n </div>\n </div>\n <div class="btn-group">\n <button class="btn btn-link secondary btn-sm open-agent-actions-btn"\n data-toggle="dropdown" aria-expanded="false"\n ng-if="true"\n ng-click="openAgentActionMenu()"\n ng-disabled="false">\n <i class="fa-regular fa-ellipsis"></i>\n </button>\n <div class="dropdown-menu dropdown-menu-right agent-actions-menu">\n <button class="dropdown-item edit-agent-btn" type="button" ng-click="onEditAgent(agent)">\n <i class="fa-regular fa-gear"></i>\n <span>{{\'ttyg.agent.btn.edit_agent.label\' | translate}}</span>\n </button>\n <button class="dropdown-item clone-agent-btn" type="button" ng-click="onCloneAgent(agent)">\n <i class="fa-regular fa-clone"></i>\n <span>{{\'ttyg.agent.btn.clone_agent.label\' | translate}}</span>\n </button>\n <div class="dropdown-divider"></div>\n <button class="dropdown-item delete-agent-btn" type="button" ng-click="onDeleteAgent(agent)">\n <i class="fa-regular fa-trash-can"></i>\n <span>{{\'ttyg.agent.btn.delete_agent.label\' | translate}}</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class="deleting-agent-loader" ng-if="deletingAgent.agentId === agent.id && deletingAgent.inProgress"\n onto-loader-fancy message="{{\'ttyg.agent.deleting_agent\' | translate}}"\n size="25"></div>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[381],{487:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-list.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="agent-list-component">\n <div class="agents-filter-dropdown btn-group" uib-dropdown>\n <button type="button" uib-dropdown-toggle class="btn btn-outline-primary dropdown-toggle">\n <i class="fa-kit fa-gdb-repo-graphdb mr-1"></i>\n <span class="selected-filter">{{selectedAgentsFilter.label}}</span>\n <i class="fa-regular fa-filter" gdb-tooltip="{{\'ttyg.agent.btn.filter.tooltip\' | translate}}"></i>\n </button>\n <ul class="dropdown-menu" role="menu">\n <li ng-repeat="filterModel in agentListFilterModel">\n <button type="button" class="dropdown-item" ng-click="onAgentsFilterChange(filterModel)"\n data-value="{{filterModel.label}}">\n {{filterModel.label}}\n </button>\n </li>\n </ul>\n </div>\n\n <div class="agent-list">\n <div ng-if="!agentList.agents.length" class="alert alert-warning">\n {{\'ttyg.agent.messages.no_agents\' | translate}}\n </div>\n\n <div ng-repeat="agent in agentList.filterableAgents">\n <div ng-if="!deletingAgent || deletingAgent.agentId !== agent.id" class="agent-item"\n ng-class="{\'selected\': agent.id === selectedAgent.id}">\n <div class="agent-info" ng-if="agent.repositoryId">\n <div class="agent-name">{{agent.name}}</div>\n <div class="related-repository">\n <i class="fa-kit fa-gdb-repo-graphdb"></i>\n {{agent.repositoryId}}\n </div>\n </div>\n <div class="agent-info agent-no-repo" ng-if="!agent.repositoryId">\n <div class="agent-name">{{agent.name}}</div>\n <div class="related-repository">\n <i class="fa-regular fa-triangle-exclamation text-warning"></i>\n {{\'ttyg.agent.deleted_repository\' | translate}}\n </div>\n </div>\n <div class="btn-group">\n <button class="btn btn-link secondary btn-sm open-agent-actions-btn"\n data-toggle="dropdown" aria-expanded="false"\n ng-if="true"\n ng-click="openAgentActionMenu()"\n ng-disabled="false">\n <i class="fa-regular fa-ellipsis"></i>\n </button>\n <div class="dropdown-menu dropdown-menu-right agent-actions-menu">\n <button class="dropdown-item edit-agent-btn" type="button" ng-click="onEditAgent(agent)">\n <i class="fa-regular fa-gear"></i>\n <span>{{\'ttyg.agent.btn.edit_agent.label\' | translate}}</span>\n </button>\n <button class="dropdown-item clone-agent-btn" type="button" ng-click="onCloneAgent(agent)">\n <i class="fa-regular fa-clone"></i>\n <span>{{\'ttyg.agent.btn.clone_agent.label\' | translate}}</span>\n </button>\n <div class="dropdown-divider"></div>\n <button class="dropdown-item delete-agent-btn" type="button" ng-click="onDeleteAgent(agent)">\n <i class="fa-regular fa-trash-can"></i>\n <span>{{\'ttyg.agent.btn.delete_agent.label\' | translate}}</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class="deleting-agent-loader" ng-if="deletingAgent.agentId === agent.id && deletingAgent.inProgress"\n onto-loader-fancy message="{{\'ttyg.agent.deleting_agent\' | translate}}"\n size="25"></div>\n </div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[384],{490:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-select-menu.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="btn-group agent-select-menu" uib-dropdown>\n <button type="button" class="btn dropdown-toggle-btn" uib-dropdown-toggle\n ng-attr-title="{{selectedAgent && !selectedAgent.isDeleted && selectedAgent.repositoryId ? (selectedAgent.name + \' &middot; \' + selectedAgent.repositoryId) : null}}">\n <span ng-if="!selectedAgent">{{\'ttyg.agent.agent_select_menu.no_selection_label\' | translate}}</span>\n <span ng-if="selectedAgent && !selectedAgent.isDeleted && selectedAgent.repositoryId">\n <span class="agent-name">{{selectedAgent.name}}</span> &middot; {{selectedAgent.repositoryId}}\n </span>\n <span ng-if="selectedAgent && !selectedAgent.isDeleted && !selectedAgent.repositoryId">\n <span class="agent-name">{{selectedAgent.name}}</span> &middot; <i class="fa-regular fa-triangle-exclamation text-warning"></i>\n {{\'ttyg.agent.deleted_repository\' | translate}}\n </span>\n <span ng-if="selectedAgent && selectedAgent.isDeleted" class="text-warning">\n <i class="fa-regular fa-triangle-exclamation"></i>\n {{\'ttyg.agent.agent_select_menu.deleted_agent\' | translate}}\n </span>\n <span class="caret"></span>\n </button>\n <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button">\n <li ng-repeat="agentOption in agentOptionsList" role="menuitem" class="agent-menu-item"\n ng-class="{\'selected\': agentOption.selected}">\n <a href="#" ng-if="agentOption.data.agent.repositoryId" class="agent-with-repo-item"\n ng-click="onAgentSelected(agentOption.data.agent)">\n <span class="agent-name">{{agentOption.label}}</span> &middot;\n <span class="repository-id">{{agentOption.data.agent.repositoryId}}</span>\n </a>\n <a href="#" ng-if="!agentOption.data.agent.repositoryId" class="agent-without-repo-item"\n ng-click="onAgentWithoutRepoSelected(agentOption)">\n <span class="agent-name">{{agentOption.label}}</span> &middot;\n <i class="fa-regular fa-triangle-exclamation text-warning"></i>\n <span class="repository-id">{{\'ttyg.agent.deleted_repository\' | translate}}</span>\n </a>\n </li>\n </ul>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[382],{488:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-select-menu.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="btn-group agent-select-menu" uib-dropdown>\n <button type="button" class="btn dropdown-toggle-btn" uib-dropdown-toggle\n ng-attr-title="{{selectedAgent && !selectedAgent.isDeleted && selectedAgent.repositoryId ? (selectedAgent.name + \' &middot; \' + selectedAgent.repositoryId) : null}}">\n <span ng-if="!selectedAgent">{{\'ttyg.agent.agent_select_menu.no_selection_label\' | translate}}</span>\n <span ng-if="selectedAgent && !selectedAgent.isDeleted && selectedAgent.repositoryId">\n <span class="agent-name">{{selectedAgent.name}}</span> &middot; {{selectedAgent.repositoryId}}\n </span>\n <span ng-if="selectedAgent && !selectedAgent.isDeleted && !selectedAgent.repositoryId">\n <span class="agent-name">{{selectedAgent.name}}</span> &middot; <i class="fa-regular fa-triangle-exclamation text-warning"></i>\n {{\'ttyg.agent.deleted_repository\' | translate}}\n </span>\n <span ng-if="selectedAgent && selectedAgent.isDeleted" class="text-warning">\n <i class="fa-regular fa-triangle-exclamation"></i>\n {{\'ttyg.agent.agent_select_menu.deleted_agent\' | translate}}\n </span>\n <span class="caret"></span>\n </button>\n <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button">\n <li ng-repeat="agentOption in agentOptionsList" role="menuitem" class="agent-menu-item"\n ng-class="{\'selected\': agentOption.selected}">\n <a href="#" ng-if="agentOption.data.agent.repositoryId" class="agent-with-repo-item"\n ng-click="onAgentSelected(agentOption.data.agent)">\n <span class="agent-name">{{agentOption.label}}</span> &middot;\n <span class="repository-id">{{agentOption.data.agent.repositoryId}}</span>\n </a>\n <a href="#" ng-if="!agentOption.data.agent.repositoryId" class="agent-without-repo-item"\n ng-click="onAgentWithoutRepoSelected(agentOption)">\n <span class="agent-name">{{agentOption.label}}</span> &middot;\n <i class="fa-regular fa-triangle-exclamation text-warning"></i>\n <span class="repository-id">{{\'ttyg.agent.deleted_repository\' | translate}}</span>\n </a>\n </li>\n </ul>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[385],{491:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-item-details.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="chat-detail">\n <div class="user-message" ng-if="chatItemDetail.question">\n <div class="question alert-help">\n {{ chatItemDetail.question.message }}\n </div>\n </div>\n <div class="answers" ng-repeat="answer in chatItemDetail.answers">\n <div class="assistant">\n <div class="assistant-icon alert-help"\n gdb-tooltip="{{\'ttyg.chat_panel.labels.agent_name\' | translate : {agentName: agentNameByIdMap[chatItemDetail.agentId]} }}">\n <i class="fa-regular fa-message-bot"></i>\n </div>\n <div class="assistant-message">\n <markdown-content class="answer" content="{{answer.message}}" options="markdownContentOptions"></markdown-content>\n <div class="actions" ng-class="{\'hidden-actions\': !explainResponseModel[answer.id].expanded && (!showActions || !$last)}">\n <button class="btn btn-link btn-sm regenerate-question-btn"\n ng-click="regenerateQuestion()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.chat_panel.btn.regenerate.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <copy-to-clipboard class="btn-sm" tooltip-text="ttyg.chat_panel.btn.copy_answer.tooltip"\n text-to-copy="{{answer.message}}"></copy-to-clipboard>\n <button class="btn btn-link btn-link-only-icons btn-sm explain-response-btn"\n ng-click="explainResponse(answer.id)"\n ng-disabled="disabled && !explainResponseModel[answer.id]"\n gdb-tooltip="{{\'ttyg.chat_panel.btn.explain_response.tooltip\' | translate}}">\n <i class="fa-regular fa-wand-magic-sparkles"></i>\n <i class="fa-regular fa-chevron-up toggle-explain-response-icon"\n ng-class="{expanded: explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded}"></i>\n </button>\n </div>\n <div class="derived-answer-hint"\n ng-if="showActions && $last && explainResponseModel[answer.id].expanded">\n <div ng-bind-html="\'ttyg.chat_panel.btn.derive_answer.hint\' | htmlTranslate"></div>\n <button class="btn btn-secondary deliver-answer-btn" ng-click="onAskHowAnswerWasDerived()">\n {{ \'ttyg.chat_panel.btn.derive_answer.label\' | translate }}\n </button>\n </div>\n <div ng-if="loadingExplainResponse[answer.id]" onto-loader-new size="40"></div>\n <div class="explain-responses" ng-if="explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded">\n <div ng-if="!explainResponseModel[answer.id].queryMethods.items.length"\n class="explain-response">\n {{ \'ttyg.chat_panel.labels.explain_no_methods\' | translate }}\n </div>\n <div ng-if="explainResponseModel[answer.id].queryMethods.items"\n class="explain-response"\n ng-repeat="queryMethod in explainResponseModel[answer.id].queryMethods.items">\n <div class="explain-call">\n <div class="header" gdb-tooltip="">\n <div class="label">\n <span class="query-method" ng-bind-html="\'ttyg.chat_panel.labels.called\' | htmlTranslate:{name: queryMethod.name}">\n </span>:\n <span class="query-method-details" ng-bind="(\'ttyg.chat_panel.query_desc.\' + queryMethod.name) | translate">\n </span>\n </div>\n <div class="actions">\n <open-in-sparql-editor\n ng-if="queryMethod.queryType === ExplainQueryType.SPARQL"\n execute-query="{{!queryMethod.errorMessage}}"\n repository-id="{{repositoryId}}"\n query="{{queryMethod.query}}">\n </open-in-sparql-editor>\n <copy-to-clipboard tooltip-text="ttyg.chat_panel.btn.copy_{{ queryMethod.queryType }}.tooltip"\n text-to-copy="{{queryMethod.query}}"></copy-to-clipboard>\n </div>\n </div>\n <div class="query">\n <pre><code>{{queryMethod.query}}</code></pre>\n </div>\n <div ng-if="showRawQuery(queryMethod)" class="raw-query">\n <span class="label">{{\'ttyg.chat_panel.labels.raw_query\' | translate}}:</span>\n <span class="content">{{queryMethod.rawQuery}}</span>\n <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_raw_query.tooltip"\n text-to-copy="{{queryMethod.rawQuery}}"></copy-to-clipboard>\n </div>\n <div ng-if="queryMethod.errorMessage" class="alert no-icon alert-warning error-message">\n <div class="error-header">\n <div class="label">{{\'ttyg.chat_panel.labels.error_message\' | translate}}:</div>\n <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_error_message.tooltip"\n text-to-copy="{{queryMethod.errorMessage}}"></copy-to-clipboard>\n </div>\n <div class="error-content">{{queryMethod.errorMessage}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div ng-if="asking" onto-loader-new size="40"></div>\n</div>\n\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[383],{489:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-item-details.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="chat-detail">\n <div class="user-message" ng-if="chatItemDetail.question">\n <div class="question alert-help">\n {{ chatItemDetail.question.message }}\n </div>\n </div>\n <div class="answers" ng-repeat="answer in chatItemDetail.answers">\n <div class="assistant">\n <div class="assistant-icon alert-help"\n gdb-tooltip="{{\'ttyg.chat_panel.labels.agent_name\' | translate : {agentName: agentNameByIdMap[chatItemDetail.agentId]} }}">\n <i class="fa-regular fa-message-bot"></i>\n </div>\n <div class="assistant-message">\n <markdown-content class="answer" content="{{answer.message}}" options="markdownContentOptions"></markdown-content>\n <div class="actions" ng-class="{\'hidden-actions\': !explainResponseModel[answer.id].expanded && (!showActions || !$last)}">\n <button class="btn btn-link btn-sm regenerate-question-btn"\n ng-click="regenerateQuestion()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.chat_panel.btn.regenerate.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <copy-to-clipboard class="btn-sm" tooltip-text="ttyg.chat_panel.btn.copy_answer.tooltip"\n text-to-copy="{{answer.message}}"></copy-to-clipboard>\n <button class="btn btn-link btn-link-only-icons btn-sm explain-response-btn"\n ng-click="explainResponse(answer.id)"\n ng-disabled="disabled && !explainResponseModel[answer.id]"\n gdb-tooltip="{{\'ttyg.chat_panel.btn.explain_response.tooltip\' | translate}}">\n <i class="fa-regular fa-wand-magic-sparkles"></i>\n <i class="fa-regular fa-chevron-up toggle-explain-response-icon"\n ng-class="{expanded: explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded}"></i>\n </button>\n </div>\n <div class="derived-answer-hint"\n ng-if="showActions && $last && explainResponseModel[answer.id].expanded">\n <div ng-bind-html="\'ttyg.chat_panel.btn.derive_answer.hint\' | htmlTranslate"></div>\n <button class="btn btn-secondary deliver-answer-btn" ng-click="onAskHowAnswerWasDerived()">\n {{ \'ttyg.chat_panel.btn.derive_answer.label\' | translate }}\n </button>\n </div>\n <div ng-if="loadingExplainResponse[answer.id]" onto-loader-new size="40"></div>\n <div class="explain-responses" ng-if="explainResponseModel[answer.id] && explainResponseModel[answer.id].expanded">\n <div ng-if="!explainResponseModel[answer.id].queryMethods.items.length"\n class="explain-response">\n {{ \'ttyg.chat_panel.labels.explain_no_methods\' | translate }}\n </div>\n <div ng-if="explainResponseModel[answer.id].queryMethods.items"\n class="explain-response"\n ng-repeat="queryMethod in explainResponseModel[answer.id].queryMethods.items">\n <div class="explain-call">\n <div class="header" gdb-tooltip="">\n <div class="label">\n <span class="query-method" ng-bind-html="\'ttyg.chat_panel.labels.called\' | htmlTranslate:{name: queryMethod.name}">\n </span>:\n <span class="query-method-details" ng-bind="(\'ttyg.chat_panel.query_desc.\' + queryMethod.name) | translate">\n </span>\n </div>\n <div class="actions">\n <open-in-sparql-editor\n ng-if="queryMethod.queryType === ExplainQueryType.SPARQL"\n execute-query="{{!queryMethod.errorMessage}}"\n repository-id="{{repositoryId}}"\n query="{{queryMethod.query}}">\n </open-in-sparql-editor>\n <copy-to-clipboard tooltip-text="ttyg.chat_panel.btn.copy_{{ queryMethod.queryType }}.tooltip"\n text-to-copy="{{queryMethod.query}}"></copy-to-clipboard>\n </div>\n </div>\n <div class="query">\n <pre><code>{{queryMethod.query}}</code></pre>\n </div>\n <div ng-if="showRawQuery(queryMethod)" class="raw-query">\n <span class="label">{{\'ttyg.chat_panel.labels.raw_query\' | translate}}:</span>\n <span class="content">{{queryMethod.rawQuery}}</span>\n <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_raw_query.tooltip"\n text-to-copy="{{queryMethod.rawQuery}}"></copy-to-clipboard>\n </div>\n <div ng-if="queryMethod.errorMessage" class="alert no-icon alert-warning error-message">\n <div class="error-header">\n <div class="label">{{\'ttyg.chat_panel.labels.error_message\' | translate}}:</div>\n <copy-to-clipboard class="copy-to-clipboard-btn" tooltip-text="ttyg.chat_panel.btn.copy_error_message.tooltip"\n text-to-copy="{{queryMethod.errorMessage}}"></copy-to-clipboard>\n </div>\n <div class="error-content">{{queryMethod.errorMessage}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div ng-if="asking" onto-loader-new size="40"></div>\n</div>\n\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[386],{492:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-list.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="chat-list-component">\n <div class="chat-list">\n <div ng-repeat="chatGroup in chatList.chatsByDay" class="chat-group">\n <label>{{getHumanReadableTimestamp(chatGroup.timestamp)}}</label>\n <ul>\n <li ng-repeat="chat in chatGroup.chats track by chat.hash" class="chat-item"\n ng-class="{\'selected\': chat.id === selectedChat.id, \'edited\': renamedChat && chat.id === renamedChat.id}">\n <div ng-if="!deletingChat || deletingChat.chatId !== chat.id" class="chat-detail">\n <div class="chat-name">\n <inline-editable-text\n field-name="name"\n source="chat"\n is-editing="renamedChat && chat.id === renamedChat.id"\n on-save="onRenameChat(newText, source)"\n on-cancel="onCancelChatRenaming()"\n on-dblclick="onSelectChatForRenaming(chat)"\n on-click="onSelectChat(source)">\n </inline-editable-text>\n </div>\n <div ng-if="chat.id && (!renamedChat || chat.id !== renamedChat.id)" class="btn-group">\n <button class="btn btn-link secondary btn-sm open-chat-actions-btn"\n data-toggle="dropdown" aria-expanded="false"\n ng-if="true"\n ng-click="openChatActionMenu()"\n ng-disabled="false">\n <i class="fa-regular fa-ellipsis"></i>\n </button>\n <div class="dropdown-menu dropdown-menu-right chat-actions-menu">\n <button class="dropdown-item export-chat-btn" type="button" ng-click="onExportChat(chat)">\n <i class="fa-regular fa-arrow-down-to-line"></i>\n <span>{{\'ttyg.chat.btn.export_chat.label\' | translate}}</span>\n </button>\n <button class="dropdown-item rename-chat-btn" type="button" ng-click="onSelectChatForRenaming(chat)">\n <i class="fa-regular fa-pen"></i>\n <span>{{\'ttyg.chat.btn.rename_chat.label\' | translate}}</span>\n </button>\n <div class="dropdown-divider"></div>\n <button class="dropdown-item delete-chat-btn" type="button" ng-click="onDeleteChat(chat)">\n <i class="fa-regular fa-trash-can"></i>\n <span>{{\'ttyg.chat.btn.delete_chat.label\' | translate}}</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class="deleting-chat-loader" ng-if="deletingChat && deletingChat.chatId === chat.id && deletingChat.inProgress"\n onto-loader-fancy message="{{\'ttyg.chat.deleting_chat\' | translate}}"\n size="25"></div>\n </li>\n </ul>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[384],{490:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-list.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="chat-list-component">\n <div class="chat-list">\n <div ng-repeat="chatGroup in chatList.chatsByDay" class="chat-group">\n <label>{{getHumanReadableTimestamp(chatGroup.timestamp)}}</label>\n <ul>\n <li ng-repeat="chat in chatGroup.chats track by chat.hash" class="chat-item"\n ng-class="{\'selected\': chat.id === selectedChat.id, \'edited\': renamedChat && chat.id === renamedChat.id}">\n <div ng-if="!deletingChat || deletingChat.chatId !== chat.id" class="chat-detail">\n <div class="chat-name">\n <inline-editable-text\n field-name="name"\n source="chat"\n is-editing="renamedChat && chat.id === renamedChat.id"\n on-save="onRenameChat(newText, source)"\n on-cancel="onCancelChatRenaming()"\n on-dblclick="onSelectChatForRenaming(chat)"\n on-click="onSelectChat(source)">\n </inline-editable-text>\n </div>\n <div ng-if="chat.id && (!renamedChat || chat.id !== renamedChat.id)" class="btn-group">\n <button class="btn btn-link secondary btn-sm open-chat-actions-btn"\n data-toggle="dropdown" aria-expanded="false"\n ng-if="true"\n ng-click="openChatActionMenu()"\n ng-disabled="false">\n <i class="fa-regular fa-ellipsis"></i>\n </button>\n <div class="dropdown-menu dropdown-menu-right chat-actions-menu">\n <button class="dropdown-item export-chat-btn" type="button" ng-click="onExportChat(chat)">\n <i class="fa-regular fa-arrow-down-to-line"></i>\n <span>{{\'ttyg.chat.btn.export_chat.label\' | translate}}</span>\n </button>\n <button class="dropdown-item rename-chat-btn" type="button" ng-click="onSelectChatForRenaming(chat)">\n <i class="fa-regular fa-pen"></i>\n <span>{{\'ttyg.chat.btn.rename_chat.label\' | translate}}</span>\n </button>\n <div class="dropdown-divider"></div>\n <button class="dropdown-item delete-chat-btn" type="button" ng-click="onDeleteChat(chat)">\n <i class="fa-regular fa-trash-can"></i>\n <span>{{\'ttyg.chat.btn.delete_chat.label\' | translate}}</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class="deleting-chat-loader" ng-if="deletingChat && deletingChat.chatId === chat.id && deletingChat.inProgress"\n onto-loader-fancy message="{{\'ttyg.chat.deleting_chat\' | translate}}"\n size="25"></div>\n </li>\n </ul>\n </div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[387],{493:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-panel.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="chat-panel h-100" ng-class="chat.chatHistory.isEmpty() && !askingChatItem ? \'no-content\' : \'\'">\n\n <div class="chat-loading" ng-if="loadingChat" onto-loader-new size="40"></div>\n\n <div class="chat-details" ng-class="{\'hidden\': !chat}" ng-if="!loadingChat && !chat.chatHistory.isEmpty() || askingChatItem">\n <div ng-repeat="chatItemDetail in chat.chatHistory.items">\n\n \x3c!-- Before the first chat item is displayed, show the agent change info if the agent of the first response is different from the selected agent. --\x3e\n \x3c!-- <div class="alert alert-info agent-changed-info" ng-if="$first && selectedAgent && chatItemDetail.agentId !== selectedAgent.id"--\x3e\n \x3c!-- ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | htmlTranslate: {agentName: getAgentName(chatItemDetail.agentId)}">--\x3e\n \x3c!-- </div>--\x3e\n\n \x3c!-- Before each chat item, except the first one, is displayed, show the agent change info if the currently used agent is different from the previous one. --\x3e\n <div class="alert alert-info agent-changed-info"\n ng-if="!$first && chatItemDetail.agentId !== chat.chatHistory.items[$index - 1].agentId"\n ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | htmlTranslate: {agentName: getAgentName(chatItemDetail.agentId)}">\n </div>\n\n <chat-item-detail\n chat-item-detail="chatItemDetail"\n show-actions="!askingChatItem && $last"\n on-regenerate-question="regenerateQuestion(chatItem)"\n on-copy-answer-to-clipboard="copyAnswerToClipboard(chatItem)"\n on-ask-how-delivered-answer="onAskHowDeliveredAnswer(chatItem)"\n disabled="askingChatItem">\n </chat-item-detail>\n </div>\n\n \x3c!-- After all chat items are displayed, show the agent change info if the selected agent is different from the one used in the last chat item. --\x3e\n <div class="alert alert-info agent-changed-info"\n ng-if="askingChatItem && selectedAgent && chat.chatHistory.items.length && chat.chatHistory.items[chat.chatHistory.items.length -1].agentId !== selectedAgent.id"\n ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | htmlTranslate: {agentName: getAgentName(selectedAgent.id)}">\n </div>\n <chat-item-detail ng-if="askingChatItem" chat-item-detail="askingChatItem"\n asking="!!askingChatItem"></chat-item-detail>\n </div>\n <div class="new-question mb-2 mt-2 d-flex">\n <input class="form-control question-input" ng-model="chatItem.question.message" type="text"\n ng-disabled="askingChatItem || loadingChat || !selectedAgent || selectedAgent.isDeleted"\n ng-keypress="onKeypressOnInput($event)">\n <button class="btn btn-primary ask-button"\n ng-disabled="!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || askingChatItem || loadingChat"\n ng-click="ask()">\n <i class="fa-regular fa-arrow-turn-left-up"></i>\n {{ \'ttyg.chat_panel.btn.ask.label \' | translate }}\n </button>\n </div>\n\n <div class="messages-hint text-muted" ng-if="!loadingChat && chat.chatHistory.isEmpty() && !askingChatItem" ng-cloak>\n <div class="hint2" ng-bind="\'ttyg.chat_panel.hint2\' | translate"></div>\n <div class="hint1" ng-bind-html="\'ttyg.chat_panel.hint1\' | htmlTranslate"></div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[385],{491:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/chat-panel.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="chat-panel h-100" ng-class="chat.chatHistory.isEmpty() && !askingChatItem ? \'no-content\' : \'\'">\n\n <div class="chat-loading" ng-if="loadingChat" onto-loader-new size="40"></div>\n\n <div class="chat-details" ng-class="{\'hidden\': !chat}" ng-if="!loadingChat && !chat.chatHistory.isEmpty() || askingChatItem">\n <div ng-repeat="chatItemDetail in chat.chatHistory.items">\n\n \x3c!-- Before the first chat item is displayed, show the agent change info if the agent of the first response is different from the selected agent. --\x3e\n \x3c!-- <div class="alert alert-info agent-changed-info" ng-if="$first && selectedAgent && chatItemDetail.agentId !== selectedAgent.id"--\x3e\n \x3c!-- ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | htmlTranslate: {agentName: getAgentName(chatItemDetail.agentId)}">--\x3e\n \x3c!-- </div>--\x3e\n\n \x3c!-- Before each chat item, except the first one, is displayed, show the agent change info if the currently used agent is different from the previous one. --\x3e\n <div class="alert alert-info agent-changed-info"\n ng-if="!$first && chatItemDetail.agentId !== chat.chatHistory.items[$index - 1].agentId"\n ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | htmlTranslate: {agentName: getAgentName(chatItemDetail.agentId)}">\n </div>\n\n <chat-item-detail\n chat-item-detail="chatItemDetail"\n show-actions="!askingChatItem && $last"\n on-regenerate-question="regenerateQuestion(chatItem)"\n on-copy-answer-to-clipboard="copyAnswerToClipboard(chatItem)"\n on-ask-how-delivered-answer="onAskHowDeliveredAnswer(chatItem)"\n disabled="askingChatItem">\n </chat-item-detail>\n </div>\n\n \x3c!-- After all chat items are displayed, show the agent change info if the selected agent is different from the one used in the last chat item. --\x3e\n <div class="alert alert-info agent-changed-info"\n ng-if="askingChatItem && selectedAgent && chat.chatHistory.items.length && chat.chatHistory.items[chat.chatHistory.items.length -1].agentId !== selectedAgent.id"\n ng-bind-html="\'ttyg.chat_panel.messages.agent_changed_info\' | htmlTranslate: {agentName: getAgentName(selectedAgent.id)}">\n </div>\n <chat-item-detail ng-if="askingChatItem" chat-item-detail="askingChatItem"\n asking="!!askingChatItem"></chat-item-detail>\n </div>\n <div class="new-question mb-2 mt-2 d-flex">\n <input class="form-control question-input" ng-model="chatItem.question.message" type="text"\n ng-disabled="askingChatItem || loadingChat || !selectedAgent || selectedAgent.isDeleted"\n ng-keypress="onKeypressOnInput($event)">\n <button class="btn btn-primary ask-button"\n ng-disabled="!chatItem.question.message || !selectedAgent || selectedAgent.isDeleted || askingChatItem || loadingChat"\n ng-click="ask()">\n <i class="fa-regular fa-arrow-turn-left-up"></i>\n {{ \'ttyg.chat_panel.btn.ask.label \' | translate }}\n </button>\n </div>\n\n <div class="messages-hint text-muted" ng-if="!loadingChat && chat.chatHistory.isEmpty() && !askingChatItem" ng-cloak>\n <div class="hint2" ng-bind="\'ttyg.chat_panel.hint2\' | translate"></div>\n <div class="hint1" ng-bind-html="\'ttyg.chat_panel.hint1\' | htmlTranslate"></div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[388],{494:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<style>\n .ot-chatgpt-ctrl {\n max-width: 950px;\n align-items: start;\n justify-content: stretch;\n }\n\n .chat {\n flex-grow: 9;\n height: calc(100vh - 8em);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n }\n\n .messages {\n border: 1px solid #ddd;\n height: calc(100% - 5em);\n overflow: scroll;\n }\n\n .messages-hint {\n font-size: 2em;\n padding-top: 2em;\n text-align: center;\n }\n\n .messages-item {\n padding: 0.5em;\n }\n\n .messages-item-content {\n white-space: pre-line;\n }\n\n .messages-item-question {\n background-color: hsla(var(--secondary-color-hsl), 0.1);\n }\n\n .messages-item-assistant {\n background-color: hsla(var(--secondary-color-hsl), 0.2);\n }\n\n .messages-item-assistant .icon {\n color: var(--primary-color);\n }\n\n .question {\n\n }\n\n .controls {\n display: flex;\n flex-direction: column;\n }\n</style>\n\n\n<div id="wb-chatgpt">\n <h1>\n {{ title }}\n <span class="btn btn-link"\n uib-popover-template="\'js/angular/templates/titlePopoverTemplate.html\'"\n popover-trigger="mouseenter"\n popover-placement="bottom-right"\n popover-append-to-body="true"><span class="icon-info text-tertiary"></span></span>\n </h1>\n\n <div core-errors></div>\n <div class="ot-chatgpt-ctrl d-flex" ng-show="getActiveRepository()">\n <div class="chat">\n <div uib-collapse="!isCollapsed" id="ot-help-text" class="alert alert-info">\n <button type="button" ng-click="isCollapsed = false" gdb-tooltip="{{\'common.close\' | translate}}" class="close"\n aria-label="Close"></button>\n <div ng-include="helpTemplateUrl"></div>\n </div>\n <div class="messages">\n <div id="messages-scrollable">\n <div class="messages-hint text-muted" ng-if="!history.length">\n {{ \'ttyg.hint\' | translate }}\n </div>\n <div ng-repeat="msg in history">\n <div ng-if="!msg.internal" class="messages-item messages-item-{{ msg.role }}">\n <i class="icon icon-{{ getIcon(msg.role) }}"></i>\n <i class="icon icon-warning" ng-if="msg.error"></i>\n <span class="messages-item-content">{{ msg.content }}</span>\n </div>\n </div>\n <div onto-loader-new ng-show="loader" size="40"></div>\n </div>\n </div>\n <div class="question">\n <form>\n <div class="mb-2 d-flex">\n <input class="form-control" ng-model="question" type="text">\n <button class="btn btn-primary" ng-disabled="loader" ng-click="ask()">{{ \'ttyg.chat_panel.btn.aks\' | translate }}</button>\n </div>\n </form>\n </div>\n </div>\n <div class="controls">\n <button class="btn btn-link btn-lg" ng-click="isCollapsed = !isCollapsed" >\n <i class="icon-help"></i>\n </button>\n <button class="btn btn-link btn-lg" ng-click="openSettings()">\n <i class="icon-settings"></i>\n </button>\n <a class="btn btn-link btn-lg secondary" ng-click="clear()">\n <i class="icon-trash"></i>\n </a>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[386],{492:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<style>\n .ot-chatgpt-ctrl {\n max-width: 950px;\n align-items: start;\n justify-content: stretch;\n }\n\n .chat {\n flex-grow: 9;\n height: calc(100vh - 8em);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n }\n\n .messages {\n border: 1px solid #ddd;\n height: calc(100% - 5em);\n overflow: scroll;\n }\n\n .messages-hint {\n font-size: 2em;\n padding-top: 2em;\n text-align: center;\n }\n\n .messages-item {\n padding: 0.5em;\n }\n\n .messages-item-content {\n white-space: pre-line;\n }\n\n .messages-item-question {\n background-color: hsla(var(--secondary-color-hsl), 0.1);\n }\n\n .messages-item-assistant {\n background-color: hsla(var(--secondary-color-hsl), 0.2);\n }\n\n .messages-item-assistant .icon {\n color: var(--primary-color);\n }\n\n .question {\n\n }\n\n .controls {\n display: flex;\n flex-direction: column;\n }\n</style>\n\n\n<div id="wb-chatgpt">\n <h1>\n {{ title }}\n <span class="btn btn-link"\n uib-popover-template="\'js/angular/templates/titlePopoverTemplate.html\'"\n popover-trigger="mouseenter"\n popover-placement="bottom-right"\n popover-append-to-body="true"><span class="icon-info text-tertiary"></span></span>\n </h1>\n\n <div core-errors></div>\n <div class="ot-chatgpt-ctrl d-flex" ng-show="getActiveRepository()">\n <div class="chat">\n <div uib-collapse="!isCollapsed" id="ot-help-text" class="alert alert-info">\n <button type="button" ng-click="isCollapsed = false" gdb-tooltip="{{\'common.close\' | translate}}" class="close"\n aria-label="Close"></button>\n <div ng-include="helpTemplateUrl"></div>\n </div>\n <div class="messages">\n <div id="messages-scrollable">\n <div class="messages-hint text-muted" ng-if="!history.length">\n {{ \'ttyg.hint\' | translate }}\n </div>\n <div ng-repeat="msg in history">\n <div ng-if="!msg.internal" class="messages-item messages-item-{{ msg.role }}">\n <i class="icon icon-{{ getIcon(msg.role) }}"></i>\n <i class="icon icon-warning" ng-if="msg.error"></i>\n <span class="messages-item-content">{{ msg.content }}</span>\n </div>\n </div>\n <div onto-loader-new ng-show="loader" size="40"></div>\n </div>\n </div>\n <div class="question">\n <form>\n <div class="mb-2 d-flex">\n <input class="form-control" ng-model="question" type="text">\n <button class="btn btn-primary" ng-disabled="loader" ng-click="ask()">{{ \'ttyg.chat_panel.btn.aks\' | translate }}</button>\n </div>\n </form>\n </div>\n </div>\n <div class="controls">\n <button class="btn btn-link btn-lg" ng-click="isCollapsed = !isCollapsed" >\n <i class="icon-help"></i>\n </button>\n <button class="btn btn-link btn-lg" ng-click="openSettings()">\n <i class="icon-settings"></i>\n </button>\n <a class="btn btn-link btn-lg secondary" ng-click="clear()">\n <i class="icon-trash"></i>\n </a>\n </div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[389],{495:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+="<div class=\"ot-view-info\">\n <h5>{{'ttyg.help.what.title' | translate}}</h5>\n <p>\n {{'ttyg.help.what.content' | translate}}\n </p>\n\n <h5>{{'ttyg.help.how.title' | translate}}</h5>\n <p>\n {{'ttyg.help.how.content' | translate}}\n </p>\n</div>\n";return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[387],{493:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+="<div class=\"ot-view-info\">\n <h5>{{'ttyg.help.what.title' | translate}}</h5>\n <p>\n {{'ttyg.help.what.content' | translate}}\n </p>\n\n <h5>{{'ttyg.help.how.title' | translate}}</h5>\n <p>\n {{'ttyg.help.how.content' | translate}}\n </p>\n</div>\n";return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[390],{496:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-settings-modal.css?v=2.8.0-TR12" rel="stylesheet"/>\n<link href="js/lib/rzslider/rzslider.min.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="close()"></button>\n <h4 class="modal-title">{{(\n operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\'\n : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form">\n <div class="form-group agent-name-label">\n <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name"\n required autocomplete="off"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}">\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group repository-id">\n <label for="repositoryId"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' |\n translate}}</label>\n <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId"\n required ng-change="onRepositoryChange()"\n ng-options="repository.value as repository.label for repository in activeRepositoryList">\n </select>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group extraction-methods-group">\n <label for="extractionMethods"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' |\n translate}}</label>\n <div id="extractionMethods" name="extractionMethods"\n ng-model="agentFormModel.assistantExtractionMethods.extractionMethods"\n required class="accordion extraction-methods"\n ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}">\n <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods"\n class="extraction-method">\n <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading"\n ng-class="{\'selected\': extractionMethod.selected}">\n <div class="mr-0 extraction-method-toggle">\n <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}"\n name="{{extractionMethod}}" class="switch"\n ng-click="toggleExtractionMethod(extractionMethod, $event)"\n ng-model="extractionMethod.selected"/>\n <label for="{{extractionMethod.method + \'_checkbox\'}}"></label>\n </div>\n <a class="btn btn-link panel-toggle-link"\n aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}"\n ng-click="onExtractionMethodPanelToggle(extractionMethod)">\n <span class="mr-1"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span>\n <i class="fa-regular fa-chevron-down toggle-icon"\n ng-class="{\'expanded\': extractionMethod.expanded}">\n </i>\n </a>\n </div>\n\n <div id="{{extractionMethod.method + \'_method_content\'}}"\n class="show extraction-method-content"\n aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}"\n data-parent="#extractionMethods">\n\n \x3c!-- SPARQL method settings --\x3e\n\n <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL"\n class="extraction-method-options"\n ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}">\n <div class="sparql-option ontology-graph-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected"\n ng-model="extractionMethod.sparqlOption" value="ontologyGraph">\n {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'">\n <div class="form-group">\n <input type="text" class="form-control" id="ontologyGraph"\n name="ontologyGraph"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'"\n ng-model="extractionMethod.ontologyGraph">\n </div>\n </div>\n </div>\n <div class="sparql-option sparql-query-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected"\n ng-model="extractionMethod.sparqlOption" value="sparqlQuery">\n {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'">\n <div class="form-group">\n <textarea type="text" class="form-control" id="sparqlQuery"\n name="sparqlQuery" rows="10"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'"\n ng-minlength="extractionMethod.sparqlQuery.minLength"\n ng-maxlength="extractionMethod.sparqlQuery.maxLength"\n ng-model="extractionMethod.sparqlQuery.value">\n </textarea>\n </div>\n </div>\n </div>\n <div class="alert alert-danger sparql-method-option-required-error mb-0"\n ng-if="extractionMethod.selected && !extractionMethod.sparqlOption">\n {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}}\n </div>\n <div class="add-missing-namespaces-option mt-1">\n <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox"\n ng-model="extractionMethod.addMissingNamespaces">\n <label for="addMissingNamespaces"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\n \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate\n }}</label>\n </div>\n </div>\n\n \x3c!-- FTS method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="checkIfFTSEnabled()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <div class="alert alert-danger missing-repositoryid-error mb-0"\n ng-if="!agentFormModel.repositoryId">\n {{\'ttyg.agent.create_agent_modal.form.fts_search.missing_repository_id\' | translate}}\n </div>\n <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message"\n ng-bind-html="getFTSDisabledHelpMessage()">\n </div>\n <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId">\n <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\'\n |\n translate}}\n </label>\n <input type="number" class="form-control"\n id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n\n \x3c!-- Similarity method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateSimilaritySearchPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <div ng-if="!similarityIndexes.length" class="no-similarity-index-message">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' |\n translate}}\n <a href="#" ng-click="goToCreateSimilarityView()">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' |\n translate}}.\n </div>\n <div ng-show="similarityIndexes.length">\n <div class="form-group similarity-index">\n <label for="similarityIndex"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="similarityIndex" name="similarityIndex"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.similarity_search"\n ng-model="extractionMethod.similarityIndex"\n ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group similarity-index-threshold">\n <label for="similarityIndexThreshold"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="similarityIndexThreshold"\n name="similarityIndexThreshold" readonly\n ng-model="extractionMethod.similarityIndexThreshold.value">\n <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold"\n type="range" ng-required="extractionMethod.selected"\n min="{{extractionMethod.similarityIndexThreshold.minValue}}"\n max="{{extractionMethod.similarityIndexThreshold.maxValue}}"\n step="0.1"\n ng-model="extractionMethod.similarityIndexThreshold.value"/>\n </div>\n <div class="form-group similarity-max-triples">\n <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n \x3c!-- Retrieval method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL"\n ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateRetrievalConnectorPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <div ng-if="!retrievalConnectors.length" class="no-retrieval-connector-message">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\'\n | translate}}\n <a href="#" ng-click="goToConnectorsView()">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\'\n | translate}}.\n </div>\n <div ng-show="retrievalConnectors.length">\n <div class="form-group retrieval-connector">\n <label for="retrievalConnectorInstance"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="retrievalConnectorInstance"\n name="retrievalConnectorInstance"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.retrieval_search"\n ng-model="extractionMethod.retrievalConnectorInstance"\n ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group query-template">\n <label for="queryTemplate"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\'\n |\n translate}}</label>\n <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate"\n rows="10" ng-required="extractionMethod.selected"\n ng-minlength="extractionMethod.queryTemplate.minLength"\n ng-maxlength="extractionMethod.queryTemplate.maxLength"\n ng-model="extractionMethod.queryTemplate.value">\n </textarea>\n <div class="alert alert-danger"\n ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group retrieval-connector-max-triples">\n <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n <div class="alert alert-danger extraction-method-required-error"\n ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid">\n {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}}\n </div>\n </div>\n\n <div class="form-group additional-extraction-methods">\n <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' |\n translate}}</label>\n <div\n ng-repeat="additionalExtractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods"\n class="additional-extraction-method">\n <input type="checkbox" id="{{additionalExtractionMethod.method + \'_checkbox\'}}"\n name="{{additionalExtractionMethod.method}}" class="switch"\n ng-model="additionalExtractionMethod.selected"/>\n <label for="{{additionalExtractionMethod.method + \'_checkbox\'}}"></label>\n <a class="btn btn-link extraction-method-label" uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.method.\' +\n additionalExtractionMethod.method + \'.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.method.\'\n +\n additionalExtractionMethod.method + \'.label\' | translate}}</a>\n </div>\n </div>\n\n <div class="form-row clearfix">\n <div class="form-group gpt-model col-md-4">\n <label for="model" uib-popover="{{\'ttyg.agent.create_agent_modal.form.model.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.model.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model"\n required autocomplete="off">\n <small id="modelHelp" class="form-text text-muted"\n ng-bind-html="getModelHelpMessage()">\n </small>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group temperature col-md-4">\n <label for="temperature">\n <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span>\n <i class="fa-regular fa-triangle-exclamation text-warning high-temperature-warning"\n ng-if="showHighTemperatureWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <input type="text" id="temperature" name="temperature" readonly\n class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}"\n ng-model="agentFormModel.temperature.value">\n <input id="temperatureSlider" name="temperature" type="range"\n min="{{agentFormModel.temperature.minValue}}"\n max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}"\n ng-change="onTemperatureChange()"\n ng-model="agentFormModel.temperature.value"/>\n </div>\n <div class="form-group top-p col-md-4">\n <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="topP" name="topP" readonly\n ng-model="agentFormModel.topP.value">\n <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}"\n max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}"\n ng-model="agentFormModel.topP.value"/>\n </div>\n \x3c!-- Hidden for now because currently this property doesn\'t work in openai, but in the future it will --\x3e\n \x3c!-- <div class="form-group seed col-md-4 pr-0">--\x3e\n \x3c!-- <label for="seed">{{\'ttyg.agent.create_agent_modal.form.seed.label\' | translate}}</label>--\x3e\n \x3c!-- <input type="number" class="form-control" id="seed" name="seed" min="0" ng-model="agentFormModel.seed"--\x3e\n \x3c!-- placeholder="{{\'ttyg.agent.create_agent_modal.form.seed.hint\' | translate}}">--\x3e\n \x3c!-- </div>--\x3e\n </div>\n\n <div class="form-group user-instructions">\n <div class="toolbar">\n <label for="userInstruction"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' |\n translate}}</label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultUserInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa-regular fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5"\n ng-model="agentFormModel.instructions.userInstruction"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea>\n </div>\n\n <div class="text-xs-center">\n <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings"\n class="btn btn-link btn-sm toggle-advanced-settings">\n <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em\n class="icon-caret-down"></em></span>\n <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em\n class="icon-caret-up"></em></span>\n </button>\n </div>\n\n <div ng-show="showAdvancedSettings" class="advanced-settings">\n <div class="form-group system-instructions">\n <div class="toolbar">\n <label for="systemInstruction">\n <span\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span>\n <i class="fa-regular fa-triangle-exclamation text-warning overriding-system-instructions-warning"\n ng-if="showSystemInstructionWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultSystemInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa-regular fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}"\n ng-class="{\'has-warning\': showSystemInstructionWarning}"\n ng-model="agentFormModel.instructions.systemInstruction"\n ng-change="onSystemInstructionChange()">\n </textarea>\n </div>\n </div>\n </form>\n</div>\n\n<div class="modal-footer">\n <button type="button" ng-click="cancel()" class="btn cancel-btn">\n {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}}\n </button>\n <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent"\n class="btn btn-primary save-agent-settings-btn">\n <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span>\n <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true" size="15"></span>\n </button>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[388],{494:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/agent-settings-modal.css?v=2.8.0-TR13" rel="stylesheet"/>\n<link href="js/lib/rzslider/rzslider.min.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="modal-header">\n <button type="button" class="close" ng-click="close()"></button>\n <h4 class="modal-title">{{(\n operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\'\n : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4>\n</div>\n\n<div class="modal-body">\n <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form">\n <div class="form-group agent-name-label">\n <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name"\n required autocomplete="off"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}">\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group repository-id">\n <label for="repositoryId"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' |\n translate}}</label>\n <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId"\n required ng-change="onRepositoryChange()"\n ng-options="repository.value as repository.label for repository in activeRepositoryList">\n </select>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group extraction-methods-group">\n <label for="extractionMethods"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' |\n translate}}</label>\n <div id="extractionMethods" name="extractionMethods"\n ng-model="agentFormModel.assistantExtractionMethods.extractionMethods"\n required class="accordion extraction-methods"\n ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}">\n <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods"\n class="extraction-method">\n <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading"\n ng-class="{\'selected\': extractionMethod.selected}">\n <div class="mr-0 extraction-method-toggle">\n <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}"\n name="{{extractionMethod}}" class="switch"\n ng-click="toggleExtractionMethod(extractionMethod, $event)"\n ng-model="extractionMethod.selected"/>\n <label for="{{extractionMethod.method + \'_checkbox\'}}"></label>\n </div>\n <a class="btn btn-link panel-toggle-link"\n aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}"\n ng-click="onExtractionMethodPanelToggle(extractionMethod)">\n <span class="mr-1"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span>\n <i class="fa-regular fa-chevron-down toggle-icon"\n ng-class="{\'expanded\': extractionMethod.expanded}">\n </i>\n </a>\n </div>\n\n <div id="{{extractionMethod.method + \'_method_content\'}}"\n class="show extraction-method-content"\n aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}"\n data-parent="#extractionMethods">\n\n \x3c!-- SPARQL method settings --\x3e\n\n <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL"\n class="extraction-method-options"\n ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}">\n <div class="sparql-option ontology-graph-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected"\n ng-model="extractionMethod.sparqlOption" value="ontologyGraph">\n {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'">\n <div class="form-group">\n <input type="text" class="form-control" id="ontologyGraph"\n name="ontologyGraph"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'"\n ng-model="extractionMethod.ontologyGraph">\n </div>\n </div>\n </div>\n <div class="sparql-option sparql-query-option">\n <label class="radio-inline"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected"\n ng-model="extractionMethod.sparqlOption" value="sparqlQuery">\n {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}}\n </label>\n <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'">\n <div class="form-group">\n <textarea type="text" class="form-control" id="sparqlQuery"\n name="sparqlQuery" rows="10"\n ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'"\n ng-minlength="extractionMethod.sparqlQuery.minLength"\n ng-maxlength="extractionMethod.sparqlQuery.maxLength"\n ng-model="extractionMethod.sparqlQuery.value">\n </textarea>\n </div>\n </div>\n </div>\n <div class="alert alert-danger sparql-method-option-required-error mb-0"\n ng-if="extractionMethod.selected && !extractionMethod.sparqlOption">\n {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}}\n </div>\n <div class="add-missing-namespaces-option mt-1">\n <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox"\n ng-model="extractionMethod.addMissingNamespaces">\n <label for="addMissingNamespaces"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\n \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate\n }}</label>\n </div>\n </div>\n\n \x3c!-- FTS method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="checkIfFTSEnabled()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <div class="alert alert-danger missing-repositoryid-error mb-0"\n ng-if="!agentFormModel.repositoryId">\n {{\'ttyg.agent.create_agent_modal.form.fts_search.missing_repository_id\' | translate}}\n </div>\n <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message"\n ng-bind-html="getFTSDisabledHelpMessage()">\n </div>\n <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId">\n <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\'\n |\n translate}}\n </label>\n <input type="number" class="form-control"\n id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n\n \x3c!-- Similarity method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateSimilaritySearchPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <div ng-if="!similarityIndexes.length" class="no-similarity-index-message">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' |\n translate}}\n <a href="#" ng-click="goToCreateSimilarityView()">\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' |\n translate}}.\n </div>\n <div ng-show="similarityIndexes.length">\n <div class="form-group similarity-index">\n <label for="similarityIndex"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="similarityIndex" name="similarityIndex"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.similarity_search"\n ng-model="extractionMethod.similarityIndex"\n ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group similarity-index-threshold">\n <label for="similarityIndexThreshold"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\'\n | translate}}</label>\n <input type="text" class="form-control" id="similarityIndexThreshold"\n name="similarityIndexThreshold" readonly\n ng-model="extractionMethod.similarityIndexThreshold.value">\n <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold"\n type="range" ng-required="extractionMethod.selected"\n min="{{extractionMethod.similarityIndexThreshold.minValue}}"\n max="{{extractionMethod.similarityIndexThreshold.maxValue}}"\n step="0.1"\n ng-model="extractionMethod.similarityIndexThreshold.value"/>\n </div>\n <div class="form-group similarity-max-triples">\n <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n \x3c!-- Retrieval method settings --\x3e\n\n <div\n ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL"\n ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector}"\n class="extraction-method-options">\n <button class="btn btn-link btn-sm pull-right"\n ng-click="updateRetrievalConnectorPanel()"\n ng-disabled="disabled"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}">\n <i class="fa-regular fa-arrows-rotate"></i>\n </button>\n <div ng-if="!retrievalConnectors.length" class="no-retrieval-connector-message">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\'\n | translate}}\n <a href="#" ng-click="goToConnectorsView()">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\'\n | translate}}\n </a>\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\'\n | translate}}.\n </div>\n <div ng-show="retrievalConnectors.length">\n <div class="form-group retrieval-connector">\n <label for="retrievalConnectorInstance"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\'\n | translate}}</label>\n <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy\n size="16"></span>\n <select class="form-control" id="retrievalConnectorInstance"\n name="retrievalConnectorInstance"\n ng-required="extractionMethod.selected"\n ng-if="!extractionMethodLoaderFlags.retrieval_search"\n ng-model="extractionMethod.retrievalConnectorInstance"\n ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors">\n </select>\n <div class="alert alert-danger"\n ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group query-template">\n <label for="queryTemplate"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\'\n |\n translate}}</label>\n <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate"\n rows="10" ng-required="extractionMethod.selected"\n ng-minlength="extractionMethod.queryTemplate.minLength"\n ng-maxlength="extractionMethod.queryTemplate.maxLength"\n ng-model="extractionMethod.queryTemplate.value">\n </textarea>\n <div class="alert alert-danger"\n ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group retrieval-connector-max-triples">\n <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}"\n popover-trigger="mouseenter">\n {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\'\n | translate}}</label>\n <input type="number" class="form-control"\n id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}"\n name="maxNumberOfTriplesPerCall" min="0"\n ng-model="extractionMethod.maxNumberOfTriplesPerCall"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n <div class="alert alert-danger extraction-method-required-error"\n ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid">\n {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}}\n </div>\n </div>\n\n <div class="form-group additional-extraction-methods">\n <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' |\n translate}}</label>\n <div\n ng-repeat="additionalExtractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods"\n class="additional-extraction-method">\n <input type="checkbox" id="{{additionalExtractionMethod.method + \'_checkbox\'}}"\n name="{{additionalExtractionMethod.method}}" class="switch"\n ng-model="additionalExtractionMethod.selected"/>\n <label for="{{additionalExtractionMethod.method + \'_checkbox\'}}"></label>\n <a class="btn btn-link extraction-method-label" uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.method.\' +\n additionalExtractionMethod.method + \'.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.method.\'\n +\n additionalExtractionMethod.method + \'.label\' | translate}}</a>\n </div>\n </div>\n\n <div class="form-row clearfix">\n <div class="form-group gpt-model col-md-4">\n <label for="model" uib-popover="{{\'ttyg.agent.create_agent_modal.form.model.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.model.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model"\n required autocomplete="off">\n <small id="modelHelp" class="form-text text-muted"\n ng-bind-html="getModelHelpMessage()">\n </small>\n <div class="alert alert-danger"\n ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid">\n {{\'required.field\' | translate}}\n </div>\n </div>\n <div class="form-group temperature col-md-4">\n <label for="temperature">\n <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span>\n <i class="fa-regular fa-triangle-exclamation text-warning high-temperature-warning"\n ng-if="showHighTemperatureWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <input type="text" id="temperature" name="temperature" readonly\n class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}"\n ng-model="agentFormModel.temperature.value">\n <input id="temperatureSlider" name="temperature" type="range"\n min="{{agentFormModel.temperature.minValue}}"\n max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}"\n ng-change="onTemperatureChange()"\n ng-model="agentFormModel.temperature.value"/>\n </div>\n <div class="form-group top-p col-md-4">\n <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' |\n translate}}</label>\n <input type="text" class="form-control" id="topP" name="topP" readonly\n ng-model="agentFormModel.topP.value">\n <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}"\n max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}"\n ng-model="agentFormModel.topP.value"/>\n </div>\n \x3c!-- Hidden for now because currently this property doesn\'t work in openai, but in the future it will --\x3e\n \x3c!-- <div class="form-group seed col-md-4 pr-0">--\x3e\n \x3c!-- <label for="seed">{{\'ttyg.agent.create_agent_modal.form.seed.label\' | translate}}</label>--\x3e\n \x3c!-- <input type="number" class="form-control" id="seed" name="seed" min="0" ng-model="agentFormModel.seed"--\x3e\n \x3c!-- placeholder="{{\'ttyg.agent.create_agent_modal.form.seed.hint\' | translate}}">--\x3e\n \x3c!-- </div>--\x3e\n </div>\n\n <div class="form-group user-instructions">\n <div class="toolbar">\n <label for="userInstruction"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' |\n translate}}</label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultUserInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa-regular fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5"\n ng-model="agentFormModel.instructions.userInstruction"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea>\n </div>\n\n <div class="text-xs-center">\n <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings"\n class="btn btn-link btn-sm toggle-advanced-settings">\n <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em\n class="icon-caret-down"></em></span>\n <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em\n class="icon-caret-up"></em></span>\n </button>\n </div>\n\n <div ng-show="showAdvancedSettings" class="advanced-settings">\n <div class="form-group system-instructions">\n <div class="toolbar">\n <label for="systemInstruction">\n <span\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}"\n popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span>\n <i class="fa-regular fa-triangle-exclamation text-warning overriding-system-instructions-warning"\n ng-if="showSystemInstructionWarning"\n uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}"\n popover-trigger="mouseenter"></i>\n </label>\n <div class="actions">\n <copy-to-clipboard\n tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip"\n text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard>\n <button class="btn btn-link btn-sm create-chat-btn"\n ng-click="onRestoreDefaultSystemInstructions()"\n gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}">\n <i class="fa-regular fa-arrow-rotate-left"></i>\n </button>\n </div>\n </div>\n <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5"\n placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}"\n ng-class="{\'has-warning\': showSystemInstructionWarning}"\n ng-model="agentFormModel.instructions.systemInstruction"\n ng-change="onSystemInstructionChange()">\n </textarea>\n </div>\n </div>\n </form>\n</div>\n\n<div class="modal-footer">\n <button type="button" ng-click="cancel()" class="btn cancel-btn">\n {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}}\n </button>\n <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent"\n class="btn btn-primary save-agent-settings-btn">\n <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\'\n : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span>\n <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true" size="15"></span>\n </button>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[391],{497:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button ng-click="cancel();" class="close" aria-hidden="true"></button>\n <h4 class="modal-title">{{ dialogTitle }}</h4>\n</div>\n<div class="modal-body">\n <h6 class="mb-1">{{ \'ttyg.settings.info\' | translate }}</h6>\n <form novalidate name="form">\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.connector.id\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.connector.id.tooltip\' | translate }}">\n <input class="form-control" type="text" ng-model="connectorID"></input>\n </div>\n </div>\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.query.template\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.query.template.tooltip\' | translate }}">\n <textarea class="form-control"\n rows="10"\n ng-model="queryTemplate"\n style="font-family: var(--mono-font)">\n </textarea>\n </div>\n </div>\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.ground.truths\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.ground.truths.tooltip\' | translate }}">\n <textarea class="form-control"\n rows="5"\n ng-model="groundTruths">\n </textarea>\n </div>\n </div>\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.topk\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.topk.tooltip\' | translate }}">\n <input class="form-control" type="number" min="1" max="10" ng-model="topK">\n </div>\n </div>\n <div class="row">\n <div class="push-sm-3 col-sm-9" gdb-tooltip="{{ \'ttyg.settings.echo.vector.query.tooltip\' | translate }}">\n <input id="echo-vector-query" type="checkbox" ng-model="echoVectorQuery">\n <label for="echo-vector-query">{{ \'ttyg.settings.echo.vector.query\' | translate }}</label>\n <i class="fa fa-flask"></i>\n </div>\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary cancel-btn"\n ng-click="cancel()">{{ \'common.cancel.btn\' | translate }}</button>\n <button class="btn btn-primary confirm-btn" ng-click="save()">{{ \'common.save.btn\' | translate }}</button>\n</div>\n\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[389],{495:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<div class="modal-header">\n <button ng-click="cancel();" class="close" aria-hidden="true"></button>\n <h4 class="modal-title">{{ dialogTitle }}</h4>\n</div>\n<div class="modal-body">\n <h6 class="mb-1">{{ \'ttyg.settings.info\' | translate }}</h6>\n <form novalidate name="form">\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.connector.id\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.connector.id.tooltip\' | translate }}">\n <input class="form-control" type="text" ng-model="connectorID"></input>\n </div>\n </div>\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.query.template\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.query.template.tooltip\' | translate }}">\n <textarea class="form-control"\n rows="10"\n ng-model="queryTemplate"\n style="font-family: var(--mono-font)">\n </textarea>\n </div>\n </div>\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.ground.truths\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.ground.truths.tooltip\' | translate }}">\n <textarea class="form-control"\n rows="5"\n ng-model="groundTruths">\n </textarea>\n </div>\n </div>\n <div class="row mb-1">\n <div class="col-sm-3">\n <label>{{ \'ttyg.settings.topk\' | translate }}:</label>\n </div>\n <div class="col-sm-9" gdb-tooltip="{{ \'ttyg.settings.topk.tooltip\' | translate }}">\n <input class="form-control" type="number" min="1" max="10" ng-model="topK">\n </div>\n </div>\n <div class="row">\n <div class="push-sm-3 col-sm-9" gdb-tooltip="{{ \'ttyg.settings.echo.vector.query.tooltip\' | translate }}">\n <input id="echo-vector-query" type="checkbox" ng-model="echoVectorQuery">\n <label for="echo-vector-query">{{ \'ttyg.settings.echo.vector.query\' | translate }}</label>\n <i class="fa fa-flask"></i>\n </div>\n </div>\n </form>\n</div>\n<div class="modal-footer">\n <button type="button" class="btn btn-secondary cancel-btn"\n ng-click="cancel()">{{ \'common.cancel.btn\' | translate }}</button>\n <button class="btn btn-primary confirm-btn" ng-click="save()">{{ \'common.save.btn\' | translate }}</button>\n</div>\n\n';return __p}}}]);
@@ -0,0 +1 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[39,77,103,135,259,306],{127:function(t,e,s){"use strict";s.r(e);s(99);var a=s(0),i=s(71);s(90),s(16);function n(t,e,s,n){return{restrict:"E",templateUrl:"js/angular/ttyg/templates/chat-list.html",link:(h,o,c)=>{h.selectedChat=void 0,h.renamedChat=void 0,h.deletingChat=void 0,h.onSelectChatForRenaming=t=>{h.renamedChat=t},h.onSelectChat=e=>{if(!h.selectedChat||h.selectedChat.id!==e.id){const s=t.getChats().getNonPersistedChat();s&&t.deleteChat(s),t.selectChat(e),h.renamedChat=void 0}},h.onDeleteChat=n=>{const h=s.instant("ttyg.dialog.delete.title"),o=Object(a.decodeHTML)(s.instant("ttyg.dialog.delete.body",{chatName:n.name}));e.openConfirmation(h,o,()=>t.emit(i.TTYGEventName.DELETE_CHAT,n))},h.onRenameChat=(e,s)=>{s.name=e,h.renamedChat=void 0,t.emit(i.TTYGEventName.RENAME_CHAT,s)},h.onExportChat=e=>{t.emit(i.TTYGEventName.CHAT_EXPORT,e)},h.onCancelChatRenaming=()=>{h.renamedChat=void 0},h.getHumanReadableTimestamp=t=>{const e=new Date(t),a=new Date,i=new Date(a.getFullYear(),a.getMonth(),a.getDate()),h=new Date(i);h.setDate(i.getDate()-1);const o=new Date(e.getFullYear(),e.getMonth(),e.getDate());return o.getTime()===i.getTime()?s.instant("common.dates.today"):o.getTime()===h.getTime()?s.instant("common.dates.yesterday"):n("date")(e,"yyyy-MM-dd")};const r=t=>{h.selectedChat=t},d=[];d.push(t.onSelectedChatChanged(r)),d.push(t.onSelectedChatUpdated(r)),d.push(t.onChatsListChanged(t=>{h.chatList=t})),d.push(t.subscribe(i.TTYGEventName.DELETING_CHAT,t=>{h.deletingChat=t})),h.$on("$destroy",()=>{d.forEach(t=>t())})}}}angular.module("graphdb.framework.ttyg.directives.chat-list",["graphdb.framework.core.directives.inline-editable-text"]).directive("chatList",n),n.$inject=["TTYGContextService","ModalService","$translate","$filter"]},71:function(t,e,s){"use strict";s.r(e),s.d(e,"TTYGEventName",(function(){return n}));var a=s(30);function i(t){let e=void 0,s=void 0,i=void 0,h=void 0,o={},c=void 0,r=!1;const d=()=>Object(a.cloneDeep)(e),l=()=>Object(a.cloneDeep)(s),_=t=>{s=Object(a.cloneDeep)(t),T(n.CHAT_LIST_UPDATED,l())},E=()=>Object(a.cloneDeep)(i),C=()=>Object(a.cloneDeep)(h),u=()=>Object(a.cloneDeep)(o),m=t=>!!o[t],g=()=>r,T=(e,s)=>{t.emitSync(e,Object(a.cloneDeep)(s))},p=(e,s)=>t.subscribeSync(e,t=>s(t));return{resetContext:()=>{e=void 0,s=void 0,i=void 0,h=void 0,o={},c=void 0,r=!1},emit:T,subscribe:p,getChats:l,updateChats:_,addChat:t=>{s.appendChat(t),_(s)},replaceChat:(t,e)=>{s.replaceChat(t,e),_(s)},onChatsListChanged:t=>(s&&angular.isFunction(t)&&t(l()),p(n.CHAT_LIST_UPDATED,e=>t(e))),getSelectedChat:E,selectChat:t=>{i&&i.id===t.id||(i=Object(a.cloneDeep)(t),T(n.SELECT_CHAT,E()))},deleteChat:t=>{s.deleteChat(t),_(s)},onSelectedChatChanged:t=>(i&&angular.isFunction(t)&&t(E()),p(n.SELECT_CHAT,e=>t(e))),updateSelectedChat:t=>{i&&i.id&&t&&i.id!==t.id||(i=Object(a.cloneDeep)(t),T(n.SELECTED_CHAT_UPDATED,E()))},onSelectedChatUpdated:t=>(i&&angular.isFunction(t)&&t(E()),p(n.SELECTED_CHAT_UPDATED,e=>t(e))),updateAgents:t=>{e=Object(a.cloneDeep)(t),T(n.AGENT_LIST_UPDATED,d())},onAgentsListChanged:t=>(e&&angular.isFunction(t)&&t(d()),p(n.AGENT_LIST_UPDATED,e=>t(e))),getAgents:d,getAgent:t=>{if(e)return Object(a.cloneDeep)(e.getAgent(t))},selectAgent:t=>{h=Object(a.cloneDeep)(t),T(n.AGENT_SELECTED,C())},getSelectedAgent:C,onSelectedAgentChanged:t=>(h&&angular.isFunction(t)&&t(C()),p(n.AGENT_SELECTED,e=>t(e))),hasExplainResponse:m,toggleExplainResponse:t=>{m(t)&&(o[t].expanded=!o[t].expanded,T(n.EXPLAIN_RESPONSE_CACHE_UPDATED,u()))},getExplainResponse:t=>Object(a.cloneDeep)(o[t]),addExplainResponseCache:t=>{o[t.answerId]=Object(a.cloneDeep)(t),T(n.EXPLAIN_RESPONSE_CACHE_UPDATED,u())},onExplainResponseCacheUpdated:t=>(angular.isFunction(t)&&t(u()),p(n.EXPLAIN_RESPONSE_CACHE_UPDATED,e=>t(e))),getDefaultAgent:()=>Object(a.cloneDeep)(c),setDefaultAgent:t=>{c=t},setCanModifyAgent:t=>{r=Object(a.cloneDeep)(t),T(n.CAN_MODIFY_AGENT_UPDATED,g())},getCanModifyAgent:g,onCanUpdateAgentUpdated:t=>(angular.isFunction(t)&&t(g()),p(n.CAN_MODIFY_AGENT_UPDATED,e=>t(e)))}}angular.module("graphdb.framework.ttyg.services.ttygcontext",[]).factory("TTYGContextService",i),i.$inject=["EventEmitterService","TTYGService"];const n={CREATE_CHAT:"createChat",CREATE_CHAT_SUCCESSFUL:"chatCreated",CREATE_CHAT_FAILURE:"chatCreationFailed",RENAME_CHAT:"renameChat",RENAME_CHAT_SUCCESSFUL:"chatRenamed",RENAME_CHAT_FAILURE:"chatRenamedFailure",SELECT_CHAT:"selectChat",SELECTED_CHAT_UPDATED:"selectChatUpdated",DELETING_CHAT:"deletingChat",DELETE_CHAT:"deleteChat",DELETE_CHAT_SUCCESSFUL:"chatDeleted",DELETE_CHAT_FAILURE:"chatDeletedFailure",CHAT_EXPORT:"chatExport",CHAT_EXPORT_SUCCESSFUL:"chatExportSuccess",CHAT_EXPORT_FAILURE:"chatExportFailure",CHAT_LIST_UPDATED:"chatListUpdated",ASK_QUESTION:"askQuestion",ASK_QUESTION_FAILURE:"askQuestionFailure",LOAD_CHATS:"loadChats",LOAD_CHAT_SUCCESSFUL:"loadChatSuccess",LOAD_CHAT_FAILURE:"loadChatFailure",AGENT_LIST_UPDATED:"agentListUpdated",OPEN_AGENT_SETTINGS:"openAgentSettings",EDIT_AGENT:"editAgent",CLONE_AGENT:"cloneAgent",DELETE_AGENT:"deleteAgent",AGENT_DELETED:"agentDeleted",DELETING_AGENT:"deletingAgent",AGENT_SELECTED:"agentSelected",GO_TO_CREATE_SIMILARITY_VIEW:"goToCreateSimilarityView",GO_TO_CONNECTORS_VIEW:"goToConnectorsView",EXPLAIN_RESPONSE:"explainResponse",EXPLAIN_RESPONSE_CACHE_UPDATED:"explainResponseCacheUpdated",GO_TO_SPARQL_EDITOR:"openQueryInSparqlEditor",CAN_MODIFY_AGENT_UPDATED:"canModifyAgentUpdated"}},73:function(t,e,s){"use strict";s.r(e),s.d(e,"ChatMessageModel",(function(){return a})),s.d(e,"CHAT_MESSAGE_ROLE",(function(){return i}));class a{constructor(t){this._id=t.id,this._role=t.role,this._message=t.message,this._timestamp=t.timestamp}get id(){return this._id}set id(t){this._id=t}get role(){return this._role}set role(t){this._role=t}get message(){return this._message}set message(t){this._message=t}get timestamp(){return this._timestamp}set timestamp(t){this._timestamp=t}}const i={USER:"user",ASSISTANT:"assistant"}},80:function(t,e,s){"use strict";s.r(e),s.d(e,"ChatItemModel",(function(){return i})),s.d(e,"ChatItemsListModel",(function(){return n}));var a=s(73);class i{constructor(t,e){this._chatId=t,this._agentId=void 0,this._question=e,this._answers=[]}get chatId(){return this._chatId}set chatId(t){this._chatId=t}get agentId(){return this._agentId}set agentId(t){this._agentId=t}get question(){return this._question}set question(t){this._question=t}get answers(){return this._answers}set answers(t){this._answers=t}setQuestionMessage(t){this._question||(this._question=new a.ChatMessageModel({role:a.CHAT_MESSAGE_ROLE.USER})),this._question.message=t}getQuestionMessage(){return this._question.message}toCreateChatRequestPayload(){return{agentId:this._agentId,question:this._question.message}}toAskRequestPayload(){return{conversationId:this._chatId,agentId:this._agentId,question:this._question.message}}toExplainResponsePayload(t){return{conversationId:this._chatId,answerId:t}}}class n{constructor(t=[]){this._items=t}isEmpty(){return 0===this._items.length}appendItem(t){this._items.push(t)}get items(){return this._items}set items(t){this._items=t||[]}getLast(){if(!this.isEmpty())return this._items[this._items.length-1]}}},90:function(t,e,s){"use strict";s.r(e),s.d(e,"ChatModel",(function(){return i})),s.d(e,"ChatByDayModel",(function(){return n})),s.d(e,"ChatsListModel",(function(){return h}));var a=s(80);class i{constructor(t,e){this.hashGenerator=e,this._id=t.id,this._name=t.name,this._timestamp=t.timestamp,this._chatHistory=t.chatHistory||new a.ChatItemsListModel,this.hash=this.generateHash()}generateHash(){return this.hashGenerator(JSON.stringify(this))}get id(){return this._id}set id(t){this._id=t}get name(){return this._name}set name(t){this.generateHash(),this._name=t}get timestamp(){return this._timestamp}set timestamp(t){this._timestamp=t}get chatHistory(){return this._chatHistory}set chatHistory(t){this._chatHistory=t||new a.ChatItemsListModel}toRenameRequestPayload(){return{name:this._name}}}class n{constructor(t){this._day=t.day,this._timestamp=t.timestamp,this._chats=t.chats}get day(){return this._day}set day(t){this._day=t}get timestamp(){return this._timestamp}set timestamp(t){this._timestamp=t}get chats(){return this._chats}set chats(t){this._chats=t}}class h{constructor(t){this._chats=t||[],this._chatsByDay=[],this.sortByTime(),this.updateChatsByDay()}sortByTime(){this._chats.sort((t,e)=>e.timestamp-t.timestamp)}updateChatTimestamp(t,e){const s=this._chats.find(e=>e.id===t);s&&(s.timestamp=e),this.sortByTime(),this.updateChatsByDay()}deleteChat(t){this._chats=this._chats.filter(e=>e.id!==t.id),this.sortByTime(),this.updateChatsByDay()}updateChatsByDay(){this._chatsByDay=[],this._chats.forEach(t=>{const e=new Date(1e3*t.timestamp).toDateString(),s=this._chatsByDay.find(t=>t.day===e);s?s.chats.push(t):this._chatsByDay.push(new n({day:e,timestamp:1e3*t.timestamp,chats:[t]}))})}appendChat(t){this._chats.push(t),this.sortByTime(),this.updateChatsByDay()}replaceChat(t,e){this._chats=this._chats.map(s=>s.id===e.id?t:s),this.sortByTime(),this.updateChatsByDay()}isEmpty(){return 0===this._chats.length}getFirstChat(){return this._chats[0]}deselectAll(){this._chats.forEach(t=>{t.selected=!1})}selectChat(t){this.deselectAll(),this._chats.forEach(e=>{e.selected=e.id===t.id})}getChat(t){return this._chats.find(e=>e.id===t)}getNonPersistedChat(){return this._chats.find(t=>!t.id)}renameChat(t){const e=this._chats.find(e=>e.id===t.id);e&&(e.name=t.name)}get chats(){return this._chats}set chats(t){this._chats=t}get chatsByDay(){return this._chatsByDay}set chatsByDay(t){this._chatsByDay=t}}},99:function(t,e){function s(t){return{restrict:"E",scope:{fieldName:"@",source:"=",onSave:"&",onCancel:"&",onClick:"&",onDblclick:"&",isEditing:"="},templateUrl:"js/angular/core/directives/inline-editable-text/templates/inline-editable-text.template.html",link:function(e,s){e.editableModel={};const a=[];let i;e.onKeydown=t=>{"Enter"===t.key?(h(),e.editableModel.text!==e.text&&e.onSave({newText:e.editableModel.text,source:e.source})):"Escape"===t.key&&n()},e.onCancelEditing=()=>{n()},e.onSelect=()=>{i?(h(),e.onDblclick({source:e.source})):i=t((function(){e.onClick({source:e.source}),h()}),250)};const n=()=>{h(),e.onCancel()},h=()=>{t.cancel(i),i=void 0};a.push(e.$watch("isEditing",a=>{a&&(e.editableModel.text=e.source[e.fieldName],t(()=>{const t=s.find("input")[0];t.focus(),t.select()},0))}));e.$on("$destroy",()=>{a.forEach(t=>t()),h()})}}}angular.module("graphdb.framework.core.directives.inline-editable-text",[]).directive("inlineEditableText",s),s.$inject=["$timeout"]}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[392],{498:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/no-agents-view.css?v=2.8.0-TR12" rel="stylesheet"/>\n\n<div class="no-agents-view-component">\n <div class="content">\n <div class="alert alert-help mb-3">{{ \'ttyg.agent.messages.help_1\' | translate }}</div>\n <div class="alert alert-help mb-3">{{ \'ttyg.agent.messages.help_2\' | translate }}</div>\n <div class="alert alert-warning mb-3">\n <div>\n {{ \'ttyg.agent.messages.token_prop_warn1\' | translate }}\n <strong class="ttyg-token-prop copyable">graphdb.gpt.token</strong>\n <copy-to-clipboard tooltip-text="ttyg.agent.btn.copy_gpt_token_prop.tooltip"></copy-to-clipboard>\n {{ \'ttyg.agent.messages.token_prop_warn2\' | translate }}\n <strong>conf/graphdb.properties</strong>\n {{ \'ttyg.agent.messages.token_prop_warn3\' | translate }}\n </div>\n <a href="https://graphdb.ontotext.com/documentation/10.8/talk-to-graph.html">{{ \'ttyg.agent.messages.token_prop_warn4\' | translate }}</a>\n </div>\n\n <div class="actions">\n <button class="btn btn-outline-primary btn-lg text-xs-left create-agent-btn"\n gdb-tooltip="{{!canModifyAgent ? (\'ttyg.agent.fat_btn.create_agent.tooltip_disabled\' | translate) : \'\'}}"\n ng-disabled="!canModifyAgent"\n ng-click="onCreateAgent()">\n <i class="fa-regular fa-message-bot fa-xl"></i>\n <span class="text ml-1">{{\'ttyg.agent.fat_btn.create_agent.label\' | translate}}</span>\n </button>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[390],{496:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/ttyg/no-agents-view.css?v=2.8.0-TR13" rel="stylesheet"/>\n\n<div class="no-agents-view-component">\n <div class="content">\n <div class="alert alert-help mb-3">{{ \'ttyg.agent.messages.help_1\' | translate }}</div>\n <div class="alert alert-help mb-3">{{ \'ttyg.agent.messages.help_2\' | translate }}</div>\n <div class="alert alert-warning mb-3">\n <div>\n {{ \'ttyg.agent.messages.token_prop_warn1\' | translate }}\n <strong class="ttyg-token-prop copyable">graphdb.gpt.token</strong>\n <copy-to-clipboard tooltip-text="ttyg.agent.btn.copy_gpt_token_prop.tooltip"></copy-to-clipboard>\n {{ \'ttyg.agent.messages.token_prop_warn2\' | translate }}\n <strong>conf/graphdb.properties</strong>\n {{ \'ttyg.agent.messages.token_prop_warn3\' | translate }}\n </div>\n <a href="https://graphdb.ontotext.com/documentation/10.8/talk-to-graph.html">{{ \'ttyg.agent.messages.token_prop_warn4\' | translate }}</a>\n </div>\n\n <div class="actions">\n <button class="btn btn-outline-primary btn-lg text-xs-left create-agent-btn"\n gdb-tooltip="{{!canModifyAgent ? (\'ttyg.agent.fat_btn.create_agent.tooltip_disabled\' | translate) : \'\'}}"\n ng-disabled="!canModifyAgent"\n ng-click="onCreateAgent()">\n <i class="fa-regular fa-message-bot fa-xl"></i>\n <span class="text ml-1">{{\'ttyg.agent.fat_btn.create_agent.label\' | translate}}</span>\n </button>\n </div>\n </div>\n</div>\n';return __p}}}]);