├── .dockerignore ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .eslintrc.json ├── .gitattributes ├── .github └── workflows │ ├── deploy.yml │ ├── semgrep.yaml │ └── test.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .semgrepignore ├── .yarn └── releases │ └── yarn-3.3.1.cjs ├── .yarnrc.yml ├── CODEOWNERS ├── LICENSE.md ├── Makefile ├── README.md ├── apps ├── .gitkeep ├── dashboard │ ├── VERSION │ ├── browserslist │ ├── jest.config.js │ ├── project.json │ ├── src │ │ ├── _variables.scss │ │ ├── app │ │ │ ├── account │ │ │ │ ├── account-arag │ │ │ │ │ ├── account-arag.component.ts │ │ │ │ │ ├── arag-list │ │ │ │ │ │ ├── arag-list.component.html │ │ │ │ │ │ ├── arag-list.component.scss │ │ │ │ │ │ └── arag-list.component.ts │ │ │ │ │ └── create-arag │ │ │ │ │ │ ├── create-arag.component.html │ │ │ │ │ │ ├── create-arag.component.scss │ │ │ │ │ │ └── create-arag.component.ts │ │ │ │ ├── account-home │ │ │ │ │ ├── account-home.component.html │ │ │ │ │ ├── account-home.component.scss │ │ │ │ │ └── account-home.component.ts │ │ │ │ ├── account-kbs │ │ │ │ │ ├── account-kbs.component.ts │ │ │ │ │ ├── account-kbs.service.ts │ │ │ │ │ ├── kb-list │ │ │ │ │ │ ├── kb-list.component.html │ │ │ │ │ │ ├── kb-list.component.scss │ │ │ │ │ │ └── kb-list.component.ts │ │ │ │ │ └── users-dialog │ │ │ │ │ │ ├── users-dialog.component.html │ │ │ │ │ │ ├── users-dialog.component.scss │ │ │ │ │ │ └── users-dialog.component.ts │ │ │ │ ├── account-manage │ │ │ │ │ ├── account-delete │ │ │ │ │ │ ├── account-delete.component.html │ │ │ │ │ │ ├── account-delete.component.scss │ │ │ │ │ │ └── account-delete.component.ts │ │ │ │ │ ├── account-manage.component.html │ │ │ │ │ ├── account-manage.component.scss │ │ │ │ │ └── account-manage.component.ts │ │ │ │ ├── account-models │ │ │ │ │ ├── account-models.component.html │ │ │ │ │ ├── account-models.component.scss │ │ │ │ │ └── account-models.component.ts │ │ │ │ ├── account-nua │ │ │ │ │ ├── account-nua.component.html │ │ │ │ │ ├── account-nua.component.scss │ │ │ │ │ ├── account-nua.component.ts │ │ │ │ │ ├── account-nua.service.ts │ │ │ │ │ ├── client-dialog │ │ │ │ │ │ ├── client-dialog.component.html │ │ │ │ │ │ ├── client-dialog.component.scss │ │ │ │ │ │ └── client-dialog.component.ts │ │ │ │ │ └── nua-activity │ │ │ │ │ │ ├── nua-activity.component.html │ │ │ │ │ │ ├── nua-activity.component.scss │ │ │ │ │ │ ├── nua-activity.component.ts │ │ │ │ │ │ └── nua-activity.service.ts │ │ │ │ ├── account-status │ │ │ │ │ ├── account-status.component.html │ │ │ │ │ ├── account-status.component.scss │ │ │ │ │ └── account-status.component.ts │ │ │ │ ├── account-users │ │ │ │ │ ├── account-users.component.html │ │ │ │ │ ├── account-users.component.scss │ │ │ │ │ └── account-users.component.ts │ │ │ │ ├── account.module.ts │ │ │ │ ├── billing │ │ │ │ │ ├── billing.component.html │ │ │ │ │ ├── billing.component.scss │ │ │ │ │ ├── billing.component.ts │ │ │ │ │ ├── billing.module.ts │ │ │ │ │ ├── checkout │ │ │ │ │ │ ├── checkout.component.html │ │ │ │ │ │ ├── checkout.component.scss │ │ │ │ │ │ └── checkout.component.ts │ │ │ │ │ ├── features │ │ │ │ │ │ ├── features.component.html │ │ │ │ │ │ ├── features.component.scss │ │ │ │ │ │ └── features.component.ts │ │ │ │ │ ├── history │ │ │ │ │ │ ├── history.component.html │ │ │ │ │ │ ├── history.component.scss │ │ │ │ │ │ └── history.component.ts │ │ │ │ │ ├── my-subscription │ │ │ │ │ │ ├── my-subscription.component.html │ │ │ │ │ │ ├── my-subscription.component.scss │ │ │ │ │ │ ├── my-subscription.component.ts │ │ │ │ │ │ ├── unsubscribe.component.html │ │ │ │ │ │ ├── unsubscribe.component.scss │ │ │ │ │ │ └── unsubscribe.component.ts │ │ │ │ │ ├── redirect.component.ts │ │ │ │ │ ├── review │ │ │ │ │ │ ├── review.component.html │ │ │ │ │ │ ├── review.component.scss │ │ │ │ │ │ └── review.component.ts │ │ │ │ │ ├── subscription.service.ts │ │ │ │ │ ├── subscriptions │ │ │ │ │ │ ├── aws-subscription │ │ │ │ │ │ │ ├── aws-subscription.component.html │ │ │ │ │ │ │ ├── aws-subscription.component.scss │ │ │ │ │ │ │ └── aws-subscription.component.ts │ │ │ │ │ │ ├── manual-subscription │ │ │ │ │ │ │ ├── manual-subscription.component.html │ │ │ │ │ │ │ ├── manual-subscription.component.scss │ │ │ │ │ │ │ └── manual-subscription.component.ts │ │ │ │ │ │ ├── subscriptions.component.html │ │ │ │ │ │ ├── subscriptions.component.scss │ │ │ │ │ │ └── subscriptions.component.ts │ │ │ │ │ ├── usage │ │ │ │ │ │ ├── budget.component.html │ │ │ │ │ │ ├── budget.component.scss │ │ │ │ │ │ ├── budget.component.ts │ │ │ │ │ │ ├── usage-table.component.html │ │ │ │ │ │ ├── usage-table.component.scss │ │ │ │ │ │ ├── usage-table.component.ts │ │ │ │ │ │ ├── usage.component.html │ │ │ │ │ │ ├── usage.component.scss │ │ │ │ │ │ └── usage.component.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── invite-collaborators-modal │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── invite-collaborators-modal.component.html │ │ │ │ │ ├── invite-collaborators-modal.component.scss │ │ │ │ │ └── invite-collaborators-modal.component.ts │ │ │ │ ├── metrics.service.ts │ │ │ │ └── nuclia-tokens │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── nuclia-tokens.component.html │ │ │ │ │ ├── nuclia-tokens.component.scss │ │ │ │ │ └── nuclia-tokens.component.ts │ │ │ ├── activity │ │ │ │ ├── activity-download.component.html │ │ │ │ ├── activity-download.component.scss │ │ │ │ ├── activity-download.component.ts │ │ │ │ ├── activity.module.ts │ │ │ │ ├── activity.service.ts │ │ │ │ ├── log-table-modal.component.scss │ │ │ │ ├── log-table-modal.component.ts │ │ │ │ ├── log-table.component.html │ │ │ │ ├── log-table.component.scss │ │ │ │ ├── log-table.component.ts │ │ │ │ └── log.models.ts │ │ │ ├── app-routing.module.ts │ │ │ ├── app-title.strategy.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── farewell │ │ │ │ ├── farewell.component.html │ │ │ │ ├── farewell.component.scss │ │ │ │ ├── farewell.component.ts │ │ │ │ ├── farewell.module.ts │ │ │ │ ├── feedback.component.html │ │ │ │ ├── feedback.component.scss │ │ │ │ └── feedback.component.ts │ │ │ ├── knowledge-box │ │ │ │ ├── index.ts │ │ │ │ ├── knowledge-box-home │ │ │ │ │ ├── kb-usage │ │ │ │ │ │ ├── usage-charts.component.html │ │ │ │ │ │ ├── usage-charts.component.ts │ │ │ │ │ │ ├── usage-modal.component.html │ │ │ │ │ │ ├── usage-modal.component.scss │ │ │ │ │ │ └── usage-modal.component.ts │ │ │ │ │ ├── knowledge-box-home.component.html │ │ │ │ │ ├── knowledge-box-home.component.scss │ │ │ │ │ ├── knowledge-box-home.component.spec.ts │ │ │ │ │ ├── knowledge-box-home.component.ts │ │ │ │ │ └── survey │ │ │ │ │ │ ├── survey.component.html │ │ │ │ │ │ └── survey.component.ts │ │ │ │ ├── knowledge-box-keys │ │ │ │ │ ├── knowledge-box-keys.component.html │ │ │ │ │ ├── knowledge-box-keys.component.scss │ │ │ │ │ └── knowledge-box-keys.component.ts │ │ │ │ ├── knowledge-box-users │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── knowledge-box-users.component.scss │ │ │ │ │ ├── knowledge-box-users.component.ts │ │ │ │ │ └── users-manage │ │ │ │ │ │ ├── users-manage.component.html │ │ │ │ │ │ ├── users-manage.component.scss │ │ │ │ │ │ ├── users-manage.component.ts │ │ │ │ │ │ ├── users-manage.module.ts │ │ │ │ │ │ └── users-manage.service.ts │ │ │ │ ├── knowledge-box.module.ts │ │ │ │ ├── knowledge-box │ │ │ │ │ ├── knowledge-box.component.spec.ts │ │ │ │ │ └── knowledge-box.component.ts │ │ │ │ ├── service-access │ │ │ │ │ ├── service-access.component.html │ │ │ │ │ ├── service-access.component.scss │ │ │ │ │ └── service-access.component.ts │ │ │ │ └── utils.ts │ │ │ ├── lazy-user.module.ts │ │ │ ├── onboarding │ │ │ │ ├── aws-onboarding │ │ │ │ │ ├── aws-onboarding.component.html │ │ │ │ │ ├── aws-onboarding.component.scss │ │ │ │ │ ├── aws-onboarding.component.ts │ │ │ │ │ ├── aws.guard.ts │ │ │ │ │ ├── step1-budget │ │ │ │ │ │ ├── step1-budget.component.html │ │ │ │ │ │ └── step1-budget.component.ts │ │ │ │ │ └── step2 │ │ │ │ │ │ ├── step2.component.html │ │ │ │ │ │ └── step2.component.ts │ │ │ │ ├── getting-started │ │ │ │ │ ├── getting-started.component.html │ │ │ │ │ ├── getting-started.component.scss │ │ │ │ │ ├── getting-started.component.ts │ │ │ │ │ ├── getting-started.models.ts │ │ │ │ │ ├── intro │ │ │ │ │ │ ├── intro.component.html │ │ │ │ │ │ └── intro.component.ts │ │ │ │ │ ├── processing │ │ │ │ │ │ ├── processing.component.html │ │ │ │ │ │ ├── processing.component.scss │ │ │ │ │ │ └── processing.component.ts │ │ │ │ │ ├── upload-list │ │ │ │ │ │ ├── upload-list.component.html │ │ │ │ │ │ ├── upload-list.component.scss │ │ │ │ │ │ └── upload-list.component.ts │ │ │ │ │ └── upload │ │ │ │ │ │ ├── upload.component.html │ │ │ │ │ │ ├── upload.component.scss │ │ │ │ │ │ └── upload.component.ts │ │ │ │ ├── invite │ │ │ │ │ ├── invite.component.html │ │ │ │ │ ├── invite.component.scss │ │ │ │ │ ├── invite.component.ts │ │ │ │ │ ├── invite.guard.ts │ │ │ │ │ └── invite.module.ts │ │ │ │ └── welcome-in-existing-kb │ │ │ │ │ ├── welcome-in-existing-kb.component.html │ │ │ │ │ ├── welcome-in-existing-kb.component.scss │ │ │ │ │ └── welcome-in-existing-kb.component.ts │ │ │ ├── redirect │ │ │ │ ├── redirect.component.html │ │ │ │ ├── redirect.component.scss │ │ │ │ ├── redirect.component.ts │ │ │ │ └── redirect.module.ts │ │ │ ├── styles │ │ │ │ └── js-variables.ts │ │ │ ├── synonyms │ │ │ │ ├── synonyms.component.html │ │ │ │ ├── synonyms.component.scss │ │ │ │ ├── synonyms.component.spec.ts │ │ │ │ ├── synonyms.component.ts │ │ │ │ ├── synonyms.module.ts │ │ │ │ ├── synonyms.service.spec.ts │ │ │ │ └── synonyms.service.ts │ │ │ └── test-page │ │ │ │ ├── test-page.component.html │ │ │ │ ├── test-page.component.scss │ │ │ │ └── test-page.component.ts │ │ ├── assets │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── background.jpg │ │ │ │ └── stripe-logo.svg │ │ │ ├── overrides.css │ │ │ └── splash-screen.css │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── environments_config │ │ │ ├── local-prod │ │ │ │ └── app-config.json │ │ │ └── production │ │ │ │ └── app-config.json │ │ ├── index.html │ │ ├── main.ts │ │ ├── manifest.webmanifest │ │ ├── ngsw-config.json │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── manager-v2 │ ├── .eslintrc.json │ ├── VERSION │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── _variables.scss │ │ ├── app │ │ │ ├── app-layout │ │ │ │ ├── app-layout.component.html │ │ │ │ ├── app-layout.component.scss │ │ │ │ ├── app-layout.component.spec.ts │ │ │ │ └── app-layout.component.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.routes.ts │ │ │ ├── manage-accounts │ │ │ │ ├── account-details │ │ │ │ │ ├── account-details.component.html │ │ │ │ │ ├── account-details.component.scss │ │ │ │ │ ├── account-details.component.spec.ts │ │ │ │ │ ├── account-details.component.ts │ │ │ │ │ ├── account-details.store.ts │ │ │ │ │ ├── blocked-features │ │ │ │ │ │ ├── blocked-features.component.html │ │ │ │ │ │ ├── blocked-features.component.scss │ │ │ │ │ │ ├── blocked-features.component.spec.ts │ │ │ │ │ │ ├── blocked-features.component.ts │ │ │ │ │ │ └── feature-name.pipe.ts │ │ │ │ │ ├── configuration │ │ │ │ │ │ ├── configuration.component.html │ │ │ │ │ │ ├── configuration.component.scss │ │ │ │ │ │ ├── configuration.component.spec.ts │ │ │ │ │ │ └── configuration.component.ts │ │ │ │ │ ├── kb-details │ │ │ │ │ │ ├── kb-details.component.html │ │ │ │ │ │ ├── kb-details.component.scss │ │ │ │ │ │ ├── kb-details.component.spec.ts │ │ │ │ │ │ └── kb-details.component.ts │ │ │ │ │ ├── knowledge-boxes │ │ │ │ │ │ ├── knowledge-boxes.component.html │ │ │ │ │ │ ├── knowledge-boxes.component.scss │ │ │ │ │ │ ├── knowledge-boxes.component.spec.ts │ │ │ │ │ │ └── knowledge-boxes.component.ts │ │ │ │ │ ├── limits │ │ │ │ │ │ ├── limits.component.html │ │ │ │ │ │ ├── limits.component.scss │ │ │ │ │ │ ├── limits.component.spec.ts │ │ │ │ │ │ └── limits.component.ts │ │ │ │ │ ├── models │ │ │ │ │ │ ├── add-model │ │ │ │ │ │ │ ├── add-model.component.html │ │ │ │ │ │ │ └── add-model.component.ts │ │ │ │ │ │ ├── model-details │ │ │ │ │ │ │ ├── model-details.component.html │ │ │ │ │ │ │ └── model-details.component.ts │ │ │ │ │ │ ├── models.component.html │ │ │ │ │ │ ├── models.component.scss │ │ │ │ │ │ └── models.component.ts │ │ │ │ │ ├── payment-links │ │ │ │ │ │ ├── payment-links.component.html │ │ │ │ │ │ ├── payment-links.component.scss │ │ │ │ │ │ ├── payment-links.component.spec.ts │ │ │ │ │ │ └── payment-links.component.ts │ │ │ │ │ ├── token-consumption │ │ │ │ │ │ ├── token-consumption.component.html │ │ │ │ │ │ ├── token-consumption.component.scss │ │ │ │ │ │ ├── token-consumption.component.ts │ │ │ │ │ │ └── token-consumption.models.ts │ │ │ │ │ └── users │ │ │ │ │ │ ├── users.component.html │ │ │ │ │ │ ├── users.component.scss │ │ │ │ │ │ ├── users.component.spec.ts │ │ │ │ │ │ └── users.component.ts │ │ │ │ ├── account-list │ │ │ │ │ ├── account-list.component.html │ │ │ │ │ ├── account-list.component.spec.ts │ │ │ │ │ └── account-list.component.ts │ │ │ │ ├── account-ui.models.ts │ │ │ │ ├── account.service.ts │ │ │ │ ├── add-account │ │ │ │ │ ├── add-account.component.html │ │ │ │ │ └── add-account.component.ts │ │ │ │ ├── form-footer │ │ │ │ │ ├── form-footer.component.html │ │ │ │ │ ├── form-footer.component.scss │ │ │ │ │ ├── form-footer.component.spec.ts │ │ │ │ │ └── form-footer.component.ts │ │ │ │ ├── global-account.models.ts │ │ │ │ ├── global-account.service.ts │ │ │ │ ├── manage-accounts.component.ts │ │ │ │ ├── manage-accounts.module.ts │ │ │ │ ├── regional-account.models.ts │ │ │ │ └── regional-account.service.ts │ │ │ ├── manage-users │ │ │ │ ├── add-user │ │ │ │ │ ├── add-user.component.html │ │ │ │ │ └── add-user.component.ts │ │ │ │ ├── manage-users.component.ts │ │ │ │ ├── manage-users.module.ts │ │ │ │ ├── user-details │ │ │ │ │ ├── user-details.component.html │ │ │ │ │ ├── user-details.component.scss │ │ │ │ │ ├── user-details.component.spec.ts │ │ │ │ │ └── user-details.component.ts │ │ │ │ ├── user-list │ │ │ │ │ ├── user-list.component.html │ │ │ │ │ ├── user-list.component.spec.ts │ │ │ │ │ └── user-list.component.ts │ │ │ │ ├── user.models.ts │ │ │ │ ├── user.service.spec.ts │ │ │ │ └── user.service.ts │ │ │ ├── manage-zones │ │ │ │ ├── manage-zones.component.ts │ │ │ │ ├── manage-zones.module.ts │ │ │ │ ├── zone-details │ │ │ │ │ ├── zone-details.component.html │ │ │ │ │ ├── zone-details.component.spec.ts │ │ │ │ │ └── zone-details.component.ts │ │ │ │ ├── zone-list │ │ │ │ │ ├── zone-list.component.html │ │ │ │ │ ├── zone-list.component.spec.ts │ │ │ │ │ └── zone-list.component.ts │ │ │ │ ├── zone.models.ts │ │ │ │ └── zone.service.ts │ │ │ └── manager.store.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── background_manager.jpg │ │ │ └── favicon.ico │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── environments_config │ │ │ └── production │ │ │ │ └── app-config.json │ │ ├── index.html │ │ ├── main.ts │ │ ├── styles.scss │ │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── nucliadb-admin │ ├── .eslintrc.json │ ├── VERSION │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── _variables.scss │ │ ├── app │ │ │ ├── app-routing.ts │ │ │ ├── app-title.strategy.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── home │ │ │ │ ├── home-page.component.html │ │ │ │ ├── home-page.component.scss │ │ │ │ ├── home-page.component.ts │ │ │ │ └── main-container │ │ │ │ └── main-container.component.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── environments_config │ │ │ └── production │ │ │ │ └── app-config.json │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── search-widget-demo │ ├── .gitignore │ ├── README.md │ ├── index.html │ ├── package.json │ ├── project.json │ ├── src │ │ ├── App.svelte │ │ ├── main.ts │ │ └── vite-env.d.ts │ ├── svelte.config.js │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts └── sistema-demo │ ├── .eslintrc.json │ ├── jest.config.js │ ├── project.json │ ├── src │ ├── _variables.scss │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── sistema-pages │ │ │ ├── index.ts │ │ │ ├── pastanaga-pages-override │ │ │ │ ├── index.ts │ │ │ │ ├── sistema-confirmation-dialog │ │ │ │ │ ├── sistema-confirmation-dialog.component.html │ │ │ │ │ └── sistema-confirmation-dialog.component.ts │ │ │ │ ├── sistema-icons │ │ │ │ │ └── sistema-icons.component.ts │ │ │ │ ├── sistema-modal │ │ │ │ │ ├── dialog-example │ │ │ │ │ │ ├── dialog-example.component.html │ │ │ │ │ │ └── dialog-example.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modal-example │ │ │ │ │ │ ├── modal-example.component.html │ │ │ │ │ │ ├── modal-example.component.scss │ │ │ │ │ │ └── modal-example.component.ts │ │ │ │ │ ├── sistema-modal.component.html │ │ │ │ │ ├── sistema-modal.component.scss │ │ │ │ │ └── sistema-modal.component.ts │ │ │ │ ├── sistema-palette │ │ │ │ │ ├── sistema-palette.component.html │ │ │ │ │ ├── sistema-palette.component.scss │ │ │ │ │ └── sistema-palette.component.ts │ │ │ │ ├── sistema-scrollbar │ │ │ │ │ ├── sistema-scrollbar.component.html │ │ │ │ │ ├── sistema-scrollbar.component.scss │ │ │ │ │ └── sistema-scrollbar.component.ts │ │ │ │ └── sistema-toasts │ │ │ │ │ ├── sistema-toast.component.html │ │ │ │ │ └── sistema-toast.component.ts │ │ │ ├── sistema-back-button │ │ │ │ ├── sistema-back-button.component.html │ │ │ │ └── sistema-back-button.component.ts │ │ │ ├── sistema-badge │ │ │ │ ├── sistema-badge.component.html │ │ │ │ ├── sistema-badge.component.scss │ │ │ │ └── sistema-badge.component.ts │ │ │ ├── sistema-button-mini │ │ │ │ ├── sistema-button-mini.component.html │ │ │ │ └── sistema-button-mini.component.ts │ │ │ ├── sistema-cards │ │ │ │ ├── sistema-action-card.component.html │ │ │ │ ├── sistema-action-card.component.scss │ │ │ │ ├── sistema-action-card.component.ts │ │ │ │ ├── sistema-info-card.component.html │ │ │ │ └── sistema-info-card.component.ts │ │ │ ├── sistema-dropdown-button │ │ │ │ ├── sistema-dropdown-button.component.html │ │ │ │ ├── sistema-dropdown-button.component.scss │ │ │ │ └── sistema-dropdown-button.component.ts │ │ │ ├── sistema-expandable-textarea │ │ │ │ ├── sistema-expandable-textarea.component.html │ │ │ │ └── sistema-expandable-textarea.component.ts │ │ │ ├── sistema-folder-tree │ │ │ │ ├── sistema-folder-tree.component.html │ │ │ │ └── sistema-folder-tree.component.ts │ │ │ ├── sistema-label │ │ │ │ ├── sistema-label.component.html │ │ │ │ └── sistema-label.component.ts │ │ │ ├── sistema-pages.module.ts │ │ │ ├── sistema-password-input │ │ │ │ ├── sistema-password-input.component.html │ │ │ │ ├── sistema-password-input.component.scss │ │ │ │ └── sistema-password-input.component.ts │ │ │ ├── sistema-search-input │ │ │ │ ├── sistema-search-input.component.html │ │ │ │ ├── sistema-search-input.component.scss │ │ │ │ └── sistema-search-input.component.ts │ │ │ ├── sistema-segmented-buttons │ │ │ │ ├── sistema-segmented-buttons.component.html │ │ │ │ └── sistema-segmented-buttons.component.ts │ │ │ ├── sistema-spinner │ │ │ │ ├── sistema-spinner.component.html │ │ │ │ └── sistema-spinner.component.ts │ │ │ ├── sistema-sticky-footer │ │ │ │ ├── sistema-sticky-footer.component.html │ │ │ │ └── sistema-sticky-footer.component.ts │ │ │ └── sistema-two-columns-configuration-item │ │ │ │ ├── sistema-two-columns-configuration-item.component.html │ │ │ │ └── sistema-two-columns-configuration-item.component.ts │ │ └── welcome-page │ │ │ ├── welcome-page.component.html │ │ │ ├── welcome-page.component.ts │ │ │ └── welcome-page.module.ts │ ├── assets │ │ ├── .gitkeep │ │ ├── glyphs.ts │ │ └── ninja.svg │ ├── demos │ │ └── speech.html │ ├── e2e │ │ ├── ask.html │ │ ├── citations.html │ │ ├── dev │ │ │ ├── ask.html │ │ │ ├── citations.html │ │ │ ├── find.html │ │ │ └── search.html │ │ ├── find.html │ │ ├── prod │ │ │ ├── ask-europe.html │ │ │ ├── ask-usa.html │ │ │ ├── citations-europe.html │ │ │ ├── citations-usa.html │ │ │ ├── find-europe.html │ │ │ ├── find-usa.html │ │ │ ├── search-europe.html │ │ │ └── search-usa.html │ │ ├── search.html │ │ └── small.html │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── pastanaga-component-overrides.scss │ ├── pastanaga-core-overrides.scss │ ├── polyfills.ts │ ├── styles.scss │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── charts ├── app │ ├── Chart.yaml │ ├── templates │ │ ├── app.cm.yaml │ │ ├── app.deploy.yaml │ │ ├── app.pdb.yaml │ │ ├── app.svc.yaml │ │ └── app.vs.yaml │ └── values.yaml └── manager │ ├── Chart.yaml │ ├── templates │ ├── manager.cm.yaml │ ├── manager.deploy.yaml │ ├── manager.pdb.yaml │ ├── manager.svc.yaml │ └── manager.vs.yaml │ └── values.yaml ├── cypress.json ├── decorate-angular-cli.js ├── docker ├── 30-environment-app.sh ├── 30-environment-manager.sh └── Dockerfile ├── jest.config.js ├── jest.preset.js ├── libs ├── .gitkeep ├── chrome-ext │ ├── README.md │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ └── lib │ │ │ ├── api.js │ │ │ ├── background.js │ │ │ ├── icons │ │ │ ├── error.png │ │ │ ├── icon128.png │ │ │ ├── icon16.png │ │ │ ├── icon32.png │ │ │ └── icon48.png │ │ │ ├── logo.svg │ │ │ ├── manifest.json │ │ │ ├── options │ │ │ ├── options.html │ │ │ └── options.js │ │ │ ├── style.css │ │ │ ├── utils.js │ │ │ └── youtube │ │ │ ├── selection.html │ │ │ └── selection.js │ └── tsconfig.spec.json ├── common │ ├── README.md │ ├── common.babel │ ├── jest.config.js │ ├── project.json │ ├── src │ │ ├── assets │ │ │ └── i18n │ │ │ │ ├── ca.json │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ └── fr.json │ │ ├── index.ts │ │ ├── lib │ │ │ ├── ai-models │ │ │ │ ├── ai-models.component.html │ │ │ │ ├── ai-models.component.scss │ │ │ │ ├── ai-models.component.ts │ │ │ │ ├── ai-models.utils.ts │ │ │ │ ├── anonymization │ │ │ │ │ ├── anonymization.component.html │ │ │ │ │ └── anonymization.component.ts │ │ │ │ ├── answer-generation │ │ │ │ │ ├── answer-generation.component.html │ │ │ │ │ ├── answer-generation.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── user-keys │ │ │ │ │ │ ├── user-keys.component.html │ │ │ │ │ │ ├── user-keys.component.scss │ │ │ │ │ │ └── user-keys.component.ts │ │ │ │ ├── extraction │ │ │ │ │ ├── extraction-modal │ │ │ │ │ │ ├── extraction-modal.component.html │ │ │ │ │ │ ├── extraction-modal.component.scss │ │ │ │ │ │ ├── extraction-modal.component.ts │ │ │ │ │ │ ├── llm-configuration.component.html │ │ │ │ │ │ ├── llm-configuration.component.scss │ │ │ │ │ │ └── llm-configuration.component.ts │ │ │ │ │ ├── extraction.component.html │ │ │ │ │ └── extraction.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── learning-configuration.directive.ts │ │ │ │ ├── semantic-model │ │ │ │ │ ├── semantic-model.component.html │ │ │ │ │ ├── semantic-model.component.scss │ │ │ │ │ └── semantic-model.component.ts │ │ │ │ └── summarization │ │ │ │ │ ├── summarization.component.html │ │ │ │ │ └── summarization.component.ts │ │ │ ├── base │ │ │ │ ├── base.component.html │ │ │ │ ├── base.component.scss │ │ │ │ ├── base.component.ts │ │ │ │ ├── base.module.ts │ │ │ │ ├── dashboard-layout │ │ │ │ │ ├── dashboard-layout.component.html │ │ │ │ │ ├── dashboard-layout.component.scss │ │ │ │ │ ├── dashboard-layout.component.ts │ │ │ │ │ ├── dashboard-layout.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── empty.component.ts │ │ │ │ └── index.ts │ │ │ ├── charts │ │ │ │ ├── _charts-common.scss │ │ │ │ ├── bar-chart │ │ │ │ │ ├── bar-chart.component.html │ │ │ │ │ ├── bar-chart.component.scss │ │ │ │ │ ├── bar-chart.component.ts │ │ │ │ │ ├── grouped-bar-chart.component.html │ │ │ │ │ ├── grouped-bar-chart.component.scss │ │ │ │ │ ├── grouped-bar-chart.component.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── base-chart.directive.ts │ │ │ │ ├── chart-utils.ts │ │ │ │ ├── charts.module.ts │ │ │ │ ├── empty-chart │ │ │ │ │ ├── empty-chart.component.html │ │ │ │ │ ├── empty-chart.component.scss │ │ │ │ │ └── empty-chart.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── line-chart │ │ │ │ │ ├── line-chart.component.html │ │ │ │ │ ├── line-chart.component.scss │ │ │ │ │ └── line-chart.component.ts │ │ │ │ └── range-chart │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── range-chart.component.html │ │ │ │ │ ├── range-chart.component.scss │ │ │ │ │ ├── range-chart.component.ts │ │ │ │ │ ├── range-evolution-chart.component.html │ │ │ │ │ ├── range-evolution-chart.component.scss │ │ │ │ │ ├── range-evolution-chart.component.ts │ │ │ │ │ └── range.models.ts │ │ │ ├── directives │ │ │ │ ├── directives.module.ts │ │ │ │ ├── index.ts │ │ │ │ └── perfect-scroll │ │ │ │ │ └── perfect-scrollbar.directive.ts │ │ │ ├── entities │ │ │ │ ├── entities.component.html │ │ │ │ ├── entities.component.scss │ │ │ │ ├── entities.component.spec.ts │ │ │ │ ├── entities.component.ts │ │ │ │ ├── entities.module.ts │ │ │ │ ├── entity-list │ │ │ │ │ ├── entity-list.component.html │ │ │ │ │ ├── entity-list.component.scss │ │ │ │ │ └── entity-list.component.ts │ │ │ │ ├── entity │ │ │ │ │ ├── entity.component.html │ │ │ │ │ ├── entity.component.scss │ │ │ │ │ └── entity.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── model.ts │ │ │ │ └── ner.service.ts │ │ │ ├── features │ │ │ │ ├── features-modal.component.html │ │ │ │ ├── features-modal.component.ts │ │ │ │ └── index.ts │ │ │ ├── guards │ │ │ │ ├── agent-feature-enabled.guard.ts │ │ │ │ ├── auth.interceptor.ts │ │ │ │ ├── index.ts │ │ │ │ ├── permission.guard.ts │ │ │ │ ├── root.guard.ts │ │ │ │ ├── select-account.guard.ts │ │ │ │ ├── select-kb.guard.ts │ │ │ │ ├── set-account.guard.ts │ │ │ │ ├── set-agent.guard.ts │ │ │ │ ├── set-kb.guard.ts │ │ │ │ └── set-local-kb.guard.ts │ │ │ ├── hint │ │ │ │ ├── hint.component.html │ │ │ │ ├── hint.component.scss │ │ │ │ ├── hint.component.ts │ │ │ │ ├── hint.module.ts │ │ │ │ └── index.ts │ │ │ ├── kb-creation │ │ │ │ ├── index.ts │ │ │ │ ├── kb-creation.component.html │ │ │ │ ├── kb-creation.component.scss │ │ │ │ └── kb-creation.component.ts │ │ │ ├── knowledge-box-settings │ │ │ │ ├── index.ts │ │ │ │ ├── knowledge-box-settings.component.html │ │ │ │ ├── knowledge-box-settings.component.scss │ │ │ │ ├── knowledge-box-settings.component.ts │ │ │ │ └── knowledge-box-settings.module.ts │ │ │ ├── metrics │ │ │ │ ├── index.ts │ │ │ │ ├── metrics-page.component.html │ │ │ │ ├── metrics-page.component.scss │ │ │ │ ├── metrics-page.component.ts │ │ │ │ ├── missing-knowledge-details │ │ │ │ │ ├── missing-knowledge-details.component.html │ │ │ │ │ ├── missing-knowledge-details.component.scss │ │ │ │ │ └── missing-knowledge-details.component.ts │ │ │ │ └── remi-metrics.service.ts │ │ │ ├── navbar │ │ │ │ ├── index.ts │ │ │ │ ├── navbar.component.html │ │ │ │ ├── navbar.component.scss │ │ │ │ ├── navbar.component.ts │ │ │ │ ├── navbar.module.ts │ │ │ │ └── small-navbar.directive.ts │ │ │ ├── page-not-found │ │ │ │ ├── index.ts │ │ │ │ ├── page-not-found.component.html │ │ │ │ ├── page-not-found.component.scss │ │ │ │ ├── page-not-found.component.spec.ts │ │ │ │ ├── page-not-found.component.ts │ │ │ │ └── page-not-found.module.ts │ │ │ ├── pagination │ │ │ │ ├── index.ts │ │ │ │ ├── pagination.component.html │ │ │ │ ├── pagination.component.scss │ │ │ │ ├── pagination.component.ts │ │ │ │ └── pagination.module.ts │ │ │ ├── pipes │ │ │ │ ├── format-date.pipe.ts │ │ │ │ ├── format-duration.pipe.spec.ts │ │ │ │ ├── format-duration.pipe.ts │ │ │ │ ├── format-eta.pipe.spec.ts │ │ │ │ ├── format-eta.pipe.ts │ │ │ │ ├── format-time.pipe.ts │ │ │ │ ├── generative-model.pipe.ts │ │ │ │ ├── index.ts │ │ │ │ ├── learning-option.pipe.ts │ │ │ │ ├── line-break-formatter.pipe.spec.ts │ │ │ │ ├── line-break-formatter.pipe.ts │ │ │ │ ├── pipes.module.ts │ │ │ │ └── safe-html.pipe.ts │ │ │ ├── rag-lab │ │ │ │ ├── _common-lab.scss │ │ │ │ ├── index.ts │ │ │ │ ├── lab-layout │ │ │ │ │ ├── lab-layout.component.html │ │ │ │ │ └── lab-layout.component.ts │ │ │ │ ├── loading-dialog │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── loading-dialog.component.html │ │ │ │ │ ├── loading-dialog.component.scss │ │ │ │ │ └── loading-dialog.component.ts │ │ │ │ ├── prompt-lab │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── prompt-lab.component.html │ │ │ │ │ └── prompt-lab.component.ts │ │ │ │ ├── question-block │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── question-block.component.html │ │ │ │ │ ├── question-block.component.scss │ │ │ │ │ └── question-block.component.ts │ │ │ │ ├── rag-lab-page.component.html │ │ │ │ ├── rag-lab-page.component.scss │ │ │ │ ├── rag-lab-page.component.ts │ │ │ │ ├── rag-lab.component.html │ │ │ │ ├── rag-lab.component.ts │ │ │ │ ├── rag-lab.models.ts │ │ │ │ └── rag-lab.service.ts │ │ │ ├── resources │ │ │ │ ├── edit-resource │ │ │ │ │ ├── _edit-resource.tokens.scss │ │ │ │ │ ├── add-field │ │ │ │ │ │ ├── add-field.component.html │ │ │ │ │ │ ├── add-field.component.scss │ │ │ │ │ │ └── add-field.component.ts │ │ │ │ │ ├── annotation │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── paragraph-annotation │ │ │ │ │ │ │ ├── paragraph-annotation.component.html │ │ │ │ │ │ │ ├── paragraph-annotation.component.scss │ │ │ │ │ │ │ ├── paragraph-annotation.component.ts │ │ │ │ │ │ │ └── paragraph-annotation.service.ts │ │ │ │ │ │ └── relations │ │ │ │ │ │ │ ├── relations.component.html │ │ │ │ │ │ │ ├── relations.component.scss │ │ │ │ │ │ │ └── relations.component.ts │ │ │ │ │ ├── classification │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── paragraph-classification │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── paragraph-classification.component.html │ │ │ │ │ │ │ ├── paragraph-classification.component.scss │ │ │ │ │ │ │ └── paragraph-classification.component.ts │ │ │ │ │ │ ├── resource-classification.component.html │ │ │ │ │ │ ├── resource-classification.component.scss │ │ │ │ │ │ └── resource-classification.component.ts │ │ │ │ │ ├── common-page-layout.scss │ │ │ │ │ ├── dropzone │ │ │ │ │ │ ├── dropzone.component.html │ │ │ │ │ │ ├── dropzone.component.scss │ │ │ │ │ │ └── dropzone.component.ts │ │ │ │ │ ├── edit-resource.component.html │ │ │ │ │ ├── edit-resource.component.scss │ │ │ │ │ ├── edit-resource.component.ts │ │ │ │ │ ├── edit-resource.helpers.spec.ts │ │ │ │ │ ├── edit-resource.helpers.ts │ │ │ │ │ ├── edit-resource.module.ts │ │ │ │ │ ├── edit-resource.service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── paragraph.service.ts │ │ │ │ │ ├── preview │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── preview-table.component.html │ │ │ │ │ │ ├── preview-table.component.scss │ │ │ │ │ │ ├── preview-table.component.ts │ │ │ │ │ │ ├── preview.component.html │ │ │ │ │ │ ├── preview.component.scss │ │ │ │ │ │ ├── preview.component.ts │ │ │ │ │ │ ├── preview.service.ts │ │ │ │ │ │ └── warning-modal │ │ │ │ │ │ │ ├── warning-modal.component.html │ │ │ │ │ │ │ ├── warning-modal.component.scss │ │ │ │ │ │ │ └── warning-modal.component.ts │ │ │ │ │ ├── profile │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ ├── file.component.html │ │ │ │ │ │ │ └── file.component.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── link │ │ │ │ │ │ │ ├── link.component.html │ │ │ │ │ │ │ └── link.component.ts │ │ │ │ │ │ ├── profile.component.html │ │ │ │ │ │ ├── profile.component.scss │ │ │ │ │ │ ├── profile.component.ts │ │ │ │ │ │ ├── text │ │ │ │ │ │ │ ├── text.component.html │ │ │ │ │ │ │ ├── text.component.scss │ │ │ │ │ │ │ └── text.component.ts │ │ │ │ │ │ └── thumbnail │ │ │ │ │ │ │ ├── thumbnail.component.html │ │ │ │ │ │ │ ├── thumbnail.component.scss │ │ │ │ │ │ │ └── thumbnail.component.ts │ │ │ │ │ ├── resource-navigation.service.ts │ │ │ │ │ └── select-first-field │ │ │ │ │ │ └── select-first-field.directive.ts │ │ │ │ ├── index.ts │ │ │ │ ├── resource-filters.utils.ts │ │ │ │ ├── resource-list │ │ │ │ │ ├── error-resources-table │ │ │ │ │ │ ├── error-resources-table.component.html │ │ │ │ │ │ ├── error-resources-table.component.scss │ │ │ │ │ │ ├── error-resources-table.component.spec.ts │ │ │ │ │ │ └── error-resources-table.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── pending-resources-table │ │ │ │ │ │ ├── pending-resources-table.component.html │ │ │ │ │ │ ├── pending-resources-table.component.spec.ts │ │ │ │ │ │ └── pending-resources-table.component.ts │ │ │ │ │ ├── processed-resources-table │ │ │ │ │ │ ├── processed-resources-table.component.spec.ts │ │ │ │ │ │ └── processed-resources-table.component.ts │ │ │ │ │ ├── resource-list.component.html │ │ │ │ │ ├── resource-list.component.scss │ │ │ │ │ ├── resource-list.component.spec.ts │ │ │ │ │ ├── resource-list.component.ts │ │ │ │ │ ├── resource-list.model.ts │ │ │ │ │ ├── resource-list.service.ts │ │ │ │ │ ├── resources-table.component.scss │ │ │ │ │ ├── resources-table.directive.ts │ │ │ │ │ ├── resources-table │ │ │ │ │ │ ├── resources-table.component.html │ │ │ │ │ │ ├── resources-table.component.spec.ts │ │ │ │ │ │ └── resources-table.component.ts │ │ │ │ │ ├── table-pagination │ │ │ │ │ │ ├── table-pagination.component.html │ │ │ │ │ │ ├── table-pagination.component.scss │ │ │ │ │ │ └── table-pagination.component.ts │ │ │ │ │ └── title-cell │ │ │ │ │ │ ├── title-cell.component.html │ │ │ │ │ │ ├── title-cell.component.scss │ │ │ │ │ │ └── title-cell.component.ts │ │ │ │ ├── resource-viewer.service.ts │ │ │ │ ├── resources.component.ts │ │ │ │ ├── resources.module.ts │ │ │ │ └── upload-button │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── upload-button.component.html │ │ │ │ │ ├── upload-button.component.ts │ │ │ │ │ └── upload-dialog.service.ts │ │ │ ├── retrieval-agent │ │ │ │ ├── agent-dashboard │ │ │ │ │ ├── _agent-dashboard.tokens.scss │ │ │ │ │ ├── agent-dashboard.component.html │ │ │ │ │ ├── agent-dashboard.component.scss │ │ │ │ │ ├── agent-dashboard.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── workflow │ │ │ │ │ │ ├── basic-elements │ │ │ │ │ │ ├── arrow-down.component.ts │ │ │ │ │ │ ├── config-block │ │ │ │ │ │ │ ├── config-block.component.html │ │ │ │ │ │ │ ├── config-block.component.scss │ │ │ │ │ │ │ └── config-block.component.ts │ │ │ │ │ │ ├── configuration-form │ │ │ │ │ │ │ ├── configuration-form.component.html │ │ │ │ │ │ │ ├── configuration-form.component.scss │ │ │ │ │ │ │ └── configuration-form.component.ts │ │ │ │ │ │ ├── connectable-entry │ │ │ │ │ │ │ ├── connectable-entry.component.html │ │ │ │ │ │ │ ├── connectable-entry.component.scss │ │ │ │ │ │ │ └── connectable-entry.component.ts │ │ │ │ │ │ ├── form.directive.ts │ │ │ │ │ │ ├── headers-field │ │ │ │ │ │ │ ├── headers-field.component.html │ │ │ │ │ │ │ └── headers-field.component.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── link │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── link.component.ts │ │ │ │ │ │ │ └── link.service.ts │ │ │ │ │ │ ├── node-box │ │ │ │ │ │ │ ├── node-box.component.html │ │ │ │ │ │ │ ├── node-box.component.scss │ │ │ │ │ │ │ └── node-box.component.ts │ │ │ │ │ │ ├── node-selector │ │ │ │ │ │ │ ├── node-selector.component.html │ │ │ │ │ │ │ ├── node-selector.component.scss │ │ │ │ │ │ │ └── node-selector.component.ts │ │ │ │ │ │ ├── node.directive.ts │ │ │ │ │ │ └── rules-field │ │ │ │ │ │ │ ├── rules-field.component.html │ │ │ │ │ │ │ └── rules-field.component.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── nodes │ │ │ │ │ │ ├── ask │ │ │ │ │ │ │ ├── ask-form.component.html │ │ │ │ │ │ │ ├── ask-form.component.ts │ │ │ │ │ │ │ ├── ask-node.component.html │ │ │ │ │ │ │ ├── ask-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── conditional │ │ │ │ │ │ │ ├── conditional-form.component.html │ │ │ │ │ │ │ ├── conditional-form.component.ts │ │ │ │ │ │ │ ├── conditional-node.component.html │ │ │ │ │ │ │ ├── conditional-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── cypher │ │ │ │ │ │ │ ├── cypher-form.component.html │ │ │ │ │ │ │ ├── cypher-form.component.ts │ │ │ │ │ │ │ ├── cypher-node.component.html │ │ │ │ │ │ │ ├── cypher-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── external │ │ │ │ │ │ │ ├── external-form.component.html │ │ │ │ │ │ │ ├── external-form.component.ts │ │ │ │ │ │ │ ├── external-node.component.html │ │ │ │ │ │ │ ├── external-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── generate │ │ │ │ │ │ │ ├── generate-form.component.html │ │ │ │ │ │ │ ├── generate-form.component.ts │ │ │ │ │ │ │ ├── generate-node.component.html │ │ │ │ │ │ │ ├── generate-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── guardrails │ │ │ │ │ │ │ ├── guardrails-form.component.html │ │ │ │ │ │ │ ├── guardrails-form.component.ts │ │ │ │ │ │ │ ├── guardrails-node.component.html │ │ │ │ │ │ │ ├── guardrails-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── historical │ │ │ │ │ │ │ ├── historical-form.component.html │ │ │ │ │ │ │ ├── historical-form.component.ts │ │ │ │ │ │ │ ├── historical-node.component.html │ │ │ │ │ │ │ ├── historical-node.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── internet │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── internet-form.component.html │ │ │ │ │ │ │ ├── internet-form.component.ts │ │ │ │ │ │ │ ├── internet-node.component.html │ │ │ │ │ │ │ └── internet-node.component.ts │ │ │ │ │ │ ├── mcp │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── mcp-form.component.html │ │ │ │ │ │ │ ├── mcp-form.component.ts │ │ │ │ │ │ │ ├── mcp-node.component.html │ │ │ │ │ │ │ └── mcp-node.component.ts │ │ │ │ │ │ ├── remi │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── remi-form.component.html │ │ │ │ │ │ │ ├── remi-form.component.ts │ │ │ │ │ │ │ ├── remi-node.component.html │ │ │ │ │ │ │ └── remi-node.component.ts │ │ │ │ │ │ ├── rephrase │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── rephrase-form.component.html │ │ │ │ │ │ │ ├── rephrase-form.component.ts │ │ │ │ │ │ │ ├── rephrase-node.component.html │ │ │ │ │ │ │ └── rephrase-node.component.ts │ │ │ │ │ │ ├── restart │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── restart-form.component.html │ │ │ │ │ │ │ ├── restart-form.component.ts │ │ │ │ │ │ │ ├── restart-node.component.html │ │ │ │ │ │ │ └── restart-node.component.ts │ │ │ │ │ │ ├── restricted │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── restricted-form.component.html │ │ │ │ │ │ │ ├── restricted-form.component.ts │ │ │ │ │ │ │ ├── restricted-node.component.html │ │ │ │ │ │ │ └── restricted-node.component.ts │ │ │ │ │ │ ├── sql │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── sql-form.component.html │ │ │ │ │ │ │ ├── sql-form.component.ts │ │ │ │ │ │ │ ├── sql-node.component.html │ │ │ │ │ │ │ └── sql-node.component.ts │ │ │ │ │ │ ├── summarize │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── summarize-form.component.html │ │ │ │ │ │ │ ├── summarize-form.component.ts │ │ │ │ │ │ │ ├── summarize-node.component.html │ │ │ │ │ │ │ └── summarize-node.component.ts │ │ │ │ │ │ └── workflow-root │ │ │ │ │ │ │ ├── workflow-root.component.html │ │ │ │ │ │ │ └── workflow-root.component.ts │ │ │ │ │ │ ├── sidebar │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── rules │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── rules-panel.component.html │ │ │ │ │ │ │ └── rules-panel.component.ts │ │ │ │ │ │ └── test-agent │ │ │ │ │ │ │ ├── elements │ │ │ │ │ │ │ ├── agent-block │ │ │ │ │ │ │ │ ├── agent-block.component.html │ │ │ │ │ │ │ │ ├── agent-block.component.scss │ │ │ │ │ │ │ │ ├── agent-block.component.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── agent-context │ │ │ │ │ │ │ │ ├── agent-context.component.html │ │ │ │ │ │ │ │ ├── agent-context.component.scss │ │ │ │ │ │ │ │ ├── agent-context.component.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── agent-step │ │ │ │ │ │ │ │ ├── agent-step.component.html │ │ │ │ │ │ │ │ ├── agent-step.component.scss │ │ │ │ │ │ │ │ ├── agent-step.component.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── blockquote │ │ │ │ │ │ │ │ ├── blockquote.component.html │ │ │ │ │ │ │ │ ├── blockquote.component.scss │ │ │ │ │ │ │ │ ├── blockquote.component.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── chip │ │ │ │ │ │ │ │ ├── chip.component.html │ │ │ │ │ │ │ │ ├── chip.component.scss │ │ │ │ │ │ │ │ ├── chip.component.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── test-panel.component.html │ │ │ │ │ │ │ ├── test-panel.component.scss │ │ │ │ │ │ │ ├── test-panel.component.ts │ │ │ │ │ │ │ └── test-panel.service.ts │ │ │ │ │ │ ├── workflow.effects.ts │ │ │ │ │ │ ├── workflow.models.ts │ │ │ │ │ │ ├── workflow.service.ts │ │ │ │ │ │ └── workflow.state.ts │ │ │ │ ├── arag.utils.ts │ │ │ │ ├── drivers │ │ │ │ │ ├── cypher-driver │ │ │ │ │ │ ├── cypher-driver-modal.component.html │ │ │ │ │ │ ├── cypher-driver-modal.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── driver-form.scss │ │ │ │ │ ├── drivers-page.component.html │ │ │ │ │ ├── drivers-page.component.scss │ │ │ │ │ ├── drivers-page.component.ts │ │ │ │ │ ├── guardrails-driver │ │ │ │ │ │ ├── guardrails-driver-modal.component.html │ │ │ │ │ │ ├── guardrails-driver-modal.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── internet-driver │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── internet-driver-modal.component.html │ │ │ │ │ │ └── internet-driver-modal.component.ts │ │ │ │ │ ├── mcp-driver │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── mcpsse-driver-modal.component.html │ │ │ │ │ │ ├── mcpsse-driver-modal.component.ts │ │ │ │ │ │ ├── mcpstdio-driver-modal.component.html │ │ │ │ │ │ └── mcpstdio-driver-modal.component.ts │ │ │ │ │ ├── nuclia-driver │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── nuclia-driver-modal.component.html │ │ │ │ │ │ └── nuclia-driver-modal.component.ts │ │ │ │ │ └── sql-driver │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── sql-driver-modal.component.html │ │ │ │ │ │ └── sql-driver-modal.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── retrieval-agent.component.ts │ │ │ │ └── sessions │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── session-info │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── session-info.component.html │ │ │ │ │ ├── session-info.component.scss │ │ │ │ │ └── session-info.component.ts │ │ │ │ │ ├── sessions-list.component.html │ │ │ │ │ ├── sessions-list.component.scss │ │ │ │ │ ├── sessions-list.component.ts │ │ │ │ │ └── sessions.component.ts │ │ │ ├── search-widget │ │ │ │ ├── _common-form.scss │ │ │ │ ├── index.ts │ │ │ │ ├── search-configuration │ │ │ │ │ ├── filter-assistant │ │ │ │ │ │ ├── filter-assistant-modal.component.html │ │ │ │ │ │ ├── filter-assistant-modal.component.scss │ │ │ │ │ │ ├── filter-assistant-modal.component.ts │ │ │ │ │ │ ├── filter-assistant.models.ts │ │ │ │ │ │ ├── filter-expression │ │ │ │ │ │ │ ├── filter-expression.component.html │ │ │ │ │ │ │ ├── filter-expression.component.scss │ │ │ │ │ │ │ ├── filter-expression.component.ts │ │ │ │ │ │ │ ├── filter-expression.pipe.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── filter-type-and-value │ │ │ │ │ │ │ ├── filter-type-and-value.component.html │ │ │ │ │ │ │ ├── filter-type-and-value.component.ts │ │ │ │ │ │ │ ├── filter-type.pipe.ts │ │ │ │ │ │ │ ├── filter-value.component.html │ │ │ │ │ │ │ ├── filter-value.component.scss │ │ │ │ │ │ │ ├── filter-value.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── find-resource-modal │ │ │ │ │ │ ├── find-resource-modal.component.html │ │ │ │ │ │ ├── find-resource-modal.component.scss │ │ │ │ │ │ ├── find-resource-modal.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── generative-answer-form │ │ │ │ │ │ ├── generative-answer-form.component.html │ │ │ │ │ │ ├── generative-answer-form.component.scss │ │ │ │ │ │ ├── generative-answer-form.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── results-display-form │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── results-display-form.component.html │ │ │ │ │ │ └── results-display-form.component.ts │ │ │ │ │ ├── save-config-modal │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── save-config-modal.component.html │ │ │ │ │ │ ├── save-config-modal.component.scss │ │ │ │ │ │ └── save-config-modal.component.ts │ │ │ │ │ ├── search-box-form │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── search-box-form.component.html │ │ │ │ │ │ └── search-box-form.component.ts │ │ │ │ │ ├── search-configuration.component.html │ │ │ │ │ ├── search-configuration.component.scss │ │ │ │ │ ├── search-configuration.component.ts │ │ │ │ │ └── search-request-modal │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── search-request-modal.component.html │ │ │ │ │ │ ├── search-request-modal.component.scss │ │ │ │ │ │ └── search-request-modal.component.ts │ │ │ │ ├── search-page.component.html │ │ │ │ ├── search-page.component.scss │ │ │ │ ├── search-page.component.ts │ │ │ │ ├── search-widget-storage.service.ts │ │ │ │ ├── search-widget.models.ts │ │ │ │ ├── search-widget.service.ts │ │ │ │ └── widgets │ │ │ │ │ ├── dialogs │ │ │ │ │ ├── create-widget-dialog │ │ │ │ │ │ ├── create-widget-dialog.component.html │ │ │ │ │ │ ├── create-widget-dialog.component.scss │ │ │ │ │ │ └── create-widget-dialog.component.ts │ │ │ │ │ ├── duplicate-widget-dialog │ │ │ │ │ │ ├── duplicate-widget-dialog.component.html │ │ │ │ │ │ ├── duplicate-widget-dialog.component.scss │ │ │ │ │ │ └── duplicate-widget-dialog.component.ts │ │ │ │ │ ├── embed-widget-dialog │ │ │ │ │ │ ├── embed-widget-dialog.component.html │ │ │ │ │ │ ├── embed-widget-dialog.component.scss │ │ │ │ │ │ └── embed-widget-dialog.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── rename-widget-dialog │ │ │ │ │ │ ├── rename-widget-dialog.component.html │ │ │ │ │ │ ├── rename-widget-dialog.component.scss │ │ │ │ │ │ └── rename-widget-dialog.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── widget-form │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── widget-form.component.html │ │ │ │ │ ├── widget-form.component.scss │ │ │ │ │ └── widget-form.component.ts │ │ │ │ │ ├── widget-list.component.html │ │ │ │ │ ├── widget-list.component.scss │ │ │ │ │ ├── widget-list.component.ts │ │ │ │ │ ├── widgets.component.ts │ │ │ │ │ └── widgets.routes.ts │ │ │ ├── select-account-kb │ │ │ │ ├── _select-account.tokens.scss │ │ │ │ ├── index.ts │ │ │ │ ├── select-account-kb.module.ts │ │ │ │ ├── select-account-kb.service.ts │ │ │ │ ├── select-account │ │ │ │ │ ├── select-account.component.html │ │ │ │ │ ├── select-account.component.scss │ │ │ │ │ ├── select-account.component.spec.ts │ │ │ │ │ └── select-account.component.ts │ │ │ │ ├── select-kb │ │ │ │ │ ├── select-kb.component.html │ │ │ │ │ ├── select-kb.component.scss │ │ │ │ │ └── select-kb.component.ts │ │ │ │ └── utils.ts │ │ │ ├── services │ │ │ │ ├── app.service.ts │ │ │ │ ├── index.ts │ │ │ │ ├── standalone.service.spec.ts │ │ │ │ └── standalone.service.ts │ │ │ ├── tasks-automation │ │ │ │ ├── _task.common.scss │ │ │ │ ├── index.ts │ │ │ │ ├── task-details │ │ │ │ │ ├── task-details.component.html │ │ │ │ │ ├── task-details.component.scss │ │ │ │ │ ├── task-details.component.ts │ │ │ │ │ ├── task-execution │ │ │ │ │ │ ├── task-execution.component.html │ │ │ │ │ │ ├── task-execution.component.scss │ │ │ │ │ │ └── task-execution.component.ts │ │ │ │ │ ├── task-settings │ │ │ │ │ │ ├── task-settings.component.html │ │ │ │ │ │ ├── task-settings.component.scss │ │ │ │ │ │ └── task-settings.component.ts │ │ │ │ │ └── task-testing │ │ │ │ │ │ ├── graph-results │ │ │ │ │ │ ├── graph-results.component.html │ │ │ │ │ │ ├── graph-results.component.scss │ │ │ │ │ │ └── graph-results.component.ts │ │ │ │ │ │ ├── labeler-results │ │ │ │ │ │ ├── labeler-results.component.html │ │ │ │ │ │ ├── labeler-results.component.scss │ │ │ │ │ │ └── labeler-results.component.ts │ │ │ │ │ │ ├── task-testing.component.html │ │ │ │ │ │ ├── task-testing.component.scss │ │ │ │ │ │ ├── task-testing.component.ts │ │ │ │ │ │ └── test-results │ │ │ │ │ │ ├── test-results.component.html │ │ │ │ │ │ ├── test-results.component.scss │ │ │ │ │ │ └── test-results.component.ts │ │ │ │ ├── task-forms │ │ │ │ │ ├── ask │ │ │ │ │ │ ├── ask.component.html │ │ │ │ │ │ └── ask.component.ts │ │ │ │ │ ├── content-safety │ │ │ │ │ │ ├── content-safety.component.html │ │ │ │ │ │ └── content-safety.component.ts │ │ │ │ │ ├── graph-extraction │ │ │ │ │ │ ├── graph-extraction.component.html │ │ │ │ │ │ ├── graph-extraction.component.scss │ │ │ │ │ │ └── graph-extraction.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── labeler │ │ │ │ │ │ ├── labeler.component.html │ │ │ │ │ │ └── labeler.component.ts │ │ │ │ │ ├── labeling-configuration │ │ │ │ │ │ ├── labeling-configuration.component.html │ │ │ │ │ │ ├── labeling-configuration.component.scss │ │ │ │ │ │ └── labeling-configuration.component.ts │ │ │ │ │ ├── llm-security │ │ │ │ │ │ ├── llm-security.component.html │ │ │ │ │ │ └── llm-security.component.ts │ │ │ │ │ ├── question-answer │ │ │ │ │ │ ├── question-answer.component.html │ │ │ │ │ │ └── question-answer.component.ts │ │ │ │ │ ├── task-form.component.html │ │ │ │ │ ├── task-form.component.scss │ │ │ │ │ ├── task-form.component.ts │ │ │ │ │ └── task-route.directive.ts │ │ │ │ ├── task-list │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── task-card.component.html │ │ │ │ │ ├── task-card.component.scss │ │ │ │ │ ├── task-card.component.ts │ │ │ │ │ ├── task-duplicate-dialog.component.html │ │ │ │ │ ├── task-duplicate-dialog.component.ts │ │ │ │ │ ├── task-list.component.html │ │ │ │ │ ├── task-list.component.scss │ │ │ │ │ └── task-list.component.ts │ │ │ │ ├── tasks-automation.component.ts │ │ │ │ ├── tasks-automation.models.ts │ │ │ │ ├── tasks-automation.routes.ts │ │ │ │ └── tasks-automation.service.ts │ │ │ ├── token-dialog │ │ │ │ ├── expiration-modal.component.html │ │ │ │ ├── expiration-modal.component.scss │ │ │ │ ├── expiration-modal.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── token-dialog.component.html │ │ │ │ ├── token-dialog.component.scss │ │ │ │ ├── token-dialog.component.ts │ │ │ │ └── token-dialog.module.ts │ │ │ ├── topbar │ │ │ │ ├── index.ts │ │ │ │ ├── kb-switch │ │ │ │ │ ├── kb-switch.component.html │ │ │ │ │ ├── kb-switch.component.scss │ │ │ │ │ └── kb-switch.component.ts │ │ │ │ ├── standalone-menu │ │ │ │ │ ├── standalone-menu.component.html │ │ │ │ │ ├── standalone-menu.component.scss │ │ │ │ │ └── standalone-menu.component.ts │ │ │ │ ├── topbar.component.html │ │ │ │ ├── topbar.component.scss │ │ │ │ ├── topbar.component.ts │ │ │ │ ├── topbar.module.ts │ │ │ │ └── user-menu │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── user-menu.component.html │ │ │ │ │ ├── user-menu.component.scss │ │ │ │ │ └── user-menu.component.ts │ │ │ ├── upload │ │ │ │ ├── create-link │ │ │ │ │ ├── create-link.component.html │ │ │ │ │ ├── create-link.component.scss │ │ │ │ │ └── create-link.component.ts │ │ │ │ ├── csv-parser.spec.ts │ │ │ │ ├── csv-parser.ts │ │ │ │ ├── csv-select │ │ │ │ │ ├── csv-select.component.html │ │ │ │ │ ├── csv-select.component.scss │ │ │ │ │ └── csv-select.component.ts │ │ │ │ ├── desktop-upload.service.ts │ │ │ │ ├── extraction-select │ │ │ │ │ ├── extraction-select.component.html │ │ │ │ │ ├── extraction-select.component.scss │ │ │ │ │ └── extraction-select.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── upload-bar │ │ │ │ │ ├── upload-bar.component.html │ │ │ │ │ ├── upload-bar.component.scss │ │ │ │ │ └── upload-bar.component.ts │ │ │ │ ├── upload-data │ │ │ │ │ ├── desktop-sources │ │ │ │ │ │ ├── desktop-sources.component.html │ │ │ │ │ │ ├── desktop-sources.component.scss │ │ │ │ │ │ └── desktop-sources.component.ts │ │ │ │ │ ├── upload-data.component.html │ │ │ │ │ ├── upload-data.component.scss │ │ │ │ │ ├── upload-data.component.ts │ │ │ │ │ └── upload-option │ │ │ │ │ │ ├── upload-option.component.html │ │ │ │ │ │ ├── upload-option.component.scss │ │ │ │ │ │ └── upload-option.component.ts │ │ │ │ ├── upload-files │ │ │ │ │ ├── upload-files-dialog.component.ts │ │ │ │ │ ├── upload-files.component.html │ │ │ │ │ ├── upload-files.component.scss │ │ │ │ │ └── upload-files.component.ts │ │ │ │ ├── upload-progress │ │ │ │ │ ├── upload-progress-dialog.component.ts │ │ │ │ │ ├── upload-progress.component.html │ │ │ │ │ ├── upload-progress.component.scss │ │ │ │ │ └── upload-progress.component.ts │ │ │ │ ├── upload-qna │ │ │ │ │ ├── upload-qna.component.html │ │ │ │ │ ├── upload-qna.component.scss │ │ │ │ │ └── upload-qna.component.ts │ │ │ │ ├── upload-routing.module.ts │ │ │ │ ├── upload-sitemap │ │ │ │ │ ├── sitemap-select │ │ │ │ │ │ ├── sitemap-select.component.html │ │ │ │ │ │ └── sitemap-select.component.ts │ │ │ │ │ ├── upload-sitemap.component.html │ │ │ │ │ ├── upload-sitemap.component.scss │ │ │ │ │ └── upload-sitemap.component.ts │ │ │ │ ├── upload-text │ │ │ │ │ ├── upload-text.component.html │ │ │ │ │ ├── upload-text.component.scss │ │ │ │ │ └── upload-text.component.ts │ │ │ │ ├── upload.module.ts │ │ │ │ ├── upload.service.ts │ │ │ │ └── upload.utils.ts │ │ │ └── validators │ │ │ │ ├── form.validator.ts │ │ │ │ └── index.ts │ │ └── test-setup.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── core │ ├── README.md │ ├── jest.config.js │ ├── project.json │ ├── src │ │ ├── index.ts │ │ ├── lib │ │ │ ├── analytics │ │ │ │ ├── feature-flag.service.ts │ │ │ │ ├── features.service.ts │ │ │ │ └── index.ts │ │ │ ├── api │ │ │ │ ├── account.service.ts │ │ │ │ ├── billing.service.ts │ │ │ │ ├── index.ts │ │ │ │ ├── sdk.service.ts │ │ │ │ ├── sso.service.ts │ │ │ │ ├── user.service.spec.ts │ │ │ │ ├── user.service.ts │ │ │ │ └── zone.service.ts │ │ │ ├── auth │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── index.ts │ │ │ │ ├── jwt │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── jwthelper.service.ts │ │ │ │ │ └── jwtoptions.token.ts │ │ │ │ ├── login.service.ts │ │ │ │ ├── oauth.service.ts │ │ │ │ ├── saml.service.ts │ │ │ │ ├── token.service.spec.ts │ │ │ │ └── token.service.ts │ │ │ ├── config │ │ │ │ ├── app.init.service.ts │ │ │ │ ├── backend-config.service.spec.ts │ │ │ │ ├── backend-config.service.ts │ │ │ │ ├── index.ts │ │ │ │ └── stf-config.module.ts │ │ │ ├── label │ │ │ │ ├── index.ts │ │ │ │ ├── label-dropdown │ │ │ │ │ ├── label-dropdown.component.html │ │ │ │ │ ├── label-dropdown.component.scss │ │ │ │ │ ├── label-dropdown.component.spec.ts │ │ │ │ │ └── label-dropdown.component.ts │ │ │ │ ├── label-field │ │ │ │ │ ├── label-field.component.html │ │ │ │ │ ├── label-field.component.scss │ │ │ │ │ └── label-field.component.ts │ │ │ │ ├── label-list │ │ │ │ │ ├── label-list.component.html │ │ │ │ │ ├── label-list.component.scss │ │ │ │ │ └── label-list.component.ts │ │ │ │ ├── label-sets │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── label-list.pipe.spec.ts │ │ │ │ │ ├── label-list.pipe.ts │ │ │ │ │ ├── label-set-list │ │ │ │ │ │ ├── label-set-list.component.html │ │ │ │ │ │ ├── label-set-list.component.scss │ │ │ │ │ │ └── label-set-list.component.ts │ │ │ │ │ ├── label-set │ │ │ │ │ │ ├── color-picker │ │ │ │ │ │ │ ├── color-picker.component.html │ │ │ │ │ │ │ ├── color-picker.component.scss │ │ │ │ │ │ │ └── color-picker.component.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── label-set-form │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── label-set-form-modal.component.html │ │ │ │ │ │ │ ├── label-set-form-modal.component.scss │ │ │ │ │ │ │ ├── label-set-form-modal.component.ts │ │ │ │ │ │ │ ├── label-set-form.component.html │ │ │ │ │ │ │ ├── label-set-form.component.scss │ │ │ │ │ │ │ └── label-set-form.component.ts │ │ │ │ │ │ ├── label-set.component.html │ │ │ │ │ │ ├── label-set.component.scss │ │ │ │ │ │ ├── label-set.component.ts │ │ │ │ │ │ └── label │ │ │ │ │ │ │ ├── label.component.html │ │ │ │ │ │ │ ├── label.component.scss │ │ │ │ │ │ │ └── label.component.ts │ │ │ │ │ ├── label-sets.component.html │ │ │ │ │ ├── label-sets.component.scss │ │ │ │ │ ├── label-sets.component.ts │ │ │ │ │ ├── label-sets.module.ts │ │ │ │ │ ├── missing-labels │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── missing-labels-dialog.component.html │ │ │ │ │ │ ├── missing-labels-dialog.component.scss │ │ │ │ │ │ └── missing-labels-dialog.component.ts │ │ │ │ │ ├── model.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── label.module.ts │ │ │ │ └── labels.service.ts │ │ │ ├── models │ │ │ │ ├── account.model.ts │ │ │ │ ├── billing.model.ts │ │ │ │ ├── index.ts │ │ │ │ ├── kb.models.ts │ │ │ │ ├── local.model.ts │ │ │ │ ├── magic.model.ts │ │ │ │ ├── permissions.model.ts │ │ │ │ ├── region.model.ts │ │ │ │ ├── user.model.ts │ │ │ │ ├── welcome.model.ts │ │ │ │ └── zone.model.ts │ │ │ ├── notifications │ │ │ │ ├── index.ts │ │ │ │ ├── notification-button │ │ │ │ │ ├── notification-button.component.html │ │ │ │ │ ├── notification-button.component.scss │ │ │ │ │ └── notification-button.component.ts │ │ │ │ ├── notification-type.pipe.spec.ts │ │ │ │ ├── notification-type.pipe.ts │ │ │ │ ├── notification.model.ts │ │ │ │ ├── notification.service.ts │ │ │ │ ├── notification │ │ │ │ │ ├── notification.component.html │ │ │ │ │ ├── notification.component.scss │ │ │ │ │ └── notification.component.ts │ │ │ │ └── notifications-panel │ │ │ │ │ ├── notifications-panel.component.html │ │ │ │ │ ├── notifications-panel.component.scss │ │ │ │ │ └── notifications-panel.component.ts │ │ │ ├── parameters-table │ │ │ │ ├── index.ts │ │ │ │ ├── parameters-table.component.html │ │ │ │ ├── parameters-table.component.scss │ │ │ │ └── parameters-table.component.ts │ │ │ ├── services │ │ │ │ ├── index.ts │ │ │ │ └── navigation.service.ts │ │ │ ├── testing │ │ │ │ ├── index.ts │ │ │ │ └── utils.ts │ │ │ ├── ui │ │ │ │ ├── file-upload │ │ │ │ │ ├── file-drop.directive.ts │ │ │ │ │ ├── file-drop.utils.ts │ │ │ │ │ ├── file-select.directive.ts │ │ │ │ │ ├── file-upload.module.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lower-case-input.directive.ts │ │ │ │ ├── pipes │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── size.pipe.ts │ │ │ │ │ └── stf-pipes.module.ts │ │ │ │ ├── sidebar.service.ts │ │ │ │ └── splash-screen.service.ts │ │ │ ├── unauthorized-feature │ │ │ │ ├── index.ts │ │ │ │ ├── unauthorized-feature-modal.component.html │ │ │ │ ├── unauthorized-feature-modal.component.scss │ │ │ │ ├── unauthorized-feature-modal.component.ts │ │ │ │ ├── unauthorized-feature.component.ts │ │ │ │ ├── unauthorized-feature.directive.ts │ │ │ │ └── unauthorized-feature.model.ts │ │ │ └── utils │ │ │ │ ├── clonedeep.ts │ │ │ │ ├── deep-equal.spec.ts │ │ │ │ ├── deep-equal.ts │ │ │ │ ├── index.ts │ │ │ │ ├── md5.ts │ │ │ │ └── utils.ts │ │ └── test-setup.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── sdk-core │ ├── .babelrc │ ├── .eslintrc.json │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── project.json │ ├── rollup.config.mjs │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ ├── auth │ │ │ ├── auth.models.ts │ │ │ ├── auth.spec.ts │ │ │ ├── auth.ts │ │ │ ├── index.ts │ │ │ └── jwt-helpers.ts │ │ │ ├── core.spec.ts │ │ │ ├── core.ts │ │ │ ├── db │ │ │ ├── db.models.ts │ │ │ ├── db.spec.ts │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ ├── kb │ │ │ │ ├── activity │ │ │ │ │ ├── activity-monitor.ts │ │ │ │ │ ├── activity.models.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── kb.models.ts │ │ │ │ └── kb.ts │ │ │ ├── notifications │ │ │ │ ├── index.ts │ │ │ │ ├── notification.models.ts │ │ │ │ └── notifications.ts │ │ │ ├── resource │ │ │ │ ├── index.ts │ │ │ │ ├── resource.helpers.spec.ts │ │ │ │ ├── resource.helpers.ts │ │ │ │ ├── resource.mapper.ts │ │ │ │ ├── resource.models.ts │ │ │ │ └── resource.ts │ │ │ ├── retrieval-agent │ │ │ │ ├── driver.models.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interactions.models.ts │ │ │ │ ├── retrieval-agent.models.ts │ │ │ │ ├── retrieval-agent.ts │ │ │ │ ├── retrieval-agent.types.ts │ │ │ │ ├── session.models.ts │ │ │ │ └── session.ts │ │ │ ├── search │ │ │ │ ├── agentic.spec.ts │ │ │ │ ├── agentic.ts │ │ │ │ ├── ask.models.ts │ │ │ │ ├── ask.spec.ts │ │ │ │ ├── ask.ts │ │ │ │ ├── filter.ts │ │ │ │ ├── index.ts │ │ │ │ ├── search.models.ts │ │ │ │ ├── search.ts │ │ │ │ └── widget.ts │ │ │ ├── task │ │ │ │ ├── index.ts │ │ │ │ ├── task.models.ts │ │ │ │ └── task.ts │ │ │ ├── training │ │ │ │ ├── index.ts │ │ │ │ ├── training.models.ts │ │ │ │ └── training.ts │ │ │ └── upload.ts │ │ │ ├── events.ts │ │ │ ├── models.ts │ │ │ ├── rest │ │ │ ├── index.ts │ │ │ ├── rest.spec.ts │ │ │ └── rest.ts │ │ │ └── test.utils.spec.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.lib.umd.json │ └── tsconfig.spec.json ├── search-widget │ ├── .eslintrc.cjs │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── project.json │ ├── public │ │ ├── i18n │ │ │ ├── ca.json │ │ │ ├── en.json │ │ │ ├── es.json │ │ │ └── fr.json │ │ ├── icons │ │ │ └── glyphs-sprite.svg │ │ ├── logos │ │ │ └── logo-grey.svg │ │ └── tiles │ │ │ └── audio-waves.mp4 │ ├── src │ │ ├── common │ │ │ ├── _global.scss │ │ │ ├── actions │ │ │ │ └── actions.ts │ │ │ ├── button │ │ │ │ ├── Button.scss │ │ │ │ ├── Button.svelte │ │ │ │ ├── IconButton.svelte │ │ │ │ ├── button.spec.ts │ │ │ │ └── index.ts │ │ │ ├── checkbox │ │ │ │ ├── Checkbox.scss │ │ │ │ └── Checkbox.svelte │ │ │ ├── chip │ │ │ │ ├── Chip.scss │ │ │ │ └── Chip.svelte │ │ │ ├── common-style.scss │ │ │ ├── dropdown │ │ │ │ ├── Dropdown.scss │ │ │ │ ├── Dropdown.svelte │ │ │ │ ├── Option.scss │ │ │ │ └── Option.svelte │ │ │ ├── expander │ │ │ │ ├── Expander.scss │ │ │ │ └── Expander.svelte │ │ │ ├── icons │ │ │ │ ├── Icon.scss │ │ │ │ ├── Icon.svelte │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── indicators │ │ │ │ ├── DocTypeIndicator.scss │ │ │ │ ├── DocTypeIndicator.svelte │ │ │ │ ├── PageIndicator.scss │ │ │ │ ├── PageIndicator.svelte │ │ │ │ ├── TimeIndicator.scss │ │ │ │ ├── TimeIndicator.svelte │ │ │ │ ├── _indicator.scss │ │ │ │ └── index.ts │ │ │ ├── infinite-scroll │ │ │ │ └── InfiniteScroll.svelte │ │ │ ├── label │ │ │ │ ├── Label.svelte │ │ │ │ ├── index.ts │ │ │ │ └── label.utils.ts │ │ │ ├── modal │ │ │ │ ├── ConfirmDialog.scss │ │ │ │ ├── ConfirmDialog.svelte │ │ │ │ ├── Modal.scss │ │ │ │ ├── Modal.svelte │ │ │ │ ├── _common-modal.scss │ │ │ │ ├── index.ts │ │ │ │ ├── modal.spec.ts │ │ │ │ └── modal.utils.ts │ │ │ ├── paragraph-result │ │ │ │ ├── AllResultsToggle.scss │ │ │ │ ├── AllResultsToggle.svelte │ │ │ │ ├── ParagraphResult.scss │ │ │ │ ├── ParagraphResult.svelte │ │ │ │ └── index.ts │ │ │ ├── spinner │ │ │ │ ├── LoadingDots.scss │ │ │ │ ├── LoadingDots.svelte │ │ │ │ ├── Spinner.scss │ │ │ │ ├── Spinner.svelte │ │ │ │ └── index.ts │ │ │ ├── tabs │ │ │ │ ├── TabItem.scss │ │ │ │ ├── TabItem.svelte │ │ │ │ ├── TabsList.scss │ │ │ │ ├── TabsList.svelte │ │ │ │ └── index.ts │ │ │ ├── textarea │ │ │ │ ├── Textarea.scss │ │ │ │ └── Textarea.svelte │ │ │ ├── thumbnail │ │ │ │ ├── Thumbnail.scss │ │ │ │ ├── Thumbnail.svelte │ │ │ │ ├── ThumbnailPlayer.scss │ │ │ │ ├── ThumbnailPlayer.svelte │ │ │ │ └── index.ts │ │ │ ├── toggle │ │ │ │ ├── Toggle.scss │ │ │ │ └── Toggle.svelte │ │ │ ├── tooltip │ │ │ │ ├── Tooltip.scss │ │ │ │ ├── Tooltip.svelte │ │ │ │ ├── index.ts │ │ │ │ └── tooltip.ts │ │ │ └── utils.ts │ │ ├── components │ │ │ ├── answer │ │ │ │ ├── Answer.scss │ │ │ │ ├── Answer.svelte │ │ │ │ ├── Chat.scss │ │ │ │ ├── Chat.svelte │ │ │ │ ├── ChatInput.scss │ │ │ │ ├── ChatInput.svelte │ │ │ │ ├── DebugInfo.scss │ │ │ │ ├── DebugInfo.svelte │ │ │ │ ├── Feedback.scss │ │ │ │ ├── Feedback.svelte │ │ │ │ ├── InitialAnswer.scss │ │ │ │ ├── InitialAnswer.svelte │ │ │ │ ├── JsonAnswer.scss │ │ │ │ ├── JsonAnswer.svelte │ │ │ │ ├── Sources.scss │ │ │ │ ├── Sources.svelte │ │ │ │ ├── index.ts │ │ │ │ └── json-answer.model.ts │ │ │ ├── image │ │ │ │ ├── Image.scss │ │ │ │ └── Image.svelte │ │ │ ├── index.ts │ │ │ ├── info-card │ │ │ │ ├── InfoCard.scss │ │ │ │ └── InfoCard.svelte │ │ │ ├── input-images │ │ │ │ ├── InputImages.scss │ │ │ │ └── InputImages.svelte │ │ │ ├── knowledge-graph │ │ │ │ ├── D3Loader.svelte │ │ │ │ ├── Graph.scss │ │ │ │ ├── Graph.svelte │ │ │ │ ├── KnowledgeGraph.scss │ │ │ │ ├── KnowledgeGraph.svelte │ │ │ │ ├── KnowledgeGraphPanel.scss │ │ │ │ ├── KnowledgeGraphPanel.svelte │ │ │ │ └── index.ts │ │ │ ├── result-row │ │ │ │ ├── FieldMetadata.scss │ │ │ │ ├── FieldMetadata.svelte │ │ │ │ ├── ResultRow.scss │ │ │ │ ├── ResultRow.svelte │ │ │ │ └── index.ts │ │ │ ├── results-order │ │ │ │ ├── ResultsOrderButton.scss │ │ │ │ └── ResultsOrderButton.svelte │ │ │ ├── search-filters │ │ │ │ ├── SearchFilters.scss │ │ │ │ └── SearchFilters.svelte │ │ │ ├── search-input │ │ │ │ ├── SearchInput.scss │ │ │ │ ├── SearchInput.spec.ts │ │ │ │ ├── SearchInput.svelte │ │ │ │ └── index.ts │ │ │ ├── suggestions │ │ │ │ ├── Suggestions.scss │ │ │ │ └── Suggestions.svelte │ │ │ └── viewer │ │ │ │ ├── MetadataContainer.scss │ │ │ │ ├── MetadataContainer.svelte │ │ │ │ ├── MetadataSectionHeader.scss │ │ │ │ ├── MetadataSectionHeader.svelte │ │ │ │ ├── SearchResultNavigator.scss │ │ │ │ ├── SearchResultNavigator.svelte │ │ │ │ ├── Viewer.scss │ │ │ │ ├── Viewer.svelte │ │ │ │ ├── ViewerContent.scss │ │ │ │ ├── ViewerContent.svelte │ │ │ │ ├── index.ts │ │ │ │ ├── renderers │ │ │ │ ├── AudioRenderer.svelte │ │ │ │ ├── ConversationRenderer.scss │ │ │ │ ├── ConversationRenderer.svelte │ │ │ │ ├── ImageRenderer.scss │ │ │ │ ├── ImageRenderer.svelte │ │ │ │ ├── PdfRenderer.svelte │ │ │ │ ├── SpreadsheetRenderer.scss │ │ │ │ ├── SpreadsheetRenderer.svelte │ │ │ │ ├── TextRenderer.svelte │ │ │ │ ├── VideoRenderer.scss │ │ │ │ ├── VideoRenderer.svelte │ │ │ │ ├── index.ts │ │ │ │ ├── players │ │ │ │ │ ├── AudioPlayer.scss │ │ │ │ │ ├── AudioPlayer.svelte │ │ │ │ │ ├── PlayerControls.scss │ │ │ │ │ ├── PlayerControls.svelte │ │ │ │ │ ├── VideoPlayer.scss │ │ │ │ │ ├── VideoPlayer.svelte │ │ │ │ │ ├── YoutubePlayer.scss │ │ │ │ │ ├── YoutubePlayer.svelte │ │ │ │ │ └── index.ts │ │ │ │ └── renderings │ │ │ │ │ ├── ExtractedTextRendering.svelte │ │ │ │ │ ├── HtmlRendering.svelte │ │ │ │ │ ├── MarkdownRendering.scss │ │ │ │ │ ├── MarkdownRendering.svelte │ │ │ │ │ ├── PdfRendering.scss │ │ │ │ │ ├── PdfRendering.svelte │ │ │ │ │ ├── PlainTextRendering.svelte │ │ │ │ │ ├── RstRendering.svelte │ │ │ │ │ ├── TextContentRendering.svelte │ │ │ │ │ └── index.ts │ │ │ │ └── utils.ts │ │ ├── core │ │ │ ├── api.ts │ │ │ ├── i18n.ts │ │ │ ├── index.ts │ │ │ ├── knowledge-graph.models.ts │ │ │ ├── models.ts │ │ │ ├── reset.ts │ │ │ ├── search-bar.ts │ │ │ ├── state-lib │ │ │ │ ├── index.ts │ │ │ │ ├── state.lib.ts │ │ │ │ └── writable-subject.ts │ │ │ ├── stores │ │ │ │ ├── answers.store.ts │ │ │ │ ├── effects.ts │ │ │ │ ├── entities.store.ts │ │ │ │ ├── graph.store.ts │ │ │ │ ├── index.ts │ │ │ │ ├── labels.store.ts │ │ │ │ ├── search.store.ts │ │ │ │ ├── suggestions.store.ts │ │ │ │ ├── viewer.store.ts │ │ │ │ └── widget.store.ts │ │ │ ├── tracking.ts │ │ │ └── utils.ts │ │ ├── index.js │ │ └── widgets │ │ │ ├── chat-widget │ │ │ ├── ChatWidget.scss │ │ │ ├── ChatWidget.svelte │ │ │ └── index.ts │ │ │ ├── global-widget │ │ │ ├── GlobalWidget.scss │ │ │ ├── GlobalWidget.svelte │ │ │ ├── components │ │ │ │ ├── answer │ │ │ │ │ ├── Answer.scss │ │ │ │ │ ├── Answer.svelte │ │ │ │ │ ├── Feedback.svelte │ │ │ │ │ ├── InitialAnswer.scss │ │ │ │ │ ├── InitialAnswer.svelte │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── paragraph-result │ │ │ │ │ ├── ParagraphResult.scss │ │ │ │ │ └── ParagraphResult.svelte │ │ │ │ ├── result-row │ │ │ │ │ ├── ResultRow.scss │ │ │ │ │ ├── ResultRow.svelte │ │ │ │ │ └── index.ts │ │ │ │ ├── search-input │ │ │ │ │ ├── SearchInput.scss │ │ │ │ │ ├── SearchInput.spec.ts │ │ │ │ │ └── SearchInput.svelte │ │ │ │ └── suggestions │ │ │ │ │ ├── Suggestions.scss │ │ │ │ │ └── Suggestions.svelte │ │ │ ├── index.ts │ │ │ └── lib.ts │ │ │ ├── index.ts │ │ │ ├── popup-widget │ │ │ ├── PopupWidget.scss │ │ │ ├── PopupWidget.svelte │ │ │ └── index.ts │ │ │ ├── search-widget │ │ │ ├── SearchBar.scss │ │ │ ├── SearchBar.svelte │ │ │ ├── SearchResults.scss │ │ │ ├── SearchResults.svelte │ │ │ ├── index.ts │ │ │ └── lib.ts │ │ │ └── viewer-widget │ │ │ ├── ViewerWidget.scss │ │ │ ├── ViewerWidget.svelte │ │ │ └── index.ts │ ├── svelte.config.js │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ ├── vite.config.mjs │ └── widget.babel ├── sistema │ ├── .eslintrc.json │ ├── README.md │ ├── assets │ │ ├── .gitkeep │ │ ├── connector-logos │ │ │ ├── algolia.svg │ │ │ ├── brightcove.svg │ │ │ ├── confluence.svg │ │ │ ├── dropbox.svg │ │ │ ├── folder.svg │ │ │ ├── gcs.svg │ │ │ ├── gdrive.svg │ │ │ ├── nucliacloud.svg │ │ │ ├── onedrive.svg │ │ │ ├── rss.svg │ │ │ ├── s3.svg │ │ │ ├── sharepoint.svg │ │ │ └── sitemap.svg │ │ ├── fonts │ │ │ ├── source-code-pro │ │ │ │ ├── source-code-pro-v14-latin-regular.woff │ │ │ │ └── source-code-pro-v14-latin-regular.woff2 │ │ │ └── videoagular │ │ │ │ ├── Videogular.json │ │ │ │ └── videogular.woff │ │ ├── glyphs-sprite.svg │ │ ├── icons │ │ │ └── folder.svg │ │ ├── logos │ │ │ ├── logo-white.svg │ │ │ ├── logo.svg │ │ │ ├── nuclia-desktop-white.svg │ │ │ ├── nuclia-desktop.svg │ │ │ ├── nuclia-symbol.svg │ │ │ ├── nucliadb-symbol.svg │ │ │ ├── nucliadb.svg │ │ │ └── stage-icon.svg │ │ ├── signup │ │ │ └── check-email.png │ │ └── sso-icons │ │ │ ├── github.svg │ │ │ ├── google.svg │ │ │ └── microsoft.svg │ ├── glyphs │ │ ├── account.svg │ │ ├── activity-log.svg │ │ ├── add-file.svg │ │ ├── add-user.svg │ │ ├── annotate.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── arrow-up.svg │ │ ├── arrows-related.svg │ │ ├── arrows-unrelated.svg │ │ ├── audio.svg │ │ ├── bell.svg │ │ ├── calendar.svg │ │ ├── chart.svg │ │ ├── chat.svg │ │ ├── check.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up.svg │ │ ├── chevrons-left.svg │ │ ├── chevrons-right.svg │ │ ├── circle-check.svg │ │ ├── circle-chevron-left.svg │ │ ├── circle-chevron-right.svg │ │ ├── circle-cross.svg │ │ ├── circle-dash.svg │ │ ├── circle-minus.svg │ │ ├── circle-plus.svg │ │ ├── clock-dash.svg │ │ ├── code.svg │ │ ├── collapse.svg │ │ ├── connectors.svg │ │ ├── copy.svg │ │ ├── cross.svg │ │ ├── database.svg │ │ ├── dataflow.svg │ │ ├── download.svg │ │ ├── draggable.svg │ │ ├── edit.svg │ │ ├── expand.svg │ │ ├── eye-closed.svg │ │ ├── eye.svg │ │ ├── file-code.svg │ │ ├── file-empty.svg │ │ ├── file-pdf.svg │ │ ├── file.svg │ │ ├── filter.svg │ │ ├── folder.svg │ │ ├── forbidden.svg │ │ ├── form.svg │ │ ├── fullscreen.svg │ │ ├── gear.svg │ │ ├── generator.svg │ │ ├── globe.svg │ │ ├── graph.svg │ │ ├── grid.svg │ │ ├── heart.svg │ │ ├── help.svg │ │ ├── history.svg │ │ ├── home.svg │ │ ├── image.svg │ │ ├── images.svg │ │ ├── info.svg │ │ ├── key.svg │ │ ├── knowledge-box.svg │ │ ├── lab.svg │ │ ├── label.svg │ │ ├── labeler.svg │ │ ├── language.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── list.svg │ │ ├── lock-filled.svg │ │ ├── lock-off.svg │ │ ├── lock.svg │ │ ├── log-out.svg │ │ ├── menu.svg │ │ ├── microphone.svg │ │ ├── more-horizontal.svg │ │ ├── more-vertical.svg │ │ ├── pause.svg │ │ ├── payment-details.svg │ │ ├── payment.svg │ │ ├── pencil.svg │ │ ├── photo.svg │ │ ├── play.svg │ │ ├── plus.svg │ │ ├── prompt.svg │ │ ├── puzzle.svg │ │ ├── question-answer.svg │ │ ├── refresh.svg │ │ ├── reload.svg │ │ ├── repeat.svg │ │ ├── rephrase.svg │ │ ├── search-plus.svg │ │ ├── search.svg │ │ ├── settings.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── smile.svg │ │ ├── smiley-happy.svg │ │ ├── smiley-sad.svg │ │ ├── spreadsheet.svg │ │ ├── square-arrow.svg │ │ ├── submenu.svg │ │ ├── summary.svg │ │ ├── synonyms.svg │ │ ├── thumb-down.svg │ │ ├── thumb-up.svg │ │ ├── trash.svg │ │ ├── undo.svg │ │ ├── unlink.svg │ │ ├── unlock.svg │ │ ├── upload-cloud.svg │ │ ├── upload.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── validation.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-mute.svg │ │ ├── warning.svg │ │ ├── widget.svg │ │ └── workflows.svg │ ├── jest.config.js │ ├── project.json │ ├── scripts │ │ ├── generate-sprite.py │ │ └── update_icons.sh │ ├── src │ │ ├── index.ts │ │ ├── lib │ │ │ ├── back-button │ │ │ │ ├── back-button.component.html │ │ │ │ ├── back-button.component.scss │ │ │ │ ├── back-button.component.ts │ │ │ │ └── index.ts │ │ │ ├── badge │ │ │ │ ├── badge.component.html │ │ │ │ ├── badge.component.scss │ │ │ │ ├── badge.component.ts │ │ │ │ └── index.ts │ │ │ ├── button-mini │ │ │ │ ├── button-mini.component.html │ │ │ │ ├── button-mini.component.scss │ │ │ │ ├── button-mini.component.ts │ │ │ │ └── index.ts │ │ │ ├── cards │ │ │ │ ├── action-card │ │ │ │ │ ├── action-card.component.html │ │ │ │ │ ├── action-card.component.scss │ │ │ │ │ ├── action-card.component.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ └── info-card │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── info-card.component.html │ │ │ │ │ ├── info-card.component.scss │ │ │ │ │ └── info-card.component.ts │ │ │ ├── dropdown-button │ │ │ │ ├── dropdown-button.component.html │ │ │ │ ├── dropdown-button.component.scss │ │ │ │ ├── dropdown-button.component.ts │ │ │ │ └── index.ts │ │ │ ├── expandable-textarea │ │ │ │ ├── expandable-textarea.component.html │ │ │ │ ├── expandable-textarea.component.scss │ │ │ │ ├── expandable-textarea.component.ts │ │ │ │ ├── index.ts │ │ │ │ └── textarea-modal │ │ │ │ │ ├── textarea-modal.component.html │ │ │ │ │ ├── textarea-modal.component.scss │ │ │ │ │ └── textarea-modal.component.ts │ │ │ ├── folder-list │ │ │ │ ├── folder-list.component.html │ │ │ │ ├── folder-list.component.scss │ │ │ │ ├── folder-list.component.ts │ │ │ │ └── index.ts │ │ │ ├── folder-tree │ │ │ │ ├── folder-tree.component.html │ │ │ │ ├── folder-tree.component.ts │ │ │ │ ├── folder-tree.model.ts │ │ │ │ ├── folder-tree.state.ts │ │ │ │ ├── index.ts │ │ │ │ └── recursive-folder-tree │ │ │ │ │ ├── recursive-folder-tree.component.html │ │ │ │ │ ├── recursive-folder-tree.component.scss │ │ │ │ │ └── recursive-folder-tree.component.ts │ │ │ ├── home-container │ │ │ │ ├── home-container.component.scss │ │ │ │ ├── home-container.component.ts │ │ │ │ └── index.ts │ │ │ ├── icons │ │ │ │ ├── icons.module.ts │ │ │ │ ├── icons.ts │ │ │ │ ├── index.ts │ │ │ │ └── mime-icon.pipe.ts │ │ │ ├── json-viewer │ │ │ │ ├── index.ts │ │ │ │ ├── json-viewer.component.html │ │ │ │ ├── json-viewer.component.scss │ │ │ │ └── json-viewer.component.ts │ │ │ ├── label │ │ │ │ ├── index.ts │ │ │ │ ├── label.component.html │ │ │ │ ├── label.component.scss │ │ │ │ ├── label.component.spec.ts │ │ │ │ ├── label.component.ts │ │ │ │ ├── label.utils.ts │ │ │ │ └── sis-label.module.ts │ │ │ ├── labels-expander │ │ │ │ ├── classification.helpers.ts │ │ │ │ ├── index.ts │ │ │ │ ├── labels-expander.component.html │ │ │ │ ├── labels-expander.component.scss │ │ │ │ └── labels-expander.component.ts │ │ │ ├── password-input │ │ │ │ ├── index.ts │ │ │ │ ├── password-input.component.html │ │ │ │ ├── password-input.component.scss │ │ │ │ ├── password-input.component.spec.ts │ │ │ │ ├── password-input.component.ts │ │ │ │ └── password-input.module.ts │ │ │ ├── progress │ │ │ │ ├── delayed-spinner │ │ │ │ │ ├── delayed-spinner.component.html │ │ │ │ │ └── delayed-spinner.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── progress-bar │ │ │ │ │ ├── progress-bar.component.html │ │ │ │ │ ├── progress-bar.component.scss │ │ │ │ │ └── progress-bar.component.ts │ │ │ │ ├── sis-progress.module.ts │ │ │ │ └── spinner │ │ │ │ │ ├── spinner.component.html │ │ │ │ │ ├── spinner.component.scss │ │ │ │ │ ├── spinner.component.spec.ts │ │ │ │ │ └── spinner.component.ts │ │ │ ├── search-input │ │ │ │ ├── index.ts │ │ │ │ ├── search-input.component.html │ │ │ │ ├── search-input.component.scss │ │ │ │ └── search-input.component.ts │ │ │ ├── segmented-buttons │ │ │ │ ├── index.ts │ │ │ │ ├── segmented-buttons.component.html │ │ │ │ ├── segmented-buttons.component.scss │ │ │ │ └── segmented-buttons.component.ts │ │ │ ├── sis-modal.service.spec.ts │ │ │ ├── sis-modal.service.ts │ │ │ ├── sis-toast.service.spec.ts │ │ │ ├── sis-toast.service.ts │ │ │ ├── status │ │ │ │ ├── index.ts │ │ │ │ ├── status.component.html │ │ │ │ ├── status.component.scss │ │ │ │ └── status.component.ts │ │ │ ├── sticky-footer │ │ │ │ ├── index.ts │ │ │ │ ├── sticky-footer.component.html │ │ │ │ ├── sticky-footer.component.scss │ │ │ │ └── sticky-footer.component.ts │ │ │ └── two-columns-configuration-item │ │ │ │ ├── index.ts │ │ │ │ ├── two-columns-configuration-item.component.html │ │ │ │ ├── two-columns-configuration-item.component.scss │ │ │ │ └── two-columns-configuration-item.component.ts │ │ └── test-setup.ts │ ├── styles │ │ ├── _apps-common.scss │ │ ├── _mixins.scss │ │ ├── _overrides.scss │ │ └── _variables.scss │ ├── theme │ │ ├── _fonts.scss │ │ ├── fonts │ │ │ └── _source-code-pro.scss │ │ └── tokens │ │ │ ├── _body.tokens.scss │ │ │ ├── _buttons.tokens.scss │ │ │ ├── _card.tokens.scss │ │ │ ├── _chips.tokens.scss │ │ │ ├── _expander.tokens.scss │ │ │ ├── _menu.tokens.scss │ │ │ ├── _modal.tokens.scss │ │ │ ├── _palette.tokens.scss │ │ │ ├── _popover.tokens.scss │ │ │ ├── _scrollbar.tokens.scss │ │ │ ├── _shadows.tokens.scss │ │ │ ├── _spacing.tokens.scss │ │ │ ├── _table.tokens.scss │ │ │ ├── _tabs.tokens.scss │ │ │ ├── _textfield.tokens.scss │ │ │ ├── _toasts.tokens.scss │ │ │ ├── _toggle.tokens.scss │ │ │ ├── _typography.tokens.scss │ │ │ └── _z-index.tokens.scss │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── sync │ ├── .eslintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── assets │ │ │ └── i18n │ │ │ │ ├── ca.json │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ └── fr.json │ │ ├── index.ts │ │ ├── lib │ │ │ ├── _common-sync.scss │ │ │ ├── add-sync-page │ │ │ │ ├── add-sync-page.component.html │ │ │ │ ├── add-sync-page.component.scss │ │ │ │ ├── add-sync-page.component.ts │ │ │ │ └── index.ts │ │ │ ├── configuration-form │ │ │ │ ├── configuration-form.component.html │ │ │ │ ├── configuration-form.component.scss │ │ │ │ ├── configuration-form.component.ts │ │ │ │ ├── configuration.model.ts │ │ │ │ └── index.ts │ │ │ ├── folder-selection │ │ │ │ ├── folder-selection.component.html │ │ │ │ ├── folder-selection.component.scss │ │ │ │ ├── folder-selection.component.ts │ │ │ │ └── index.ts │ │ │ ├── home-page │ │ │ │ ├── connector │ │ │ │ │ ├── connector.component.html │ │ │ │ │ ├── connector.component.scss │ │ │ │ │ ├── connector.component.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── home-page.component.html │ │ │ │ ├── home-page.component.scss │ │ │ │ ├── home-page.component.ts │ │ │ │ └── index.ts │ │ │ ├── logic │ │ │ │ ├── connectors │ │ │ │ │ ├── confluence.ts │ │ │ │ │ ├── folder.ts │ │ │ │ │ ├── oauth.ts │ │ │ │ │ ├── rss.ts │ │ │ │ │ ├── sharepoint.ts │ │ │ │ │ └── sitemap.ts │ │ │ │ ├── index.ts │ │ │ │ ├── models.ts │ │ │ │ ├── sync.service.test.ts │ │ │ │ └── sync.service.ts │ │ │ ├── sync-details-page │ │ │ │ ├── folders-tab │ │ │ │ │ ├── folders-tab.component.html │ │ │ │ │ ├── folders-tab.component.scss │ │ │ │ │ └── folders-tab.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── sync-details-page.component.html │ │ │ │ ├── sync-details-page.component.scss │ │ │ │ ├── sync-details-page.component.spec.ts │ │ │ │ ├── sync-details-page.component.ts │ │ │ │ └── sync-settings │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── sync-settings.component.html │ │ │ │ │ ├── sync-settings.component.scss │ │ │ │ │ └── sync-settings.component.ts │ │ │ ├── sync-root.component.ts │ │ │ ├── sync.routes.ts │ │ │ └── utils.ts │ │ └── test-setup.ts │ ├── sync.babel │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json └── user │ ├── .eslintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── project.json │ ├── src │ ├── assets │ │ └── i18n │ │ │ ├── ca.json │ │ │ ├── en.json │ │ │ ├── es.json │ │ │ └── fr.json │ ├── index.ts │ ├── lib │ │ ├── _user-layout.scss │ │ ├── callback │ │ │ ├── callback.component.spec.ts │ │ │ └── callback.component.ts │ │ ├── check-mail │ │ │ ├── check-mail.component.html │ │ │ ├── check-mail.component.scss │ │ │ ├── check-mail.component.spec.ts │ │ │ └── check-mail.component.ts │ │ ├── consent │ │ │ ├── consent.component.html │ │ │ ├── consent.component.scss │ │ │ ├── consent.component.spec.ts │ │ │ └── consent.component.ts │ │ ├── index.ts │ │ ├── login │ │ │ ├── login.component.html │ │ │ ├── login.component.scss │ │ │ └── login.component.ts │ │ ├── logout │ │ │ ├── logout.component.spec.ts │ │ │ └── logout.component.ts │ │ ├── magic │ │ │ ├── magic.component.html │ │ │ ├── magic.component.ts │ │ │ └── magic.service.ts │ │ ├── onboarding │ │ │ ├── _common-step.scss │ │ │ ├── embeddings-model-form │ │ │ │ ├── dynamic-fields.component.scss │ │ │ │ ├── dynamic-fields.component.ts │ │ │ │ ├── embeddings-model-form.component.html │ │ │ │ ├── embeddings-model-form.component.scss │ │ │ │ ├── embeddings-model-form.component.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── kb-creation-steps │ │ │ │ ├── embedding-model │ │ │ │ │ ├── embedding-model-step.component.html │ │ │ │ │ └── embedding-model-step.component.ts │ │ │ │ ├── index.ts │ │ │ │ ├── kb-name │ │ │ │ │ ├── kb-name-step.component.html │ │ │ │ │ └── kb-name-step.component.ts │ │ │ │ ├── vector-database │ │ │ │ │ ├── vector-database-step.component.html │ │ │ │ │ └── vector-database-step.component.ts │ │ │ │ └── zone │ │ │ │ │ ├── zone-step.component.html │ │ │ │ │ └── zone-step.component.ts │ │ │ ├── onboarding.component.html │ │ │ ├── onboarding.component.scss │ │ │ ├── onboarding.component.ts │ │ │ ├── onboarding.models.ts │ │ │ ├── onboarding.service.ts │ │ │ ├── setting-up │ │ │ │ ├── setting-up.component.html │ │ │ │ ├── setting-up.component.scss │ │ │ │ └── setting-up.component.ts │ │ │ ├── step1 │ │ │ │ ├── step1.component.html │ │ │ │ ├── step1.component.scss │ │ │ │ └── step1.component.ts │ │ │ └── vector-database-form │ │ │ │ ├── index.ts │ │ │ │ ├── vector-database-form.component.html │ │ │ │ ├── vector-database-form.component.scss │ │ │ │ └── vector-database-form.component.ts │ │ ├── password.validator.ts │ │ ├── profile │ │ │ ├── profile.component.html │ │ │ ├── profile.component.scss │ │ │ ├── profile.component.spec.ts │ │ │ └── profile.component.ts │ │ ├── recover │ │ │ ├── recover.component.html │ │ │ ├── recover.component.scss │ │ │ ├── recover.component.spec.ts │ │ │ └── recover.component.ts │ │ ├── reset │ │ │ ├── reset.component.html │ │ │ ├── reset.component.scss │ │ │ ├── reset.component.spec.ts │ │ │ └── reset.component.ts │ │ ├── signup │ │ │ ├── signup.component.html │ │ │ ├── signup.component.scss │ │ │ ├── signup.component.spec.ts │ │ │ └── signup.component.ts │ │ ├── sso │ │ │ ├── sso-button.component.html │ │ │ ├── sso-button.component.scss │ │ │ ├── sso-button.component.spec.ts │ │ │ └── sso-button.component.ts │ │ ├── user-container │ │ │ ├── index.ts │ │ │ ├── user-container-logo │ │ │ │ ├── user-container-logo.component.html │ │ │ │ ├── user-container-logo.component.scss │ │ │ │ └── user-container-logo.component.ts │ │ │ ├── user-container.component.html │ │ │ ├── user-container.component.scss │ │ │ ├── user-container.component.spec.ts │ │ │ ├── user-container.component.ts │ │ │ └── user-container.module.ts │ │ └── user.module.ts │ └── test-setup.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ └── user.babel ├── maintenance ├── assets │ ├── logo.svg │ └── maintenance-background.jpg └── index.html ├── mrs.developer.json ├── nginx ├── app.default.conf ├── auth.default.conf └── manager.default.conf ├── nx.json ├── package.json ├── test └── d3.js ├── tools ├── build-sdk-docs.sh ├── build-widgets.sh ├── python-nucliadb-admin-dist │ ├── MANIFEST.in │ ├── Makefile │ ├── README.md │ ├── VERSION │ ├── bump.py │ ├── nucliadb_admin_assets │ │ └── __init__.py │ └── setup.py └── tsconfig.tools.json ├── tsconfig.base.json └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | Dockerfile* 4 | docker-compose* 5 | .dockerignore 6 | .git 7 | .gitignore 8 | README.md 9 | LICENSE 10 | .vscode -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | /.yarn/releases/** binary 2 | /.yarn/plugins/** binary -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Add files here to ignore them from prettier formatting 2 | 3 | /dist 4 | /coverage 5 | /libs/common/src/assets/i18n 6 | .angular 7 | 8 | /.nx/cache 9 | /.nx/workspace-data -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "singleQuote": true, 4 | "useTabs": false, 5 | "tabWidth": 2, 6 | "bracketSpacing": true, 7 | "trailingComma": "all", 8 | "bracketSameLine": true, 9 | "singleAttributePerLine": true, 10 | "htmlWhitespaceSensitivity": "ignore" 11 | } 12 | -------------------------------------------------------------------------------- /.semgrepignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | Dockerfile.* 3 | docker-compose.yaml 4 | config/nginx.conf 5 | **/docs 6 | docs/* 7 | **/migrations 8 | apps/*-demo -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | yarnPath: .yarn/releases/yarn-3.3.1.cjs 2 | nodeLinker: node-modules 3 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @nuclia/application 2 | * @nuclia/lead 3 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | base-image: 2 | docker build -t europe-west4-docker.pkg.dev/nuclia-internal/private/base-monorepo:latest . -f docker/Base.Dockerfile 3 | docker push europe-west4-docker.pkg.dev/nuclia-internal/private/base-monorepo:latest 4 | -------------------------------------------------------------------------------- /apps/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/.gitkeep -------------------------------------------------------------------------------- /apps/dashboard/VERSION: -------------------------------------------------------------------------------- 1 | 0.0.1 2 | -------------------------------------------------------------------------------- /apps/dashboard/src/_variables.scss: -------------------------------------------------------------------------------- 1 | @forward '../../../libs/sistema/styles/variables'; 2 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-arag/account-arag.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-account-arag', 5 | template: ` 6 | 7 | `, 8 | changeDetection: ChangeDetectionStrategy.OnPush, 9 | standalone: false, 10 | }) 11 | export class AccountAragComponent {} 12 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-arag/create-arag/create-arag.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .create-agent-form { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(2); 7 | 8 | label { 9 | @include title-xs(); 10 | color: $color-neutral-regular; 11 | margin-bottom: rhythm(0.5); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-kbs/account-kbs.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'account-kbs', 5 | template: ` 6 | 7 | `, 8 | changeDetection: ChangeDetectionStrategy.OnPush, 9 | standalone: false, 10 | }) 11 | export class AccountKbsComponent {} 12 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-kbs/account-kbs.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | 3 | @Injectable({ 4 | providedIn: 'root', 5 | }) 6 | export class AccountKbsService { 7 | constructor() {} 8 | } 9 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-kbs/users-dialog/users-dialog.component.html: -------------------------------------------------------------------------------- 1 | 2 | {{ 'account.kb.users' | translate }} 3 | 4 | @if (kb) { 5 | 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-kbs/users-dialog/users-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .users-dialog { 4 | position: relative; 5 | padding: rhythm(3); 6 | } 7 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-manage/account-delete/account-delete.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | label { 4 | display: block; 5 | margin-bottom: rhythm(1); 6 | } 7 | 8 | .delete-user { 9 | margin: rhythm(4) 0 rhythm(3) 0; 10 | } 11 | 12 | pa-radio { 13 | display: inline-block; 14 | margin-right: rhythm(5); 15 | } 16 | 17 | pa-modal-footer { 18 | gap: rhythm(2); 19 | } 20 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/account-nua/client-dialog/client-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .nua-form { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(3); 7 | padding-top: rhythm(1); 8 | } 9 | 10 | .zone h4 { 11 | margin-bottom: rhythm(0.25); 12 | } 13 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/billing.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/billing.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .billing { 4 | background-color: $color-neutral-lightest; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/features/features.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/dashboard/src/app/account/billing/features/features.component.scss -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/my-subscription/unsubscribe.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | h2 { 4 | margin: 0; 5 | text-align: center; 6 | } 7 | 8 | pa-modal-content { 9 | display: flex; 10 | flex-direction: column; 11 | gap: rhythm(4); 12 | } 13 | 14 | .price, 15 | pa-datetime { 16 | color: $color-primary-regular; 17 | } 18 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/review/review.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | pa-modal-content { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(3); 7 | } 8 | 9 | h2 { 10 | margin: 0; 11 | } 12 | 13 | .button-container { 14 | text-align: center; 15 | width: 100%; 16 | } 17 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/subscriptions/aws-subscription/aws-subscription.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | h2 { 4 | margin: 0 0 rhythm(1); 5 | } 6 | 7 | .aws-subscription { 8 | display: flex; 9 | flex-direction: column; 10 | gap: rhythm(6); 11 | } 12 | 13 | .budget { 14 | display: flex; 15 | flex-direction: column; 16 | gap: rhythm(2); 17 | } 18 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/usage/budget.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | .budget-input { 3 | align-items: center; 4 | color: $color-neutral-regular; 5 | display: flex; 6 | gap: rhythm(1); 7 | } 8 | pa-input { 9 | width: rhythm(14); 10 | } 11 | .action { 12 | margin-top: rhythm(2); 13 | } 14 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/billing/usage/usage.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .usage-container { 4 | max-width: calc(rhythm(90) + rhythm(6)); 5 | } 6 | 7 | .budget-form { 8 | display: flex; 9 | flex-direction: column; 10 | gap: rhythm(3); 11 | margin-top: rhythm(6); 12 | 13 | h2 { 14 | margin: 0; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/invite-collaborators-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from './invite-collaborators-modal.component'; 2 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/account/nuclia-tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './nuclia-tokens.component'; 2 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/activity/log-table-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | pre { 4 | height: 100%; 5 | margin: 0; 6 | } -------------------------------------------------------------------------------- /apps/dashboard/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 |
Version: {{ version }}
3 | 8 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/farewell/farewell.component.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |

{{ 'farewell.thanks_trust' | translate }}

4 |
{{ 'farewell.see_again' | translate }}
5 |
6 |
7 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/farewell/farewell.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .message { 4 | padding-bottom: rhythm(32); 5 | width: rhythm(48); 6 | } 7 | 8 | h1 { 9 | margin: 0; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/farewell/farewell.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-setup-farewell', 5 | templateUrl: './farewell.component.html', 6 | styleUrls: ['./farewell.component.scss'], 7 | standalone: false, 8 | }) 9 | export class FarewellComponent { 10 | constructor() {} 11 | } 12 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/index.ts: -------------------------------------------------------------------------------- 1 | export * from './knowledge-box/knowledge-box.component'; 2 | export * from './knowledge-box-home/knowledge-box-home.component'; 3 | export * from './knowledge-box-keys/knowledge-box-keys.component'; 4 | export * from './knowledge-box-users'; 5 | export * from './service-access/service-access.component'; 6 | export * from './knowledge-box.module'; 7 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/knowledge-box-home/kb-usage/usage-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .usage-modal-chart-container { 4 | margin-left: calc(-1 * #{rhythm(2)}); 5 | height: 75vh; 6 | width: 75vw; 7 | 8 | .dropdown-container { 9 | margin-left: rhythm(0.5); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/knowledge-box-keys/knowledge-box-keys.component.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ 'api-key-management.title' | translate }}

3 |
{{ 'api-key-management.description' | translate }}
4 | 5 |
6 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/knowledge-box-keys/knowledge-box-keys.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .knowledge-box-keys { 4 | h2 { 5 | margin: 0 0 rhythm(0.25) 0; 6 | } 7 | 8 | .warning { 9 | margin-bottom: 30px; 10 | font-style: italic; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/knowledge-box-users/index.ts: -------------------------------------------------------------------------------- 1 | export * from './knowledge-box-users.component'; 2 | export * from './users-manage/users-manage.component'; 3 | export * from './users-manage/users-manage.module'; 4 | export * from './users-manage/users-manage.service'; 5 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/knowledge-box-users/knowledge-box-users.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | h2 { 4 | margin-bottom: rhythm(6); 5 | } 6 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/knowledge-box/utils.ts: -------------------------------------------------------------------------------- 1 | import { KBRoles } from '@nuclia/core'; 2 | 3 | export const SORTED_KB_ROLES: KBRoles[] = ['SMEMBER', 'SCONTRIBUTOR', 'SOWNER']; 4 | 5 | export const KB_ROLE_TITLES: { [role in KBRoles]: string } = { 6 | SOWNER: 'api-key-management.key-roles.manager', 7 | SCONTRIBUTOR: 'api-key-management.key-roles.writer', 8 | SMEMBER: 'api-key-management.key-roles.reader', 9 | }; 10 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/lazy-user.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule } from '@angular/router'; 3 | import { UserModule, userRoutes } from '@nuclia/user'; 4 | 5 | @NgModule({ 6 | imports: [UserModule, RouterModule.forChild(userRoutes)], 7 | }) 8 | export class LazyUserModule {} 9 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/onboarding/getting-started/getting-started.models.ts: -------------------------------------------------------------------------------- 1 | export type ItemToUpload = { 2 | id: string; 3 | title: string; 4 | file?: File; 5 | link?: string; 6 | uuid?: string; 7 | uploaded?: boolean; 8 | uploadFailed?: boolean; 9 | processing?: boolean; 10 | processed?: boolean; 11 | estimation?: number; 12 | uploadProgress?: number; 13 | rank?: number; 14 | }; 15 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/onboarding/getting-started/processing/processing.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .main-container { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(3); 7 | } 8 | 9 | .estimated-time { 10 | margin-top: rhythm(1); 11 | 12 | strong { 13 | font-weight: $font-weight-semi-bold; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/onboarding/welcome-in-existing-kb/welcome-in-existing-kb.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | pa-modal-content .start { 4 | margin-top: rhythm(4); 5 | } 6 | -------------------------------------------------------------------------------- /apps/dashboard/src/app/styles/js-variables.ts: -------------------------------------------------------------------------------- 1 | export const TOPBAR_HEIGHT = '70px'; 2 | 3 | // z-index 4 | export const ZINDEX_SIDEBAR = '900'; 5 | export const ZINDEX_SIDEBAR_BACKDROP = '850'; 6 | -------------------------------------------------------------------------------- /apps/dashboard/src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/dashboard/src/assets/favicon.ico -------------------------------------------------------------------------------- /apps/dashboard/src/assets/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/dashboard/src/assets/images/background.jpg -------------------------------------------------------------------------------- /apps/dashboard/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | client: 'dashboard', 4 | backend: { 5 | social_login: true, 6 | new_api: true, 7 | }, 8 | locales: ['en-US', 'es', 'ca'], 9 | }; 10 | -------------------------------------------------------------------------------- /apps/dashboard/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | client: 'dashboard', 4 | backend: { 5 | social_login: true, 6 | new_api: true, 7 | }, 8 | locales: ['en-US', 'es', 'ca'], 9 | }; 10 | -------------------------------------------------------------------------------- /apps/dashboard/src/environments_config/local-prod/app-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "local-prod", 3 | "production": false, 4 | "remoteLogin": true, 5 | "backend": { 6 | "app": "app", 7 | "apiOrigin": "https://nuclia.cloud", 8 | "cdn": "https://cdn.nuclia.cloud", 9 | "apiPath": "/api" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/dashboard/src/styles.scss: -------------------------------------------------------------------------------- 1 | @use '../../../libs/sistema/styles/apps-common'; 2 | @use '../../../libs/pastanaga-angular/projects/pastanaga-angular/src/styles/core'; 3 | 4 | :root { 5 | --app-background-color: $color-light-stronger; 6 | } 7 | 8 | .user-background { 9 | background-image: url('./assets/images/background.jpg'); 10 | background-position: center; 11 | background-repeat: no-repeat; 12 | background-size: cover; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dashboard/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /apps/dashboard/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [], 6 | "target": "ES2022", 7 | "useDefineForClassFields": false 8 | }, 9 | "angularCompilerOptions": {}, 10 | "files": ["src/main.ts", "src/polyfills.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/dashboard/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts", "../../libs/common/src/lib/token-dialog/expiration-modal.component.ts"], 4 | "compilerOptions": { 5 | "types": ["jest", "node"] 6 | }, 7 | "angularCompilerOptions": { 8 | "strictTemplates": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /apps/dashboard/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jest", "node"], 6 | "resolveJsonModule": true, 7 | "target": "es2016" 8 | }, 9 | "angularCompilerOptions": {}, 10 | "files": ["src/test.ts", "src/polyfills.ts"], 11 | "include": ["**/*.spec.ts", "**/*.d.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /apps/manager-v2/VERSION: -------------------------------------------------------------------------------- 1 | 0.0.1 2 | -------------------------------------------------------------------------------- /apps/manager-v2/src/_variables.scss: -------------------------------------------------------------------------------- 1 | @import '../../../libs/sistema/styles/variables'; 2 | $header-height: rhythm(8); 3 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Version: {{ version }}
4 | 9 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/account-details.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | .account-info { 4 | background: $color-neutral-lightest; 5 | display: flex; 6 | flex-direction: column; 7 | gap: rhythm(1); 8 | margin: rhythm(1) rhythm(2) rhythm(2); 9 | padding: rhythm(1); 10 | } 11 | 12 | .zone-name { 13 | color: $color-neutral-regular; 14 | } 15 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/blocked-features/blocked-features.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | :host { 4 | form { 5 | gap: rhythm(1); 6 | } 7 | pa-checkbox ::ng-deep .pa-toggle-label { 8 | text-transform: capitalize; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/blocked-features/feature-name.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | 3 | @Pipe({ 4 | name: 'featureName', 5 | standalone: false, 6 | }) 7 | export class FeatureNamePipe implements PipeTransform { 8 | transform(value: string): string { 9 | return value.replace('_', ' '); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/configuration/configuration.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | form { 4 | gap: rhythm(3); 5 | } 6 | 7 | .account-type-container { 8 | display: flex; 9 | gap: rhythm(1); 10 | 11 | pa-select { 12 | flex: 1 0 auto; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/kb-details/kb-details.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | :host { 4 | form { 5 | margin-bottom: rhythm(4); 6 | } 7 | 8 | .add-member { 9 | margin-bottom: rhythm(3); 10 | max-width: rhythm(40); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/limits/limits.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | .limit-form { 4 | position: relative; 5 | 6 | .reset-actions { 7 | display: flex; 8 | gap: rhythm(1); 9 | left: rhythm(64); 10 | position: absolute; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/models/models.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | .header { 4 | align-items: center; 5 | display: flex; 6 | justify-content: space-between; 7 | } 8 | 9 | .zone { 10 | margin-bottom: rhythm(4); 11 | } 12 | 13 | .title-s { 14 | margin-bottom: rhythm(1); 15 | } 16 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/payment-links/payment-links.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | form { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(4); 7 | } 8 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/token-consumption/token-consumption.models.ts: -------------------------------------------------------------------------------- 1 | export type ConsumptionType = 'question_answer' | 'rephrase' | 'summarize' | 'extract_tables' | 'sentence' | 'token'; 2 | export type ConsumptionSource = 'predict' | 'nucliadb' | 'processor'; 3 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/account-details/users/users.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/manager-v2/src/variables' as *; 2 | 3 | :host { 4 | .manager-container { 5 | text-align: center; 6 | width: 100%; 7 | } 8 | 9 | .add-member { 10 | margin-bottom: rhythm(3); 11 | max-width: rhythm(40); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/form-footer/form-footer.component.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/form-footer/form-footer.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/manager-v2/src/app/manage-accounts/form-footer/form-footer.component.scss -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-accounts/manage-accounts.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | template: '', 5 | changeDetection: ChangeDetectionStrategy.OnPush, 6 | standalone: false, 7 | }) 8 | export class ManageAccountsComponent {} 9 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-users/manage-users.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | template: '', 5 | changeDetection: ChangeDetectionStrategy.OnPush, 6 | standalone: false, 7 | }) 8 | export class ManageUsersComponent {} 9 | -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-users/user-details/user-details.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/manager-v2/src/app/manage-users/user-details/user-details.component.scss -------------------------------------------------------------------------------- /apps/manager-v2/src/app/manage-zones/manage-zones.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | template: '', 5 | changeDetection: ChangeDetectionStrategy.OnPush, 6 | standalone: false, 7 | }) 8 | export class ManageZonesComponent {} 9 | -------------------------------------------------------------------------------- /apps/manager-v2/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/manager-v2/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/manager-v2/src/assets/background_manager.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/manager-v2/src/assets/background_manager.jpg -------------------------------------------------------------------------------- /apps/manager-v2/src/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/manager-v2/src/assets/favicon.ico -------------------------------------------------------------------------------- /apps/manager-v2/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | backend: { 4 | social_login: false, 5 | new_api: true, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /apps/manager-v2/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | backend: { 4 | social_login: false, 5 | new_api: true, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /apps/manager-v2/src/main.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | import { AppModule } from './app/app.module'; 3 | 4 | platformBrowserDynamic() 5 | .bootstrapModule(AppModule) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /apps/manager-v2/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /apps/manager-v2/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/manager-v2/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jest", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/manager-v2/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/VERSION: -------------------------------------------------------------------------------- 1 | 0.0.1 2 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/_variables.scss: -------------------------------------------------------------------------------- 1 | @import '../../../libs/sistema/styles/variables'; 2 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 |
Version: {{ version }}
3 | 8 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/nucliadb-admin/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | standalone: true, 4 | }; 5 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | client: 'dashboard', 4 | locales: ['en-US', 'es', 'ca'], 5 | standalone: true, 6 | }; 7 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/styles.scss: -------------------------------------------------------------------------------- 1 | @use '../../../libs/sistema/styles/apps-common'; 2 | @use '../../../libs/pastanaga-angular/projects/pastanaga-angular/src/styles/core'; 3 | 4 | :root { 5 | --app-background-color: $color-light-stronger; 6 | } 7 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [], 6 | "target": "ES2022", 7 | "useDefineForClassFields": false 8 | }, 9 | "files": ["src/main.ts", "src/polyfills.ts"], 10 | "include": ["src/**/*.d.ts"], 11 | "exclude": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jest", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/nucliadb-admin/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"], 7 | "resolveJsonModule": true, 8 | "target": "es2016" 9 | }, 10 | "files": ["src/test-setup.ts"], 11 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /apps/search-widget-demo/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /apps/search-widget-demo/README.md: -------------------------------------------------------------------------------- 1 | # Search widget demo 2 | 3 | This app allows to test the search widget in dev mode. 4 | 5 | ## Usage 6 | 7 | Run the app: 8 | 9 | ``` 10 | nx serve search-widget-demo 11 | ``` 12 | -------------------------------------------------------------------------------- /apps/search-widget-demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | Search demo 9 | 10 | 11 |
12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /apps/search-widget-demo/src/main.ts: -------------------------------------------------------------------------------- 1 | import App from './App.svelte'; 2 | import { mount } from 'svelte'; 3 | 4 | const app = mount(App, { 5 | target: document.getElementById('app'), 6 | }); 7 | 8 | export default app; 9 | -------------------------------------------------------------------------------- /apps/search-widget-demo/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | -------------------------------------------------------------------------------- /apps/search-widget-demo/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler" 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/_variables.scss: -------------------------------------------------------------------------------- 1 | @forward '../../../libs/sistema/styles/variables'; 2 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/pastanaga-pages-override/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sistema-confirmation-dialog/sistema-confirmation-dialog.component'; 2 | export * from './sistema-icons/sistema-icons.component'; 3 | export * from './sistema-modal'; 4 | export * from './sistema-scrollbar/sistema-scrollbar.component'; 5 | export * from './sistema-toasts/sistema-toast.component'; 6 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/pastanaga-pages-override/sistema-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dialog-example/dialog-example.component'; 2 | export * from './modal-example/modal-example.component'; 3 | export * from './sistema-modal.component'; 4 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/pastanaga-pages-override/sistema-modal/modal-example/modal-example.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../../../variables' as *; 2 | 3 | .form-container { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(1.5); 7 | } 8 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/pastanaga-pages-override/sistema-modal/sistema-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../../variables' as *; 2 | 3 | .open-modal-button { 4 | margin-bottom: rhythm(1); 5 | } 6 | 7 | .nested { 8 | list-style: none; 9 | margin-bottom: rhythm(1); 10 | } 11 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/pastanaga-pages-override/sistema-scrollbar/sistema-scrollbar.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../../variables' as *; 2 | 3 | .pa-scrollable { 4 | padding: 0 rhythm(3); 5 | } 6 | 7 | .grey-background { 8 | background: $color-neutral-lighter; 9 | margin-top: rhythm(4); 10 | } 11 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/sistema-back-button/sistema-back-button.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | templateUrl: './sistema-back-button.component.html', 5 | changeDetection: ChangeDetectionStrategy.OnPush, 6 | standalone: false, 7 | }) 8 | export class SistemaBackButtonComponent { 9 | code = `Back`; 10 | } 11 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/sistema-badge/sistema-badge.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../variables' as *; 2 | 3 | .flex-container { 4 | display: flex; 5 | gap: rhythm(1); 6 | margin-bottom: rhythm(3); 7 | } 8 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/sistema-cards/sistema-action-card.component.scss: -------------------------------------------------------------------------------- 1 | $gap: 24px; 2 | .card-container { 3 | display: flex; 4 | gap: $gap; 5 | flex-wrap: wrap; 6 | margin-right: 0; 7 | 8 | > * { 9 | width: calc((100% - #{$gap} * 2) / 3); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/sistema-dropdown-button/sistema-dropdown-button.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../variables' as *; 2 | 3 | .dropdown-container { 4 | display: flex; 5 | align-items: center; 6 | gap: rhythm(2); 7 | flex-wrap: wrap; 8 | } 9 | .options { 10 | margin-top: rhythm(3); 11 | } 12 | 13 | nsi-dropdown-button { 14 | flex: 1 0 auto; 15 | margin-top: rhythm(1); 16 | min-width: rhythm(16); 17 | } 18 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/sistema-password-input/sistema-password-input.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../variables' as *; 2 | 3 | .options { 4 | margin-top: rhythm(4); 5 | } 6 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/sistema-pages/sistema-search-input/sistema-search-input.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../variables' as *; 2 | 3 | .options { 4 | margin-top: rhythm(4); 5 | } 6 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/app/welcome-page/welcome-page.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, ChangeDetectionStrategy } from '@angular/core'; 2 | 3 | @Component({ 4 | templateUrl: './welcome-page.component.html', 5 | changeDetection: ChangeDetectionStrategy.OnPush, 6 | standalone: false, 7 | }) 8 | export class WelcomePageComponent {} 9 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/sistema-demo/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/sistema-demo/src/e2e/small.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Small 6 | 7 | 8 |

Not much to see here, so it’s quick to process…

9 | 10 | 11 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | }; 4 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/apps/sistema-demo/src/favicon.ico -------------------------------------------------------------------------------- /apps/sistema-demo/src/pastanaga-component-overrides.scss: -------------------------------------------------------------------------------- 1 | @forward '../../../libs/sistema/theme/pastanaga-component-overrides'; 2 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/pastanaga-core-overrides.scss: -------------------------------------------------------------------------------- 1 | @forward '../../../libs/sistema/theme/pastanaga-core-overrides'; 2 | -------------------------------------------------------------------------------- /apps/sistema-demo/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /apps/sistema-demo/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [], 6 | "target": "ES2022", 7 | "resolveJsonModule": true, 8 | "useDefineForClassFields": false 9 | }, 10 | "files": ["src/main.ts", "src/polyfills.ts"], 11 | "include": ["src/**/*.d.ts"], 12 | "exclude": ["**/*.test.ts", "**/*.spec.ts"] 13 | } 14 | -------------------------------------------------------------------------------- /apps/sistema-demo/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jest", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/sistema-demo/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"], 7 | "target": "es2016" 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /charts/app/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Flaps App 3 | name: app 4 | sources: 5 | - https://github.com/stashify/frontend 6 | maintainers: 7 | - name: Application 8 | email: ramon@flaps.io 9 | version: 99999.99999.99999 10 | appVersion: 99999.99999.99999 11 | -------------------------------------------------------------------------------- /charts/app/templates/app.pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget.enabled -}} 2 | --- 3 | apiVersion: policy/v1 4 | kind: PodDisruptionBudget 5 | metadata: 6 | name: {{ .Release.Name }} 7 | spec: 8 | maxUnavailable: 1 9 | selector: 10 | matchExpressions: 11 | - key: app 12 | operator: In 13 | values: 14 | - {{ .Chart.Name }} 15 | {{- end -}} -------------------------------------------------------------------------------- /charts/manager/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | description: Manager Frontend App 3 | name: manager 4 | sources: 5 | - https://github.com/nuclia/frontend 6 | maintainers: 7 | - name: Application 8 | email: ramon@stashify.net 9 | version: 99999.99999.99999 10 | appVersion: 99999.99999.99999 11 | -------------------------------------------------------------------------------- /charts/manager/templates/manager.pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget.enabled -}} 2 | --- 3 | apiVersion: policy/v1 4 | kind: PodDisruptionBudget 5 | metadata: 6 | name: {{ .Release.Name }} 7 | spec: 8 | maxUnavailable: 1 9 | selector: 10 | matchExpressions: 11 | - key: app 12 | operator: In 13 | values: 14 | - {{ .Release.Name }} 15 | {{- end -}} -------------------------------------------------------------------------------- /cypress.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:1 2 | WORKDIR /root/ 3 | 4 | ARG appFolder 5 | ARG appId 6 | ARG noRelativeCss 7 | 8 | COPY ./dist/apps/${appFolder} /dist 9 | RUN if [ -n "$noRelativeCss" ]; then sed -i 's/href="styles/href="\/styles/g' /dist/index.html; fi 10 | 11 | COPY nginx/${appId}.default.conf /etc/nginx/conf.d/default.conf 12 | COPY docker/30-environment-${appId}.sh /docker-entrypoint.d/30-environment-${appId}.sh 13 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | const { getJestProjects } = require('@nx/jest'); 2 | 3 | module.exports = { projects: [...getJestProjects()] }; 4 | -------------------------------------------------------------------------------- /jest.preset.js: -------------------------------------------------------------------------------- 1 | const nxPreset = require('@nx/jest/preset'); 2 | module.exports = { 3 | ...nxPreset, 4 | testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'], 5 | transform: { 6 | '^.+\\.(ts|js|html)$': 'ts-jest', 7 | }, 8 | resolver: '@nx/jest/plugins/resolver', 9 | moduleFileExtensions: ['ts', 'js', 'html'], 10 | coverageReporters: ['html'], 11 | moduleNameMapper: { 12 | '^d3$': '/../../test/d3.js', 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /libs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/.gitkeep -------------------------------------------------------------------------------- /libs/chrome-ext/README.md: -------------------------------------------------------------------------------- 1 | # Nuclia Tools 2 | 3 | Extension for Chrome browser. 4 | 5 | ## Local installation 6 | 7 | ``` 8 | nx build chrome-ext 9 | ``` 10 | 11 | The extension files are created at: `dist/libs/chrome-ext/` 12 | 13 | Then follow [these steps](https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world#load-unpacked) to install the extension. 14 | -------------------------------------------------------------------------------- /libs/chrome-ext/src/lib/icons/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/chrome-ext/src/lib/icons/error.png -------------------------------------------------------------------------------- /libs/chrome-ext/src/lib/icons/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/chrome-ext/src/lib/icons/icon128.png -------------------------------------------------------------------------------- /libs/chrome-ext/src/lib/icons/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/chrome-ext/src/lib/icons/icon16.png -------------------------------------------------------------------------------- /libs/chrome-ext/src/lib/icons/icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/chrome-ext/src/lib/icons/icon32.png -------------------------------------------------------------------------------- /libs/chrome-ext/src/lib/icons/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/chrome-ext/src/lib/icons/icon48.png -------------------------------------------------------------------------------- /libs/chrome-ext/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/common/README.md: -------------------------------------------------------------------------------- 1 | # common 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test common` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/ai-models/ai-models.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .ai-models { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(4); 7 | } 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/ai-models/answer-generation/index.ts: -------------------------------------------------------------------------------- 1 | export * from './answer-generation.component'; 2 | export * from './user-keys/user-keys.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/ai-models/answer-generation/user-keys/user-keys.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .subfields { 4 | padding-top: rhythm(2); 5 | margin-left: rhythm(2); 6 | } 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/ai-models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ai-models.component'; 2 | export * from './answer-generation'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/base/base.component.html: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 7 |
8 | 9 | 12 | -------------------------------------------------------------------------------- /libs/common/src/lib/base/base.component.scss: -------------------------------------------------------------------------------- 1 | .base-container { 2 | height: 100%; 3 | padding-top: var(--app-topbar-height); 4 | } 5 | -------------------------------------------------------------------------------- /libs/common/src/lib/base/dashboard-layout/dashboard-layout.service.ts: -------------------------------------------------------------------------------- 1 | import { computed, Injectable, signal } from '@angular/core'; 2 | 3 | @Injectable({ 4 | providedIn: 'root', 5 | }) 6 | export class DashboardLayoutService { 7 | private _collapsedNav = signal(false); 8 | collapsedNav = computed(() => this._collapsedNav()); 9 | 10 | toggleNav() { 11 | this._collapsedNav.set(!this._collapsedNav()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/common/src/lib/base/dashboard-layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dashboard-layout.component'; 2 | export * from './dashboard-layout.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/base/empty.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | template: '', 5 | standalone: true, 6 | }) 7 | export class EmptyComponent { 8 | constructor() {} 9 | } 10 | -------------------------------------------------------------------------------- /libs/common/src/lib/base/index.ts: -------------------------------------------------------------------------------- 1 | export * from './base.component'; 2 | export * from './base.module'; 3 | export * from './dashboard-layout'; 4 | export * from './empty.component'; 5 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/bar-chart/bar-chart.component.html: -------------------------------------------------------------------------------- 1 |
5 |
10 | {{ tooltipContent | number: undefined:locale }} 11 |
12 |
13 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/bar-chart/bar-chart.component.scss: -------------------------------------------------------------------------------- 1 | @use '../charts-common' as charts; 2 | @use 'apps/dashboard/src/variables' as *; 3 | 4 | .bar-chart { 5 | @include charts.chart(); 6 | 7 | .bar { 8 | fill: $color-primary-regular; 9 | opacity: 0.3; 10 | &:last-child { 11 | opacity: 1; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/bar-chart/grouped-bar-chart.component.html: -------------------------------------------------------------------------------- 1 |
5 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/bar-chart/grouped-bar-chart.component.scss: -------------------------------------------------------------------------------- 1 | @use '../charts-common' as charts; 2 | 3 | .range-chart { 4 | @include charts.chart(); 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/bar-chart/index.ts: -------------------------------------------------------------------------------- 1 | export * from './bar-chart.component'; 2 | export * from './grouped-bar-chart.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/empty-chart/empty-chart.component.html: -------------------------------------------------------------------------------- 1 |
2 |
5 |
6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './bar-chart'; 2 | export * from './empty-chart/empty-chart.component'; 3 | export * from './line-chart/line-chart.component'; 4 | export * from './range-chart'; 5 | export * from './chart-utils'; 6 | export * from './charts.module'; 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/line-chart/line-chart.component.scss: -------------------------------------------------------------------------------- 1 | @use '../charts-common' as charts; 2 | @use 'apps/dashboard/src/variables' as *; 3 | 4 | .line-chart { 5 | @include charts.chart(); 6 | 7 | .data-line { 8 | stroke: $color-primary-regular; 9 | } 10 | 11 | .data-area { 12 | fill: $color-primary-lightest; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/range-chart/index.ts: -------------------------------------------------------------------------------- 1 | export * from './range.models'; 2 | export * from './range-chart.component'; 3 | export * from './range-evolution-chart.component'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/range-chart/range-chart.component.html: -------------------------------------------------------------------------------- 1 |
5 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/range-chart/range-evolution-chart.component.scss: -------------------------------------------------------------------------------- 1 | @use '../charts-common' as charts; 2 | @use 'apps/dashboard/src/variables' as *; 3 | 4 | .range-chart { 5 | @include charts.chart(); 6 | 7 | .range-area { 8 | fill: $color-primary-lightest; 9 | } 10 | 11 | .evolution-line { 12 | fill: none; 13 | stroke: $color-primary-regular; 14 | stroke-width: 1.5; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /libs/common/src/lib/charts/range-chart/range.models.ts: -------------------------------------------------------------------------------- 1 | export interface RangeChartData { 2 | category: string; 3 | average: number; 4 | min: number; 5 | max: number; 6 | } 7 | 8 | export interface DatedRangeChartData { 9 | timestamp: string; 10 | average: number; 11 | min: number; 12 | max: number; 13 | } 14 | -------------------------------------------------------------------------------- /libs/common/src/lib/directives/directives.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | 3 | import { STFPerfectScrollbarDirective } from './perfect-scroll/perfect-scrollbar.directive'; 4 | 5 | @NgModule({ 6 | declarations: [STFPerfectScrollbarDirective], 7 | exports: [STFPerfectScrollbarDirective], 8 | }) 9 | export class STFDirectivesModule {} 10 | -------------------------------------------------------------------------------- /libs/common/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './directives.module'; 2 | export * from './perfect-scroll/perfect-scrollbar.directive'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/entities/entity/entity.component.html: -------------------------------------------------------------------------------- 1 |
6 | 7 |
8 | -------------------------------------------------------------------------------- /libs/common/src/lib/entities/entity/entity.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .entity { 4 | align-items: center; 5 | border-radius: rhythm(0.5); 6 | display: inline-flex; 7 | height: rhythm(2.5); 8 | padding: rhythm(0.25); 9 | &.border { 10 | border: 1px solid $color-neutral-lighter; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/common/src/lib/entities/index.ts: -------------------------------------------------------------------------------- 1 | export * from './entities.component'; 2 | export * from './entities.module'; 3 | export * from './entity-list/entity-list.component'; 4 | export * from './model'; 5 | export * from './ner.service'; 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/features/index.ts: -------------------------------------------------------------------------------- 1 | export * from './features-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './auth.interceptor'; 2 | export * from './permission.guard'; 3 | export * from './root.guard'; 4 | export * from './select-account.guard'; 5 | export * from './select-kb.guard'; 6 | export * from './set-account.guard'; 7 | export * from './set-agent.guard'; 8 | export * from './set-kb.guard'; 9 | export * from './set-local-kb.guard'; 10 | 11 | export * from './agent-feature-enabled.guard'; 12 | -------------------------------------------------------------------------------- /libs/common/src/lib/guards/root.guard.ts: -------------------------------------------------------------------------------- 1 | import { inject } from '@angular/core'; 2 | import { NavigationService } from '@flaps/core'; 3 | 4 | export const rootGuard = () => { 5 | const navigation: NavigationService = inject(NavigationService); 6 | navigation.goToLandingPage(); 7 | return false; 8 | }; 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/hint/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hint.component'; 2 | export * from './hint.module'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/kb-creation/index.ts: -------------------------------------------------------------------------------- 1 | export * from './kb-creation.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/knowledge-box-settings/index.ts: -------------------------------------------------------------------------------- 1 | export * from './knowledge-box-settings.component'; 2 | export * from './knowledge-box-settings.module'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/metrics/index.ts: -------------------------------------------------------------------------------- 1 | export * from './metrics-page.component'; 2 | export * from './remi-metrics.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/metrics/missing-knowledge-details/missing-knowledge-details.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/common/src/lib/metrics/missing-knowledge-details/missing-knowledge-details.component.scss -------------------------------------------------------------------------------- /libs/common/src/lib/navbar/index.ts: -------------------------------------------------------------------------------- 1 | export * from './navbar.component'; 2 | export * from './navbar.module'; 3 | export * from './small-navbar.directive'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/page-not-found/index.ts: -------------------------------------------------------------------------------- 1 | export * from './page-not-found.module'; 2 | export * from './page-not-found.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/pagination/index.ts: -------------------------------------------------------------------------------- 1 | export * from './pagination.component'; 2 | export * from './pagination.module'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/pagination/pagination.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .pagination { 4 | align-items: center; 5 | display: flex; 6 | gap: rhythm(2); 7 | justify-content: center; 8 | } 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/pipes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './format-date.pipe'; 2 | export * from './format-duration.pipe'; 3 | export * from './format-eta.pipe'; 4 | export * from './format-time.pipe'; 5 | export * from './generative-model.pipe'; 6 | export * from './line-break-formatter.pipe'; 7 | export * from './pipes.module'; 8 | export * from './safe-html.pipe'; 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/pipes/line-break-formatter.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | 3 | const LINE_BREAK = /\n/g; 4 | 5 | @Pipe({ 6 | name: 'lineBreakFormatter', 7 | standalone: true, 8 | }) 9 | export class LineBreakFormatterPipe implements PipeTransform { 10 | transform(value: string): string { 11 | return value.replace(LINE_BREAK, '
'); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/common/src/lib/rag-lab/index.ts: -------------------------------------------------------------------------------- 1 | export * from './prompt-lab'; 2 | export * from './question-block'; 3 | export * from './rag-lab.component'; 4 | export * from './rag-lab.service'; 5 | export * from './rag-lab-page.component'; 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/rag-lab/loading-dialog/index.ts: -------------------------------------------------------------------------------- 1 | export * from './loading-dialog.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/rag-lab/loading-dialog/loading-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../../../sistema/styles/variables' as *; 2 | 3 | .pa-confirmation-dialog { 4 | padding: rhythm(3); 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/rag-lab/prompt-lab/index.ts: -------------------------------------------------------------------------------- 1 | export * from './prompt-lab.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/rag-lab/question-block/index.ts: -------------------------------------------------------------------------------- 1 | export * from './question-block.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/rag-lab/rag-lab-page.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .rag-lab-page { 4 | .page-header { 5 | margin-bottom: rhythm(5); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/annotation/index.ts: -------------------------------------------------------------------------------- 1 | export * from './paragraph-annotation/paragraph-annotation.component'; 2 | export * from './paragraph-annotation/paragraph-annotation.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/annotation/relations/relations.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .title-s { 4 | margin-bottom: rhythm(0.5); 5 | } 6 | 7 | .relations { 8 | display: flex; 9 | flex-direction: column; 10 | gap: rhythm(0.5); 11 | margin-bottom: rhythm(3); 12 | } 13 | 14 | .relation { 15 | display: flex; 16 | gap: rhythm(0.5); 17 | flex-wrap: wrap; 18 | } 19 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/classification/index.ts: -------------------------------------------------------------------------------- 1 | export * from './paragraph-classification'; 2 | export * from './resource-classification.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/classification/paragraph-classification/index.ts: -------------------------------------------------------------------------------- 1 | export * from './paragraph-classification.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/preview/index.ts: -------------------------------------------------------------------------------- 1 | export * from './preview.component'; 2 | export * from './preview.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/preview/preview-table.component.html: -------------------------------------------------------------------------------- 1 | @if (renderedMarkdown) { 2 |
5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/preview/preview-table.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | @use '../edit-resource.tokens' as tokens; 3 | 4 | .markdown-table { 5 | max-width: calc(tokens.$width-page-content - rhythm(3)); 6 | overflow-x: auto; 7 | ::ng-deep table { 8 | td, 9 | th { 10 | border: 1px solid $color-neutral-light; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/preview/warning-modal/warning-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | h2 { 4 | margin: 0; 5 | } 6 | 7 | .table-container { 8 | max-width: rhythm(80); 9 | padding-bottom: rhythm(6); 10 | } 11 | 12 | .message { 13 | overflow-wrap: break-word; 14 | } 15 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/profile/index.ts: -------------------------------------------------------------------------------- 1 | export * from './file/file.component'; 2 | export * from './link/link.component'; 3 | export * from './text/text.component'; 4 | export * from './profile.component'; 5 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/edit-resource/profile/profile.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .form-section { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(3); 7 | padding: rhythm(3) 0; 8 | 9 | &.extra-metadata-container { 10 | gap: rhythm(1); 11 | } 12 | } 13 | 14 | .right-panel-container { 15 | width: rhythm(40); 16 | } 17 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/index.ts: -------------------------------------------------------------------------------- 1 | export * from './edit-resource'; 2 | export * from './resource-filters.utils'; 3 | export * from './resource-list'; 4 | export * from './resource-viewer.service'; 5 | export * from './resources.component'; 6 | export * from './resources.module'; 7 | export * from './upload-button'; 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/resource-list/error-resources-table/error-resources-table.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .errors-cell { 4 | overflow-wrap: break-word; 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/resources.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | template: '', 5 | standalone: false, 6 | }) 7 | export class ResourcesComponent {} 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/resources/upload-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './upload-button.component'; 2 | export * from './upload-dialog.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/index.ts: -------------------------------------------------------------------------------- 1 | export * from './agent-dashboard.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/basic-elements/link/index.ts: -------------------------------------------------------------------------------- 1 | export * from './link.component'; 2 | export * from './link.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/basic-elements/node-selector/node-selector.component.html: -------------------------------------------------------------------------------- 1 |
2 | {{ nodeTitle() }} 3 | 4 | @if (icon(); as icon) { 5 | 8 | } 9 |
10 |
{{ description() }}
11 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/index.ts: -------------------------------------------------------------------------------- 1 | export * from './basic-elements'; 2 | export * from './nodes'; 3 | export * from './sidebar'; 4 | export * from './workflow.effects'; 5 | export * from './workflow.models'; 6 | export * from './workflow.service'; 7 | export * from './workflow.state'; 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/ask/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ask-form.component'; 2 | export * from './ask-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/conditional/index.ts: -------------------------------------------------------------------------------- 1 | export * from './conditional-form.component'; 2 | export * from './conditional-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/cypher/cypher-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/cypher/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cypher-form.component'; 2 | export * from './cypher-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/external/external-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/external/index.ts: -------------------------------------------------------------------------------- 1 | export * from './external-form.component'; 2 | export * from './external-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/generate/generate-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/generate/index.ts: -------------------------------------------------------------------------------- 1 | export * from './generate-form.component'; 2 | export * from './generate-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/guardrails/guardrails-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/guardrails/index.ts: -------------------------------------------------------------------------------- 1 | export * from './guardrails-form.component'; 2 | export * from './guardrails-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/historical/historical-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/historical/index.ts: -------------------------------------------------------------------------------- 1 | export * from './historical-form.component'; 2 | export * from './historical-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/internet/index.ts: -------------------------------------------------------------------------------- 1 | export * from './internet-form.component'; 2 | export * from './internet-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/internet/internet-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/mcp/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mcp-form.component'; 2 | export * from './mcp-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/mcp/mcp-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/remi/index.ts: -------------------------------------------------------------------------------- 1 | export * from './remi-form.component'; 2 | export * from './remi-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/remi/remi-form.component.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/rephrase/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rephrase-form.component'; 2 | export * from './rephrase-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/rephrase/rephrase-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/restart/index.ts: -------------------------------------------------------------------------------- 1 | export * from './restart-form.component'; 2 | export * from './restart-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/restart/restart-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/restricted/index.ts: -------------------------------------------------------------------------------- 1 | export * from './restricted-form.component'; 2 | export * from './restricted-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/restricted/restricted-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/sql/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sql-form.component'; 2 | export * from './sql-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/sql/sql-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/summarize/index.ts: -------------------------------------------------------------------------------- 1 | export * from './summarize-form.component'; 2 | export * from './summarize-node.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/nodes/summarize/summarize-node.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rules'; 2 | export * from './test-agent'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/rules/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rules-panel.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-block/agent-block.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | :host { 4 | pa-accordion ::ng-deep .pa-accordion-item-title > .title-xs { 5 | font-size: font-size(xs) !important; 6 | } 7 | } 8 | 9 | .step-container { 10 | display: flex; 11 | flex-direction: column; 12 | gap: rhythm(1.5); 13 | } 14 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-block/index.ts: -------------------------------------------------------------------------------- 1 | export * from './agent-block.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-context/agent-context.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-context/agent-context.component.scss -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-context/index.ts: -------------------------------------------------------------------------------- 1 | export * from './agent-context.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-step/agent-step.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-step/agent-step.component.scss -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/agent-step/index.ts: -------------------------------------------------------------------------------- 1 | export * from './agent-step.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/blockquote/blockquote.component.html: -------------------------------------------------------------------------------- 1 |
2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/blockquote/index.ts: -------------------------------------------------------------------------------- 1 | export * from './blockquote.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/chip/chip.component.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/chip/chip.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | :host { 4 | pa-chip ::ng-deep .pa-chip { 5 | border-radius: 6px; 6 | height: rhythm(3); 7 | padding: rhythm(0.25) rhythm(1); 8 | 9 | .pa-chip-content-wrapper { 10 | font-weight: $font-weight-semi-bold; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/chip/index.ts: -------------------------------------------------------------------------------- 1 | export * from './chip.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/elements/index.ts: -------------------------------------------------------------------------------- 1 | export * from './agent-block'; 2 | export * from './agent-context'; 3 | export * from './agent-step'; 4 | export * from './chip'; 5 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/agent-dashboard/workflow/sidebar/test-agent/index.ts: -------------------------------------------------------------------------------- 1 | export * from './test-panel.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/cypher-driver/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cypher-driver-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/guardrails-driver/index.ts: -------------------------------------------------------------------------------- 1 | export * from './guardrails-driver-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './drivers-page.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/internet-driver/index.ts: -------------------------------------------------------------------------------- 1 | export * from './internet-driver-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/mcp-driver/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mcpsse-driver-modal.component'; 2 | export * from './mcpstdio-driver-modal.component'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/nuclia-driver/index.ts: -------------------------------------------------------------------------------- 1 | export * from './nuclia-driver-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/drivers/sql-driver/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sql-driver-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/index.ts: -------------------------------------------------------------------------------- 1 | export * from './agent-dashboard'; 2 | export * from './arag.utils'; 3 | export * from './drivers'; 4 | export * from './retrieval-agent.component'; 5 | export * from './sessions'; 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/sessions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './session-info'; 2 | export * from './sessions-list.component'; 3 | export * from './sessions.component'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/sessions/session-info/index.ts: -------------------------------------------------------------------------------- 1 | export * from './session-info.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/sessions/session-info/session-info.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .session-info { 4 | color: $color-neutral-regular; 5 | } 6 | 7 | nsi-info-card { 8 | margin-top: calc(-1 * #{rhythm(2)}); // align the info card with the side nav text 9 | } 10 | -------------------------------------------------------------------------------- /libs/common/src/lib/retrieval-agent/sessions/sessions.component.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { Component } from '@angular/core'; 3 | import { RouterOutlet } from '@angular/router'; 4 | 5 | @Component({ 6 | imports: [CommonModule, RouterOutlet], 7 | template: '', 8 | }) 9 | export class SessionsComponent {} 10 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/index.ts: -------------------------------------------------------------------------------- 1 | export * from './search-configuration'; 2 | export * from './search-page.component'; 3 | export * from './search-widget.models'; 4 | export * from './search-widget.service'; 5 | export * from './search-widget-storage.service'; 6 | export * from './widgets'; 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/filter-assistant/filter-expression/index.ts: -------------------------------------------------------------------------------- 1 | export * from './filter-expression.component'; 2 | export * from './filter-expression.pipe'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/filter-assistant/filter-type-and-value/index.ts: -------------------------------------------------------------------------------- 1 | export * from './filter-type.pipe'; 2 | export * from './filter-type-and-value.component'; 3 | export * from './filter-value.component'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/filter-assistant/index.ts: -------------------------------------------------------------------------------- 1 | export * from './filter-assistant-modal.component'; 2 | export * from './filter-expression'; 3 | export * from './filter-type-and-value'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/find-resource-modal/find-resource-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .form-container { 4 | padding: rhythm(1) 0 rhythm(3) 0; 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/find-resource-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from './find-resource-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/generative-answer-form/generative-answer-form.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .subsection-title { 4 | @include title-m(); 5 | padding-top: rhythm(2); 6 | } 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/generative-answer-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './generative-answer-form.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/index.ts: -------------------------------------------------------------------------------- 1 | export * from './filter-assistant'; 2 | export * from './generative-answer-form'; 3 | export * from './results-display-form'; 4 | export * from './save-config-modal'; 5 | export * from './search-box-form'; 6 | export * from './search-configuration.component'; 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/results-display-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './results-display-form.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/save-config-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from './save-config-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/save-config-modal/save-config-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .form-container { 4 | padding: rhythm(1) 0; 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/search-box-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './search-box-form.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/search-configuration/search-request-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from './search-request-modal.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/dialogs/create-widget-dialog/create-widget-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .form-container { 4 | padding: rhythm(1) 0; 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/dialogs/duplicate-widget-dialog/duplicate-widget-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .form-container { 4 | padding: rhythm(1) 0; 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/dialogs/embed-widget-dialog/embed-widget-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | pre { 4 | background-color: $color-neutral-lightest; 5 | border: 1px solid $color-neutral-lighter; 6 | border-radius: rhythm(0.5); 7 | padding: rhythm(1); 8 | } 9 | 10 | nsi-info-card { 11 | margin-top: rhythm(2); 12 | } 13 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/dialogs/index.ts: -------------------------------------------------------------------------------- 1 | export * from './create-widget-dialog/create-widget-dialog.component'; 2 | export * from './duplicate-widget-dialog/duplicate-widget-dialog.component'; 3 | export * from './embed-widget-dialog/embed-widget-dialog.component'; 4 | export * from './rename-widget-dialog/rename-widget-dialog.component'; 5 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/dialogs/rename-widget-dialog/rename-widget-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .form-container { 4 | padding: rhythm(1) 0; 5 | } 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dialogs'; 2 | export * from './widget-form'; 3 | export * from './widget-list.component'; 4 | export * from './widgets.component'; 5 | export * from './widgets.routes'; 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/search-widget/widgets/widget-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './widget-form.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/select-account-kb/_select-account.tokens.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | $height-page-container: 90vh; 4 | $vertical-padding: rhythm(8); 5 | -------------------------------------------------------------------------------- /libs/common/src/lib/select-account-kb/index.ts: -------------------------------------------------------------------------------- 1 | export * from './select-account/select-account.component'; 2 | export * from './select-kb/select-kb.component'; 3 | export * from './select-account-kb.module'; 4 | export * from './select-account-kb.service'; 5 | export * from './utils'; 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './app.service'; 2 | export * from './standalone.service'; 3 | -------------------------------------------------------------------------------- /libs/common/src/lib/tasks-automation/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tasks-automation.component'; 2 | export * from './tasks-automation.models'; 3 | export * from './tasks-automation.routes'; 4 | export * from './tasks-automation.service'; 5 | export * from './task-forms'; 6 | export * from './task-list'; 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/tasks-automation/task-details/task-execution/task-execution.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | 4 | .executions { 5 | margin-top: rhythm(3); 6 | } 7 | 8 | .title-s { 9 | color: $color-neutral-regular; 10 | margin: rhythm(1); 11 | } 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /libs/common/src/lib/tasks-automation/task-details/task-testing/test-results/test-results.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .generated-fields { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(1); 7 | } 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/tasks-automation/task-forms/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ask/ask.component'; 2 | export * from './graph-extraction/graph-extraction.component'; 3 | export * from './labeler/labeler.component'; 4 | export * from './question-answer/question-answer.component'; 5 | export * from './task-form.component'; 6 | -------------------------------------------------------------------------------- /libs/common/src/lib/tasks-automation/task-list/index.ts: -------------------------------------------------------------------------------- 1 | export * from './task-list.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/tasks-automation/task-list/task-card.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .task-card { 4 | height: rhythm(12); 5 | } 6 | 7 | .card-title { 8 | align-items: center; 9 | display: flex; 10 | gap: rhythm(0.5); 11 | } 12 | 13 | .description { 14 | color: $color-neutral-regular; 15 | } -------------------------------------------------------------------------------- /libs/common/src/lib/token-dialog/expiration-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | pa-date-picker { 4 | display: block; 5 | padding-top: rhythm(1); 6 | margin-bottom: rhythm(2); 7 | } -------------------------------------------------------------------------------- /libs/common/src/lib/token-dialog/index.ts: -------------------------------------------------------------------------------- 1 | export * from './expiration-modal.component'; 2 | export * from './token-dialog.component'; 3 | export * from './token-dialog.module'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/topbar/index.ts: -------------------------------------------------------------------------------- 1 | export * from './kb-switch/kb-switch.component'; 2 | export * from './topbar.component'; 3 | export * from './topbar.module'; 4 | -------------------------------------------------------------------------------- /libs/common/src/lib/topbar/kb-switch/kb-switch.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | :host { 4 | display: block; 5 | min-width: rhythm(24); 6 | 7 | pa-option.demo-kb { 8 | color: $color-neutral-regular; 9 | } 10 | 11 | .title-wrapper { 12 | align-items: center; 13 | display: flex; 14 | gap: rhythm(1); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /libs/common/src/lib/topbar/standalone-menu/standalone-menu.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/nucliadb-admin/src/variables'; 2 | 3 | .introspection-link { 4 | color: inherit; 5 | text-decoration: none; 6 | } 7 | -------------------------------------------------------------------------------- /libs/common/src/lib/topbar/user-menu/index.ts: -------------------------------------------------------------------------------- 1 | export * from './user-menu.component'; 2 | -------------------------------------------------------------------------------- /libs/common/src/lib/upload/csv-select/csv-select.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .upload-csv { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(2); 7 | 8 | .csv-format { 9 | margin-bottom: 0; 10 | padding-left: rhythm(5); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/common/src/lib/upload/extraction-select/extraction-select.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .extraction-select { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(2); 7 | } -------------------------------------------------------------------------------- /libs/common/src/lib/upload/upload-data/desktop-sources/desktop-sources.component.html: -------------------------------------------------------------------------------- 1 |
4 |
7 | 10 | {{ source.text }} 11 |
12 |
13 | -------------------------------------------------------------------------------- /libs/common/src/lib/upload/upload-data/upload-option/upload-option.component.html: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /libs/common/src/lib/upload/upload-qna/upload-qna.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .upload-qna-content { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(3); 7 | } 8 | -------------------------------------------------------------------------------- /libs/common/src/lib/upload/upload-sitemap/sitemap-select/sitemap-select.component.html: -------------------------------------------------------------------------------- 1 | 4 | {{ 'upload.select-sitemap' | translate }} 5 | 6 | 12 | -------------------------------------------------------------------------------- /libs/common/src/lib/validators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './form.validator'; 2 | -------------------------------------------------------------------------------- /libs/common/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /libs/common/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ], 13 | "compilerOptions": { 14 | "target": "es2020" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /libs/common/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jest", "node"], 6 | "target": "es2016" 7 | }, 8 | "files": ["src/test.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/core/README.md: -------------------------------------------------------------------------------- 1 | # core 2 | 3 | This is the `core` library, containing services managing the communication with all the backend services (nuclia, posthog,…). 4 | 5 | Any library or application can depend on `core`, but core should not depend on any other library. 6 | -------------------------------------------------------------------------------- /libs/core/src/lib/analytics/index.ts: -------------------------------------------------------------------------------- 1 | export * from './feature-flag.service'; 2 | export * from './features.service'; 3 | -------------------------------------------------------------------------------- /libs/core/src/lib/api/index.ts: -------------------------------------------------------------------------------- 1 | export * from './account.service'; 2 | export * from './billing.service'; 3 | export * from './sdk.service'; 4 | export * from './sso.service'; 5 | export * from './user.service'; 6 | export * from './zone.service'; 7 | -------------------------------------------------------------------------------- /libs/core/src/lib/auth/index.ts: -------------------------------------------------------------------------------- 1 | export * from './auth.guard'; 2 | export * from './auth.service'; 3 | export * from './jwt'; 4 | export * from './login.service'; 5 | export * from './oauth.service'; 6 | export * from './saml.service'; 7 | export * from './token.service'; 8 | -------------------------------------------------------------------------------- /libs/core/src/lib/auth/jwt/index.ts: -------------------------------------------------------------------------------- 1 | export * from './jwthelper.service'; 2 | export * from './jwtoptions.token'; 3 | -------------------------------------------------------------------------------- /libs/core/src/lib/auth/jwt/jwtoptions.token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | export const JWT_OPTIONS = new InjectionToken('JWT_OPTIONS'); 4 | -------------------------------------------------------------------------------- /libs/core/src/lib/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from './app.init.service'; 2 | export * from './backend-config.service'; 3 | export * from './stf-config.module'; 4 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/index.ts: -------------------------------------------------------------------------------- 1 | export * from './label-dropdown/label-dropdown.component'; 2 | export * from './label-field/label-field.component'; 3 | export * from './label-list/label-list.component'; 4 | export * from './label-sets'; 5 | export * from './label.module'; 6 | export * from './labels.service'; 7 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-dropdown/label-dropdown.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .label-selector { 4 | .level2-option ::ng-deep .pa-option { 5 | height: rhythm(5); 6 | } 7 | .filter { 8 | background-color: $color-light-stronger; 9 | position: sticky; 10 | top: 0; 11 | z-index: 1; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-list/label-list.component.html: -------------------------------------------------------------------------------- 1 |
4 | 8 | {{ label.label }} 9 | 10 |
11 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-list/label-list.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .label-list { 4 | display: flex; 5 | flex-wrap: wrap; 6 | 7 | pa-chip-closeable { 8 | margin-bottom: rhythm(0.5); 9 | margin-right: rhythm(0.5); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/index.ts: -------------------------------------------------------------------------------- 1 | export * from './label-list.pipe'; 2 | export * from './label-set'; 3 | export * from './label-set-list/label-set-list.component'; 4 | export * from './label-sets.component'; 5 | export * from './label-sets.module'; 6 | export * from './model'; 7 | export * from './utils'; 8 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-list.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | import { Label } from '@nuclia/core'; 3 | 4 | @Pipe({ 5 | name: 'labelList', 6 | standalone: false, 7 | }) 8 | export class LabelListPipe implements PipeTransform { 9 | transform(value: Label[], ...args: unknown[]): string { 10 | return value.map((label) => label.title).join(', '); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-set-list/label-set-list.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .label-set-title { 4 | padding: 0 rhythm(1); 5 | } 6 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-set/index.ts: -------------------------------------------------------------------------------- 1 | export * from './color-picker/color-picker.component'; 2 | export * from './label/label.component'; 3 | export * from './label-set-form'; 4 | export * from './label-set.component'; 5 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-set/label-set-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './label-set-form.component'; 2 | export * from './label-set-form-modal.component'; 3 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-set/label-set-form/label-set-form-modal.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/core/src/lib/label/label-sets/label-set/label-set-form/label-set-form-modal.component.scss -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-set/label-set.component.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/label-set/label-set.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/core/src/lib/label/label-sets/label-set/label-set.component.scss -------------------------------------------------------------------------------- /libs/core/src/lib/label/label-sets/missing-labels/index.ts: -------------------------------------------------------------------------------- 1 | export * from './missing-labels-dialog.component'; 2 | -------------------------------------------------------------------------------- /libs/core/src/lib/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './account.model'; 2 | export * from './billing.model'; 3 | export * from './kb.models'; 4 | export * from './local.model'; 5 | export * from './magic.model'; 6 | export * from './permissions.model'; 7 | export * from './region.model'; 8 | export * from './user.model'; 9 | export * from './welcome.model'; 10 | export * from './zone.model'; 11 | -------------------------------------------------------------------------------- /libs/core/src/lib/models/kb.models.ts: -------------------------------------------------------------------------------- 1 | import { ExternalIndexProvider } from '@nuclia/core'; 2 | 3 | export type KbConfiguration = { 4 | kbName: string; 5 | zoneSlug: string; 6 | semanticModels: string[]; 7 | }; 8 | 9 | export type AccountAndKbConfiguration = { 10 | company: string; 11 | externalIndexProvider?: ExternalIndexProvider | null; 12 | } & KbConfiguration; 13 | -------------------------------------------------------------------------------- /libs/core/src/lib/models/region.model.ts: -------------------------------------------------------------------------------- 1 | export class RegionSummary { 2 | '@id': string; 3 | '@name': string; 4 | 5 | get url() { 6 | return this['@id']; 7 | } 8 | 9 | get id() { 10 | return this['@name']; 11 | } 12 | 13 | constructor(summary: any) { 14 | Object.assign(this, summary); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /libs/core/src/lib/models/zone.model.ts: -------------------------------------------------------------------------------- 1 | export interface Zone { 2 | id: string; 3 | slug: string; 4 | title?: string; 5 | cloud_provider: 'AWS' | 'GCP'; 6 | subdomain: string; 7 | } 8 | -------------------------------------------------------------------------------- /libs/core/src/lib/notifications/index.ts: -------------------------------------------------------------------------------- 1 | export * from './notification-button/notification-button.component'; 2 | export * from './notifications-panel/notifications-panel.component'; 3 | export * from './notification/notification.component'; 4 | export * from './notification.model'; 5 | export * from './notification.service'; 6 | -------------------------------------------------------------------------------- /libs/core/src/lib/notifications/notification-button/notification-button.component.html: -------------------------------------------------------------------------------- 1 |
2 | @if (count) { 3 |
4 | {{ count <= 9 ? count : '9+' }} 5 |
6 | } 7 | 11 | {{ 'notification.notification-button-label' | translate }} 12 | 13 |
14 | -------------------------------------------------------------------------------- /libs/core/src/lib/parameters-table/index.ts: -------------------------------------------------------------------------------- 1 | export * from './parameters-table.component'; 2 | -------------------------------------------------------------------------------- /libs/core/src/lib/parameters-table/parameters-table.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .table-header-button { 4 | padding: rhythm(1); 5 | } 6 | 7 | pa-input { 8 | padding: rhythm(1) 0; 9 | width: 100%; 10 | } 11 | -------------------------------------------------------------------------------- /libs/core/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './navigation.service'; 2 | -------------------------------------------------------------------------------- /libs/core/src/lib/testing/index.ts: -------------------------------------------------------------------------------- 1 | export * from './utils'; 2 | -------------------------------------------------------------------------------- /libs/core/src/lib/ui/file-upload/index.ts: -------------------------------------------------------------------------------- 1 | export * from './file-select.directive'; 2 | export * from './file-drop.directive'; 3 | export * from './file-select.directive'; 4 | 5 | export { FileUploadModule } from './file-upload.module'; 6 | -------------------------------------------------------------------------------- /libs/core/src/lib/ui/index.ts: -------------------------------------------------------------------------------- 1 | export * from './file-upload'; 2 | export * from './lower-case-input.directive'; 3 | export * from './pipes'; 4 | export * from './sidebar.service'; 5 | export * from './splash-screen.service'; 6 | -------------------------------------------------------------------------------- /libs/core/src/lib/ui/pipes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './size.pipe'; 2 | export * from './stf-pipes.module'; 3 | -------------------------------------------------------------------------------- /libs/core/src/lib/ui/pipes/stf-pipes.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { SizePipe } from './size.pipe'; 4 | 5 | const PIPES = [SizePipe]; 6 | 7 | @NgModule({ 8 | declarations: [...PIPES], 9 | imports: [CommonModule], 10 | exports: [...PIPES], 11 | }) 12 | export class STFPipesModule {} 13 | -------------------------------------------------------------------------------- /libs/core/src/lib/unauthorized-feature/index.ts: -------------------------------------------------------------------------------- 1 | export * from './unauthorized-feature.component'; 2 | export * from './unauthorized-feature.directive'; 3 | export * from './unauthorized-feature.model'; 4 | export * from './unauthorized-feature-modal.component'; 5 | -------------------------------------------------------------------------------- /libs/core/src/lib/unauthorized-feature/unauthorized-feature.model.ts: -------------------------------------------------------------------------------- 1 | import { IconModel } from '@guillotinaweb/pastanaga-angular'; 2 | 3 | export const UNAUTHORIZED_ICON: IconModel = { 4 | name: 'lock-filled', 5 | size: 'small', 6 | color: '#1F00CC', 7 | }; 8 | -------------------------------------------------------------------------------- /libs/core/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './clonedeep'; 2 | export * from './deep-equal'; 3 | export * from './md5'; 4 | export * from './utils'; 5 | -------------------------------------------------------------------------------- /libs/core/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /libs/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/core/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jest", "node", "jsdom"], 6 | "target": "es2016" 7 | }, 8 | "files": ["src/test.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/sdk-core/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@nx/js/babel", 5 | { 6 | "useBuiltIns": "usage" 7 | } 8 | ] 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/sdk-core/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/sdk-core/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | displayName: 'sdk-core', 3 | preset: '../../jest.preset.js', 4 | globals: {}, 5 | transform: { 6 | '^.+\\.[tj]sx?$': [ 7 | 'ts-jest', 8 | { 9 | tsconfig: '/tsconfig.spec.json', 10 | }, 11 | ], 12 | }, 13 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], 14 | coverageDirectory: '../../coverage/libs/sdk-core', 15 | }; 16 | -------------------------------------------------------------------------------- /libs/sdk-core/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@nuclia/core", 3 | "version": "1.26.0", 4 | "description": "SDK allowing to integrate Nuclia services in your frontend application", 5 | "license": "MIT", 6 | "keywords": [ 7 | "Nuclia", 8 | "NucliaDB" 9 | ], 10 | "main": "umd/index.js", 11 | "module": "esm/index.js", 12 | "types": "types/index.d.ts", 13 | "peerDependencies": { 14 | "rxjs": "^7.8.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /libs/sdk-core/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/auth'; 2 | export * from './lib/core'; 3 | export * from './lib/db'; 4 | export * from './lib/models'; 5 | export * from './lib/rest'; 6 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/auth/auth.models.ts: -------------------------------------------------------------------------------- 1 | export interface AuthTokens { 2 | access_token: string; 3 | refresh_token: string; 4 | } 5 | 6 | export type NucliaDBRole = 'READER' | 'WRITER' | 'MANAGER'; 7 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/auth/index.ts: -------------------------------------------------------------------------------- 1 | export * from './auth'; 2 | export * from './auth.models'; 3 | export * from './jwt-helpers'; 4 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/index.ts: -------------------------------------------------------------------------------- 1 | export * from './db'; 2 | export * from './db.models'; 3 | export * from './kb'; 4 | export * from './notifications'; 5 | export * from './resource'; 6 | export * from './retrieval-agent'; 7 | export * from './search'; 8 | export * from './task'; 9 | export * from './training'; 10 | export * from './upload'; 11 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/kb/activity/index.ts: -------------------------------------------------------------------------------- 1 | export * from './activity-monitor'; 2 | export * from './activity.models'; 3 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/kb/index.ts: -------------------------------------------------------------------------------- 1 | export * from './kb'; 2 | export * from './kb.models'; 3 | export * from './activity'; 4 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/notifications/index.ts: -------------------------------------------------------------------------------- 1 | export * from './notifications'; 2 | export * from './notification.models'; 3 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/resource/index.ts: -------------------------------------------------------------------------------- 1 | export * from './resource'; 2 | export * from './resource.helpers'; 3 | export * from './resource.mapper'; 4 | export * from './resource.models'; 5 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/retrieval-agent/index.ts: -------------------------------------------------------------------------------- 1 | export * from './driver.models'; 2 | export * from './interactions.models'; 3 | export * from './retrieval-agent'; 4 | export * from './retrieval-agent.models'; 5 | export * from './retrieval-agent.types'; 6 | export * from './session'; 7 | export * from './session.models'; 8 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/retrieval-agent/session.models.ts: -------------------------------------------------------------------------------- 1 | import { IResource } from '../resource'; 2 | 3 | export type ISession = IResource; 4 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/search/index.ts: -------------------------------------------------------------------------------- 1 | export * from './filter'; 2 | export * from './search.models'; 3 | export * from './search'; 4 | export * from './ask'; 5 | export * from './agentic'; 6 | export * from './ask.models'; 7 | export * from './widget'; 8 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/task/index.ts: -------------------------------------------------------------------------------- 1 | export * from './task'; 2 | export * from './task.models'; 3 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/db/training/index.ts: -------------------------------------------------------------------------------- 1 | export * from './training'; 2 | export * from './training.models'; 3 | -------------------------------------------------------------------------------- /libs/sdk-core/src/lib/rest/index.ts: -------------------------------------------------------------------------------- 1 | export * from './rest'; 2 | -------------------------------------------------------------------------------- /libs/sdk-core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/search-widget/public/tiles/audio-waves.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/search-widget/public/tiles/audio-waves.mp4 -------------------------------------------------------------------------------- /libs/search-widget/src/common/button/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Button } from './Button.svelte'; 2 | export { default as IconButton } from './IconButton.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/dropdown/Dropdown.scss: -------------------------------------------------------------------------------- 1 | .sw-dropdown { 2 | background-color: var(--dropdown-background-color); 3 | box-shadow: var(--shadow-modal); 4 | position: fixed; 5 | width: var(--rhythm-27); 6 | z-index: 10000; 7 | } 8 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/icons/Icon.scss: -------------------------------------------------------------------------------- 1 | .sw-svg-icon { 2 | fill: currentColor; 3 | height: var(--rhythm-3); 4 | width: var(--rhythm-3); 5 | 6 | &.small { 7 | height: var(--rhythm-2); 8 | width: var(--rhythm-2); 9 | } 10 | &.large { 11 | height: var(--rhythm-5); 12 | width: var(--rhythm-5); 13 | } 14 | &:focus { 15 | outline: 0; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/icons/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Icon } from './Icon.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/indicators/PageIndicator.scss: -------------------------------------------------------------------------------- 1 | @import 'indicator'; 2 | 3 | .sw-page-indicator { 4 | min-width: var(--rhythm-3); 5 | 6 | &:not(.stack) { 7 | flex: 1 0 auto; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/indicators/TimeIndicator.scss: -------------------------------------------------------------------------------- 1 | @import 'indicator'; 2 | .sw-time-indicator { 3 | padding: 0 var(--rhythm-1) 0 var(--rhythm-0_5); 4 | 5 | &.minimized { 6 | border-radius: 50%; 7 | padding: var(--rhythm-1); 8 | } 9 | &.minimized .time-label { 10 | display: none; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/indicators/index.ts: -------------------------------------------------------------------------------- 1 | export { default as DocTypeIndicator } from './DocTypeIndicator.svelte'; 2 | export { default as PageIndicator } from './PageIndicator.svelte'; 3 | export { default as TimeIndicator } from './TimeIndicator.svelte'; 4 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/label/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Label } from './Label.svelte'; 2 | export * from './label.utils'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/modal/index.ts: -------------------------------------------------------------------------------- 1 | export { default as ConfirmDialog } from './ConfirmDialog.svelte'; 2 | export { default as Modal } from './Modal.svelte'; 3 | export * from './modal.utils'; 4 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/paragraph-result/index.ts: -------------------------------------------------------------------------------- 1 | export { default as AllResultsToggle } from './AllResultsToggle.svelte'; 2 | export { default as ParagraphResult } from './ParagraphResult.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/spinner/index.ts: -------------------------------------------------------------------------------- 1 | export { default as LoadingDots } from './LoadingDots.svelte'; 2 | export { default as Spinner } from './Spinner.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/tabs/TabsList.scss: -------------------------------------------------------------------------------- 1 | .sw-tabs-list { 2 | display: flex; 3 | list-style: none; 4 | margin: 0; 5 | padding: 0; 6 | white-space: nowrap; 7 | } 8 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/tabs/TabsList.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
    14 | {@render children?.()} 15 |
16 | 17 | 20 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/tabs/index.ts: -------------------------------------------------------------------------------- 1 | export { default as TabItem } from './TabItem.svelte'; 2 | export { default as TabsList } from './TabsList.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/thumbnail/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Thumbnail } from './Thumbnail.svelte'; 2 | export { default as ThumbnailPlayer } from './ThumbnailPlayer.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/tooltip/Tooltip.scss: -------------------------------------------------------------------------------- 1 | .sw-tooltip { 2 | background: hsl(0, 0%, 5%); 3 | border-radius: 2px; 4 | color: #fff; 5 | font-family: 'Source Sans Pro', sans-serif; 6 | font-size: 13px; 7 | opacity: 0; 8 | padding: 4px 8px; 9 | position: absolute; 10 | transition: opacity 240ms ease-in-out; 11 | } 12 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/tooltip/Tooltip.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
10 | {title} 11 |
12 | 13 | 16 | -------------------------------------------------------------------------------- /libs/search-widget/src/common/tooltip/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Tooltip } from './Tooltip.svelte'; 2 | export * from './tooltip'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/answer/InitialAnswer.scss: -------------------------------------------------------------------------------- 1 | .sw-initial-answer { 2 | .title-s { 3 | margin: 0 0 var(--rhythm-1) 0; 4 | } 5 | } 6 | 7 | @media (min-width: 599px) { 8 | .sw-initial-answer { 9 | min-height: var(--rhythm-8); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/answer/JsonAnswer.scss: -------------------------------------------------------------------------------- 1 | .sw-json-answer { 2 | margin-bottom: var(--rhythm-1); 3 | 4 | .title-s { 5 | margin: 0 0 var(--rhythm-1) 0; 6 | } 7 | 8 | ul { 9 | margin: 0; 10 | padding: 0 var(--rhythm-2); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/answer/json-answer.model.ts: -------------------------------------------------------------------------------- 1 | import type { JsonSchema } from '../../core'; 2 | 3 | export interface JsonAnswerItem { 4 | label: string; 5 | value: any; 6 | parameters?: JsonSchema; 7 | items?: JsonAnswerItem[][]; 8 | } 9 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/knowledge-graph/index.ts: -------------------------------------------------------------------------------- 1 | export { default as D3Loader } from './D3Loader.svelte'; 2 | export { default as Graph } from './Graph.svelte'; 3 | export { default as KnowledgeGraph } from './KnowledgeGraph.svelte'; 4 | export { default as KnowledgeGraphPanel } from './KnowledgeGraphPanel.svelte'; 5 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/result-row/index.ts: -------------------------------------------------------------------------------- 1 | export { default as FieldMetadata } from './FieldMetadata.svelte'; 2 | export { default as ResultRow } from './ResultRow.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/results-order/ResultsOrderButton.scss: -------------------------------------------------------------------------------- 1 | .sw-results-order { 2 | .icon { 3 | display: inline-flex; 4 | margin-left: var(--rhythm-1); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/search-input/index.ts: -------------------------------------------------------------------------------- 1 | export { default as SearchInput } from './SearchInput.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/ImageRenderer.scss: -------------------------------------------------------------------------------- 1 | .sw-image-renderer { 2 | align-items: flex-start; 3 | display: flex; 4 | height: 100%; 5 | justify-content: center; 6 | width: 100%; 7 | img { 8 | max-height: calc(100vh - var(--renderer-outer-space)); 9 | max-width: 100%; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/VideoRenderer.scss: -------------------------------------------------------------------------------- 1 | .sw-video-renderer { 2 | position: relative; 3 | 4 | .thumbnail, 5 | .video-player { 6 | position: absolute; 7 | left: 0; 8 | right: 0; 9 | top: 0; 10 | opacity: 0; 11 | transition: opacity var(--transition-slow); 12 | 13 | &.visible { 14 | opacity: 1; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/players/VideoPlayer.scss: -------------------------------------------------------------------------------- 1 | .sw-video-player { 2 | text-align: center; 3 | video { 4 | max-height: calc(100vh - var(--renderer-outer-space) - var(--player-bar-height)); 5 | max-width: 100%; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/players/YoutubePlayer.scss: -------------------------------------------------------------------------------- 1 | .sw-youtube { 2 | .player { 3 | aspect-ratio: 16 / 9; 4 | display: block; 5 | width: 100%; 6 | } 7 | } 8 | 9 | @media (min-width: 648px) { 10 | .sw-youtube { 11 | height: 100%; 12 | 13 | .player { 14 | max-height: calc(100vh - var(--renderer-outer-space)); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/players/index.ts: -------------------------------------------------------------------------------- 1 | export { default as AudioPlayer } from './AudioPlayer.svelte'; 2 | export { default as PlayerControls } from './PlayerControls.svelte'; 3 | export { default as VideoPlayer } from './VideoPlayer.svelte'; 4 | export { default as YoutubePlayer } from './YoutubePlayer.svelte'; 5 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/renderings/PlainTextRendering.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | {@html formattedText} 12 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/renderers/renderings/RstRendering.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | {@html formattedText} 13 | -------------------------------------------------------------------------------- /libs/search-widget/src/components/viewer/utils.ts: -------------------------------------------------------------------------------- 1 | import { viewerState } from '../../core'; 2 | 3 | export const markRegex = new RegExp(/<\/*mark>/, 'g'); 4 | 5 | export function getUnMarked(paragraph: string): string { 6 | return paragraph.replace(markRegex, '').trim(); 7 | } 8 | 9 | export function onClosePreview() { 10 | viewerState.reset(); 11 | } 12 | -------------------------------------------------------------------------------- /libs/search-widget/src/core/index.ts: -------------------------------------------------------------------------------- 1 | export * from './state-lib'; 2 | export * from './stores'; 3 | export * from './api'; 4 | export * from './i18n'; 5 | export * from './knowledge-graph.models'; 6 | export * from './models'; 7 | export * from './search-bar'; 8 | export * from './tracking'; 9 | export * from './utils'; 10 | -------------------------------------------------------------------------------- /libs/search-widget/src/core/reset.ts: -------------------------------------------------------------------------------- 1 | // Note: this subject is in a separate file to avoid circular dependencies between api.ts and effects.ts 2 | import { Subject } from 'rxjs'; 3 | 4 | export const reset = new Subject(); 5 | -------------------------------------------------------------------------------- /libs/search-widget/src/core/state-lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './state.lib'; 2 | export * from './writable-subject'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/core/stores/index.ts: -------------------------------------------------------------------------------- 1 | export * from './answers.store'; 2 | export * from './effects'; 3 | export * from './entities.store'; 4 | export * from './graph.store'; 5 | export * from './labels.store'; 6 | export * from './search.store'; 7 | export * from './suggestions.store'; 8 | export * from './viewer.store'; 9 | export * from './widget.store'; 10 | -------------------------------------------------------------------------------- /libs/search-widget/src/index.js: -------------------------------------------------------------------------------- 1 | export * from './core'; 2 | export * from './common'; 3 | export * from './components'; 4 | export * from './widgets'; 5 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/chat-widget/ChatWidget.scss: -------------------------------------------------------------------------------- 1 | @import '../../common/common-style'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/chat-widget/index.ts: -------------------------------------------------------------------------------- 1 | export { default as NucliaChat } from './ChatWidget.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/global-widget/components/answer/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Answer } from './Answer.svelte'; 2 | export { default as Feedback } from './Feedback.svelte'; 3 | export { default as InitialAnswer } from './InitialAnswer.svelte'; 4 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/global-widget/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './answer'; 2 | export * from './result-row'; 3 | export { default as SearchInput } from './search-input/SearchInput.svelte'; 4 | export { default as Suggestions } from './suggestions/Suggestions.svelte'; 5 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/global-widget/components/result-row/index.ts: -------------------------------------------------------------------------------- 1 | export { default as ResultRow } from './ResultRow.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/global-widget/index.ts: -------------------------------------------------------------------------------- 1 | export { default as NucliaGlobalSearch } from './GlobalWidget.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/global-widget/lib.ts: -------------------------------------------------------------------------------- 1 | export * from './GlobalWidget.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/index.ts: -------------------------------------------------------------------------------- 1 | export { default as NucliaChat } from './chat-widget/ChatWidget.svelte'; 2 | export { default as NucliaSearchBar } from './search-widget/SearchBar.svelte'; 3 | export { default as NucliaSearchResults } from './search-widget/SearchResults.svelte'; 4 | export { default as NucliaViewerWidget } from './viewer-widget/ViewerWidget.svelte'; 5 | export { default as NucliaGlobalSearch } from './global-widget/GlobalWidget.svelte'; 6 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/popup-widget/index.ts: -------------------------------------------------------------------------------- 1 | export { default as NucliaPopupWidget } from './PopupWidget.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/search-widget/index.ts: -------------------------------------------------------------------------------- 1 | export { default as NucliaSearchResults } from './SearchResults.svelte'; 2 | export { default as NucliaSearchBar } from './SearchBar.svelte'; 3 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/search-widget/lib.ts: -------------------------------------------------------------------------------- 1 | export * from '../chat-widget/ChatWidget.svelte'; 2 | export * from '../popup-widget/PopupWidget.svelte'; 3 | export * from '../viewer-widget/ViewerWidget.svelte'; 4 | export * from './SearchBar.svelte'; 5 | export * from './SearchResults.svelte'; 6 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/viewer-widget/ViewerWidget.scss: -------------------------------------------------------------------------------- 1 | @import '../../common/common-style'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/src/widgets/viewer-widget/index.ts: -------------------------------------------------------------------------------- 1 | export { default as NucliaViewerWidget } from './ViewerWidget.svelte'; 2 | -------------------------------------------------------------------------------- /libs/search-widget/svelte.config.js: -------------------------------------------------------------------------------- 1 | import { sveltePreprocess } from 'svelte-preprocess'; 2 | 3 | export default { 4 | // Consult https://github.com/sveltejs/svelte-preprocess 5 | // for more information about preprocessors 6 | preprocess: sveltePreprocess(), 7 | compilerOptions: { 8 | css: 'injected', 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /libs/search-widget/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | 4 | "compilerOptions": { 5 | "outDir": "../../dist/out-tsc" 6 | }, 7 | 8 | "include": ["src/**/*"], 9 | "exclude": ["**/*.spec.ts", "**/*_spec.ts", "public/*"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/search-widget/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["vitest/globals"] 6 | }, 7 | "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /libs/sistema/README.md: -------------------------------------------------------------------------------- 1 | # sistema 2 | 3 | Nuclia's design system is based on [Pastanaga angular](https://github.com/plone/pastanaga-angular) 4 | which provides a lot of angular UI components properly tested and fully responsive. 5 | 6 | Sistema library contains Nuclia's specific theme and assets, as well as any UI component which doesn't belong to Pastanaga (those components are prefixed by `nsi-`). 7 | -------------------------------------------------------------------------------- /libs/sistema/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/sistema/assets/.gitkeep -------------------------------------------------------------------------------- /libs/sistema/assets/fonts/source-code-pro/source-code-pro-v14-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/sistema/assets/fonts/source-code-pro/source-code-pro-v14-latin-regular.woff -------------------------------------------------------------------------------- /libs/sistema/assets/fonts/source-code-pro/source-code-pro-v14-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/sistema/assets/fonts/source-code-pro/source-code-pro-v14-latin-regular.woff2 -------------------------------------------------------------------------------- /libs/sistema/assets/fonts/videoagular/videogular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/sistema/assets/fonts/videoagular/videogular.woff -------------------------------------------------------------------------------- /libs/sistema/assets/signup/check-email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/libs/sistema/assets/signup/check-email.png -------------------------------------------------------------------------------- /libs/sistema/assets/sso-icons/microsoft.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/activity-log.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/add-file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/arrows-related.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/audio.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/chevrons-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/chevrons-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/collapse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/cross.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/draggable.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/file-empty.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/filter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/key.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/knowledge-box.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/labeler.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/more-horizontal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/more-vertical.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/payment.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/square-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/undo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/upload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/warning.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /libs/sistema/glyphs/widget.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/back-button/back-button.component.html: -------------------------------------------------------------------------------- 1 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/back-button/back-button.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | :host { 4 | pa-icon { 5 | display: flex; 6 | } 7 | 8 | a { 9 | align-items: center; 10 | color: $color-dark-stronger; 11 | display: flex; 12 | gap: rhythm(1); 13 | padding-right: rhythm(1); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/back-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './back-button.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/badge/index.ts: -------------------------------------------------------------------------------- 1 | export * from './badge.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/button-mini/button-mini.component.html: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/button-mini/index.ts: -------------------------------------------------------------------------------- 1 | export * from './button-mini.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/cards/action-card/index.ts: -------------------------------------------------------------------------------- 1 | export * from './action-card.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/cards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './action-card'; 2 | export * from './info-card'; 3 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/cards/info-card/index.ts: -------------------------------------------------------------------------------- 1 | export * from './info-card.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/cards/info-card/info-card.component.html: -------------------------------------------------------------------------------- 1 | @if (icon) { 2 | 3 | } 4 |
5 | 6 |
7 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/dropdown-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dropdown-button.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/expandable-textarea/index.ts: -------------------------------------------------------------------------------- 1 | export * from './expandable-textarea.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/expandable-textarea/textarea-modal/textarea-modal.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | pa-textarea { 4 | display: block; 5 | height: 100%; 6 | max-width: 100%; 7 | width: rhythm(90); 8 | } 9 | 10 | pa-textarea ::ng-deep { 11 | .pa-field { 12 | height: 100%; 13 | } 14 | .pa-field-container { 15 | height: calc(100% - #{rhythm(4)}); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/folder-list/folder-list.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | ul.folder-list { 4 | margin: 0; 5 | padding: 0; 6 | list-style: none; 7 | 8 | li { 9 | align-items: center; 10 | box-shadow: $box-shadow-border-bottom; 11 | display: flex; 12 | gap: rhythm(1); 13 | height: rhythm(5); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/folder-list/index.ts: -------------------------------------------------------------------------------- 1 | export * from './folder-list.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/folder-tree/folder-tree.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/folder-tree/index.ts: -------------------------------------------------------------------------------- 1 | export * from './folder-tree.component'; 2 | export * from './folder-tree.model'; 3 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/home-container/home-container.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | :host { 4 | display: flex; 5 | border: 1px solid $color-neutral-lighter; 6 | border-radius: rhythm(1); 7 | flex-direction: column; 8 | gap: rhythm(2); 9 | padding: rhythm(2); 10 | } 11 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/home-container/index.ts: -------------------------------------------------------------------------------- 1 | export * from './home-container.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/icons/icons.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { MimeIconPipe } from './mime-icon.pipe'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [MimeIconPipe], 8 | exports: [MimeIconPipe], 9 | }) 10 | export class SisIconsModule {} 11 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/icons/index.ts: -------------------------------------------------------------------------------- 1 | export * from './icons'; 2 | export * from './icons.module'; 3 | export * from './mime-icon.pipe'; 4 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/json-viewer/index.ts: -------------------------------------------------------------------------------- 1 | export * from './json-viewer.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/json-viewer/json-viewer.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | :host { 4 | pa-table ::ng-deep .pa-table-grid { 5 | border-top: 1px solid $color-neutral-lighter; 6 | } 7 | pa-table ::ng-deep .pa-table-grid--cell { 8 | border-left: 1px solid $color-neutral-lighter; 9 | border-right: 1px solid $color-neutral-lighter; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/label/index.ts: -------------------------------------------------------------------------------- 1 | export * from './label.component'; 2 | export * from './label.utils'; 3 | export * from './sis-label.module'; 4 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/label/label.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/label/label.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | pa-chip-closeable ::ng-deep .body-s { 4 | font-weight: $font-weight-semi-bold; 5 | } 6 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/label/sis-label.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { LabelComponent } from './label.component'; 4 | import { PaChipsModule } from '@guillotinaweb/pastanaga-angular'; 5 | 6 | @NgModule({ 7 | declarations: [LabelComponent], 8 | imports: [CommonModule, PaChipsModule], 9 | exports: [LabelComponent], 10 | }) 11 | export class SisLabelModule {} 12 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/labels-expander/index.ts: -------------------------------------------------------------------------------- 1 | export * from './classification.helpers'; 2 | export * from './labels-expander.component'; 3 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/labels-expander/labels-expander.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | .label-selector { 4 | padding: rhythm(1) 0 rhythm(2) rhythm(1.5); 5 | } 6 | 7 | .filter { 8 | margin-bottom: rhythm(1); 9 | } 10 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/password-input/index.ts: -------------------------------------------------------------------------------- 1 | export * from './password-input.component'; 2 | export * from './password-input.module'; 3 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/password-input/password-input.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | .nsi-password-input { 4 | .pa-field-container { 5 | align-items: center; 6 | display: flex; 7 | gap: rhythm(0.5); 8 | padding-right: rhythm(0.5); 9 | } 10 | pa-button ::ng-deep .pa-button:not(:disabled).pa-secondary.pa-basic { 11 | color: $color-text-field-label-regular; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/progress/delayed-spinner/delayed-spinner.component.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/progress/index.ts: -------------------------------------------------------------------------------- 1 | export * from './delayed-spinner/delayed-spinner.component'; 2 | export * from './progress-bar/progress-bar.component'; 3 | export * from './spinner/spinner.component'; 4 | export * from './sis-progress.module'; 5 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/progress/progress-bar/progress-bar.component.html: -------------------------------------------------------------------------------- 1 |
5 |
9 |
10 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/progress/spinner/spinner.component.html: -------------------------------------------------------------------------------- 1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/search-input/index.ts: -------------------------------------------------------------------------------- 1 | export * from './search-input.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/search-input/search-input.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | .nsi-search-input { 4 | .pa-field-container { 5 | align-items: center; 6 | display: flex; 7 | gap: rhythm(0.5); 8 | padding-right: rhythm(0.5); 9 | } 10 | .nsi-search-input-button { 11 | cursor: pointer; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/segmented-buttons/index.ts: -------------------------------------------------------------------------------- 1 | export * from './segmented-buttons.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/status/index.ts: -------------------------------------------------------------------------------- 1 | export * from './status.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/status/status.component.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/status/status.component.scss: -------------------------------------------------------------------------------- 1 | @use '../../../styles/variables' as *; 2 | 3 | .processed { 4 | color: $color-primary-regular; 5 | } 6 | .error { 7 | color: $color-secondary-stronger; 8 | } 9 | .pending { 10 | color: $color-neutral-regular; 11 | } 12 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/sticky-footer/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sticky-footer.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/sticky-footer/sticky-footer.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 | 6 |
7 | -------------------------------------------------------------------------------- /libs/sistema/src/lib/two-columns-configuration-item/index.ts: -------------------------------------------------------------------------------- 1 | export * from './two-columns-configuration-item.component'; 2 | -------------------------------------------------------------------------------- /libs/sistema/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv(); 4 | -------------------------------------------------------------------------------- /libs/sistema/theme/_fonts.scss: -------------------------------------------------------------------------------- 1 | @forward './fonts/source-code-pro'; 2 | -------------------------------------------------------------------------------- /libs/sistema/theme/fonts/_source-code-pro.scss: -------------------------------------------------------------------------------- 1 | $font-path: '../../assets/fonts'; 2 | 3 | /* source-code-pro-regular - latin */ 4 | @font-face { 5 | font-family: 'Source Code Pro'; 6 | font-style: normal; 7 | font-weight: 400; 8 | src: url($font-path + '/source-code-pro/source-code-pro-v14-latin-regular.woff2') format('woff2'), 9 | url($font-path + '/source-code-pro/source-code-pro-v14-latin-regular.woff') format('woff'); 10 | } 11 | -------------------------------------------------------------------------------- /libs/sistema/theme/tokens/_card.tokens.scss: -------------------------------------------------------------------------------- 1 | @use './spacing.tokens' as spacing; 2 | @forward '../../../pastanaga-angular/projects/pastanaga-angular/src/styles/theme/card.tokens' 3 | with($border-radius-card: spacing.rhythm(1)); 4 | -------------------------------------------------------------------------------- /libs/sistema/theme/tokens/_modal.tokens.scss: -------------------------------------------------------------------------------- 1 | @use './spacing.tokens' as spacing; 2 | @forward '../../../pastanaga-angular/projects/pastanaga-angular/src/styles/theme/modal.tokens' with ( 3 | $width-confirm-dialog: spacing.rhythm(56) 4 | ); 5 | -------------------------------------------------------------------------------- /libs/sistema/theme/tokens/_popover.tokens.scss: -------------------------------------------------------------------------------- 1 | @use 'palette.tokens' as palette; 2 | @forward '../../../pastanaga-angular/projects/pastanaga-angular/src/styles/theme/popover.tokens' with ( 3 | $color-background-popover: palette.$color-dark-stronger, 4 | $color-text-popover: palette.$color-neutral-lightest 5 | ); 6 | -------------------------------------------------------------------------------- /libs/sistema/theme/tokens/_shadows.tokens.scss: -------------------------------------------------------------------------------- 1 | @use '../tokens/palette.tokens' as palette; 2 | @forward '../../../pastanaga-angular/projects/pastanaga-angular/src/styles/theme/shadows.tokens' with ( 3 | $shadow-small: 1px 1px 2px rgba(0, 0, 0, 0.3), 4 | $color-shadow-focus: rgba(255, 117, 172, 0.6) 5 | ); 6 | -------------------------------------------------------------------------------- /libs/sistema/theme/tokens/_z-index.tokens.scss: -------------------------------------------------------------------------------- 1 | @forward '../../../pastanaga-angular/projects/pastanaga-angular/src/styles/theme/z-index.tokens' with ( 2 | $z-index-toast: 10000, 3 | $z-index-modal-backdrop: 9999 4 | ); 5 | -------------------------------------------------------------------------------- /libs/sistema/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["src/test-setup.ts", "**/*.spec.ts", "**/*.test.ts"], 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/sistema/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"], 7 | "target": "es2016" 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/sync/README.md: -------------------------------------------------------------------------------- 1 | # sync 2 | 3 | Library containing common components and services to synchronize external data with Nuclia 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test sync` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/sync/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/home-page'; 2 | export * from './lib/logic'; 3 | export * from './lib/utils'; 4 | -------------------------------------------------------------------------------- /libs/sync/src/lib/_common-sync.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .page-spacing { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(4); 7 | } 8 | .page-title { 9 | align-items: center; 10 | display: flex; 11 | gap: rhythm(1); 12 | } 13 | -------------------------------------------------------------------------------- /libs/sync/src/lib/add-sync-page/add-sync-page.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | @use '../common-sync'; 3 | 4 | .inline-form { 5 | pa-select { 6 | flex: 0 0 auto; 7 | min-width: rhythm(16); 8 | width: fit-content; 9 | } 10 | pa-input { 11 | max-width: unset; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/sync/src/lib/add-sync-page/index.ts: -------------------------------------------------------------------------------- 1 | export * from './add-sync-page.component'; 2 | -------------------------------------------------------------------------------- /libs/sync/src/lib/configuration-form/configuration-form.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .toggle-container pa-toggle ::ng-deep .pa-toggle-context { 4 | justify-content: space-between; 5 | } 6 | 7 | .table-container nsi-info-card { 8 | margin-top: rhythm(1.5); 9 | } 10 | -------------------------------------------------------------------------------- /libs/sync/src/lib/configuration-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './configuration.model'; 2 | export * from './configuration-form.component'; 3 | -------------------------------------------------------------------------------- /libs/sync/src/lib/folder-selection/folder-selection.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | header { 4 | display: flex; 5 | justify-content: space-between; 6 | margin-bottom: rhythm(2); 7 | 8 | pa-input { 9 | width: rhythm(60); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/sync/src/lib/folder-selection/index.ts: -------------------------------------------------------------------------------- 1 | export * from './folder-selection.component'; 2 | -------------------------------------------------------------------------------- /libs/sync/src/lib/home-page/connector/connector.component.html: -------------------------------------------------------------------------------- 1 | 4 |
5 | 8 |
{{ title }}
9 |
10 |
11 | -------------------------------------------------------------------------------- /libs/sync/src/lib/home-page/connector/connector.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .connector { 4 | align-items: center; 5 | display: flex; 6 | flex-direction: column; 7 | gap: rhythm(1); 8 | width: rhythm(12); 9 | } 10 | -------------------------------------------------------------------------------- /libs/sync/src/lib/home-page/connector/index.ts: -------------------------------------------------------------------------------- 1 | export * from './connector.component'; 2 | -------------------------------------------------------------------------------- /libs/sync/src/lib/home-page/index.ts: -------------------------------------------------------------------------------- 1 | export * from './connector'; 2 | export * from './home-page.component'; 3 | -------------------------------------------------------------------------------- /libs/sync/src/lib/logic/index.ts: -------------------------------------------------------------------------------- 1 | export * from './models'; 2 | export * from './sync.service'; 3 | -------------------------------------------------------------------------------- /libs/sync/src/lib/sync-details-page/folders-tab/folders-tab.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .folders-tab { 4 | position: relative; 5 | 6 | header { 7 | display: flex; 8 | justify-content: space-between; 9 | margin-bottom: rhythm(2); 10 | 11 | pa-input { 12 | width: rhythm(60); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /libs/sync/src/lib/sync-details-page/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sync-details-page.component'; 2 | -------------------------------------------------------------------------------- /libs/sync/src/lib/sync-details-page/sync-details-page.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | @use '../common-sync'; 3 | 4 | .details-header { 5 | align-items: center; 6 | display: flex; 7 | justify-content: space-between; 8 | } 9 | 10 | .cta-container { 11 | align-items: center; 12 | display: flex; 13 | gap: rhythm(1); 14 | } 15 | -------------------------------------------------------------------------------- /libs/sync/src/lib/sync-details-page/sync-settings/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sync-settings.component'; 2 | -------------------------------------------------------------------------------- /libs/sync/src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | export function getURLParams(): string { 2 | let params = location.search; 3 | if (!params && location.href.includes('#')) { 4 | const path = location.href.split('#')[1]; 5 | params = path.includes('?') ? '?' + path.split('?')[1] : '?' + path; 6 | } 7 | if (params && params.includes('#') && !params.includes('?')) { 8 | params = params.replace('#', '?'); 9 | } 10 | return params; 11 | } 12 | -------------------------------------------------------------------------------- /libs/sync/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment 2 | globalThis.ngJest = { 3 | testEnvironmentOptions: { 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }, 7 | }; 8 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 9 | 10 | setupZoneTestEnv(); 11 | -------------------------------------------------------------------------------- /libs/sync/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"], 11 | "include": ["src/**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/sync/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/user/README.md: -------------------------------------------------------------------------------- 1 | # user 2 | 3 | Library containing everything related to user login/password recovering/onboarding/profile/… 4 | 5 | User module is used in both dashboard and manager apps. 6 | 7 | ## Running unit tests 8 | 9 | Run `nx test user` to execute the unit tests. 10 | 11 | -------------------------------------------------------------------------------- /libs/user/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/user/src/lib/check-mail/check-mail.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .check-email-container { 4 | padding: 0 rhythm(24); 5 | 6 | img { 7 | // Not using rhythm here because this value is for having the left side of the envelope from the img aligned with the text 8 | margin-left: -28px; 9 | width: rhythm(24); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/user/src/lib/magic/magic.component.html: -------------------------------------------------------------------------------- 1 | 2 |

{{ (error ? error : 'onboarding.loading') | translate }}

3 |
4 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/_common-step.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .onboarding-form { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(1.5); 7 | margin-bottom: rhythm(4); 8 | 9 | .field { 10 | display: flex; 11 | flex-direction: column; 12 | gap: rhythm(0.25); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/embeddings-model-form/dynamic-fields.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .dynamic-fields { 4 | display: flex; 5 | flex-direction: column; 6 | gap: rhythm(2); 7 | } 8 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/embeddings-model-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './embeddings-model-form.component'; 2 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/index.ts: -------------------------------------------------------------------------------- 1 | export * from './embeddings-model-form'; 2 | export * from './kb-creation-steps'; 3 | export * from './setting-up/setting-up.component'; 4 | export * from './step1/step1.component'; 5 | export * from './vector-database-form'; 6 | export * from './onboarding.component'; 7 | export * from './onboarding.models'; 8 | export * from './onboarding.service'; 9 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/kb-creation-steps/index.ts: -------------------------------------------------------------------------------- 1 | export * from './kb-name/kb-name-step.component'; 2 | export * from './zone/zone-step.component'; 3 | export * from './embedding-model/embedding-model-step.component'; 4 | export * from './vector-database/vector-database-step.component'; 5 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/setting-up/setting-up.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .setting-up { 4 | min-height: rhythm(24); 5 | } 6 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/step1/step1.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | .phone-field { 4 | display: flex; 5 | .phone-code { 6 | width: rhythm(8); 7 | margin-right: rhythm(1); 8 | } 9 | } 10 | 11 | .consent { 12 | ::ng-deep a { 13 | color: inherit; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/vector-database-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './vector-database-form.component'; 2 | -------------------------------------------------------------------------------- /libs/user/src/lib/onboarding/vector-database-form/vector-database-form.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | 3 | :host { 4 | .toggle-container { 5 | background-color: $color-neutral-lightest; 6 | border-radius: rhythm(1); 7 | padding: rhythm(1); 8 | } 9 | 10 | label:not(.pa-toggle-label):not(.pa-field-label) { 11 | color: $color-neutral-regular; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/user/src/lib/password.validator.ts: -------------------------------------------------------------------------------- 1 | import { AbstractControl, ValidatorFn } from '@angular/forms'; 2 | 3 | export function SamePassword(passwordField: string): ValidatorFn { 4 | return (control: AbstractControl) => { 5 | const password = control.parent?.get(passwordField)?.value; 6 | const repeatPassword = control.value; 7 | return password === repeatPassword ? null : { passwordMismatch: true }; 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /libs/user/src/lib/recover/recover.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | @use '../user-layout'; 3 | 4 | .main-container { 5 | gap: rhythm(4); 6 | 7 | .recover-form { 8 | display: flex; 9 | flex-direction: column; 10 | gap: rhythm(3); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/user/src/lib/reset/reset.component.scss: -------------------------------------------------------------------------------- 1 | @use 'apps/dashboard/src/variables' as *; 2 | @use '../user-layout'; 3 | -------------------------------------------------------------------------------- /libs/user/src/lib/sso/sso-button.component.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /libs/user/src/lib/user-container/index.ts: -------------------------------------------------------------------------------- 1 | export * from './user-container.module'; 2 | export * from './user-container.component'; 3 | -------------------------------------------------------------------------------- /libs/user/src/lib/user-container/user-container-logo/user-container-logo.component.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /libs/user/src/lib/user-container/user-container.component.html: -------------------------------------------------------------------------------- 1 |
2 | 7 |
10 | 11 |
12 |
13 | -------------------------------------------------------------------------------- /libs/user/src/lib/user-container/user-container.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { UserContainerComponent } from './user-container.component'; 3 | import { CommonModule } from '@angular/common'; 4 | 5 | @NgModule({ 6 | declarations: [UserContainerComponent], 7 | exports: [UserContainerComponent], 8 | imports: [CommonModule], 9 | }) 10 | export class UserContainerModule {} 11 | -------------------------------------------------------------------------------- /libs/user/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment 2 | globalThis.ngJest = { 3 | testEnvironmentOptions: { 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }, 7 | }; 8 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 9 | 10 | setupZoneTestEnv(); 11 | -------------------------------------------------------------------------------- /libs/user/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": [ 11 | "jest.config.ts", 12 | "src/**/*.test.ts", 13 | "src/**/*.spec.ts", 14 | "src/**/*.d.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /maintenance/assets/maintenance-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/maintenance/assets/maintenance-background.jpg -------------------------------------------------------------------------------- /mrs.developer.json: -------------------------------------------------------------------------------- 1 | { 2 | "pastanaga-angular": { 3 | "url": "git@github.com:plone/pastanaga-angular.git", 4 | "https": "https://github.com/plone/pastanaga-angular.git", 5 | "path": "/projects/pastanaga-angular/src", 6 | "package": "@guillotinaweb/pastanaga-angular", 7 | "tag": "2.69.3" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /nginx/auth.default.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name stashify-auth; 4 | root /dist/; 5 | index index.html; 6 | location / { 7 | try_files $uri /index.html =404; 8 | } 9 | error_page 500 502 503 504 /50x.html; 10 | location = /50x.html { 11 | root /usr/share/nginx/html; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/build-sdk-docs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # exit when any command fails 3 | set -e 4 | 5 | echo "Build SDK docs" 6 | cd libs/sdk-core 7 | npx typedoc --plugin typedoc-plugin-markdown --excludePrivate ./src/index.ts 8 | cd - -------------------------------------------------------------------------------- /tools/python-nucliadb-admin-dist/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include nucliadb_admin_assets * 2 | -------------------------------------------------------------------------------- /tools/python-nucliadb-admin-dist/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: publish 2 | publish: 3 | python bump.py $(ARGS) 4 | pip install wheel twine 5 | pip wheel -w dist ./ 6 | twine upload dist/* 7 | -------------------------------------------------------------------------------- /tools/python-nucliadb-admin-dist/README.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | This folder contains the skeleton for creating a python package that is uploaded to pypi 4 | and contains the assets for the NucliaDB admin app. 5 | -------------------------------------------------------------------------------- /tools/python-nucliadb-admin-dist/VERSION: -------------------------------------------------------------------------------- 1 | 1.0.0 -------------------------------------------------------------------------------- /tools/python-nucliadb-admin-dist/nucliadb_admin_assets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nuclia/frontend/b509e9ca77b6a138ebf6986bd290dee0f3abfa73/tools/python-nucliadb-admin-dist/nucliadb_admin_assets/__init__.py -------------------------------------------------------------------------------- /tools/tsconfig.tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../dist/out-tsc/tools", 5 | "rootDir": ".", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["node"] 9 | }, 10 | "include": ["**/*.ts"] 11 | } 12 | --------------------------------------------------------------------------------