gitextract_jp3gfjy6/ ├── .dockerignore ├── .eslintrc.json ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── SECURITY.md │ └── workflows/ │ ├── discord.yml │ ├── docker.yml │ ├── e2e.yml │ ├── helm.yml │ ├── release-candidate.yml │ ├── release.yml │ └── security.yml ├── .gitignore ├── .gitleaks.toml ├── .pre-commit-config.yaml ├── .release-it.json ├── CITATION.cff ├── LICENSE ├── Makefile ├── README.md ├── app/ │ ├── (auth)/ │ │ ├── forgot-password/ │ │ │ └── page.tsx │ │ ├── guard/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── login/ │ │ │ └── page.tsx │ │ ├── register/ │ │ │ └── page.tsx │ │ └── reset-password/ │ │ └── page.tsx │ ├── (customer)/ │ │ └── dashboard/ │ │ ├── (admin)/ │ │ │ ├── admin/ │ │ │ │ ├── organizations/ │ │ │ │ │ ├── [organizationId]/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── settings/ │ │ │ │ │ └── page.tsx │ │ │ │ └── users/ │ │ │ │ └── page.tsx │ │ │ ├── agents/ │ │ │ │ ├── [agentId]/ │ │ │ │ │ └── page.tsx │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ ├── notifications/ │ │ │ │ ├── channels/ │ │ │ │ │ └── page.tsx │ │ │ │ └── logs/ │ │ │ │ └── page.tsx │ │ │ └── storages/ │ │ │ └── channels/ │ │ │ └── page.tsx │ │ ├── (organization)/ │ │ │ ├── migration/ │ │ │ │ └── page.tsx │ │ │ ├── projects/ │ │ │ │ ├── [projectId]/ │ │ │ │ │ ├── database/ │ │ │ │ │ │ └── [databaseId]/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── page.tsx │ │ │ ├── settings/ │ │ │ │ ├── agents/ │ │ │ │ │ ├── [agentId]/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── page.tsx │ │ │ └── statistics/ │ │ │ └── page.tsx │ │ ├── home/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ └── loading.tsx │ ├── (landing)/ │ │ ├── home/ │ │ │ └── page.tsx │ │ └── page.tsx │ ├── api/ │ │ ├── agent/ │ │ │ └── [agentId]/ │ │ │ ├── backup/ │ │ │ │ ├── helpers.ts │ │ │ │ ├── route.ts │ │ │ │ └── upload/ │ │ │ │ ├── init/ │ │ │ │ │ └── route.ts │ │ │ │ └── status/ │ │ │ │ └── route.ts │ │ │ ├── restore/ │ │ │ │ └── route.ts │ │ │ └── status/ │ │ │ ├── helpers.ts │ │ │ └── route.ts │ │ ├── auth/ │ │ │ └── [...all]/ │ │ │ └── route.ts │ │ ├── config/ │ │ │ └── route.ts │ │ ├── events/ │ │ │ └── route.ts │ │ ├── files/ │ │ │ ├── backups/ │ │ │ │ └── route.ts │ │ │ └── images/ │ │ │ └── [fileName]/ │ │ │ └── route.ts │ │ ├── google/ │ │ │ └── drive/ │ │ │ └── callback/ │ │ │ └── route.ts │ │ └── tus/ │ │ └── hooks/ │ │ └── route.ts │ ├── error/ │ │ └── page.tsx │ ├── globals.css │ ├── layout.tsx │ ├── manifest.json │ ├── not-found.tsx │ └── providers.tsx ├── components.json ├── docker/ │ ├── dockerfile/ │ │ └── Dockerfile │ ├── entrypoints/ │ │ ├── app-dev-entrypoint.sh │ │ └── app-prod-entrypoint.sh │ └── nginx/ │ └── nginx.conf ├── docker-compose.e2e.yml ├── docker-compose.func.yml ├── docker-compose.prod.yml ├── docker-compose.yml ├── drizzle.config.ts ├── e2e/ │ ├── access-management.spec.ts │ ├── agent.spec.ts │ ├── auth.spec.ts │ ├── cleanup.spec.ts │ ├── helpers/ │ │ ├── access-management.ts │ │ ├── agent-cli.ts │ │ ├── agent.ts │ │ ├── auth.ts │ │ ├── env.ts │ │ ├── notification.ts │ │ ├── project.ts │ │ ├── session.ts │ │ └── storage.ts │ ├── notification/ │ │ ├── discord.spec.ts │ │ ├── gotify.spec.ts │ │ ├── ntfy.spec.ts │ │ ├── slack.spec.ts │ │ ├── smtp.spec.ts │ │ ├── teams.spec.ts │ │ ├── telegram.spec.ts │ │ └── webhook.spec.ts │ ├── project.spec.ts │ ├── setup.spec.ts │ └── storage/ │ ├── azure.spec.ts │ ├── gcs.spec.ts │ ├── google-drive.spec.ts │ └── s3.spec.ts ├── eslint.config.mjs ├── helm/ │ ├── .helmignore │ ├── Chart.yaml │ ├── README.md │ ├── templates/ │ │ ├── deployment.yaml │ │ ├── pvc.yaml │ │ └── service.yaml │ └── values.yaml ├── instrumentation.ts ├── next.config.ts ├── package.json ├── playwright.config.ts ├── pnpm-workspace.yaml ├── portabase.config.ts ├── postcss.config.mjs ├── proxy.ts ├── seeds/ │ └── keycloak/ │ └── master-realm.json ├── src/ │ ├── components/ │ │ ├── emails/ │ │ │ ├── auth/ │ │ │ │ ├── email-forgot-password.tsx │ │ │ │ ├── email-new-login.tsx │ │ │ │ └── email-verification.tsx │ │ │ ├── email-create-user.tsx │ │ │ ├── email-layout.tsx │ │ │ ├── email-notification.tsx │ │ │ ├── email-settings-test.tsx │ │ │ └── email-text.tsx │ │ ├── layout.tsx │ │ ├── ui/ │ │ │ ├── accordion.tsx │ │ │ ├── alert-dialog.tsx │ │ │ ├── alert.tsx │ │ │ ├── aspect-ratio.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── breadcrumb.tsx │ │ │ ├── button.tsx │ │ │ ├── calendar.tsx │ │ │ ├── card.tsx │ │ │ ├── carousel.tsx │ │ │ ├── chart.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── dropzone.tsx │ │ │ ├── form.tsx │ │ │ ├── github-button.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── navigation-menu.tsx │ │ │ ├── pagination.tsx │ │ │ ├── password-input-indicator.tsx │ │ │ ├── password-input.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── search-input.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── sidebar.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── slider.tsx │ │ │ ├── sliding-number.tsx │ │ │ ├── sonner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toast.tsx │ │ │ ├── toaster.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ └── wrappers/ │ │ ├── auth/ │ │ │ ├── auth-logo-section.tsx │ │ │ ├── guard/ │ │ │ │ └── guard-form.tsx │ │ │ ├── login/ │ │ │ │ ├── forgot-password-form/ │ │ │ │ │ ├── forgot-password-form.schema.ts │ │ │ │ │ ├── forgot-password-form.tsx │ │ │ │ │ └── forgot-password.actions.ts │ │ │ │ ├── login-form/ │ │ │ │ │ ├── login-form.schema.ts │ │ │ │ │ └── login-form.tsx │ │ │ │ └── reset-password-form/ │ │ │ │ ├── reset-password-form.action.ts │ │ │ │ ├── reset-password-form.schema.ts │ │ │ │ └── reset-password-form.tsx │ │ │ ├── register/ │ │ │ │ └── register-form/ │ │ │ │ ├── register-form.schema.ts │ │ │ │ └── register-form.tsx │ │ │ ├── reset-password/ │ │ │ │ ├── reset-password-form.tsx │ │ │ │ ├── reset-password-schema.ts │ │ │ │ └── reset-password-section.tsx │ │ │ └── social-buttons.tsx │ │ ├── common/ │ │ │ ├── bread-crumbs/ │ │ │ │ └── bread-crumbs.tsx │ │ │ ├── button/ │ │ │ │ ├── back-button.tsx │ │ │ │ ├── button-with-confirm.tsx │ │ │ │ ├── button-with-loading.tsx │ │ │ │ └── copy-button.tsx │ │ │ ├── cards-with-pagination.tsx │ │ │ ├── code-snippet.tsx │ │ │ ├── combobox.tsx │ │ │ ├── connection-indicator.tsx │ │ │ ├── console-silencer.tsx │ │ │ ├── day-time-picker.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropzone/ │ │ │ │ └── dropzone-file.tsx │ │ │ ├── empty-state-placeholder.tsx │ │ │ ├── error-layout.tsx │ │ │ ├── file-uploader.tsx │ │ │ ├── github/ │ │ │ │ └── github-button.tsx │ │ │ ├── loading/ │ │ │ │ └── loading-spinner.tsx │ │ │ ├── multiselect/ │ │ │ │ └── multi-select.tsx │ │ │ ├── pagination/ │ │ │ │ ├── pagination-indexes.tsx │ │ │ │ ├── pagination-navigation.tsx │ │ │ │ └── pagination-size.tsx │ │ │ ├── provider-switch.tsx │ │ │ ├── status-badge.tsx │ │ │ ├── table/ │ │ │ │ ├── data-table.tsx │ │ │ │ ├── filters.tsx │ │ │ │ ├── table-pagination-navigation.tsx │ │ │ │ ├── table-pagination-size.tsx │ │ │ │ ├── table-pagination.tsx │ │ │ │ └── table-sort-button.tsx │ │ │ └── tooltip-custom.tsx │ │ └── dashboard/ │ │ ├── admin/ │ │ │ ├── channels/ │ │ │ │ ├── channel/ │ │ │ │ │ ├── channel-add-edit-modal.tsx │ │ │ │ │ ├── channel-card/ │ │ │ │ │ │ ├── button-delete-channel.tsx │ │ │ │ │ │ ├── button-edit-channel.tsx │ │ │ │ │ │ └── channel-card.tsx │ │ │ │ │ └── channel-form/ │ │ │ │ │ ├── channel-form.schema.ts │ │ │ │ │ ├── channel-form.tsx │ │ │ │ │ ├── channel-test-button.tsx │ │ │ │ │ └── providers/ │ │ │ │ │ ├── notifications/ │ │ │ │ │ │ ├── action.ts │ │ │ │ │ │ └── forms/ │ │ │ │ │ │ ├── discord.form.tsx │ │ │ │ │ │ ├── discord.schema.ts │ │ │ │ │ │ ├── gotify.form.tsx │ │ │ │ │ │ ├── gotify.schema.ts │ │ │ │ │ │ ├── ntfy.form.tsx │ │ │ │ │ │ ├── ntfy.schema.ts │ │ │ │ │ │ ├── slack.form.tsx │ │ │ │ │ │ ├── slack.schema.ts │ │ │ │ │ │ ├── smtp.form.tsx │ │ │ │ │ │ ├── smtp.schema.ts │ │ │ │ │ │ ├── telegram.form.tsx │ │ │ │ │ │ ├── telegram.schema.ts │ │ │ │ │ │ ├── webhook.form.tsx │ │ │ │ │ │ └── webhook.schema.ts │ │ │ │ │ └── storages/ │ │ │ │ │ ├── action.ts │ │ │ │ │ └── forms/ │ │ │ │ │ ├── google-drive/ │ │ │ │ │ │ └── helpers.ts │ │ │ │ │ ├── google-drive.form.tsx │ │ │ │ │ ├── google-drive.schema.ts │ │ │ │ │ ├── local.schema.ts │ │ │ │ │ ├── s3.form.tsx │ │ │ │ │ └── s3.schema.ts │ │ │ │ ├── channels-section.tsx │ │ │ │ ├── helpers/ │ │ │ │ │ ├── common.tsx │ │ │ │ │ ├── notification.tsx │ │ │ │ │ └── storage.tsx │ │ │ │ └── organization/ │ │ │ │ ├── channels-organization-form.tsx │ │ │ │ ├── channels-organization.action.ts │ │ │ │ └── channels-organization.schema.ts │ │ │ ├── notifications/ │ │ │ │ └── logs/ │ │ │ │ ├── columns.tsx │ │ │ │ ├── notification-log-modal.tsx │ │ │ │ └── notification-logs-list.tsx │ │ │ ├── organizations/ │ │ │ │ ├── admin-organizations-table.tsx │ │ │ │ ├── columns-organizations.tsx │ │ │ │ └── organization/ │ │ │ │ ├── admin-organization-add-modal.tsx │ │ │ │ ├── admin-organization-form.tsx │ │ │ │ ├── admin-organization-section.tsx │ │ │ │ ├── admin-orgnization-list.tsx │ │ │ │ ├── button-delete-organization.tsx │ │ │ │ ├── details/ │ │ │ │ │ ├── add-member.action.ts │ │ │ │ │ ├── organization-add-member-form.tsx │ │ │ │ │ ├── organization-add-member-modal.tsx │ │ │ │ │ ├── organization-delete-member-modal.tsx │ │ │ │ │ ├── organization-member-card.tsx │ │ │ │ │ ├── organization-member-change-role.tsx │ │ │ │ │ ├── role-member.action.ts │ │ │ │ │ └── update-organization-form.tsx │ │ │ │ ├── organization-management.tsx │ │ │ │ ├── organization.schema.ts │ │ │ │ └── table-colums.tsx │ │ │ ├── settings/ │ │ │ │ ├── email/ │ │ │ │ │ ├── email-form/ │ │ │ │ │ │ ├── email-form.action.ts │ │ │ │ │ │ ├── email-form.schema.ts │ │ │ │ │ │ └── email-form.tsx │ │ │ │ │ └── settings-email-section.tsx │ │ │ │ ├── notification/ │ │ │ │ │ ├── settings-notification-section.tsx │ │ │ │ │ ├── settings-notification.action.ts │ │ │ │ │ └── settings-notification.schema.ts │ │ │ │ ├── settings-tabs.tsx │ │ │ │ └── storage/ │ │ │ │ ├── settings-storage-section.tsx │ │ │ │ ├── settings-storage.action.ts │ │ │ │ ├── settings-storage.schema.ts │ │ │ │ └── storage-s3/ │ │ │ │ ├── s3-form.action.ts │ │ │ │ ├── s3-form.schema.ts │ │ │ │ └── storage-s3-form.tsx │ │ │ └── users/ │ │ │ ├── admin-user-add-modal.tsx │ │ │ ├── admin-user-change-password-modal.tsx │ │ │ ├── admin-user-change-role-modal.tsx │ │ │ ├── admin-user-delete-modal.tsx │ │ │ ├── admin-user-edit-form.tsx │ │ │ ├── admin-user-edit-modal.tsx │ │ │ ├── admin-user-form.tsx │ │ │ ├── admin-user-list.tsx │ │ │ ├── table-colums.tsx │ │ │ ├── user-actions-cell.tsx │ │ │ ├── user.action.ts │ │ │ └── user.schema.ts │ │ ├── agent/ │ │ │ ├── agent-card/ │ │ │ │ └── agent-card.tsx │ │ │ ├── agent-card-key/ │ │ │ │ └── agent-card-key.tsx │ │ │ ├── agent-content.tsx │ │ │ ├── agent-database-card.tsx │ │ │ ├── agent-database-columns.tsx │ │ │ ├── agent-modal-key/ │ │ │ │ └── agent-modal-key.tsx │ │ │ └── button-delete-agent/ │ │ │ ├── button-delete-agent.tsx │ │ │ └── delete-agent.action.ts │ │ ├── backup/ │ │ │ └── backup-button/ │ │ │ ├── backup-button.action.ts │ │ │ └── backup-button.tsx │ │ ├── common/ │ │ │ ├── logged-in/ │ │ │ │ ├── logged-in-button.server.tsx │ │ │ │ ├── logged-in-button.tsx │ │ │ │ └── logged-in-dropdown.tsx │ │ │ ├── profile/ │ │ │ │ ├── profile-modal.tsx │ │ │ │ └── profile-sidebar.tsx │ │ │ └── sidebar/ │ │ │ ├── app-sidebar.tsx │ │ │ ├── logo-sidebar.tsx │ │ │ ├── menu-sidebar-main.tsx │ │ │ ├── menu-sidebar.tsx │ │ │ ├── side-bar-footer-credit.tsx │ │ │ └── side-bar-logo.tsx │ │ ├── database/ │ │ │ ├── backup/ │ │ │ │ ├── actions/ │ │ │ │ │ ├── backup-actions-cell.tsx │ │ │ │ │ ├── backup-actions-form.tsx │ │ │ │ │ ├── backup-actions-modal.tsx │ │ │ │ │ ├── backup-actions.action.ts │ │ │ │ │ ├── backup-actions.schema.ts │ │ │ │ │ └── get-data.action.ts │ │ │ │ └── backup-modal-context.tsx │ │ │ ├── channels-policy/ │ │ │ │ ├── policy-form.tsx │ │ │ │ ├── policy-modal.tsx │ │ │ │ ├── policy.action.ts │ │ │ │ └── policy.schema.ts │ │ │ ├── cron-button/ │ │ │ │ ├── advanced-cron-select.tsx │ │ │ │ ├── cron-button.tsx │ │ │ │ ├── cron-input.tsx │ │ │ │ └── cron.action.ts │ │ │ ├── database-form/ │ │ │ │ ├── database-form.tsx │ │ │ │ ├── form-database.action.ts │ │ │ │ └── form-database.schema.ts │ │ │ ├── health/ │ │ │ │ └── health-modal.tsx │ │ │ ├── import/ │ │ │ │ ├── import-modal.tsx │ │ │ │ ├── upload-backup-zone.tsx │ │ │ │ └── upload-backup.action.ts │ │ │ ├── restore-form.schema.ts │ │ │ ├── restore-form.tsx │ │ │ └── retention-policy/ │ │ │ ├── backup-retention-settings-form.tsx │ │ │ ├── backup-retention-settings.action.tsx │ │ │ ├── backup-retention-settings.schema.ts │ │ │ ├── backup-retention-settings.tsx │ │ │ └── retention-policy-sheet.tsx │ │ ├── health/ │ │ │ └── heath-grid.tsx │ │ ├── organization/ │ │ │ ├── create-organisation-modal.tsx │ │ │ ├── delete-organization-button.tsx │ │ │ ├── migration/ │ │ │ │ ├── migration-flow.tsx │ │ │ │ ├── migration-tool.tsx │ │ │ │ ├── migration.action.ts │ │ │ │ ├── source-panel.tsx │ │ │ │ └── target-panel.tsx │ │ │ ├── organization-combobox.tsx │ │ │ ├── settings/ │ │ │ │ ├── columns-organization-members.tsx │ │ │ │ ├── member.schema.ts │ │ │ │ ├── settings-organization-members-table.tsx │ │ │ │ └── update-member.action.ts │ │ │ └── tabs/ │ │ │ ├── organization-channels-tab/ │ │ │ │ ├── organization-agents-tab.tsx │ │ │ │ ├── organization-notifiers-tab.tsx │ │ │ │ └── organization-storages-tab.tsx │ │ │ └── organization-tabs.tsx │ │ ├── profile/ │ │ │ ├── actions/ │ │ │ │ ├── avatar.action.ts │ │ │ │ ├── profile.action.ts │ │ │ │ ├── provider.action.ts │ │ │ │ └── security.action.ts │ │ │ ├── components/ │ │ │ │ ├── avatar-with-upload.tsx │ │ │ │ └── backup-codes-list.tsx │ │ │ ├── form/ │ │ │ │ ├── 2fa-form.tsx │ │ │ │ ├── 2fa.schema.ts │ │ │ │ ├── reset-password-form.tsx │ │ │ │ └── set-password-form.tsx │ │ │ ├── modal/ │ │ │ │ ├── disable-2fa-modal.tsx │ │ │ │ ├── reset-password-modal.tsx │ │ │ │ ├── set-password-modal.tsx │ │ │ │ ├── setup-2fa-modal.tsx │ │ │ │ └── view-backup-codes-modal.tsx │ │ │ ├── profile-account.tsx │ │ │ ├── profile-apperance.tsx │ │ │ ├── profile-general.tsx │ │ │ ├── profile-providers.tsx │ │ │ ├── profile-security.tsx │ │ │ └── schemas/ │ │ │ ├── account.schema.ts │ │ │ ├── general.schema.ts │ │ │ ├── provider.schema.ts │ │ │ └── security.schema.ts │ │ ├── projects/ │ │ │ ├── button-delete-project/ │ │ │ │ ├── button-delete-project.tsx │ │ │ │ └── delete-project.action.ts │ │ │ ├── database/ │ │ │ │ ├── database-backup-list.tsx │ │ │ │ ├── database-content.tsx │ │ │ │ ├── database-kpi.tsx │ │ │ │ ├── database-restore-list.tsx │ │ │ │ └── database-tabs.tsx │ │ │ └── project-card/ │ │ │ ├── project-card.tsx │ │ │ └── project-database-card.tsx │ │ └── statistics/ │ │ └── charts/ │ │ ├── evolution-line-chart.tsx │ │ ├── fake-data.ts │ │ ├── line-chart.tsx │ │ ├── percentage-line-chart.tsx │ │ └── utils/ │ │ └── placeholder.tsx │ ├── db/ │ │ ├── index.ts │ │ ├── migrations/ │ │ │ ├── 0000_awesome_nomad.sql │ │ │ ├── 0001_wealthy_leo.sql │ │ │ ├── 0002_pink_groot.sql │ │ │ ├── 0003_absent_maestro.sql │ │ │ ├── 0004_dazzling_hawkeye.sql │ │ │ ├── 0005_old_swarm.sql │ │ │ ├── 0006_moaning_pete_wisdom.sql │ │ │ ├── 0007_last_umar.sql │ │ │ ├── 0008_aberrant_scorpion.sql │ │ │ ├── 0009_lucky_edwin_jarvis.sql │ │ │ ├── 0010_past_trauma.sql │ │ │ ├── 0011_outgoing_blob.sql │ │ │ ├── 0012_peaceful_leopardon.sql │ │ │ ├── 0013_past_logan.sql │ │ │ ├── 0014_strong_galactus.sql │ │ │ ├── 0015_absurd_next_avengers.sql │ │ │ ├── 0016_broken_morgan_stark.sql │ │ │ ├── 0017_wild_purple_man.sql │ │ │ ├── 0018_smiling_mole_man.sql │ │ │ ├── 0019_overjoyed_butterfly.sql │ │ │ ├── 0020_low_giant_girl.sql │ │ │ ├── 0020_thankful_sunspot.sql │ │ │ ├── 0021_soft_blockbuster.sql │ │ │ ├── 0022_purple_retro_girl.sql │ │ │ ├── 0023_common_the_captain.sql │ │ │ ├── 0024_lush_blindfold.sql │ │ │ ├── 0025_past_franklin_richards.sql │ │ │ ├── 0026_storage-backend.sql │ │ │ ├── 0027_special_the_santerians.sql │ │ │ ├── 0028_graceful_ben_parker.sql │ │ │ ├── 0029_lowly_white_tiger.sql │ │ │ ├── 0030_dizzy_morlocks.sql │ │ │ ├── 0031_chemical_edwin_jarvis.sql │ │ │ ├── 0032_sparkling_thunderbolt_ross.sql │ │ │ ├── 0033_handy_valeria_richards.sql │ │ │ ├── 0034_lush_speed.sql │ │ │ ├── 0035_late_young_avengers.sql │ │ │ ├── 0036_chief_night_thrasher.sql │ │ │ ├── 0037_neat_talon.sql │ │ │ ├── 0038_misty_red_hulk.sql │ │ │ ├── 0039_conscious_solo.sql │ │ │ ├── 0040_quick_lester.sql │ │ │ ├── 0041_spooky_radioactive_man.sql │ │ │ ├── 0042_breezy_namora.sql │ │ │ ├── 0043_peaceful_chat.sql │ │ │ ├── 0044_steep_wiccan.sql │ │ │ ├── 0045_needy_martin_li.sql │ │ │ ├── 0046_mysterious_menace.sql │ │ │ ├── 0047_wet_carnage.sql │ │ │ ├── 0048_yellow_eddie_brock.sql │ │ │ ├── 0049_chief_terrax.sql │ │ │ ├── 0050_dark_saracen.sql │ │ │ ├── 0051_young_senator_kelly.sql │ │ │ ├── 0052_cute_punisher.sql │ │ │ ├── 0053_lyrical_union_jack.sql │ │ │ └── meta/ │ │ │ ├── 0000_snapshot.json │ │ │ ├── 0001_snapshot.json │ │ │ ├── 0002_snapshot.json │ │ │ ├── 0003_snapshot.json │ │ │ ├── 0004_snapshot.json │ │ │ ├── 0005_snapshot.json │ │ │ ├── 0006_snapshot.json │ │ │ ├── 0007_snapshot.json │ │ │ ├── 0008_snapshot.json │ │ │ ├── 0009_snapshot.json │ │ │ ├── 0010_snapshot.json │ │ │ ├── 0011_snapshot.json │ │ │ ├── 0012_snapshot.json │ │ │ ├── 0013_snapshot.json │ │ │ ├── 0014_snapshot.json │ │ │ ├── 0015_snapshot.json │ │ │ ├── 0016_snapshot.json │ │ │ ├── 0017_snapshot.json │ │ │ ├── 0018_snapshot.json │ │ │ ├── 0019_snapshot.json │ │ │ ├── 0020_snapshot.json │ │ │ ├── 0021_snapshot.json │ │ │ ├── 0022_snapshot.json │ │ │ ├── 0023_snapshot.json │ │ │ ├── 0024_snapshot.json │ │ │ ├── 0025_snapshot.json │ │ │ ├── 0026_snapshot.json │ │ │ ├── 0027_snapshot.json │ │ │ ├── 0028_snapshot.json │ │ │ ├── 0029_snapshot.json │ │ │ ├── 0030_snapshot.json │ │ │ ├── 0031_snapshot.json │ │ │ ├── 0032_snapshot.json │ │ │ ├── 0033_snapshot.json │ │ │ ├── 0034_snapshot.json │ │ │ ├── 0035_snapshot.json │ │ │ ├── 0036_snapshot.json │ │ │ ├── 0037_snapshot.json │ │ │ ├── 0038_snapshot.json │ │ │ ├── 0039_snapshot.json │ │ │ ├── 0040_snapshot.json │ │ │ ├── 0041_snapshot.json │ │ │ ├── 0042_snapshot.json │ │ │ ├── 0043_snapshot.json │ │ │ ├── 0044_snapshot.json │ │ │ ├── 0045_snapshot.json │ │ │ ├── 0046_snapshot.json │ │ │ ├── 0047_snapshot.json │ │ │ ├── 0048_snapshot.json │ │ │ ├── 0049_snapshot.json │ │ │ ├── 0050_snapshot.json │ │ │ ├── 0051_snapshot.json │ │ │ ├── 0052_snapshot.json │ │ │ ├── 0053_snapshot.json │ │ │ └── _journal.json │ │ ├── schema/ │ │ │ ├── 00_common.ts │ │ │ ├── 01_setting.ts │ │ │ ├── 02_user.ts │ │ │ ├── 03_organization.ts │ │ │ ├── 04_member.ts │ │ │ ├── 05_invitation.ts │ │ │ ├── 06_project.ts │ │ │ ├── 07_database.ts │ │ │ ├── 08_agent.ts │ │ │ ├── 09_notification-channel.ts │ │ │ ├── 10_alert-policy.ts │ │ │ ├── 11_notification-log.ts │ │ │ ├── 12_storage-channel.ts │ │ │ ├── 13_storage-policy.ts │ │ │ ├── 14_storage-backup.ts │ │ │ ├── 15_healthcheck-log.ts │ │ │ └── types.ts │ │ ├── services/ │ │ │ ├── agent.ts │ │ │ ├── backup.ts │ │ │ ├── database.ts │ │ │ ├── healthcheck.ts │ │ │ ├── notification-channel.ts │ │ │ ├── notification-log.ts │ │ │ ├── storage-channel.ts │ │ │ └── user.ts │ │ └── utils/ │ │ └── index.ts │ ├── env.mjs │ ├── features/ │ │ ├── agents/ │ │ │ ├── agents.action.ts │ │ │ ├── agents.schema.ts │ │ │ ├── components/ │ │ │ │ ├── agent-organizations.action.ts │ │ │ │ ├── agent-organizations.form.tsx │ │ │ │ ├── agent-organizations.schema.ts │ │ │ │ ├── agent.dialog.tsx │ │ │ │ └── agent.form.tsx │ │ │ └── hooks/ │ │ │ └── use-agent-update-check.ts │ │ ├── browser/ │ │ │ ├── theme-meta-updater-root.tsx │ │ │ └── theme-meta-updater.tsx │ │ ├── dashboard/ │ │ │ ├── backup/ │ │ │ │ └── columns.tsx │ │ │ ├── organization-cookie.ts │ │ │ └── restore/ │ │ │ ├── columns.tsx │ │ │ └── restore.action.ts │ │ ├── keys/ │ │ │ └── keys.action.ts │ │ ├── layout/ │ │ │ ├── Header.tsx │ │ │ ├── card-auth.tsx │ │ │ └── page.tsx │ │ ├── notifications/ │ │ │ ├── dispatch.ts │ │ │ ├── helpers.ts │ │ │ ├── providers/ │ │ │ │ ├── discord.ts │ │ │ │ ├── gotify.ts │ │ │ │ ├── index.ts │ │ │ │ ├── ntfy.ts │ │ │ │ ├── slack.ts │ │ │ │ ├── smtp.ts │ │ │ │ ├── telegram.ts │ │ │ │ └── webhook.ts │ │ │ └── types.ts │ │ ├── organization/ │ │ │ ├── components/ │ │ │ │ ├── edit-organization.dialog.tsx │ │ │ │ └── organization.form.tsx │ │ │ ├── organization.action.ts │ │ │ └── organization.schema.ts │ │ ├── projects/ │ │ │ ├── components/ │ │ │ │ ├── project.dialog.tsx │ │ │ │ └── project.form.tsx │ │ │ ├── projects.action.ts │ │ │ └── projects.schema.ts │ │ ├── shared/ │ │ │ └── event.ts │ │ ├── storages/ │ │ │ ├── dispatch.ts │ │ │ ├── helpers.ts │ │ │ ├── providers/ │ │ │ │ ├── google-drive/ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── local.ts │ │ │ │ └── s3.ts │ │ │ └── types.ts │ │ ├── theme/ │ │ │ ├── mode-toggle.tsx │ │ │ └── theme-provider.tsx │ │ ├── updates/ │ │ │ ├── components/ │ │ │ │ └── update-notification.tsx │ │ │ ├── hooks/ │ │ │ │ └── use-update-check.ts │ │ │ └── services/ │ │ │ └── github.ts │ │ └── upload/ │ │ └── public/ │ │ └── upload.action.ts │ ├── fonts/ │ │ └── fonts.ts │ ├── hooks/ │ │ ├── use-mobile.ts │ │ ├── use-mobile.tsx │ │ └── use-organization-permissions.ts │ ├── lib/ │ │ ├── acl/ │ │ │ └── organization-acl.ts │ │ ├── auth/ │ │ │ ├── auth-client.ts │ │ │ ├── auth.ts │ │ │ ├── config.ts │ │ │ ├── current-user.ts │ │ │ ├── oauth.ts │ │ │ ├── oidc.ts │ │ │ └── permissions.ts │ │ ├── email/ │ │ │ ├── helpers.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── logger.ts │ │ ├── safe-actions/ │ │ │ └── actions.ts │ │ ├── services.ts │ │ ├── tasks/ │ │ │ ├── cleaning/ │ │ │ │ └── index.ts │ │ │ ├── database/ │ │ │ │ ├── index.ts │ │ │ │ ├── retention-count.ts │ │ │ │ ├── retention-days.ts │ │ │ │ ├── retention-gsf.ts │ │ │ │ └── utils/ │ │ │ │ └── delete.ts │ │ │ └── index.ts │ │ ├── twx.tsx │ │ ├── utils.ts │ │ └── zod.ts │ ├── middleware/ │ │ ├── errorHandler.ts │ │ └── loggingMiddleware.ts │ ├── types/ │ │ ├── action-type.ts │ │ ├── auth.ts │ │ ├── common.ts │ │ └── next.ts │ └── utils/ │ ├── common.ts │ ├── cron.ts │ ├── date-formatting.ts │ ├── detection.ts │ ├── edge_key.ts │ ├── get-server-url.ts │ ├── init.ts │ ├── mock-data.ts │ ├── name-from-email.ts │ ├── os-parser.ts │ ├── password.ts │ ├── rsa-keys.ts │ ├── slugify.ts │ ├── text.ts │ └── verify-uuid.ts └── tsconfig.json