From 5787a6fe4481ac37da1a95f1e8be484d750fd045 Mon Sep 17 00:00:00 2001 From: Lucio Lelii Date: Wed, 16 Sep 2026 12:10:18 +0200 Subject: [PATCH] Add the SPDX licence header to every source file Mechanical: three comment lines at the top of every .ts, .html and .css under src, and nothing else. Split out from the licence commit so the files that carry an actual change stay readable in the history, and kept to its own commit because it moves the blame line on 390 files. The short SPDX form rather than the full GNU notice - it is machine-readable under REUSE, it satisfies the requirement to keep the licence notice intact, and it points at LICENSE-ADDENDUM instead of restating the attribution term in every file. The template and stylesheet headers do not reach the bundle: Angular discards template comments and the production build strips CSS ones. The one in index.html survives, since that file is served as written, which is no loss. Co-Authored-By: Claude Opus 5 (1M context) --- src/app/app.config.ts | 4 ++ src/app/app.html | 6 +++ src/app/app.routes.ts | 4 ++ src/app/app.spec.ts | 4 ++ src/app/app.ts | 4 ++ src/app/guards/admin-guard.spec.ts | 4 ++ src/app/guards/admin-guard.ts | 4 ++ src/app/guards/auth-guard.spec.ts | 4 ++ src/app/guards/auth-guard.ts | 4 ++ src/app/guards/session-guard.ts | 4 ++ .../interceptors/auth-token.interceptor.ts | 4 ++ src/app/layouts/admin-layout/admin-layout.css | 6 +++ .../layouts/admin-layout/admin-layout.html | 6 +++ src/app/layouts/admin-layout/admin-layout.ts | 4 ++ src/app/layouts/app-layout/app-layout.css | 6 +++ src/app/layouts/app-layout/app-layout.spec.ts | 4 ++ src/app/layouts/flow-editor/flow-editor.css | 6 +++ src/app/layouts/flow-editor/flow-editor.html | 6 +++ .../layouts/flow-editor/flow-editor.spec.ts | 4 ++ src/app/layouts/flow-editor/flow-editor.ts | 4 ++ .../layouts/tasks-executor/tasks-executor.css | 6 +++ .../tasks-executor/tasks-executor.html | 6 +++ .../tasks-executor/tasks-executor.spec.ts | 4 ++ .../layouts/tasks-executor/tasks-executor.ts | 4 ++ src/app/models/assistant.ts | 4 ++ src/app/models/bias-impact.spec.ts | 4 ++ src/app/models/bias-impact.ts | 4 ++ src/app/models/flow.spec.ts | 4 ++ src/app/models/flow.ts | 4 ++ src/app/models/llm-provider.ts | 4 ++ src/app/models/nodes.ts | 4 ++ src/app/models/project.ts | 4 ++ src/app/models/task-execution.spec.ts | 4 ++ src/app/models/task-execution.ts | 4 ++ src/app/models/user.ts | 4 ++ src/app/pages/admin/admin-access.util.spec.ts | 4 ++ src/app/pages/admin/admin-access.util.ts | 4 ++ .../admin-create-user/admin-create-user.css | 6 +++ .../admin-create-user/admin-create-user.html | 6 +++ .../admin-create-user/admin-create-user.ts | 4 ++ .../pages/admin/admin-stats/admin-stats.css | 6 +++ .../pages/admin/admin-stats/admin-stats.html | 6 +++ .../pages/admin/admin-stats/admin-stats.ts | 4 ++ .../admin-users-list/admin-users-list.css | 6 +++ .../admin-users-list/admin-users-list.html | 6 +++ .../admin-users-list/admin-users-list.ts | 4 ++ src/app/pages/auth/login/login.css | 6 +++ src/app/pages/auth/login/login.html | 6 +++ src/app/pages/auth/login/login.spec.ts | 4 ++ src/app/pages/auth/login/login.ts | 4 ++ src/app/pages/auth/signup/signup.css | 6 +++ src/app/pages/auth/signup/signup.html | 6 +++ src/app/pages/auth/signup/signup.spec.ts | 4 ++ src/app/pages/auth/signup/signup.ts | 4 ++ .../main/editor-sidebar/editor-sidebar.css | 6 +++ .../main/editor-sidebar/editor-sidebar.html | 6 +++ .../editor-sidebar/editor-sidebar.spec.ts | 4 ++ .../main/editor-sidebar/editor-sidebar.ts | 4 ++ src/app/services/admin/admin-call.base.ts | 4 ++ src/app/services/admin/admin-call.fake.ts | 4 ++ src/app/services/admin/admin-call.ts | 4 ++ src/app/services/admin/admin.ts | 4 ++ .../services/assistant/assistant-call.base.ts | 4 ++ .../assistant/assistant-call.fake.spec.ts | 4 ++ .../services/assistant/assistant-call.fake.ts | 4 ++ .../services/assistant/assistant-call.spec.ts | 4 ++ src/app/services/assistant/assistant-call.ts | 4 ++ src/app/services/assistant/assistant.ts | 4 ++ .../authorization/authorization-call.base.ts | 4 ++ .../authorization/authorization-call.fake.ts | 4 ++ .../authorization/authorization-call.ts | 4 ++ .../authorization/authorization.spec.ts | 4 ++ .../services/authorization/authorization.ts | 4 ++ .../bias/bias-comparison-view-state.spec.ts | 4 ++ .../bias/bias-comparison-view-state.ts | 4 ++ src/app/services/bias/bias-error.util.ts | 4 ++ src/app/services/bias/bias-flow.spec.ts | 4 ++ .../services/bias/bias-report-judge.spec.ts | 4 ++ src/app/services/bias/bias-report-judge.ts | 4 ++ .../services/bias/bias-reports-revision.ts | 4 ++ src/app/services/blocks/block-call.base.ts | 4 ++ src/app/services/blocks/blocks-call.fake.ts | 4 ++ src/app/services/blocks/blocks-call.spec.ts | 4 ++ src/app/services/blocks/blocks-call.ts | 4 ++ src/app/services/blocks/blocks.spec.ts | 4 ++ src/app/services/blocks/blocks.ts | 4 ++ .../containers/container-call.base.ts | 4 ++ .../containers/containers-call.fake.ts | 4 ++ .../containers/containers-call.spec.ts | 4 ++ .../services/containers/containers-call.ts | 4 ++ .../services/containers/containers.spec.ts | 4 ++ src/app/services/containers/containers.ts | 4 ++ .../dialogs/bias-compare-dialog.spec.ts | 4 ++ .../services/dialogs/bias-compare-dialog.ts | 4 ++ .../bias-impact-experiment-dialog.spec.ts | 4 ++ .../dialogs/bias-impact-experiment-dialog.ts | 4 ++ .../services/dialogs/bias-report-dialog.ts | 4 ++ .../dialogs/bias-rerun-dialog.spec.ts | 4 ++ src/app/services/dialogs/bias-rerun-dialog.ts | 4 ++ .../services/dialogs/confirm-dialog.spec.ts | 4 ++ src/app/services/dialogs/confirm-dialog.ts | 4 ++ .../dialogs/execution-error-dialog.ts | 4 ++ .../dialogs/human-interaction-dialog.ts | 4 ++ .../services/dialogs/node-settings-dialog.ts | 4 ++ .../dialogs/project-context-dialog.ts | 4 ++ .../services/dialogs/project-delete-dialog.ts | 4 ++ src/app/services/dialogs/project-dialog.ts | 4 ++ .../dialogs/subflow-preview-dialog.ts | 4 ++ src/app/services/files/file-download.ts | 4 ++ src/app/services/flows/flow-mapper.spec.ts | 4 ++ src/app/services/flows/flow-mapper.ts | 4 ++ src/app/services/flows/flow-transfer.spec.ts | 4 ++ src/app/services/flows/flow-transfer.ts | 4 ++ src/app/services/flows/flows-call.base.ts | 4 ++ .../services/flows/flows-call.fake.spec.ts | 4 ++ src/app/services/flows/flows-call.fake.ts | 4 ++ src/app/services/flows/flows-call.ts | 4 ++ src/app/services/flows/flows.spec.ts | 4 ++ src/app/services/flows/flows.ts | 4 ++ .../graph-selection/graph-selection.ts | 4 ++ .../execution-vault-credentials-call.base.ts | 4 ++ .../execution-vault-credentials-call.fake.ts | 4 ++ .../execution-vault-credentials-call.spec.ts | 4 ++ .../execution-vault-credentials-call.ts | 4 ++ .../execution-vault-credentials.ts | 4 ++ .../llm-provider/llm-provider-call.base.ts | 4 ++ .../llm-provider/llm-provider-call.fake.ts | 4 ++ .../llm-provider/llm-provider-call.spec.ts | 4 ++ .../llm-provider/llm-provider-call.ts | 4 ++ src/app/services/llm-provider/llm-provider.ts | 4 ++ .../notifications/notification.spec.ts | 4 ++ .../services/notifications/notification.ts | 4 ++ .../services/projects/project-mapper.spec.ts | 4 ++ src/app/services/projects/project-mapper.ts | 4 ++ .../services/projects/projects-call.base.ts | 4 ++ .../services/projects/projects-call.fake.ts | 4 ++ src/app/services/projects/projects-call.ts | 4 ++ src/app/services/projects/projects.spec.ts | 4 ++ src/app/services/projects/projects.ts | 4 ++ .../retriever/field-retriever-call.base.ts | 4 ++ .../retriever/field-retriever-call.fake.ts | 4 ++ .../retriever/field-retriever-call.ts | 4 ++ .../retriever/field-retriever.spec.ts | 4 ++ src/app/services/retriever/field-retriever.ts | 4 ++ .../services/retriever/retriever-url.spec.ts | 4 ++ src/app/services/retriever/retriever-url.ts | 4 ++ src/app/services/shared/catalog-store.ts | 4 ++ src/app/services/shared/deep-clone.ts | 4 ++ src/app/services/shared/empty-node-cache.ts | 4 ++ .../services/shared/flow-node-mapping.spec.ts | 4 ++ src/app/services/shared/flow-node-mapping.ts | 4 ++ .../services/shared/http-error.util.spec.ts | 4 ++ src/app/services/shared/http-error.util.ts | 4 ++ .../services/shared/pending-sync-counter.ts | 4 ++ .../task-executions-call.base.ts | 4 ++ .../task-executions-call.fake.ts | 4 ++ .../task-executions-call.spec.ts | 4 ++ .../task-executions/task-executions-call.ts | 4 ++ .../task-executions/task-executions.spec.ts | 4 ++ .../task-executions/task-executions.ts | 4 ++ .../vault/credential-error-messages.ts | 4 ++ src/app/services/vault/vault-call.base.ts | 4 ++ src/app/services/vault/vault-call.fake.ts | 4 ++ src/app/services/vault/vault-call.spec.ts | 4 ++ src/app/services/vault/vault-call.ts | 4 ++ .../services/vault/vault-fake-store.spec.ts | 4 ++ src/app/services/vault/vault-fake-store.ts | 4 ++ src/app/services/vault/vault.ts | 4 ++ .../admin-reset-password-dialog.css | 6 +++ .../admin-reset-password-dialog.html | 6 +++ .../admin-reset-password-dialog.ts | 4 ++ .../behavioral-probe-editor.css | 6 +++ .../behavioral-probe-editor.html | 6 +++ .../behavioral-probe-editor.spec.ts | 4 ++ .../behavioral-probe-editor.ts | 4 ++ .../bias-annotations/bias-annotations.css | 6 +++ .../bias-annotations/bias-annotations.html | 6 +++ .../bias-annotations/bias-annotations.spec.ts | 4 ++ .../bias-annotations/bias-annotations.ts | 4 ++ .../bias-compare-dialog.css | 6 +++ .../bias-compare-dialog.html | 6 +++ .../bias-compare-dialog.spec.ts | 4 ++ .../bias-compare-dialog.ts | 4 ++ .../bias-impact-experiment-dialog.css | 6 +++ .../bias-impact-experiment-dialog.html | 6 +++ .../bias-impact-experiment-dialog.ts | 4 ++ .../bias-impact-report-list.css | 6 +++ .../bias-impact-report-list.html | 6 +++ .../bias-impact-report-list.spec.ts | 4 ++ .../bias-impact-report-list.ts | 4 ++ .../bias-impact-report-viewer.css | 6 +++ .../bias-impact-report-viewer.html | 6 +++ .../bias-impact-report-viewer.spec.ts | 4 ++ .../bias-impact-report-viewer.ts | 4 ++ .../bias-output-diff-fields.spec.ts | 4 ++ .../bias-output-diff-fields.ts | 4 ++ .../bias-output-diff/bias-output-diff.css | 6 +++ .../bias-output-diff/bias-output-diff.html | 6 +++ .../bias-output-diff/bias-output-diff.spec.ts | 4 ++ .../bias-output-diff/bias-output-diff.ts | 4 ++ .../bias-report-dialog/bias-report-dialog.css | 6 +++ .../bias-report-dialog.html | 6 +++ .../bias-report-dialog.spec.ts | 4 ++ .../bias-report-dialog/bias-report-dialog.ts | 4 ++ .../bias-rerun-dialog/bias-rerun-dialog.css | 6 +++ .../bias-rerun-dialog/bias-rerun-dialog.html | 6 +++ .../bias-rerun-dialog/bias-rerun-dialog.ts | 4 ++ src/app/shared/blocks-list/block-drag.ts | 4 ++ src/app/shared/blocks-list/blocks-list.css | 6 +++ src/app/shared/blocks-list/blocks-list.html | 6 +++ .../shared/blocks-list/blocks-list.spec.ts | 4 ++ src/app/shared/blocks-list/blocks-list.ts | 4 ++ .../change-password-dialog.css | 6 +++ .../change-password-dialog.html | 6 +++ .../change-password-dialog.ts | 4 ++ .../shared/confirm-dialog/confirm-dialog.html | 6 +++ .../confirm-dialog/confirm-dialog.spec.ts | 4 ++ .../shared/confirm-dialog/confirm-dialog.ts | 4 ++ .../containers-list/containers-list.css | 6 +++ .../containers-list/containers-list.html | 6 +++ .../shared/containers-list/containers-list.ts | 4 ++ .../custom-connection.spec.ts | 4 ++ .../custom-connection/custom-connection.ts | 4 ++ src/app/shared/custom-socket/custom-socket.ts | 4 ++ .../execution-compare-diff.spec.ts | 4 ++ .../execution-compare-diff.ts | 4 ++ .../execution-compare-view.css | 6 +++ .../execution-compare-view.html | 6 +++ .../execution-compare-view.spec.ts | 4 ++ .../execution-compare-view.ts | 4 ++ .../execution-compare.spec.ts | 4 ++ .../execution-compare/execution-compare.ts | 4 ++ .../execution-error-dialog.css | 6 +++ .../execution-error-dialog.html | 6 +++ .../execution-error-dialog.ts | 4 ++ .../shared/execution-tree/execution-tree.css | 6 +++ .../shared/execution-tree/execution-tree.html | 6 +++ .../execution-tree/execution-tree.spec.ts | 4 ++ .../shared/execution-tree/execution-tree.ts | 4 ++ src/app/shared/feature-flags.ts | 4 ++ .../shared/flow-assistant/flow-assistant.css | 6 +++ .../shared/flow-assistant/flow-assistant.html | 6 +++ .../flow-assistant/flow-assistant.spec.ts | 4 ++ .../shared/flow-assistant/flow-assistant.ts | 4 ++ .../flow-validation-panel.css | 6 +++ .../flow-validation-panel.html | 6 +++ .../flow-validation-panel.ts | 4 ++ .../shared/flows-list/flow-grouping.spec.ts | 4 ++ src/app/shared/flows-list/flow-grouping.ts | 4 ++ .../shared/flows-list/flow-item/flow-item.css | 6 +++ .../flows-list/flow-item/flow-item.html | 6 +++ .../flows-list/flow-item/flow-item.spec.ts | 4 ++ .../shared/flows-list/flow-item/flow-item.ts | 4 ++ .../flows-list/flows-group/flows-group.css | 6 +++ .../flows-list/flows-group/flows-group.html | 6 +++ .../flows-group/flows-group.spec.ts | 4 ++ .../flows-list/flows-group/flows-group.ts | 4 ++ src/app/shared/flows-list/flows-list.css | 6 +++ src/app/shared/flows-list/flows-list.html | 6 +++ src/app/shared/flows-list/flows-list.spec.ts | 4 ++ src/app/shared/flows-list/flows-list.ts | 4 ++ .../global-notification.ts | 4 ++ src/app/shared/group-holder/group-holder.css | 6 +++ src/app/shared/group-holder/group-holder.html | 6 +++ .../shared/group-holder/group-holder.spec.ts | 4 ++ src/app/shared/group-holder/group-holder.ts | 4 ++ .../human-decision-interaction.css | 6 +++ .../human-decision-interaction.html | 6 +++ .../human-decision-interaction.spec.ts | 4 ++ .../human-decision-interaction.ts | 4 ++ .../human-interaction-dialog.html | 6 +++ .../human-interaction-dialog.spec.ts | 4 ++ .../human-interaction-dialog.ts | 4 ++ .../human-text-interaction.html | 6 +++ .../human-text-interaction.spec.ts | 4 ++ .../human-text-interaction.ts | 4 ++ src/app/shared/json-viewer/json-viewer.css | 6 +++ src/app/shared/json-viewer/json-viewer.html | 6 +++ .../shared/json-viewer/json-viewer.spec.ts | 4 ++ src/app/shared/json-viewer/json-viewer.ts | 4 ++ .../llm-descriptor-settings.spec.ts | 4 ++ .../llm-descriptor-settings.ts | 4 ++ src/app/shared/modal-shell/modal-shell.css | 6 +++ src/app/shared/modal-shell/modal-shell.html | 6 +++ .../shared/modal-shell/modal-shell.spec.ts | 4 ++ src/app/shared/modal-shell/modal-shell.ts | 4 ++ .../node-settings-dialog.html | 6 +++ .../node-settings-dialog.spec.ts | 4 ++ .../node-settings-dialog.ts | 4 ++ .../nodes/container-node/container-node.css | 6 +++ .../nodes/container-node/container-node.html | 6 +++ .../container-node/container-node.spec.ts | 4 ++ .../nodes/container-node/container-node.ts | 4 ++ .../shared/nodes/flow-data-schema-fields.ts | 4 ++ .../nodes/generic-node/generic-node.css | 6 +++ .../nodes/generic-node/generic-node.html | 6 +++ .../nodes/generic-node/generic-node.spec.ts | 4 ++ .../shared/nodes/generic-node/generic-node.ts | 4 ++ .../nodes/node-focus-modal-controller.spec.ts | 4 ++ .../nodes/node-focus-modal-controller.ts | 4 ++ src/app/shared/nodes/node-utility.spec.ts | 4 ++ src/app/shared/nodes/node-utility.ts | 4 ++ .../shared/nodes/schema-driven-fields.spec.ts | 4 ++ src/app/shared/nodes/schema-driven-fields.ts | 4 ++ .../shared/nodes/schema-requirements.spec.ts | 4 ++ src/app/shared/nodes/schema-requirements.ts | 4 ++ .../nodes/task-step-node/task-step-node.css | 6 +++ .../nodes/task-step-node/task-step-node.html | 6 +++ .../task-step-node/task-step-node.spec.ts | 4 ++ .../nodes/task-step-node/task-step-node.ts | 4 ++ src/app/shared/ordering/ordering.css | 6 +++ src/app/shared/ordering/ordering.html | 6 +++ src/app/shared/ordering/ordering.spec.ts | 4 ++ src/app/shared/ordering/ordering.ts | 4 ++ src/app/shared/password-dialog-chrome.css | 6 +++ .../project-context-dialog.css | 6 +++ .../project-context-dialog.html | 6 +++ .../project-context-dialog.ts | 4 ++ .../project-delete-dialog.css | 6 +++ .../project-delete-dialog.html | 6 +++ .../project-delete-dialog.spec.ts | 4 ++ .../project-delete-dialog.ts | 4 ++ .../shared/project-dialog/project-dialog.css | 6 +++ .../shared/project-dialog/project-dialog.html | 6 +++ .../project-dialog/project-dialog.spec.ts | 4 ++ .../shared/project-dialog/project-dialog.ts | 4 ++ src/app/shared/rete-editor/rete-editor.css | 6 +++ src/app/shared/rete-editor/rete-editor.html | 6 +++ .../shared/rete-editor/rete-editor.spec.ts | 4 ++ src/app/shared/rete-editor/rete-editor.ts | 4 ++ .../side-effect-policy-selector.css | 6 +++ .../side-effect-policy-selector.html | 6 +++ .../side-effect-policy-selector.spec.ts | 4 ++ .../side-effect-policy-selector.ts | 4 ++ .../subflow-preview-dialog.css | 6 +++ .../subflow-preview-dialog.html | 6 +++ .../subflow-preview-dialog.ts | 4 ++ .../input-copy.spec.ts | 4 ++ .../task-execution-inputs-panel/input-copy.ts | 4 ++ .../task-execution-inputs-panel.css | 6 +++ .../task-execution-inputs-panel.html | 6 +++ .../task-execution-inputs-panel.spec.ts | 4 ++ .../task-execution-inputs-panel.ts | 4 ++ .../execution-graph.spec.ts | 4 ++ .../task-execution-viewer/execution-graph.ts | 4 ++ .../execution-viewer.utils.spec.ts | 4 ++ .../execution-viewer.utils.ts | 4 ++ .../task-execution-viewer.css | 6 +++ .../task-execution-viewer.html | 6 +++ .../task-execution-viewer.ts | 4 ++ .../tasks-executions-list.css | 6 +++ .../tasks-executions-list.html | 6 +++ .../tasks-executions-list.spec.ts | 4 ++ .../tasks-executions-list.ts | 4 ++ .../template-placeholder-text.css | 6 +++ .../template-placeholder-text.html | 6 +++ .../template-placeholder-text.spec.ts | 4 ++ .../template-placeholder-text.ts | 4 ++ .../template-placeholder.spec.ts | 4 ++ .../template-placeholder.ts | 4 ++ .../shared/title-toolbar/title-toolbar.css | 6 +++ .../shared/title-toolbar/title-toolbar.html | 6 +++ .../title-toolbar/title-toolbar.spec.ts | 4 ++ src/app/shared/title-toolbar/title-toolbar.ts | 4 ++ src/app/stores/assistant-session-store.ts | 4 ++ src/app/stores/flow-editor.spec.ts | 4 ++ src/app/stores/flow-editor.ts | 4 ++ src/app/stores/list-state.spec.ts | 4 ++ src/app/stores/list-state.ts | 4 ++ src/app/utilities/flow-subflows.spec.ts | 4 ++ src/app/utilities/flow-subflows.ts | 4 ++ src/app/utilities/form-utility.ts | 40 ++++++++++--------- src/app/utilities/list-state-holder.ts | 4 ++ .../password-form-validators.spec.ts | 4 ++ src/app/utilities/password-form-validators.ts | 4 ++ src/app/utilities/password-validation.ts | 4 ++ src/app/utilities/rete-editor.spec.ts | 4 ++ src/app/utilities/rete-editor.ts | 4 ++ src/app/utilities/temporary-signal.spec.ts | 4 ++ src/app/utilities/temporary-signal.ts | 4 ++ src/environments/environment.development.ts | 4 ++ src/environments/environment.staging.ts | 4 ++ src/environments/environment.ts | 4 ++ src/index.html | 6 +++ src/main.ts | 4 ++ src/runtime-config.d.ts | 4 ++ src/styles.css | 6 +++ 387 files changed, 1780 insertions(+), 18 deletions(-) diff --git a/src/app/app.config.ts b/src/app/app.config.ts index 21e1cde..f1526b9 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; import { provideHttpClient, withInterceptors, withXsrfConfiguration } from '@angular/common/http'; import { provideRouter } from '@angular/router'; diff --git a/src/app/app.html b/src/app/app.html index c6644f3..487f984 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -1,3 +1,9 @@ + + diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 2f2a6fa..45181a9 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { Routes } from '@angular/router'; import { Login } from '@pages/auth/login/login'; import { Signup } from '@pages/auth/signup/signup'; diff --git a/src/app/app.spec.ts b/src/app/app.spec.ts index 0987d8f..05229f1 100644 --- a/src/app/app.spec.ts +++ b/src/app/app.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { TestBed } from '@angular/core/testing'; import { App } from './app'; diff --git a/src/app/app.ts b/src/app/app.ts index a53df2c..c23b90d 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ChangeDetectionStrategy, Component, signal } from '@angular/core'; import { RouterOutlet } from '@angular/router'; import { ConfirmDialogHostComponent } from '@shared/confirm-dialog/confirm-dialog'; diff --git a/src/app/guards/admin-guard.spec.ts b/src/app/guards/admin-guard.spec.ts index 32c7d9e..1325f1f 100644 --- a/src/app/guards/admin-guard.spec.ts +++ b/src/app/guards/admin-guard.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { TestBed } from '@angular/core/testing'; import { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; import { Authorization } from '@services/authorization/authorization'; diff --git a/src/app/guards/admin-guard.ts b/src/app/guards/admin-guard.ts index eb8da11..26be09c 100644 --- a/src/app/guards/admin-guard.ts +++ b/src/app/guards/admin-guard.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CanActivateFn } from '@angular/router'; import { createSessionGuard } from './session-guard'; diff --git a/src/app/guards/auth-guard.spec.ts b/src/app/guards/auth-guard.spec.ts index 0a7c610..7604fa8 100644 --- a/src/app/guards/auth-guard.spec.ts +++ b/src/app/guards/auth-guard.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { TestBed } from '@angular/core/testing'; import { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; import { Authorization } from '@services/authorization/authorization'; diff --git a/src/app/guards/auth-guard.ts b/src/app/guards/auth-guard.ts index 2e884fc..896a27c 100644 --- a/src/app/guards/auth-guard.ts +++ b/src/app/guards/auth-guard.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CanActivateFn } from '@angular/router'; import { createSessionGuard } from './session-guard'; diff --git a/src/app/guards/session-guard.ts b/src/app/guards/session-guard.ts index 8414908..c39077d 100644 --- a/src/app/guards/session-guard.ts +++ b/src/app/guards/session-guard.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { inject } from '@angular/core'; import { CanActivateFn, Router } from '@angular/router'; import { Authorization } from '@services/authorization/authorization'; diff --git a/src/app/interceptors/auth-token.interceptor.ts b/src/app/interceptors/auth-token.interceptor.ts index aea7dae..07cecfc 100644 --- a/src/app/interceptors/auth-token.interceptor.ts +++ b/src/app/interceptors/auth-token.interceptor.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { HttpErrorResponse, HttpInterceptorFn } from '@angular/common/http'; import { inject } from '@angular/core'; import { Router } from '@angular/router'; diff --git a/src/app/layouts/admin-layout/admin-layout.css b/src/app/layouts/admin-layout/admin-layout.css index c3f15ba..3ede811 100644 --- a/src/app/layouts/admin-layout/admin-layout.css +++ b/src/app/layouts/admin-layout/admin-layout.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + :host { display: flex; flex-direction: column; diff --git a/src/app/layouts/admin-layout/admin-layout.html b/src/app/layouts/admin-layout/admin-layout.html index f479be1..f8c536d 100644 --- a/src/app/layouts/admin-layout/admin-layout.html +++ b/src/app/layouts/admin-layout/admin-layout.html @@ -1,3 +1,9 @@ + +
diff --git a/src/app/layouts/admin-layout/admin-layout.ts b/src/app/layouts/admin-layout/admin-layout.ts index 6667e50..0dccb6a 100644 --- a/src/app/layouts/admin-layout/admin-layout.ts +++ b/src/app/layouts/admin-layout/admin-layout.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component } from '@angular/core'; import { MatIconModule } from '@angular/material/icon'; diff --git a/src/app/layouts/app-layout/app-layout.css b/src/app/layouts/app-layout/app-layout.css index 0a9c1c1..340f5e6 100644 --- a/src/app/layouts/app-layout/app-layout.css +++ b/src/app/layouts/app-layout/app-layout.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + /* Header fisso */ .app-header { font-family: 'Roboto', sans-serif; diff --git a/src/app/layouts/app-layout/app-layout.spec.ts b/src/app/layouts/app-layout/app-layout.spec.ts index 9b70eb5..c2cdcfb 100644 --- a/src/app/layouts/app-layout/app-layout.spec.ts +++ b/src/app/layouts/app-layout/app-layout.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ComponentFixture, TestBed } from '@angular/core/testing'; import { signal } from '@angular/core'; import { provideRouter } from '@angular/router'; diff --git a/src/app/layouts/flow-editor/flow-editor.css b/src/app/layouts/flow-editor/flow-editor.css index 3bbe7d5..d918f41 100644 --- a/src/app/layouts/flow-editor/flow-editor.css +++ b/src/app/layouts/flow-editor/flow-editor.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + :host { display: flex; flex: 1 1 auto; diff --git a/src/app/layouts/flow-editor/flow-editor.html b/src/app/layouts/flow-editor/flow-editor.html index 03ad942..f79e570 100644 --- a/src/app/layouts/flow-editor/flow-editor.html +++ b/src/app/layouts/flow-editor/flow-editor.html @@ -1,3 +1,9 @@ + +
diff --git a/src/app/layouts/flow-editor/flow-editor.spec.ts b/src/app/layouts/flow-editor/flow-editor.spec.ts index 0c936eb..b2ca109 100644 --- a/src/app/layouts/flow-editor/flow-editor.spec.ts +++ b/src/app/layouts/flow-editor/flow-editor.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AssistantSessionStore, AssistantSessionSnapshot } from '@stores/assistant-session-store'; import { EditorStateHolder } from '@stores/flow-editor'; diff --git a/src/app/layouts/flow-editor/flow-editor.ts b/src/app/layouts/flow-editor/flow-editor.ts index 3186161..4c7f94c 100644 --- a/src/app/layouts/flow-editor/flow-editor.ts +++ b/src/app/layouts/flow-editor/flow-editor.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, HostListener, ViewChild, computed, effect, inject, signal } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; diff --git a/src/app/layouts/tasks-executor/tasks-executor.css b/src/app/layouts/tasks-executor/tasks-executor.css index 301f544..e89b72f 100644 --- a/src/app/layouts/tasks-executor/tasks-executor.css +++ b/src/app/layouts/tasks-executor/tasks-executor.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + :host { display: block; height: 100%; diff --git a/src/app/layouts/tasks-executor/tasks-executor.html b/src/app/layouts/tasks-executor/tasks-executor.html index 1adef2b..600199f 100644 --- a/src/app/layouts/tasks-executor/tasks-executor.html +++ b/src/app/layouts/tasks-executor/tasks-executor.html @@ -1,3 +1,9 @@ + +
diff --git a/src/app/layouts/tasks-executor/tasks-executor.spec.ts b/src/app/layouts/tasks-executor/tasks-executor.spec.ts index 6f248a2..416e416 100644 --- a/src/app/layouts/tasks-executor/tasks-executor.spec.ts +++ b/src/app/layouts/tasks-executor/tasks-executor.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ComponentFixture, TestBed } from '@angular/core/testing'; import { signal } from '@angular/core'; import { ActivatedRoute, convertToParamMap, provideRouter, Router } from '@angular/router'; diff --git a/src/app/layouts/tasks-executor/tasks-executor.ts b/src/app/layouts/tasks-executor/tasks-executor.ts index 2fd7820..4b67bdc 100644 --- a/src/app/layouts/tasks-executor/tasks-executor.ts +++ b/src/app/layouts/tasks-executor/tasks-executor.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ChangeDetectionStrategy, Component, diff --git a/src/app/models/assistant.ts b/src/app/models/assistant.ts index 170d412..d486ce1 100644 --- a/src/app/models/assistant.ts +++ b/src/app/models/assistant.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { FlowData, FlowStatus } from '@models/flow'; export type AssistantIntent = 'draft' | 'refine' | 'fix' | 'explain'; diff --git a/src/app/models/bias-impact.spec.ts b/src/app/models/bias-impact.spec.ts index d2d78c2..9917e7b 100644 --- a/src/app/models/bias-impact.spec.ts +++ b/src/app/models/bias-impact.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { BIAS_EXPERIMENT_ERROR_CODES, BIAS_PROBE_ERROR_CODES, BiasImpactJob, BiasImpactReport, activeAnnotationIdsFor, biasInterventionMix, isBiasVariantContext } from './bias-impact'; import { BiasBehavioralProbe, isProbeExecutable } from './flow'; import { TaskExecution } from './task-execution'; diff --git a/src/app/models/bias-impact.ts b/src/app/models/bias-impact.ts index 3b27878..d753e30 100644 --- a/src/app/models/bias-impact.ts +++ b/src/app/models/bias-impact.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { BiasActivationMode, LLMDescriptor } from './flow'; export type BiasInterventionDirection = 'BIAS' | 'MITIGATION' | 'BOTH'; diff --git a/src/app/models/flow.spec.ts b/src/app/models/flow.spec.ts index f79150a..1707f60 100644 --- a/src/app/models/flow.spec.ts +++ b/src/app/models/flow.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { normalizeFlowValidationErrors } from './flow'; describe('normalizeFlowValidationErrors', () => { diff --git a/src/app/models/flow.ts b/src/app/models/flow.ts index c09044c..4a649ba 100644 --- a/src/app/models/flow.ts +++ b/src/app/models/flow.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + export type FlowVisibility = 'PUBLIC' | 'PRIVATE'; diff --git a/src/app/models/llm-provider.ts b/src/app/models/llm-provider.ts index 67eeebf..a1635b5 100644 --- a/src/app/models/llm-provider.ts +++ b/src/app/models/llm-provider.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + export type LlmProviderCapability = { name: string; requiresCredential: boolean; diff --git a/src/app/models/nodes.ts b/src/app/models/nodes.ts index 8107b6c..c0f227a 100644 --- a/src/app/models/nodes.ts +++ b/src/app/models/nodes.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { GetSchemes, ClassicPreset } from "rete"; import { FlowData, FlowNode } from "./flow"; diff --git a/src/app/models/project.ts b/src/app/models/project.ts index 96427c4..097f16c 100644 --- a/src/app/models/project.ts +++ b/src/app/models/project.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + /** The value types a project shared-context entry can hold - mirrors the backend IOType enum. */ export type ProjectContextEntryType = 'TEXT' | 'BOOLEAN' | 'FILE' | 'CSV' | 'JSON'; diff --git a/src/app/models/task-execution.spec.ts b/src/app/models/task-execution.spec.ts index 9cafedd..c1909df 100644 --- a/src/app/models/task-execution.spec.ts +++ b/src/app/models/task-execution.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { normalizeExecutionOutcomes } from './task-execution'; describe('normalizeExecutionOutcomes', () => { diff --git a/src/app/models/task-execution.ts b/src/app/models/task-execution.ts index 93ec750..ccb6506 100644 --- a/src/app/models/task-execution.ts +++ b/src/app/models/task-execution.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { FileInputConstraints, FlowBlockConnection, diff --git a/src/app/models/user.ts b/src/app/models/user.ts index 61c87da..2a1c35a 100644 --- a/src/app/models/user.ts +++ b/src/app/models/user.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + export type UserRole = 'USER' | 'ADMIN'; export type User = { diff --git a/src/app/pages/admin/admin-access.util.spec.ts b/src/app/pages/admin/admin-access.util.spec.ts index 5144c4a..ed67e79 100644 --- a/src/app/pages/admin/admin-access.util.spec.ts +++ b/src/app/pages/admin/admin-access.util.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { Router } from '@angular/router'; import { vi } from 'vitest'; import { redirectOnAdminAccessDenied } from './admin-access.util'; diff --git a/src/app/pages/admin/admin-access.util.ts b/src/app/pages/admin/admin-access.util.ts index f5074bd..f4b59b9 100644 --- a/src/app/pages/admin/admin-access.util.ts +++ b/src/app/pages/admin/admin-access.util.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { Router } from '@angular/router'; /** diff --git a/src/app/pages/admin/admin-create-user/admin-create-user.css b/src/app/pages/admin/admin-create-user/admin-create-user.css index 825a871..b883e26 100644 --- a/src/app/pages/admin/admin-create-user/admin-create-user.css +++ b/src/app/pages/admin/admin-create-user/admin-create-user.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + .admin-create-user-page { display: flex; flex-direction: column; diff --git a/src/app/pages/admin/admin-create-user/admin-create-user.html b/src/app/pages/admin/admin-create-user/admin-create-user.html index 92542da..609717e 100644 --- a/src/app/pages/admin/admin-create-user/admin-create-user.html +++ b/src/app/pages/admin/admin-create-user/admin-create-user.html @@ -1,3 +1,9 @@ + +
diff --git a/src/app/pages/admin/admin-create-user/admin-create-user.ts b/src/app/pages/admin/admin-create-user/admin-create-user.ts index 60d5b0a..e67caa4 100644 --- a/src/app/pages/admin/admin-create-user/admin-create-user.ts +++ b/src/app/pages/admin/admin-create-user/admin-create-user.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core'; import { Field, form, minLength, required, validate } from '@angular/forms/signals'; diff --git a/src/app/pages/admin/admin-stats/admin-stats.css b/src/app/pages/admin/admin-stats/admin-stats.css index 0d39d00..9cd176e 100644 --- a/src/app/pages/admin/admin-stats/admin-stats.css +++ b/src/app/pages/admin/admin-stats/admin-stats.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + .admin-stats-page { display: flex; flex-direction: column; diff --git a/src/app/pages/admin/admin-stats/admin-stats.html b/src/app/pages/admin/admin-stats/admin-stats.html index b8e90c9..f06f679 100644 --- a/src/app/pages/admin/admin-stats/admin-stats.html +++ b/src/app/pages/admin/admin-stats/admin-stats.html @@ -1,3 +1,9 @@ + +
diff --git a/src/app/pages/admin/admin-stats/admin-stats.ts b/src/app/pages/admin/admin-stats/admin-stats.ts index 19c369e..496562c 100644 --- a/src/app/pages/admin/admin-stats/admin-stats.ts +++ b/src/app/pages/admin/admin-stats/admin-stats.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; diff --git a/src/app/pages/admin/admin-users-list/admin-users-list.css b/src/app/pages/admin/admin-users-list/admin-users-list.css index 2139598..206eaf2 100644 --- a/src/app/pages/admin/admin-users-list/admin-users-list.css +++ b/src/app/pages/admin/admin-users-list/admin-users-list.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + .admin-users-list-page { display: flex; flex-direction: column; diff --git a/src/app/pages/admin/admin-users-list/admin-users-list.html b/src/app/pages/admin/admin-users-list/admin-users-list.html index 2b881ce..31c113a 100644 --- a/src/app/pages/admin/admin-users-list/admin-users-list.html +++ b/src/app/pages/admin/admin-users-list/admin-users-list.html @@ -1,3 +1,9 @@ + +
diff --git a/src/app/pages/admin/admin-users-list/admin-users-list.ts b/src/app/pages/admin/admin-users-list/admin-users-list.ts index 088228b..5d84b15 100644 --- a/src/app/pages/admin/admin-users-list/admin-users-list.ts +++ b/src/app/pages/admin/admin-users-list/admin-users-list.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; diff --git a/src/app/pages/auth/login/login.css b/src/app/pages/auth/login/login.css index 6589d14..aae9e3d 100644 --- a/src/app/pages/auth/login/login.css +++ b/src/app/pages/auth/login/login.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + .leaving { opacity: 0; transform: translateY(20px); diff --git a/src/app/pages/auth/login/login.html b/src/app/pages/auth/login/login.html index 9288fa8..8d40492 100644 --- a/src/app/pages/auth/login/login.html +++ b/src/app/pages/auth/login/login.html @@ -1,3 +1,9 @@ + + @if (error()) {
diff --git a/src/app/pages/auth/login/login.spec.ts b/src/app/pages/auth/login/login.spec.ts index a0fbd97..8b0a416 100644 --- a/src/app/pages/auth/login/login.spec.ts +++ b/src/app/pages/auth/login/login.spec.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ComponentFixture, TestBed } from '@angular/core/testing'; import { provideRouter } from '@angular/router'; import { Authorization } from '@services/authorization/authorization'; diff --git a/src/app/pages/auth/login/login.ts b/src/app/pages/auth/login/login.ts index aa8f113..ee0bbc1 100644 --- a/src/app/pages/auth/login/login.ts +++ b/src/app/pages/auth/login/login.ts @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR +// SPDX-License-Identifier: AGPL-3.0-or-later +// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + import { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; diff --git a/src/app/pages/auth/signup/signup.css b/src/app/pages/auth/signup/signup.css index 0c61fc7..07ca581 100644 --- a/src/app/pages/auth/signup/signup.css +++ b/src/app/pages/auth/signup/signup.css @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2025-2026 Lucio Lelii - ISTI-CNR + * SPDX-License-Identifier: AGPL-3.0-or-later + * Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM. + */ + .signup-page { display: flex; align-items: center; diff --git a/src/app/pages/auth/signup/signup.html b/src/app/pages/auth/signup/signup.html index fddbd6b..f2c2837 100644 --- a/src/app/pages/auth/signup/signup.html +++ b/src/app/pages/auth/signup/signup.html @@ -1,3 +1,9 @@ + +