graphdb-workbench 3.1.0-TR11 → 3.1.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.
- package/dist/{12396.0e82ea391201a21331b7.bundle.js → 12396.a4cb05c47cf17cbfd891.bundle.js} +2 -2
- package/dist/{12396.0e82ea391201a21331b7.bundle.js.map → 12396.a4cb05c47cf17cbfd891.bundle.js.map} +1 -1
- package/dist/{13486.58f89862c40c0f84cb09.bundle.js → 13486.b4c8bf17c522084e59fb.bundle.js} +2 -2
- package/dist/13486.b4c8bf17c522084e59fb.bundle.js.map +1 -0
- package/dist/13813.84b8832e83dec53d66b9.bundle.js +2 -0
- package/dist/13813.84b8832e83dec53d66b9.bundle.js.map +1 -0
- package/dist/{15535.48081afce23c62f128e9.bundle.js → 15535.aa936791f2b5dd74f7ee.bundle.js} +2 -2
- package/dist/{15535.48081afce23c62f128e9.bundle.js.map → 15535.aa936791f2b5dd74f7ee.bundle.js.map} +1 -1
- package/dist/{16162.df8405c22910f90c37ad.bundle.js → 16162.dca58b88b4d145a7fcf7.bundle.js} +2 -2
- package/dist/{16162.df8405c22910f90c37ad.bundle.js.map → 16162.dca58b88b4d145a7fcf7.bundle.js.map} +1 -1
- package/dist/{20287.1da2ac80bac0f2a8672c.bundle.js → 20287.22c94209c4a5b0aa569b.bundle.js} +2 -2
- package/dist/{20287.1da2ac80bac0f2a8672c.bundle.js.map → 20287.22c94209c4a5b0aa569b.bundle.js.map} +1 -1
- package/dist/{21136.4ab3afcde1292d1f06bd.bundle.js → 21136.b0b60f89d0aecc146390.bundle.js} +2 -2
- package/dist/{21136.4ab3afcde1292d1f06bd.bundle.js.map → 21136.b0b60f89d0aecc146390.bundle.js.map} +1 -1
- package/dist/{21142.aaa6ddd23c1aa3fb59f3.bundle.js → 21142.c1026a9490be83c3be64.bundle.js} +2 -2
- package/dist/{21142.aaa6ddd23c1aa3fb59f3.bundle.js.map → 21142.c1026a9490be83c3be64.bundle.js.map} +1 -1
- package/dist/{21170.f3fa40f23586f6ee4efc.bundle.js → 21170.4f1089c6ecb858d32307.bundle.js} +2 -2
- package/dist/{21170.f3fa40f23586f6ee4efc.bundle.js.map → 21170.4f1089c6ecb858d32307.bundle.js.map} +1 -1
- package/dist/{21195.5354c27d13a1f201dd19.bundle.js → 21195.4025ee868703a7826ae6.bundle.js} +2 -2
- package/dist/{21195.5354c27d13a1f201dd19.bundle.js.map → 21195.4025ee868703a7826ae6.bundle.js.map} +1 -1
- package/dist/23283.cc3b7fb640bcd9a0f7d2.bundle.js +2 -0
- package/dist/23283.cc3b7fb640bcd9a0f7d2.bundle.js.map +1 -0
- package/dist/24785.ff0689efffa1540e2904.bundle.js +2 -0
- package/dist/24785.ff0689efffa1540e2904.bundle.js.map +1 -0
- package/dist/25090.a073fc84568f38c40d67.bundle.js +2 -0
- package/dist/25090.a073fc84568f38c40d67.bundle.js.map +1 -0
- package/dist/{25747.d6f1641bf4600fe2570e.bundle.js → 25747.d8d9c4a6472dddad834f.bundle.js} +2 -2
- package/dist/{25747.d6f1641bf4600fe2570e.bundle.js.map → 25747.d8d9c4a6472dddad834f.bundle.js.map} +1 -1
- package/dist/{27580.53ac898e74f0bcc1ea5b.bundle.js → 27580.af47ce7d030e916c7a4e.bundle.js} +2 -2
- package/dist/{27580.53ac898e74f0bcc1ea5b.bundle.js.map → 27580.af47ce7d030e916c7a4e.bundle.js.map} +1 -1
- package/dist/28319.60fe63ffc79f8ba2cb23.bundle.js +2 -0
- package/dist/28319.60fe63ffc79f8ba2cb23.bundle.js.map +1 -0
- package/dist/{31636.be790098c5979344c509.bundle.js → 31636.fbeed6706183663eeee2.bundle.js} +2 -2
- package/dist/{31636.be790098c5979344c509.bundle.js.map → 31636.fbeed6706183663eeee2.bundle.js.map} +1 -1
- package/dist/{32489.a540e39f30922c1c5341.bundle.js → 32489.fafc19e8e0eb964a3ec5.bundle.js} +2 -2
- package/dist/{32489.a540e39f30922c1c5341.bundle.js.map → 32489.fafc19e8e0eb964a3ec5.bundle.js.map} +1 -1
- package/dist/34330.298b3fb714ce7fc0bda1.bundle.js +2 -0
- package/dist/34330.298b3fb714ce7fc0bda1.bundle.js.map +1 -0
- package/dist/{34495.e36ea443ec8352b615e6.bundle.js → 34495.bcc635daf309f60ba23b.bundle.js} +2 -2
- package/dist/{34495.e36ea443ec8352b615e6.bundle.js.map → 34495.bcc635daf309f60ba23b.bundle.js.map} +1 -1
- package/dist/36665.eda6cfdf545f2608a6c7.bundle.js +2 -0
- package/dist/36665.eda6cfdf545f2608a6c7.bundle.js.map +1 -0
- package/dist/36737.9d37e743918e6d45c10b.bundle.js +2 -0
- package/dist/36737.9d37e743918e6d45c10b.bundle.js.map +1 -0
- package/dist/{38360.f109d6e1129e9f58f7e4.bundle.js → 38360.55d84891b7ad65b37108.bundle.js} +2 -2
- package/dist/{38360.f109d6e1129e9f58f7e4.bundle.js.map → 38360.55d84891b7ad65b37108.bundle.js.map} +1 -1
- package/dist/{38644.8ad2f682465c65e84a9e.bundle.js → 38644.62bda02822616b30f0c7.bundle.js} +2 -2
- package/dist/{38644.8ad2f682465c65e84a9e.bundle.js.map → 38644.62bda02822616b30f0c7.bundle.js.map} +1 -1
- package/dist/{38843.a59a07e73a42cfb5e52d.bundle.js → 38843.28a56aadf139c5f83a07.bundle.js} +2 -2
- package/dist/{38843.a59a07e73a42cfb5e52d.bundle.js.map → 38843.28a56aadf139c5f83a07.bundle.js.map} +1 -1
- package/dist/39448.10bcf72a104ce8276328.bundle.js +2 -0
- package/dist/39448.10bcf72a104ce8276328.bundle.js.map +1 -0
- package/dist/{39518.77133465be137d37352f.bundle.js → 39518.24cdd6c870b5b026f43b.bundle.js} +2 -2
- package/dist/{39518.77133465be137d37352f.bundle.js.map → 39518.24cdd6c870b5b026f43b.bundle.js.map} +1 -1
- package/dist/{39539.60c0d00449eb3988203c.bundle.js → 39539.cb091b6ad5074999b72d.bundle.js} +2 -2
- package/dist/{39539.60c0d00449eb3988203c.bundle.js.map → 39539.cb091b6ad5074999b72d.bundle.js.map} +1 -1
- package/dist/{39874.6ca23ead080b52dc1bc6.bundle.js → 39874.ff510b958fcdbda4db58.bundle.js} +2 -2
- package/dist/39874.ff510b958fcdbda4db58.bundle.js.map +1 -0
- package/dist/4125.fd7946ca01aa51acba15.bundle.js +2 -0
- package/dist/4125.fd7946ca01aa51acba15.bundle.js.map +1 -0
- package/dist/{41453.9d5109ca609b8a870e5f.bundle.js → 41453.b696ac82dcadda585f04.bundle.js} +2 -2
- package/dist/{41453.9d5109ca609b8a870e5f.bundle.js.map → 41453.b696ac82dcadda585f04.bundle.js.map} +1 -1
- package/dist/{41621.d1b7d799116c07df17d1.bundle.js → 41621.68c5ebc2104a62e2b41d.bundle.js} +2 -2
- package/dist/41621.68c5ebc2104a62e2b41d.bundle.js.map +1 -0
- package/dist/{42129.42e556d7bd6885bba119.bundle.js → 42129.f9f2bafc4520aad7f942.bundle.js} +2 -2
- package/dist/{42129.42e556d7bd6885bba119.bundle.js.map → 42129.f9f2bafc4520aad7f942.bundle.js.map} +1 -1
- package/dist/42143.1483a9470e09485cc4e4.bundle.js +2 -0
- package/dist/42143.1483a9470e09485cc4e4.bundle.js.map +1 -0
- package/dist/{44444.834176d51f7ef0dab499.bundle.js → 44444.153ba656276a2f1bfdc3.bundle.js} +2 -2
- package/dist/{44444.834176d51f7ef0dab499.bundle.js.map → 44444.153ba656276a2f1bfdc3.bundle.js.map} +1 -1
- package/dist/{45843.49565fdfa9b426eeb208.bundle.js → 45843.2fb1782023f0992f82c1.bundle.js} +2 -2
- package/dist/{45843.49565fdfa9b426eeb208.bundle.js.map → 45843.2fb1782023f0992f82c1.bundle.js.map} +1 -1
- package/dist/51087.2e79fab6ad7c1282ee52.bundle.js +2 -0
- package/dist/51087.2e79fab6ad7c1282ee52.bundle.js.map +1 -0
- package/dist/51490.ca9c851e556c4c7940e5.bundle.js +2 -0
- package/dist/51490.ca9c851e556c4c7940e5.bundle.js.map +1 -0
- package/dist/{55862.bed529171c68ce972610.bundle.js → 55862.88796a9db69e193b8b83.bundle.js} +2 -2
- package/dist/{55862.bed529171c68ce972610.bundle.js.map → 55862.88796a9db69e193b8b83.bundle.js.map} +1 -1
- package/dist/57952.b096d19a802e06030ef0.bundle.js +2 -0
- package/dist/57952.b096d19a802e06030ef0.bundle.js.map +1 -0
- package/dist/{58306.67303bb681080a4df993.bundle.js → 58306.f76e839a5a73f4f4e23a.bundle.js} +2 -2
- package/dist/{58306.67303bb681080a4df993.bundle.js.map → 58306.f76e839a5a73f4f4e23a.bundle.js.map} +1 -1
- package/dist/{59718.f1ae3d1480c7179c57f0.bundle.js → 59718.dfd5982de2b39ccaa2ee.bundle.js} +2 -2
- package/dist/59718.dfd5982de2b39ccaa2ee.bundle.js.map +1 -0
- package/dist/67232.5a23ef1e641a2ca030c6.bundle.js +2 -0
- package/dist/67232.5a23ef1e641a2ca030c6.bundle.js.map +1 -0
- package/dist/{67888.7c67b21eb93e77d4bb70.bundle.js → 67888.1537da0fa115fd7a2f06.bundle.js} +2 -2
- package/dist/{67888.7c67b21eb93e77d4bb70.bundle.js.map → 67888.1537da0fa115fd7a2f06.bundle.js.map} +1 -1
- package/dist/68685.3ec66ceae3e494eba19b.bundle.js +2 -0
- package/dist/68685.3ec66ceae3e494eba19b.bundle.js.map +1 -0
- package/dist/{69112.817cf7b4d2911108c736.bundle.js → 69112.82e4d57df53e40b54050.bundle.js} +2 -2
- package/dist/69112.82e4d57df53e40b54050.bundle.js.map +1 -0
- package/dist/{70938.aee60e09777981a03d4c.bundle.js → 70938.fd6dd4e05b512128a074.bundle.js} +2 -2
- package/dist/{70938.aee60e09777981a03d4c.bundle.js.map → 70938.fd6dd4e05b512128a074.bundle.js.map} +1 -1
- package/dist/{72379.db460365f0917f4f179b.bundle.js → 72379.207930bac55b212354ae.bundle.js} +2 -2
- package/dist/{72379.db460365f0917f4f179b.bundle.js.map → 72379.207930bac55b212354ae.bundle.js.map} +1 -1
- package/dist/{73667.551fe5a23573c3b0af21.bundle.js → 73667.f42971a7477d6744c54c.bundle.js} +2 -2
- package/dist/{73667.551fe5a23573c3b0af21.bundle.js.map → 73667.f42971a7477d6744c54c.bundle.js.map} +1 -1
- package/dist/{73793.c064cab7716d96ea9713.bundle.js → 73793.adf7b10d53a8ee7fa07c.bundle.js} +2 -2
- package/dist/{73793.c064cab7716d96ea9713.bundle.js.map → 73793.adf7b10d53a8ee7fa07c.bundle.js.map} +1 -1
- package/dist/{73964.adb0a07a8c4dad17f592.bundle.js → 73964.fd1ad5e7aa228ad4cbbb.bundle.js} +2 -2
- package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js.map +1 -0
- package/dist/74106.f94ca66e9fc021789d6a.bundle.js +2 -0
- package/dist/74106.f94ca66e9fc021789d6a.bundle.js.map +1 -0
- package/dist/{75282.5e1cc49318a8ae5f34cf.bundle.js → 75282.f097da30576bae97c906.bundle.js} +2 -2
- package/dist/{75282.5e1cc49318a8ae5f34cf.bundle.js.map → 75282.f097da30576bae97c906.bundle.js.map} +1 -1
- package/dist/{75849.33196fcbd48643974506.bundle.js → 75849.9c78b9889eccbaee7ae0.bundle.js} +2 -2
- package/dist/{75849.33196fcbd48643974506.bundle.js.map → 75849.9c78b9889eccbaee7ae0.bundle.js.map} +1 -1
- package/dist/{78250.9ea78ce55f322719b1d8.bundle.js → 78250.9f4b0c688bdb06967ed6.bundle.js} +2 -2
- package/dist/{78250.9ea78ce55f322719b1d8.bundle.js.map → 78250.9f4b0c688bdb06967ed6.bundle.js.map} +1 -1
- package/dist/79329.69815208f7a0b1678dc2.bundle.js +2 -0
- package/dist/79329.69815208f7a0b1678dc2.bundle.js.map +1 -0
- package/dist/{82926.93d02072a678a29fbd64.bundle.js → 82926.ce06c4bb3d76b9fe5fa9.bundle.js} +2 -2
- package/dist/{82926.93d02072a678a29fbd64.bundle.js.map → 82926.ce06c4bb3d76b9fe5fa9.bundle.js.map} +1 -1
- package/dist/86142.3f4acbd124c99af11e48.bundle.js +2 -0
- package/dist/86142.3f4acbd124c99af11e48.bundle.js.map +1 -0
- package/dist/86639.5584db5b403656b75ad4.bundle.js +2 -0
- package/dist/86639.5584db5b403656b75ad4.bundle.js.map +1 -0
- package/dist/89695.9a36bd7b51d76634b902.bundle.js +2 -0
- package/dist/89695.9a36bd7b51d76634b902.bundle.js.map +1 -0
- package/dist/{9062.c781c7dfbb1a5f907a71.bundle.js → 9062.91ba683ec5a6cb53c23f.bundle.js} +2 -2
- package/dist/{9062.c781c7dfbb1a5f907a71.bundle.js.map → 9062.91ba683ec5a6cb53c23f.bundle.js.map} +1 -1
- package/dist/94519.1b7b699d10f1278380c3.bundle.js +2 -0
- package/dist/94519.1b7b699d10f1278380c3.bundle.js.map +1 -0
- package/dist/95953.4ea6a7c68a22779ba299.bundle.js +2 -0
- package/dist/95953.4ea6a7c68a22779ba299.bundle.js.map +1 -0
- package/dist/96089.7e28823f34c450de1f7e.bundle.js +2 -0
- package/dist/96089.7e28823f34c450de1f7e.bundle.js.map +1 -0
- package/dist/98860.5ade579c8f05a0df416b.bundle.js +2 -0
- package/dist/98860.5ade579c8f05a0df416b.bundle.js.map +1 -0
- package/dist/{99448.d257ae9548057a204517.bundle.js → 99448.b2524aa8fdf2f3aee82a.bundle.js} +2 -2
- package/dist/{99448.d257ae9548057a204517.bundle.js.map → 99448.b2524aa8fdf2f3aee82a.bundle.js.map} +1 -1
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/css/ttyg/agent-settings-modal.css +1 -1
- package/dist/i18n/locale-en.json +9 -0
- package/dist/i18n/locale-fr.json +9 -0
- package/dist/index.html +8 -8
- package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
- package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
- package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.html +1 -1
- package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
- package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
- package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
- package/dist/js/angular/security/templates/user.html +2 -2
- package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +34 -5
- package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
- package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
- package/dist/{legacyWorkbench.f804eda735b6f1961ceb.js → legacyWorkbench.c5245455051fd0bab730.js} +3 -3
- package/dist/{legacyWorkbench.f804eda735b6f1961ceb.js.map → legacyWorkbench.c5245455051fd0bab730.js.map} +1 -1
- package/dist/{main.5a06ce3271fcd9cb93e7.js → main.fa0b99f721588e894d1d.js} +3 -3
- package/dist/{main.5a06ce3271fcd9cb93e7.js.map → main.fa0b99f721588e894d1d.js.map} +1 -1
- package/dist/pages/aclmanagement.html +2 -2
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/login.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +1 -1
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +1 -1
- package/dist/res/swagger5/index.html +11 -11
- package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-layout.cjs.entry.js.map +1 -1
- package/dist/shared-components/cjs/onto-layout.entry.cjs.js.map +1 -1
- package/dist/shared-components/collection/components/onto-layout/onto-layout.js +1 -1
- package/dist/shared-components/collection/components/onto-layout/onto-layout.js.map +1 -1
- package/dist/shared-components/esm/onto-layout.entry.js +1 -1
- package/dist/shared-components/esm/onto-layout.entry.js.map +1 -1
- package/dist/shared-components/shared-components/onto-layout.entry.esm.js.map +1 -1
- package/dist/shared-components/shared-components/p-504c7e8e.entry.js +1 -0
- package/dist/shared-components/shared-components/p-504c7e8e.entry.js.map +1 -0
- package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
- package/package.json +1 -1
- package/dist/13486.58f89862c40c0f84cb09.bundle.js.map +0 -1
- package/dist/13813.a49f3fcf17ecd10c738e.bundle.js +0 -2
- package/dist/13813.a49f3fcf17ecd10c738e.bundle.js.map +0 -1
- package/dist/23283.a69ab10a85671d5323b4.bundle.js +0 -2
- package/dist/23283.a69ab10a85671d5323b4.bundle.js.map +0 -1
- package/dist/24785.07db24a70db7d20d268a.bundle.js +0 -2
- package/dist/24785.07db24a70db7d20d268a.bundle.js.map +0 -1
- package/dist/25090.8336e69433235ea3dfc6.bundle.js +0 -2
- package/dist/25090.8336e69433235ea3dfc6.bundle.js.map +0 -1
- package/dist/28319.54765ea398eaa88b7b54.bundle.js +0 -2
- package/dist/28319.54765ea398eaa88b7b54.bundle.js.map +0 -1
- package/dist/34330.a2a4211b14d118bd4c03.bundle.js +0 -2
- package/dist/34330.a2a4211b14d118bd4c03.bundle.js.map +0 -1
- package/dist/36665.8a0821c1742e6bd10e66.bundle.js +0 -2
- package/dist/36665.8a0821c1742e6bd10e66.bundle.js.map +0 -1
- package/dist/36737.0f3e0ff6942f79d49804.bundle.js +0 -2
- package/dist/36737.0f3e0ff6942f79d49804.bundle.js.map +0 -1
- package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js +0 -2
- package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js.map +0 -1
- package/dist/39874.6ca23ead080b52dc1bc6.bundle.js.map +0 -1
- package/dist/4125.28d3c85c122f270c9b2c.bundle.js +0 -2
- package/dist/4125.28d3c85c122f270c9b2c.bundle.js.map +0 -1
- package/dist/41621.d1b7d799116c07df17d1.bundle.js.map +0 -1
- package/dist/42143.87a6b0a089da7a2318dd.bundle.js +0 -2
- package/dist/42143.87a6b0a089da7a2318dd.bundle.js.map +0 -1
- package/dist/51087.8bc01b7861b40bc7082d.bundle.js +0 -2
- package/dist/51087.8bc01b7861b40bc7082d.bundle.js.map +0 -1
- package/dist/51490.358f66f8d298a6251e90.bundle.js +0 -2
- package/dist/51490.358f66f8d298a6251e90.bundle.js.map +0 -1
- package/dist/57952.afa9e0608388e5bae876.bundle.js +0 -2
- package/dist/57952.afa9e0608388e5bae876.bundle.js.map +0 -1
- package/dist/59718.f1ae3d1480c7179c57f0.bundle.js.map +0 -1
- package/dist/67232.ca7667a39c74efdb90e1.bundle.js +0 -2
- package/dist/67232.ca7667a39c74efdb90e1.bundle.js.map +0 -1
- package/dist/68685.314faeaa55a342568c0b.bundle.js +0 -2
- package/dist/68685.314faeaa55a342568c0b.bundle.js.map +0 -1
- package/dist/69112.817cf7b4d2911108c736.bundle.js.map +0 -1
- package/dist/73964.adb0a07a8c4dad17f592.bundle.js.map +0 -1
- package/dist/74106.82ee18377b0ae14c6a7f.bundle.js +0 -2
- package/dist/74106.82ee18377b0ae14c6a7f.bundle.js.map +0 -1
- package/dist/79329.a3a25c9508f4287f135c.bundle.js +0 -2
- package/dist/79329.a3a25c9508f4287f135c.bundle.js.map +0 -1
- package/dist/86142.ed366f6953d750eb99b8.bundle.js +0 -2
- package/dist/86142.ed366f6953d750eb99b8.bundle.js.map +0 -1
- package/dist/86639.6cf8f34680ceacc7298d.bundle.js +0 -2
- package/dist/86639.6cf8f34680ceacc7298d.bundle.js.map +0 -1
- package/dist/89695.2d49f93862aee2cf23af.bundle.js +0 -2
- package/dist/89695.2d49f93862aee2cf23af.bundle.js.map +0 -1
- package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js +0 -2
- package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js.map +0 -1
- package/dist/95953.1334544dd7e80f0da6cf.bundle.js +0 -2
- package/dist/95953.1334544dd7e80f0da6cf.bundle.js.map +0 -1
- package/dist/96089.15302200bfd9f685b009.bundle.js +0 -2
- package/dist/96089.15302200bfd9f685b009.bundle.js.map +0 -1
- package/dist/98860.30ea9a212cf6e622ec36.bundle.js +0 -2
- package/dist/98860.30ea9a212cf6e622ec36.bundle.js.map +0 -1
- package/dist/shared-components/shared-components/p-28a4ce8f.entry.js +0 -1
- package/dist/shared-components/shared-components/p-28a4ce8f.entry.js.map +0 -1
- /package/dist/{legacyWorkbench.f804eda735b6f1961ceb.js.LICENSE.txt → legacyWorkbench.c5245455051fd0bab730.js.LICENSE.txt} +0 -0
- /package/dist/{main.5a06ce3271fcd9cb93e7.js.LICENSE.txt → main.fa0b99f721588e894d1d.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"51087.8bc01b7861b40bc7082d.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/ask-ttyg-agent/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'ask-ttyg-agent',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'ask-ttyg-agent';\n options.maxWaitTime = 10;\n options.forceReload = false;\n\n const explain = options.explain;\n const explainMore = options.explainMore;\n const exploreSparql = options.exploreSparql;\n\n const steps = [\n {\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n skipPoint: true,\n content: `guide.step_plugin.ask-ttyg-agent.input-question`,\n class: 'input-question-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('question-input'),\n show: (guide) => () => {\n const elementSelector = GuideUtils.getGuideElementSelector('contenteditable');\n\n // Add \"keydown\" listener to the element. The question-input directive listens for keypress of enter to trigger question asking.\n // When enter is pressed, proceed with next step. Using 'keydown' to trigger before the directive 'keypress', which clears the value.\n $(elementSelector).on('keydown', (event) => {\n const value = $(elementSelector).text();\n\n if (value && event.key === 'Enter' && !event.shiftKey && !event.ctrlKey) {\n guide.next();\n }\n });\n },\n hide: () => () => {\n const elementSelector = GuideUtils.getGuideElementSelector('contenteditable');\n // Remove the \"keydown\" listener of element. It is important when step is hidden.\n $(elementSelector).off('keydown');\n },\n disablePreviousFlow: true,\n disableNextFlow: true\n }, options)\n },\n getWaitForAnswerStep(GuideUtils, options)\n ];\n\n if (explain) {\n const explainBtnSelector = GuideUtils.getLastGuideElementSelector('explain-response-btn');\n const elementSelector = GuideUtils.getLastGuideElementSelector('chat-item', explainBtnSelector);\n\n steps.push(\n {\n // If button is not visible for some reason, skip the whole step\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n url: '/ttyg',\n beforeShowPromise: (guide, currentStep) => GuideUtils.waitFor(elementSelector, 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 3))\n }),\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.explain-answer',\n class: 'explain-answer-guide-dialog',\n url: '/ttyg',\n elementSelector,\n disablePreviousFlow: true,\n disableNextFlow: true\n }, options)\n },\n getWaitForAnswerStep(GuideUtils, options)\n )\n }\n\n if (explain && exploreSparql) {\n const exploreSparqlBtnSelector = GuideUtils.getLastGuideElementSelector('open-in-sparql-editor-btn');\n const elementSelector = GuideUtils.getLastGuideElementSelector('chat-item', exploreSparqlBtnSelector);\n\n steps.push(\n {\n // If button is not visible for some reason, skip the whole step\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n url: '/ttyg',\n beforeShowPromise: (guide, currentStep) => GuideUtils.waitFor(elementSelector, 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 2))\n }),\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.explore-sparql',\n class: 'explore-sparql-guide-dialog',\n url: '/ttyg',\n disablePreviousFlow: true,\n disableNextFlow: true,\n elementSelector\n }, options)\n }\n )\n }\n\n if (explain && explainMore) {\n const explainMoreBtnSelector = GuideUtils.getLastGuideElementSelector('how-derive-answer-btn');\n const elementSelector = GuideUtils.getLastGuideElementSelector('chat-item', explainMoreBtnSelector);\n\n steps.push(\n {\n // If button is not visible for some reason, skip the whole step\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n url: '/ttyg',\n beforeShowPromise: (guide, currentStep) => {\n return GuideUtils.waitFor(elementSelector, 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 3))\n })\n },\n disablePreviousFlow: true\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.explain-answer-more',\n class: 'input-agent-name-guide-dialog',\n url: '/ttyg',\n elementSelector,\n show: (guide) => () => {\n // Add \"click\" listener to the element. Upon clicking the element is hidden and this breaks the default flow of the guide.\n // Adding a handler to proceed to next step\n $(elementSelector).on('click', () => {\n guide.next()\n });\n },\n hide: () => () => {\n // Remove the \"click\" listener of element. It is important when step is hidden.\n $(elementSelector).off('click');\n },\n disableNextFlow: true\n }, options)\n },\n getWaitForAnswerStep(GuideUtils, options)\n )\n }\n\n return steps;\n }\n }\n]);\n\nconst getWaitForAnswerStep = (GuideUtils, options) => {\n return {\n guideBlockName: 'hold-and-wait-until-hidden',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.wait-for-answer',\n class: 'wait-for-answer-guide-dialog',\n url: '/ttyg',\n placement: 'left',\n elementSelector: GuideUtils.getGuideElementSelector('chat-details'),\n elementSelectorToWait: GuideUtils.getGuideElementSelector('question-loader'),\n }, options)\n }\n}\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","maxWaitTime","forceReload","explain","explainMore","exploreSparql","steps","angular","extend","skipPoint","content","class","url","elementSelector","getGuideElementSelector","show","guide","$","on","event","text","key","shiftKey","ctrlKey","next","hide","off","disablePreviousFlow","disableNextFlow","getWaitForAnswerStep","explainBtnSelector","getLastGuideElementSelector","push","beforeShowPromise","currentStep","waitFor","then","setTimeout","catch","stepId","id","exploreSparqlBtnSelector","explainMoreBtnSelector","placement","elementSelectorToWait"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=51490;export const __webpack_ids__=[51490];export const __webpack_modules__={51490:(e,t,o)=>{o.r(t),o.d(t,{agentFormModelMapper:()=>d,agentListMapper:()=>u,agentModelMapper:()=>c});var r=o(28319),n=o(23283),i=o(38940),s=o(93135),a=o(70826);const d=(e,t,o)=>{if(!e)return;const i=new n.AgentFormModel;return i.id=e.id||t.id,i.name=e.name||t.name,i.repositoryId=e.repositoryId||t.repositoryId,i.model=e.model||t.model,i.temperature.value=void 0!==e.temperature?e.temperature:t.temperature,i.topP.value=void 0!==e.topP?e.topP:t.topP,i.seed=e.seed||t.seed,i.instructions=l(e.instructions,t.instructions),m(i,o,t.assistantExtractionMethods,e.assistantExtractionMethods),function(e,t,o){if(!e)return;const i=e.map(o=>{let i={method:o.method||t.method,expanded:o.expanded||t.expanded};return o.method!==r.AdditionalExtractionMethod.IRI_DISCOVERY_SEARCH&&o.method!==r.AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH||(i.selected=e.some(e=>e.method===o.method)),o.method===r.AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH&&(i.maxNumberOfResultsPerCall=o._maxNumberOfResultsPerCall||t.maxNumberOfResultsPerCall),new n.AdditionalExtractionMethodFormModel(i)});o.additionalExtractionMethods.setAdditionalExtractionMethod(i)}(e.additionalExtractionMethods,t.additionalExtractionMethods,i),i},l=(e,t)=>{if(!e&&!t)return;const o=e&&e.systemInstruction||t.systemInstruction,r=e&&e.userInstruction||t.userInstruction;return new n.AgentInstructionsFormModel({systemInstruction:o,userInstruction:r,defaultSystemInstruction:t.systemInstruction,defaultUserInstruction:t.userInstruction})},m=(e,t,o,r=[])=>{const s=o.filter(e=>!r.some(t=>t.method===e.method)),d=o.find(e=>"sparql_search"===e.method);[...r,...s].forEach(o=>{const s=r.some(e=>e.method===o.method);let l="";s&&"sparql_search"===o.method&&(a.AGENT_OPERATION.CREATE===t?l="":o.sparqlQuery?l="sparqlQuery":o.ontologyGraph&&(l="ontologyGraph"));const m=t===a.AGENT_OPERATION.EDIT||t===a.AGENT_OPERATION.CLONE,u=new n.ExtractionMethodFormModel({selected:m&&s,method:o.method,sparqlOption:l,ontologyGraph:o.ontologyGraph||d.ontologyGraph,addMissingNamespaces:o.addMissingNamespaces,sparqlQuery:new i.TextFieldModel({value:o.sparqlQuery||d.sparqlQuery,minLength:1,maxLength:2380}),similarityIndex:o.similarityIndex,similarityIndexThreshold:o.similarityIndexThreshold&&new i.NumericRangeModel({value:o.similarityIndexThreshold,minValue:0,maxValue:1,step:.1}),maxNumberOfTriplesPerCall:0===o.maxNumberOfTriplesPerCall?null:o.maxNumberOfTriplesPerCall,queryTemplate:o.queryTemplate&&new i.TextFieldModel({value:o.queryTemplate,minLength:1,maxLength:2380}),retrievalConnectorInstance:o.retrievalConnectorInstance});e.assistantExtractionMethods.setExtractionMethod(u)})},u=(e,t)=>{if(!e)return new r.AgentListModel;const o=e.map(e=>c(e,t));return new r.AgentListModel(o)},c=(e,t)=>{if(!e)return;const o=(0,s.md5HashGenerator)();return new r.AgentModel({id:e.id,name:e.name,repositoryId:e.repositoryId,isRepositoryDeleted:!t.includes(e.repositoryId),model:e.model,temperature:e.temperature,topP:e.topP,seed:e.seed,instructions:E(e.instructions),assistantExtractionMethods:p(e.assistantExtractionMethods),additionalExtractionMethods:I(e.additionalExtractionMethods),compatibility:e.compatibility},o)},p=e=>{if(e)return e.map(e=>h(e))},h=e=>{if(e)return new r.ExtractionMethodModel({method:e.method,ontologyGraph:e.ontologyGraph,addMissingNamespaces:e.addMissingNamespaces,sparqlQuery:e.sparqlQuery,similarityIndex:e.similarityIndex,similarityIndexThreshold:e.similarityIndexThreshold,maxNumberOfTriplesPerCall:e.maxNumberOfTriplesPerCall,queryTemplate:e.queryTemplate,retrievalConnectorInstance:e.retrievalConnectorInstance})},I=e=>{if(e)return e.map(e=>x(e))},x=e=>{if(e)return e.method===r.AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH?new r.AdditionalExtractionMethodModel({method:e.method,maxNumberOfResultsPerCall:e.limit||0}):e.method===r.AdditionalExtractionMethod.IRI_DISCOVERY_SEARCH?new r.AdditionalExtractionMethodModel({method:e.method}):void 0},E=e=>{if(e)return new r.AgentInstructionsModel({systemInstruction:e.systemInstruction,userInstruction:e.userInstruction})}}};
|
|
2
|
-
//# sourceMappingURL=51490.358f66f8d298a6251e90.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"51490.358f66f8d298a6251e90.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/services/agents.mapper.js"],"sourcesContent":["import {\n AdditionalExtractionMethod,\n AdditionalExtractionMethodModel,\n AgentInstructionsModel,\n AgentListModel,\n AgentModel,\n ExtractionMethodModel\n} from '../../models/ttyg/agents';\nimport {\n AdditionalExtractionMethodFormModel,\n AgentFormModel,\n AgentInstructionsFormModel,\n ExtractionMethodFormModel\n} from '../../models/ttyg/agent-form';\nimport {NumericRangeModel, TextFieldModel} from '../../models/form-fields';\nimport {md5HashGenerator} from '../../utils/hash-utils';\nimport {AGENT_OPERATION} from \"./constants\";\n\n/**\n * Converts an agent model to an agent form model.\n * @param {AgentModel} agentModel\n * @param {AgentModel} defaultAgentModel\n * @param {string} operation\n * @return {AgentFormModel}\n */\nexport const agentFormModelMapper = (agentModel, defaultAgentModel, operation ) => {\n if (!agentModel) {\n return;\n }\n const agentFormModel = new AgentFormModel();\n agentFormModel.id = agentModel.id || defaultAgentModel.id;\n agentFormModel.name = agentModel.name || defaultAgentModel.name;\n agentFormModel.repositoryId = agentModel.repositoryId || defaultAgentModel.repositoryId;\n agentFormModel.model = agentModel.model || defaultAgentModel.model;\n agentFormModel.temperature.value = agentModel.temperature !== undefined ? agentModel.temperature : defaultAgentModel.temperature;\n agentFormModel.topP.value = agentModel.topP !== undefined ? agentModel.topP : defaultAgentModel.topP;\n agentFormModel.seed = agentModel.seed || defaultAgentModel.seed;\n agentFormModel.instructions = agentInstructionsFormMapper(agentModel.instructions, defaultAgentModel.instructions);\n extractionMethodsFormMapper(agentFormModel, operation, defaultAgentModel.assistantExtractionMethods, agentModel.assistantExtractionMethods);\n // Select additional methods if they are present in the list returned from the backend (BE).\n additionalExtractionMethodsFormMapper(agentModel.additionalExtractionMethods, defaultAgentModel.additionalExtractionMethods, agentFormModel);\n return agentFormModel;\n};\n\n/**\n * @param {AgentInstructionsModel} currentAgentModelInstructions\n * @param {AgentInstructionsModel} defaultInstructions\n * @return {AgentInstructionsFormModel}\n */\nconst agentInstructionsFormMapper = (currentAgentModelInstructions, defaultInstructions) => {\n if (!currentAgentModelInstructions && !defaultInstructions) {\n return;\n }\n const systemInstruction = currentAgentModelInstructions && currentAgentModelInstructions.systemInstruction || defaultInstructions.systemInstruction;\n const userInstruction = currentAgentModelInstructions && currentAgentModelInstructions.userInstruction || defaultInstructions.userInstruction;\n return new AgentInstructionsFormModel({\n systemInstruction: systemInstruction,\n userInstruction: userInstruction,\n defaultSystemInstruction: defaultInstructions.systemInstruction,\n defaultUserInstruction: defaultInstructions.userInstruction\n });\n};\n\n/**\n * @param {AgentFormModel} agentFormModel\n * @param {string} operation\n * @param {ExtractionMethodModel[]} defaultData\n * @param {ExtractionMethodModel[]} data\n */\nconst extractionMethodsFormMapper = (agentFormModel, operation, defaultData, data = []) => {\n const defaultExtractionMethods = defaultData.filter((defaultExtractionMethod) => !data.some((agentMethod) => agentMethod.method === defaultExtractionMethod.method));\n const defaultSparqlMethodValues = defaultData.find((defaultExtractionMethod) => defaultExtractionMethod.method === 'sparql_search');\n const extractionMethods = [...data, ...defaultExtractionMethods];\n extractionMethods.forEach((extractionMethod) => {\n const isMethodSelected = data.some((method) => method.method === extractionMethod.method);\n // The sparqlOption is applicable only for the sparql_search method.\n let sparqlOption = '';\n if (isMethodSelected && extractionMethod.method === 'sparql_search') {\n if (AGENT_OPERATION.CREATE === operation) {\n sparqlOption = '';\n } else if (extractionMethod.sparqlQuery) {\n sparqlOption = 'sparqlQuery';\n } else if (extractionMethod.ontologyGraph) {\n sparqlOption = 'ontologyGraph';\n }\n }\n // In edit and clone operations we have an existing agent instance, so we should show the selected methods from it.\n const shouldShowSelectedMethods = operation === AGENT_OPERATION.EDIT || operation === AGENT_OPERATION.CLONE;\n const existingMethod = new ExtractionMethodFormModel({\n selected: shouldShowSelectedMethods && isMethodSelected,\n method: extractionMethod.method,\n sparqlOption: sparqlOption,\n ontologyGraph: extractionMethod.ontologyGraph || defaultSparqlMethodValues.ontologyGraph,\n addMissingNamespaces: extractionMethod.addMissingNamespaces,\n sparqlQuery: new TextFieldModel({\n value: extractionMethod.sparqlQuery || defaultSparqlMethodValues.sparqlQuery,\n minLength: 1,\n maxLength: 2380\n }),\n similarityIndex: extractionMethod.similarityIndex,\n similarityIndexThreshold: extractionMethod.similarityIndexThreshold && new NumericRangeModel({\n value: extractionMethod.similarityIndexThreshold,\n minValue: 0,\n maxValue: 1,\n step: 0.1\n }),\n // In case backend returns 0 as a default value this means that there is no limit, so we set the null in order\n // to show the placeholder in the input field.\n maxNumberOfTriplesPerCall: extractionMethod.maxNumberOfTriplesPerCall === 0 ? null : extractionMethod.maxNumberOfTriplesPerCall,\n queryTemplate: extractionMethod.queryTemplate && new TextFieldModel({\n value: extractionMethod.queryTemplate,\n minLength: 1,\n maxLength: 2380\n }),\n retrievalConnectorInstance: extractionMethod.retrievalConnectorInstance\n });\n agentFormModel.assistantExtractionMethods.setExtractionMethod(existingMethod);\n });\n};\n\n/**\n * @param {AdditionalExtractionMethodsModel} additionalExtractionMethodsResponse\n * @param {AdditionalExtractionMethodsModel} defaultAdditionalExtractionMethodData\n * @param {AgentFormModel} agentFormModel\n */\nfunction additionalExtractionMethodsFormMapper(additionalExtractionMethodsResponse, defaultAdditionalExtractionMethodData, agentFormModel) {\n // No Additional extraction methods on new agent creation\n if (!additionalExtractionMethodsResponse) {\n return;\n }\n const additionalExtractionMethods = additionalExtractionMethodsResponse.map(method => {\n let data = {\n method: method.method || defaultAdditionalExtractionMethodData.method,\n expanded: method.expanded || defaultAdditionalExtractionMethodData.expanded,\n };\n if (method.method === AdditionalExtractionMethod.IRI_DISCOVERY_SEARCH || method.method === AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH) {\n data.selected = additionalExtractionMethodsResponse.some((agentMethod) => agentMethod.method === method.method);\n }\n\n if (method.method === AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH) {\n data.maxNumberOfResultsPerCall = method._maxNumberOfResultsPerCall || defaultAdditionalExtractionMethodData.maxNumberOfResultsPerCall;\n }\n return new AdditionalExtractionMethodFormModel(data);\n });\n agentFormModel.additionalExtractionMethods.setAdditionalExtractionMethod(additionalExtractionMethods);\n}\n\n/**\n * Converts the response from the server to a list of AgentModel.\n * @param {*[]} data\n * @param {string[]} localRepositoryIds\n * @return {AgentListModel}\n */\nexport const agentListMapper = (data, localRepositoryIds) => {\n if (!data) {\n return new AgentListModel();\n }\n const agentModels = data\n .map((agent) => agentModelMapper(agent, localRepositoryIds));\n return new AgentListModel(agentModels);\n};\n\nexport const agentModelMapper = (data, localRepositoryIds) => {\n if (!data) {\n return;\n }\n const hashGenerator = md5HashGenerator();\n return new AgentModel({\n id: data.id,\n name: data.name,\n repositoryId: data.repositoryId,\n // Sets the isRepositoryDeleted flag based on whether the repository ID is not in the list of repositories.\n isRepositoryDeleted: !localRepositoryIds.includes(data.repositoryId),\n model: data.model,\n temperature: data.temperature,\n topP: data.topP,\n seed: data.seed,\n instructions: agentInstructionsMapper(data.instructions),\n assistantExtractionMethods: extractionMethodsMapper(data.assistantExtractionMethods),\n additionalExtractionMethods: additionalExtractionMethodsMapper(data.additionalExtractionMethods),\n compatibility: data.compatibility,\n }, hashGenerator);\n};\n\nconst extractionMethodsMapper = (data) => {\n if (!data) {\n return;\n }\n return data.map((extractionMethod) => extractionMethodMapper(extractionMethod));\n};\n\nconst extractionMethodMapper = (data) => {\n if (!data) {\n return;\n }\n return new ExtractionMethodModel({\n method: data.method,\n ontologyGraph: data.ontologyGraph,\n addMissingNamespaces: data.addMissingNamespaces,\n sparqlQuery: data.sparqlQuery,\n similarityIndex: data.similarityIndex,\n similarityIndexThreshold: data.similarityIndexThreshold,\n maxNumberOfTriplesPerCall: data.maxNumberOfTriplesPerCall,\n queryTemplate: data.queryTemplate,\n retrievalConnectorInstance: data.retrievalConnectorInstance\n });\n};\n\nconst additionalExtractionMethodsMapper = (data) => {\n if (!data) {\n return;\n }\n return data.map((additionalExtractionMethod) => additionalExtractionMethodMapper(additionalExtractionMethod));\n};\n\nconst additionalExtractionMethodMapper = (data) => {\n if (!data) {\n return;\n }\n if (data.method === AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH) {\n return new AdditionalExtractionMethodModel({\n method: data.method,\n maxNumberOfResultsPerCall: data.limit || 0\n });\n } else if (data.method === AdditionalExtractionMethod.IRI_DISCOVERY_SEARCH) {\n return new AdditionalExtractionMethodModel({\n method: data.method\n });\n }\n};\n\nconst agentInstructionsMapper = (data) => {\n if (!data) {\n return;\n }\n return new AgentInstructionsModel({\n systemInstruction: data.systemInstruction,\n userInstruction: data.userInstruction\n });\n};\n"],"names":["agentFormModelMapper","agentModel","defaultAgentModel","operation","agentFormModel","AgentFormModel","id","name","repositoryId","model","temperature","value","undefined","topP","seed","instructions","agentInstructionsFormMapper","extractionMethodsFormMapper","assistantExtractionMethods","additionalExtractionMethodsResponse","defaultAdditionalExtractionMethodData","additionalExtractionMethods","map","method","data","expanded","AdditionalExtractionMethod","IRI_DISCOVERY_SEARCH","AUTOCOMPLETE_IRI_DISCOVERY_SEARCH","selected","some","agentMethod","maxNumberOfResultsPerCall","_maxNumberOfResultsPerCall","AdditionalExtractionMethodFormModel","setAdditionalExtractionMethod","additionalExtractionMethodsFormMapper","currentAgentModelInstructions","defaultInstructions","systemInstruction","userInstruction","AgentInstructionsFormModel","defaultSystemInstruction","defaultUserInstruction","defaultData","defaultExtractionMethods","filter","defaultExtractionMethod","defaultSparqlMethodValues","find","forEach","extractionMethod","isMethodSelected","sparqlOption","AGENT_OPERATION","CREATE","sparqlQuery","ontologyGraph","shouldShowSelectedMethods","EDIT","CLONE","existingMethod","ExtractionMethodFormModel","addMissingNamespaces","TextFieldModel","minLength","maxLength","similarityIndex","similarityIndexThreshold","NumericRangeModel","minValue","maxValue","step","maxNumberOfTriplesPerCall","queryTemplate","retrievalConnectorInstance","setExtractionMethod","agentListMapper","localRepositoryIds","AgentListModel","agentModels","agent","agentModelMapper","hashGenerator","md5HashGenerator","AgentModel","isRepositoryDeleted","includes","agentInstructionsMapper","extractionMethodsMapper","additionalExtractionMethodsMapper","compatibility","extractionMethodMapper","ExtractionMethodModel","additionalExtractionMethod","additionalExtractionMethodMapper","AdditionalExtractionMethodModel","limit","AgentInstructionsModel"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=57952;export const __webpack_ids__=[48581,57952,70962];export const __webpack_modules__={57952:(t,e,n)=>{n.r(e),n.d(e,{ARROW_CONFIG:()=>R,addArrowHead:()=>T,createClusterSvgElement:()=>u,createClusterZone:()=>O,createHexagon:()=>G,createLinks:()=>C,createNodes:()=>f,moveElement:()=>_,positionNodesOnClusterZone:()=>L,removeEventListeners:()=>D,setArrowLink:()=>m,setCreateClusterZone:()=>S,setLinkColor:()=>v,setLinkStyle:()=>x,updateClusterZoneLabels:()=>E,updateLinks:()=>g,updateNodes:()=>h});var o=n(70962),r=n(98980),a=n(93462);const s={line:a.line,select:a.select},i={ontoOrange:"var(--primary-color)",ontoBlue:"var(--secondary-color)",ontoGreen:"var(--tertiary-color)",ontoGrey:"var(--gray-color)"},c={[o.LinkState.IN_SYNC]:i.ontoBlue,[o.LinkState.SYNCING]:i.ontoBlue,[o.LinkState.OUT_OF_SYNC]:i.ontoGrey,[o.LinkState.RECEIVING_SNAPSHOT]:i.ontoBlue},d={[o.LinkState.IN_SYNC]:"none",[o.LinkState.SYNCING]:"10 10",[o.LinkState.OUT_OF_SYNC]:"10 10",[o.LinkState.RECEIVING_SNAPSHOT]:"10 10"},l={FONT_AWESOME:"FONT_AWESOME",ICOMOON:"ICOMOON"},N=40;function u(t){return s.select(t).append("svg").classed("cluster-diagram",!0)}function O(t){const e=t.append("g");return e.append("circle").classed("cluster-zone",!0).style("fill","transparent").style("stroke-width","4"),e}function S(t,e,n,o=!1){if(e.select(".cluster-zone").classed("no-cluster",!t).classed("has-access",o),t)e.selectAll("#no-cluster-zone").remove();else{const t=e.append("g").attr("id","no-cluster-zone");t.append("text").attr("id","no-cluster-label").text(n.no_cluster_configured).attr("y",-50).classed("h2",!0).style("text-anchor","middle"),o&&t.append("text").attr("id","create-cluster-label").classed("h3",!0).text(n.create_cluster_btn).style("text-anchor","middle"),t.append("text").attr("y",130).attr("class","icon-any repo").attr("fill",i.ontoOrange).style("text-anchor","middle").classed("settings-icon",!0).text("")}}function E(t,e,n){t||(e.select("#no-cluster-zone #no-cluster-label").text(n.no_cluster_configured),e.select("#no-cluster-zone #create-cluster-label").text(n.create_cluster_btn))}function _(t,e,n){t.attr("transform",()=>`translate(${e}, ${n})`)}function f(t,e,n){const o=t.enter().append("g").attr("id","node-group").classed("legend",n),r=o.merge(t).attr("id","node-group").classed("legend",n);return G(o,e),t.exit().remove(),o.append("text").attr("class","icon-any node-icon"),n||function(t,e){const n=t.append("g");n.append("rect").attr("class","id-host-background").attr("rx",6),n.append("rect").attr("class","node-info-background").attr("rx",6),n.append("text").attr("y",e+25).attr("class","id id-host"),n.append("text").attr("y",e+55).attr("class","node-info-text")}(o,e),r}function h(t){!function(t){t.select(".node-icon").each(function(t){const e=(n=t,(0,r.isEmpty)(n.recoveryStatus)?function(t){return I[t.nodeState]||{icon:"",font:""}}(t):function(t){const e=t.recoveryStatus;return e&&e.state&&p[e.state]||{icon:"",font:""}}(t));var n;s.select(this).classed("icon-any",e.font===l.ICOMOON).classed("fa-d3",e.font===l.FONT_AWESOME).text(e.icon)})}(t),function(t){t.select(".node.member").classed("leader",t=>t.nodeState===o.NodeState.LEADER).classed("follower",t=>t.nodeState===o.NodeState.FOLLOWER).classed("candidate",t=>t.nodeState===o.NodeState.CANDIDATE).classed("other",t=>t.nodeState!==o.NodeState.LEADER&&t.nodeState!==o.NodeState.FOLLOWER&&t.nodeState!==o.NodeState.CANDIDATE)}(t),function(t){t.select(".id.id-host").each(function(t){t.labelNode=this}).text(function(t){return t.hostname}),t.select(".id-host-background").attr("width",function(t){return s.select(t.labelNode).node().getBBox().width+10}).attr("height",function(t){return s.select(t.labelNode).node().getBBox().height+10}).attr("x",function(t){return s.select(t.labelNode).node().getBBox().x-5}).attr("y",function(t){return s.select(t.labelNode).node().getBBox().y-5})}(t),function(t){let e,n;t.select(".node-info-text").each(function(t){t.infoNode=this}).select(function(){return this.parentNode}).append("foreignObject").attr("width",function(t){if((0,r.isEmpty)(t.recoveryStatus))return 0;const o=A(y(t));return e=o.height,n=o.width,n}).attr("height",function(t){return(0,r.isEmpty)(t.recoveryStatus)?0:e}).attr("x",function(t){return-n/2}).attr("y",function(t){return 78}).classed("hidden",function(t){return(0,r.isEmpty)(t.recoveryStatus)}).style("font-size","12px").style("font-weight","400").style("text-align","center").style("padding","4px").style("background","#EEEEEE").style("border-radius","6px").attr("class","node-info-fo").append("xhtml:div").html(function(t){return y(t)}),t.select(".node-info-text").remove(),function(t){t.select(".node-info-fo").each(function(t){const e=s.select(this);if((0,r.isEmpty)(t.recoveryStatus))return void e.attr("width",0);const n=y(t),o=t.recoveryStatus.message&&t.recoveryStatus.message.length>N&&n!==t.recoveryStatus.message,a=o?n:t.recoveryStatus.message,i=A(n),c=A(t.recoveryStatus.message);e.on(".tooltip",null),o&&function(t,e,n,o,r){t.on("mouseover.tooltip",()=>{t.attr("width",r.width).attr("height",r.height).attr("x",-r.width/2).html(`<div>${e}</div>`)}),t.on("mouseout.tooltip",()=>{t.attr("width",n.width).attr("height",n.height).attr("x",-n.width/2).html(`<div>${o}</div>`)})}(e,t.recoveryStatus.message,i,a,c),e.attr("width",i.width).attr("height",i.height).attr("x",-i.width/2).html(`<div>${a}</div>`)})}(t)}(t)}const p={[o.RecoveryState.SEARCHING_FOR_NODE]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.WAITING_FOR_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.RECEIVING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.APPLYING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.BUILDING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.SENDING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.RECOVERY_OPERATION_FAILURE_WARNING]:{icon:"",font:l.ICOMOON}},I={[o.NodeState.CANDIDATE]:{icon:"",font:l.ICOMOON},[o.NodeState.NO_CONNECTION]:{icon:"",font:l.ICOMOON},[o.NodeState.OUT_OF_SYNC]:{icon:"",font:l.ICOMOON},[o.NodeState.READ_ONLY]:{icon:"",font:l.ICOMOON},[o.NodeState.RESTRICTED]:{icon:"",font:l.ICOMOON}};function y(t){return t.recoveryStatus.message&&t.recoveryStatus.message.length>N?t.recoveryStatus.message.substring(0,N)+"...":t.recoveryStatus.message||""}function A(t){const e=document.createElement("div");e.innerHTML=t,e.style.padding="4px",e.style.position="absolute",e.style.visibility="hidden",e.style.fontSize="12px",e.style.fontWeight="400",e.style.textAlign="center",e.style.height="auto",e.style.width="auto",e.style.whiteSpace="nowrap",document.body.appendChild(e);const n=e.getBoundingClientRect(),o=n.height,r=n.width;return document.body.removeChild(e),{height:o,width:r}}function C(t){t.enter().append("path").classed("link",!0),t.exit().remove()}function g(t,e){t.attr("class",t=>`link ${t.id.replaceAll(":","-")}`).attr("stroke",v).style("stroke-dasharray",x).style("marker-mid",t=>m(t,R.BIG)).attr("d",t=>function(t,e){const n=e.find(e=>e.address===t.source),o=e.find(e=>e.address===t.target),r=o.x-n.x,a=o.y-n.y,s=Math.sqrt(r*r+a*a),i=r/s,c=a/s,d=n.x+55*i,l=n.y+55*c,N=o.x-55*i,u=o.y-55*c;return"M"+d+","+l+"L"+(d+N)/2+","+(l+u)/2+"L"+N+","+u}(t,e))}const R={SMALL:{name:"small",size:3},BIG:{name:"big",size:5}};function T(t,e){t.append("svg:defs").append("svg:marker").attr("id",`arrowhead_${e.name}`).attr("viewBox",`0 0 ${2*e.size} ${2*e.size}`).attr("refX",e.size).attr("refY",e.size).attr("markerWidth",e.size).attr("markerHeight",e.size).attr("orient","auto-start-reverse").append("path").attr("d",`M 0 0 L ${2*e.size} ${e.size} L 0 ${2*e.size} z`).style("fill","var(--secondary-color)")}function m(t,e){if(t.status===o.LinkState.RECEIVING_SNAPSHOT)return`url(#arrowhead_${e.name})`}function v(t){return c[t.status]||"none"}function x(t){return d[t.status]||"none"}function L(t,e,n,o){t.attr("transform",(r,a)=>{const s=2*Math.PI*a/t.size(),i=e+Math.cos(s)*o,c=n+Math.sin(s)*o;return r.x=i,r.y=c,`translate(${i}, ${c})`})}function G(t,e){const n=Math.sqrt(3)/2,o=[[e+0,0],[e/2+0,e*n+0],[-e/2+0,e*n+0],[0-e,0],[-e/2+0,-e*n+0],[e/2+0,-e*n+0],[e+0,0],[e/2+0,e*n+0]];return t.selectAll("path.area").data([o]).enter().append("path").attr("class","node member").attr("stroke-width","10").attr("stroke-linejoin","round").attr("d",s.line())}function D(){s.select(document).selectAll(".node-info-fo").on(".tooltip",null)}},70962:(t,e,n)=>{n.r(e),n.d(e,{LinkState:()=>a,NodeState:()=>o,RecoveryState:()=>r,TopologyState:()=>s});const o={LEADER:"LEADER",FOLLOWER:"FOLLOWER",CANDIDATE:"CANDIDATE",OUT_OF_SYNC:"OUT_OF_SYNC",NO_CONNECTION:"NO_CONNECTION",READ_ONLY:"READ_ONLY",RESTRICTED:"RESTRICTED",NO_CLUSTER:"NO_CLUSTER"},r={SEARCHING_FOR_NODE:"SEARCHING_FOR_NODE",WAITING_FOR_SNAPSHOT:"WAITING_FOR_SNAPSHOT",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT",APPLYING_SNAPSHOT:"APPLYING_SNAPSHOT",BUILDING_SNAPSHOT:"BUILDING_SNAPSHOT",SENDING_SNAPSHOT:"SENDING_SNAPSHOT",RECOVERY_OPERATION_FAILURE_WARNING:"RECOVERY_OPERATION_FAILURE_WARNING"},a={IN_SYNC:"IN_SYNC",OUT_OF_SYNC:"OUT_OF_SYNC",SYNCING:"SYNCING",NO_CONNECTION:"NO_CONNECTION",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT"},s={PRIMARY_NODE:"PRIMARY_NODE",SECONDARY_NODE:"SECONDARY_NODE"}}};
|
|
2
|
-
//# sourceMappingURL=57952.afa9e0608388e5bae876.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"57952.afa9e0608388e5bae876.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/clustermanagement/services/cluster-drawing.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/clustermanagement/states.js"],"sourcesContent":["import {LinkState, NodeState, RecoveryState} from \"../../models/clustermanagement/states\";\nimport {isEmpty} from \"lodash\";\nimport {select, line} from 'd3';\n\nconst d3 = {\n line,\n select\n};\n\nconst clusterColors = {\n ontoOrange: 'var(--primary-color)',\n ontoBlue: 'var(--secondary-color)',\n ontoGreen: 'var(--tertiary-color)',\n ontoGrey: 'var(--gray-color)'\n};\n\nconst linkStateColors = {\n [LinkState.IN_SYNC]: clusterColors.ontoBlue,\n [LinkState.SYNCING]: clusterColors.ontoBlue,\n [LinkState.OUT_OF_SYNC]: clusterColors.ontoGrey,\n [LinkState.RECEIVING_SNAPSHOT]: clusterColors.ontoBlue\n};\n\nconst linkStateStyle = {\n // solid line\n [LinkState.IN_SYNC]: 'none',\n // dashed line\n [LinkState.SYNCING]: '10 10',\n // dashed line\n [LinkState.OUT_OF_SYNC]: '10 10',\n // dashed line\n [LinkState.RECEIVING_SNAPSHOT]: '10 10'\n};\n\nconst font = {\n FONT_AWESOME: 'FONT_AWESOME',\n ICOMOON: 'ICOMOON'\n};\n\nconst shortMessageLimit = 40;\n\nexport function createClusterSvgElement(element) {\n return d3.select(element)\n .append('svg')\n .classed('cluster-diagram', true);\n}\n\nexport function createClusterZone(parent) {\n const clusterZone = parent.append('g');\n clusterZone\n .append(\"circle\")\n .classed('cluster-zone', true)\n .style('fill', 'transparent')\n .style('stroke-width', '4');\n return clusterZone;\n}\n\nexport function setCreateClusterZone(hasCluster, clusterZone, translationsMap, hasAccess = false) {\n clusterZone\n .select('.cluster-zone')\n .classed('no-cluster', !hasCluster)\n .classed('has-access', hasAccess);\n\n if (hasCluster) {\n clusterZone.selectAll('#no-cluster-zone').remove();\n } else {\n const textGroup = clusterZone\n .append('g')\n .attr(\"id\", \"no-cluster-zone\");\n textGroup\n .append('text')\n .attr('id', 'no-cluster-label')\n .text(translationsMap.no_cluster_configured)\n .attr('y', -50)\n .classed('h2', true)\n .style('text-anchor', \"middle\");\n if (hasAccess) {\n textGroup.append('text')\n .attr('id', 'create-cluster-label')\n .classed('h3', true)\n .text(translationsMap.create_cluster_btn)\n .style('text-anchor', \"middle\");\n }\n textGroup.append('text')\n .attr('y', 130)\n .attr('class', 'icon-any repo')\n .attr('fill', clusterColors.ontoOrange)\n .style('text-anchor', \"middle\")\n .classed('settings-icon', true)\n .text(\"\\ue92b\");\n }\n}\n\nexport function updateClusterZoneLabels(hasCluster, clusterZone, translationsMap) {\n if (hasCluster) {\n return;\n }\n clusterZone.select('#no-cluster-zone #no-cluster-label')\n .text(translationsMap.no_cluster_configured);\n clusterZone.select('#no-cluster-zone #create-cluster-label')\n .text(translationsMap.create_cluster_btn);\n}\n\nexport function moveElement(element, x, y) {\n element.attr('transform', () => {\n return `translate(${x}, ${y})`;\n });\n}\n\nexport function createNodes(nodesDataBinding, nodeRadius, isLegend) {\n const nodeGroup = nodesDataBinding.enter()\n .append('g')\n .attr('id', 'node-group')\n .classed('legend', isLegend);\n\n const nodeUpdateElements = nodeGroup\n .merge(nodesDataBinding)\n .attr('id', 'node-group')\n .classed('legend', isLegend);\n\n createHexagon(nodeGroup, nodeRadius);\n nodesDataBinding.exit().remove();\n\n nodeGroup\n .append('text')\n .attr('class', 'icon-any node-icon');\n\n if (!isLegend) {\n addHostnameToNodes(nodeGroup, nodeRadius, isLegend);\n }\n return nodeUpdateElements;\n}\n\nfunction addHostnameToNodes(nodeElements, nodeRadius) {\n const nodeTextHost = nodeElements.append('g');\n\n nodeTextHost\n .append('rect')\n .attr('class', 'id-host-background')\n .attr('rx', 6);\n\n nodeTextHost\n .append('rect')\n .attr('class', 'node-info-background')\n .attr('rx', 6);\n\n nodeTextHost\n .append('text')\n .attr('y', nodeRadius + 25)\n .attr('class', 'id id-host');\n\n nodeTextHost\n .append('text')\n .attr('y', nodeRadius + 55)\n .attr('class', 'node-info-text');\n}\n\nexport function updateNodes(nodes) {\n updateNodesIcon(nodes);\n updateNodesClasses(nodes);\n updateNodesHostnameText(nodes);\n updateNodesInfoText(nodes);\n}\n\nfunction updateNodesClasses(nodes) {\n nodes\n .select('.node.member')\n .classed('leader', (node) => node.nodeState === NodeState.LEADER)\n .classed('follower', (node) => node.nodeState === NodeState.FOLLOWER)\n .classed('candidate', (node) => node.nodeState === NodeState.CANDIDATE)\n .classed('other', (node) => {\n return node.nodeState !== NodeState.LEADER &&\n node.nodeState !== NodeState.FOLLOWER &&\n node.nodeState !== NodeState.CANDIDATE;\n });\n}\n\nfunction updateNodesIcon(nodes) {\n nodes.select('.node-icon')\n .each(function (d) {\n const iconType = hasRecoveryState(d) ? getNodeInfoIconType(d) : getNodeIconType(d);\n d3.select(this)\n .classed('icon-any', iconType.font === font.ICOMOON)\n .classed('fa-d3', iconType.font === font.FONT_AWESOME)\n .text(iconType.icon);\n });\n}\n\nfunction hasRecoveryState(node) {\n return !isEmpty(node.recoveryStatus);\n}\n\nconst iconMap = {\n [RecoveryState.SEARCHING_FOR_NODE]: {icon: '\\uf29c', font: font.FONT_AWESOME},\n [RecoveryState.WAITING_FOR_SNAPSHOT]: {icon: '\\uf017', font: font.FONT_AWESOME},\n [RecoveryState.RECEIVING_SNAPSHOT]: {icon: '\\uf0ed', font: font.FONT_AWESOME},\n [RecoveryState.APPLYING_SNAPSHOT]: {icon: '\\uf050', font: font.FONT_AWESOME},\n [RecoveryState.BUILDING_SNAPSHOT]: {icon: '\\uf187', font: font.FONT_AWESOME},\n [RecoveryState.SENDING_SNAPSHOT]: {icon: '\\uf0ee', font: font.FONT_AWESOME},\n [RecoveryState.RECOVERY_OPERATION_FAILURE_WARNING]: {icon: '\\ue920', font: font.ICOMOON}\n};\n\nconst nodeStateIcons = {\n [NodeState.CANDIDATE]: {icon: '\\ue914', font: font.ICOMOON},\n [NodeState.NO_CONNECTION]: {icon: '\\ue931', font: font.ICOMOON},\n [NodeState.OUT_OF_SYNC]: {icon: '\\ue920', font: font.ICOMOON},\n [NodeState.READ_ONLY]: {icon: '\\ue95c', font: font.ICOMOON},\n [NodeState.RESTRICTED]: {icon: '\\ue933', font: font.ICOMOON}\n};\n\nfunction getNodeInfoIconType(node) {\n const status = node.recoveryStatus;\n\n if (!status || !status.state) {\n return {icon: '', font: ''};\n }\n\n return iconMap[status.state] || {icon: '', font: ''};\n}\n\nfunction getNodeIconType(node) {\n const iconType = nodeStateIcons[node.nodeState];\n return iconType ? iconType : {icon: '', font: ''};\n}\n\nfunction updateNodesInfoText(nodes) {\n let objectHeight;\n let objectWidth;\n // Set initial text element\n nodes.select('.node-info-text')\n .each(function (d) {\n d.infoNode = this;\n })\n .select(function () {\n return this.parentNode;\n })\n .append('foreignObject')\n .attr('width', function (d) {\n if (isEmpty(d.recoveryStatus)) {\n return 0;\n }\n const shortMessage = extractShortMessageFromNode(d);\n const rect = calculateElementSizeByText(shortMessage);\n objectHeight = rect.height;\n objectWidth = rect.width;\n return objectWidth;\n })\n .attr('height', function (d) {\n if (isEmpty(d.recoveryStatus)) {\n return 0;\n }\n return objectHeight;\n })\n .attr('x', function (d) {\n return -(objectWidth / 2);\n })\n .attr('y', function (d) {\n return 78;\n })\n .classed('hidden', function (d) {\n return isEmpty(d.recoveryStatus);\n })\n .style('font-size', '12px')\n .style('font-weight', '400')\n .style('text-align', 'center')\n .style('padding', '4px')\n .style('background', '#EEEEEE')\n .style('border-radius', '6px')\n .attr('class', 'node-info-fo')\n .append('xhtml:div')\n .html(function (d) {\n return extractShortMessageFromNode(d);\n });\n\n // Remove the original text elements, as they are now replaced by foreignObjects\n nodes.select('.node-info-text').remove();\n\n resizeLabelDynamic(nodes);\n}\n\nfunction extractShortMessageFromNode(node) {\n return node.recoveryStatus.message && node.recoveryStatus.message.length > shortMessageLimit ?\n node.recoveryStatus.message.substring(0, shortMessageLimit) + '...' : node.recoveryStatus.message || '';\n}\n\nfunction calculateElementSizeByText(text) {\n const tmp = document.createElement('div');\n tmp.innerHTML = text;\n tmp.style.padding = '4px';\n tmp.style.position = 'absolute';\n tmp.style.visibility = 'hidden';\n tmp.style.fontSize = '12px';\n tmp.style.fontWeight = '400';\n tmp.style.textAlign = 'center';\n tmp.style.height = 'auto';\n tmp.style.width = 'auto';\n tmp.style.whiteSpace = 'nowrap';\n\n document.body.appendChild(tmp);\n const rect = tmp.getBoundingClientRect();\n const height = rect.height;\n const width = rect.width;\n document.body.removeChild(tmp);\n\n return {height, width};\n}\n\nfunction addRecoveryLabelListeners(object, message, truncatedSize, displayMessage, fullSize) {\n object.on('mouseover.tooltip', () => {\n object\n .attr('width', fullSize.width)\n .attr('height', fullSize.height)\n .attr('x', -fullSize.width / 2)\n .html(`<div>${message}</div>`);\n });\n object.on('mouseout.tooltip', () => {\n object\n .attr('width', truncatedSize.width)\n .attr('height', truncatedSize.height)\n .attr('x', -truncatedSize.width / 2)\n .html(`<div>${displayMessage}</div>`);\n });\n}\n\nfunction resizeLabelDynamic(nodes) {\n nodes.select('.node-info-fo')\n .each(function (d) {\n const object = d3.select(this);\n if (isEmpty(d.recoveryStatus)) {\n object.attr('width', 0);\n return;\n }\n const shortMessage = extractShortMessageFromNode(d);\n const isShorten = d.recoveryStatus.message && d.recoveryStatus.message.length > shortMessageLimit && shortMessage !== d.recoveryStatus.message;\n const displayMessage = isShorten ? shortMessage : d.recoveryStatus.message;\n const truncatedSize = calculateElementSizeByText(shortMessage);\n const fullSize = calculateElementSizeByText(d.recoveryStatus.message);\n object.on('.tooltip', null);\n\n if (isShorten) {\n addRecoveryLabelListeners(object, d.recoveryStatus.message, truncatedSize, displayMessage, fullSize);\n }\n\n // Set initial size and text\n object\n .attr('width', truncatedSize.width)\n .attr('height', truncatedSize.height)\n .attr('x', -truncatedSize.width / 2)\n .html(`<div>${displayMessage}</div>`);\n });\n}\n\nfunction updateNodesHostnameText(nodes) {\n nodes\n .select('.id.id-host')\n .each(function (d) {\n d.labelNode = this;\n })\n .text(function (d) {\n return d.hostname;\n });\n\n // Add padding styling to text background. left/right/top/bottom +5\n nodes\n .select('.id-host-background')\n .attr('width', function (d) {\n return d3.select(d.labelNode).node().getBBox().width + 10;\n })\n .attr('height', function (d) {\n return d3.select(d.labelNode).node().getBBox().height + 10;\n })\n .attr('x', function (d) {\n return d3.select(d.labelNode).node().getBBox().x - 5;\n })\n .attr('y', function (d) {\n return d3.select(d.labelNode).node().getBBox().y - 5;\n });\n}\n\nexport function createLinks(linksDataBinding) {\n linksDataBinding.enter()\n .append('path')\n .classed('link', true);\n\n linksDataBinding.exit().remove();\n}\n\nexport function updateLinks(linksDataBinding, nodes) {\n linksDataBinding\n .attr('class', (link) => {\n // add the link id as a css class for testing purposes\n const idClass = link.id.replaceAll(':', '-');\n return `link ${idClass}`;\n })\n .attr('stroke', setLinkColor)\n .style('stroke-dasharray', setLinkStyle)\n .style(\"marker-mid\", (link) => setArrowLink(link, ARROW_CONFIG.BIG))\n .attr('d', (link) => getLinkCoordinates(link, nodes));\n}\n\nexport const ARROW_CONFIG = {\n SMALL: {name: 'small', size: 3},\n BIG: {name: 'big', size: 5}\n};\n\nexport function addArrowHead(svg, config) {\n svg.append(\"svg:defs\").append(\"svg:marker\")\n .attr(\"id\", `arrowhead_${config.name}`)\n .attr(\"viewBox\", `0 0 ${config.size * 2} ${config.size * 2}`)\n .attr(\"refX\", config.size)\n .attr(\"refY\", config.size)\n .attr(\"markerWidth\", config.size)\n .attr(\"markerHeight\", config.size)\n .attr(\"orient\", \"auto-start-reverse\")\n .append(\"path\")\n .attr(\"d\", `M 0 0 L ${config.size * 2} ${config.size} L 0 ${config.size * 2} z`)\n .style(\"fill\", \"var(--secondary-color)\");\n}\n\nexport function setArrowLink(link, config) {\n if (link.status === LinkState.RECEIVING_SNAPSHOT) {\n return `url(#arrowhead_${config.name})`;\n }\n}\n\nexport function setLinkColor(link) {\n const linkColor = linkStateColors[link.status];\n return linkColor || 'none';\n}\n\nexport function setLinkStyle(link) {\n const linkStyle = linkStateStyle[link.status];\n return linkStyle || 'none';\n}\n\nfunction getLinkCoordinates(link, nodes) {\n const source = nodes.find((node) => node.address === link.source);\n const target = nodes.find((node) => node.address === link.target);\n const deltaX = target.x - source.x;\n const deltaY = target.y - source.y;\n const dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const normX = deltaX / dist;\n const normY = deltaY / dist;\n // Padding from node center point\n const sourcePadding = 55;\n const targetPadding = 55;\n const sourceX = source.x + (sourcePadding * normX);\n const sourceY = source.y + (sourcePadding * normY);\n const targetX = target.x - (targetPadding * normX);\n const targetY = target.y - (targetPadding * normY);\n // Calculate midpoint\n const midpointX = (sourceX + targetX) / 2;\n const midpointY = (sourceY + targetY) / 2;\n // In order to draw an arrowhead in the middle of a line, the line needs to be composed by\n // two segments, otherwise the arrowhead won't show up.\n return 'M' + sourceX + ',' + sourceY + 'L' + midpointX + ',' + midpointY +\n 'L' + targetX + ',' + targetY;\n}\n\nexport function positionNodesOnClusterZone(nodeElements, clusterZoneX, clusterZoneY, clusterZoneRadius) {\n nodeElements\n .attr('transform', (node, index) => {\n // Calculate initial positions for the new nodes based on\n // spreading them evenly on a circle around the center of the page.\n const theta = 2 * Math.PI * index / nodeElements.size();\n const x = clusterZoneX + Math.cos(theta) * clusterZoneRadius;\n const y = clusterZoneY + Math.sin(theta) * clusterZoneRadius;\n node.x = x;\n node.y = y;\n return `translate(${x}, ${y})`;\n });\n}\n\nexport function createHexagon(nodeGroup, radius) {\n const _s32 = (Math.sqrt(3) / 2);\n const xDiff = 0;\n const yDiff = 0;\n const points = [[radius + xDiff, yDiff], [radius / 2 + xDiff, radius * _s32 + yDiff], [-radius / 2 + xDiff, radius * _s32 + yDiff],\n [-radius + xDiff, yDiff],\n [-radius / 2 + xDiff, -radius * _s32 + yDiff], [radius / 2 + xDiff, -radius * _s32 + yDiff], [radius + xDiff, yDiff],\n [radius / 2 + xDiff, radius * _s32 + yDiff]];\n return nodeGroup\n .selectAll(\"path.area\")\n .data([points])\n .enter()\n .append(\"path\")\n .attr('class', 'node member')\n .attr(\"stroke-width\", \"10\")\n .attr(\"stroke-linejoin\", \"round\")\n .attr(\"d\", d3.line());\n}\n\nexport function removeEventListeners() {\n d3.select(document).selectAll('.node-info-fo').on('.tooltip', null);\n}\n","export const NodeState = {\n LEADER: 'LEADER',\n FOLLOWER: 'FOLLOWER',\n CANDIDATE: 'CANDIDATE',\n OUT_OF_SYNC: 'OUT_OF_SYNC',\n NO_CONNECTION: 'NO_CONNECTION',\n READ_ONLY: 'READ_ONLY',\n RESTRICTED: 'RESTRICTED',\n NO_CLUSTER: 'NO_CLUSTER'\n};\n\nexport const RecoveryState = {\n SEARCHING_FOR_NODE: 'SEARCHING_FOR_NODE',\n WAITING_FOR_SNAPSHOT: 'WAITING_FOR_SNAPSHOT',\n RECEIVING_SNAPSHOT: 'RECEIVING_SNAPSHOT',\n APPLYING_SNAPSHOT: 'APPLYING_SNAPSHOT',\n BUILDING_SNAPSHOT: 'BUILDING_SNAPSHOT',\n SENDING_SNAPSHOT: 'SENDING_SNAPSHOT',\n RECOVERY_OPERATION_FAILURE_WARNING: 'RECOVERY_OPERATION_FAILURE_WARNING'\n};\n\nexport const LinkState = {\n IN_SYNC: 'IN_SYNC',\n OUT_OF_SYNC: 'OUT_OF_SYNC',\n SYNCING: 'SYNCING',\n NO_CONNECTION: 'NO_CONNECTION',\n // complimentary state, built based on the recovery state of two nodes when one is receiving snapshot to the other\n RECEIVING_SNAPSHOT: 'RECEIVING_SNAPSHOT'\n};\n\nexport const TopologyState = {\n PRIMARY_NODE: 'PRIMARY_NODE',\n SECONDARY_NODE: 'SECONDARY_NODE'\n};\n"],"names":["d3","line","select","clusterColors","ontoOrange","ontoBlue","ontoGreen","ontoGrey","linkStateColors","LinkState","IN_SYNC","SYNCING","OUT_OF_SYNC","RECEIVING_SNAPSHOT","linkStateStyle","font","FONT_AWESOME","ICOMOON","shortMessageLimit","createClusterSvgElement","element","append","classed","createClusterZone","parent","clusterZone","style","setCreateClusterZone","hasCluster","translationsMap","hasAccess","selectAll","remove","textGroup","attr","text","no_cluster_configured","create_cluster_btn","updateClusterZoneLabels","moveElement","x","y","createNodes","nodesDataBinding","nodeRadius","isLegend","nodeGroup","enter","nodeUpdateElements","merge","createHexagon","exit","nodeElements","nodeTextHost","addHostnameToNodes","updateNodes","nodes","each","d","iconType","node","isEmpty","recoveryStatus","nodeStateIcons","nodeState","icon","getNodeIconType","status","state","iconMap","getNodeInfoIconType","this","updateNodesIcon","NodeState","LEADER","FOLLOWER","CANDIDATE","updateNodesClasses","labelNode","hostname","getBBox","width","height","updateNodesHostnameText","objectHeight","objectWidth","infoNode","parentNode","rect","calculateElementSizeByText","extractShortMessageFromNode","html","object","shortMessage","isShorten","message","length","displayMessage","truncatedSize","fullSize","on","addRecoveryLabelListeners","resizeLabelDynamic","updateNodesInfoText","RecoveryState","SEARCHING_FOR_NODE","WAITING_FOR_SNAPSHOT","APPLYING_SNAPSHOT","BUILDING_SNAPSHOT","SENDING_SNAPSHOT","RECOVERY_OPERATION_FAILURE_WARNING","NO_CONNECTION","READ_ONLY","RESTRICTED","substring","tmp","document","createElement","innerHTML","padding","position","visibility","fontSize","fontWeight","textAlign","whiteSpace","body","appendChild","getBoundingClientRect","removeChild","createLinks","linksDataBinding","updateLinks","link","id","replaceAll","setLinkColor","setLinkStyle","setArrowLink","ARROW_CONFIG","BIG","source","find","address","target","deltaX","deltaY","dist","Math","sqrt","normX","normY","sourceX","sourceY","targetX","targetY","getLinkCoordinates","SMALL","name","size","addArrowHead","svg","config","positionNodesOnClusterZone","clusterZoneX","clusterZoneY","clusterZoneRadius","index","theta","PI","cos","sin","radius","_s32","points","data","removeEventListeners","NO_CLUSTER","TopologyState","PRIMARY_NODE","SECONDARY_NODE"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"59718.f1ae3d1480c7179c57f0.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,uBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAG5B,OAFAF,EAAQG,WAAa,uBAEd,CACH,CACIL,eAAgB,YAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,MAAO,2CACPC,QAAS,6CACTC,IAAK,QACLC,kBAAmBA,CAACC,EAAOC,IAEhBT,EAAWU,QAAQ,iBAAkB,GACvCC,KAAMC,IACCA,EAAQC,OAAOC,SAAS,0BAExBL,EAAuBM,YAAeP,IAClCA,EAAMQ,YAIVC,WAAW,KACPT,EAAMU,WAIjBC,MAAM,KAGHF,WAAW,KACPT,EAAMU,YAIvBpB,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/common/end-on-api-key-error/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'end-on-api-key-error',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'end-on-api-key-error';\n\n return [\n {\n guideBlockName: 'guide-end',\n options: angular.extend({}, {\n title: 'guide.step_plugin.ttyg.missing-key.title',\n content: 'guide.step_plugin.ttyg.missing-key.content',\n url: '/ttyg',\n beforeShowPromise: (guide, currentStepDescription) => {\n // Check if error toast is visible waiting for 1 seconds\n return GuideUtils.waitFor('.toast-message', 1)\n .then((element) => {\n if (element.text().includes('graphdb.openai.api-key')) {\n // Error toast is visible, show this step and complete on next click\n currentStepDescription.onNextClick = (guide) => {\n guide.complete();\n };\n } else {\n // Toast is not visible, but not the correct, so we go on\n setTimeout(() => {\n guide.next();\n });\n }\n })\n .catch(() => {\n // Error toast is not visible, skip this step and move to next one\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => {\n guide.next();\n });\n });\n }\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","angular","extend","title","content","url","beforeShowPromise","guide","currentStepDescription","waitFor","then","element","text","includes","onNextClick","complete","setTimeout","next","catch"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=67232;export const __webpack_ids__=[67232];export const __webpack_modules__={67232:()=>{const e={title:"",content:"",elementSelector:void 0,placement:"bottom",url:void 0,type:"read-only-element",maxWaitTime:3,canBePaused:!0,onNextClick:void 0,onNextValidate:()=>Promise.resolve(!0),onPreviousClick:void 0,skipPoint:!1,class:""},t=(e,t,i)=>()=>e.GuideUtils.waitFor(t,i).catch(t=>{throw e.toastr.error(e.$translate.instant("guide.unexpected.error.message")),t});PluginRegistry.add("guide.step",[{guideBlockName:"clickable-element",getStep:(i,o)=>{const l=angular.extend({},e,{advanceOn:{selector:i.clickableElementSelector||i.elementSelector,event:"click"},initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i,{type:"clickable"});return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"focus-element",getStep:(i,o)=>{const l=angular.extend({},e,{initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i);return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"read-only-element",getStep:(i,o)=>{const l=angular.extend({},e,{initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i,{type:"readonly"});return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"input-element",getStep:(i,o)=>{const l=angular.extend({},e,{initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i,{type:"input"});return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"info-message",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep},t,{type:"readonly"})},{guideBlockName:"hold-and-wait-until-hidden",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,disablePreviousFlow:!0,onNextValidate:()=>Promise.resolve(!i.GuideUtils.isVisible(t.elementSelectorToWait))},t,{type:"readonly"})},{guideBlockName:"hold-and-wait-until-shown",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,disablePreviousFlow:!0,onNextValidate:()=>Promise.resolve(i.GuideUtils.isVisible(t.elementSelectorToWait))},t,{type:"readonly"})},{guideBlockName:"wait-for-element-to-hide",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,beforeShowPromise:e=>i.GuideUtils.waitUntilHidden(t.elementSelectorToHide,t.timeToWait||2).catch(()=>{i.ShepherdService._abortGuide(e)}),show:e=>()=>{setTimeout(()=>e.next())}},t)},{guideBlockName:"wait-for-element-to-show",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,beforeShowPromise:e=>i.GuideUtils.getOrWaitFor(t.elementSelectorToShow,t.timeToWait||2).catch(()=>{i.ShepherdService._abortGuide(e)}),show:e=>()=>{setTimeout(()=>e.next())}},t)},{guideBlockName:"guide-end",getStep:(t,i)=>{const o={type:"readonly",title:t.title||"guide.step_plugin.guide-ended.title",content:t.content||"guide.step_plugin.guide-ended.content",lastStep:!0};return angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep},t,o)}}])}};
|
|
2
|
-
//# sourceMappingURL=67232.ca7667a39c74efdb90e1.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"67232.ca7667a39c74efdb90e1.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/core/plugin.js"],"sourcesContent":["const BASIC_STEP = {\n title: '',\n content: '',\n elementSelector: undefined,\n placement: 'bottom',\n url: undefined,\n type: 'read-only-element',\n maxWaitTime: 3,\n canBePaused: true,\n onNextClick: undefined,\n onNextValidate: () => Promise.resolve(true),\n onPreviousClick: undefined,\n skipPoint: false,\n class: ''\n};\n\n/**\n * This function will be called before show a step. Step will be shown after promise is resolve. It waits element of step to be visible on the page.\n * @param {*} services\n * @param {string} elementSelector\n * @param {number} maxWaitTime\n * @return {function(): *}\n */\nconst beforeShowPromise = (services, elementSelector, maxWaitTime) => {\n return () => {\n return services.GuideUtils.waitFor(elementSelector, maxWaitTime)\n .catch((error) => {\n // error is caught just to show notification in generic way.\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n // throw the error, otherwise guide will continue with the next step.\n throw error;\n });\n };\n};\n\nPluginRegistry.add('guide.step', [\n {\n // An element which is expected to be clicked. If onNextClick is not defined, it will automatically click on the element on next button press\n guideBlockName: 'clickable-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'clickable'\n };\n\n const stepDescription = angular.extend({}, BASIC_STEP, {\n advanceOn: {\n selector: options.clickableElementSelector || options.elementSelector,\n event: 'click'\n },\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n // An element which is expected to be focused. It allows user interaction.\n guideBlockName: 'focus-element',\n getStep: (options, services) => {\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n // An element which is expected to be focused, but interactions are disabled.\n guideBlockName: 'read-only-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n },\n options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'input-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'input'\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'info-message',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'hold-and-wait-until-hidden',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n disablePreviousFlow: true,\n onNextValidate: () => Promise.resolve(!services.GuideUtils.isVisible(options.elementSelectorToWait))\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'hold-and-wait-until-shown',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n disablePreviousFlow: true,\n onNextValidate: () => Promise.resolve(services.GuideUtils.isVisible(options.elementSelectorToWait))\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'wait-for-element-to-hide',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.waitUntilHidden(options.elementSelectorToHide, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide)\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next())\n }\n }, options);\n }\n },\n {\n guideBlockName: 'wait-for-element-to-show',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.getOrWaitFor(options.elementSelectorToShow, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide)\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next())\n }\n }, options);\n }\n },\n {\n guideBlockName: 'guide-end',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n title: options.title || 'guide.step_plugin.guide-ended.title',\n content: options.content || 'guide.step_plugin.guide-ended.content',\n lastStep: true\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n }\n }\n]);\n"],"names":["BASIC_STEP","title","content","elementSelector","undefined","placement","url","type","maxWaitTime","canBePaused","onNextClick","onNextValidate","Promise","resolve","onPreviousClick","skipPoint","class","beforeShowPromise","services","GuideUtils","waitFor","catch","error","toastr","$translate","instant","PluginRegistry","add","guideBlockName","getStep","options","stepDescription","angular","extend","advanceOn","selector","clickableElementSelector","event","initPreviousStep","defaultInitPreviousStep","disablePreviousFlow","isVisible","elementSelectorToWait","guide","waitUntilHidden","elementSelectorToHide","timeToWait","ShepherdService","_abortGuide","show","setTimeout","next","getOrWaitFor","elementSelectorToShow","notOverridable","lastStep"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=68685;export const __webpack_ids__=[68685];export const __webpack_modules__={68685:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"configure-agent",getSteps:(e,t)=>{const n=t.GuideUtils,o=e.editName,i=e.model,l=e.userInstructions,u=!!e.methods?.length,s=[{guideBlockName:"wait-for-element-to-show",options:angular.extend({},{elementSelectorToShow:n.getElementSelector(".agent-settings-modal"),timeToWait:10},e)}];return o&&s.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.configure-agent.name-input",class:"input-agent-name-guide-dialog",url:"/ttyg",disablePreviousFlow:!0,beforeShowPromise:()=>n.waitFor(n.getGuideElementSelector("agent-form"),5).catch(e=>{throw t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),e}),elementSelector:n.getGuideElementSelector("agent-name"),onNextValidate:()=>Promise.resolve(n.validateTextInputNotEmpty(n.getGuideElementSelector("agent-name")))},e)}),u&&s.push(...((e,t)=>(t.methods||[]).map(e=>({guideBlockName:e.guideBlockName,options:angular.extend({},e.options)})))(0,e)),i&&s.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.configure-agent.model-input",class:"input-model-guide-dialog",url:"/ttyg",elementSelector:n.getGuideElementSelector("model"),onNextValidate:()=>Promise.resolve(n.validateTextInput(n.getGuideElementSelector("model"),e.model,!1))},e)}),l&&s.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.configure-agent.user-instructions-input",class:"input-user-instructions-guide-dialog",url:"/ttyg",elementSelector:n.getGuideElementSelector("user-instructions"),onNextValidate:()=>Promise.resolve(n.validateTextInput(n.getGuideElementSelector("user-instructions"),e.userInstructions,!1))},e)}),s}}])}};
|
|
2
|
-
//# sourceMappingURL=68685.314faeaa55a342568c0b.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"68685.314faeaa55a342568c0b.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,kBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAatBC,EAAiBH,EAAQI,SACzBC,EAAeL,EAAQM,MACvBC,EAAsBP,EAAQQ,iBAC9BC,IAAqCT,EAAQU,SAASC,OAEtDC,EAAQ,CACV,CACId,eAAgB,2BAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBC,sBAAuBb,EAAWc,mBAAmB,yBACrDC,WAAY,IACbjB,KAqDX,OAjDIG,GACAS,EAAMM,KAAK,CACPpB,eAAgB,gBAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBK,QAAS,+CACTC,MAAO,gCACPC,IAAK,QACLC,qBAAqB,EACrBC,kBAAmBA,IAAMrB,EAAWsB,QAAQtB,EAAWuB,wBAAwB,cAAe,GACzFC,MAAOC,IAEJ,MADA1B,EAAS2B,OAAOD,MAAM1B,EAAS4B,WAAWC,QAAQ,mCAC5CH,IAEdI,gBAAiB7B,EAAWuB,wBAAwB,cACpDO,eAAgBA,IAAMC,QAAQC,QAAQhC,EAAWiC,0BAA0BjC,EAAWuB,wBAAwB,iBAC/GzB,KAIPS,GACAG,EAAMM,QA9CyBkB,EAACnC,EAAUD,KAC1BA,EAAQU,SAAW,IAEpB2B,IAAKC,IACT,CACHxC,eAAgBwC,EAAOxC,eACvBE,QAASa,QAAQC,OAAO,CAAC,EAAGwB,EAAOtC,YAwC7BoC,CAA2BnC,EAAUD,IAGnDK,GACAO,EAAMM,KAAK,CACPpB,eAAgB,gBAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBK,QAAS,gDACTC,MAAO,2BACPC,IAAK,QACLU,gBAAiB7B,EAAWuB,wBAAwB,SACpDO,eAAgBA,IAAMC,QAAQC,QAAQhC,EAAWqC,kBAAkBrC,EAAWuB,wBAAwB,SAAUzB,EAAQM,OAAO,KAChIN,KAIPO,GACAK,EAAMM,KAAK,CACPpB,eAAgB,gBAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBK,QAAS,4DACTC,MAAO,uCACPC,IAAK,QACLU,gBAAiB7B,EAAWuB,wBAAwB,qBACpDO,eAAgBA,IAAMC,QAAQC,QAAQhC,EAAWqC,kBAAkBrC,EAAWuB,wBAAwB,qBAAsBzB,EAAQQ,kBAAkB,KACvJR,KAIJY,K","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/common/configure-agent/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'configure-agent',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n\n const configureExtractionMethods = (services, options) => {\n const methods = options.methods || [];\n\n return methods.map((method) => {\n return {\n guideBlockName: method.guideBlockName,\n options: angular.extend({}, method.options)\n };\n });\n };\n\n const shouldEditName = options.editName;\n const hasModelName = options.model;\n const hasUserInstructions = options.userInstructions;\n const shouldConfigureExtractionMethods = !!options.methods?.length;\n\n const steps = [\n {\n guideBlockName: 'wait-for-element-to-show',\n options: angular.extend({}, {\n elementSelectorToShow: GuideUtils.getElementSelector('.agent-settings-modal'),\n timeToWait: 10\n }, options)\n }\n ]\n\n if (shouldEditName) {\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.configure-agent.name-input',\n class: 'input-agent-name-guide-dialog',\n url: '/ttyg',\n disablePreviousFlow: true,\n beforeShowPromise: () => GuideUtils.waitFor(GuideUtils.getGuideElementSelector('agent-form'), 5)\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n throw error;\n }),\n elementSelector: GuideUtils.getGuideElementSelector('agent-name'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInputNotEmpty(GuideUtils.getGuideElementSelector('agent-name')))\n }, options)\n })\n }\n\n if (shouldConfigureExtractionMethods) {\n steps.push(...configureExtractionMethods(services, options))\n }\n\n if (hasModelName) {\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.configure-agent.model-input',\n class: 'input-model-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('model'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInput(GuideUtils.getGuideElementSelector('model'), options.model, false))\n }, options)\n })\n }\n\n if (hasUserInstructions) {\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.configure-agent.user-instructions-input',\n class: 'input-user-instructions-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('user-instructions'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInput(GuideUtils.getGuideElementSelector('user-instructions'), options.userInstructions, false))\n }, options)\n })\n }\n\n return steps;\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","shouldEditName","editName","hasModelName","model","hasUserInstructions","userInstructions","shouldConfigureExtractionMethods","methods","length","steps","angular","extend","elementSelectorToShow","getElementSelector","timeToWait","push","content","class","url","disablePreviousFlow","beforeShowPromise","waitFor","getGuideElementSelector","catch","error","toastr","$translate","instant","elementSelector","onNextValidate","Promise","resolve","validateTextInputNotEmpty","configureExtractionMethods","map","method","validateTextInput"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"69112.817cf7b4d2911108c736.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/app.js"],"sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$uibModalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $uibModalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $uibModalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate', 'TrackingService'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate, TrackingService) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense();\n };\n\n // TODO - Check if redundant call and remove\n $licenseService.checkLicenseStatus();\n\n $scope.removeLicense = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"remove.license.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus()\n .then(() => TrackingService.applyTrackingConsent())\n .catch((error) => {\n const msg = getError(error.data, error.status);\n toastr.error(msg, $translate.instant('common.error'));\n });\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$uibModal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $uibModal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.present) {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function (error) {\n toastr.error(error, $translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$uibModalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $uibModalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $uibModalInstance.close();\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/interceptors/authentication.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.interceptors.authentication',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n $httpProvider.interceptors.push('$authenticationInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded() && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n"],"names":["ActiveLocationSettingsCtrl","$scope","toastr","$uibModalInstance","LicenseRestService","$translate","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","then","response","data","status","msg","getError","error","instant","setSettings","toggleStatistics","close","success","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","TrackingService","loadingLicense","checkLicenseStatus","removeLicense","openSimpleModal","title","message","warning","result","unregisterLicense","applyTrackingConsent","catch","RegisterLicenseCtrl","$location","$uibModal","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","present","val","license","open","templateUrl","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","angular","module","$inject","config","$httpProvider","interceptors","push","run","isLicenseHardcoded","url"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"73964.adb0a07a8c4dad17f592.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ttyg/chat-message.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/ttyg.rest.service.fake.backend.js"],"sourcesContent":["export class ChatMessageModel {\n constructor(data) {\n\n /**\n * @type {string}\n */\n this._id = data.id;\n\n /**\n * @type @type {string} - A value from {@link CHAT_MESSAGE_ROLE}, determining the owner of the message (e.g., user, assistant).\n */\n this._role = data.role;\n\n /**\n * @type {string}\n */\n this._message = data.message;\n\n /**\n * @type {number}\n */\n this._timestamp = data.timestamp * 1000;\n\n /**\n * Holds information about the number of tokens used for this answer, including prompt and completion tokens.\n * It is applicable only to the assistant role ({@link CHAT_MESSAGE_ROLE#ASSISTANT}).\n *\n * @type {TokenUsageInfo}\n */\n this.tokenUsageInfo = data.tokenUsageInfo;\n }\n\n get id() {\n return this._id;\n }\n\n set id(value) {\n this._id = value;\n }\n\n get role() {\n return this._role;\n }\n\n set role(value) {\n this._role = value;\n }\n\n get message() {\n return this._message;\n }\n\n set message(value) {\n this._message = value;\n }\n\n get timestamp() {\n return this._timestamp;\n }\n\n set timestamp(value) {\n this._timestamp = value;\n }\n}\n\nexport const CHAT_MESSAGE_ROLE = {\n USER: 'user',\n ASSISTANT: 'assistant'\n};\n","import {cloneDeep} from \"lodash\";\nimport {CHAT_MESSAGE_ROLE} from \"../models/ttyg/chat-message\";\n\n// Delay for askQuestion()\nconst ASK_DELAY = 2000;\n\n// Delay for getConversations()\nconst LIST_CHATS_DELAY = 2000;\n\n// Delay for getConversation(id)\nconst GET_CHAT_DELAY = 2000;\n\nconst CREATE_AGENT_DELAY = 2000;\nconst EDIT_AGENT_DELAY = 2000;\nconst LOAD_AGENTS_DELAY = 2000;\n\nconst DELETE_DELAY = 2000;\n\nexport class TtygRestServiceFakeBackend {\n\n constructor() {\n this.conversations = [...conversationList];\n }\n\n getConversations() {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(this.conversations)}), LIST_CHATS_DELAY);\n });\n }\n\n getConversation(id) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(this.conversations.find((conversation) => conversation.id === id))}),\n GET_CHAT_DELAY);\n });\n }\n\n renameConversation(id, data) {\n const conversation = this.conversations.find((conversation) => conversation.id === id);\n if (conversation) {\n conversation.name = data.name;\n }\n return Promise.resolve({data: cloneDeep(conversation)});\n }\n\n exportConversation(id) {\n console.log(\"Exporting conversation with id: \", id);\n return Promise.resolve();\n }\n\n askQuestion(askRequestData) {\n const question = {\n id: \"msg_Bn07kVDCYT1qmgu1G7Zw0KNe\",\n conversationId: askRequestData.conversationId,\n agentId: null,\n message: `${askRequestData.question}`,\n role: CHAT_MESSAGE_ROLE.USER,\n timestamp: Math.floor(Date.now() / 1000)\n };\n\n const conversation = this.conversations.find((conversation) => conversation.id === askRequestData.conversationId);\n\n const answer = {\n id: askRequestData.conversationId,\n name: conversation ? conversation.name : \"Han Solo is a character in the Star Wars...\",\n timestamp: Math.floor(Date.now() / 1000),\n messages: [\n {\n id: \"msg_Bn07kVDCYT1qmgu1G7Zw0KNe_\" + Date.now(),\n conversationId: askRequestData.conversationId,\n role: CHAT_MESSAGE_ROLE.ASSISTANT,\n agentId: askRequestData.agentId,\n message: \"Certainly! Here's a random example that incorporates code, JSON, and a SPARQL query:\\n\\n### Code (Python)\\n\\n```python\\ndef greet(name):\\n return f\\\"Hello, {name}!\\\"\\n\\nprint(greet(\\\"World\\\"))\\n```\\n\\n### JSON\\n\\n```json\\n{\\n \\\"greeting\\\": \\\"Hello\\\",\\n \\\"target\\\": \\\"World\\\",\\n \\\"language\\\": \\\"English\\\"\\n}\\n```\\n\\n### SPARQL Query\\n\\n```sparql\\nSELECT ?person ?name\\nWHERE {\\n ?person a ex:Person .\\n ?person ex:hasName ?name .\\n}\\nLIMIT 10\\n```\\n\\nThis example demonstrates a simple Python function for greeting, a JSON object representing a greeting structure, and a SPARQL query to retrieve names of persons from a dataset.\",\n timestamp: Math.floor(Date.now() / 1000),\n name: null\n },\n {\n id: \"msg_Bn07kVDCYT1qmgu1G7Zw0KNeс_\" + Date.now(),\n conversationId: askRequestData.conversationId,\n role: CHAT_MESSAGE_ROLE.ASSISTANT,\n agentId: askRequestData.agentId,\n message: `Reply to '${askRequestData.question}' It seems there was an error with the query. Let me rectify this and try again.`,\n timestamp: Math.floor(Date.now() / 1000),\n name: null\n }\n ]\n };\n\n if (conversation) {\n conversation.messages.push(question);\n conversation.messages.push(...answer.messages);\n }\n return new Promise((resolve) => setTimeout(() => resolve({data: answer}), ASK_DELAY));\n // return new Promise((resolve, reject) => setTimeout(() => reject(''), ASK_DELAY));\n }\n\n continueChatRun(data) {\n alert(\"continueChatRun() not implemented\");\n }\n\n deleteConversation(id) {\n this.conversations = this.conversations.filter((conversation) => conversation.id !== id);\n return new Promise((resolve) => setTimeout(() => resolve(), DELETE_DELAY));\n }\n\n createConversation(data) {\n const conversation = {\n id: `thread_${this.conversations.length}`,\n name: `Thread ${this.conversations.length}`,\n timestamp: Math.floor(Date.now() / 1000),\n messages: []\n };\n this.conversations.unshift(conversation);\n\n const askRequestData = cloneDeep(data);\n askRequestData.conversationId = conversation.id;\n return this.askQuestion(askRequestData);\n }\n\n getAgents() {\n return new Promise((resolve) => setTimeout(() => resolve({data: [...agentsList]}), LOAD_AGENTS_DELAY));\n }\n\n getAgent(id) {\n return Promise.resolve({data: cloneDeep(agentsList.find((agent) => agent.id === id))});\n }\n\n createAgent(agent) {\n if (agent.name === 'err') {\n return new Promise((resolve, reject) => setTimeout(() => reject({status: 500, message: 'Internal Server Error'}), CREATE_AGENT_DELAY));\n }\n agentsList.push(agent);\n return new Promise((resolve) => setTimeout(() => resolve({data: agent}), CREATE_AGENT_DELAY));\n }\n\n editAgent(editedAgent) {\n if (editedAgent.name === 'err') {\n return new Promise((resolve, reject) => setTimeout(() => reject({status: 500, message: 'Internal Server Error'}), EDIT_AGENT_DELAY));\n }\n agentsList = agentsList.map((agent) => agent.id === editedAgent.id ? editedAgent : agent);\n return new Promise((resolve) => setTimeout(() => resolve({data: editedAgent}), CREATE_AGENT_DELAY));\n }\n\n deleteAgent(id) {\n agentsList = agentsList.filter((agent) => agent.id !== id);\n return Promise.resolve();\n // return new Promise((resolve) => {\n // setTimeout(() => resolve(), 5000);\n // });\n }\n\n getAgentDefaultValues() {\n return Promise.resolve({data: defaultAgentValues});\n }\n\n explainAgentSettings() {\n return Promise.resolve({data: {}});\n }\n\n // Simulate an HTTP error\n simulateHttpError() {\n return Promise.reject({\n status: 500,\n message: 'Internal Server Error'\n });\n }\n\n explainResponse(data) {\n return Promise.resolve({data: {\n conversationId: data.conversationId,\n answerId: data.answerId,\n queryMethods: [\n {\n name: \"sparql_query\",\n rawQuery: \"SELECT ?character ?name ?height WHERE {\\n ?character a voc:Character;\\n rdfs:label ?name;\\n voc:height ?height.\\n FILTER(?name = \\\"Luke Skywalker\\\" || ?name = \\\"Leia Organa\\\")\\n}\",\n query: \"SELECT ?character ?name ?height WHERE {\\n ?character a voc:Character;\\n rdfs:label ?name;\\n voc:height ?height.\\n FILTER(?name = \\\"Luke Skywalker\\\" || ?name = \\\"Leia Organa\\\")\\n}\",\n queryType: \"sparql\",\n errorOutput: \"Error: org.eclipse.rdf4j.query.MalformedQueryException: org.eclipse.rdf4j.query.parser.sparql.ast.VisitorException: QName 'voc:Character' uses an undefined prefix\"\n }, {\n name: \"retrieval_search\",\n rawQuery: \"{\\\"queries\\\":[{\\\"query\\\":\\\"pilots that work with Luke Skywalker\\\",\\\"filter\\\":{\\\"document_id\\\":\\\"https://swapi.co/resource/human/1\\\"},\\\"top_k\\\":3}]}\",\n query: \"{\\n \\\"queries\\\" : [ {\\n \\\"query\\\" : \\\"pilots that work with Luke Skywalker\\\",\\n \\\"filter\\\" : {\\n \\\"document_id\\\" : \\\"https://swapi.co/resource/human/1\\\"\\n },\\n \\\"top_k\\\" : 3\\n } ]\\n}\",\n queryType: \"json\",\n errorOutput: null\n },\n {\n name: \"iri_discovery\",\n rawQuery: \"Luke Skywalker\",\n query: \"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\\nPREFIX skos: <http://www.w3.org/2004/02/skos/core#>\\nPREFIX onto: <http://www.ontotext.com/>\\nSELECT ?label ?iri {\\n ?label onto:fts ('''Luke~ Skywalker~''' '*') .\\n ?iri rdfs:label|skos:prefLabel ?label .\\n}\",\n queryType: \"sparql\",\n errorOutput: null\n },\n {\n name: \"sparql_query\",\n rawQuery: \"SELECT ?height WHERE {\\n <https://swapi.co/resource/human/1> voc:height ?height.\\n}\",\n query: \"SELECT ?height WHERE {\\n <https://swapi.co/resource/human/1> voc:height ?height.\\n}\",\n queryType: \"sparql\",\n errorOutput: \"Error: org.eclipse.rdf4j.query.MalformedQueryException: org.eclipse.rdf4j.query.parser.sparql.ast.VisitorException: QName 'voc:height' uses an undefined prefix\"\n },\n {\n name: \"sparql_query\",\n rawQuery: \"PREFIX voc: <https://swapi.co/vocabulary/>\\nSELECT ?name ?height WHERE {\\n ?character voc:height ?height;\\n rdfs:label ?name.\\n FILTER(?name = \\\"Luke Skywalker\\\" || ?name = \\\"Leia Organa\\\")\\n}\",\n query: \"PREFIX voc: <https://swapi.co/vocabulary/>\\nSELECT ?name ?height WHERE {\\n ?character voc:height ?height;\\n rdfs:label ?name.\\n FILTER(?name = \\\"Luke Skywalker\\\" || ?name = \\\"Leia Organa\\\")\\n}\",\n queryType: \"sparql\",\n errorOutput: null\n },\n {\n name: 'fts_search',\n rawQuery: 'Second Luke',\n query: 'PREFIX onto: <http://www.ontotext.com/>\\nDESCRIBE ?iri {\\n\\t?x onto:fts \\'\\'\\'Second Luke\\'\\'\\' .\\n\\t{\\n\\t\\t?x ?p ?iri .\\n\\t} union {\\n\\t\\t?iri ?p ?x .\\n\\t}\\n}',\n queryType: \"sparql\",\n errorOutput: null\n }, {\n name: 'similarity_search',\n rawQuery: 'Second Luke',\n query: 'PREFIX onto: <http://www.ontotext.com/>\\nDESCRIBE ?iri {\\n\\t?x onto:fts \\'\\'\\'Second Luke\\'\\'\\' .\\n\\t{\\n\\t\\t?x ?p ?iri .\\n\\t} union {\\n\\t\\t?iri ?p ?x .\\n\\t}\\n}',\n queryType: \"sparql\",\n errorOutput: null\n }, {\n name: \"iri_discovery\",\n rawQuery: \"Luke Skywalker\",\n query: \"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\\nPREFIX skos: <http://www.w3.org/2004/02/skos/core#>\\nPREFIX onto: <http://www.ontotext.com/>\\nSELECT ?label ?iri {\\n ?label onto:fts ('''Luke~ Skywalker~''' '*') .\\n ?iri rdfs:label|skos:prefLabel ?label .\\n}\",\n queryType: \"sparql\",\n errorOutput: null\n }, {\n name: \"sparql_query\",\n rawQuery: \"SELECT ?name ?height WHERE { ?character voc:name ?name ; voc:height ?height . FILTER (?name = 'Luke Skywalker' || ?name = 'Leia Organa') }\",\n query: \"SELECT ?name ?height WHERE { ?character voc:name ?name ; voc:height ?height . FILTER (?name = 'Luke Skywalker' || ?name = 'Leia Organa') }\",\n queryType: \"sparql\",\n errorOutput: \"Error: java.lang.IllegalArgumentException: The following IRIs are not used in the data stored in GraphDB: https://swapi.co/vocabulary/name\"\n }, {\n name: \"sparql_query\",\n rawQuery: \"SELECT ?character ?height WHERE { ?character voc:height ?height . FILTER (?character = <https://swapi.co/resource/human/1> || ?character = <https://swapi.co/resource/human/5>) }\",\n query: \"SELEdCT ?character ?height WHERE { ?character voc:height ?height . FILTER (?character = <https://swapi.co/resource/human/1> || ?character = <https://swapi.co/resource/human/5>) }\",\n queryType: \"sparql\",\n errorOutput: null\n }\n ]\n }});\n }\n}\n\nconst conversationList = [\n {\n \"id\": \"thread_jdQBvbkaU6JPoO48oFbC54dA\",\n \"name\": \"Very long chat name which does not fit in the sidebar\",\n \"timestamp\": 1725235200,\n \"messages\": []\n },\n {\n \"id\": \"thread_jdQBvbkaU6JPoO48oQaL76dB\",\n \"name\": \"Test chat 2\",\n \"timestamp\": 1725238800,\n \"messages\": []\n },\n {\n \"id\": \"thread_jdQBvbkaU6JPoO48oQaL76dC\",\n \"name\": \"Test chat 3\",\n \"timestamp\": 1725242400,\n \"messages\": []\n },\n {\n \"id\": \"thread_jdQBvbkaU6JPoO48oFbC54dD\",\n \"name\": \"Test chat 4\",\n \"timestamp\": 1697331600,\n \"messages\": []\n }\n];\n\nlet agentsList = [\n {\n \"id\": \"asst_gAPcrHQQ9ZIxD5eXWH2BNFfo\",\n \"name\": \"agent-1\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.0,\n \"topP\": 0.0,\n \"seed\": null,\n \"repositoryId\": 'starwars',\n \"instructions\": {\n \"systemInstruction\": \"\\n\\n\",\n \"userInstruction\": \"\"\n },\n \"assistantExtractionMethods\": [\n {\n \"ftsMethod\": \"fts_search\"\n }\n ],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_qMyCpCBmqxV9I2B8UoMfFzc5\",\n \"name\": \"agent-2\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.0,\n \"topP\": 0.0,\n \"seed\": null,\n \"repositoryId\": \"Non existing repo\",\n \"instructions\": {\n \"systemInstruction\": \"string\\n\\nstring\",\n \"userInstruction\": \"string\"\n },\n \"assistantExtractionMethods\": [\n {\n \"ftsMethod\": \"fts_search\"\n }\n ],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_Cr0RxobrY07WpOvvyQilEWMI\",\n \"name\": \"Databricks-general-unbiased\",\n \"model\": \"gpt-4o-2024-08-06\",\n \"temperature\": 1.0,\n \"topP\": 1.0,\n \"seed\": null,\n \"repositoryId\": 'starwars',\n \"instructions\": {\n \"systemInstruction\": \"You are helpful assistant in discovering information regarding diagnostic biomarkers.\",\n \"userInstruction\": null\n },\n \"assistantExtractionMethods\": [],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_5GxNYTdaOh7Tl6lLl6Pya2aH\",\n \"name\": \"Databricks-biomarkers\",\n \"model\": \"gpt-3.5-turbo-0125\",\n \"temperature\": 1.0,\n \"topP\": 1.0,\n \"seed\": null,\n \"repositoryId\": 'biomarkers',\n \"instructions\": {\n \"systemInstruction\": \"You're a helpful assistant in discovering new diagnostic biomarkers for given diseases. I'll submit a set of publication abstracts discussing given disease and your task is to find in the abstracts any potential new biomarkers which are not yet listed in the appropriate databases. Each abstract is preceded by identifier - its PubMed id called for short PMID. \\n\\nReturn the set of biomarkers listed one per row, each marker followed by the | and PMID of the respective abstract if was mentioned in.\\n\\nExample: \\nInput: 36418457\\t[Amyotrophic lateral sclerosis (ALS) is a genetically and phenotypically heterogeneous disease results in the loss of motor neurons. Mounting information points to involvement of other systems including cognitive impairment. However, neither the valid biomarker for diagnosis nor effective therapeutic intervention is available for ALS. The present study is aimed at identifying potentially genetic biomarker that improves the diagnosis and treatment of ALS patients based on the data of the Gene Expression Omnibus. We retrieved datasets and conducted a weighted gene co-expression network analysis (WGCNA) to identify ALS-related co-expression genes. Functional enrichment analysis was performed to determine the features and pathways of the main modules. We then constructed an ALS-related model using the least absolute shrinkage and selection operator (LASSO) regression analysis and verified the model by the receiver operating characteristic (ROC) curve. Besides we screened the non-preserved gene modules in FTD and ALS-mimic disorders to distinct ALS-related genes from disorders with overlapping genes and features. Altogether, 4198 common genes between datasets with the most variation were analyzed and 16 distinct modules were identified through WGCNA. Blue module had the most correlation with ALS and functionally enriched in pathways of neurodegeneration-multiple diseases', 'amyotrophic lateral sclerosis', and 'endocytosis' KEGG terms. Further, some of other modules related to ALS were enriched in 'autophagy' and 'amyotrophic lateral sclerosis'. The 30 top of hub genes were recruited to a LASSO regression model and 5 genes (BCLAF1, GNA13, ARL6IP5, ARGLU1, and YPEL5) were identified as potentially diagnostic ALS biomarkers with validating of the ROC curve and AUC value.]\\n\\nYour response: BCLAF1|36418457\\nGNA13|36418457\\nARL6IP5|36418457\\nARGLU1|36418457\\nYPEL5|36418457\",\n \"userInstruction\": null\n },\n \"assistantExtractionMethods\": [],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_qMyCpCBmqxV9I2B8UoMfFzc555\",\n \"name\": \"agent with long name long long long long long long long long long long long long\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.0,\n \"topP\": 0.0,\n \"seed\": null,\n \"repositoryId\": \"Non existing repo\",\n \"instructions\": {\n \"systemInstruction\": \"string\\n\\nstring\",\n \"userInstruction\": \"string\"\n },\n \"assistantExtractionMethods\": [\n {\n \"ftsMethod\": \"fts_search\"\n }\n ],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_qMyCpCBmqxV9I2B8UoMfFzcр555\",\n \"name\": \"Long_agent_with_long_name_long_long_long_long_long_long_long_long_long_long_long_long\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.0,\n \"topP\": 0.0,\n \"seed\": null,\n \"repositoryId\": \"Non existing repo\",\n \"instructions\": {\n \"systemInstruction\": \"string\\n\\nstring\",\n \"userInstruction\": \"string\"\n },\n \"assistantExtractionMethods\": [\n {\n \"ftsMethod\": \"fts_search\"\n }\n ],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_qMyCpCBmqxV9I2B8UoMfFzc55д5\",\n \"name\": \"agent with long name long long long long long long long long long long long long\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.0,\n \"topP\": 0.0,\n \"seed\": null,\n \"repositoryId\": \"starwars\",\n \"instructions\": {\n \"systemInstruction\": \"string\\n\\nstring\",\n \"userInstruction\": \"string\"\n },\n \"assistantExtractionMethods\": [\n {\n \"ftsMethod\": \"fts_search\"\n }\n ],\n \"maxNumberOfTriplesPerCall\": null\n },\n {\n \"id\": \"asst_qMyCpCBmqxV9I2B8UoMfFzcя555\",\n \"name\": \"Long_agent_with_long_name_long_long_long_long_long_long_long_long_long_long_long_long\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.0,\n \"topP\": 0.0,\n \"seed\": null,\n \"repositoryId\": \"starwars\",\n \"instructions\": {\n \"systemInstruction\": \"string\\n\\nstring\",\n \"userInstruction\": \"string\"\n },\n \"assistantExtractionMethods\": [\n {\n \"ftsMethod\": \"fts_search\"\n }\n ],\n \"maxNumberOfTriplesPerCall\": null\n }\n];\n\nconst defaultAgentValues = {\n \"id\": \"id\",\n \"name\": \"Quadro\",\n \"model\": \"gpt-4o\",\n \"temperature\": 0.7,\n \"topP\": 1,\n \"seed\": 0,\n \"repositoryId\": \"test-repository\",\n \"instructions\": {\n \"systemInstruction\": \"You are a helpful, knowledgeable, and friendly assistant. Your goal is to provide clear and accurate information while being polite, respectful, and professional.\",\n \"userInstruction\": \"If you need to write a SPARQL query, use only the classes and properties provided in the schema and don't invent or guess any. Always try to return human-readable names or labels and not only the IRIs. If SPARQL fails to provide the necessary information you can try another tool too.\"\n },\n \"assistantExtractionMethods\": [\n {\n \"method\": \"sparql_search\",\n \"ontologyGraph\": \"http://example.com\",\n \"sparqlQuery\": \"CONSTRUCT {?s ?p ?o} WHERE {GRAPH <http://example.org/ontology> {?s ?p ?o .}}\"\n },\n {\n \"method\": \"fts_search\",\n \"maxNumberOfTriplesPerCall\": 0\n },\n {\n \"method\": \"similarity_search\",\n \"similarityIndex\": \"similarity-index\",\n \"similarityIndexThreshold\": 0.6,\n \"maxNumberOfTriplesPerCall\": 0\n },\n {\n \"method\": \"retrieval_search\",\n \"retrievalConnectorInstance\": \"retrieval-connector\",\n \"queryTemplate\": \"{\\\"query\\\": \\\"string\\\"}\",\n \"maxNumberOfTriplesPerCall\": 0\n }\n ],\n \"additionalExtractionMethods\": [\n {\n \"method\": \"iri_discovery_search\"\n }\n ]\n};\n"],"names":["ChatMessageModel","constructor","data","this","_id","id","_role","role","_message","message","_timestamp","timestamp","tokenUsageInfo","value","CHAT_MESSAGE_ROLE","USER","ASSISTANT","CREATE_AGENT_DELAY","TtygRestServiceFakeBackend","conversations","conversationList","getConversations","Promise","resolve","setTimeout","cloneDeep","getConversation","find","conversation","renameConversation","name","exportConversation","console","log","askQuestion","askRequestData","question","conversationId","agentId","Math","floor","Date","now","answer","messages","push","continueChatRun","alert","deleteConversation","filter","createConversation","length","unshift","getAgents","agentsList","getAgent","agent","createAgent","reject","status","editAgent","editedAgent","map","deleteAgent","getAgentDefaultValues","defaultAgentValues","explainAgentSettings","simulateHttpError","explainResponse","answerId","queryMethods","rawQuery","query","queryType","errorOutput"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=74106;export const __webpack_ids__=[74106];export const __webpack_modules__={74106:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"enable-autocomplete",getSteps:(e,t)=>{const o=t.GuideUtils;e.mainAction="enable-autocomplete";const n=o.getGuideElementSelector("autocompleteCheckbox");return[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"autocomplete",showIntro:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.enable-autocomplete.content",url:"/autocomplete",elementSelector:n,class:"enable-autocomplete-checkbox-guide-dialog",advanceOn:void 0,beforeShowPromise:()=>o.deferredShow(500)(),show:e=>()=>{$(n).on("mouseup.autocompleteCheckboxClick",function(){o.deferredShow(20)().then(()=>{o.isGuideElementChecked("autocompleteCheckbox"," input")&&e.next()})})},onNextClick:e=>{o.isGuideElementChecked("autocompleteCheckbox"," input")||$(n).trigger("click"),e.next()},hide:()=>()=>{$(n).off("mouseup.autocompleteCheckboxClick")}},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.enable-autocomplete.status_info.content",url:"/autocomplete",elementSelector:o.getGuideElementSelector("autocompleteStatus"),class:"autocomplete-status-info-guide-dialog",canBePaused:!1},e)}]}}])}};
|
|
2
|
-
//# sourceMappingURL=74106.82ee18377b0ae14c6a7f.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"74106.82ee18377b0ae14c6a7f.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,sBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5BF,EAAQG,WAAa,sBAErB,MAAMC,EAA+BF,EAAWG,wBAAwB,wBACxE,MAAO,CACH,CACIP,eAAgB,kBAChBE,QAASM,QAAQC,OAAO,CAAC,EAAG,CACxBC,KAAM,eACNC,WAAW,GACZT,IACJ,CACCF,eAAgB,oBAChBE,QAASM,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,gDACTC,IAAK,gBACLC,gBAAiBR,EACjBS,MAAO,4CAEPC,eAAWC,EACXC,kBAAmBA,IAAMd,EAAWe,aAAa,IAAxBf,GACzBgB,KAAOC,GAAU,KAEbC,EAAEhB,GACGiB,GAAG,oCAAqC,WAErCnB,EAAWe,aAAa,GAAxBf,GACKoB,KAAK,KACEpB,EAAWqB,sBAAsB,uBAAwB,WACzDJ,EAAMK,QAGtB,IAERC,YAAcN,IACLjB,EAAWqB,sBAAsB,uBAAwB,WAC1DH,EAAEhB,GAA8BsB,QAAQ,SAE5CP,EAAMK,QAEVG,KAAMA,IAAM,KAERP,EAAEhB,GAA8BwB,IAAI,uCAEzC5B,IAEP,CACIF,eAAgB,oBAChBE,QAASM,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,4DACTC,IAAK,gBACLC,gBAAiBV,EAAWG,wBAAwB,sBACpDQ,MAAO,wCACPgB,aAAa,GACd7B,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/enable-autocomplete/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'enable-autocomplete',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'enable-autocomplete';\n\n const autocompleteCheckboxSelector = GuideUtils.getGuideElementSelector('autocompleteCheckbox');\n return [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'autocomplete',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.enable-autocomplete.content',\n url: '/autocomplete',\n elementSelector: autocompleteCheckboxSelector,\n class: 'enable-autocomplete-checkbox-guide-dialog',\n // Disable default behavior of service when element is clicked.\n advanceOn: undefined,\n beforeShowPromise: () => GuideUtils.deferredShow(500)(),\n show: (guide) => () => {\n // Added listener to the element.\n $(autocompleteCheckboxSelector)\n .on('mouseup.autocompleteCheckboxClick', function () {\n // If autocomplete is enabled go to the next step.\n GuideUtils.deferredShow(20)()\n .then(() => {\n if (GuideUtils.isGuideElementChecked('autocompleteCheckbox', ' input')) {\n guide.next();\n }\n });\n });\n },\n onNextClick: (guide) => {\n if (!GuideUtils.isGuideElementChecked('autocompleteCheckbox', ' input')) {\n $(autocompleteCheckboxSelector).trigger('click');\n }\n guide.next();\n },\n hide: () => () => {\n // Remove ths listener from element. It is important when step is hided.\n $(autocompleteCheckboxSelector).off('mouseup.autocompleteCheckboxClick');\n }\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.enable-autocomplete.status_info.content',\n url: '/autocomplete',\n elementSelector: GuideUtils.getGuideElementSelector('autocompleteStatus'),\n class: 'autocomplete-status-info-guide-dialog',\n canBePaused: false\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","autocompleteCheckboxSelector","getGuideElementSelector","angular","extend","menu","showIntro","content","url","elementSelector","class","advanceOn","undefined","beforeShowPromise","deferredShow","show","guide","$","on","then","isGuideElementChecked","next","onNextClick","trigger","hide","off","canBePaused"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=79329;export const __webpack_ids__=[79329];export const __webpack_modules__={79329:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});const o='<link href="css/ttyg/agent-settings-modal.css?v=3.1.0-TR11" rel="stylesheet"/> <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=3.1.0-TR11" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{( operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \' : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\' : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4> </div> <div class="modal-body"> <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form" guide-selector="agent-form"> <div class="form-group agent-name-label"> <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\' | translate}}</label> <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name" required autocomplete="off" guide-selector="agent-name" placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}"> <div class="alert alert-danger" ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid"> {{\'required.field\' | translate}} </div> </div> <div> <button class="external-config-btn" ng-click="openExternalIntegrationConfig()" ng-if="operation !== AGENT_OPERATION.CREATE" uib-popover="{{\'ttyg.agent.create_agent_modal.form.external_config.tooltip\' | translate}}" popover-trigger="mouseenter"> <i class="fa-regular fa-plug-circle-plus"></i> {{\'ttyg.agent.create_agent_modal.form.external_config.label\' | translate}} </button> </div> <div class="form-group repository-id"> <label for="repositoryId" uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' | translate}}</label> <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId" required ng-change="onRepositoryChange()" guide-selector="repository-id" ng-options="repository.value as repository.label for repository in activeRepositoryList"> </select> <div class="alert alert-danger" ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-row clearfix"> <div class="form-group llm-model col-md-4"> <label for="model">{{\'ttyg.agent.create_agent_modal.form.model.label\' | translate}}</label> <help-info-popover help-info="helpInfoForModel"></help-info-popover> <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model" guide-selector="model" required autocomplete="off"> <div class="alert alert-danger" ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group temperature col-md-4"> <label for="temperature"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span> <i class="fa fa-triangle-exclamation text-warning high-temperature-warning" ng-if="showHighTemperatureWarning" uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}" popover-trigger="mouseenter"></i> </label> <input type="text" id="temperature" name="temperature" readonly="readonly" class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}" ng-model="agentFormModel.temperature.value"> <input id="temperatureSlider" name="temperature" type="range" min="{{agentFormModel.temperature.minValue}}" max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}" ng-change="onTemperatureChange()" ng-model="agentFormModel.temperature.value"/> </div> <div class="form-group top-p col-md-4"> <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' | translate}}</label> <input type="text" class="form-control" id="topP" name="topP" readonly="readonly" ng-model="agentFormModel.topP.value"> <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}" max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}" ng-model="agentFormModel.topP.value"/> </div> </div> <div class="form-group extraction-methods-group"> <label for="extractionMethods" uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' | translate}}</label> <div id="extractionMethods" name="extractionMethods" ng-model="agentFormModel.assistantExtractionMethods.extractionMethods" required class="accordion extraction-methods" ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}"> <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods" class="extraction-method"> <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading" ng-class="{\'selected\': extractionMethod.selected}" guide-selector="query-method-{{extractionMethod.method}}"> <div class="mr-0 extraction-method-toggle"> <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}" guide-selector="query-method-{{extractionMethod.method}}-input" name="{{extractionMethod.method}}" class="switch" ng-click="toggleExtractionMethod(extractionMethod, $event)" ng-model="extractionMethod.selected"/> <label for="{{extractionMethod.method + \'_checkbox\'}}"></label> </div> <a class="btn btn-link panel-toggle-link" aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}" ng-click="onExtractionMethodPanelToggle(extractionMethod)"> <span class="mr-1" uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span> <i class="fa fa-chevron-down toggle-icon" ng-class="{\'expanded\': extractionMethod.expanded}"> </i> </a> </div> <div id="{{extractionMethod.method + \'_method_content\'}}" class="show extraction-method-content" aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}" data-parent="#extractionMethods"> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL" class="extraction-method-options" ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}"> <div class="sparql-option ontology-graph-option" guide-selector="sparql-ontology-graph-option"> <label class="radio-inline" uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}" popover-trigger="mouseenter"> <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" guide-selector="sparql-ontology-graph-option-input" ng-model="extractionMethod.sparqlOption" value="ontologyGraph"> {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}} </label> <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'"> <div class="form-group"> <input type="text" class="form-control" id="ontologyGraph" guide-selector="sparql-ontology-graph-input" name="ontologyGraph" ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'" ng-model="extractionMethod.ontologyGraph"> </div> </div> </div> <div class="sparql-option sparql-query-option"> <label class="radio-inline" uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}" popover-trigger="mouseenter"> <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" ng-model="extractionMethod.sparqlOption" value="sparqlQuery"> {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}} </label> <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'"> <div class="form-group"> <textarea type="text" class="form-control" id="sparqlQuery" name="sparqlQuery" rows="10" ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'" ng-minlength="extractionMethod.sparqlQuery.minLength" ng-maxlength="extractionMethod.sparqlQuery.maxLength" ng-model="extractionMethod.sparqlQuery.value">\n </textarea> </div> </div> </div> <div class="alert alert-danger sparql-method-option-required-error mb-0" ng-if="extractionMethod.selected && !extractionMethod.sparqlOption"> {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}} </div> <div class="add-missing-namespaces-option mt-1" guide-selector="add-missing-namespaces-option"> <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox" guide-selector="add-missing-namespaces" ng-model="extractionMethod.addMissingNamespaces"> <label for="addMissingNamespaces" uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}" popover-trigger="mouseenter">{{ \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate }}</label> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH" ng-class="{\'has-error\': agentSettingsForm.$error.FTSDisabled || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="checkIfFTSEnabled()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message" ng-bind-html="getFTSDisabledHelpMessage()"> </div> <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId"> <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\' | translate}} </label> <input type="number" class="form-control" id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY" ng-class="{\'has-error\': agentSettingsForm.$error.missingIndex || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="updateSimilaritySearchPanel()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="agentFormModel.repositoryId && !similarityIndexes.length" class="no-similarity-index-message"> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' | translate}} <a href="" ng-click="goToCreateSimilarityView($event)"> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\' | translate}} </a> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' | translate}}. </div> <div ng-show="similarityIndexes.length"> <div class="form-group similarity-index"> <label for="similarityIndex" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\' | translate}}</label> <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy size="16"></span> <select class="form-control" id="similarityIndex" name="similarityIndex" guide-selector="similarity-index-select" ng-required="extractionMethod.selected" ng-if="!extractionMethodLoaderFlags.similarity_search" ng-model="extractionMethod.similarityIndex" ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes"> </select> <div class="alert alert-danger" ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group similarity-index-threshold"> <label for="similarityIndexThreshold" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\' | translate}}</label> <input type="text" class="form-control" id="similarityIndexThreshold" name="similarityIndexThreshold" readonly="readonly" ng-model="extractionMethod.similarityIndexThreshold.value"> <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold" type="range" ng-required="extractionMethod.selected" min="{{extractionMethod.similarityIndexThreshold.minValue}}" max="{{extractionMethod.similarityIndexThreshold.maxValue}}" step="0.1" ng-model="extractionMethod.similarityIndexThreshold.value"/> </div> <div class="form-group similarity-max-triples"> <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\' | translate}}</label> <input type="number" class="form-control" id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL" ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="updateRetrievalConnectorPanel()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="agentFormModel.repositoryId && !retrievalConnectors.length" class="no-retrieval-connector-message"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\' | translate}} <a href="" ng-click="goToConnectorsView($event)"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\' | translate}} </a> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\' | translate}}. </div> <div ng-show="retrievalConnectors.length"> <div class="form-group retrieval-connector"> <label for="retrievalConnectorInstance" uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\' | translate}}</label> <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy size="16"></span> <select class="form-control" id="retrievalConnectorInstance" name="retrievalConnectorInstance" ng-required="extractionMethod.selected" ng-if="!extractionMethodLoaderFlags.retrieval_search" ng-model="extractionMethod.retrievalConnectorInstance" ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors"> </select> <div class="alert alert-danger" ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group query-template"> <label for="queryTemplate" uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\' | translate}}</label> <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate" rows="10" ng-required="extractionMethod.selected" ng-minlength="extractionMethod.queryTemplate.minLength" ng-maxlength="extractionMethod.queryTemplate.maxLength" ng-model="extractionMethod.queryTemplate.value">\n </textarea> <div class="alert alert-danger" ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group retrieval-connector-max-triples"> <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\' | translate}}</label> <input type="number" class="form-control" id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> </div> </div> </div> </div> <div class="alert alert-danger extraction-method-required-error" ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid"> {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}} </div> </div> <div id="additionalExtractionMethods" class="form-group additional-extraction-methods"> <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' | translate}} </label> <div ng-repeat="extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods" class="additional-extraction-method"> <div ng-if="ExtractionMethodTemplates[extractionMethod.method]"> <div ng-include="\'js/angular/ttyg/templates/\' + ExtractionMethodTemplates[extractionMethod.method] + \'.html\'"></div> </div> </div> </div> <div class="form-group user-instructions"> <div class="toolbar"> <label for="userInstruction" uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' | translate}}</label> <div class="actions"> <copy-to-clipboard tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip" text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard> <button class="btn btn-link btn-sm create-chat-btn" ng-click="onRestoreDefaultUserInstructions()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> </div> </div> <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5" guide-selector="user-instructions" ng-model="agentFormModel.instructions.userInstruction" placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea> </div> <div class="text-xs-center"> <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings" class="btn btn-link btn-sm toggle-advanced-settings"> <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em class="icon-caret-down"></em></span> <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em class="icon-caret-up"></em></span> </button> </div> <div ng-show="showAdvancedSettings" class="advanced-settings"> <div class="form-group system-instructions"> <div class="toolbar"> <label for="systemInstruction"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span> <i class="fa fa-triangle-exclamation text-warning overriding-system-instructions-warning" ng-if="showSystemInstructionWarning" uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}" popover-trigger="mouseenter"></i> </label> <div class="actions"> <copy-to-clipboard tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip" text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard> <button class="btn btn-link btn-sm create-chat-btn" ng-click="onRestoreDefaultSystemInstructions()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> </div> </div> <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5" placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}" ng-class="{\'has-warning\': showSystemInstructionWarning}" ng-model="agentFormModel.instructions.systemInstruction" ng-change="onSystemInstructionChange()">\n </textarea> </div> </div> </form> </div> <div class="modal-footer"> <button type="button" ng-click="onExplainAgentSettings()" class="btn explain-agent-settings-btn"> {{\'ttyg.agent.create_agent_modal.btn.explain_settings.label\' | translate}} </button> <div> <button type="button" ng-click="cancel()" class="btn cancel-btn"> {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}} </button> <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent" guide-selector="save-agent-settings" class="btn btn-primary save-agent-settings-btn"> <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\' : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\' : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span> <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true" size="15"></span> </button> </div> </div> '}};
|
|
2
|
-
//# sourceMappingURL=79329.a3a25c9508f4287f135c.bundle.js.map
|