diff --git a/backend/files/config/appsettings.json b/backend/files/config/appsettings.json index cdfc87a77b..ed75695cba 100644 --- a/backend/files/config/appsettings.json +++ b/backend/files/config/appsettings.json @@ -24,13 +24,16 @@ } }, "auth": { - "secret": "q", + "secret": "EIlp3ZDVTZTeNke4WXTusvOftNfoOwXaCld5pveoITbq0FoD8EUTKAxf2jIwK2NuElREENSehH1VqbawHQFn5oWe21aogrd7E1lvXXoYuksTPQuxb8fFn5lbO468ycIWLbDdK", "https-only": false, "valid-minutes": 720, "authentication": "crypto.password.verify" }, "sockets": { "url": "/sockets" + }, + "openai": { + "key": "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" } } } \ No newline at end of file diff --git a/backend/files/etc/system/openai/css/chat/modern-arigato.css b/backend/files/etc/system/openai/css/chat/modern-arigato.css new file mode 100644 index 0000000000..731a67498e --- /dev/null +++ b/backend/files/etc/system/openai/css/chat/modern-arigato.css @@ -0,0 +1,784 @@ +/* + * Default modern chat CSS file. + * + * Making sure we use Roboto on everything by default. + */ +@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400&display=swap"); + +/* + * Common CSS and variables. + * + * IMPORTANT: NEVER EDIT THE FOLLOWING PART!! + */ +.common { + opacity: 0; +} +/* + * Applying font for all elements. + */ +button.ainiro, +div.ainiro { + font-family: Roboto; +} +div.ainiro * { + font-family: inherit; +} + +/* Custom Arigato colors */ + +:root { + --bg-arigato-red: #e26315; + --bg-arigato-darkRed: #e26315; + --arigato-Grey: #e26315; +} + +/* + * Fade into view animation used for chatbot button and window. + */ +@keyframes ainiro_fade_into_view { + 0% { + opacity: 0; + margin-right: -100px; + } + 100% { + opacity: 1; + margin-right: 0; + } +} + +/* + * Button to open chatbot. + */ +button.ainiro { + display: block !important; + position: fixed; + bottom: 10px; + right: 10px; + width: 100px; + height: 100px; + z-index: 1000000; + cursor: pointer; + animation-name: ainiro_fade_into_view; + animation-duration: 0.4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + transition: color 0.1s ease-in-out; + background: url("https://arigato-team.us.ainiro.io/assets/images/uma-chan-icon2.png") + no-repeat center center; + background-size: contain; + border: none; + filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4)); +} +button.ainiro.ainiro_left { + left: 10px; + right: unset; +} + +/* BELOW EDITS WERE ADDED FOR THE BACKGROUND IMAGE -- GO */ + +.ainiro-icofont-chat:before { + content: ""; + display: none; +} + +button.ainiro:hover { + filter: brightness(1.2); +} + +/* + button.ainiro:hover, + button.ainiro:active, + button.ainiro:focus { + transition: color 0.1s ease-in-out; + color: var(--ainiro-link); +} + button.ainiro > i.ainiro-icofont { + font-size: 22px; + margin-left: 15px; + margin-right: 15px; +} +*/ + +/* + * Chat window itself. + */ +div.ainiro { + display: none; + position: fixed; + bottom: 10px; + right: 10px; + animation-name: ainiro_fade_into_view; + animation-duration: 0.4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + z-index: 1000001; + width: 500px; + max-width: 100%; + height: 700px; + max-height: calc(100vh - 20px); + overflow-y: hidden; + background: var(--bg-arigato-red); + border-radius: 10px; +} +div.ainiro.ainiro_left { + left: 10px; + right: unset; +} +div.ainiro.show_ainiro_chatbot { + display: block !important; + transition: all 0.25s ease-in-out; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized { + width: 100%; + height: 100%; + max-height: 100%; + right: 0; + bottom: 0; + border-radius: 0; + transition: all 0.25s ease-in-out; +} +@keyframes ainiro_fade_in_backdrop { + 0% { + background-color: rgba(0, 0, 0, 0); + } + 100% { + background-color: rgba(0, 0, 0, 0.75); + } +} +button.ainiro.ainiro_hide { + display: none !important; +} + +/* + * Toolbar. + */ +div.ainiro>div.ainiro_toolbar { + display: flex !important; + flex-direction: row; + padding: 10px 15px; + border-bottom: solid 1px rgb(0, 0, 0); +} +div.ainiro>div.ainiro_toolbar>div.ainiro_header { + width: 100%; + font-weight: bold; + font-size: 14px; + padding: 7px 0 0 0; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: var(--ainiro-color); +} + +/* + * Action buttons, close and maximize. + */ +div.ainiro>div.ainiro_toolbar>button.ainiro_action { + padding: 5px; + margin-left: 5px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action i { + color: var(--ainiro-color); + transition: color 0.1s ease-in-out; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action:hover i, +div.ainiro>div.ainiro_toolbar>button.ainiro_action:active i, +div.ainiro>div.ainiro_toolbar>button.ainiro_action:focus i { + transition: color 0.1s ease-in-out; + color: var(--arigato-Grey); +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_new_chat i { + font-size: 24px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_maximize i { + font-size: 16px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_close i { + font-size: 24px; +} +div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)>div.ainiro_toolbar>button.ainiro_maximize>i.ainiro-icofont-contract-alt { + display: none; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized>div.ainiro_toolbar>button.ainiro_maximize>i.ainiro-icofont-expand-full { + display: none; +} + +/* + * Chat window surface. + */ +div.ainiro>div.ainiro_chat_surface { + height: calc(100% - 144px); + padding: 15px 35px; + overflow-y: auto; + background: var(--ainiro-color); + border: solid; + border-color: var(--bg-arigato-red); +} + +/* + * Conversation starters. + */ +@keyframes ainiro_fade_full { + 0% { + margin-left: -50px; + opacity: 0; + } + 100% { + margin-left: 0; + opacity: 1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters { + margin-top: 55px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter { + border: solid 1px rgb(0, 0, 0); + padding: 8px 15px; + margin: 0 15px 15px 0; + font-size: 14px; + opacity: 0; + animation-name: ainiro_fade_full; + animation-duration: 0.4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + color: inherit; + transition: color 0.1s ease-in-out; + text-align: left; + color: var(--arigato-Grey); + background-color: rgba(0, 0, 0, 0.1); + border-radius: 10px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:focus { + transition: color 0.1s ease-in-out; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(1) { + animation-delay: 0.2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(2) { + animation-delay: 0.3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(3) { + animation-delay: 0.4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(4) { + animation-delay: 0.5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(5) { + animation-delay: 0.6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(6) { + animation-delay: 0.7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(7) { + animation-delay: 0.8s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_starters + > button.ainiro_starter:nth-child(8) { + animation-delay: 0.9s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_starters + > button.ainiro_starter:nth-child(9) { + animation-delay: 1s; +} + +/* + * Watermark. + */ +div.ainiro > div.ainiro_chat_surface > div.ainiro_watermark { + text-align: right; + margin-bottom: 10px; + margin-top: -10px; + font-size: 12px; + opacity: 0.4; + color: var(--arigato-Grey); +} + +div.ainiro > div.ainiro_chat_surface > div.ainiro_watermark a { + font-size: 12px; + color: var(--ainiro-link); +} + +/* + * Chat messages from human or machine. + */ +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine, +div.ainiro > div.ainiro_chat_surface > div.ainiro_human { + margin-block: 40px; + font-size: 16px; + text-align: justify; + position: relative; + padding: 15px; + color: var(--arigato-Grey); + background-color: rgba(0, 0, 0, 0.1); + border: solid 1px rgb(0, 0, 0); + border-radius: 10px; +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine:after, +div.ainiro > div.ainiro_chat_surface > div.ainiro_human:after { + content: ""; + background-size: 40px 40px; + width: 40px; + height: 40px; + position: absolute; + border-radius: 50%; + bottom: -18px; + border: solid 1px rgb(0, 0, 0); +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine { + margin-right: 0; +} +@keyframes ainiro_fade_in_left { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity: 0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity: 1; + } +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine.ainiro_question { + opacity: 0; + animation-name: ainiro_fade_in_left; + animation-duration: 0.4s; + animation-delay: 0.25s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine:after { + background-image: url("https://arigato-team.us.ainiro.io/assets/images/machine-icon3.png"); + left: 0; + bottom: -30px; +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_human { + margin-left: 0; +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_human:after { + background-image: url("https://ainiro.io/assets/images/misc/human5.png"); + right: 0; +} +@keyframes ainiro_fade_from_right { + 0% { + opacity: 0; + margin-right: -100px; + margin-left: 100px; + } + 100% { + opacity: 1; + margin-right: 0; + margin-left: 0; + } +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_human.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_right; + animation-duration: 0.4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine.ainiro_error { + background-color: rgba(255, 0, 0, 0.2); +} +@keyframes ainiro_fade_from_left { + 0% { + opacity: 0; + margin-left: -100px; + margin-right: 100px; + } + 100% { + opacity: 1; + margin-left: 0; + margin-right: 0; + } +} +div.ainiro > div.ainiro_chat_surface > div.ainiro_machine.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_left; + animation-duration: 0.4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + animation-delay: 0.4s; + margin-right: 50px; +} + +/* + * Wait animation items shown while we're waiting for server to return data. + */ +@keyframes ainiro_jump { + 0% { + bottom: 0px; + } + 20% { + bottom: 5px; + } + 40% { + bottom: 0px; + } +} +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> p> span.ainiro-dot { + position: relative; + animation: ainiro_jump 1s infinite; + display: inline-block; + width: 16px; + height: 16px; + border-radius: 50%; + margin-right: 3px; + color: var(--arigato-Grey); + background-color: var(--arigato-Grey); +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > p + > span.ainiro-dot.ainiro-dot-1 { + animation-delay: 150ms; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > p + > span.ainiro-dot.ainiro-dot-2 { + animation-delay: 300ms; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > p + > span.ainiro-dot.ainiro-dot-3 { + animation-delay: 450ms; +} + +/* + * References. + */ +@keyframes ainiro_fade_in_left_full_width { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity: 0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity: 1; + } +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references { + display: block; + padding-left: 0; + margin-top: 25px; + padding-left: 30px; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li { + list-style-type: decimal; + color: #999 !important; + animation-name: ainiro_fade_in_left_full_width; + animation-duration: 0.4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + opacity: 0; + display: list-item; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(1) { + animation-delay: 0.1s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(2) { + animation-delay: 0.2s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(3) { + animation-delay: 0.3s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(4) { + animation-delay: 0.4s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(5) { + animation-delay: 0.5s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(6) { + animation-delay: 0.6s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(7) { + animation-delay: 0.7s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(8) { + animation-delay: 0.8s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(9) { + animation-delay: 0.9s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(10) { + animation-delay: 1s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(11) { + animation-delay: 1.1s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(12) { + animation-delay: 1.2s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(13) { + animation-delay: 1.3s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(14) { + animation-delay: 1.4s; +} +div.ainiro + > div.ainiro_chat_surface + > div.ainiro_machine + > ul.ainiro_references + > li:nth-child(15) { + animation-delay: 1.5s; +} +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li:nth-child(16) { + animation-delay: 1.6s; +} +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li:nth-child(17) { + animation-delay: 1.7s; +} +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li:nth-child(18) { + animation-delay: 1.8s; +} +div.ainiro + > div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li:nth-child(19) { + animation-delay: 1.9s; +} +div.ainiro + > div.ainiro_chat_surface > div.ainiro_machine> ul.ainiro_references> li:nth-child(20) { + animation-delay: 2s; +} +div.ainiro + > div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li> a { + text-decoration: none; + padding: 5px 15px; + overflow-x: hidden; + text-overflow: ellipsis; + display: block; + white-space: nowrap; + width: 100%; + border-radius: 5px; + transition: background-color 0.1s ease-in-out; + box-sizing: border-box; + color: var(--ainiro-link); +} +div.ainiro + > div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li> a:hover, +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li> a:active, +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> ul.ainiro_references> li> a:focus { + background-color: rgba(0, 0, 0, 0.2); + transition: background-color 0.1s ease-in-out; +} + +/* + * Form elements. + */ +div.ainiro > form.ainiro_form { + position: absolute; + bottom: 10px; + left: -20px; + width: 100%; + z-index: 1; + box-sizing: border-box; + display: flex; + flex-direction: row; + padding-left: 36px; +} +div.ainiro > form.ainiro_form > input.ainiro_query { + display: block; + width: 100%; + padding: 8px 15px; + outline: none; + font-size: 18px; + color: #555 !important; + background-color: #fefefe; + box-sizing: border-box; + border: none; + font-family: inherit; + border-radius: 10px 0 0 10px; +} +div.ainiro > form.ainiro_form > input.ainiro_query::placeholder { + color: rgb(180, 180, 180) !important; +} +div.ainiro > form.ainiro_form > button.ainiro_send { + outline: none; + padding: 0 25px; + border: none; + font-size: 20px; + transition: color 0.4s ease-in-out; + cursor: pointer; + background: linear-gradient(var(--bg-arigato-start), var(--bg-arigato-end)); + border-radius: 0 10px 10px 0; +} +div.ainiro > form.ainiro_form > button.ainiro_send:disabled { + cursor: not-allowed !important; +} +div.ainiro > form.ainiro_form > button.ainiro_send i { + transition: color 0.4s ease-in-out, opacity 0.4s ease-in-out; + color: var(--ainiro-color); +} +div.ainiro > form.ainiro_form > button.ainiro_send:hover i, +div.ainiro > form.ainiro_form > button.ainiro_send:active i, +div.ainiro > form.ainiro_form > button.ainiro_send:focus i { + color: var(--ainiro-link); +} +div.ainiro > form.ainiro_form > button.ainiro_send:disabled i { + opacity: 0.1; + transition: color 0.4s ease-in-out, opacity 0.4s ease-in-out; + cursor: not-allowed !important; +} + +/* + * Phone specific CSS. + */ +@keyframes ainiro_fade_in_left_2 { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity: 0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity: 1; + } +} +@keyframes ainiro_fade_in_right_2 { + 0% { + margin-right: -100px; + margin-left: 100px; + opacity: 0; + } + 100% { + margin-right: 0; + margin-left: 0; + opacity: 1; + } +} +@media (max-width: 768px) { + div.ainiro.show_ainiro_chatbot { + right: 0; + bottom: 0; + width: 100%; + height: 100%; + } + div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)> div.ainiro_toolbar> button.ainiro_maximize { + display: none; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_machine, + div.ainiro > div.ainiro_chat_surface > div.ainiro_human { + text-align: left; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_machine { + margin-right: 0; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_human.ainiro_just_added { + animation-name: ainiro_fade_in_right_2; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_human { + margin-left: 0; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_machine.ainiro_just_added { + animation-name: ainiro_fade_in_left_2; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_machine.ainiro_just_added { + margin-right: 0; + } + div.ainiro > div.ainiro_chat_surface > div.ainiro_human.ainiro_just_added { + margin-left: 0; + } + div.ainiro > div.ainiro_toolbar { + border-radius: 0; + margin-top: 0; + } +} + +/* + * Copy response button. + */ +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> button.ainiro_copy_response { + position: absolute !important; + bottom: 10px !important; + right: 10px !important; + background-color: transparent !important; + border: none !important; + cursor: pointer !important; + opacity: 0.5 !important; + transition: opacity 0.1s ease-in-out !important; +} +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> button.ainiro_copy_response:hover,div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> button.ainiro_copy_response:active,div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> button.ainiro_copy_response:focus { + opacity: 1 !important; + transition: opacity 0.1s ease-in-out !important; +} +div.ainiro> div.ainiro_chat_surface> div.ainiro_machine> button.ainiro_copy_response i { + font-size: 16px !important; + color: var(--arigato-Grey); +} diff --git a/backend/files/etc/system/openai/css/chat/modern-caroline.css b/backend/files/etc/system/openai/css/chat/modern-caroline.css new file mode 100644 index 0000000000..6a06ed87b1 --- /dev/null +++ b/backend/files/etc/system/openai/css/chat/modern-caroline.css @@ -0,0 +1,715 @@ + +/* + * Default modern chat CSS file. + * + * Making sure we use Montserrat on everything by default. + */ +@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap'); + +/* + * Common CSS and variables. + */ +.common{opacity:0} + +/* + * Applying font for all elements. + */ +button.ainiro, +div.ainiro { + font-family: Montserrat; +} +div.ainiro * { + font-family: inherit; +} + +/* + * Fade into view animation used for chatbot button and window. + */ +@keyframes ainiro_fade_into_view { + 0% { + opacity: 0; + margin-right: -100px; + } + 100% { + opacity: 1; + margin-right: 0; + } +} + +/* + * Button to open chatbot. + */ +/* Chatbot launch button */ + +button.ainiro { + display: flex !important; /* flexbox for side-by-side layout */ + align-items: center; /* vertical centering */ + justify-content: center; /* keeps everything centered as a group */ + position: fixed; + bottom: 10px; + right: 10px; + padding: 10px 18px; + font-size: 18px; + z-index: 1000000; + cursor: pointer; + font-weight: bold; + animation-name: ainiro_fade_into_view; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + transition: color .1s ease-in-out; + border-radius: 10px; + background: #ED1C71; /* solid pink background */ + color: #FFFFFF; + font-family: Montserrat; + text-align: left; /* not needed with flex, but safer */ +} + +/* Move button to left if needed */ +button.ainiro.ainiro_left { + left: 10px; + right: unset; +} + +/* Avatar inside the button */ +button.ainiro::before { + content: ''; + background-image: url('https://butlerseattle-team.us.ainiro.io/assets/images/sassie.jpg'); + background-size: cover; + background-position: center; + width: 40px; + height: 40px; + border-radius: 50%; + margin-right: 10px; + flex-shrink: 0; /* don’t let it shrink on small screens */ +} + + +button.ainiro>i.ainiro-icofont { + font-size: 24px; + margin-left: 12px; + margin-right: 12px; +} + +/* + * Chat window itself. + */ +div.ainiro { + display: none; + position: fixed; + bottom: 0; + right: 0; + animation-name: ainiro_fade_into_view; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + z-index: 1000001; + width: 510px; + max-width: 100%; + height: 60vh; + overflow-y: hidden; + background: transparent; +} +div.ainiro.ainiro_left { + left: 10px; + right: unset; +} +div.ainiro.show_ainiro_chatbot { + display: block !important; + transition: all .25s ease-in-out; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized { + width: 100%; + height: 100%; + transition: all .25s ease-in-out; +} +@keyframes ainiro_fade_in_backdrop { + 0% { + background-color: rgba(0,0,0,0); + } + 100% { + background-color: rgba(0,0,0,.75); + } +} +button.ainiro.ainiro_hide:after { + content: ''; + position: fixed; + z-index: 1000000; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + animation-name: ainiro_fade_in_backdrop; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + cursor: default; +} +@keyframes ainiro_hide_button { + 0% { + height: auto; + bottom: 10px; + } + 80% { + height: auto; + bottom: 10px; + } + 100% { + height: 5px; + bottom: 20px; + } +} +button.ainiro.ainiro_hide { + animation-name: ainiro_hide_button; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} + +/* + * Toolbar. + */ +div.ainiro>div.ainiro_toolbar { + display: flex !important; + flex-direction: row; + padding: 10px 15px; + margin-top: 15px; + border-radius: 10px; + background: #127cc0; + border:solid 1px #fafafa; +} +div.ainiro>div.ainiro_toolbar>div.ainiro_header { + width: 100%; + font-weight: bold; + font-size: 16px; + padding:7px 0 0 0; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color:var(--ainiro-color); +} + +/* + * Action buttons, close and maximize. + */ + div.ainiro>div.ainiro_toolbar>button.ainiro_action { + padding: 5px; + margin-left: 5px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action i { + color:var(--ainiro-color); + transition: color .1s ease-in-out; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action:hover i, +div.ainiro>div.ainiro_toolbar>button.ainiro_action:active i, +div.ainiro>div.ainiro_toolbar>button.ainiro_action:focus i { + transition: color .1s ease-in-out; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_new_chat i { + font-size:26px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_maximize i { + font-size:18px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_close i { + font-size:26px; +} +div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)>div.ainiro_toolbar>button.ainiro_maximize>i.ainiro-icofont-contract-alt { + display: none; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized>div.ainiro_toolbar>button.ainiro_maximize>i.ainiro-icofont-expand-full { + display: none; +} + +/* + * Chat window surface. + */ +div.ainiro>div.ainiro_chat_surface { + background-color: transparent; + height: calc(100% - 158px); + padding: 15px 35px; + overflow-y: auto; +} + +/* + * Conversation starters. + */ +@keyframes ainiro_fade_full { + 0% { + margin-left: -50px; + opacity:0; + } + 100% { + margin-left: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters { + margin-top: 55px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter { + border: solid 1px rgb(0,0,0); + padding: 8px 15px; + margin: 0 15px 15px 0; + font-size: 14px; + opacity: 0; + animation-name: ainiro_fade_full; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + color: inherit; + transition: color .1s ease-in-out; + text-align: left; + border-radius: 10px; + background: #127cc0; + color: var(--ainiro-color); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:focus { + transition: color .1s ease-in-out; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(1) { + animation-delay: .2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(2) { + animation-delay: .3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(3) { + animation-delay: .4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(4) { + animation-delay: .5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(5) { + animation-delay: .6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(6) { + animation-delay: .7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(7) { + animation-delay: .8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(8) { + animation-delay: .9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(9) { + animation-delay: 1s; +} + +/* + * Watermark. + */ + div.ainiro>div.ainiro_chat_surface>div.ainiro_watermark { + text-align: right; + margin-bottom: 10px; + margin-top: -10px; + font-size: 12px; + opacity: .75; + color:var(--ainiro-color); +} + +div.ainiro>div.ainiro_chat_surface>div.ainiro_watermark a { + font-size: 12px; + color:var(--ainiro-link); +} + +/* + * Chat messages from human or machine. + */ +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine, +div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-bottom: 25px; + font-size: 18px; + word-spacing: 2px; + text-align: left; + position: relative; + border-radius: 10px; + padding: 25px 28px; + background: #127cc0; + color: var(--ainiro-color); + border: solid 1px #fafafa; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine:after, +div.ainiro>div.ainiro_chat_surface>div.ainiro_human:after { + content:''; + background-size: cover; + width: 67px; + height: 67px; + position: absolute; + filter: grayscale(80%); + border-radius: 50%; + bottom: -40px; + border: solid 1px rgb(0,0,0); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine { + margin-right: 50px; +} +@keyframes ainiro_fade_in_left { + 0% { + margin-left: -100px; + margin-right: 150px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 50px; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_question { + opacity: 0; + animation-name: ainiro_fade_in_left; + animation-duration: .4s; + animation-delay: .25s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine:after { + background-image: url('https://butlerseattle-team.us.ainiro.io/assets/images/sassie.jpg'); + left: -28px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-left: 50px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human:after { + background-image: url('https://ainiro.io/assets/images/misc/human5.png'); + right: -28px; +} +@keyframes ainiro_fade_from_right { + 0% { + opacity: 0; + margin-right: -100px; + margin-left: 150px; + } + 100% { + opacity: 1; + margin-right: 0; + margin-left: 50; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_right; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_error { + background-color: rgba(255,0,0,.2); +} +@keyframes ainiro_fade_from_left { + 0% { + opacity: 0; + margin-left: -100px; + margin-right: 150px; + } + 100% { + opacity: 1; + margin-left: 0; + margin-right: 50px; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_left; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + animation-delay: .400s; + margin-right: 50px; +} + +/* + * Wait animation items shown while we're waiting for server to return data. + */ +@keyframes ainiro_jump { + 0% { + bottom: 0px; + } + 20% { + bottom: 5px; + } + 40% { + bottom: 0px; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot { + position: relative; + animation: ainiro_jump 1s infinite; + display: inline-block; + width: 16px; + height: 16px; + border-radius: 50%; + margin-right: 3px; + background-color: var(--ainiro-color); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-1 { + animation-delay: 150ms; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-2 { + animation-delay: 300ms; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-3 { + animation-delay: 450ms; +} + +/* + * References. + */ + @keyframes ainiro_fade_in_left_full_width { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references { + display: block; + padding-left: 0; + margin-top: 25px; + padding-left: 30px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li { + list-style-type:decimal; + color: #999 !important; + animation-name: ainiro_fade_in_left_full_width; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + opacity: 0; + display: list-item; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(1) { + animation-delay: .1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(2) { + animation-delay: .2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(3) { + animation-delay: .3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(4) { + animation-delay: .4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(5) { + animation-delay: .5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(6) { + animation-delay: .6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(7) { + animation-delay: .7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(8) { + animation-delay: .8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(9) { + animation-delay: .9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(10) { + animation-delay: 1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(11) { + animation-delay: 1.1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(12) { + animation-delay: 1.2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(13) { + animation-delay: 1.3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(14) { + animation-delay: 1.4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(15) { + animation-delay: 1.5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(16) { + animation-delay: 1.6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(17) { + animation-delay: 1.7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(18) { + animation-delay: 1.8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(19) { + animation-delay: 1.9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(20) { + animation-delay: 2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a { + text-decoration: none; + padding: 5px 15px; + overflow-x: hidden; + text-overflow: ellipsis; + display: block; + white-space: nowrap; + width: 100%; + border-radius:5px; + transition: background-color .1s ease-in-out; + box-sizing: border-box; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:focus { + background-color: rgba(0,0,0,.2); + transition: background-color .1s ease-in-out; +} + +/* + * Form elements. + */ + div.ainiro>form.ainiro_form { + position: absolute; + bottom: 15px; + left: 0; + width: 100%; + z-index: 1; + box-sizing: border-box; + display: flex; + flex-direction: row; + padding: 0 10px; +} +div.ainiro>form.ainiro_form>input.ainiro_query { + display: block; + width: 100%; + padding: 8px 15px; + outline: none; + font-size: 20px; + color: #555 !important; + background-color: #fefefe; + box-sizing: border-box; + border: none; + font-family: inherit; + border-radius: 10px 0 0 10px; +} +div.ainiro>form.ainiro_form>input.ainiro_query::placeholder { + color: rgb(180,180,180) !important; +} +div.ainiro>form.ainiro_form>button.ainiro_send { + outline: none; + padding: 0 25px; + border: none; + font-size: 20px; + transition: color .4s ease-in-out; + border-radius: 0 10px 10px 0; + cursor: pointer; + background: #127cc0; +} +div.ainiro>form.ainiro_form>button.ainiro_send:disabled { + cursor: not-allowed !important; +} +div.ainiro>form.ainiro_form>button.ainiro_send i { + transition: color .4s ease-in-out, opacity .4s ease-in-out; + color: var(--ainiro-color); +} +div.ainiro>form.ainiro_form>button.ainiro_send:hover i, +div.ainiro>form.ainiro_form>button.ainiro_send:active i, +div.ainiro>form.ainiro_form>button.ainiro_send:focus i { + color: var(--ainiro-link); +} +div.ainiro>form.ainiro_form>button.ainiro_send:disabled i { + opacity: 0.1; + transition: color .4s ease-in-out, opacity .4s ease-in-out; + cursor: not-allowed !important; +} + +/* + * Phone specific CSS. + */ + @keyframes ainiro_fade_in_left_2 { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +@keyframes ainiro_fade_in_right_2 { + 0% { + margin-right: -100px; + margin-left: 100px; + opacity:0; + } + 100% { + margin-right: 0; + margin-left: 0; + opacity:1; + } +} +@media (max-width: 768px) { + div.ainiro.show_ainiro_chatbot { + right: 0; + bottom: 0; + width: 100%; + height: 100%; + } + div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)>div.ainiro_toolbar>button.ainiro_maximize { + display: none; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine, + div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + text-align: left; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine { + margin-right: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + animation-name: ainiro_fade_in_right_2; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-left: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + animation-name: ainiro_fade_in_left_2; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + margin-right: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + margin-left: 0; + } + div.ainiro>div.ainiro_toolbar { + border-radius: 0; + margin-top: 0; + } +} + +/* + * Copy response button. + */ +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response { + position:absolute !important; + bottom: 10px !important; + right: 10px !important; + background-color: transparent !important; + border: none !important; + cursor: pointer !important; + opacity: .5 !important; + transition: opacity .1s ease-in-out !important; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:focus { + opacity: 1 !important; + transition: opacity .1s ease-in-out !important; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response i { + font-size: 20px !important; + color: var(--ainiro-color); +} diff --git a/backend/files/etc/system/openai/css/chat/modern-nicole.css b/backend/files/etc/system/openai/css/chat/modern-nicole.css new file mode 100644 index 0000000000..6a4d5d0c39 --- /dev/null +++ b/backend/files/etc/system/openai/css/chat/modern-nicole.css @@ -0,0 +1,692 @@ + +/* + * Default modern chat CSS file. + * + * Making sure we use Roboto on everything by default. + */ +@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap'); + +/* + * Common CSS and variables. + */ +.common{opacity:0} + +/* + * Applying font for all elements. + */ +button.ainiro, +div.ainiro { + font-family: Roboto; +} +div.ainiro * { + font-family: inherit; +} + +/* + * Fade into view animation used for chatbot button and window. + */ +@keyframes ainiro_fade_into_view { + 0% { + opacity: 0; + margin-right: -100px; + } + 100% { + opacity: 1; + margin-right: 0; + } +} + +/* + * Button to open chatbot. + */ +button.ainiro { + display: block !important; + position: fixed; + bottom: 10px; + right: 10px; + padding: 15px 35px; + font-size: 16px; + z-index: 1000000; + cursor: pointer; + font-weight: bold; + text-align: center; + animation-name: ainiro_fade_into_view; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + transition: color .1s ease-in-out; + background: #808080; + color: #ffffff; + border-radius: 50px; +} +button.ainiro.ainiro_left { + left: 10px; + right: unset; +} +button.ainiro:hover, +button.ainiro:active, +button.ainiro:focus { + transition: color .1s ease-in-out; + color:var(--ainiro-link); +} +button.ainiro>i.ainiro-icofont { + font-size: 22px; + margin-left: 15px; + margin-right: 15px; +} + +/* + * Chat window itself. + */ +div.ainiro { + display: none; + position: fixed; + bottom: 10px; + right: 10px; + margin-left:10px; + animation-name: ainiro_fade_into_view; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + z-index: 1000001; + width: 450px; + height: 700px; + max-height: calc(100vh - 20px) !important; + overflow: hidden !important; + box-sizing: border-box !important; + border-radius: 12px !important; + overflow-y: hidden; + background: linear-gradient(var(--ainiro-bg-start), var(--ainiro-bg-end)); + border-radius: 10px; + + @media (max-width: 600px) { + left:20px; + padding-right:20px; + } +} +div.ainiro.ainiro_left { + left: 10px; + right: unset; +} +div.ainiro.show_ainiro_chatbot { + display: block !important; + transition: all .25s ease-in-out; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized { + width: 100%; + height: 100%; + max-height: 100%; + right:0; + bottom:0; + border-radius: 0; + transition: all .25s ease-in-out; +} +@keyframes ainiro_fade_in_backdrop { + 0% { + background-color: rgba(0,0,0,0); + } + 100% { + background-color: rgba(0,0,0,.75); + } +} +button.ainiro.ainiro_hide { + display:none !important; +} + +/* + * Toolbar. + */ +div.ainiro>div.ainiro_toolbar { + display: flex !important; + flex-direction: row; + padding: 10px 15px; + border-bottom: solid 1px rgb(0,0,0); +} +div.ainiro>div.ainiro_toolbar>div.ainiro_header { + width: 100%; + font-weight: bold; + font-size: 14px; + padding:7px 0 0 0; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color:var(--ainiro-color); +} + +/* + * Action buttons, close and maximize. + */ +div.ainiro>div.ainiro_toolbar>button.ainiro_action { + padding: 5px; + margin-left: 5px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action i { + color:var(--ainiro-color); + transition: color .1s ease-in-out; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action:hover i, +div.ainiro>div.ainiro_toolbar>button.ainiro_action:active i, +div.ainiro>div.ainiro_toolbar>button.ainiro_action:focus i { + transition: color .1s ease-in-out; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_new_chat i { + font-size:24px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_maximize i { + font-size:16px; +} +div.ainiro>div.ainiro_toolbar>button.ainiro_action.ainiro_close i { + font-size:24px; +} +div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)>div.ainiro_toolbar>button.ainiro_maximize>i.ainiro-icofont-contract-alt { + display: none; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized>div.ainiro_toolbar>button.ainiro_maximize>i.ainiro-icofont-expand-full { + display: none; +} + +/* + * Chat window surface. + */ +div.ainiro>div.ainiro_chat_surface { + height: calc(100% - 144px); + padding: 15px 35px; + overflow-y: auto; +} + +/* + * Conversation starters. + */ +@keyframes ainiro_fade_full { + 0% { + margin-left: -50px; + opacity:0; + } + 100% { + margin-left: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters { + margin-top: 55px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter { + border: solid 1px rgb(0,0,0); + padding: 8px 15px; + margin: 0 15px 15px 0; + font-size: 14px; + opacity: 0; + animation-name: ainiro_fade_full; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + color: inherit; + transition: color .1s ease-in-out; + text-align: left; + color: var(--ainiro-color); + background-color: rgba(0,0,0,.1); + border-radius: 10px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:focus { + transition: color .1s ease-in-out; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(1) { + animation-delay: .2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(2) { + animation-delay: .3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(3) { + animation-delay: .4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(4) { + animation-delay: .5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(5) { + animation-delay: .6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(6) { + animation-delay: .7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(7) { + animation-delay: .8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(8) { + animation-delay: .9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(9) { + animation-delay: 1s; +} + +/* + * Watermark. + */ + div.ainiro>div.ainiro_chat_surface>div.ainiro_watermark { + text-align: right; + margin-bottom: 10px; + margin-top: -10px; + font-size: 12px; + opacity: .4; + color:var(--ainiro-color); +} + +div.ainiro>div.ainiro_chat_surface>div.ainiro_watermark a { + font-size: 12px; + color:var(--ainiro-link); +} + +/* + * Chat messages from human or machine. + */ +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine, +div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-bottom: 55px; + font-size: 16px; + text-align: justify; + position: relative; + padding: 35px; + color: var(--ainiro-color); + background-color: rgba(0,0,0,.1); + border: solid 1px rgb(0,0,0); + border-radius: 10px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine:after, +div.ainiro>div.ainiro_chat_surface>div.ainiro_human:after { + content:''; + background-size: 40px 40px; + width: 40px; + height: 40px; + position: absolute; + filter: grayscale(100%); + border-radius: 50%; + bottom: -18px; + border: solid 1px rgb(0,0,0); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine { + margin-right: 0; +} +@keyframes ainiro_fade_in_left { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_question { + opacity: 0; + animation-name: ainiro_fade_in_left; + animation-duration: .4s; + animation-delay: .25s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine:after { + background-image: url('https://nicolefrolick-team.us.ainiro.io/assets/images/nicoleicon.png'); + left: -18px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-left: 0; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human:after { + background-image: url('https://ainiro.io/assets/images/misc/human5.png'); + right: -18px; +} +@keyframes ainiro_fade_from_right { + 0% { + opacity: 0; + margin-right: -100px; + margin-left: 100px; + } + 100% { + opacity: 1; + margin-right: 0; + margin-left: 0; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_right; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_error { + background-color: rgba(255,0,0,.2); +} +@keyframes ainiro_fade_from_left { + 0% { + opacity: 0; + margin-left: -100px; + margin-right: 100px; + } + 100% { + opacity: 1; + margin-left: 0; + margin-right: 0; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_left; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + animation-delay: .400s; + margin-right: 50px; +} + +/* + * Wait animation items shown while we're waiting for server to return data. + */ +@keyframes ainiro_jump { + 0% { + bottom: 0px; + } + 20% { + bottom: 5px; + } + 40% { + bottom: 0px; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot { + position: relative; + animation: ainiro_jump 1s infinite; + display: inline-block; + width: 16px; + height: 16px; + border-radius: 50%; + margin-right: 3px; + background-color: var(--ainiro-color); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-1 { + animation-delay: 150ms; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-2 { + animation-delay: 300ms; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-3 { + animation-delay: 450ms; +} + +/* + * References. + */ + @keyframes ainiro_fade_in_left_full_width { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references { + display: block; + padding-left: 0; + margin-top: 25px; + padding-left: 30px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li { + list-style-type:decimal; + color: #999 !important; + animation-name: ainiro_fade_in_left_full_width; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + opacity: 0; + display: list-item; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(1) { + animation-delay: .1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(2) { + animation-delay: .2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(3) { + animation-delay: .3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(4) { + animation-delay: .4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(5) { + animation-delay: .5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(6) { + animation-delay: .6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(7) { + animation-delay: .7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(8) { + animation-delay: .8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(9) { + animation-delay: .9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(10) { + animation-delay: 1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(11) { + animation-delay: 1.1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(12) { + animation-delay: 1.2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(13) { + animation-delay: 1.3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(14) { + animation-delay: 1.4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(15) { + animation-delay: 1.5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(16) { + animation-delay: 1.6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(17) { + animation-delay: 1.7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(18) { + animation-delay: 1.8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(19) { + animation-delay: 1.9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(20) { + animation-delay: 2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a { + text-decoration: none; + padding: 5px 15px; + overflow-x: hidden; + text-overflow: ellipsis; + display: block; + white-space: nowrap; + width: 100%; + border-radius:5px; + transition: background-color .1s ease-in-out; + box-sizing: border-box; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:focus { + background-color: rgba(0,0,0,.2); + transition: background-color .1s ease-in-out; +} + +/* + * Form elements. + */ + div.ainiro>form.ainiro_form { + position: absolute; + bottom: 15px; + left: 0; + width: 100%; + z-index: 1; + box-sizing: border-box; + display: flex; + flex-direction: row; + padding: 0 36px; +} +div.ainiro>form.ainiro_form>input.ainiro_query { + display: block; + width: 100%; + padding: 8px 15px; + outline: none; + font-size: 18px; + color: #555 !important; + background-color: #fefefe; + box-sizing: border-box; + border: none; + font-family: inherit; + border-radius: 10px 0 0 10px; +} +div.ainiro>form.ainiro_form>input.ainiro_query::placeholder { + color: rgb(180,180,180) !important; +} +div.ainiro>form.ainiro_form>button.ainiro_send, +div.ainiro>form.ainiro_form>button.ainiro_attachments { + outline: none; + padding: 0 25px; + border: none; + font-size: 20px; + transition: color .4s ease-in-out; + cursor: pointer; + background: linear-gradient(var(--ainiro-bg-start), var(--ainiro-bg-end)); +} +div.ainiro>form.ainiro_form>button.ainiro_send { + border-radius: 0 10px 10px 0; + border-left: solid 1px rgba(0,0,0,.4); +} +div.ainiro>form.ainiro_form>button.ainiro_send:disabled, +div.ainiro>form.ainiro_form>button.ainiro_attachments:disabled { + cursor: not-allowed !important; +} +div.ainiro>form.ainiro_form>button.ainiro_send i, +div.ainiro>form.ainiro_form>button.ainiro_attachments i { + transition: color .4s ease-in-out, opacity .4s ease-in-out; + color: var(--ainiro-color); +} +div.ainiro>form.ainiro_form>button.ainiro_send:hover i, +div.ainiro>form.ainiro_form>button.ainiro_send:active i, +div.ainiro>form.ainiro_form>button.ainiro_send:focus i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:hover i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:active i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:focus i { + color: var(--ainiro-link); +} +div.ainiro>form.ainiro_form>button.ainiro_send:disabled i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:disabled i { + opacity: 0.1; + transition: color .4s ease-in-out, opacity .4s ease-in-out; + cursor: not-allowed !important; +} + +/* + * Phone specific CSS. + */ + @keyframes ainiro_fade_in_left_2 { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +@keyframes ainiro_fade_in_right_2 { + 0% { + margin-right: -100px; + margin-left: 100px; + opacity:0; + } + 100% { + margin-right: 0; + margin-left: 0; + opacity:1; + } +} +@media (max-width: 768px) { + div.ainiro.show_ainiro_chatbot { + right: 0; + bottom: 0; + width: 100%; + height: 100%; + } + div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)>div.ainiro_toolbar>button.ainiro_maximize { + display: none; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine, + div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + text-align: left; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine { + margin-right: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + animation-name: ainiro_fade_in_right_2; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-left: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + animation-name: ainiro_fade_in_left_2; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + margin-right: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + margin-left: 0; + } + div.ainiro>div.ainiro_toolbar { + border-radius: 0; + margin-top: 0; + } +} + +/* + * Copy response button. + */ +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response { + position:absolute !important; + bottom: 10px !important; + right: 10px !important; + background-color: transparent !important; + border: none !important; + cursor: pointer !important; + opacity: .5 !important; + transition: opacity .1s ease-in-out !important; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:focus { + opacity: 1 !important; + transition: opacity .1s ease-in-out !important; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response i { + font-size: 16px !important; + color: var(--ainiro-color); +} + +button.ainiro_hidden, +html>body.ainiro_bdy button.ainiro_hidden { + display: none !important; +} \ No newline at end of file diff --git a/backend/files/misc/common-startup-files/default-files/barnabas-workflows/patch-conversation-starters.md b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/patch-conversation-starters.md new file mode 100644 index 0000000000..43556ad575 --- /dev/null +++ b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/patch-conversation-starters.md @@ -0,0 +1 @@ +go into nicole machine type and patch her conversation starter, add "Hello, I we have a new product" to it \ No newline at end of file diff --git a/backend/files/misc/common-startup-files/default-files/barnabas-workflows/read-update-embed-script.md b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/read-update-embed-script.md new file mode 100644 index 0000000000..1ecf2de578 --- /dev/null +++ b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/read-update-embed-script.md @@ -0,0 +1 @@ +go into nicole.html and change the theme to modern-arigato, history to true, and attachments to false \ No newline at end of file diff --git a/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-ai-type-greeting.md b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-ai-type-greeting.md new file mode 100644 index 0000000000..48aa6b291f --- /dev/null +++ b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-ai-type-greeting.md @@ -0,0 +1 @@ +go into Nicole ai type and change the greetings to "what do you want to know" \ No newline at end of file diff --git a/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-conversation-starters.md b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-conversation-starters.md new file mode 100644 index 0000000000..3ef5a3bca4 --- /dev/null +++ b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-conversation-starters.md @@ -0,0 +1 @@ +go into nicole machine type and update her conversation starter, replace everthing with "Hello, I we have a new product" to it \ No newline at end of file diff --git a/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-machine-learning-type.md b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-machine-learning-type.md new file mode 100644 index 0000000000..1d761f11a4 --- /dev/null +++ b/backend/files/misc/common-startup-files/default-files/barnabas-workflows/update-machine-learning-type.md @@ -0,0 +1 @@ +update the llm chat model type of Nicole machine learning to get 3.5 turbo. if it does not exist , create it -- Did not work \ No newline at end of file diff --git a/backend/files/system/openai/front.files/chat/modern-first.css b/backend/files/system/openai/front.files/chat/modern-first.css new file mode 100644 index 0000000000..63424b19c8 --- /dev/null +++ b/backend/files/system/openai/front.files/chat/modern-first.css @@ -0,0 +1,671 @@ + +/* + * Default modern chat CSS file. + * + * Making sure we use Roboto on everything by default. + */ +@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400&display=swap'); + +/* + * Common CSS and variables. + */ +.common{opacity:0} + +/* + * Applying font for all elements. + */ +.ainiro, +.ainiro *:not(.hljs_ignore):not(.hljs_ignore *) { + font-family: Roboto; +} + +/* + * Fade into view animation used for chatbot button and window. + */ +@keyframes ainiro_fade_into_view { + 0% { + opacity: 0; + margin-right: -100px; + } + 100% { + opacity: 1; + margin-right: 0; + } +} + +/* + * Button to open chatbot. + */ +button.ainiro { + display: block !important; + position: fixed; + bottom: 10px; + right: 10px; + padding: 15px 35px; + font-size: 16px; + z-index: 1000000; + cursor: pointer; + font-weight: bold; + text-align: center; + animation-name: ainiro_fade_into_view; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + transition: color .1s ease-in-out; + background: linear-gradient(var(--ainiro-bg-start), var(--ainiro-bg-end)); + color:var(--ainiro-color); + border-radius: 50px; + border: none; +} +button.ainiro.ainiro_left { + left: 10px; + right: unset; +} +button.ainiro:hover, +button.ainiro:active, +button.ainiro:focus { + transition: color .1s ease-in-out; + color:var(--ainiro-link); +} +button.ainiro>i.ainiro-icofont { + font-size: 22px; + margin-left: 15px; + margin-right: 15px; +} + +/* + * Chat window itself. + */ +div.ainiro { + display: none; + position: fixed; + bottom: 10px; + right: 10px; + animation-name: ainiro_fade_into_view; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + z-index: 1000001; + width: 700px; + max-width: 100%; + height: 700px; + max-height: calc(100vh - 20px); + overflow-y: hidden; + background: linear-gradient(var(--ainiro-bg-start), var(--ainiro-bg-end)); + border-radius: 10px; +} +div.ainiro.ainiro_left { + left: 10px; + right: unset; +} +div.ainiro.show_ainiro_chatbot { + display: block !important; + transition: all .25s ease-in-out; +} +div.ainiro.show_ainiro_chatbot.ainiro_maximized { + width: 100%; + height: 100%; + max-height: 100%; + right:0; + bottom:0; + border-radius: 0; + transition: all .25s ease-in-out; +} +@keyframes ainiro_fade_in_backdrop { + 0% { + background-color: rgba(0,0,0,0); + } + 100% { + background-color: rgba(0,0,0,.75); + } +} +button.ainiro.ainiro_hide { + display:none !important; +} + +/* + * Toolbar. + */ +.ainiro_toolbar { + display: flex !important; + flex-direction: row; + padding: 10px 15px; + border-bottom: solid 1px rgb(0,0,0); +} +.ainiro_toolbar>.ainiro_header { + width: 100%; + font-weight: bold; + font-size: 14px; + padding:7px 0 0 0; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color:var(--ainiro-color); +} + +/* + * Action buttons, close and maximize. + */ +.ainiro_toolbar>.ainiro_action i { + color:var(--ainiro-color); + transition: color .1s ease-in-out; +} +.ainiro_toolbar>.ainiro_action:hover i, +.ainiro_toolbar>.ainiro_action:active i, +.ainiro_toolbar>.ainiro_action:focus i { + transition: color .1s ease-in-out; + color: var(--ainiro-link); +} + +/* + * Chat window surface. + */ +.ainiro_chat_surface { + height: calc(100% - 144px); + padding: 15px 35px; + overflow-y: auto; +} + +/* + * Conversation starters. + */ +@keyframes ainiro_fade_full { + 0% { + margin-left: -50px; + opacity:0; + } + 100% { + margin-left: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters { + margin-top: 55px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter { + border: solid 1px rgb(0,0,0); + padding: 8px 15px; + margin: 0 15px 15px 0; + font-size: 14px; + opacity: 0; + animation-name: ainiro_fade_full; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + color: inherit; + transition: color .1s ease-in-out; + text-align: left; + color: var(--ainiro-color); + background-color: rgba(0,0,0,.1); + border-radius: 10px; + cursor: pointer; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:focus { + transition: color .1s ease-in-out; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(1) { + animation-delay: .2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(2) { + animation-delay: .3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(3) { + animation-delay: .4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(4) { + animation-delay: .5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(5) { + animation-delay: .6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(6) { + animation-delay: .7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(7) { + animation-delay: .8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(8) { + animation-delay: .9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_starters>button.ainiro_starter:nth-child(9) { + animation-delay: 1s; +} + +/* + * Watermark. + */ + .ainiro_watermark { + text-align: right; + margin-bottom: 10px; + margin-top: -10px; + font-size: 12px; + opacity: .4; + color:var(--ainiro-color); +} + +.ainiro_watermark a { + font-size: 12px; + color:var(--ainiro-link); +} + +/* + * Chat messages from human or machine. + */ +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine, +div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-bottom: 55px; + font-size: 16px; + line-height: 24px; + text-align: justify; + position: relative; + padding: 35px; + color: var(--ainiro-color); + background-color: rgba(0,0,0,.1); + border: solid 1px rgb(0,0,0); + border-radius: 10px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine:after, +div.ainiro>div.ainiro_chat_surface>div.ainiro_human:after { + content:''; + background-size: 40px 40px; + width: 40px; + height: 40px; + position: absolute; + filter: grayscale(100%); + border-radius: 50%; + bottom: -18px; + border: solid 1px rgb(0,0,0); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine { + margin-right: 0; +} +@keyframes ainiro_fade_in_left { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_question { + opacity: 0; + animation-name: ainiro_fade_in_left; + animation-duration: .4s; + animation-delay: .25s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine:after { + background-image: url('https://ainiro.io/assets/images/misc/machine5.png'); + left: -18px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.integration:after { + background-image: url('https://ainiro.io/assets/images/misc/human5.png'); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.integration.slack:after { + background-image: url('https://ainiro.io/assets/images/misc/slack2.png'); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-left: 0; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human:after { + background-image: url('https://ainiro.io/assets/images/misc/human5.png'); + right: -18px; +} +@keyframes ainiro_fade_from_right { + 0% { + opacity: 0; + margin-right: -100px; + margin-left: 100px; + } + 100% { + opacity: 1; + margin-right: 0; + margin-left: 0; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_right; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_error { + background-color: rgba(255,0,0,.2); +} +@keyframes ainiro_fade_from_left { + 0% { + opacity: 0; + margin-left: -100px; + margin-right: 100px; + } + 100% { + opacity: 1; + margin-left: 0; + margin-right: 0; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + opacity: 0; + animation-name: ainiro_fade_from_left; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + animation-delay: .400s; + margin-right: 50px; +} + +/* + * Wait animation items shown while we're waiting for server to return data. + */ +@keyframes ainiro_jump { + 0% { + bottom: 0px; + } + 20% { + bottom: 5px; + } + 40% { + bottom: 0px; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot { + position: relative; + animation: ainiro_jump 1s infinite; + display: inline-block; + width: 16px; + height: 16px; + border-radius: 50%; + margin-right: 3px; + background-color: var(--ainiro-color); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-1 { + animation-delay: 150ms; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-2 { + animation-delay: 300ms; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>p>span.ainiro-dot.ainiro-dot-3 { + animation-delay: 450ms; +} + +/* + * References. + */ + @keyframes ainiro_fade_in_left_full_width { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references { + display: block; + padding-left: 0; + margin-top: 25px; + padding-left: 30px; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li { + list-style-type:decimal; + color: #999 !important; + animation-name: ainiro_fade_in_left_full_width; + animation-duration: .4s; + animation-iteration-count: 1; + animation-fill-mode: forwards; + opacity: 0; + display: list-item; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(1) { + animation-delay: .1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(2) { + animation-delay: .2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(3) { + animation-delay: .3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(4) { + animation-delay: .4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(5) { + animation-delay: .5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(6) { + animation-delay: .6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(7) { + animation-delay: .7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(8) { + animation-delay: .8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(9) { + animation-delay: .9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(10) { + animation-delay: 1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(11) { + animation-delay: 1.1s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(12) { + animation-delay: 1.2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(13) { + animation-delay: 1.3s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(14) { + animation-delay: 1.4s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(15) { + animation-delay: 1.5s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(16) { + animation-delay: 1.6s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(17) { + animation-delay: 1.7s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(18) { + animation-delay: 1.8s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(19) { + animation-delay: 1.9s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li:nth-child(20) { + animation-delay: 2s; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a { + text-decoration: none; + padding: 5px 15px; + overflow-x: hidden; + text-overflow: ellipsis; + display: block; + white-space: nowrap; + width: 100%; + border-radius:5px; + transition: background-color .1s ease-in-out; + box-sizing: border-box; + color: var(--ainiro-link); +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>ul.ainiro_references>li>a:focus { + background-color: rgba(0,0,0,.2); + transition: background-color .1s ease-in-out; +} + +/* + * Form elements. + */ + div.ainiro>form.ainiro_form { + position: absolute; + bottom: 15px; + left: 0; + width: 100%; + z-index: 1; + box-sizing: border-box; + display: flex; + flex-direction: row; + padding: 0 36px; +} +div.ainiro>form.ainiro_form>input.ainiro_query { + display: block; + width: 100%; + padding: 8px 15px; + outline: none; + font-size: 18px; + color: #555 !important; + background-color: #fefefe; + box-sizing: border-box; + border: none; + font-family: inherit; + border-radius: 10px 0 0 10px; +} +div.ainiro>form.ainiro_form>input.ainiro_query::placeholder { + color: rgb(180,180,180) !important; +} +div.ainiro>form.ainiro_form>button.ainiro_send, +div.ainiro>form.ainiro_form>button.ainiro_attachments { + outline: none; + padding: 0 25px; + border: none; + font-size: 20px; + transition: color .4s ease-in-out; + cursor: pointer; + background: linear-gradient(var(--ainiro-bg-start), var(--ainiro-bg-end)); +} +div.ainiro>form.ainiro_form>button.ainiro_send { + border-radius: 0 10px 10px 0; + border-left: solid 1px rgba(0,0,0,.4); +} +div.ainiro>form.ainiro_form>button.ainiro_send:disabled, +div.ainiro>form.ainiro_form>button.ainiro_attachments:disabled { + cursor: not-allowed !important; +} +div.ainiro>form.ainiro_form>button.ainiro_send i, +div.ainiro>form.ainiro_form>button.ainiro_attachments i { + transition: color .4s ease-in-out, opacity .4s ease-in-out; + color: var(--ainiro-color); +} +div.ainiro>form.ainiro_form>button.ainiro_send:hover i, +div.ainiro>form.ainiro_form>button.ainiro_send:active i, +div.ainiro>form.ainiro_form>button.ainiro_send:focus i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:hover i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:active i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:focus i { + color: var(--ainiro-link); +} +div.ainiro>form.ainiro_form>button.ainiro_send:disabled i, +div.ainiro>form.ainiro_form>button.ainiro_attachments:disabled i { + opacity: 0.1; + transition: color .4s ease-in-out, opacity .4s ease-in-out; + cursor: not-allowed !important; +} + +/* + * Phone specific CSS. + */ + @keyframes ainiro_fade_in_left_2 { + 0% { + margin-left: -100px; + margin-right: 100px; + opacity:0; + } + 100% { + margin-left: 0; + margin-right: 0; + opacity:1; + } +} +@keyframes ainiro_fade_in_right_2 { + 0% { + margin-right: -100px; + margin-left: 100px; + opacity:0; + } + 100% { + margin-right: 0; + margin-left: 0; + opacity:1; + } +} +@media (max-width: 768px) { + div.ainiro.show_ainiro_chatbot { + right: 0; + bottom: 0; + width: 100%; + height: 100%; + } + div.ainiro.show_ainiro_chatbot:not(.ainiro_maximized)>div.ainiro_toolbar>button.ainiro_maximize { + display: none; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine, + div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + text-align: left; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine { + margin-right: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + animation-name: ainiro_fade_in_right_2; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human { + margin-left: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + animation-name: ainiro_fade_in_left_2; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_machine.ainiro_just_added { + margin-right: 0; + } + div.ainiro>div.ainiro_chat_surface>div.ainiro_human.ainiro_just_added { + margin-left: 0; + } + .ainiro_toolbar { + border-radius: 0; + margin-top: 0; + } +} + +/* + * Copy response button. + */ +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response { + position:absolute !important; + bottom: 10px !important; + right: 10px !important; + background-color: transparent !important; + border: none !important; + cursor: pointer !important; + opacity: .5 !important; + transition: opacity .1s ease-in-out !important; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:hover, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:active, +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response:focus { + opacity: 1 !important; + transition: opacity .1s ease-in-out !important; +} +div.ainiro>div.ainiro_chat_surface>div.ainiro_machine>button.ainiro_copy_response i { + font-size: 16px !important; + color: var(--ainiro-color); +} + +button.ainiro_hidden, +html>body.ainiro_bdy button.ainiro_hidden { + display: none !important; +} diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9409c3e875..3163b206fe 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -32,7 +32,7 @@ "hljs": "^6.2.3", "marked": "^4.1.0", "material-symbols": "^0.2.11", - "mermaid": "^10.9.3", + "mermaid": "^11.6.0", "moment": "^2.29.4", "ng-recaptcha": "^10.0.0", "ngx-color-picker": "^13.0.0", @@ -1055,6 +1055,28 @@ "@angular/core": "14.2.12" } }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/utils": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-9.3.0.tgz", + "integrity": "sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@aspnet/signalr": { "version": "1.0.27", "license": "Apache-2.0" @@ -2620,9 +2642,49 @@ } }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", + "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "license": "MIT" + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "license": "Apache-2.0" }, "node_modules/@colors/colors": { "version": "1.5.0", @@ -2939,11 +3001,85 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz", + "integrity": "sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "dev": true, "license": "MIT" }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.0.2.tgz", + "integrity": "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@antfu/utils": "^9.2.0", + "@iconify/types": "^2.0.0", + "debug": "^4.4.1", + "globals": "^15.15.0", + "kolorist": "^1.8.0", + "local-pkg": "^1.1.1", + "mlly": "^1.7.4" + } + }, + "node_modules/@iconify/utils/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@iconify/utils/node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@iconify/utils/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "dev": true, @@ -3036,6 +3172,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@mermaid-js/parser": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz", + "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", + "license": "MIT", + "dependencies": { + "langium": "3.3.1" + } + }, "node_modules/@ngtools/webpack": { "version": "14.2.10", "dev": true, @@ -3482,10 +3627,197 @@ "@types/node": "*" } }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.0.tgz", + "integrity": "sha512-pUuUWqWux9nAxGT7VDo/4LbHSgaKbMTuQw8eSVuVX3q/XsKWxq4o/6pNTqb1TTg4EBRSVgWDvmIoWErN0VIIOw==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, "node_modules/@types/d3-scale": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", "dependencies": { "@types/d3-time": "*" } @@ -3493,19 +3825,59 @@ "node_modules/@types/d3-scale-chromatic": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==" + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } }, "node_modules/@types/d3-time": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", - "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==" + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", "dependencies": { - "@types/ms": "*" + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" } }, "node_modules/@types/eslint": { @@ -3556,6 +3928,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, "node_modules/@types/grecaptcha": { "version": "3.0.4", "license": "MIT" @@ -3591,24 +3969,11 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mdast": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", - "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", - "dependencies": { - "@types/unist": "^2" - } - }, "node_modules/@types/mime": { "version": "3.0.1", "dev": true, "license": "MIT" }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" - }, "node_modules/@types/node": { "version": "18.7.21", "dev": true, @@ -3671,10 +4036,12 @@ "@types/estree": "*" } }, - "node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true }, "node_modules/@types/ws": { "version": "8.5.3", @@ -3871,7 +4238,6 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -4809,20 +5175,37 @@ "node": ">=4" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chardet": { "version": "0.7.0", "dev": true, "license": "MIT" }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, "node_modules/chokidar": { "version": "3.5.3", "dev": true, @@ -5147,6 +5530,12 @@ "dev": true, "license": "MIT" }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "license": "MIT" + }, "node_modules/connect": { "version": "3.7.0", "dev": true, @@ -5601,10 +5990,38 @@ "cytoscape": "^3.2.0" } }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT" + }, "node_modules/d3": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "license": "ISC", "dependencies": { "d3-array": "3", "d3-axis": "3", @@ -5645,6 +6062,7 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", "dependencies": { "internmap": "1 - 2" }, @@ -5656,6 +6074,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5664,6 +6083,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -5679,6 +6099,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", "dependencies": { "d3-path": "1 - 3" }, @@ -5690,6 +6111,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5698,6 +6120,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", "dependencies": { "d3-array": "^3.2.0" }, @@ -5709,6 +6132,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", "dependencies": { "delaunator": "5" }, @@ -5720,6 +6144,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5728,6 +6153,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" @@ -5740,6 +6166,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", "dependencies": { "commander": "7", "iconv-lite": "0.6", @@ -5764,6 +6191,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -5772,6 +6200,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -5783,6 +6212,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", "engines": { "node": ">=12" } @@ -5791,6 +6221,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", "dependencies": { "d3-dsv": "1 - 3" }, @@ -5802,6 +6233,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", @@ -5815,6 +6247,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5823,6 +6256,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -5834,6 +6268,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5842,6 +6277,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", "dependencies": { "d3-color": "1 - 3" }, @@ -5853,6 +6289,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5861,6 +6298,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5869,6 +6307,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5877,6 +6316,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5920,6 +6360,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", @@ -5935,6 +6376,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" @@ -5947,6 +6389,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5955,6 +6398,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", "dependencies": { "d3-path": "^3.1.0" }, @@ -5966,6 +6410,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", "dependencies": { "d3-array": "2 - 3" }, @@ -5977,6 +6422,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", "dependencies": { "d3-time": "1 - 3" }, @@ -5988,6 +6434,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", "engines": { "node": ">=12" } @@ -5996,6 +6443,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", @@ -6014,6 +6462,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -6026,11 +6475,12 @@ } }, "node_modules/dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz", + "integrity": "sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==", + "license": "MIT", "dependencies": { - "d3": "^7.8.2", + "d3": "^7.9.0", "lodash-es": "^4.17.21" } }, @@ -6059,12 +6509,14 @@ } }, "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "license": "MIT" }, "node_modules/debug": { "version": "4.3.4", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -6086,18 +6538,6 @@ "node": ">=0.10.0" } }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/default-gateway": { "version": "6.0.3", "dev": true, @@ -6129,6 +6569,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "license": "ISC", "dependencies": { "robust-predicates": "^3.0.2" } @@ -6162,14 +6603,6 @@ "node": ">= 0.6.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "dev": true, @@ -6274,9 +6707,13 @@ } }, "node_modules/dompurify": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", - "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==" + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz", + "integrity": "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } }, "node_modules/domutils": { "version": "2.8.0", @@ -6322,11 +6759,6 @@ "dev": true, "license": "ISC" }, - "node_modules/elkjs": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.3.tgz", - "integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==" - }, "node_modules/emoji-regex": { "version": "8.0.0", "dev": true, @@ -6510,6 +6942,57 @@ "esbuild-windows-arm64": "0.15.5" } }, + "node_modules/esbuild-android-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz", + "integrity": "sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz", + "integrity": "sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz", + "integrity": "sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/esbuild-darwin-arm64": { "version": "0.15.5", "cpu": [ @@ -6525,6 +7008,227 @@ "node": ">=12" } }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz", + "integrity": "sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz", + "integrity": "sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz", + "integrity": "sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz", + "integrity": "sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz", + "integrity": "sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz", + "integrity": "sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz", + "integrity": "sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz", + "integrity": "sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz", + "integrity": "sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz", + "integrity": "sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz", + "integrity": "sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz", + "integrity": "sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz", + "integrity": "sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/esbuild-wasm": { "version": "0.15.5", "dev": true, @@ -6536,6 +7240,57 @@ "node": ">=12" } }, + "node_modules/esbuild-windows-32": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz", + "integrity": "sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz", + "integrity": "sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz", + "integrity": "sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.1", "dev": true, @@ -6801,6 +7556,12 @@ "node": ">= 0.8" } }, + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "license": "MIT" + }, "node_modules/extend": { "version": "3.0.2", "dev": true, @@ -7279,6 +8040,12 @@ "dev": true, "license": "ISC" }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "license": "MIT" + }, "node_modules/handle-thing": { "version": "2.0.1", "dev": true, @@ -7859,6 +8626,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", "engines": { "node": ">=12" } @@ -8581,14 +9349,6 @@ "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" - } - }, "node_modules/klona": { "version": "2.0.5", "dev": true, @@ -8597,6 +9357,28 @@ "node": ">= 8" } }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "license": "MIT" + }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", + "license": "MIT", + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/layout-base": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", @@ -8700,6 +9482,23 @@ "node": ">= 12.13.0" } }, + "node_modules/local-pkg": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", + "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.3.0", + "quansync": "^0.2.11" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "5.0.0", "dev": true, @@ -8719,7 +9518,8 @@ "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -8934,549 +9734,107 @@ "node": ">= 12" } }, - "node_modules/material-symbols": { - "version": "0.2.11", - "license": "Apache-2.0" - }, - "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.12", - "dev": true, - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/mermaid": { - "version": "10.9.3", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.3.tgz", - "integrity": "sha512-V80X1isSEvAewIL3xhmz/rVmc27CVljcsbWxkxlWJWY/1kQa4XOABqpDl2qQLGKzpKm6WbTfUEKImBlUfFYArw==", - "dependencies": { - "@braintree/sanitize-url": "^6.0.1", - "@types/d3-scale": "^4.0.3", - "@types/d3-scale-chromatic": "^3.0.0", - "cytoscape": "^3.28.1", - "cytoscape-cose-bilkent": "^4.1.0", - "d3": "^7.4.0", - "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "^3.0.5 <3.1.7", - "elkjs": "^0.9.0", - "katex": "^0.16.9", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, - "node_modules/mermaid/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" + "node_modules/material-symbols": { + "version": "0.2.11", + "license": "Apache-2.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/memfs": { + "version": "3.4.12", + "dev": true, + "license": "Unlicense", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/merge-descriptors": { + "version": "1.0.1", + "dev": true, + "license": "MIT" }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/mermaid": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.0.tgz", + "integrity": "sha512-ZudVx73BwrMJfCFmSSJT84y6u5brEoV8DOItdHomNLz32uBjNrelm7mg95X7g+C6UoQH/W6mBLGDEDv73JdxBg==", + "license": "MIT", "dependencies": { - "micromark-util-types": "^1.0.0" + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.1", + "@mermaid-js/parser": "^0.6.2", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.11", + "dayjs": "^1.11.18", + "dompurify": "^3.2.5", + "katex": "^0.16.22", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^16.2.1", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "node_modules/mermaid/node_modules/marked": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.0.tgz", + "integrity": "sha512-CTPAcRBq57cn3R8n3hwc2REddc28hjR7RzDXQ+lXLmMJYqn20BaI2cGw6QjgZGIgVfp2Wdfw4aMzgNteQ6qJgQ==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" } }, - "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "node_modules/mermaid/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" } }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/methods": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/micromatch": { "version": "4.0.5", @@ -9670,6 +10028,35 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/moment": { "version": "2.29.4", "license": "MIT", @@ -9677,16 +10064,9 @@ "node": "*" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "engines": { - "node": ">=4" - } - }, "node_modules/ms": { "version": "2.1.2", + "dev": true, "license": "MIT" }, "node_modules/multicast-dns": { @@ -9815,6 +10195,30 @@ "rxjs": ">=6.0.0" } }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/node-forge": { "version": "1.3.1", "dev": true, @@ -9846,6 +10250,19 @@ "node": "^12.22 || ^14.13 || >=16" } }, + "node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "2.0.2", "dev": true, @@ -9865,11 +10282,6 @@ "dev": true, "license": "MIT" }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==" - }, "node_modules/nopt": { "version": "6.0.0", "dev": true, @@ -10358,6 +10770,12 @@ "node": ">=6" } }, + "node_modules/package-manager-detector": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.4.0.tgz", + "integrity": "sha512-rRZ+pR1Usc+ND9M2NkmCvE/LYJS+8ORVV9X0KuNSY/gFsp7RBHJM/ADh9LYq4Vvfq6QkKrW6/weuh8SMEtN5gw==", + "license": "MIT" + }, "node_modules/pacote": { "version": "13.6.2", "dev": true, @@ -10482,6 +10900,12 @@ "node": ">= 0.8" } }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -10529,6 +10953,12 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, "node_modules/performance-now": { "version": "2.1.0", "dev": true, @@ -10601,6 +11031,33 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/postcss": { "version": "8.4.19", "dev": true, @@ -11671,6 +12128,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/quansync": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", + "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", "dev": true, @@ -12093,7 +12566,20 @@ "node_modules/robust-predicates": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense" + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } }, "node_modules/run-async": { "version": "2.4.1", @@ -12128,7 +12614,8 @@ "node_modules/rw": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" }, "node_modules/rxjs": { "version": "7.5.5", @@ -12137,17 +12624,6 @@ "tslib": "^2.1.0" } }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/safe-buffer": { "version": "5.1.2", "dev": true, @@ -13124,6 +13600,12 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyexec": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", + "license": "MIT" + }, "node_modules/tmp": { "version": "0.0.33", "dev": true, @@ -13368,6 +13850,12 @@ "node": "*" } }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "dev": true, @@ -13420,18 +13908,6 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/universalify": { "version": "2.0.0", "dev": true, @@ -13502,31 +13978,6 @@ "uuid": "bin/uuid" } }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/uvu/node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "dev": true, @@ -13581,6 +14032,55 @@ "node": ">=0.10.0" } }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" + }, "node_modules/watchpack": { "version": "2.4.0", "dev": true, @@ -13609,11 +14109,6 @@ "defaults": "^1.0.3" } }, - "node_modules/web-worker": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", - "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==" - }, "node_modules/webdriver-js-extender": { "version": "2.1.0", "dev": true,