29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
// SPDX-FileCopyrightText: 2025-2026 Lucio Lelii <lucio.lelii@isti.cnr.it> - ISTI-CNR
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
// Attribution term under AGPL-3.0 section 7(b): see LICENSE-ADDENDUM.
|
|
|
|
import { BiasAnnotationsDescriptor, BlockType, BlockTypeName, FlowBlock } from "@models/flow";
|
|
import { BiasCapabilities } from "@models/bias-impact";
|
|
import { Observable } from "rxjs";
|
|
|
|
export type BlockDraftContext = {
|
|
flowId?: string | null;
|
|
replacesBlockId?: string | null;
|
|
};
|
|
|
|
export abstract class BlocksCallServiceBase {
|
|
|
|
abstract retrieveAllBlocksTypes() : Observable<BlockType[]>;
|
|
|
|
abstract retrieveBiasAnnotationsDescriptor(): Observable<BiasAnnotationsDescriptor>;
|
|
|
|
abstract retrieveBiasCapabilities(blockType: string): Observable<BiasCapabilities>;
|
|
|
|
abstract retrieveBiasCapabilitiesForInstance(blockType: string, block: FlowBlock): Observable<BiasCapabilities>;
|
|
|
|
abstract createEmptyBlock(blockType: BlockTypeName, context?: BlockDraftContext) : Observable<FlowBlock>;
|
|
|
|
abstract updateBlock(blockId : string, configuration : any, context?: BlockDraftContext) : Observable<FlowBlock>;
|
|
|
|
}
|