Files
ResInsight/ApplicationLibCode/ProjectDataModel/Workflow/RimWorkflowDescribeTools.h
T
Kristian Bendiksen 65942d455d Workflows: Read workflow schemas with the taskmaestro CLI
Replace the rips.taskmaestro_helper introspect subcommand with
`python -m taskmaestro workflow describe --json`. RimWorkflowDescribeTools
converts the describe output (JSON schemas, depends_on, config_values)
into the workflow graph used by the Workflow UI. This also adds support
for collect dependencies and maps rips.Reservoir to EclipseCase pickers.
2026-10-05 19:56:36 +02:00

34 lines
1.5 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2026- Equinor ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include <QJsonObject>
#include <QString>
//==================================================================================================
/// Converts the output of `taskmaestro workflow describe --json` into the workflow graph used by
/// the Workflow UI: { name, description, tasks: [{ name, inputs, outputs, config_fields }], edges }
//==================================================================================================
namespace RimWorkflowDescribeTools
{
QJsonObject graphFromDescribe( const QJsonObject& describe );
QString errorFromDescribe( const QJsonObject& describe );
QString resinsightTypeFromPythonType( const QString& pythonType );
} // namespace RimWorkflowDescribeTools