graphdb-workbench 3.2.0-TR2 → 3.2.0-TR3
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/12358.4be185f89eebea9c35bf.bundle.js +3 -0
- package/dist/12358.4be185f89eebea9c35bf.bundle.js.map +1 -0
- package/dist/{12396.9a7f2862146b6f9adcb1.bundle.js → 12396.07e90b6c97623a9fd754.bundle.js} +2 -2
- package/dist/{12396.9a7f2862146b6f9adcb1.bundle.js.map → 12396.07e90b6c97623a9fd754.bundle.js.map} +1 -1
- package/dist/{15535.7b170e17ee0a58970ab6.bundle.js → 15535.12490e9b6d305e7bd827.bundle.js} +2 -2
- package/dist/{15535.7b170e17ee0a58970ab6.bundle.js.map → 15535.12490e9b6d305e7bd827.bundle.js.map} +1 -1
- package/dist/{16162.67e7c1f5f313481b1e80.bundle.js → 16162.58804ed92b5b3ae97510.bundle.js} +2 -2
- package/dist/{16162.67e7c1f5f313481b1e80.bundle.js.map → 16162.58804ed92b5b3ae97510.bundle.js.map} +1 -1
- package/dist/19402.7f6ea977348338acc824.bundle.js +2 -0
- package/dist/19402.7f6ea977348338acc824.bundle.js.map +1 -0
- package/dist/{20287.dd5bc263fe26adf34965.bundle.js → 20287.3ce3542c50f41b8b85a3.bundle.js} +2 -2
- package/dist/{20287.dd5bc263fe26adf34965.bundle.js.map → 20287.3ce3542c50f41b8b85a3.bundle.js.map} +1 -1
- package/dist/{21136.b7efcb40fb956ff1109c.bundle.js → 21136.c6d780b6f550c0df2d2a.bundle.js} +2 -2
- package/dist/{21136.b7efcb40fb956ff1109c.bundle.js.map → 21136.c6d780b6f550c0df2d2a.bundle.js.map} +1 -1
- package/dist/21142.b48a4c497617cb2df01f.bundle.js +2 -0
- package/dist/21142.b48a4c497617cb2df01f.bundle.js.map +1 -0
- package/dist/{21170.7832554eab9eaade6ffb.bundle.js → 21170.6079e1b218a1eea085f5.bundle.js} +2 -2
- package/dist/{21170.7832554eab9eaade6ffb.bundle.js.map → 21170.6079e1b218a1eea085f5.bundle.js.map} +1 -1
- package/dist/21195.152b932628044855ef83.bundle.js +2 -0
- package/dist/21195.152b932628044855ef83.bundle.js.map +1 -0
- package/dist/{25747.c01110e23b922cdd3d9e.bundle.js → 25747.117e03f9f9ae52f13606.bundle.js} +2 -2
- package/dist/{25747.c01110e23b922cdd3d9e.bundle.js.map → 25747.117e03f9f9ae52f13606.bundle.js.map} +1 -1
- package/dist/{27580.5a421770ab66d2dedc37.bundle.js → 27580.dc966117bc0ee9eecd70.bundle.js} +2 -2
- package/dist/{27580.5a421770ab66d2dedc37.bundle.js.map → 27580.dc966117bc0ee9eecd70.bundle.js.map} +1 -1
- package/dist/29350.d2791feedf54d2e4b7b6.bundle.js +2 -0
- package/dist/29350.d2791feedf54d2e4b7b6.bundle.js.map +1 -0
- package/dist/{31636.54e2817f8ae3998a34b3.bundle.js → 31636.95fa5e5c2a521d1effd5.bundle.js} +2 -2
- package/dist/{31636.54e2817f8ae3998a34b3.bundle.js.map → 31636.95fa5e5c2a521d1effd5.bundle.js.map} +1 -1
- package/dist/{32489.f7a2dc39cd61c2cd8874.bundle.js → 32489.c5d26d5023f0e0583408.bundle.js} +2 -2
- package/dist/{32489.f7a2dc39cd61c2cd8874.bundle.js.map → 32489.c5d26d5023f0e0583408.bundle.js.map} +1 -1
- package/dist/{34495.be67c06c39909114bbe4.bundle.js → 34495.2a7b45477194d52af3e5.bundle.js} +2 -2
- package/dist/{34495.be67c06c39909114bbe4.bundle.js.map → 34495.2a7b45477194d52af3e5.bundle.js.map} +1 -1
- package/dist/36633.eba4270db7fdcf1aad4c.bundle.js +2 -0
- package/dist/36633.eba4270db7fdcf1aad4c.bundle.js.map +1 -0
- package/dist/36665.19388ed0db6a1d64ad65.bundle.js +2 -0
- package/dist/36665.19388ed0db6a1d64ad65.bundle.js.map +1 -0
- package/dist/{38360.efec913bb97c3b8588a4.bundle.js → 38360.23a88f346d3a1d92dbb1.bundle.js} +2 -2
- package/dist/{38360.efec913bb97c3b8588a4.bundle.js.map → 38360.23a88f346d3a1d92dbb1.bundle.js.map} +1 -1
- package/dist/{38644.800252af49cd67310834.bundle.js → 38644.6682aa9acc813134b85a.bundle.js} +2 -2
- package/dist/{38644.800252af49cd67310834.bundle.js.map → 38644.6682aa9acc813134b85a.bundle.js.map} +1 -1
- package/dist/{38843.29e34a5e5293cee51566.bundle.js → 38843.7cf0aca4cc512c447e29.bundle.js} +2 -2
- package/dist/{38843.29e34a5e5293cee51566.bundle.js.map → 38843.7cf0aca4cc512c447e29.bundle.js.map} +1 -1
- package/dist/{39518.0ca97879b92271d7c5e2.bundle.js → 39518.cbb394dbd1fb5c717e82.bundle.js} +2 -2
- package/dist/{39518.0ca97879b92271d7c5e2.bundle.js.map → 39518.cbb394dbd1fb5c717e82.bundle.js.map} +1 -1
- package/dist/{39539.7cea6717cc3a5ba91617.bundle.js → 39539.63178d205aa9af450438.bundle.js} +2 -2
- package/dist/{39539.7cea6717cc3a5ba91617.bundle.js.map → 39539.63178d205aa9af450438.bundle.js.map} +1 -1
- package/dist/40516.3cfaf1ff4704c038f944.bundle.js +2 -0
- package/dist/40516.3cfaf1ff4704c038f944.bundle.js.map +1 -0
- package/dist/{41453.4ae219d972a187c36bfc.bundle.js → 41453.3a71e125d59ca56c3e48.bundle.js} +2 -2
- package/dist/{41453.4ae219d972a187c36bfc.bundle.js.map → 41453.3a71e125d59ca56c3e48.bundle.js.map} +1 -1
- package/dist/{42129.0314e45b4b818b01b71f.bundle.js → 42129.6bbb7e9d5f3be5d0cb47.bundle.js} +2 -2
- package/dist/{42129.0314e45b4b818b01b71f.bundle.js.map → 42129.6bbb7e9d5f3be5d0cb47.bundle.js.map} +1 -1
- package/dist/{44444.02026ff20e2a843dc05b.bundle.js → 44444.f65e3b550875b4b6e1a8.bundle.js} +2 -2
- package/dist/{44444.02026ff20e2a843dc05b.bundle.js.map → 44444.f65e3b550875b4b6e1a8.bundle.js.map} +1 -1
- package/dist/44874.b16be286176dfe4aa766.bundle.js +2 -0
- package/dist/44874.b16be286176dfe4aa766.bundle.js.map +1 -0
- package/dist/49539.63984d5b37bc8b9a7244.bundle.js +2 -0
- package/dist/49539.63984d5b37bc8b9a7244.bundle.js.map +1 -0
- package/dist/{51087.b072d1c0e53403535283.bundle.js → 51087.1e118e7fe32a8c09d6cb.bundle.js} +2 -2
- package/dist/51087.1e118e7fe32a8c09d6cb.bundle.js.map +1 -0
- package/dist/{55862.5e8602827fbf72e60cc2.bundle.js → 55862.81278272f7885ce93baf.bundle.js} +2 -2
- package/dist/{55862.5e8602827fbf72e60cc2.bundle.js.map → 55862.81278272f7885ce93baf.bundle.js.map} +1 -1
- package/dist/{58306.94b9336f68d11bdd72f0.bundle.js → 58306.061bfe57a80e266022a1.bundle.js} +2 -2
- package/dist/{58306.94b9336f68d11bdd72f0.bundle.js.map → 58306.061bfe57a80e266022a1.bundle.js.map} +1 -1
- package/dist/60039.5f9e955234f5eaf33372.bundle.js +2 -0
- package/dist/60039.5f9e955234f5eaf33372.bundle.js.map +1 -0
- package/dist/63415.7a4dfa072b5665c5995b.bundle.js +2 -0
- package/dist/63415.7a4dfa072b5665c5995b.bundle.js.map +1 -0
- package/dist/64118.edc8ed6671017d09ff4e.bundle.js +2 -0
- package/dist/64118.edc8ed6671017d09ff4e.bundle.js.map +1 -0
- package/dist/{67888.772326168aed83cbad9c.bundle.js → 67888.6a4fedd47a2764fdb04b.bundle.js} +2 -2
- package/dist/{67888.772326168aed83cbad9c.bundle.js.map → 67888.6a4fedd47a2764fdb04b.bundle.js.map} +1 -1
- package/dist/71920.c171884910616d02e2c6.bundle.js +2 -0
- package/dist/71920.c171884910616d02e2c6.bundle.js.map +1 -0
- package/dist/{72379.8a3290df05f18f8c65bd.bundle.js → 72379.d82f665d3a8b231008a3.bundle.js} +2 -2
- package/dist/{72379.8a3290df05f18f8c65bd.bundle.js.map → 72379.d82f665d3a8b231008a3.bundle.js.map} +1 -1
- package/dist/{73667.52fdbdadddafe9e9559b.bundle.js → 73667.5a32fae13853f9158d8b.bundle.js} +2 -2
- package/dist/{73667.52fdbdadddafe9e9559b.bundle.js.map → 73667.5a32fae13853f9158d8b.bundle.js.map} +1 -1
- package/dist/{73793.7e812bab1754ddd5efb5.bundle.js → 73793.88917a280c5cbacfd4c5.bundle.js} +2 -2
- package/dist/{73793.7e812bab1754ddd5efb5.bundle.js.map → 73793.88917a280c5cbacfd4c5.bundle.js.map} +1 -1
- package/dist/73964.7a3038b5726d50c1a051.bundle.js +2 -0
- package/dist/73964.7a3038b5726d50c1a051.bundle.js.map +1 -0
- package/dist/{75282.2f97d3a7d7f3fdd7aebf.bundle.js → 75282.865c935a564591b19c85.bundle.js} +2 -2
- package/dist/{75282.2f97d3a7d7f3fdd7aebf.bundle.js.map → 75282.865c935a564591b19c85.bundle.js.map} +1 -1
- package/dist/75849.d9fcfe95fed333bad2d0.bundle.js +2 -0
- package/dist/75849.d9fcfe95fed333bad2d0.bundle.js.map +1 -0
- package/dist/{78250.73e3013c5b2ebdddbf38.bundle.js → 78250.c266986c29f5c73eb46a.bundle.js} +2 -2
- package/dist/{78250.73e3013c5b2ebdddbf38.bundle.js.map → 78250.c266986c29f5c73eb46a.bundle.js.map} +1 -1
- package/dist/7928.9ab4b363abb28bfc6bd5.bundle.js +2 -0
- package/dist/7928.9ab4b363abb28bfc6bd5.bundle.js.map +1 -0
- package/dist/{79329.3d912887ba7e96090fb4.bundle.js → 79329.8d230cc14746653003ee.bundle.js} +2 -2
- package/dist/{79329.3d912887ba7e96090fb4.bundle.js.map → 79329.8d230cc14746653003ee.bundle.js.map} +1 -1
- package/dist/{82926.93a59d42bf8d49aaac8e.bundle.js → 82926.0cb2c4faf483e67f5e7f.bundle.js} +2 -2
- package/dist/{82926.93a59d42bf8d49aaac8e.bundle.js.map → 82926.0cb2c4faf483e67f5e7f.bundle.js.map} +1 -1
- package/dist/85609.68438b4955212d5fcb84.bundle.js +2 -0
- package/dist/85609.68438b4955212d5fcb84.bundle.js.map +1 -0
- package/dist/85788.501c7244b890d519f8cf.bundle.js +2 -0
- package/dist/85788.501c7244b890d519f8cf.bundle.js.map +1 -0
- package/dist/{89695.4ee87c52d4088115c51e.bundle.js → 89695.b7e90a123bc2875ccae4.bundle.js} +2 -2
- package/dist/89695.b7e90a123bc2875ccae4.bundle.js.map +1 -0
- package/dist/{9062.3541de664710a36fdac7.bundle.js → 9062.9bb14aa1e3d51036c7fe.bundle.js} +2 -2
- package/dist/{9062.3541de664710a36fdac7.bundle.js.map → 9062.9bb14aa1e3d51036c7fe.bundle.js.map} +1 -1
- package/dist/96089.4317e132ef8cc0033f83.bundle.js +2 -0
- package/dist/96089.4317e132ef8cc0033f83.bundle.js.map +1 -0
- package/dist/{99448.384b74c734331e5f8909.bundle.js → 99448.2ecdf14415bcd9299354.bundle.js} +2 -2
- package/dist/{99448.384b74c734331e5f8909.bundle.js.map → 99448.2ecdf14415bcd9299354.bundle.js.map} +1 -1
- package/dist/css/ttyg/chat-item-details.css +1 -1
- package/dist/css/ttyg/chat-panel.css +1 -1
- package/dist/i18n/locale-en.json +3 -0
- package/dist/i18n/locale-fr.json +3 -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 +5 -5
- package/dist/js/angular/ttyg/templates/chat-list.html +2 -2
- package/dist/js/angular/ttyg/templates/chat-panel.html +12 -7
- 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 +2 -2
- 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.2bd696723af2573e8bb7.js → legacyWorkbench.ffd119cc335034d736cc.js} +3 -3
- package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js.map → legacyWorkbench.ffd119cc335034d736cc.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/package.json +1 -1
- package/dist/12358.2061f29dc113149946a3.bundle.js +0 -3
- package/dist/12358.2061f29dc113149946a3.bundle.js.map +0 -1
- package/dist/19402.07424b4b7c9dd775d860.bundle.js +0 -2
- package/dist/19402.07424b4b7c9dd775d860.bundle.js.map +0 -1
- package/dist/21142.ec45fad4d52b36961d17.bundle.js +0 -2
- package/dist/21142.ec45fad4d52b36961d17.bundle.js.map +0 -1
- package/dist/21195.caae6cc33d755ad52df4.bundle.js +0 -2
- package/dist/21195.caae6cc33d755ad52df4.bundle.js.map +0 -1
- package/dist/29350.9976c09d5cdaa48ecb19.bundle.js +0 -2
- package/dist/29350.9976c09d5cdaa48ecb19.bundle.js.map +0 -1
- package/dist/36633.bd17a2028ef302870ec4.bundle.js +0 -2
- package/dist/36633.bd17a2028ef302870ec4.bundle.js.map +0 -1
- package/dist/36665.eda6cfdf545f2608a6c7.bundle.js +0 -2
- package/dist/36665.eda6cfdf545f2608a6c7.bundle.js.map +0 -1
- package/dist/40516.734b24eead67142c4045.bundle.js +0 -2
- package/dist/40516.734b24eead67142c4045.bundle.js.map +0 -1
- package/dist/44874.5854c207bbe2c4f2438e.bundle.js +0 -2
- package/dist/44874.5854c207bbe2c4f2438e.bundle.js.map +0 -1
- package/dist/49539.d253a79e8b9710776e48.bundle.js +0 -2
- package/dist/49539.d253a79e8b9710776e48.bundle.js.map +0 -1
- package/dist/51087.b072d1c0e53403535283.bundle.js.map +0 -1
- package/dist/60039.cb9262af0bc63b635c76.bundle.js +0 -2
- package/dist/60039.cb9262af0bc63b635c76.bundle.js.map +0 -1
- package/dist/63415.81af22cc29be1144e07f.bundle.js +0 -2
- package/dist/63415.81af22cc29be1144e07f.bundle.js.map +0 -1
- package/dist/64118.fb6952c8ef6fc9117f35.bundle.js +0 -2
- package/dist/64118.fb6952c8ef6fc9117f35.bundle.js.map +0 -1
- package/dist/71920.46e7b0ec1d22adcd8e55.bundle.js +0 -2
- package/dist/71920.46e7b0ec1d22adcd8e55.bundle.js.map +0 -1
- package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js +0 -2
- package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js.map +0 -1
- package/dist/75849.bd0bdefa903741034a71.bundle.js +0 -2
- package/dist/75849.bd0bdefa903741034a71.bundle.js.map +0 -1
- package/dist/7928.7900a3911c83495d74dd.bundle.js +0 -2
- package/dist/7928.7900a3911c83495d74dd.bundle.js.map +0 -1
- package/dist/85609.680b755726c66ea1de34.bundle.js +0 -2
- package/dist/85609.680b755726c66ea1de34.bundle.js.map +0 -1
- package/dist/85788.4e0818c48b6f29153db4.bundle.js +0 -2
- package/dist/85788.4e0818c48b6f29153db4.bundle.js.map +0 -1
- package/dist/89695.4ee87c52d4088115c51e.bundle.js.map +0 -1
- package/dist/96089.7e28823f34c450de1f7e.bundle.js +0 -2
- package/dist/96089.7e28823f34c450de1f7e.bundle.js.map +0 -1
- /package/dist/{12358.2061f29dc113149946a3.bundle.js.LICENSE.txt → 12358.4be185f89eebea9c35bf.bundle.js.LICENSE.txt} +0 -0
- /package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js.LICENSE.txt → legacyWorkbench.ffd119cc335034d736cc.js.LICENSE.txt} +0 -0
package/dist/{67888.772326168aed83cbad9c.bundle.js.map → 67888.6a4fedd47a2764fdb04b.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"67888.772326168aed83cbad9c.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-status-info.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-message.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/validate-uri.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-progress-indicator.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-tree.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/controllers/import-resource-message-dialog.controller.js"],"sourcesContent":["const modules = [];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-status-info', modules)\n .directive('importResourceStatusInfo', importResourceStatusInfoDirective);\n\nimportResourceStatusInfoDirective.$inject = ['$rootScope', '$document'];\n\nfunction importResourceStatusInfoDirective($rootScope, $document) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-status-info.html',\n scope: {\n resource: '='\n },\n link: ($scope) => {\n const subscribers = [];\n\n // =========================\n // Public variables\n // =========================\n $scope.popoverTemplate = 'resourceStatusInfoTemplate.html';\n $scope.popoverIsOpen = false;\n $scope.context = $scope.resource.importResource.context;\n $scope.replaceGraphs = $scope.resource.importResource.replaceGraphs;\n $scope.baseUrl = decodeURIComponent($scope.resource.importResource.baseURI);\n $scope.forceSerial = $scope.resource.importResource.forceSerial;\n $scope.importedOn = $scope.resource.importResource.importedOn;\n $scope.parserSettings = $scope.resource.importResource.parserSettings;\n\n // =========================\n // Public functions\n // =========================\n $scope.open = () => {\n $scope.closeAllDialogs();\n $scope.popoverIsOpen = true;\n };\n\n $scope.closeAllDialogs = () => {\n $rootScope.$broadcast('closePopovers');\n };\n\n $scope.close = () => {\n $scope.popoverIsOpen = false;\n };\n\n const handleEscapeKeyPress = (event) => {\n if (event.key === 'Escape') {\n $scope.$apply(() => {\n $scope.close();\n });\n }\n };\n\n const removeAllSubscribers = () => {\n subscribers.forEach((subscriber) => subscriber());\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n subscribers.push($scope.$on('closePopovers', $scope.close));\n $document.on('keydown', handleEscapeKeyPress);\n\n $scope.$on('$destroy', () => {\n $document.off('keydown', handleEscapeKeyPress);\n removeAllSubscribers();\n });\n }\n };\n}\n","import 'angular/import/controllers/import-resource-message-dialog.controller';\nimport {ImportResourceStatus} from \"../../models/import/import-resource-status\";\nimport * as stringUtils from \"../../utils/string-utils\";\n\nconst modules = ['graphdb.framework.impex.import.controllers.import-resource-message-dialog'];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-message', modules)\n .directive('importResourceMessage', importResourceMessageDirective);\n\nimportResourceMessageDirective.$inject = ['$uibModal'];\n\nfunction importResourceMessageDirective($uibModal) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-message.html',\n scope: {\n resource: '='\n },\n link: ($scope) => {\n $scope.ImportResourceStatus = ImportResourceStatus;\n $scope.toTitleCase = (str) => stringUtils.toTitleCase(str);\n\n /**\n *\n * @param {ImportResourceTreeElement} resourceTreeElement\n */\n $scope.showMessage = (resourceTreeElement) => {\n $uibModal.open({\n templateUrl: 'js/angular/import/templates/import-resource-message-dialog.html',\n controller: 'ImportResourceMessageDialogController',\n size: 'lg',\n windowClass: 'import-resource-message-dialog',\n backdrop: 'static',\n resolve: {\n message: function () {\n return resourceTreeElement ? resourceTreeElement.importResource.message : '';\n }\n }\n });\n }\n }\n };\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/import/controllers/import-view.controller';\nimport 'angular/import/directives/validate-uri.directive';\nimport 'angular/import/directives/import-progress-indicator.directive';\nimport 'angular/import/directives/import-resource-tree.directive';\nimport 'angular/core/services/repositories.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'toastr',\n 'ngRoute',\n 'ngFileUpload',\n 'ui.bootstrap',\n 'graphdb.framework.impex.import.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.import.directives.validate-uri',\n 'graphdb.framework.import.directives.import-progress-indicator',\n 'graphdb.framework.import.directives.import-resource-tree'\n];\n\nangular.module('graphdb.framework.impex.import', modules);\n","/**\n * This AngularJS directive validates whether an input value is a valid URI (IRI).\n *\n * @directive validateUri\n * @restrict A (Attribute)\n * @requires ngModel\n *\n * @example\n * <input type=\"text\" name=\"url\" ng-model=\"url\" validate-uri>\n */\nconst modules = [];\n\nangular\n .module('graphdb.framework.import.directives.validate-uri', modules)\n .directive('validateUri', validateUri);\n\nvalidateUri.$inject = ['UriUtils'];\n\n/**\n * @function validateUri\n * @param {UriUtils} UriUtils - Service for URI validation.\n */\nfunction validateUri(UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n ctrl.$setValidity('validateUri', true);\n if (!ctrl.$isEmpty(value)) {\n const valid = UriUtils.isValidIri(value, value.toString());\n ctrl.$setValidity('validateUri', valid);\n }\n return value;\n });\n }\n };\n}\n","const modules = [];\n\nangular\n .module('graphdb.framework.import.directives.import-progress-indicator', modules)\n .directive('ImportProgressIndicator', ImportProgressIndicator);\n\nImportProgressIndicator.$inject = [];\n\n// importDirectives.directive('filesOntoLoader',\nfunction ImportProgressIndicator() {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=3.2.0-TR2\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n}\n","import {ImportResourceStatus} from \"../../models/import/import-resource-status\";\nimport 'angular/import/directives/import-resource-message.directive';\nimport 'angular/import/directives/import-resource-status-info.directive';\nimport {SortingType} from \"../../models/import/sorting-type\";\nimport {ImportResourceTreeElement} from \"../../models/import/import-resource-tree-element\";\nimport {TABS} from \"../services/import-context.service\";\nimport {ImportResourceTreeService} from \"../services/import-resource-tree.service\";\nimport {convertToBytes} from \"../../utils/size-util\";\n\nconst TYPE_FILTER_OPTIONS = {\n 'FILE': 'FILE',\n 'DIRECTORY': 'DIRECTORY',\n 'ALL': 'ALL'\n};\n\nconst STATUS_OPTIONS = {\n 'ALL': 'ALL',\n 'NONE': 'NONE',\n 'IMPORTED': 'IMPORTED',\n 'NOT_IMPORTED': 'NOT_IMPORTED'\n};\n\nconst modules = [\n 'graphdb.framework.import.directives.import-resource-message',\n 'graphdb.framework.import.directives.import-resource-status-info'\n];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-tree', modules)\n .directive('importResourceTree', importResourceTreeDirective);\n\nimportResourceTreeDirective.$inject = ['$timeout', 'ImportContextService'];\n\nfunction importResourceTreeDirective($timeout, ImportContextService) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-tree.html',\n scope: {\n /**\n * Contains mapping of the column names to label keys. Should contain\n * keys for: name, size, imported, modified, context column names.\n */\n columnKeys: '=',\n /**\n * If the type filter buttons should be visible.\n */\n showTypeFilter: '=',\n /**\n * The default field to sort the resources by.\n */\n sortBy: '=',\n asc: '=',\n onImport: '&',\n onImportAll: '&',\n onReset: '&',\n onRemove: '&',\n onStopImport: '&',\n onEditResource: '&'\n },\n link: ($scope, element, attrs) => {\n\n // =========================\n // Public variables\n // =========================\n $scope.resources = new ImportResourceTreeElement();\n $scope.displayResources = [];\n $scope.TYPE_FILTER_OPTIONS = TYPE_FILTER_OPTIONS;\n $scope.filterByType = TYPE_FILTER_OPTIONS.ALL;\n $scope.filterByFileName = '';\n $scope.STATUS_OPTIONS = STATUS_OPTIONS;\n $scope.selectedByStatus = undefined;\n $scope.areAllDisplayedImportResourcesSelected = false;\n $scope.areAllDisplayedImportResourcesPartialSelected = false;\n $scope.ImportResourceStatus = ImportResourceStatus;\n $scope.canRemoveResource = angular.isDefined(attrs.onRemove);\n $scope.canResetSelectedResources = false;\n $scope.SORTING_TYPES = SortingType;\n $scope.sortAsc = angular.isDefined(attrs.asc) ? $scope.asc : true;\n $scope.sortedBy = $scope.sortBy;\n $scope.showLoader = ImportContextService.getShowLoader();\n $scope.hasSelection = false;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Updates the selection model when a resource is selected or unselected.\n * @param {ImportResourceTreeElement} resource The resource that was selected or unselected.\n */\n $scope.selectionChanged = ((resource) => {\n resource.setSelection(resource.selected);\n updateSelectByStateDropdownModel();\n setCanResetResourcesFlag();\n updateHasSelection();\n });\n\n $scope.selectResourceWithStatus = (resourceStatus) => {\n $scope.selectedByStatus = resourceStatus;\n $scope.resources.setSelection(false);\n\n if (STATUS_OPTIONS.ALL === $scope.selectedByStatus) {\n $scope.resources.setSelection(true);\n } else if (STATUS_OPTIONS.IMPORTED === $scope.selectedByStatus) {\n $scope.resources.selectAllWithStatus([ImportResourceStatus.DONE]);\n } else if (STATUS_OPTIONS.NOT_IMPORTED === $scope.selectedByStatus) {\n $scope.resources.selectAllWithStatus([ImportResourceStatus.IMPORTING, ImportResourceStatus.NONE, ImportResourceStatus.ERROR, ImportResourceStatus.PENDING, ImportResourceStatus.INTERRUPTING]);\n }\n\n updateListedImportResources();\n setCanResetResourcesFlag();\n };\n\n $scope.filterByTypeChanged = (newType) => {\n $scope.filterByType = newType;\n updateListedImportResources();\n };\n\n $scope.filterByFileNameChanged = (filterByFileName) => {\n $scope.filterByFileName = filterByFileName;\n debounce(updateListedImportResources, 100);\n };\n\n /**\n * Resets the status of the selected resources.\n */\n $scope.onResetStatus = () => {\n const resourcesNames = $scope.resources.getAllSelected()\n .map((resource) => resource.path);\n if (resourcesNames.length > 0) {\n $scope.onReset({resources: resourcesNames});\n }\n };\n\n /**\n * Resets the status of the given resource.\n * @param {ImportResourceTreeElement} importResource\n */\n $scope.resetStatus = (importResource) => {\n $scope.onReset({resources: [importResource.path]});\n };\n\n $scope.onRemoveResources = () => {\n const selectedResources = $scope.resources.getAllSelected();\n if (selectedResources && selectedResources.length > 0) {\n $scope.onRemove({resources: selectedResources});\n }\n };\n\n $scope.removeResource = (resource) => {\n $scope.onRemove({resources: [resource]});\n };\n\n $scope.importAll = (withoutChangingSettings) => {\n const selectedResources = $scope.resources.getAllSelectedForImport();\n if (selectedResources.length > 0) {\n $scope.onImportAll({selectedResources: selectedResources, withoutChangingSettings});\n }\n };\n\n $scope.stopImport = (importResource) => {\n $scope.onStopImport({resource: importResource});\n };\n\n /**\n * Sorts resources by provided sorting type.\n * @param {SortingType} sortedBy The sorting type to use.\n */\n $scope.sort = (sortedBy) => {\n if ($scope.sortedBy === sortedBy) {\n $scope.sortAsc = !$scope.sortAsc;\n } else {\n $scope.sortAsc = true;\n }\n $scope.sortedBy = sortedBy;\n updateListedImportResources();\n };\n\n $scope.editResource = (resource) => {\n $scope.onEditResource({resource});\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Sets the flag showing if any of the selected resources is already imported\n * and can have their states reset.\n */\n const setCanResetResourcesFlag = () => {\n $scope.canResetSelectedResources = $scope.resources.getSelectedImportedResources();\n };\n\n const updateListedImportResources = () => {\n $scope.resources.getRoot().updateSelectionState();\n sortResources();\n $scope.displayResources = $scope.resources.toList()\n .filter(filterByType)\n .filter(filterByName);\n\n updateHasSelection();\n updateSelectByStateDropdownModel();\n };\n\n const updateHasSelection = () => {\n const allSelectedFilesNames = $scope.resources.getAllSelectedFilesNames();\n $scope.hasSelection = allSelectedFilesNames.length > 0;\n ImportContextService.updateSelectedFilesNames(allSelectedFilesNames);\n };\n\n const updateSelectByStateDropdownModel = () => {\n const hasUnselectedDisplayedImportResource = $scope.displayResources.some((resource) => !resource.selected);\n const hasSelectedDisplayedImportResource = $scope.displayResources.some((resource) => resource.selected);\n $scope.areAllDisplayedImportResourcesSelected = hasSelectedDisplayedImportResource && !hasUnselectedDisplayedImportResource;\n $scope.areAllDisplayedImportResourcesPartialSelected = hasSelectedDisplayedImportResource && hasUnselectedDisplayedImportResource;\n };\n\n const sortResources = () => {\n if (SortingType.NAME === $scope.sortedBy) {\n $scope.resources.sort(compareByName($scope.sortAsc));\n } else if (SortingType.SIZE === $scope.sortedBy) {\n $scope.resources.sort(compareBySize($scope.sortAsc));\n } else if (SortingType.MODIFIED === $scope.sortedBy) {\n $scope.resources.sort(compareByModified($scope.sortAsc));\n } else if (SortingType.IMPORTED === $scope.sortedBy) {\n $scope.resources.sort(compareByImportedOn($scope.sortAsc));\n } else if (SortingType.CONTEXT === $scope.sortedBy) {\n $scope.resources.sort(compareByContext($scope.sortAsc));\n }\n };\n\n const compareByName = (acs) => (r1, r2) => {\n return acs ? r1.importResource.name.localeCompare(r2.importResource.name) : r2.importResource.name.localeCompare(r1.importResource.name);\n };\n\n const compareBySize = (acs) => (r1, r2) => {\n // The format of size returned by the backend has changed, but we need to keep the old format for backward compatibility.\n // Therefore, we convert the size to always be in bytes.\n const r1Size = convertToBytes(r1.importResource.size);\n const r2Size = convertToBytes(r2.importResource.size);\n return acs ? r1Size - r2Size : r2Size - r1Size;\n };\n\n const compareByModified = (acs) => (r1, r2) => {\n const r1ModifiedOn = r1.importResource.modifiedOn || Number.MAX_VALUE;\n const r2ModifiedOn = r2.importResource.modifiedOn || Number.MAX_VALUE;\n return acs ? r1ModifiedOn - r2ModifiedOn : r2ModifiedOn - r1ModifiedOn;\n };\n\n const compareByImportedOn = (acs) => (r1, r2) => {\n const r1ImportedOn = r1.importResource.importedOn || Number.MAX_VALUE;\n const r2ImportedOn = r2.importResource.importedOn || Number.MAX_VALUE;\n return acs ? r1ImportedOn - r2ImportedOn : r2ImportedOn - r1ImportedOn;\n };\n\n const compareByContext = (acs) => (r1, r2) => {\n return acs ? r1.importResource.context.localeCompare(r2.importResource.context) : r2.importResource.context.localeCompare(r1.importResource.context);\n };\n\n const filterByType = (resource) => {\n if (TYPE_FILTER_OPTIONS.ALL === $scope.filterByType) {\n return true;\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.FILE) {\n return resource.isFile();\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.DIRECTORY) {\n return resource.isDirectory();\n }\n\n return false;\n };\n\n const filterByName = (resource) => {\n if (!$scope.filterByFileName) {\n return true;\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.DIRECTORY) {\n return resource.hasTextInDirectoriesName($scope.filterByFileName);\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.FILE) {\n return resource.hasTextInFilesName($scope.filterByFileName);\n }\n return resource.hasTextInResourcesName($scope.filterByFileName);\n };\n\n let debounceTimeout;\n const debounce = (func, delay) => {\n // Clear previous timeout\n if (debounceTimeout) {\n $timeout.cancel(debounceTimeout);\n }\n\n // Set new timeout\n debounceTimeout = $timeout(func, delay);\n };\n\n // =========================\n // Subscription handlers\n // =========================\n\n const onResourcesUpdatedHandler = (newResources = []) => {\n const isUserImport = TABS.USER === ImportContextService.getActiveTabId();\n if ($scope.resources.isEmpty()) {\n $scope.resources = ImportResourceTreeService.toImportResourceTree(newResources, isUserImport);\n if (isUserImport) {\n $scope.sortedBy = SortingType.MODIFIED;\n }\n } else {\n ImportResourceTreeService.mergeResourceTree($scope.resources, newResources, isUserImport);\n }\n ImportResourceTreeService.calculateElementIndent($scope.resources);\n ImportResourceTreeService.setupAfterTreeInitProperties($scope.resources);\n updateListedImportResources();\n setCanResetResourcesFlag();\n };\n\n // =========================\n // Subscriptions\n // =========================\n const subscriptions = [];\n\n subscriptions.push(ImportContextService.onResourcesUpdated(onResourcesUpdatedHandler));\n subscriptions.push(ImportContextService.onShowLoaderUpdated((showLoader) => $scope.showLoader = showLoader));\n subscriptions.push(ImportContextService.onActiveTabIdUpdated(() => $scope.resources = new ImportResourceTreeElement()));\n\n const removeAllSubscribers = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n // Deregister the watcher when the scope/directive is destroyed\n $scope.$on('$destroy', removeAllSubscribers);\n }\n };\n}\n","import {LoggerProvider} from \"../../core/services/logger-provider\";\n\nangular\n .module('graphdb.framework.impex.import.controllers.import-resource-message-dialog', [])\n .controller('ImportResourceMessageDialogController', ImportResourceMessageDialogController);\n\nImportResourceMessageDialogController.$inject = ['$scope', '$uibModalInstance', '$translate', 'toastr', 'message'];\n\nconst logger = LoggerProvider.logger;\n\nfunction ImportResourceMessageDialogController($scope, $uibModalInstance, $translate, toastr, message) {\n $scope.message = message;\n\n\n $scope.close = () => {\n $uibModalInstance.dismiss();\n };\n\n $scope.copyToClipboard = () => {\n navigator.clipboard.writeText($scope.message)\n .then(() => {\n toastr.success($translate.instant('import.help.messages.copied_to_clipboard'));\n $scope.close();\n }, (err) => {\n logger.error('Could not copy text: ', err);\n });\n };\n}\n"],"names":["importResourceStatusInfoDirective","$rootScope","$document","restrict","templateUrl","scope","resource","link","$scope","subscribers","popoverTemplate","popoverIsOpen","context","importResource","replaceGraphs","baseUrl","decodeURIComponent","baseURI","forceSerial","importedOn","parserSettings","open","closeAllDialogs","$broadcast","close","handleEscapeKeyPress","event","key","$apply","push","$on","on","off","forEach","subscriber","angular","module","directive","$inject","importResourceMessageDirective","$uibModal","ImportResourceStatus","toTitleCase","str","stringUtils","showMessage","resourceTreeElement","controller","size","windowClass","backdrop","resolve","message","validateUri","UriUtils","require","element","attr","ctrl","$parsers","unshift","value","$setValidity","$isEmpty","valid","isValidIri","toString","ImportProgressIndicator","$watch","file","status","$","has","length","append","TYPE_FILTER_OPTIONS","STATUS_OPTIONS","importResourceTreeDirective","$timeout","ImportContextService","columnKeys","showTypeFilter","sortBy","asc","onImport","onImportAll","onReset","onRemove","onStopImport","onEditResource","attrs","resources","ImportResourceTreeElement","displayResources","filterByType","ALL","filterByFileName","selectedByStatus","undefined","areAllDisplayedImportResourcesSelected","areAllDisplayedImportResourcesPartialSelected","canRemoveResource","isDefined","canResetSelectedResources","SORTING_TYPES","SortingType","sortAsc","sortedBy","showLoader","getShowLoader","hasSelection","selectionChanged","setSelection","selected","updateSelectByStateDropdownModel","setCanResetResourcesFlag","updateHasSelection","selectResourceWithStatus","resourceStatus","IMPORTED","selectAllWithStatus","DONE","NOT_IMPORTED","IMPORTING","NONE","ERROR","PENDING","INTERRUPTING","updateListedImportResources","filterByTypeChanged","newType","filterByFileNameChanged","debounce","onResetStatus","resourcesNames","getAllSelected","map","path","resetStatus","onRemoveResources","selectedResources","removeResource","importAll","withoutChangingSettings","getAllSelectedForImport","stopImport","sort","editResource","getSelectedImportedResources","getRoot","updateSelectionState","sortResources","toList","filter","filterByName","allSelectedFilesNames","getAllSelectedFilesNames","updateSelectedFilesNames","hasUnselectedDisplayedImportResource","some","hasSelectedDisplayedImportResource","NAME","compareByName","SIZE","compareBySize","MODIFIED","compareByModified","compareByImportedOn","CONTEXT","compareByContext","acs","r1","r2","name","localeCompare","r1Size","convertToBytes","r2Size","r1ModifiedOn","modifiedOn","Number","MAX_VALUE","r2ModifiedOn","r1ImportedOn","r2ImportedOn","FILE","isFile","DIRECTORY","isDirectory","hasTextInDirectoriesName","hasTextInFilesName","hasTextInResourcesName","debounceTimeout","func","delay","cancel","subscriptions","onResourcesUpdated","onResourcesUpdatedHandler","newResources","isUserImport","TABS","USER","getActiveTabId","isEmpty","ImportResourceTreeService","toImportResourceTree","mergeResourceTree","calculateElementIndent","setupAfterTreeInitProperties","onShowLoaderUpdated","onActiveTabIdUpdated","removeAllSubscribers","subscription","ImportResourceMessageDialogController","logger","LoggerProvider","$uibModalInstance","$translate","toastr","dismiss","copyToClipboard","navigator","clipboard","writeText","then","success","instant","err","error"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"67888.6a4fedd47a2764fdb04b.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-status-info.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-message.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/validate-uri.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-progress-indicator.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-tree.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/controllers/import-resource-message-dialog.controller.js"],"sourcesContent":["const modules = [];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-status-info', modules)\n .directive('importResourceStatusInfo', importResourceStatusInfoDirective);\n\nimportResourceStatusInfoDirective.$inject = ['$rootScope', '$document'];\n\nfunction importResourceStatusInfoDirective($rootScope, $document) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-status-info.html',\n scope: {\n resource: '='\n },\n link: ($scope) => {\n const subscribers = [];\n\n // =========================\n // Public variables\n // =========================\n $scope.popoverTemplate = 'resourceStatusInfoTemplate.html';\n $scope.popoverIsOpen = false;\n $scope.context = $scope.resource.importResource.context;\n $scope.replaceGraphs = $scope.resource.importResource.replaceGraphs;\n $scope.baseUrl = decodeURIComponent($scope.resource.importResource.baseURI);\n $scope.forceSerial = $scope.resource.importResource.forceSerial;\n $scope.importedOn = $scope.resource.importResource.importedOn;\n $scope.parserSettings = $scope.resource.importResource.parserSettings;\n\n // =========================\n // Public functions\n // =========================\n $scope.open = () => {\n $scope.closeAllDialogs();\n $scope.popoverIsOpen = true;\n };\n\n $scope.closeAllDialogs = () => {\n $rootScope.$broadcast('closePopovers');\n };\n\n $scope.close = () => {\n $scope.popoverIsOpen = false;\n };\n\n const handleEscapeKeyPress = (event) => {\n if (event.key === 'Escape') {\n $scope.$apply(() => {\n $scope.close();\n });\n }\n };\n\n const removeAllSubscribers = () => {\n subscribers.forEach((subscriber) => subscriber());\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n subscribers.push($scope.$on('closePopovers', $scope.close));\n $document.on('keydown', handleEscapeKeyPress);\n\n $scope.$on('$destroy', () => {\n $document.off('keydown', handleEscapeKeyPress);\n removeAllSubscribers();\n });\n }\n };\n}\n","import 'angular/import/controllers/import-resource-message-dialog.controller';\nimport {ImportResourceStatus} from \"../../models/import/import-resource-status\";\nimport * as stringUtils from \"../../utils/string-utils\";\n\nconst modules = ['graphdb.framework.impex.import.controllers.import-resource-message-dialog'];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-message', modules)\n .directive('importResourceMessage', importResourceMessageDirective);\n\nimportResourceMessageDirective.$inject = ['$uibModal'];\n\nfunction importResourceMessageDirective($uibModal) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-message.html',\n scope: {\n resource: '='\n },\n link: ($scope) => {\n $scope.ImportResourceStatus = ImportResourceStatus;\n $scope.toTitleCase = (str) => stringUtils.toTitleCase(str);\n\n /**\n *\n * @param {ImportResourceTreeElement} resourceTreeElement\n */\n $scope.showMessage = (resourceTreeElement) => {\n $uibModal.open({\n templateUrl: 'js/angular/import/templates/import-resource-message-dialog.html',\n controller: 'ImportResourceMessageDialogController',\n size: 'lg',\n windowClass: 'import-resource-message-dialog',\n backdrop: 'static',\n resolve: {\n message: function () {\n return resourceTreeElement ? resourceTreeElement.importResource.message : '';\n }\n }\n });\n }\n }\n };\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/import/controllers/import-view.controller';\nimport 'angular/import/directives/validate-uri.directive';\nimport 'angular/import/directives/import-progress-indicator.directive';\nimport 'angular/import/directives/import-resource-tree.directive';\nimport 'angular/core/services/repositories.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'toastr',\n 'ngRoute',\n 'ngFileUpload',\n 'ui.bootstrap',\n 'graphdb.framework.impex.import.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.import.directives.validate-uri',\n 'graphdb.framework.import.directives.import-progress-indicator',\n 'graphdb.framework.import.directives.import-resource-tree'\n];\n\nangular.module('graphdb.framework.impex.import', modules);\n","/**\n * This AngularJS directive validates whether an input value is a valid URI (IRI).\n *\n * @directive validateUri\n * @restrict A (Attribute)\n * @requires ngModel\n *\n * @example\n * <input type=\"text\" name=\"url\" ng-model=\"url\" validate-uri>\n */\nconst modules = [];\n\nangular\n .module('graphdb.framework.import.directives.validate-uri', modules)\n .directive('validateUri', validateUri);\n\nvalidateUri.$inject = ['UriUtils'];\n\n/**\n * @function validateUri\n * @param {UriUtils} UriUtils - Service for URI validation.\n */\nfunction validateUri(UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n ctrl.$setValidity('validateUri', true);\n if (!ctrl.$isEmpty(value)) {\n const valid = UriUtils.isValidIri(value, value.toString());\n ctrl.$setValidity('validateUri', valid);\n }\n return value;\n });\n }\n };\n}\n","const modules = [];\n\nangular\n .module('graphdb.framework.import.directives.import-progress-indicator', modules)\n .directive('ImportProgressIndicator', ImportProgressIndicator);\n\nImportProgressIndicator.$inject = [];\n\n// importDirectives.directive('filesOntoLoader',\nfunction ImportProgressIndicator() {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=3.2.0-TR3\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n}\n","import {ImportResourceStatus} from \"../../models/import/import-resource-status\";\nimport 'angular/import/directives/import-resource-message.directive';\nimport 'angular/import/directives/import-resource-status-info.directive';\nimport {SortingType} from \"../../models/import/sorting-type\";\nimport {ImportResourceTreeElement} from \"../../models/import/import-resource-tree-element\";\nimport {TABS} from \"../services/import-context.service\";\nimport {ImportResourceTreeService} from \"../services/import-resource-tree.service\";\nimport {convertToBytes} from \"../../utils/size-util\";\n\nconst TYPE_FILTER_OPTIONS = {\n 'FILE': 'FILE',\n 'DIRECTORY': 'DIRECTORY',\n 'ALL': 'ALL'\n};\n\nconst STATUS_OPTIONS = {\n 'ALL': 'ALL',\n 'NONE': 'NONE',\n 'IMPORTED': 'IMPORTED',\n 'NOT_IMPORTED': 'NOT_IMPORTED'\n};\n\nconst modules = [\n 'graphdb.framework.import.directives.import-resource-message',\n 'graphdb.framework.import.directives.import-resource-status-info'\n];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-tree', modules)\n .directive('importResourceTree', importResourceTreeDirective);\n\nimportResourceTreeDirective.$inject = ['$timeout', 'ImportContextService'];\n\nfunction importResourceTreeDirective($timeout, ImportContextService) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-tree.html',\n scope: {\n /**\n * Contains mapping of the column names to label keys. Should contain\n * keys for: name, size, imported, modified, context column names.\n */\n columnKeys: '=',\n /**\n * If the type filter buttons should be visible.\n */\n showTypeFilter: '=',\n /**\n * The default field to sort the resources by.\n */\n sortBy: '=',\n asc: '=',\n onImport: '&',\n onImportAll: '&',\n onReset: '&',\n onRemove: '&',\n onStopImport: '&',\n onEditResource: '&'\n },\n link: ($scope, element, attrs) => {\n\n // =========================\n // Public variables\n // =========================\n $scope.resources = new ImportResourceTreeElement();\n $scope.displayResources = [];\n $scope.TYPE_FILTER_OPTIONS = TYPE_FILTER_OPTIONS;\n $scope.filterByType = TYPE_FILTER_OPTIONS.ALL;\n $scope.filterByFileName = '';\n $scope.STATUS_OPTIONS = STATUS_OPTIONS;\n $scope.selectedByStatus = undefined;\n $scope.areAllDisplayedImportResourcesSelected = false;\n $scope.areAllDisplayedImportResourcesPartialSelected = false;\n $scope.ImportResourceStatus = ImportResourceStatus;\n $scope.canRemoveResource = angular.isDefined(attrs.onRemove);\n $scope.canResetSelectedResources = false;\n $scope.SORTING_TYPES = SortingType;\n $scope.sortAsc = angular.isDefined(attrs.asc) ? $scope.asc : true;\n $scope.sortedBy = $scope.sortBy;\n $scope.showLoader = ImportContextService.getShowLoader();\n $scope.hasSelection = false;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Updates the selection model when a resource is selected or unselected.\n * @param {ImportResourceTreeElement} resource The resource that was selected or unselected.\n */\n $scope.selectionChanged = ((resource) => {\n resource.setSelection(resource.selected);\n updateSelectByStateDropdownModel();\n setCanResetResourcesFlag();\n updateHasSelection();\n });\n\n $scope.selectResourceWithStatus = (resourceStatus) => {\n $scope.selectedByStatus = resourceStatus;\n $scope.resources.setSelection(false);\n\n if (STATUS_OPTIONS.ALL === $scope.selectedByStatus) {\n $scope.resources.setSelection(true);\n } else if (STATUS_OPTIONS.IMPORTED === $scope.selectedByStatus) {\n $scope.resources.selectAllWithStatus([ImportResourceStatus.DONE]);\n } else if (STATUS_OPTIONS.NOT_IMPORTED === $scope.selectedByStatus) {\n $scope.resources.selectAllWithStatus([ImportResourceStatus.IMPORTING, ImportResourceStatus.NONE, ImportResourceStatus.ERROR, ImportResourceStatus.PENDING, ImportResourceStatus.INTERRUPTING]);\n }\n\n updateListedImportResources();\n setCanResetResourcesFlag();\n };\n\n $scope.filterByTypeChanged = (newType) => {\n $scope.filterByType = newType;\n updateListedImportResources();\n };\n\n $scope.filterByFileNameChanged = (filterByFileName) => {\n $scope.filterByFileName = filterByFileName;\n debounce(updateListedImportResources, 100);\n };\n\n /**\n * Resets the status of the selected resources.\n */\n $scope.onResetStatus = () => {\n const resourcesNames = $scope.resources.getAllSelected()\n .map((resource) => resource.path);\n if (resourcesNames.length > 0) {\n $scope.onReset({resources: resourcesNames});\n }\n };\n\n /**\n * Resets the status of the given resource.\n * @param {ImportResourceTreeElement} importResource\n */\n $scope.resetStatus = (importResource) => {\n $scope.onReset({resources: [importResource.path]});\n };\n\n $scope.onRemoveResources = () => {\n const selectedResources = $scope.resources.getAllSelected();\n if (selectedResources && selectedResources.length > 0) {\n $scope.onRemove({resources: selectedResources});\n }\n };\n\n $scope.removeResource = (resource) => {\n $scope.onRemove({resources: [resource]});\n };\n\n $scope.importAll = (withoutChangingSettings) => {\n const selectedResources = $scope.resources.getAllSelectedForImport();\n if (selectedResources.length > 0) {\n $scope.onImportAll({selectedResources: selectedResources, withoutChangingSettings});\n }\n };\n\n $scope.stopImport = (importResource) => {\n $scope.onStopImport({resource: importResource});\n };\n\n /**\n * Sorts resources by provided sorting type.\n * @param {SortingType} sortedBy The sorting type to use.\n */\n $scope.sort = (sortedBy) => {\n if ($scope.sortedBy === sortedBy) {\n $scope.sortAsc = !$scope.sortAsc;\n } else {\n $scope.sortAsc = true;\n }\n $scope.sortedBy = sortedBy;\n updateListedImportResources();\n };\n\n $scope.editResource = (resource) => {\n $scope.onEditResource({resource});\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Sets the flag showing if any of the selected resources is already imported\n * and can have their states reset.\n */\n const setCanResetResourcesFlag = () => {\n $scope.canResetSelectedResources = $scope.resources.getSelectedImportedResources();\n };\n\n const updateListedImportResources = () => {\n $scope.resources.getRoot().updateSelectionState();\n sortResources();\n $scope.displayResources = $scope.resources.toList()\n .filter(filterByType)\n .filter(filterByName);\n\n updateHasSelection();\n updateSelectByStateDropdownModel();\n };\n\n const updateHasSelection = () => {\n const allSelectedFilesNames = $scope.resources.getAllSelectedFilesNames();\n $scope.hasSelection = allSelectedFilesNames.length > 0;\n ImportContextService.updateSelectedFilesNames(allSelectedFilesNames);\n };\n\n const updateSelectByStateDropdownModel = () => {\n const hasUnselectedDisplayedImportResource = $scope.displayResources.some((resource) => !resource.selected);\n const hasSelectedDisplayedImportResource = $scope.displayResources.some((resource) => resource.selected);\n $scope.areAllDisplayedImportResourcesSelected = hasSelectedDisplayedImportResource && !hasUnselectedDisplayedImportResource;\n $scope.areAllDisplayedImportResourcesPartialSelected = hasSelectedDisplayedImportResource && hasUnselectedDisplayedImportResource;\n };\n\n const sortResources = () => {\n if (SortingType.NAME === $scope.sortedBy) {\n $scope.resources.sort(compareByName($scope.sortAsc));\n } else if (SortingType.SIZE === $scope.sortedBy) {\n $scope.resources.sort(compareBySize($scope.sortAsc));\n } else if (SortingType.MODIFIED === $scope.sortedBy) {\n $scope.resources.sort(compareByModified($scope.sortAsc));\n } else if (SortingType.IMPORTED === $scope.sortedBy) {\n $scope.resources.sort(compareByImportedOn($scope.sortAsc));\n } else if (SortingType.CONTEXT === $scope.sortedBy) {\n $scope.resources.sort(compareByContext($scope.sortAsc));\n }\n };\n\n const compareByName = (acs) => (r1, r2) => {\n return acs ? r1.importResource.name.localeCompare(r2.importResource.name) : r2.importResource.name.localeCompare(r1.importResource.name);\n };\n\n const compareBySize = (acs) => (r1, r2) => {\n // The format of size returned by the backend has changed, but we need to keep the old format for backward compatibility.\n // Therefore, we convert the size to always be in bytes.\n const r1Size = convertToBytes(r1.importResource.size);\n const r2Size = convertToBytes(r2.importResource.size);\n return acs ? r1Size - r2Size : r2Size - r1Size;\n };\n\n const compareByModified = (acs) => (r1, r2) => {\n const r1ModifiedOn = r1.importResource.modifiedOn || Number.MAX_VALUE;\n const r2ModifiedOn = r2.importResource.modifiedOn || Number.MAX_VALUE;\n return acs ? r1ModifiedOn - r2ModifiedOn : r2ModifiedOn - r1ModifiedOn;\n };\n\n const compareByImportedOn = (acs) => (r1, r2) => {\n const r1ImportedOn = r1.importResource.importedOn || Number.MAX_VALUE;\n const r2ImportedOn = r2.importResource.importedOn || Number.MAX_VALUE;\n return acs ? r1ImportedOn - r2ImportedOn : r2ImportedOn - r1ImportedOn;\n };\n\n const compareByContext = (acs) => (r1, r2) => {\n return acs ? r1.importResource.context.localeCompare(r2.importResource.context) : r2.importResource.context.localeCompare(r1.importResource.context);\n };\n\n const filterByType = (resource) => {\n if (TYPE_FILTER_OPTIONS.ALL === $scope.filterByType) {\n return true;\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.FILE) {\n return resource.isFile();\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.DIRECTORY) {\n return resource.isDirectory();\n }\n\n return false;\n };\n\n const filterByName = (resource) => {\n if (!$scope.filterByFileName) {\n return true;\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.DIRECTORY) {\n return resource.hasTextInDirectoriesName($scope.filterByFileName);\n }\n\n if ($scope.filterByType === TYPE_FILTER_OPTIONS.FILE) {\n return resource.hasTextInFilesName($scope.filterByFileName);\n }\n return resource.hasTextInResourcesName($scope.filterByFileName);\n };\n\n let debounceTimeout;\n const debounce = (func, delay) => {\n // Clear previous timeout\n if (debounceTimeout) {\n $timeout.cancel(debounceTimeout);\n }\n\n // Set new timeout\n debounceTimeout = $timeout(func, delay);\n };\n\n // =========================\n // Subscription handlers\n // =========================\n\n const onResourcesUpdatedHandler = (newResources = []) => {\n const isUserImport = TABS.USER === ImportContextService.getActiveTabId();\n if ($scope.resources.isEmpty()) {\n $scope.resources = ImportResourceTreeService.toImportResourceTree(newResources, isUserImport);\n if (isUserImport) {\n $scope.sortedBy = SortingType.MODIFIED;\n }\n } else {\n ImportResourceTreeService.mergeResourceTree($scope.resources, newResources, isUserImport);\n }\n ImportResourceTreeService.calculateElementIndent($scope.resources);\n ImportResourceTreeService.setupAfterTreeInitProperties($scope.resources);\n updateListedImportResources();\n setCanResetResourcesFlag();\n };\n\n // =========================\n // Subscriptions\n // =========================\n const subscriptions = [];\n\n subscriptions.push(ImportContextService.onResourcesUpdated(onResourcesUpdatedHandler));\n subscriptions.push(ImportContextService.onShowLoaderUpdated((showLoader) => $scope.showLoader = showLoader));\n subscriptions.push(ImportContextService.onActiveTabIdUpdated(() => $scope.resources = new ImportResourceTreeElement()));\n\n const removeAllSubscribers = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n // Deregister the watcher when the scope/directive is destroyed\n $scope.$on('$destroy', removeAllSubscribers);\n }\n };\n}\n","import {LoggerProvider} from \"../../core/services/logger-provider\";\n\nangular\n .module('graphdb.framework.impex.import.controllers.import-resource-message-dialog', [])\n .controller('ImportResourceMessageDialogController', ImportResourceMessageDialogController);\n\nImportResourceMessageDialogController.$inject = ['$scope', '$uibModalInstance', '$translate', 'toastr', 'message'];\n\nconst logger = LoggerProvider.logger;\n\nfunction ImportResourceMessageDialogController($scope, $uibModalInstance, $translate, toastr, message) {\n $scope.message = message;\n\n\n $scope.close = () => {\n $uibModalInstance.dismiss();\n };\n\n $scope.copyToClipboard = () => {\n navigator.clipboard.writeText($scope.message)\n .then(() => {\n toastr.success($translate.instant('import.help.messages.copied_to_clipboard'));\n $scope.close();\n }, (err) => {\n logger.error('Could not copy text: ', err);\n });\n };\n}\n"],"names":["importResourceStatusInfoDirective","$rootScope","$document","restrict","templateUrl","scope","resource","link","$scope","subscribers","popoverTemplate","popoverIsOpen","context","importResource","replaceGraphs","baseUrl","decodeURIComponent","baseURI","forceSerial","importedOn","parserSettings","open","closeAllDialogs","$broadcast","close","handleEscapeKeyPress","event","key","$apply","push","$on","on","off","forEach","subscriber","angular","module","directive","$inject","importResourceMessageDirective","$uibModal","ImportResourceStatus","toTitleCase","str","stringUtils","showMessage","resourceTreeElement","controller","size","windowClass","backdrop","resolve","message","validateUri","UriUtils","require","element","attr","ctrl","$parsers","unshift","value","$setValidity","$isEmpty","valid","isValidIri","toString","ImportProgressIndicator","$watch","file","status","$","has","length","append","TYPE_FILTER_OPTIONS","STATUS_OPTIONS","importResourceTreeDirective","$timeout","ImportContextService","columnKeys","showTypeFilter","sortBy","asc","onImport","onImportAll","onReset","onRemove","onStopImport","onEditResource","attrs","resources","ImportResourceTreeElement","displayResources","filterByType","ALL","filterByFileName","selectedByStatus","undefined","areAllDisplayedImportResourcesSelected","areAllDisplayedImportResourcesPartialSelected","canRemoveResource","isDefined","canResetSelectedResources","SORTING_TYPES","SortingType","sortAsc","sortedBy","showLoader","getShowLoader","hasSelection","selectionChanged","setSelection","selected","updateSelectByStateDropdownModel","setCanResetResourcesFlag","updateHasSelection","selectResourceWithStatus","resourceStatus","IMPORTED","selectAllWithStatus","DONE","NOT_IMPORTED","IMPORTING","NONE","ERROR","PENDING","INTERRUPTING","updateListedImportResources","filterByTypeChanged","newType","filterByFileNameChanged","debounce","onResetStatus","resourcesNames","getAllSelected","map","path","resetStatus","onRemoveResources","selectedResources","removeResource","importAll","withoutChangingSettings","getAllSelectedForImport","stopImport","sort","editResource","getSelectedImportedResources","getRoot","updateSelectionState","sortResources","toList","filter","filterByName","allSelectedFilesNames","getAllSelectedFilesNames","updateSelectedFilesNames","hasUnselectedDisplayedImportResource","some","hasSelectedDisplayedImportResource","NAME","compareByName","SIZE","compareBySize","MODIFIED","compareByModified","compareByImportedOn","CONTEXT","compareByContext","acs","r1","r2","name","localeCompare","r1Size","convertToBytes","r2Size","r1ModifiedOn","modifiedOn","Number","MAX_VALUE","r2ModifiedOn","r1ImportedOn","r2ImportedOn","FILE","isFile","DIRECTORY","isDirectory","hasTextInDirectoriesName","hasTextInFilesName","hasTextInResourcesName","debounceTimeout","func","delay","cancel","subscriptions","onResourcesUpdated","onResourcesUpdatedHandler","newResources","isUserImport","TABS","USER","getActiveTabId","isEmpty","ImportResourceTreeService","toImportResourceTree","mergeResourceTree","calculateElementIndent","setupAfterTreeInitProperties","onShowLoaderUpdated","onActiveTabIdUpdated","removeAllSubscribers","subscription","ImportResourceMessageDialogController","logger","LoggerProvider","$uibModalInstance","$translate","toastr","dismiss","copyToClipboard","navigator","clipboard","writeText","then","success","instant","err","error"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=71920;export const __webpack_ids__=[49539,71920];export const __webpack_modules__={71920:(e,E,t)=>{t.r(E),t.d(E,{TTYGEventName:()=>_});var n=t(98980);function a(e){let E,t,a,C,A,T={},o=!1;const c=()=>(0,n.cloneDeep)(E),d=()=>(0,n.cloneDeep)(t),S=e=>{t=(0,n.cloneDeep)(e),N(_.CHAT_LIST_UPDATED,d())},i=e=>{t.appendChat(e),S(t)},D=()=>(0,n.cloneDeep)(a),l=e=>{a&&a.id===e.id||(a=(0,n.cloneDeep)(e),N(_.SELECT_CHAT,D()))},s=()=>(0,n.cloneDeep)(C),p=()=>(0,n.cloneDeep)(T),g=e=>!!T[e],L=()=>o,N=(E,t)=>{e.emitSync(E,(0,n.cloneDeep)(t))},U=(E,t)=>e.subscribeSync(E,e=>t(e));return{resetContext:()=>{E=void 0,t=void 0,a=void 0,C=void 0,T={},A=void 0,o=!1},emit:N,subscribe:U,getChats:d,updateChats:S,addChat:i,replaceChat:(e,E)=>{t.replaceChat(e,E),S(t)},createChat:e=>{i(e),l(e),N(_.CREATE_CHAT_SUCCESSFUL,e)},onChatsListChanged:e=>(t&&angular.isFunction(e)&&e(d()),U(_.CHAT_LIST_UPDATED,E=>e(E))),getSelectedChat:D,selectChat:l,deselectChat:()=>{a=void 0,N(_.SELECT_CHAT,D())},deleteChat:e=>{t.deleteChat(e),S(t)},onSelectedChatChanged:e=>(angular.isFunction(e)&&e(D()),U(_.SELECT_CHAT,E=>e(E))),updateSelectedChat:e=>{a&&a.id&&e&&a.id!==e.id||(a=(0,n.cloneDeep)(e),N(_.SELECTED_CHAT_UPDATED,D()))},onSelectedChatUpdated:e=>(a&&angular.isFunction(e)&&e(D()),U(_.SELECTED_CHAT_UPDATED,E=>e(E))),onLastMessageReceived:e=>(a&&angular.isFunction(e)&&e(D()),U(_.LAST_MESSAGE_RECEIVED,E=>e(E))),updateAgents:e=>{E=(0,n.cloneDeep)(e),N(_.AGENT_LIST_UPDATED,c())},onAgentsListChanged:e=>(E&&angular.isFunction(e)&&e(c()),U(_.AGENT_LIST_UPDATED,E=>e(E))),getAgents:c,getAgent:e=>{if(E)return(0,n.cloneDeep)(E.getAgent(e))},selectAgent:e=>{C=(0,n.cloneDeep)(e),N(_.AGENT_SELECTED,s())},getSelectedAgent:s,onSelectedAgentChanged:e=>(C&&angular.isFunction(e)&&e(s()),U(_.AGENT_SELECTED,E=>e(E))),getDefaultAgent:()=>(0,n.cloneDeep)(A),setDefaultAgent:e=>{A=e},setCanModifyAgent:e=>{o=(0,n.cloneDeep)(e),N(_.CAN_MODIFY_AGENT_UPDATED,L())},getCanModifyAgent:L,onCanUpdateAgentUpdated:e=>(angular.isFunction(e)&&e(L()),U(_.CAN_MODIFY_AGENT_UPDATED,E=>e(E))),hasExplainResponse:g,toggleExplainResponse:e=>{g(e)&&(T[e].expanded=!T[e].expanded,N(_.EXPLAIN_RESPONSE_CACHE_UPDATED,p()))},getExplainResponse:e=>(0,n.cloneDeep)(T[e]),addExplainResponseCache:e=>{T[e.answerId]=(0,n.cloneDeep)(e),N(_.EXPLAIN_RESPONSE_CACHE_UPDATED,p())},onExplainResponseCacheUpdated:e=>(angular.isFunction(e)&&e(p()),U(_.EXPLAIN_RESPONSE_CACHE_UPDATED,E=>e(E)))}}angular.module("graphdb.framework.ttyg.services.ttygcontext",[]).factory("TTYGContextService",a),a.$inject=["EventEmitterService","TTYGService"];const _={CREATE_CHAT:"createChat",CREATE_CHAT_SUCCESSFUL:"chatCreated",CREATE_CHAT_FAILURE:"chatCreationFailed",RENAME_CHAT:"renameChat",RENAME_CHAT_SUCCESSFUL:"chatRenamed",RENAME_CHAT_FAILURE:"chatRenamedFailure",SELECT_CHAT:"selectChat",SELECTED_CHAT_UPDATED:"selectChatUpdated",LAST_MESSAGE_RECEIVED:"lastMessageReceived",DELETING_CHAT:"deletingChat",DELETE_CHAT:"deleteChat",DELETE_CHAT_SUCCESSFUL:"chatDeleted",DELETE_CHAT_FAILURE:"chatDeletedFailure",CHAT_EXPORT:"chatExport",CHAT_EXPORT_SUCCESSFUL:"chatExportSuccess",CHAT_EXPORT_FAILURE:"chatExportFailure",CHAT_LIST_UPDATED:"chatListUpdated",ASK_QUESTION:"askQuestion",ASK_QUESTION_FAILURE:"askQuestionFailure",CONTINUE_CHAT_RUN:"continueChatRun",CANCEL_PENDING_QUESTION:"cancelPendingQuestion",PENDING_QUESTION_CANCELED_SUCCESSFUL:"pendingQuestionCanceledSuccessful",CANCEL_PENDING_QUESTION_FAILURE:"cancelPendingQuestionFailed",ASK_QUESTION_STARTING:"askQuestionStarting",LOAD_CHATS:"loadChats",LOAD_CHAT_SUCCESSFUL:"loadChatSuccess",LOAD_CHAT_FAILURE:"loadChatFailure",AGENT_LIST_UPDATED:"agentListUpdated",OPEN_AGENT_SETTINGS:"openAgentSettings",EDIT_AGENT:"editAgent",CLONE_AGENT:"cloneAgent",DELETE_AGENT:"deleteAgent",AGENT_DELETED:"agentDeleted",DELETING_AGENT:"deletingAgent",AGENT_SELECTED:"agentSelected",GO_TO_CREATE_SIMILARITY_VIEW:"goToCreateSimilarityView",GO_TO_CONNECTORS_VIEW:"goToConnectorsView",GO_TO_AUTOCOMPLETE_INDEX_VIEW:"goToAutocompleteIndexView",EXPLAIN_RESPONSE:"explainResponse",EXPLAIN_RESPONSE_CACHE_UPDATED:"explainResponseCacheUpdated",GO_TO_SPARQL_EDITOR:"openQueryInSparqlEditor",CAN_MODIFY_AGENT_UPDATED:"canModifyAgentUpdated"}}};
|
|
2
|
+
//# sourceMappingURL=71920.c171884910616d02e2c6.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"71920.c171884910616d02e2c6.bundle.js","mappings":"kLAQA,SAASA,EAAmBC,GAOxB,IAAIC,EAOAC,EAOAC,EAOAC,EAeAC,EAPAC,EAAgB,CAAC,EASjBC,GAAkB,EAEtB,MAwBMC,EAAYA,KACPC,EAAAA,EAAAA,WAAUR,GAYfS,EAAWA,KACND,EAAAA,EAAAA,WAAUP,GAMfS,EAAeC,IACjBV,GAASO,EAAAA,EAAAA,WAAUG,GACnBC,EAAKC,EAAcC,kBAAmBL,MAYpCM,EAAWC,IACbf,EAAOgB,WAAWD,GAClBN,EAAYT,IA6BViB,EAAkBA,KACbV,EAAAA,EAAAA,WAAUN,GASfiB,EAAcC,IACXlB,GAAiBA,EAAcmB,KAAOD,EAAaC,KACpDnB,GAAgBM,EAAAA,EAAAA,WAAUY,GAC1BR,EAAKC,EAAcS,YAAaJ,OAuFlCK,EAAmBA,KACdf,EAAAA,EAAAA,WAAUL,GAcfqB,EAA2BA,KACtBhB,EAAAA,EAAAA,WAAUH,GAsBfoB,EAAsBC,KACfrB,EAAcqB,GA8CrBC,EAAoBA,IACfrB,EAsBLM,EAAOA,CAACgB,EAAeC,KACzB9B,EAAoB+B,SAASF,GAAepB,EAAAA,EAAAA,WAAUqB,KAUpDE,EAAYA,CAACH,EAAeI,IACvBjC,EAAoBkC,cAAcL,EAAgBC,GAAYG,EAASH,IAGlF,MAAO,CACHK,aAzTiBA,KACjBlC,OAAUmC,EACVlC,OAASkC,EACTjC,OAAgBiC,EAChBhC,OAAiBgC,EACjB9B,EAAgB,CAAC,EACjBD,OAAgB+B,EAChB7B,GAAkB,GAmTlBM,OACAmB,YAEAtB,WACAC,cACAK,UACAqB,YAjQgBA,CAACpB,EAASqB,KAC1BpC,EAAOmC,YAAYpB,EAASqB,GAC5B3B,EAAYT,IAgQZqC,WA7PgBtB,IAChBD,EAAQC,GACRG,EAAWH,GACXJ,EAAKC,EAAc0B,uBAAwBvB,IA2P3CwB,mBAnPwBR,IACpB/B,GAAUwC,QAAQC,WAAWV,IAC7BA,EAASvB,KAENsB,EAAUlB,EAAcC,kBAAoBH,GAAUqB,EAASrB,KAgPtEO,kBACAC,aACAwB,aA3NiBA,KACjBzC,OAAgBiC,EAChBvB,EAAKC,EAAcS,YAAaJ,MA0NhC0B,WAjRgBC,IAChB5C,EAAO2C,WAAWC,GAClBnC,EAAYT,IAgRZ6C,sBAlN2Bd,IACvBS,QAAQC,WAAWV,IACnBA,EAASd,KAENa,EAAUlB,EAAcS,YAAcF,GAAiBY,EAASZ,KA+MvE2B,mBAlMwBF,IACnB3C,GAAkBA,EAAcmB,IAAOwB,GAAQ3C,EAAcmB,KAAOwB,EAAKxB,KAC1EnB,GAAgBM,EAAAA,EAAAA,WAAUqC,GAC1BjC,EAAKC,EAAcmC,sBAAuB9B,OAgM9C+B,sBAvL2BjB,IACvB9B,GAAiBuC,QAAQC,WAAWV,IACpCA,EAASd,KAENa,EAAUlB,EAAcmC,sBAAwB5B,GAAiBY,EAASZ,KAoLjF8B,sBA5K2BlB,IACvB9B,GAAiBuC,QAAQC,WAAWV,IACpCA,EAASd,KAENa,EAAUlB,EAAcsC,sBAAwB/B,GAAiBY,EAASZ,KA0KjFgC,aApKkBC,IAClBrD,GAAUQ,EAAAA,EAAAA,WAAU6C,GACpBzC,EAAKC,EAAcyC,mBAAoB/C,MAmKvCgD,oBA1JyBvB,IACrBhC,GAAWyC,QAAQC,WAAWV,IAC9BA,EAASzB,KAENwB,EAAUlB,EAAcyC,mBAAqBlC,GAAiBY,EAASZ,KAuJ9Eb,YACAiD,SAnTcC,IACd,GAAIzD,EACA,OAAOQ,EAAAA,EAAAA,WAAUR,EAAQwD,SAASC,KAkTtCC,YAzIiBC,IACjBxD,GAAiBK,EAAAA,EAAAA,WAAUmD,GAC3B/C,EAAKC,EAAc+C,eAAgBrC,MAwInCA,mBACAsC,uBAjF4B7B,IACxB7B,GAAkBsC,QAAQC,WAAWV,IACrCA,EAAST,KAENQ,EAAUlB,EAAc+C,eAAiBxC,GAAiBY,EAASZ,KA8E1E0C,gBAtUoBA,KACbtD,EAAAA,EAAAA,WAAUJ,GAsUjB2D,gBAnUqBC,IACrB5D,EAAgB4D,GAmUhBC,kBAxEuBC,IACvB5D,GAAkBE,EAAAA,EAAAA,WAAU0D,GAC5BtD,EAAKC,EAAcsD,yBAA0BxC,MAuE7CA,oBACAyC,wBA3D6BpC,IACzBS,QAAQC,WAAWV,IACnBA,EAASL,KAENI,EAAUlB,EAAcsD,yBAA2BD,GAAmBlC,EAASkC,KAyDtFzC,qBACA4C,sBAnH2B3C,IACvBD,EAAmBC,KACnBrB,EAAcqB,GAAU4C,UAAYjE,EAAcqB,GAAU4C,SAC5D1D,EAAKC,EAAc0D,+BAAgC/C,OAiHvDgD,mBAtIwB9C,IACjBlB,EAAAA,EAAAA,WAAUH,EAAcqB,IAsI/B+C,wBA9H6BC,IAC7BrE,EAAcqE,EAAgBhD,WAAYlB,EAAAA,EAAAA,WAAUkE,GACpD9D,EAAKC,EAAc0D,+BAAgC/C,MA6HnDmD,8BAzGmC3C,IAC/BS,QAAQC,WAAWV,IACnBA,EAASR,KAENO,EAAUlB,EAAc0D,+BAAiCK,GAAqB5C,EAAS4C,KAuGtG,CApZAnC,QACKoC,OAAO,8CAA+C,IACtDC,QAAQ,qBAAsBhF,GAEnCA,EAAmBiF,QAAU,CAAC,sBAAuB,eAkZ9C,MAAMlE,EAAgB,CAIzBmE,YAAa,aAKbzC,uBAAwB,cAKxB0C,oBAAqB,qBAErBC,YAAa,aACbC,uBAAwB,cACxBC,oBAAqB,qBAKrB9D,YAAa,aAKb0B,sBAAuB,oBAKvBG,sBAAuB,sBAMvBkC,cAAe,eAKfC,YAAa,aAKbC,uBAAwB,cASxBC,oBAAqB,qBAErBC,YAAa,aACbC,uBAAwB,oBACxBC,oBAAqB,oBACrB7E,kBAAmB,kBAKnB8E,aAAc,cAKdC,qBAAsB,qBAKtBC,kBAAmB,kBAKnBC,wBAAyB,wBAKzBC,qCAAsC,oCAKtCC,gCAAiC,8BAKjCC,sBAAuB,sBAKvBC,WAAY,YACZC,qBAAsB,kBACtBC,kBAAmB,kBAEnB/C,mBAAoB,mBAMpBgD,oBAAqB,oBAKrBC,WAAY,YAKZC,YAAa,aAKbC,aAAc,cAKdC,cAAe,eAMfC,eAAgB,gBAKhB/C,eAAgB,gBAKhBgD,6BAA8B,2BAK9BC,sBAAuB,qBAKvBC,8BAA+B,4BAK/BC,iBAAkB,kBAKlBxC,+BAAgC,8BAKhCyC,oBAAqB,0BAErB7C,yBAA0B,wB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/services/ttyg-context.service.js"],"sourcesContent":["import {cloneDeep} from 'lodash';\n\nangular\n .module('graphdb.framework.ttyg.services.ttygcontext', [])\n .factory('TTYGContextService', TTYGContextService);\n\nTTYGContextService.$inject = ['EventEmitterService', 'TTYGService'];\n\nfunction TTYGContextService(EventEmitterService) {\n\n /**\n * The list of agents.\n * @type {AgentListModel}\n * @private\n */\n let _agents = undefined;\n\n /**\n * The ChatsListModel.\n * @type {ChatsListModel}\n * @private\n */\n let _chats = undefined;\n\n /**\n * The currently selected in the UI chat which is used for conversation.\n * @type {ChatModel|undefined}\n * @private\n */\n let _selectedChat = undefined;\n\n /**\n * The currently selected in the UI agent which is used for conversation.\n * @type {AgentModel|undefined}\n * @private\n */\n let _selectedAgent = undefined;\n\n /**\n * Stores information about loaded explain responses.\n * The key is the answer ID, and the value is an instance of {@see ExplainResponseModel} that holds the explanation message.\n *\n * @type {{[key: string]: ExplainResponseModel}}\n */\n let _explainCache = {};\n\n /**\n * The default agent values.\n * @type {AgentModel|undefined}\n * @private\n */\n let _defaultAgent = undefined;\n\n let _canModifyAgent = false;\n\n const resetContext = () => {\n _agents = undefined;\n _chats = undefined;\n _selectedChat = undefined;\n _selectedAgent = undefined;\n _explainCache = {};\n _defaultAgent = undefined;\n _canModifyAgent = false;\n };\n\n /**\n * @return {Promise<AgentModel>}\n */\n const getDefaultAgent = () => {\n return cloneDeep(_defaultAgent);\n };\n\n const setDefaultAgent = (agent) => {\n _defaultAgent = agent;\n };\n\n /**\n * @return {AgentListModel}\n */\n const getAgents = () => {\n return cloneDeep(_agents);\n };\n\n const getAgent = (agentId) => {\n if (_agents) {\n return cloneDeep(_agents.getAgent(agentId));\n }\n };\n\n /**\n * @return {ChatsListModel}\n */\n const getChats = () => {\n return cloneDeep(_chats);\n };\n\n /**\n * @param {ChatsListModel} chats\n */\n const updateChats = (chats) => {\n _chats = cloneDeep(chats);\n emit(TTYGEventName.CHAT_LIST_UPDATED, getChats());\n };\n\n /**\n * Deletes the chat with the provided <code>chatId</code>.\n * @param {ChatModel} chat\n */\n const deleteChat = (chat) => {\n _chats.deleteChat(chat);\n updateChats(_chats);\n };\n\n const addChat = (newChat) => {\n _chats.appendChat(newChat);\n updateChats(_chats);\n };\n\n const replaceChat = (newChat, oldChat) => {\n _chats.replaceChat(newChat, oldChat);\n updateChats(_chats);\n };\n\n const createChat = (newChat) => {\n addChat(newChat);\n selectChat(newChat);\n emit(TTYGEventName.CREATE_CHAT_SUCCESSFUL, newChat);\n }\n\n /** Subscribes to the 'chatListUpdated' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onChatsListChanged = (callback) => {\n if (_chats && angular.isFunction(callback)) {\n callback(getChats());\n }\n return subscribe(TTYGEventName.CHAT_LIST_UPDATED, (chats) => callback(chats));\n };\n\n /**\n * @return {ChatModel}\n */\n const getSelectedChat = () => {\n return cloneDeep(_selectedChat);\n };\n\n /**\n * Updates the selected chat with the provided <code>selectedChat</code> and emits the 'selectChat' event\n * to notify listeners that a new chat has been selected.\n *\n * @param {ChatModel} selectedChat - The chat object to select.\n */\n const selectChat = (selectedChat) => {\n if (!_selectedChat || _selectedChat.id !== selectedChat.id) {\n _selectedChat = cloneDeep(selectedChat);\n emit(TTYGEventName.SELECT_CHAT, getSelectedChat());\n }\n };\n\n const deselectChat = () => {\n _selectedChat = undefined;\n emit(TTYGEventName.SELECT_CHAT, getSelectedChat());\n };\n\n /**\n * Subscribes to the 'selectChat' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onSelectedChatChanged = (callback) => {\n if (angular.isFunction(callback)) {\n callback(getSelectedChat());\n }\n return subscribe(TTYGEventName.SELECT_CHAT, (selectedChat) => callback(selectedChat));\n };\n\n /**\n * Updates the selected chat and emits the 'selectChatUpdated' event to notify listeners that a property\n * of the selected chat has changed.\n *\n * If the ID of the passed chat differs from the current selected chat, no action will occur.\n *\n * The selected chat can be updated through {@link TTYGContextService#selectChat}.\n *\n * @param {ChatModel} chat - The chat object that is being updated.\n */\n const updateSelectedChat = (chat) => {\n if (!_selectedChat || !_selectedChat.id || !chat || _selectedChat.id === chat.id) {\n _selectedChat = cloneDeep(chat);\n emit(TTYGEventName.SELECTED_CHAT_UPDATED, getSelectedChat());\n }\n };\n\n /** Subscribes to the 'selectChat' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onSelectedChatUpdated = (callback) => {\n if (_selectedChat && angular.isFunction(callback)) {\n callback(getSelectedChat());\n }\n return subscribe(TTYGEventName.SELECTED_CHAT_UPDATED, (selectedChat) => callback(selectedChat));\n };\n\n /** Subscribes to the 'lastMessageReceived' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onLastMessageReceived = (callback) => {\n if (_selectedChat && angular.isFunction(callback)) {\n callback(getSelectedChat());\n }\n return subscribe(TTYGEventName.LAST_MESSAGE_RECEIVED, (selectedChat) => callback(selectedChat));\n };\n\n /**\n * @param {AgentListModel} agents\n */\n const updateAgents = (agents) => {\n _agents = cloneDeep(agents);\n emit(TTYGEventName.AGENT_LIST_UPDATED, getAgents());\n };\n\n /**\n * Subscribes to the 'agentListUpdated' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onAgentsListChanged = (callback) => {\n if (_agents && angular.isFunction(callback)) {\n callback(getAgents());\n }\n return subscribe(TTYGEventName.AGENT_LIST_UPDATED, (selectedChat) => callback(selectedChat));\n };\n\n /**\n * @return {AgentModel}\n */\n const getSelectedAgent = () => {\n return cloneDeep(_selectedAgent);\n };\n\n /**\n * Updates the selected agent with the provided <code>selectedAgent</code> and emits the 'agentSelected' event\n * to notify listeners that a new agent has been selected.\n *\n * @param {AgentModel} selectedAgent - The instance of selected agent.\n */\n const selectAgent = (selectedAgent) => {\n _selectedAgent = cloneDeep(selectedAgent);\n emit(TTYGEventName.AGENT_SELECTED, getSelectedAgent());\n };\n\n const _getExplainResponseCache = () => {\n return cloneDeep(_explainCache);\n };\n\n /**\n * Gets the explain response.\n * @param {string} answerId\n * @return {ExplainResponseModel}\n */\n const getExplainResponse = (answerId) => {\n return cloneDeep(_explainCache[answerId]);\n };\n\n /**\n * Adds the <code>explainResponse</code> into the explain response cache.\n *\n * @param {ExplainResponseModel} explainResponse\n */\n const addExplainResponseCache = (explainResponse) => {\n _explainCache[explainResponse.answerId] = cloneDeep(explainResponse);\n emit(TTYGEventName.EXPLAIN_RESPONSE_CACHE_UPDATED, _getExplainResponseCache());\n };\n\n const hasExplainResponse = (answerId) => {\n return !!_explainCache[answerId];\n };\n\n const toggleExplainResponse = (answerId) => {\n if (hasExplainResponse(answerId)) {\n _explainCache[answerId].expanded = !_explainCache[answerId].expanded;\n emit(TTYGEventName.EXPLAIN_RESPONSE_CACHE_UPDATED, _getExplainResponseCache());\n }\n };\n\n /**\n * Subscribes to the 'explainResponseCacheUpdated' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onExplainResponseCacheUpdated = (callback) => {\n if (angular.isFunction(callback)) {\n callback(_getExplainResponseCache());\n }\n return subscribe(TTYGEventName.EXPLAIN_RESPONSE_CACHE_UPDATED, (explainResponses) => callback(explainResponses));\n };\n\n /**\n * Subscribes to the 'agentSelected' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onSelectedAgentChanged = (callback) => {\n if (_selectedAgent && angular.isFunction(callback)) {\n callback(getSelectedAgent());\n }\n return subscribe(TTYGEventName.AGENT_SELECTED, (selectedChat) => callback(selectedChat));\n };\n\n /**\n * Updates the \"canModifyAgent\" flag and emits the 'canModifyAgentUpdated' event to notify listeners that the canModifyAgent flag is changed.\n *\n * @param {boolean} canModifyAgent\n */\n const setCanModifyAgent = (canModifyAgent) => {\n _canModifyAgent = cloneDeep(canModifyAgent);\n emit(TTYGEventName.CAN_MODIFY_AGENT_UPDATED, getCanModifyAgent());\n };\n\n const getCanModifyAgent = () => {\n return _canModifyAgent;\n };\n\n /**\n * Subscribes to the 'canModifyAgentUpdated' event.\n * @param {function} callback - The callback to be called when the event is fired.\n *\n * @return {function} unsubscribe function.\n */\n const onCanUpdateAgentUpdated = (callback) => {\n if (angular.isFunction(callback)) {\n callback(getCanModifyAgent());\n }\n return subscribe(TTYGEventName.CAN_MODIFY_AGENT_UPDATED, (canModifyAgent) => callback(canModifyAgent));\n };\n\n /**\n * Emits an event with a deep-cloned payload using the EventEmitterService.\n *\n * @param {string} tTYGEventName - The name of the event to emit. It must be a value from {@link TTYGEventName}.\n * @param {*} payload - The data to emit with the event. The payload is deep-cloned before emission.\n */\n const emit = (tTYGEventName, payload) => {\n EventEmitterService.emitSync(tTYGEventName, cloneDeep(payload));\n };\n\n /**\n * Subscribes to an event with the specified callback using the EventEmitterService.\n *\n * @param {string} tTYGEventName - The name of the event to subscribe to. It must be a value from {@link TTYGEventName}.\n * @param {function} callback - The function to call when the event is emitted.\n * @return {function} - Returns a function that can be called to unsubscribe from the event.\n */\n const subscribe = (tTYGEventName, callback) => {\n return EventEmitterService.subscribeSync(tTYGEventName, (payload) => callback(payload));\n };\n\n return {\n resetContext,\n emit,\n subscribe,\n // chats\n getChats,\n updateChats,\n addChat,\n replaceChat,\n createChat,\n onChatsListChanged,\n getSelectedChat,\n selectChat,\n deselectChat,\n deleteChat,\n onSelectedChatChanged,\n updateSelectedChat,\n onSelectedChatUpdated,\n onLastMessageReceived,\n // agents\n updateAgents,\n onAgentsListChanged,\n getAgents,\n getAgent,\n selectAgent,\n getSelectedAgent,\n onSelectedAgentChanged,\n getDefaultAgent,\n setDefaultAgent,\n setCanModifyAgent,\n getCanModifyAgent,\n onCanUpdateAgentUpdated,\n // chat explain\n hasExplainResponse,\n toggleExplainResponse,\n getExplainResponse,\n addExplainResponseCache,\n onExplainResponseCacheUpdated\n };\n}\n\nexport const TTYGEventName = {\n /**\n * Emitting the \"createChat\" event triggers a backend request to create a new chat.\n */\n CREATE_CHAT: 'createChat',\n\n /**\n * This event is emitted when a chat is successfully created.\n */\n CREATE_CHAT_SUCCESSFUL: 'chatCreated',\n\n /**\n * This event is emitted when the creation of a chat fails.\n */\n CREATE_CHAT_FAILURE: 'chatCreationFailed',\n\n RENAME_CHAT: 'renameChat',\n RENAME_CHAT_SUCCESSFUL: 'chatRenamed',\n RENAME_CHAT_FAILURE: 'chatRenamedFailure',\n\n /**\n * Emitting the \"selectChat\" event when the selected chat has been changed.\n */\n SELECT_CHAT: 'selectChat',\n\n /**\n * Emitting the \"selectChatUpdated\" event when the selected chat has been updated.\n */\n SELECTED_CHAT_UPDATED: 'selectChatUpdated',\n\n /**\n * Emitting the \"lastMessageReceived\" event when the final answer message has been received.\n */\n LAST_MESSAGE_RECEIVED: 'lastMessageReceived',\n\n /**\n * This event will be emitted when the chat delete request is in progress. The payload will contain the chat ID\n * and a boolean indicating if the deletion is in progress.\n */\n DELETING_CHAT: 'deletingChat',\n\n /**\n * This event will be emitted when the delete chat process is triggered but before the chat delete request is sent.\n */\n DELETE_CHAT: 'deleteChat',\n\n /**\n * This event will be emitted when the chat was successfully deleted.\n */\n DELETE_CHAT_SUCCESSFUL: 'chatDeleted',\n\n /**\n * This event will be emitted when the attempt to answer the question fails.\n */\n\n /**\n * This event is emitted when the deletion of a chat fails.\n */\n DELETE_CHAT_FAILURE: 'chatDeletedFailure',\n\n CHAT_EXPORT: 'chatExport',\n CHAT_EXPORT_SUCCESSFUL: 'chatExportSuccess',\n CHAT_EXPORT_FAILURE: 'chatExportFailure',\n CHAT_LIST_UPDATED: 'chatListUpdated',\n\n /**\n * Emitting the \"askQuestion\" event triggers a request to the backend to retrieve an answer to a question.\n */\n ASK_QUESTION: 'askQuestion',\n\n /**\n * This event will be emitted when the attempt to answer the question fails.\n */\n ASK_QUESTION_FAILURE: 'askQuestionFailure',\n\n /**\n * Emitting the \"continueChatRun\" event triggers a request to the backend to retrieve more remaining answers from the same chat run.\n */\n CONTINUE_CHAT_RUN: 'continueChatRun',\n\n /**\n * Emitting the \"cancelPendingQuestion\" event triggers the cancellation of a pending question in a chat.\n */\n CANCEL_PENDING_QUESTION: \"cancelPendingQuestion\",\n\n /**\n * This event is emitted when the cancellation of the pending question succeeds.\n */\n PENDING_QUESTION_CANCELED_SUCCESSFUL: \"pendingQuestionCanceledSuccessful\",\n\n /**\n * This event is emitted when the cancellation of the pending question fails.\n */\n CANCEL_PENDING_QUESTION_FAILURE: \"cancelPendingQuestionFailed\",\n\n /**\n * This event will be fired before a question is sent to BE for processing.\n */\n ASK_QUESTION_STARTING: \"askQuestionStarting\",\n\n /**\n * Emitting the \"loadChats\" event will trigger an action to loads all chats from backend server.\n */\n LOAD_CHATS: 'loadChats',\n LOAD_CHAT_SUCCESSFUL: 'loadChatSuccess',\n LOAD_CHAT_FAILURE: 'loadChatFailure',\n\n AGENT_LIST_UPDATED: 'agentListUpdated',\n\n /**\n * This event will be emitted when the create agent process is triggered through the UI but before the agent create\n * request is sent. This is used to open the agent settings dialog.\n */\n OPEN_AGENT_SETTINGS: 'openAgentSettings',\n\n /**\n * This event will be emitted when an agent needs to be edited.\n */\n EDIT_AGENT: 'editAgent',\n\n /**\n * This event will be emitted when an agent needs to be cloned.\n */\n CLONE_AGENT: 'cloneAgent',\n\n /**\n * This event will be emitted when the delete agent process is triggered but before the agent delete request is sent.\n */\n DELETE_AGENT: 'deleteAgent',\n\n /**\n * This event will be emitted when the agent was successfully deleted.\n */\n AGENT_DELETED: 'agentDeleted',\n\n /**\n * This event will be emitted when the agent delete request is in progress. The payload will contain the agent ID\n * and a boolean indicating if the deletion is in progress.\n */\n DELETING_AGENT: 'deletingAgent',\n\n /**\n * This event will be emitted when an agent is selected by the user through the UI.\n */\n AGENT_SELECTED: 'agentSelected',\n\n /**\n * This event will trigger the opening of the similarity view.\n */\n GO_TO_CREATE_SIMILARITY_VIEW: \"goToCreateSimilarityView\",\n\n /**\n * This event will trigger the opening of the connectors view.\n */\n GO_TO_CONNECTORS_VIEW: \"goToConnectorsView\",\n\n /**\n * This event will trigger the opening of the \"Autocomplete index\" view.\n */\n GO_TO_AUTOCOMPLETE_INDEX_VIEW: \"goToAutocompleteIndexView\",\n\n /**\n * This event will trigger fetching a new explanation of how the answer was generated.\n */\n EXPLAIN_RESPONSE: \"explainResponse\",\n\n /**\n * This event will be emitted when the cache with explain responses changed.\n */\n EXPLAIN_RESPONSE_CACHE_UPDATED: \"explainResponseCacheUpdated\",\n\n /**\n * This event will trigger the opening of the sparql view.\n */\n GO_TO_SPARQL_EDITOR: \"openQueryInSparqlEditor\",\n\n CAN_MODIFY_AGENT_UPDATED: \"canModifyAgentUpdated\",\n};\n"],"names":["TTYGContextService","EventEmitterService","_agents","_chats","_selectedChat","_selectedAgent","_defaultAgent","_explainCache","_canModifyAgent","getAgents","cloneDeep","getChats","updateChats","chats","emit","TTYGEventName","CHAT_LIST_UPDATED","addChat","newChat","appendChat","getSelectedChat","selectChat","selectedChat","id","SELECT_CHAT","getSelectedAgent","_getExplainResponseCache","hasExplainResponse","answerId","getCanModifyAgent","tTYGEventName","payload","emitSync","subscribe","callback","subscribeSync","resetContext","undefined","replaceChat","oldChat","createChat","CREATE_CHAT_SUCCESSFUL","onChatsListChanged","angular","isFunction","deselectChat","deleteChat","chat","onSelectedChatChanged","updateSelectedChat","SELECTED_CHAT_UPDATED","onSelectedChatUpdated","onLastMessageReceived","LAST_MESSAGE_RECEIVED","updateAgents","agents","AGENT_LIST_UPDATED","onAgentsListChanged","getAgent","agentId","selectAgent","selectedAgent","AGENT_SELECTED","onSelectedAgentChanged","getDefaultAgent","setDefaultAgent","agent","setCanModifyAgent","canModifyAgent","CAN_MODIFY_AGENT_UPDATED","onCanUpdateAgentUpdated","toggleExplainResponse","expanded","EXPLAIN_RESPONSE_CACHE_UPDATED","getExplainResponse","addExplainResponseCache","explainResponse","onExplainResponseCacheUpdated","explainResponses","module","factory","$inject","CREATE_CHAT","CREATE_CHAT_FAILURE","RENAME_CHAT","RENAME_CHAT_SUCCESSFUL","RENAME_CHAT_FAILURE","DELETING_CHAT","DELETE_CHAT","DELETE_CHAT_SUCCESSFUL","DELETE_CHAT_FAILURE","CHAT_EXPORT","CHAT_EXPORT_SUCCESSFUL","CHAT_EXPORT_FAILURE","ASK_QUESTION","ASK_QUESTION_FAILURE","CONTINUE_CHAT_RUN","CANCEL_PENDING_QUESTION","PENDING_QUESTION_CANCELED_SUCCESSFUL","CANCEL_PENDING_QUESTION_FAILURE","ASK_QUESTION_STARTING","LOAD_CHATS","LOAD_CHAT_SUCCESSFUL","LOAD_CHAT_FAILURE","OPEN_AGENT_SETTINGS","EDIT_AGENT","CLONE_AGENT","DELETE_AGENT","AGENT_DELETED","DELETING_AGENT","GO_TO_CREATE_SIMILARITY_VIEW","GO_TO_CONNECTORS_VIEW","GO_TO_AUTOCOMPLETE_INDEX_VIEW","EXPLAIN_RESPONSE","GO_TO_SPARQL_EDITOR"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=72379;export const __webpack_ids__=[72379];export const __webpack_modules__={72379:(e,t,l)=>{l.r(t),l.d(t,{default:()=>s});const s='<link href="css/autocomplete-select.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=72379.
|
|
1
|
+
export const __webpack_id__=72379;export const __webpack_ids__=[72379];export const __webpack_modules__={72379:(e,t,l)=>{l.r(t),l.d(t,{default:()=>s});const s='<link href="css/autocomplete-select.css?v=3.2.0-TR3" rel="stylesheet"/> <div class="autocomplete-select-wrapper"> <div class="autocomplete-select"> <div ng-hide="isMultiline"> <input type="text" ng-model="searchInput" ng-change="onChange()" ng-keydown="onKeyDown($event)" ng-blur="onBlur()" ng-required="required" class="autocomplete-input autocomplete-editable" ng-class="styleClass" placeholder="{{placeholder}}"> </div> <div ng-show="isMultiline"> <textarea ng-model="searchInput" ng-change="onChange()" ng-keydown="onKeyDown($event)" ng-blur="onBlur()" ng-required="required" class="autocomplete-textarea autocomplete-editable" ng-class="styleClass" placeholder="{{placeholder}}" rows="{{initialRows}}">\n </textarea> </div> </div> <div class="autocomplete-results-wrapper card"> <div ng-repeat="autoCompleteUriResult in autoCompleteUriResults track by $index" ng-click="selectResource(autoCompleteUriResult)" ng-mousemove="setActiveItemIndex($index)" ng-class="{active: activeSearchElm === $index, selected: selectedElementIndex === $index}" class="result-item"> <p ng-bind-html="getResultItemHtml(autoCompleteUriResult)"></p> </div> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=72379.d82f665d3a8b231008a3.bundle.js.map
|
package/dist/{72379.8a3290df05f18f8c65bd.bundle.js.map → 72379.d82f665d3a8b231008a3.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"72379.
|
|
1
|
+
{"version":3,"file":"72379.d82f665d3a8b231008a3.bundle.js","mappings":"uJAIA,QAHW,0oC","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/autocomplete/templates/autocomplete.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/autocomplete-select.css?v=3.2.0-TR3\" rel=\"stylesheet\"/> <div class=\"autocomplete-select-wrapper\"> <div class=\"autocomplete-select\"> <div ng-hide=\"isMultiline\"> <input type=\"text\" ng-model=\"searchInput\" ng-change=\"onChange()\" ng-keydown=\"onKeyDown(\\$event)\" ng-blur=\"onBlur()\" ng-required=\"required\" class=\"autocomplete-input autocomplete-editable\" ng-class=\"styleClass\" placeholder=\"{{placeholder}}\"> </div> <div ng-show=\"isMultiline\"> <textarea ng-model=\"searchInput\" ng-change=\"onChange()\" ng-keydown=\"onKeyDown(\\$event)\" ng-blur=\"onBlur()\" ng-required=\"required\" class=\"autocomplete-textarea autocomplete-editable\" ng-class=\"styleClass\" placeholder=\"{{placeholder}}\" rows=\"{{initialRows}}\">\n </textarea> </div> </div> <div class=\"autocomplete-results-wrapper card\"> <div ng-repeat=\"autoCompleteUriResult in autoCompleteUriResults track by \\$index\" ng-click=\"selectResource(autoCompleteUriResult)\" ng-mousemove=\"setActiveItemIndex(\\$index)\" ng-class=\"{active: activeSearchElm === \\$index, selected: selectedElementIndex === \\$index}\" class=\"result-item\"> <p ng-bind-html=\"getResultItemHtml(autoCompleteUriResult)\"></p> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=73667;export const __webpack_ids__=[73667];export const __webpack_modules__={73667:(t,n,s)=>{s.r(n),s.d(n,{default:()=>i});const i='<link href="css/ttyg/agent-instructions-explain-modal.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=73667.
|
|
1
|
+
export const __webpack_id__=73667;export const __webpack_ids__=[73667];export const __webpack_modules__={73667:(t,n,s)=>{s.r(n),s.d(n,{default:()=>i});const i='<link href="css/ttyg/agent-instructions-explain-modal.css?v=3.2.0-TR3" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{\'ttyg.agent.instructions_explain_modal.title\' | translate}}</h4> </div> <div class="modal-body"> <div class="instructions-explain"> <div ng-repeat="instruction in agentInstructionsExplain" class="instruction" ng-class="{\'mb-2\': !$last}"> <h5 class="instruction-title mb-0"> <span uib-popover="{{\'ttyg.agent.instructions_explain_modal.instructions.\' + instruction.type + \'.description\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.instructions_explain_modal.instructions.\' + instruction.type + \'.label\' | translate}}</span> </h5> <h7 class="text-muted d-block">({{instruction.size}} characters)</h7> <pre class="instruction-content">{{instruction.content}}</pre> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" ng-click="onCloseAgentInstructionsExplainModal()"> {{\'ttyg.agent.instructions_explain_modal.btn.close.label\' | translate}} </button> </div> '}};
|
|
2
|
+
//# sourceMappingURL=73667.5a32fae13853f9158d8b.bundle.js.map
|
package/dist/{73667.52fdbdadddafe9e9559b.bundle.js.map → 73667.5a32fae13853f9158d8b.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"73667.
|
|
1
|
+
{"version":3,"file":"73667.5a32fae13853f9158d8b.bundle.js","mappings":"uJAGA,QAFW,+mC","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/agent-instructions-explain-modal.css?v=3.2.0-TR3\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h4 class=\"modal-title\">{{'ttyg.agent.instructions_explain_modal.title' | translate}}</h4> </div> <div class=\"modal-body\"> <div class=\"instructions-explain\"> <div ng-repeat=\"instruction in agentInstructionsExplain\" class=\"instruction\" ng-class=\"{'mb-2': !\\$last}\"> <h5 class=\"instruction-title mb-0\"> <span uib-popover=\"{{'ttyg.agent.instructions_explain_modal.instructions.' + instruction.type + '.description' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.instructions_explain_modal.instructions.' + instruction.type + '.label' | translate}}</span> </h5> <h7 class=\"text-muted d-block\">({{instruction.size}} characters)</h7> <pre class=\"instruction-content\">{{instruction.content}}</pre> </div> </div> </div> <div class=\"modal-footer\"> <button type=\"button\" class=\"btn btn-secondary\" ng-click=\"onCloseAgentInstructionsExplainModal()\"> {{'ttyg.agent.instructions_explain_modal.btn.close.label' | translate}} </button> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=73793;export const __webpack_ids__=[73793];export const __webpack_modules__={73793:(t,e,a)=>{a.r(e),a.d(e,{default:()=>n});const n='<link href="css/search-resource-input.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=73793.
|
|
1
|
+
export const __webpack_id__=73793;export const __webpack_ids__=[73793];export const __webpack_modules__={73793:(t,e,a)=>{a.r(e),a.d(e,{default:()=>n});const n='<link href="css/search-resource-input.css?v=3.2.0-TR3" rel="stylesheet"/> <div id="search-resource-box" class="input-group btn-group" ng-class="{\'input-group-lg\': !radioButtons}" style="white-space:nowrap"> <input type="text" class="form-control view-res-input" placeholder="{{placeholder}}" ng-model="searchInput" data-test="rdf-resource-input" ng-change="onChange()" ng-keydown="onKeyDown($event)"> <button ng-if="clearInputIcon && showClearInputIcon" class="btn btn-link clear-icon" data-test="rdf-resource-clear-button" gdb-tooltip="{{\'clear.tooltip\' | translate}}" tooltip-placement="bottom"> <i class="icon-close" aria-hidden="true" ng-click="clearInput()"></i> </button> <span ng-if="!radioButtons" class="input-group-btn"> <button ng-if="textButton !== \'\'" type="button" class="btn btn-primary autocomplete-text-btn" ng-click="checkIfValidAndSearchText()"> {{textButtonLabel | translate}} </button> </span> <span ng-if="!radioButtons" class="input-group-btn show-btn"> <button ng-if="visualButton !== \'\'" type="button" class="btn btn-primary autocomplete-visual-btn" ng-click="checkIfValidAndSearchVisual()"> {{visualButtonLabel | translate}} </button> </span> <span ng-if="radioButtons" class="input-group-btn"> <button class="btn btn-secondary display-type-table-btn" ng-model="searchType" uib-btn-radio="searchDisplayType.table" data-test="display-table-button" ng-click="changeSearchType(searchDisplayType.table)"> {{textButtonLabel | translate}} </button> <button class="btn btn-secondary display-type-visual-btn" ng-model="searchType" uib-btn-radio="searchDisplayType.visual" data-test="display-visual-button" ng-click="changeSearchType(searchDisplayType.visual)"> {{visualButtonLabel | translate}} </button> </span> </div> <span class="autocomplete-hint text-muted">{{\'query.editor.autocomplete.hint\' | translate}}</span> <div id="auto-complete-results-wrapper" ng-if="isAutocompleteEnabled" data-test="auto-complete-results"> <div ng-repeat="autoCompleteUriResult in autoCompleteUriResults track by $index" id="{{\'auto_\' + $index}}" ng-click="searchRdfResourceByEvent(autoCompleteUriResult, $event)" ng-class="{active: activeSearchElm === $index, selected: selectedElementIndex === $index}" ng-mousemove="setActiveClassOnMouseMove($index)" data-test="autocomplete-suggestion" class="result-item" guide-selector="autocomplete-{{autoCompleteUriResult.value}}"> <p ng-bind-html="getResultItemHtml(autoCompleteUriResult)"></p> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=73793.88917a280c5cbacfd4c5.bundle.js.map
|
package/dist/{73793.7e812bab1754ddd5efb5.bundle.js.map → 73793.88917a280c5cbacfd4c5.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"73793.
|
|
1
|
+
{"version":3,"file":"73793.88917a280c5cbacfd4c5.bundle.js","mappings":"uJAGA,QAFW,m6E","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/search-resource-input.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/search-resource-input.css?v=3.2.0-TR3\" rel=\"stylesheet\"/> <div id=\"search-resource-box\" class=\"input-group btn-group\" ng-class=\"{'input-group-lg': !radioButtons}\" style=\"white-space:nowrap\"> <input type=\"text\" class=\"form-control view-res-input\" placeholder=\"{{placeholder}}\" ng-model=\"searchInput\" data-test=\"rdf-resource-input\" ng-change=\"onChange()\" ng-keydown=\"onKeyDown(\\$event)\"> <button ng-if=\"clearInputIcon && showClearInputIcon\" class=\"btn btn-link clear-icon\" data-test=\"rdf-resource-clear-button\" gdb-tooltip=\"{{'clear.tooltip' | translate}}\" tooltip-placement=\"bottom\"> <i class=\"icon-close\" aria-hidden=\"true\" ng-click=\"clearInput()\"></i> </button> <span ng-if=\"!radioButtons\" class=\"input-group-btn\"> <button ng-if=\"textButton !== ''\" type=\"button\" class=\"btn btn-primary autocomplete-text-btn\" ng-click=\"checkIfValidAndSearchText()\"> {{textButtonLabel | translate}} </button> </span> <span ng-if=\"!radioButtons\" class=\"input-group-btn show-btn\"> <button ng-if=\"visualButton !== ''\" type=\"button\" class=\"btn btn-primary autocomplete-visual-btn\" ng-click=\"checkIfValidAndSearchVisual()\"> {{visualButtonLabel | translate}} </button> </span> <span ng-if=\"radioButtons\" class=\"input-group-btn\"> <button class=\"btn btn-secondary display-type-table-btn\" ng-model=\"searchType\" uib-btn-radio=\"searchDisplayType.table\" data-test=\"display-table-button\" ng-click=\"changeSearchType(searchDisplayType.table)\"> {{textButtonLabel | translate}} </button> <button class=\"btn btn-secondary display-type-visual-btn\" ng-model=\"searchType\" uib-btn-radio=\"searchDisplayType.visual\" data-test=\"display-visual-button\" ng-click=\"changeSearchType(searchDisplayType.visual)\"> {{visualButtonLabel | translate}} </button> </span> </div> <span class=\"autocomplete-hint text-muted\">{{'query.editor.autocomplete.hint' | translate}}</span> <div id=\"auto-complete-results-wrapper\" ng-if=\"isAutocompleteEnabled\" data-test=\"auto-complete-results\"> <div ng-repeat=\"autoCompleteUriResult in autoCompleteUriResults track by \\$index\" id=\"{{'auto_' + \\$index}}\" ng-click=\"searchRdfResourceByEvent(autoCompleteUriResult, \\$event)\" ng-class=\"{active: activeSearchElm === \\$index, selected: selectedElementIndex === \\$index}\" ng-mousemove=\"setActiveClassOnMouseMove(\\$index)\" data-test=\"autocomplete-suggestion\" class=\"result-item\" guide-selector=\"autocomplete-{{autoCompleteUriResult.value}}\"> <p ng-bind-html=\"getResultItemHtml(autoCompleteUriResult)\"></p> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=73964;export const __webpack_ids__=[36633,73964];export const __webpack_modules__={36633:(e,t,n)=>{n.r(t),n.d(t,{CHAT_MESSAGE_ROLE:()=>s,ChatMessageModel:()=>r});class r{constructor(e){this._id=e.id,this._role=e.role,this._message=e.message,this._timestamp=1e3*e.timestamp,this.tokenUsageInfo=e.tokenUsageInfo,this._isTerminalState=e.isTerminalState,this._status=e.status}addToChatAnswer(e){e.messages=[this]}get id(){return this._id}set id(e){this._id=e}get role(){return this._role}set role(e){this._role=e}get message(){return this._message}set message(e){this._message=e}get timestamp(){return this._timestamp}set timestamp(e){this._timestamp=e}get isTerminalState(){return this._isTerminalState}set isTerminalState(e){this._isTerminalState=e}get status(){return this._status}set status(e){this._status=e}}const s={USER:"user",ASSISTANT:"assistant"}},73964:(e,t,n)=>{n.r(t),n.d(t,{TtygRestServiceFakeBackend:()=>o});var r=n(98980),s=n(36633);const a=2e3;class o{constructor(){this.conversations=[...i]}getConversations(){return new Promise(e=>{setTimeout(()=>e({data:(0,r.cloneDeep)(this.conversations)}),2e3)})}getConversation(e){return new Promise(t=>{setTimeout(()=>t({data:(0,r.cloneDeep)(this.conversations.find(t=>t.id===e))}),2e3)})}renameConversation(e,t){const n=this.conversations.find(t=>t.id===e);return n&&(n.name=t.name),Promise.resolve({data:(0,r.cloneDeep)(n)})}exportConversation(e){return console.log("Exporting conversation with id: ",e),Promise.resolve()}askQuestion(e){const t={id:"msg_Bn07kVDCYT1qmgu1G7Zw0KNe",conversationId:e.conversationId,agentId:null,message:`${e.question}`,role:s.CHAT_MESSAGE_ROLE.USER,timestamp:Math.floor(Date.now()/1e3)},n=this.conversations.find(t=>t.id===e.conversationId),r={id:e.conversationId,name:n?n.name:"Han Solo is a character in the Star Wars...",timestamp:Math.floor(Date.now()/1e3),messages:[{id:"msg_Bn07kVDCYT1qmgu1G7Zw0KNe_"+Date.now(),conversationId:e.conversationId,role:s.CHAT_MESSAGE_ROLE.ASSISTANT,agentId:e.agentId,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.',timestamp:Math.floor(Date.now()/1e3),name:null},{id:"msg_Bn07kVDCYT1qmgu1G7Zw0KNeс_"+Date.now(),conversationId:e.conversationId,role:s.CHAT_MESSAGE_ROLE.ASSISTANT,agentId:e.agentId,message:`Reply to '${e.question}' It seems there was an error with the query. Let me rectify this and try again.`,timestamp:Math.floor(Date.now()/1e3),name:null}]};return n&&(n.messages.push(t),n.messages.push(...r.messages)),new Promise(e=>setTimeout(()=>e({data:r}),2e3))}continueChatRun(e){alert("continueChatRun() not implemented")}deleteConversation(e){return this.conversations=this.conversations.filter(t=>t.id!==e),new Promise(e=>setTimeout(()=>e(),2e3))}createConversation(e){const t={id:`thread_${this.conversations.length}`,name:`Thread ${this.conversations.length}`,timestamp:Math.floor(Date.now()/1e3),messages:[]};this.conversations.unshift(t);const n=(0,r.cloneDeep)(e);return n.conversationId=t.id,this.askQuestion(n)}createChat(){return new Promise(e=>setTimeout(()=>e({data:{id:null,conversationId:"thread_1r5uVXAJKxzK5osAsTh4gyiS",agentId:null,role:null,message:null,timestamp:0,name:"New chat",usage:null,isTerminalState:!1,terminalStatusCode:null}})))}getAgents(){return new Promise(e=>setTimeout(()=>e({data:[...l]}),2e3))}getAgent(e){return Promise.resolve({data:(0,r.cloneDeep)(l.find(t=>t.id===e))})}createAgent(e){return"err"===e.name?new Promise((e,t)=>setTimeout(()=>t({status:500,message:"Internal Server Error"}),a)):(l.push(e),new Promise(t=>setTimeout(()=>t({data:e}),a)))}editAgent(e){return"err"===e.name?new Promise((e,t)=>setTimeout(()=>t({status:500,message:"Internal Server Error"}),2e3)):(l=l.map(t=>t.id===e.id?e:t),new Promise(t=>setTimeout(()=>t({data:e}),a)))}deleteAgent(e){return l=l.filter(t=>t.id!==e),Promise.resolve()}getAgentDefaultValues(){return Promise.resolve({data:u})}explainAgentSettings(){return Promise.resolve({data:{}})}simulateHttpError(){return Promise.reject({status:500,message:"Internal Server Error"})}explainResponse(e){return Promise.resolve({data:{conversationId:e.conversationId,answerId:e.answerId,queryMethods:[{name:"sparql_query",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}',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}',queryType:"sparql",errorOutput:"Error: org.eclipse.rdf4j.query.MalformedQueryException: org.eclipse.rdf4j.query.parser.sparql.ast.VisitorException: QName 'voc:Character' uses an undefined prefix"},{name:"retrieval_search",rawQuery:'{"queries":[{"query":"pilots that work with Luke Skywalker","filter":{"document_id":"https://swapi.co/resource/human/1"},"top_k":3}]}',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}',queryType:"json",errorOutput:null},{name:"iri_discovery",rawQuery:"Luke Skywalker",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}",queryType:"sparql",errorOutput:null},{name:"sparql_query",rawQuery:"SELECT ?height WHERE {\n <https://swapi.co/resource/human/1> voc:height ?height.\n}",query:"SELECT ?height WHERE {\n <https://swapi.co/resource/human/1> voc:height ?height.\n}",queryType:"sparql",errorOutput:"Error: org.eclipse.rdf4j.query.MalformedQueryException: org.eclipse.rdf4j.query.parser.sparql.ast.VisitorException: QName 'voc:height' uses an undefined prefix"},{name:"sparql_query",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}',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}',queryType:"sparql",errorOutput:null},{name:"fts_search",rawQuery:"Second Luke",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}",queryType:"sparql",errorOutput:null},{name:"similarity_search",rawQuery:"Second Luke",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}",queryType:"sparql",errorOutput:null},{name:"iri_discovery",rawQuery:"Luke Skywalker",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}",queryType:"sparql",errorOutput:null},{name:"sparql_query",rawQuery:"SELECT ?name ?height WHERE { ?character voc:name ?name ; voc:height ?height . FILTER (?name = 'Luke Skywalker' || ?name = 'Leia Organa') }",query:"SELECT ?name ?height WHERE { ?character voc:name ?name ; voc:height ?height . FILTER (?name = 'Luke Skywalker' || ?name = 'Leia Organa') }",queryType:"sparql",errorOutput:"Error: java.lang.IllegalArgumentException: The following IRIs are not used in the data stored in GraphDB: https://swapi.co/vocabulary/name"},{name:"sparql_query",rawQuery:"SELECT ?character ?height WHERE { ?character voc:height ?height . FILTER (?character = <https://swapi.co/resource/human/1> || ?character = <https://swapi.co/resource/human/5>) }",query:"SELEdCT ?character ?height WHERE { ?character voc:height ?height . FILTER (?character = <https://swapi.co/resource/human/1> || ?character = <https://swapi.co/resource/human/5>) }",queryType:"sparql",errorOutput:null}]}})}cancelPendingQuestion(e){return e?Promise.reject({status:500,message:"Error while cancelling run due to: ttyg.exceptions.GenericServerException: Timeout waiting for cancellation. Run run_z12dSC remains active. Please start a new chat thread."}):Promise.resolve({status:200,message:"Current chat was successfully sent for cancelling."})}}const i=[{id:"thread_jdQBvbkaU6JPoO48oFbC54dA",name:"Very long chat name which does not fit in the sidebar",timestamp:1725235200,messages:[]},{id:"thread_jdQBvbkaU6JPoO48oQaL76dB",name:"Test chat 2",timestamp:1725238800,messages:[]},{id:"thread_jdQBvbkaU6JPoO48oQaL76dC",name:"Test chat 3",timestamp:1725242400,messages:[]},{id:"thread_jdQBvbkaU6JPoO48oFbC54dD",name:"Test chat 4",timestamp:1697331600,messages:[]}];let l=[{id:"asst_gAPcrHQQ9ZIxD5eXWH2BNFfo",name:"agent-1",model:"gpt-4o",temperature:0,topP:0,seed:null,repositoryId:"starwars",instructions:{systemInstruction:"\n\n",userInstruction:""},assistantExtractionMethods:[{ftsMethod:"fts_search"}],maxNumberOfTriplesPerCall:null},{id:"asst_qMyCpCBmqxV9I2B8UoMfFzc5",name:"agent-2",model:"gpt-4o",temperature:0,topP:0,seed:null,repositoryId:"Non existing repo",instructions:{systemInstruction:"string\n\nstring",userInstruction:"string"},assistantExtractionMethods:[{ftsMethod:"fts_search"}],maxNumberOfTriplesPerCall:null},{id:"asst_Cr0RxobrY07WpOvvyQilEWMI",name:"Databricks-general-unbiased",model:"gpt-4o-2024-08-06",temperature:1,topP:1,seed:null,repositoryId:"starwars",instructions:{systemInstruction:"You are helpful assistant in discovering information regarding diagnostic biomarkers.",userInstruction:null},assistantExtractionMethods:[],maxNumberOfTriplesPerCall:null},{id:"asst_5GxNYTdaOh7Tl6lLl6Pya2aH",name:"Databricks-biomarkers",model:"gpt-3.5-turbo-0125",temperature:1,topP:1,seed:null,repositoryId:"biomarkers",instructions:{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",userInstruction:null},assistantExtractionMethods:[],maxNumberOfTriplesPerCall:null},{id:"asst_qMyCpCBmqxV9I2B8UoMfFzc555",name:"agent with long name long long long long long long long long long long long long",model:"gpt-4o",temperature:0,topP:0,seed:null,repositoryId:"Non existing repo",instructions:{systemInstruction:"string\n\nstring",userInstruction:"string"},assistantExtractionMethods:[{ftsMethod:"fts_search"}],maxNumberOfTriplesPerCall:null},{id:"asst_qMyCpCBmqxV9I2B8UoMfFzcр555",name:"Long_agent_with_long_name_long_long_long_long_long_long_long_long_long_long_long_long",model:"gpt-4o",temperature:0,topP:0,seed:null,repositoryId:"Non existing repo",instructions:{systemInstruction:"string\n\nstring",userInstruction:"string"},assistantExtractionMethods:[{ftsMethod:"fts_search"}],maxNumberOfTriplesPerCall:null},{id:"asst_qMyCpCBmqxV9I2B8UoMfFzc55д5",name:"agent with long name long long long long long long long long long long long long",model:"gpt-4o",temperature:0,topP:0,seed:null,repositoryId:"starwars",instructions:{systemInstruction:"string\n\nstring",userInstruction:"string"},assistantExtractionMethods:[{ftsMethod:"fts_search"}],maxNumberOfTriplesPerCall:null},{id:"asst_qMyCpCBmqxV9I2B8UoMfFzcя555",name:"Long_agent_with_long_name_long_long_long_long_long_long_long_long_long_long_long_long",model:"gpt-4o",temperature:0,topP:0,seed:null,repositoryId:"starwars",instructions:{systemInstruction:"string\n\nstring",userInstruction:"string"},assistantExtractionMethods:[{ftsMethod:"fts_search"}],maxNumberOfTriplesPerCall:null}];const u={id:"id",name:"Quadro",model:"gpt-4o",api:"openai-completions",contextSize:128e3,temperature:.7,topP:1,seed:0,repositoryId:"test-repository",instructions:{systemInstruction:"You are a helpful, knowledgeable, and friendly assistant. Your goal is to provide clear and accurate information while being polite, respectful, and professional.",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."},assistantExtractionMethods:[{method:"sparql_search",ontologyGraph:"http://example.com",sparqlQuery:"CONSTRUCT {?s ?p ?o} WHERE {GRAPH <http://example.org/ontology> {?s ?p ?o .}}"},{method:"fts_search",maxNumberOfTriplesPerCall:0},{method:"similarity_search",similarityIndex:"similarity-index",similarityIndexThreshold:.6,maxNumberOfTriplesPerCall:0},{method:"retrieval_search",retrievalConnectorInstance:"retrieval-connector",queryTemplate:'{"query": "string"}',maxNumberOfTriplesPerCall:0}],additionalExtractionMethods:[{method:"iri_discovery_search"}]}}};
|
|
2
|
+
//# sourceMappingURL=73964.7a3038b5726d50c1a051.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"73964.7a3038b5726d50c1a051.bundle.js","mappings":"8LAAO,MAAMA,EACTC,WAAAA,CAAYC,GAKRC,KAAKC,IAAMF,EAAKG,GAKhBF,KAAKG,MAAQJ,EAAKK,KAKlBJ,KAAKK,SAAWN,EAAKO,QAKrBN,KAAKO,WAA8B,IAAjBR,EAAKS,UAQvBR,KAAKS,eAAiBV,EAAKU,eAM3BT,KAAKU,iBAAmBX,EAAKY,gBAM7BX,KAAKY,QAAUb,EAAKc,MACxB,CAMAC,eAAAA,CAAgBC,GACZA,EAAWC,SAAW,CAAChB,KAC3B,CAEA,MAAIE,GACA,OAAOF,KAAKC,GAChB,CAEA,MAAIC,CAAGe,GACHjB,KAAKC,IAAMgB,CACf,CAEA,QAAIb,GACA,OAAOJ,KAAKG,KAChB,CAEA,QAAIC,CAAKa,GACLjB,KAAKG,MAAQc,CACjB,CAEA,WAAIX,GACA,OAAON,KAAKK,QAChB,CAEA,WAAIC,CAAQW,GACRjB,KAAKK,SAAWY,CACpB,CAEA,aAAIT,GACA,OAAOR,KAAKO,UAChB,CAEA,aAAIC,CAAUS,GACVjB,KAAKO,WAAaU,CACtB,CAEA,mBAAIN,GACA,OAAOX,KAAKU,gBAChB,CAEA,mBAAIC,CAAgBM,GAChBjB,KAAKU,iBAAmBO,CAC5B,CAEA,UAAIJ,GACA,OAAOb,KAAKY,OAChB,CAEA,UAAIC,CAAOI,GACPjB,KAAKY,QAAUK,CACnB,EAGG,MAAMC,EAAoB,CAC7BC,KAAM,OACNC,UAAW,Y,6FCnGf,MAQMC,EAAqB,IAMpB,MAAMC,EAETxB,WAAAA,GACIE,KAAKuB,cAAgB,IAAIC,EAC7B,CAEAC,gBAAAA,GACI,OAAO,IAAIC,QAASC,IAChBC,WAAW,IAAMD,EAAQ,CAAC5B,MAAM8B,EAAAA,EAAAA,WAAU7B,KAAKuB,iBAnBlC,MAqBrB,CAEAO,eAAAA,CAAgB5B,GACZ,OAAO,IAAIwB,QAASC,IAChBC,WAAW,IAAMD,EAAQ,CAAC5B,MAAM8B,EAAAA,EAAAA,WAAU7B,KAAKuB,cAAcQ,KAAMC,GAAiBA,EAAa9B,KAAOA,MAtB7F,MAyBnB,CAEA+B,kBAAAA,CAAmB/B,EAAIH,GACnB,MAAMiC,EAAehC,KAAKuB,cAAcQ,KAAMC,GAAiBA,EAAa9B,KAAOA,GAInF,OAHI8B,IACAA,EAAaE,KAAOnC,EAAKmC,MAEtBR,QAAQC,QAAQ,CAAC5B,MAAM8B,EAAAA,EAAAA,WAAUG,IAC5C,CAEAG,kBAAAA,CAAmBjC,GAEf,OADAkC,QAAQC,IAAI,mCAAoCnC,GACzCwB,QAAQC,SACnB,CAEAW,WAAAA,CAAYC,GACR,MAAMC,EAAW,CACbtC,GAAI,+BACJuC,eAAgBF,EAAeE,eAC/BC,QAAS,KACTpC,QAAS,GAAGiC,EAAeC,WAC3BpC,KAAMc,EAAAA,kBAAkBC,KACxBX,UAAWmC,KAAKC,MAAMC,KAAKC,MAAQ,MAGjCd,EAAehC,KAAKuB,cAAcQ,KAAMC,GAAiBA,EAAa9B,KAAOqC,EAAeE,gBAE5FM,EAAS,CACX7C,GAAIqC,EAAeE,eACnBP,KAAMF,EAAeA,EAAaE,KAAO,8CACzC1B,UAAWmC,KAAKC,MAAMC,KAAKC,MAAQ,KACnC9B,SAAU,CACN,CACId,GAAI,gCAAkC2C,KAAKC,MAC3CL,eAAgBF,EAAeE,eAC/BrC,KAAMc,EAAAA,kBAAkBE,UACxBsB,QAASH,EAAeG,QACxBpC,QAAS,ynBACTE,UAAWmC,KAAKC,MAAMC,KAAKC,MAAQ,KACnCZ,KAAM,MAEV,CACIhC,GAAI,iCAAmC2C,KAAKC,MAC5CL,eAAgBF,EAAeE,eAC/BrC,KAAMc,EAAAA,kBAAkBE,UACxBsB,QAASH,EAAeG,QACxBpC,QAAS,aAAaiC,EAAeC,2FACrChC,UAAWmC,KAAKC,MAAMC,KAAKC,MAAQ,KACnCZ,KAAM,QASlB,OAJIF,IACAA,EAAahB,SAASgC,KAAKR,GAC3BR,EAAahB,SAASgC,QAAQD,EAAO/B,WAElC,IAAIU,QAASC,GAAYC,WAAW,IAAMD,EAAQ,CAAC5B,KAAMgD,IAxFtD,KA0Fd,CAEAE,eAAAA,CAAgBlD,GACZmD,MAAM,oCACV,CAEAC,kBAAAA,CAAmBjD,GAEf,OADAF,KAAKuB,cAAgBvB,KAAKuB,cAAc6B,OAAQpB,GAAiBA,EAAa9B,KAAOA,GAC9E,IAAIwB,QAASC,GAAYC,WAAW,IAAMD,IAtFpC,KAuFjB,CAEA0B,kBAAAA,CAAmBtD,GACf,MAAMiC,EAAe,CACjB9B,GAAI,UAAUF,KAAKuB,cAAc+B,SACjCpB,KAAM,UAAUlC,KAAKuB,cAAc+B,SACnC9C,UAAWmC,KAAKC,MAAMC,KAAKC,MAAQ,KACnC9B,SAAU,IAEdhB,KAAKuB,cAAcgC,QAAQvB,GAE3B,MAAMO,GAAiBV,EAAAA,EAAAA,WAAU9B,GAEjC,OADAwC,EAAeE,eAAiBT,EAAa9B,GACtCF,KAAKsC,YAAYC,EAC5B,CAEAiB,UAAAA,GACI,OAAO,IAAI9B,QAASC,GAAYC,WAAW,IAAMD,EAAQ,CAAC5B,KAAM,CAC5D,GAAM,KACF,eAAkB,kCAClB,QAAW,KACX,KAAQ,KACR,QAAW,KACX,UAAa,EACb,KAAQ,WACR,MAAS,KACT,iBAAmB,EACnB,mBAAsB,SAElC,CAEA0D,SAAAA,GACI,OAAO,IAAI/B,QAASC,GAAYC,WAAW,IAAMD,EAAQ,CAAC5B,KAAM,IAAI2D,KAzHlD,KA0HtB,CAEAC,QAAAA,CAASzD,GACL,OAAOwB,QAAQC,QAAQ,CAAC5B,MAAM8B,EAAAA,EAAAA,WAAU6B,EAAW3B,KAAM6B,GAAUA,EAAM1D,KAAOA,KACpF,CAEA2D,WAAAA,CAAYD,GACR,MAAmB,QAAfA,EAAM1B,KACC,IAAIR,QAAQ,CAACC,EAASmC,IAAWlC,WAAW,IAAMkC,EAAO,CAACjD,OAAQ,IAAKP,QAAS,0BAA2Be,KAEtHqC,EAAWV,KAAKY,GACT,IAAIlC,QAASC,GAAYC,WAAW,IAAMD,EAAQ,CAAC5B,KAAM6D,IAASvC,IAC7E,CAEA0C,SAAAA,CAAUC,GACN,MAAyB,QAArBA,EAAY9B,KACL,IAAIR,QAAQ,CAACC,EAASmC,IAAWlC,WAAW,IAAMkC,EAAO,CAACjD,OAAQ,IAAKP,QAAS,0BA3I1E,OA6IjBoD,EAAaA,EAAWO,IAAKL,GAAUA,EAAM1D,KAAO8D,EAAY9D,GAAK8D,EAAcJ,GAC5E,IAAIlC,QAASC,GAAYC,WAAW,IAAMD,EAAQ,CAAC5B,KAAMiE,IAAe3C,IACnF,CAEA6C,WAAAA,CAAYhE,GAER,OADAwD,EAAaA,EAAWN,OAAQQ,GAAUA,EAAM1D,KAAOA,GAChDwB,QAAQC,SAInB,CAEAwC,qBAAAA,GACI,OAAOzC,QAAQC,QAAQ,CAAC5B,KAAMqE,GAClC,CAEAC,oBAAAA,GACI,OAAO3C,QAAQC,QAAQ,CAAC5B,KAAM,CAAC,GACnC,CAGAuE,iBAAAA,GACI,OAAO5C,QAAQoC,OAAO,CAClBjD,OAAQ,IACRP,QAAS,yBAEjB,CAEAiE,eAAAA,CAAgBxE,GACZ,OAAO2B,QAAQC,QAAQ,CAAC5B,KAAM,CACtB0C,eAAgB1C,EAAK0C,eACrB+B,SAAUzE,EAAKyE,SACfC,aAAc,CACV,CACIvC,KAAM,eACNwC,SAAU,2MACVC,MAAO,2MACPC,UAAW,SACXC,YAAa,sKACd,CACC3C,KAAM,mBACNwC,SAAU,wIACVC,MAAO,8LACPC,UAAW,OACXC,YAAa,MAEjB,CACI3C,KAAM,gBACNwC,SAAU,iBACVC,MAAO,+QACPC,UAAW,SACXC,YAAa,MAEjB,CACI3C,KAAM,eACNwC,SAAU,uFACVC,MAAO,uFACPC,UAAW,SACXC,YAAa,mKAEjB,CACI3C,KAAM,eACNwC,SAAU,6MACVC,MAAO,6MACPC,UAAW,SACXC,YAAa,MAEjB,CACI3C,KAAM,aACNwC,SAAU,cACVC,MAAO,4JACPC,UAAW,SACXC,YAAa,MACd,CACC3C,KAAM,oBACNwC,SAAU,cACVC,MAAO,4JACPC,UAAW,SACXC,YAAa,MACd,CACC3C,KAAM,gBACNwC,SAAU,iBACVC,MAAO,+QACPC,UAAW,SACXC,YAAa,MACd,CACC3C,KAAM,eACNwC,SAAU,6IACVC,MAAO,6IACPC,UAAW,SACXC,YAAa,8IACd,CACC3C,KAAM,eACNwC,SAAU,oLACVC,MAAO,qLACPC,UAAW,SACXC,YAAa,SAIjC,CAUAC,qBAAAA,CAAsBC,GAClB,OAAIA,EACOrD,QAAQoC,OAAO,CAClBjD,OAAQ,IACRP,QAAS,gLAGNoB,QAAQC,QAAQ,CACnBd,OAAQ,IACRP,QAAS,sDAGrB,EAGJ,MAAMkB,EAAmB,CACrB,CACI,GAAM,kCACN,KAAQ,wDACR,UAAa,WACb,SAAY,IAEhB,CACI,GAAM,kCACN,KAAQ,cACR,UAAa,WACb,SAAY,IAEhB,CACI,GAAM,kCACN,KAAQ,cACR,UAAa,WACb,SAAY,IAEhB,CACI,GAAM,kCACN,KAAQ,cACR,UAAa,WACb,SAAY,KAIpB,IAAIkC,EAAa,CACb,CACI,GAAM,gCACN,KAAQ,UACR,MAAS,SACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,WAChB,aAAgB,CACZ,kBAAqB,OACrB,gBAAmB,IAEvB,2BAA8B,CAC1B,CACI,UAAa,eAGrB,0BAA6B,MAEjC,CACI,GAAM,gCACN,KAAQ,UACR,MAAS,SACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,oBAChB,aAAgB,CACZ,kBAAqB,mBACrB,gBAAmB,UAEvB,2BAA8B,CAC1B,CACI,UAAa,eAGrB,0BAA6B,MAEjC,CACI,GAAM,gCACN,KAAQ,8BACR,MAAS,oBACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,WAChB,aAAgB,CACZ,kBAAqB,wFACrB,gBAAmB,MAEvB,2BAA8B,GAC9B,0BAA6B,MAEjC,CACI,GAAM,gCACN,KAAQ,wBACR,MAAS,qBACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,aAChB,aAAgB,CACZ,kBAAqB,83EACrB,gBAAmB,MAEvB,2BAA8B,GAC9B,0BAA6B,MAEjC,CACI,GAAM,kCACN,KAAQ,mFACR,MAAS,SACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,oBAChB,aAAgB,CACZ,kBAAqB,mBACrB,gBAAmB,UAEvB,2BAA8B,CAC1B,CACI,UAAa,eAGrB,0BAA6B,MAEjC,CACI,GAAM,mCACN,KAAQ,wFACR,MAAS,SACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,oBAChB,aAAgB,CACZ,kBAAqB,mBACrB,gBAAmB,UAEvB,2BAA8B,CAC1B,CACI,UAAa,eAGrB,0BAA6B,MAEjC,CACI,GAAM,mCACN,KAAQ,mFACR,MAAS,SACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,WAChB,aAAgB,CACZ,kBAAqB,mBACrB,gBAAmB,UAEvB,2BAA8B,CAC1B,CACI,UAAa,eAGrB,0BAA6B,MAEjC,CACI,GAAM,mCACN,KAAQ,wFACR,MAAS,SACT,YAAe,EACf,KAAQ,EACR,KAAQ,KACR,aAAgB,WAChB,aAAgB,CACZ,kBAAqB,mBACrB,gBAAmB,UAEvB,2BAA8B,CAC1B,CACI,UAAa,eAGrB,0BAA6B,OAIrC,MAAMU,EAAqB,CACvB,GAAM,KACN,KAAQ,SACR,MAAS,SACT,IAAO,qBACP,YAAe,MACf,YAAe,GACf,KAAQ,EACR,KAAQ,EACR,aAAgB,kBAChB,aAAgB,CACZ,kBAAqB,qKACrB,gBAAmB,gSAEvB,2BAA8B,CAC1B,CACI,OAAU,gBACV,cAAiB,qBACjB,YAAe,iFAEnB,CACI,OAAU,aACV,0BAA6B,GAEjC,CACI,OAAU,oBACV,gBAAmB,mBACnB,yBAA4B,GAC5B,0BAA6B,GAEjC,CACI,OAAU,mBACV,2BAA8B,sBAC9B,cAAiB,sBACjB,0BAA6B,IAGrC,4BAA+B,CAC3B,CACI,OAAU,yB","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 * If the message was terminated via the Abort button\n * @type {boolean}\n */\n this._isTerminalState = data.isTerminalState;\n\n /**\n * Reason for cancellation.\n * @private {string}\n */\n this._status = data.status\n }\n\n /**\n * Updates the chatAnswer.messages array with this message instance.\n * @param {ChatAnswerModel} chatAnswer - The answer object containing the messages.\n */\n addToChatAnswer(chatAnswer) {\n chatAnswer.messages = [this];\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 get isTerminalState() {\n return this._isTerminalState;\n }\n\n set isTerminalState(value) {\n this._isTerminalState = value;\n }\n\n get status() {\n return this._status;\n }\n\n set status(value) {\n this._status = 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 createChat() {\n return new Promise((resolve) => setTimeout(() => resolve({data: {\n \"id\": null,\n \"conversationId\": \"thread_1r5uVXAJKxzK5osAsTh4gyiS\",\n \"agentId\": null,\n \"role\": null,\n \"message\": null,\n \"timestamp\": 0,\n \"name\": \"New chat\",\n \"usage\": null,\n \"isTerminalState\": false,\n \"terminalStatusCode\": null\n }})));\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 /**\n * Cancels the current conversation and provides a response indicating the success or failure of the operation.\n *\n * @param {boolean} returnError - Flag indicating whether the cancellation should simulate an error scenario.\n * @return {Promise<Object>} A promise that resolves with the outcome of the cancellation.\n * If `returnError` is true, the promise rejects with an error object containing the status and message.\n * If `returnError` is false, the promise resolves with an object containing the success status and message.\n */\n cancelPendingQuestion(returnError) {\n if (returnError) {\n return Promise.reject({\n status: 500,\n message: \"Error while cancelling run due to: ttyg.exceptions.GenericServerException: Timeout waiting for cancellation. Run run_z12dSC remains active. Please start a new chat thread.\"\n });\n } else {\n return Promise.resolve({\n status: 200,\n message: 'Current chat was successfully sent for cancelling.'\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 \"api\": \"openai-completions\",\n \"contextSize\": 128000,\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","_isTerminalState","isTerminalState","_status","status","addToChatAnswer","chatAnswer","messages","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","push","continueChatRun","alert","deleteConversation","filter","createConversation","length","unshift","createChat","getAgents","agentsList","getAgent","agent","createAgent","reject","editAgent","editedAgent","map","deleteAgent","getAgentDefaultValues","defaultAgentValues","explainAgentSettings","simulateHttpError","explainResponse","answerId","queryMethods","rawQuery","query","queryType","errorOutput","cancelPendingQuestion","returnError"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=75282;export const __webpack_ids__=[75282];export const __webpack_modules__={75282:(e,t,d)=>{d.r(t),d.d(t,{default:()=>n});const n='<link href="css/editable-content.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=75282.
|
|
1
|
+
export const __webpack_id__=75282;export const __webpack_ids__=[75282];export const __webpack_modules__={75282:(e,t,d)=>{d.r(t),d.d(t,{default:()=>n});const n='<link href="css/editable-content.css?v=3.2.0-TR3" rel="stylesheet"/> <div ng-attr-contenteditable="{{!ngDisabled}}" ng-attr-disabled="{{ngDisabled ? true : undefined}}" placeholder="{{placeholder}}" guide-selector="contenteditable" class="contenteditable"> </div> '}};
|
|
2
|
+
//# sourceMappingURL=75282.865c935a564591b19c85.bundle.js.map
|
package/dist/{75282.2f97d3a7d7f3fdd7aebf.bundle.js.map → 75282.865c935a564591b19c85.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"75282.
|
|
1
|
+
{"version":3,"file":"75282.865c935a564591b19c85.bundle.js","mappings":"uJAGA,QAFW,0Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/editable-content/editable-content.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/editable-content.css?v=3.2.0-TR3\" rel=\"stylesheet\"/> <div ng-attr-contenteditable=\"{{!ngDisabled}}\" ng-attr-disabled=\"{{ngDisabled ? true : undefined}}\" placeholder=\"{{placeholder}}\" guide-selector=\"contenteditable\" class=\"contenteditable\"> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=75849;export const __webpack_ids__=[75849];export const __webpack_modules__={75849:(t,a,e)=>{e.r(a),e.d(a,{default:()=>n});const n='<link href="css/ttyg/chat-list.css?v=3.2.0-TR3" rel="stylesheet"/> <div class="chat-list-component"> <div class="chat-list"> <div ng-repeat="chatGroup in chatList.chatsByDay" class="chat-group"> <label>{{ getHumanReadableChatGroupTimestamp(chatGroup.timestamp) }}</label> <ul> <li ng-repeat="chat in chatGroup.chats track by chat.hash" class="chat-item" ng-class="{\'selected\': chat.id === selectedChat.id, \'edited\': renamedChat && chat.id === renamedChat.id}"> <div ng-if="!deletingChat || deletingChat.chatId !== chat.id" class="chat-detail"> <div class="chat-name"> <inline-editable-text field-name="name" source="chat" is-editing="chat.id && renamedChat && chat.id === renamedChat.id" on-save="onRenameChat(newText, source)" on-cancel="onCancelChatRenaming()" on-dblclick="onSelectChatForRenaming(chat)" on-click="onSelectChat(source)" title="{{chat.name}}" show-tooltip-on-overflow> </inline-editable-text> </div> <div ng-if="!chat.isNew() && (!renamedChat || chat.id !== renamedChat.id)" class="btn-group"> <button class="btn btn-link secondary btn-sm open-chat-actions-btn" data-toggle="dropdown" aria-expanded="false" ng-if="true" ng-click="openChatActionMenu()" ng-disabled="false"> <i class="fa fa-ellipsis"></i> </button> <div class="dropdown-menu dropdown-menu-right chat-actions-menu"> <button class="dropdown-item export-chat-btn" type="button" ng-click="onExportChat(chat)"> <i class="fa fa-arrow-down-to-line"></i> <span>{{\'ttyg.chat.btn.export_chat.label\' | translate}}</span> </button> <button class="dropdown-item rename-chat-btn" type="button" ng-click="onSelectChatForRenaming(chat)"> <i class="fa fa-pen"></i> <span>{{\'ttyg.chat.btn.rename_chat.label\' | translate}}</span> </button> <div class="dropdown-divider"></div> <button class="dropdown-item delete-chat-btn" type="button" ng-click="onDeleteChat(chat)"> <i class="fa fa-trash-can"></i> <span>{{\'ttyg.chat.btn.delete_chat.label\' | translate}}</span> </button> </div> </div> </div> <div class="deleting-chat-loader" ng-if="deletingChat && deletingChat.chatId === chat.id && deletingChat.inProgress" onto-loader-fancy message="{{\'ttyg.chat.deleting_chat\' | translate}}" size="25"></div> </li> </ul> </div> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=75849.d9fcfe95fed333bad2d0.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"75849.d9fcfe95fed333bad2d0.bundle.js","mappings":"uJAGA,QAFW,iqE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/chat-list.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/chat-list.css?v=3.2.0-TR3\" rel=\"stylesheet\"/> <div class=\"chat-list-component\"> <div class=\"chat-list\"> <div ng-repeat=\"chatGroup in chatList.chatsByDay\" class=\"chat-group\"> <label>{{ getHumanReadableChatGroupTimestamp(chatGroup.timestamp) }}</label> <ul> <li ng-repeat=\"chat in chatGroup.chats track by chat.hash\" class=\"chat-item\" ng-class=\"{'selected': chat.id === selectedChat.id, 'edited': renamedChat && chat.id === renamedChat.id}\"> <div ng-if=\"!deletingChat || deletingChat.chatId !== chat.id\" class=\"chat-detail\"> <div class=\"chat-name\"> <inline-editable-text field-name=\"name\" source=\"chat\" is-editing=\"chat.id && renamedChat && chat.id === renamedChat.id\" on-save=\"onRenameChat(newText, source)\" on-cancel=\"onCancelChatRenaming()\" on-dblclick=\"onSelectChatForRenaming(chat)\" on-click=\"onSelectChat(source)\" title=\"{{chat.name}}\" show-tooltip-on-overflow> </inline-editable-text> </div> <div ng-if=\"!chat.isNew() && (!renamedChat || chat.id !== renamedChat.id)\" class=\"btn-group\"> <button class=\"btn btn-link secondary btn-sm open-chat-actions-btn\" data-toggle=\"dropdown\" aria-expanded=\"false\" ng-if=\"true\" ng-click=\"openChatActionMenu()\" ng-disabled=\"false\"> <i class=\"fa fa-ellipsis\"></i> </button> <div class=\"dropdown-menu dropdown-menu-right chat-actions-menu\"> <button class=\"dropdown-item export-chat-btn\" type=\"button\" ng-click=\"onExportChat(chat)\"> <i class=\"fa fa-arrow-down-to-line\"></i> <span>{{'ttyg.chat.btn.export_chat.label' | translate}}</span> </button> <button class=\"dropdown-item rename-chat-btn\" type=\"button\" ng-click=\"onSelectChatForRenaming(chat)\"> <i class=\"fa fa-pen\"></i> <span>{{'ttyg.chat.btn.rename_chat.label' | translate}}</span> </button> <div class=\"dropdown-divider\"></div> <button class=\"dropdown-item delete-chat-btn\" type=\"button\" ng-click=\"onDeleteChat(chat)\"> <i class=\"fa fa-trash-can\"></i> <span>{{'ttyg.chat.btn.delete_chat.label' | translate}}</span> </button> </div> </div> </div> <div class=\"deleting-chat-loader\" ng-if=\"deletingChat && deletingChat.chatId === chat.id && deletingChat.inProgress\" onto-loader-fancy message=\"{{'ttyg.chat.deleting_chat' | translate}}\" size=\"25\"></div> </li> </ul> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=78250;export const __webpack_ids__=[78250];export const __webpack_modules__={78250:(o,c,e)=>{e.r(c),e.d(c,{default:()=>n});const n='<link href="css/cookie-policy.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=78250.
|
|
1
|
+
export const __webpack_id__=78250;export const __webpack_ids__=[78250];export const __webpack_modules__={78250:(o,c,e)=>{e.r(c),e.d(c,{default:()=>n});const n='<link href="css/cookie-policy.css?v=3.2.0-TR3" rel="stylesheet"/> <div class="cookie-consent-modal" ng-show="showCookieConsent"> <div class="cookie-consent-content"> <span>{{\'cookie.cookie_consent\' | translate}} <a href="#" class="btn btn-link p-0" ng-click="showCookiePolicy()">{{\'cookie.cookie_policy_url_label\' | translate}}</a>.</span> <button class="btn btn-primary" ng-click="acceptConsent()">{{\'common.ok.btn\' | translate}}</button> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=78250.c266986c29f5c73eb46a.bundle.js.map
|
package/dist/{78250.73e3013c5b2ebdddbf38.bundle.js.map → 78250.c266986c29f5c73eb46a.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"78250.
|
|
1
|
+
{"version":3,"file":"78250.c266986c29f5c73eb46a.bundle.js","mappings":"uJAGA,QAFW,8c","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/cookie-policy/cookie-consent.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/cookie-policy.css?v=3.2.0-TR3\" rel=\"stylesheet\"/> <div class=\"cookie-consent-modal\" ng-show=\"showCookieConsent\"> <div class=\"cookie-consent-content\"> <span>{{'cookie.cookie_consent' | translate}} <a href=\"#\" class=\"btn btn-link p-0\" ng-click=\"showCookiePolicy()\">{{'cookie.cookie_policy_url_label' | translate}}</a>.</span> <button class=\"btn btn-primary\" ng-click=\"acceptConsent()\">{{'common.ok.btn' | translate}}</button> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=7928;export const __webpack_ids__=[7928,49539,71920];export const __webpack_modules__={7928:(e,t,n)=>{n.r(t);var E=n(71920),a=n(76076);function _(e,t){return{restrict:"E",templateUrl:"js/angular/ttyg/templates/no-agents-view.html",scope:{},link:n=>{n.canModifyAgent=!1,n.talkToGraphDocumentationLink=a.DocumentationUrlResolver.getDocumentationUrl(t.productShortVersion,"talk-to-graph.html"),n.onCreateAgent=()=>{e.emit(E.TTYGEventName.OPEN_AGENT_SETTINGS)};const _=[];_.push(e.onCanUpdateAgentUpdated(e=>{n.canModifyAgent=e})),n.$on("$destroy",()=>{_.forEach(e=>e())})}}}angular.module("graphdb.framework.ttyg.directives.no-agents-view",[]).directive("noAgentsView",_),_.$inject=["TTYGContextService","productInfo"]},71920:(e,t,n)=>{n.r(t),n.d(t,{TTYGEventName:()=>_});var E=n(98980);function a(e){let t,n,a,T,A,C={},o=!1;const c=()=>(0,E.cloneDeep)(t),i=()=>(0,E.cloneDeep)(n),d=e=>{n=(0,E.cloneDeep)(e),N(_.CHAT_LIST_UPDATED,i())},l=e=>{n.appendChat(e),d(n)},s=()=>(0,E.cloneDeep)(a),S=e=>{a&&a.id===e.id||(a=(0,E.cloneDeep)(e),N(_.SELECT_CHAT,s()))},D=()=>(0,E.cloneDeep)(T),r=()=>(0,E.cloneDeep)(C),g=e=>!!C[e],p=()=>o,N=(t,n)=>{e.emitSync(t,(0,E.cloneDeep)(n))},L=(t,n)=>e.subscribeSync(t,e=>n(e));return{resetContext:()=>{t=void 0,n=void 0,a=void 0,T=void 0,C={},A=void 0,o=!1},emit:N,subscribe:L,getChats:i,updateChats:d,addChat:l,replaceChat:(e,t)=>{n.replaceChat(e,t),d(n)},createChat:e=>{l(e),S(e),N(_.CREATE_CHAT_SUCCESSFUL,e)},onChatsListChanged:e=>(n&&angular.isFunction(e)&&e(i()),L(_.CHAT_LIST_UPDATED,t=>e(t))),getSelectedChat:s,selectChat:S,deselectChat:()=>{a=void 0,N(_.SELECT_CHAT,s())},deleteChat:e=>{n.deleteChat(e),d(n)},onSelectedChatChanged:e=>(angular.isFunction(e)&&e(s()),L(_.SELECT_CHAT,t=>e(t))),updateSelectedChat:e=>{a&&a.id&&e&&a.id!==e.id||(a=(0,E.cloneDeep)(e),N(_.SELECTED_CHAT_UPDATED,s()))},onSelectedChatUpdated:e=>(a&&angular.isFunction(e)&&e(s()),L(_.SELECTED_CHAT_UPDATED,t=>e(t))),onLastMessageReceived:e=>(a&&angular.isFunction(e)&&e(s()),L(_.LAST_MESSAGE_RECEIVED,t=>e(t))),updateAgents:e=>{t=(0,E.cloneDeep)(e),N(_.AGENT_LIST_UPDATED,c())},onAgentsListChanged:e=>(t&&angular.isFunction(e)&&e(c()),L(_.AGENT_LIST_UPDATED,t=>e(t))),getAgents:c,getAgent:e=>{if(t)return(0,E.cloneDeep)(t.getAgent(e))},selectAgent:e=>{T=(0,E.cloneDeep)(e),N(_.AGENT_SELECTED,D())},getSelectedAgent:D,onSelectedAgentChanged:e=>(T&&angular.isFunction(e)&&e(D()),L(_.AGENT_SELECTED,t=>e(t))),getDefaultAgent:()=>(0,E.cloneDeep)(A),setDefaultAgent:e=>{A=e},setCanModifyAgent:e=>{o=(0,E.cloneDeep)(e),N(_.CAN_MODIFY_AGENT_UPDATED,p())},getCanModifyAgent:p,onCanUpdateAgentUpdated:e=>(angular.isFunction(e)&&e(p()),L(_.CAN_MODIFY_AGENT_UPDATED,t=>e(t))),hasExplainResponse:g,toggleExplainResponse:e=>{g(e)&&(C[e].expanded=!C[e].expanded,N(_.EXPLAIN_RESPONSE_CACHE_UPDATED,r()))},getExplainResponse:e=>(0,E.cloneDeep)(C[e]),addExplainResponseCache:e=>{C[e.answerId]=(0,E.cloneDeep)(e),N(_.EXPLAIN_RESPONSE_CACHE_UPDATED,r())},onExplainResponseCacheUpdated:e=>(angular.isFunction(e)&&e(r()),L(_.EXPLAIN_RESPONSE_CACHE_UPDATED,t=>e(t)))}}angular.module("graphdb.framework.ttyg.services.ttygcontext",[]).factory("TTYGContextService",a),a.$inject=["EventEmitterService","TTYGService"];const _={CREATE_CHAT:"createChat",CREATE_CHAT_SUCCESSFUL:"chatCreated",CREATE_CHAT_FAILURE:"chatCreationFailed",RENAME_CHAT:"renameChat",RENAME_CHAT_SUCCESSFUL:"chatRenamed",RENAME_CHAT_FAILURE:"chatRenamedFailure",SELECT_CHAT:"selectChat",SELECTED_CHAT_UPDATED:"selectChatUpdated",LAST_MESSAGE_RECEIVED:"lastMessageReceived",DELETING_CHAT:"deletingChat",DELETE_CHAT:"deleteChat",DELETE_CHAT_SUCCESSFUL:"chatDeleted",DELETE_CHAT_FAILURE:"chatDeletedFailure",CHAT_EXPORT:"chatExport",CHAT_EXPORT_SUCCESSFUL:"chatExportSuccess",CHAT_EXPORT_FAILURE:"chatExportFailure",CHAT_LIST_UPDATED:"chatListUpdated",ASK_QUESTION:"askQuestion",ASK_QUESTION_FAILURE:"askQuestionFailure",CONTINUE_CHAT_RUN:"continueChatRun",CANCEL_PENDING_QUESTION:"cancelPendingQuestion",PENDING_QUESTION_CANCELED_SUCCESSFUL:"pendingQuestionCanceledSuccessful",CANCEL_PENDING_QUESTION_FAILURE:"cancelPendingQuestionFailed",ASK_QUESTION_STARTING:"askQuestionStarting",LOAD_CHATS:"loadChats",LOAD_CHAT_SUCCESSFUL:"loadChatSuccess",LOAD_CHAT_FAILURE:"loadChatFailure",AGENT_LIST_UPDATED:"agentListUpdated",OPEN_AGENT_SETTINGS:"openAgentSettings",EDIT_AGENT:"editAgent",CLONE_AGENT:"cloneAgent",DELETE_AGENT:"deleteAgent",AGENT_DELETED:"agentDeleted",DELETING_AGENT:"deletingAgent",AGENT_SELECTED:"agentSelected",GO_TO_CREATE_SIMILARITY_VIEW:"goToCreateSimilarityView",GO_TO_CONNECTORS_VIEW:"goToConnectorsView",GO_TO_AUTOCOMPLETE_INDEX_VIEW:"goToAutocompleteIndexView",EXPLAIN_RESPONSE:"explainResponse",EXPLAIN_RESPONSE_CACHE_UPDATED:"explainResponseCacheUpdated",GO_TO_SPARQL_EDITOR:"openQueryInSparqlEditor",CAN_MODIFY_AGENT_UPDATED:"canModifyAgentUpdated"}}};
|
|
2
|
+
//# sourceMappingURL=7928.9ab4b363abb28bfc6bd5.bundle.js.map
|