feat(dataflow): govern reusable definition updates
Module Package Release / publish-packages (push) Successful in 12s

This commit is contained in:
2026-08-21 18:27:09 +02:00
parent a86220db27
commit c1111c605f
17 changed files with 1338 additions and 55 deletions
+23 -1
View File
@@ -95,6 +95,11 @@ export type PipelineGovernance = {
derived_from_pipeline_id?: string | null;
derived_from_revision?: number | null;
derived_from_hash?: string | null;
source_available: boolean;
source_name?: string | null;
source_current_revision?: number | null;
source_current_hash?: string | null;
update_available: boolean;
derivation_provenance: Record<string, unknown>;
actions: Record<string, DefinitionActionDecision>;
};
@@ -505,6 +510,23 @@ export function deriveDataflowPipeline(
);
}
export function rebaseDataflowPipeline(
settings: ApiSettings,
pipelineId: string,
payload: {
expected_revision: number;
source_revision: number;
source_hash: string;
reason: string;
}
): Promise<Pipeline> {
return apiFetch(
settings,
`/api/v1/dataflow/pipelines/${encodeURIComponent(pipelineId)}/rebase`,
{ method: "POST", body: JSON.stringify(payload) }
);
}
export function dataflowScopeReferenceProvider(
settings: ApiSettings,
scopeType: "user" | "group"
@@ -564,7 +586,7 @@ export function deleteDataflowTrigger(
export function validateDataflowPipeline(
settings: ApiSettings,
payload: { graph?: PipelineGraph; sql_text?: string; source_nodes?: PipelineGraphNode[] }
payload: { pipeline_id?: string | null; graph?: PipelineGraph; sql_text?: string; source_nodes?: PipelineGraphNode[] }
): Promise<PipelineValidation> {
return apiFetch<PipelineValidation>(settings, "/api/v1/dataflow/validate", {
method: "POST",