cognite-neat 0.87.6__tar.gz → 0.88.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/PKG-INFO +2 -6
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/README.md +1 -5
- cognite_neat-0.88.1/cognite/neat/_version.py +1 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/data_classes/rest.py +0 -19
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/explorer.py +6 -4
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/routers/configuration.py +1 -1
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/routers/crud.py +11 -21
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/routers/workflows.py +24 -94
- cognite_neat-0.88.1/cognite/neat/app/ui/neat-app/build/asset-manifest.json +14 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/index.html +1 -1
- cognite_neat-0.87.6/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css → cognite_neat-0.88.1/cognite/neat/app/ui/neat-app/build/static/css/main.72e3d92e.css +2 -2
- cognite_neat-0.88.1/cognite/neat/app/ui/neat-app/build/static/css/main.72e3d92e.css.map +1 -0
- cognite_neat-0.88.1/cognite/neat/app/ui/neat-app/build/static/js/main.5a52cf09.js +3 -0
- cognite_neat-0.87.6/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.LICENSE.txt → cognite_neat-0.88.1/cognite/neat/app/ui/neat-app/build/static/js/main.5a52cf09.js.LICENSE.txt +0 -9
- cognite_neat-0.88.1/cognite/neat/app/ui/neat-app/build/static/js/main.5a52cf09.js.map +1 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/config.py +44 -27
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/exceptions.py +6 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_classic_cdf/_assets.py +21 -73
- cognite_neat-0.88.1/cognite/neat/graph/extractors/_classic_cdf/_base.py +102 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_classic_cdf/_events.py +46 -42
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_classic_cdf/_files.py +41 -45
- cognite_neat-0.88.1/cognite/neat/graph/extractors/_classic_cdf/_labels.py +114 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_classic_cdf/_relationships.py +49 -27
- cognite_neat-0.88.1/cognite/neat/graph/extractors/_classic_cdf/_sequences.py +137 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_classic_cdf/_timeseries.py +47 -49
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/queries/_base.py +22 -29
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/queries/_shared.py +1 -1
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/stores/_base.py +24 -11
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/transformers/_rdfpath.py +3 -2
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/issues.py +8 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/_rules2ontology.py +28 -20
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/_validation.py +15 -21
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_inference2rules.py +31 -35
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +3 -7
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_spreadsheet2rules.py +30 -27
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/dms.py +20 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/importing.py +15 -0
- cognite_neat-0.88.1/cognite/neat/rules/issues/ontology.py +298 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/spreadsheet.py +48 -0
- cognite_neat-0.88.1/cognite/neat/rules/issues/tables.py +72 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/_rdfpath.py +4 -4
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/_types/_field.py +9 -19
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/information/_rules.py +5 -4
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/rdf_.py +17 -9
- cognite_neat-0.88.1/cognite/neat/utils/regex_patterns.py +52 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/data_contracts.py +17 -43
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/current/graph_extractor.py +28 -24
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/current/graph_loader.py +4 -21
- cognite_neat-0.88.1/cognite/neat/workflows/steps/lib/current/graph_store.py +48 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps_registry.py +5 -7
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/pyproject.toml +1 -1
- cognite_neat-0.87.6/cognite/neat/_version.py +0 -1
- cognite_neat-0.87.6/cognite/neat/app/api/routers/core.py +0 -91
- cognite_neat-0.87.6/cognite/neat/app/api/routers/data_exploration.py +0 -336
- cognite_neat-0.87.6/cognite/neat/app/api/routers/rules.py +0 -203
- cognite_neat-0.87.6/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -14
- cognite_neat-0.87.6/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -1
- cognite_neat-0.87.6/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js +0 -3
- cognite_neat-0.87.6/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.map +0 -1
- cognite_neat-0.87.6/cognite/neat/graph/extractors/_classic_cdf/_labels.py +0 -91
- cognite_neat-0.87.6/cognite/neat/graph/extractors/_classic_cdf/_sequences.py +0 -140
- cognite_neat-0.87.6/cognite/neat/graph/stores/_oxrdflib.py +0 -247
- cognite_neat-0.87.6/cognite/neat/legacy/graph/__init__.py +0 -3
- cognite_neat-0.87.6/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -20182
- cognite_neat-0.87.6/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -20163
- cognite_neat-0.87.6/cognite/neat/legacy/graph/examples/__init__.py +0 -10
- cognite_neat-0.87.6/cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/graph/exceptions.py +0 -90
- cognite_neat-0.87.6/cognite/neat/legacy/graph/extractors/__init__.py +0 -6
- cognite_neat-0.87.6/cognite/neat/legacy/graph/extractors/_base.py +0 -14
- cognite_neat-0.87.6/cognite/neat/legacy/graph/extractors/_dexpi.py +0 -44
- cognite_neat-0.87.6/cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -403
- cognite_neat-0.87.6/cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +0 -361
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/__init__.py +0 -23
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/_asset_loader.py +0 -511
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/_base.py +0 -67
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/_exceptions.py +0 -85
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/core/labels.py +0 -58
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/core/models.py +0 -136
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +0 -1046
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +0 -559
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/rdf_to_dms.py +0 -309
- cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/validator.py +0 -87
- cognite_neat-0.87.6/cognite/neat/legacy/graph/models.py +0 -6
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/__init__.py +0 -13
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/_base.py +0 -400
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/_graphdb_store.py +0 -52
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/_memory_store.py +0 -43
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/_oxigraph_store.py +0 -151
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -247
- cognite_neat-0.87.6/cognite/neat/legacy/graph/stores/_rdf_to_graph.py +0 -42
- cognite_neat-0.87.6/cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -101
- cognite_neat-0.87.6/cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -3
- cognite_neat-0.87.6/cognite/neat/legacy/graph/transformations/query_generator/sparql.py +0 -575
- cognite_neat-0.87.6/cognite/neat/legacy/graph/transformations/transformer.py +0 -322
- cognite_neat-0.87.6/cognite/neat/legacy/rules/analysis.py +0 -231
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/__init__.py +0 -18
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -124
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -224
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exceptions.py +0 -2972
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/__init__.py +0 -20
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_base.py +0 -45
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -5
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -24
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2dms.py +0 -885
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -213
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2graphql.py +0 -183
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2ontology.py +0 -524
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +0 -748
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -105
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -38
- cognite_neat-0.87.6/cognite/neat/legacy/rules/exporters/_validation.py +0 -146
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/__init__.py +0 -22
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_base.py +0 -66
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_dict2rules.py +0 -158
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_dms2rules.py +0 -194
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_graph2rules.py +0 -308
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_json2rules.py +0 -39
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +0 -239
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +0 -260
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +0 -217
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -290
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -45
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -20
- cognite_neat-0.87.6/cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -39
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/__init__.py +0 -5
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/_base.py +0 -151
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/raw_rules.py +0 -316
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/rdfpath.py +0 -237
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/rules.py +0 -1289
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/tables.py +0 -9
- cognite_neat-0.87.6/cognite/neat/legacy/rules/models/value_types.py +0 -118
- cognite_neat-0.87.6/cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -89
- cognite_neat-0.87.6/cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -152
- cognite_neat-0.87.6/cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -139
- cognite_neat-0.87.6/cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -270
- cognite_neat-0.87.6/cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -116
- cognite_neat-0.87.6/cognite/neat/rules/examples/wind-energy.owl +0 -1511
- cognite_neat-0.87.6/cognite/neat/rules/exceptions.py +0 -2972
- cognite_neat-0.87.6/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -3
- cognite_neat-0.87.6/cognite/neat/rules/models/_types/_base.py +0 -16
- cognite_neat-0.87.6/cognite/neat/utils/__init__.py +0 -0
- cognite_neat-0.87.6/cognite/neat/utils/cdf/__init__.py +0 -0
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -152
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -139
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -270
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Import_DMS/workflow.yaml +0 -65
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -116
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Validate_Rules/workflow.yaml +0 -67
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -64
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -95
- cognite_neat-0.87.6/cognite/neat/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -111
- cognite_neat-0.87.6/cognite/neat/workflows/migration/__init__.py +0 -0
- cognite_neat-0.87.6/cognite/neat/workflows/migration/steps.py +0 -91
- cognite_neat-0.87.6/cognite/neat/workflows/migration/wf_manifests.py +0 -33
- cognite_neat-0.87.6/cognite/neat/workflows/steps/__init__.py +0 -0
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/__init__.py +0 -0
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/current/graph_store.py +0 -164
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -7
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -82
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +0 -746
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/graph_loader.py +0 -606
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/graph_store.py +0 -307
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -58
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +0 -511
- cognite_neat-0.87.6/cognite/neat/workflows/steps/lib/legacy/rules_importer.py +0 -612
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/LICENSE +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/_shared.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/asgi/metrics.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/configuration.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/context_manager/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/context_manager/manager.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/data_classes/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/routers/metrics.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/utils/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/utils/data_mapping.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/utils/logging.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/api/utils/query_templates.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/main.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/monitoring/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/monitoring/metrics.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/index.html +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/README.md +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/img/architect-icon.svg +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/img/developer-icon.svg +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/img/sme-icon.svg +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/constants.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/_shared.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/_tracking/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/_tracking/base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/_tracking/log.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/examples/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/exceptions.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_classic_cdf/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_dexpi.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_mock_graph_generator.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/issues/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/issues/loader.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/loaders/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/loaders/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/loaders/_rdf2asset.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/loaders/_rdf2dms.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/models.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/queries/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/queries/_construct.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/stores/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/stores/_provenance.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/transformers/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/transformers/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/graph/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/py.typed +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat/rules}/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/_shared.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/analysis/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/analysis/_asset.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/analysis/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/analysis/_information.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/examples/__init__.py +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/rules/examples/wind-energy.owl +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/_rules2dms.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_dms2rules.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/rules/importers/_owl2rules/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/fileread.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/formatters.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/_constants.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/_types/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/asset/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/asset/_converter.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/asset/_rules.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/asset/_rules_input.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/asset/_serializer.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/asset/_validation.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/data_types.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_converter.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_exporter.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_rules.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_rules_input.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_schema.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_serializer.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/dms/_validation.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/domain.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/entities.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/information/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/information/_converter.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/information/_rules_input.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/information/_serializer.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/information/_validation.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/rules/models/wrapped_entities.py +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy/graph/loaders/core → cognite_neat-0.88.1/cognite/neat/utils}/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/auth.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/auxiliary.py +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy/graph/transformations → cognite_neat-0.88.1/cognite/neat/utils/cdf}/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/cdf/data_classes.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/cdf/loaders/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/cdf/loaders/_base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/cdf/loaders/_data_modeling.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/cdf/loaders/_ingestion.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/collection_.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/spreadsheet.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/text.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/time_.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/upload.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/utils/xml_.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/_exceptions.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/base.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/cdf_store.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/examples/Export_DMS/workflow.yaml +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/workflows/examples/Import_DMS/workflow.yaml +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/workflows/examples/Validate_Rules/workflow.yaml +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy → cognite_neat-0.88.1/cognite/neat}/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/manager.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/model.py +0 -0
- {cognite_neat-0.87.6/cognite/neat/legacy/rules → cognite_neat-0.88.1/cognite/neat/workflows/steps}/__init__.py +0 -0
- {cognite_neat-0.87.6/cognite/neat/rules → cognite_neat-0.88.1/cognite/neat/workflows/steps/lib}/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/current/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/current/rules_exporter.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/current/rules_importer.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/current/rules_validator.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/io/__init__.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/lib/io/io_steps.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/steps/step_model.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/tasks.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/triggers.py +0 -0
- {cognite_neat-0.87.6 → cognite_neat-0.88.1}/cognite/neat/workflows/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.88.1
|
|
4
4
|
Summary: Knowledge graph transformation
|
|
5
5
|
Home-page: https://cognite-neat.readthedocs-hosted.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -146,9 +146,6 @@ Open API docs :
|
|
|
146
146
|
|
|
147
147
|
`http://localhost:8000/docs`
|
|
148
148
|
|
|
149
|
-
Prom metrics :
|
|
150
|
-
|
|
151
|
-
`http://localhost:8000/metrics`
|
|
152
149
|
|
|
153
150
|
## Workflows and configurations
|
|
154
151
|
|
|
@@ -194,8 +191,7 @@ cdf_client:
|
|
|
194
191
|
client_id: "623c2450-cfc2-43d6-9036-10e14dad8ccf"
|
|
195
192
|
client_secret: "my-super-secret"
|
|
196
193
|
base_url: https://az-power-no-northeurope.cognitedata.com
|
|
197
|
-
scopes:
|
|
198
|
-
- https://az-power-no-northeurope.cognitedata.com/.default
|
|
194
|
+
scopes: [https://az-power-no-northeurope.cognitedata.com/.default]
|
|
199
195
|
token_url: https://login.microsoftonline.com/e55e1701-82f8-4c52-af10-28e4d942c589/oauth2/v2.0/token
|
|
200
196
|
|
|
201
197
|
cdf_default_dataset_id: 2626756768281823
|
|
@@ -87,9 +87,6 @@ Open API docs :
|
|
|
87
87
|
|
|
88
88
|
`http://localhost:8000/docs`
|
|
89
89
|
|
|
90
|
-
Prom metrics :
|
|
91
|
-
|
|
92
|
-
`http://localhost:8000/metrics`
|
|
93
90
|
|
|
94
91
|
## Workflows and configurations
|
|
95
92
|
|
|
@@ -135,8 +132,7 @@ cdf_client:
|
|
|
135
132
|
client_id: "623c2450-cfc2-43d6-9036-10e14dad8ccf"
|
|
136
133
|
client_secret: "my-super-secret"
|
|
137
134
|
base_url: https://az-power-no-northeurope.cognitedata.com
|
|
138
|
-
scopes:
|
|
139
|
-
- https://az-power-no-northeurope.cognitedata.com/.default
|
|
135
|
+
scopes: [https://az-power-no-northeurope.cognitedata.com/.default]
|
|
140
136
|
token_url: https://login.microsoftonline.com/e55e1701-82f8-4c52-af10-28e4d942c589/oauth2/v2.0/token
|
|
141
137
|
|
|
142
138
|
cdf_default_dataset_id: 2626756768281823
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.88.1"
|
|
@@ -16,25 +16,6 @@ class RuleRequest(BaseModel):
|
|
|
16
16
|
rule: str
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class UploadToCdfRequest(BaseModel):
|
|
20
|
-
file_name: str = ""
|
|
21
|
-
file_type: str = "workflow"
|
|
22
|
-
comments: str = ""
|
|
23
|
-
author: str = ""
|
|
24
|
-
tag: str = ""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class DownloadFromCdfRequest(BaseModel):
|
|
28
|
-
file_name: str = ""
|
|
29
|
-
file_type: str = "workflow"
|
|
30
|
-
version: str = ""
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
class LoadGraphRequest(BaseModel):
|
|
34
|
-
graph_source_template_name: str
|
|
35
|
-
source_location: str
|
|
36
|
-
|
|
37
|
-
|
|
38
19
|
class RunWorkflowRequest(BaseModel):
|
|
39
20
|
name: str
|
|
40
21
|
config: dict
|
|
@@ -10,7 +10,12 @@ from cognite import neat
|
|
|
10
10
|
from cognite.neat.app.api.asgi.metrics import prometheus_app
|
|
11
11
|
from cognite.neat.app.api.configuration import NEAT_APP, UI_PATH
|
|
12
12
|
from cognite.neat.app.api.context_manager import lifespan
|
|
13
|
-
from cognite.neat.app.api.routers import
|
|
13
|
+
from cognite.neat.app.api.routers import (
|
|
14
|
+
configuration,
|
|
15
|
+
crud,
|
|
16
|
+
metrics,
|
|
17
|
+
workflows,
|
|
18
|
+
)
|
|
14
19
|
from cognite.neat.app.api.utils.logging import EndpointFilter
|
|
15
20
|
|
|
16
21
|
app = FastAPI(title="Neat", lifespan=lifespan)
|
|
@@ -45,10 +50,7 @@ app.mount("/data", StaticFiles(directory=NEAT_APP.config.data_store_path), name=
|
|
|
45
50
|
app.include_router(configuration.router)
|
|
46
51
|
app.include_router(metrics.router)
|
|
47
52
|
app.include_router(workflows.router)
|
|
48
|
-
app.include_router(rules.router)
|
|
49
53
|
app.include_router(crud.router)
|
|
50
|
-
app.include_router(data_exploration.router)
|
|
51
|
-
app.include_router(core.router)
|
|
52
54
|
|
|
53
55
|
|
|
54
56
|
# General routes
|
|
@@ -14,28 +14,13 @@ from cognite.neat.workflows.utils import get_file_hash
|
|
|
14
14
|
router = APIRouter()
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
@router.get("/api/cdf/neat-resources")
|
|
18
|
-
def get_neat_resources(resource_type: str | None = None):
|
|
19
|
-
if NEAT_APP.cdf_store is None:
|
|
20
|
-
return {"error": "NeatApp is not initialized"}
|
|
21
|
-
if resource_type is None:
|
|
22
|
-
return {"error": "Resource type is not specified"}
|
|
23
|
-
result = NEAT_APP.cdf_store.get_list_of_resources_from_cdf(resource_type=resource_type)
|
|
24
|
-
logging.debug(f"Got {len(result)} resources")
|
|
25
|
-
return {"result": result}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@router.post("/api/cdf/init-neat-resources")
|
|
29
|
-
def init_neat_cdf_resources(resource_type: str | None = None):
|
|
30
|
-
if NEAT_APP.cdf_store is None:
|
|
31
|
-
return {"error": "NeatApp is not initialized"}
|
|
32
|
-
NEAT_APP.cdf_store.init_cdf_resources(resource_type=resource_type)
|
|
33
|
-
return {"result": "ok"}
|
|
34
|
-
|
|
35
|
-
|
|
36
17
|
@router.post("/api/file/upload/{workflow_name}/{file_type}/{step_id}/{action}")
|
|
37
18
|
async def file_upload_handler(
|
|
38
|
-
files: list[UploadFile],
|
|
19
|
+
files: list[UploadFile],
|
|
20
|
+
workflow_name: str,
|
|
21
|
+
file_type: str,
|
|
22
|
+
step_id: str,
|
|
23
|
+
action: str,
|
|
39
24
|
) -> dict[str, str]:
|
|
40
25
|
if NEAT_APP.cdf_store is None or NEAT_APP.workflow_manager is None:
|
|
41
26
|
return {"error": "NeatApp is not initialized"}
|
|
@@ -91,7 +76,12 @@ async def file_upload_handler(
|
|
|
91
76
|
if workflow is None:
|
|
92
77
|
return {"error": f"Workflow {workflow_name} not found"}
|
|
93
78
|
flow_msg = FlowMessage(
|
|
94
|
-
payload={
|
|
79
|
+
payload={
|
|
80
|
+
"file_name": file_name,
|
|
81
|
+
"hash": file_version,
|
|
82
|
+
"full_path": full_path,
|
|
83
|
+
"file_type": file_type,
|
|
84
|
+
}
|
|
95
85
|
)
|
|
96
86
|
start_step_id = None if step_id == "none" else step_id
|
|
97
87
|
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import shutil
|
|
3
|
-
from pathlib import Path
|
|
4
3
|
from typing import cast
|
|
5
4
|
|
|
6
5
|
from fastapi import APIRouter, Depends, HTTPException, Request, UploadFile
|
|
7
6
|
from fastapi.responses import FileResponse, JSONResponse
|
|
8
7
|
|
|
9
8
|
from cognite.neat.app.api.configuration import NEAT_APP
|
|
10
|
-
from cognite.neat.app.api.data_classes.rest import
|
|
9
|
+
from cognite.neat.app.api.data_classes.rest import (
|
|
10
|
+
RunWorkflowRequest,
|
|
11
|
+
)
|
|
11
12
|
from cognite.neat.workflows import WorkflowFullStateReport
|
|
12
13
|
from cognite.neat.workflows.base import WorkflowDefinition
|
|
13
|
-
from cognite.neat.workflows.migration.wf_manifests import migrate_wf_manifest
|
|
14
14
|
from cognite.neat.workflows.model import FlowMessage
|
|
15
|
-
from cognite.neat.workflows.steps.data_contracts import
|
|
15
|
+
from cognite.neat.workflows.steps.data_contracts import NeatGraph
|
|
16
16
|
from cognite.neat.workflows.steps.step_model import DataContract
|
|
17
|
-
from cognite.neat.workflows.utils import get_file_hash
|
|
18
17
|
|
|
19
18
|
router = APIRouter()
|
|
20
19
|
|
|
@@ -27,7 +26,11 @@ def start_workflow(request: RunWorkflowRequest):
|
|
|
27
26
|
start_status = NEAT_APP.workflow_manager.start_workflow_instance(
|
|
28
27
|
request.name, sync=request.sync, flow_msg=FlowMessage()
|
|
29
28
|
)
|
|
30
|
-
result = {
|
|
29
|
+
result = {
|
|
30
|
+
"workflow_instance": None,
|
|
31
|
+
"is_success": start_status.is_success,
|
|
32
|
+
"status_text": start_status.status_text,
|
|
33
|
+
}
|
|
31
34
|
return {"result": result}
|
|
32
35
|
|
|
33
36
|
|
|
@@ -58,25 +61,6 @@ def get_workflow_files(workflow_name: str):
|
|
|
58
61
|
return {"files": workflow.get_list_of_workflow_artifacts()}
|
|
59
62
|
|
|
60
63
|
|
|
61
|
-
@router.post("/api/workflow/package/{workflow_name}")
|
|
62
|
-
def package_workflow(workflow_name: str):
|
|
63
|
-
if NEAT_APP.cdf_store is None:
|
|
64
|
-
return {"error": "NeatApp is not initialized"}
|
|
65
|
-
package_file = NEAT_APP.cdf_store.package_workflow(workflow_name)
|
|
66
|
-
hash_ = get_file_hash(NEAT_APP.config.workflows_store_path / package_file)
|
|
67
|
-
return {"package": package_file, "hash": hash_}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
@router.post("/api/workflow/context-cleanup/{workflow_name}")
|
|
71
|
-
def cleanup_workflow_data(workflow_name: str):
|
|
72
|
-
if NEAT_APP.cdf_store is None:
|
|
73
|
-
return {"error": "NeatApp is not initialized"}
|
|
74
|
-
workflow = NEAT_APP.workflow_manager.get_workflow(workflow_name)
|
|
75
|
-
if workflow is not None:
|
|
76
|
-
workflow.cleanup_workflow_context()
|
|
77
|
-
return {"result": "ok"}
|
|
78
|
-
|
|
79
|
-
|
|
80
64
|
@router.post("/api/workflow/create")
|
|
81
65
|
def create_new_workflow(request: WorkflowDefinition):
|
|
82
66
|
if NEAT_APP.workflow_manager is None:
|
|
@@ -95,30 +79,24 @@ def delete_workflow(workflow_name: str):
|
|
|
95
79
|
return {"result": "ok"}
|
|
96
80
|
|
|
97
81
|
|
|
98
|
-
@router.get("/api/workflow/executions")
|
|
99
|
-
def get_list_of_workflow_executions():
|
|
100
|
-
return {"executions": NEAT_APP.cdf_store.get_list_of_workflow_executions_from_cdf()}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
@router.get("/api/workflow/detailed-execution-report/{execution_id}")
|
|
104
|
-
def get_detailed_execution(execution_id: str):
|
|
105
|
-
if NEAT_APP.cdf_store is None:
|
|
106
|
-
return {"error": "NeatApp is not initialized"}
|
|
107
|
-
return {"report": NEAT_APP.cdf_store.get_detailed_workflow_execution_report_from_cdf(execution_id)}
|
|
108
|
-
|
|
109
|
-
|
|
110
82
|
@router.post("/api/workflow/reload-workflows")
|
|
111
83
|
def reload_workflows():
|
|
112
84
|
NEAT_APP.workflow_manager.load_workflows_from_storage()
|
|
113
85
|
NEAT_APP.triggers_manager.reload_all_triggers()
|
|
114
|
-
return {
|
|
86
|
+
return {
|
|
87
|
+
"result": "ok",
|
|
88
|
+
"workflows": NEAT_APP.workflow_manager.get_list_of_workflows(),
|
|
89
|
+
}
|
|
115
90
|
|
|
116
91
|
|
|
117
92
|
@router.post("/api/workflow/reload-single-workflow/{workflow_name}")
|
|
118
93
|
def reload_single_workflows(workflow_name: str):
|
|
119
94
|
NEAT_APP.workflow_manager.load_single_workflow_from_storage(workflow_name)
|
|
120
95
|
NEAT_APP.triggers_manager.reload_all_triggers()
|
|
121
|
-
return {
|
|
96
|
+
return {
|
|
97
|
+
"result": "ok",
|
|
98
|
+
"workflows": NEAT_APP.workflow_manager.get_list_of_workflows(),
|
|
99
|
+
}
|
|
122
100
|
|
|
123
101
|
|
|
124
102
|
@router.get("/api/workflow/workflow-definition/{workflow_name}")
|
|
@@ -152,58 +130,6 @@ def update_workflow_definition(workflow_name: str, request: WorkflowDefinition):
|
|
|
152
130
|
return {"result": "ok"}
|
|
153
131
|
|
|
154
132
|
|
|
155
|
-
@router.post("/api/workflow/upload-wf-to-cdf/{workflow_name}")
|
|
156
|
-
def upload_workflow_to_cdf(workflow_name: str, request: UploadToCdfRequest):
|
|
157
|
-
if NEAT_APP.cdf_store is None:
|
|
158
|
-
return {"error": "NeatApp is not initialized"}
|
|
159
|
-
NEAT_APP.cdf_store.save_workflow_to_cdf(
|
|
160
|
-
workflow_name, changed_by=request.author, comments=request.comments, tag=request.tag
|
|
161
|
-
)
|
|
162
|
-
return {"result": "ok"}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
@router.post("/api/workflow/upload-rules-cdf/{workflow_name}")
|
|
166
|
-
def upload_rules_to_cdf(workflow_name: str, request: UploadToCdfRequest):
|
|
167
|
-
if NEAT_APP.cdf_store is None:
|
|
168
|
-
return {"error": "NeatApp is not initialized"}
|
|
169
|
-
file_path = Path(NEAT_APP.config.rules_store_path, request.file_name)
|
|
170
|
-
NEAT_APP.cdf_store.save_resource_to_cdf(
|
|
171
|
-
workflow_name, "neat-wf-rules", file_path, changed_by=request.author, comments=request.comments
|
|
172
|
-
)
|
|
173
|
-
return {"result": "ok"}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
@router.post("/api/workflow/download-wf-from-cdf")
|
|
177
|
-
def download_wf_from_cdf(request: DownloadFromCdfRequest):
|
|
178
|
-
if NEAT_APP.cdf_store is None:
|
|
179
|
-
return {"error": "NeatApp is not initialized"}
|
|
180
|
-
NEAT_APP.cdf_store.load_workflows_from_cdf(request.file_name, request.version)
|
|
181
|
-
return {"result": "ok"}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
@router.post("/api/workflow/download-rules-from-cdf")
|
|
185
|
-
def download_rules_to_cdf(request: DownloadFromCdfRequest):
|
|
186
|
-
if NEAT_APP.cdf_store is None:
|
|
187
|
-
return {"error": "NeatApp is not initialized"}
|
|
188
|
-
NEAT_APP.cdf_store.load_rules_file_from_cdf(request.file_name, request.version)
|
|
189
|
-
return {"file_name": request.file_name, "hash": request.version}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
@router.post("/api/workflow/migrate-workflow")
|
|
193
|
-
def migrate_workflow():
|
|
194
|
-
return migrate_wf_manifest(NEAT_APP.config.data_store_path)
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
@router.get("/api/workflow/pre-cdf-assets/{workflow_name}")
|
|
198
|
-
def get_pre_cdf_assets(workflow_name: str):
|
|
199
|
-
if NEAT_APP.workflow_manager is None:
|
|
200
|
-
return {"error": "Workflow Manager is not initialized"}
|
|
201
|
-
workflow = NEAT_APP.workflow_manager.get_workflow(workflow_name)
|
|
202
|
-
if workflow is None:
|
|
203
|
-
return {"assets": []}
|
|
204
|
-
return {"assets": workflow.data["CategorizedAssets"]}
|
|
205
|
-
|
|
206
|
-
|
|
207
133
|
@router.get("/api/workflow/context/{workflow_name}")
|
|
208
134
|
def get_context(workflow_name: str):
|
|
209
135
|
if NEAT_APP.workflow_manager is None:
|
|
@@ -228,8 +154,8 @@ def get_context_object(workflow_name: str, object_name: str):
|
|
|
228
154
|
if object_name not in context:
|
|
229
155
|
return {"error": f"Item {object_name} is not found in workflow context"}
|
|
230
156
|
|
|
231
|
-
if object_name == "
|
|
232
|
-
return {"object": cast(
|
|
157
|
+
if object_name == "NeatGraph":
|
|
158
|
+
return {"object": cast(NeatGraph, context[object_name]).graph.type_}
|
|
233
159
|
|
|
234
160
|
cobject = context[object_name]
|
|
235
161
|
if isinstance(cobject, DataContract):
|
|
@@ -285,7 +211,11 @@ def http_trigger_start_workflow(workflow_name: str, step_id: str, request: Reque
|
|
|
285
211
|
|
|
286
212
|
@router.post("/api/workflow/{workflow_name}/resume/{step_id}/{instance_id}")
|
|
287
213
|
def http_trigger_resume_workflow(
|
|
288
|
-
workflow_name: str,
|
|
214
|
+
workflow_name: str,
|
|
215
|
+
step_id: str,
|
|
216
|
+
instance_id: str,
|
|
217
|
+
request: Request,
|
|
218
|
+
body: bytes = fast_api_depends,
|
|
289
219
|
):
|
|
290
220
|
if NEAT_APP.triggers_manager is None:
|
|
291
221
|
return JSONResponse(content={"error": "Triggers Manager is not initialized"}, status_code=400)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": {
|
|
3
|
+
"main.css": "./static/css/main.72e3d92e.css",
|
|
4
|
+
"main.js": "./static/js/main.5a52cf09.js",
|
|
5
|
+
"static/media/logo.svg": "./static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg",
|
|
6
|
+
"index.html": "./index.html",
|
|
7
|
+
"main.72e3d92e.css.map": "./static/css/main.72e3d92e.css.map",
|
|
8
|
+
"main.5a52cf09.js.map": "./static/js/main.5a52cf09.js.map"
|
|
9
|
+
},
|
|
10
|
+
"entrypoints": [
|
|
11
|
+
"static/css/main.72e3d92e.css",
|
|
12
|
+
"static/js/main.5a52cf09.js"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./logo192.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="NEAT controll panel"/><link rel="apple-touch-icon" href="./logo192.png"/><link rel="manifest" href="./manifest.json"/><title>NEAT App</title><script defer="defer" src="./static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./logo192.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="NEAT controll panel"/><link rel="apple-touch-icon" href="./logo192.png"/><link rel="manifest" href="./manifest.json"/><title>NEAT App</title><script defer="defer" src="./static/js/main.5a52cf09.js"></script><link href="./static/css/main.72e3d92e.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;-webkit-transform-origin:0 0;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selectionpane{z-index:5}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection.animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none}.react-flow__node,.react-flow__nodes{-webkit-transform-origin:0 0;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;-webkit-transform-origin:left top;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectable{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;top:auto}.react-flow__handle-bottom,.react-flow__handle-top{left:50%;-webkit-transform:translate(-50%);transform:translate(-50%)}.react-flow__handle-top{top:-4px}.react-flow__handle-left{left:-4px}.react-flow__handle-left,.react-flow__handle-right{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.react-flow__handle-right{right:-4px}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.react-flow__attribution{background:hsla(0,0%,100%,.5);font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b;outline:none}.react-flow__node-group{background-color:hsla(0,0%,94%,.25)}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px rgba(0,0,0,.08)}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__minimap{background-color:#fff}
|
|
2
|
-
/*# sourceMappingURL=main.
|
|
1
|
+
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;-webkit-transform-origin:0 0;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selectionpane{z-index:5}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection.animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none}.react-flow__node,.react-flow__nodes{-webkit-transform-origin:0 0;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;-webkit-transform-origin:left top;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectable{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;top:auto}.react-flow__handle-bottom,.react-flow__handle-top{left:50%;-webkit-transform:translate(-50%);transform:translate(-50%)}.react-flow__handle-top{top:-4px}.react-flow__handle-left{left:-4px}.react-flow__handle-left,.react-flow__handle-right{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.react-flow__handle-right{right:-4px}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.react-flow__attribution{background:hsla(0,0%,100%,.5);font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b;outline:none}.react-flow__node-group{background-color:hsla(0,0%,94%,.25)}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px rgba(0,0,0,.08)}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__minimap{background-color:#fff}
|
|
2
|
+
/*# sourceMappingURL=main.72e3d92e.css.map*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/css/main.72e3d92e.css","mappings":"AAAA,KAKE,kCAAmC,CACnC,iCAAkC,CAJlC,mIAEY,CAHZ,QAMF,CAEA,KACE,uEAEF,CCVA,uBAGE,WAAY,CAEZ,MAAO,CAJP,iBAAkB,CAGlB,KAAM,CAFN,UAIF,CACA,kBAGE,WAAY,CAFZ,SAGF,CACA,2BAEI,eACF,CACF,sBAGE,mBAAoB,CAFpB,4BAAqB,CAArB,oBAAqB,CACrB,SAEF,CACA,sBACE,SACF,CACA,2BACE,SACF,CACA,sFAEE,YACF,CACA,+BAEE,gBAAiB,CADjB,mBAEF,CACA,oDAEE,cAAe,CACf,cAAe,CACf,SACF,CACA,kBAEE,cAAe,CADf,4BAEF,CACA,gCACI,kBAAmB,CACnB,8CAAgD,CACxC,sCACV,CACF,6DACI,qBAAsB,CACtB,sBAAuB,CACf,cACV,CACF,2BACI,mBACF,CACF,mFAGI,YACF,CACF,wJAGI,WACF,CACF,8BACI,kBACF,CACF,yBACI,SACF,CACF,yCACI,mBAAoB,CACpB,wBAAyB,CAEjB,gBACV,CACF,wBACE,mBACF,CACA,iCACI,kBAAmB,CACnB,8CAAgD,CACxC,sCACV,CACF,4BACE,YACF,CACA,mBACE,mBAEF,CACA,qCAFE,4BAAqB,CAArB,oBAYF,CAVA,kBAOE,qBAAsB,CAEtB,WAAY,CAJZ,kBAAmB,CAJnB,iBAAkB,CAClB,wBAAyB,CAEjB,gBAMV,CACA,2BAEI,eACF,CACF,4BAGE,mBAAoB,CADpB,iCAA0B,CAA1B,yBAA0B,CAD1B,SAGF,CACA,iCAII,WAAY,CAFZ,kBAAmB,CADnB,iBAIF,CACF,oBAOE,kBAAmB,CACnB,qBAAuB,CACvB,kBAAmB,CAHnB,UAAW,CAFX,cAAe,CADf,aAAc,CADd,mBAAoB,CADpB,iBAAkB,CAIlB,SAKF,CACA,gCAEI,gBAAiB,CADjB,kBAEF,CACF,2BAGI,WAAY,CAFZ,QAIF,CACF,mDAJI,QAAS,CAET,iCAA6B,CAA7B,yBAMF,CAJF,wBAEI,QAEF,CACF,yBAEI,SAEF,CACF,mDAJI,OAAQ,CAER,kCAA6B,CAA7B,0BAMF,CAJF,0BACI,UAGF,CACF,yBACE,WAAY,CACZ,kBACF,CACA,mBAGE,WAAY,CAFZ,iBAAkB,CAClB,SAEF,CACA,uBACI,KACF,CACF,0BACI,QACF,CACF,wBACI,MACF,CACF,yBACI,OACF,CACF,0BACI,QAAS,CACT,kCAA2B,CAA3B,0BACF,CACF,yBAEE,6BAAoC,CADpC,cAAe,CAGf,QAAS,CADT,eAEF,CACA,2BAEI,UAAW,CADX,oBAEF,CACF,4BACE,GACE,oBACF,CACF,CACA,oBACE,GACE,oBACF,CACF,CACA,gCAGE,WAAY,CACZ,mBAAoB,CAHpB,iBAAkB,CAClB,UAGF,CACA,kDACM,WACF,CACJ,uBACI,cACF,CACF,mGAaE,qBAAuB,CADvB,wBAAqB,CAPrB,iBAAkB,CAGlB,UAAW,CADX,cAAe,CAHf,YAAa,CAKb,iBAAkB,CAHlB,WAQF,CACA,uKACM,wCACF,CACJ,iiBAYM,6BAA+B,CAC/B,YACF,CACJ,wBACE,mCACF,CACA,wDAEE,6BAAkC,CAClC,mCACF,CACA,wJAII,YACF,CACF,sBACE,sCACF,CACA,6BAOI,kBAAmB,CALnB,kBAAmB,CACnB,WAA6B,CAA7B,4BAA6B,CAC7B,kBAAuB,CAMvB,cAAe,CALf,YAAa,CAIb,WAAY,CAHZ,sBAAuB,CAQvB,WAAY,CAHZ,wBAAyB,CAEjB,gBAAiB,CALzB,UAOF,CACF,mCACM,kBACF,CACJ,iCAGM,eAAgB,CADhB,cAAe,CADf,UAGF,CACJ,qBACE,qBACF","sources":["index.css","../node_modules/reactflow/dist/style.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React Flow, they get used by base.css and style.css */\n.react-flow__container {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.react-flow__pane {\n z-index: 1;\n cursor: -webkit-grab;\n cursor: grab;\n}\n.react-flow__pane.dragging {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n }\n.react-flow__viewport {\n transform-origin: 0 0;\n z-index: 2;\n pointer-events: none;\n}\n.react-flow__renderer {\n z-index: 4;\n}\n.react-flow__selectionpane {\n z-index: 5;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n outline: none;\n}\n.react-flow .react-flow__edges {\n pointer-events: none;\n overflow: visible;\n}\n.react-flow__edge-path,\n.react-flow__connection-path {\n stroke: #b1b1b7;\n stroke-width: 1;\n fill: none;\n}\n.react-flow__edge {\n pointer-events: visibleStroke;\n cursor: pointer;\n}\n.react-flow__edge.animated path {\n stroke-dasharray: 5;\n -webkit-animation: dashdraw 0.5s linear infinite;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n stroke-dasharray: none;\n -webkit-animation: none;\n animation: none;\n }\n.react-flow__edge.inactive {\n pointer-events: none;\n }\n.react-flow__edge.selected,\n .react-flow__edge:focus,\n .react-flow__edge:focus-visible {\n outline: none;\n }\n.react-flow__edge.selected .react-flow__edge-path,\n .react-flow__edge:focus .react-flow__edge-path,\n .react-flow__edge:focus-visible .react-flow__edge-path {\n stroke: #555;\n }\n.react-flow__edge-textwrapper {\n pointer-events: all;\n }\n.react-flow__edge-textbg {\n fill: white;\n }\n.react-flow__edge .react-flow__edge-text {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.react-flow__connection {\n pointer-events: none;\n}\n.react-flow__connection.animated {\n stroke-dasharray: 5;\n -webkit-animation: dashdraw 0.5s linear infinite;\n animation: dashdraw 0.5s linear infinite;\n }\n.react-flow__connectionline {\n z-index: 1001;\n}\n.react-flow__nodes {\n pointer-events: none;\n transform-origin: 0 0;\n}\n.react-flow__node {\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n pointer-events: all;\n transform-origin: 0 0;\n box-sizing: border-box;\n cursor: -webkit-grab;\n cursor: grab;\n}\n.react-flow__node.dragging {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n }\n.react-flow__nodesselection {\n z-index: 3;\n transform-origin: left top;\n pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n position: absolute;\n pointer-events: all;\n cursor: -webkit-grab;\n cursor: grab;\n }\n.react-flow__handle {\n position: absolute;\n pointer-events: none;\n min-width: 5px;\n min-height: 5px;\n width: 6px;\n height: 6px;\n background: #1a192b;\n border: 1px solid white;\n border-radius: 100%;\n}\n.react-flow__handle.connectable {\n pointer-events: all;\n cursor: crosshair;\n }\n.react-flow__handle-bottom {\n top: auto;\n left: 50%;\n bottom: -4px;\n transform: translate(-50%, 0);\n }\n.react-flow__handle-top {\n left: 50%;\n top: -4px;\n transform: translate(-50%, 0);\n }\n.react-flow__handle-left {\n top: 50%;\n left: -4px;\n transform: translate(0, -50%);\n }\n.react-flow__handle-right {\n right: -4px;\n top: 50%;\n transform: translate(0, -50%);\n }\n.react-flow__edgeupdater {\n cursor: move;\n pointer-events: all;\n}\n.react-flow__panel {\n position: absolute;\n z-index: 5;\n margin: 15px;\n}\n.react-flow__panel.top {\n top: 0;\n }\n.react-flow__panel.bottom {\n bottom: 0;\n }\n.react-flow__panel.left {\n left: 0;\n }\n.react-flow__panel.right {\n right: 0;\n }\n.react-flow__panel.center {\n left: 50%;\n transform: translateX(-50%);\n }\n.react-flow__attribution {\n font-size: 10px;\n background: rgba(255, 255, 255, 0.5);\n padding: 2px 3px;\n margin: 0;\n}\n.react-flow__attribution a {\n text-decoration: none;\n color: #999;\n }\n@-webkit-keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n@keyframes dashdraw {\n from {\n stroke-dashoffset: 10;\n }\n}\n.react-flow__edgelabel-renderer {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n.react-flow__edge.updating .react-flow__edge-path {\n stroke: #777;\n }\n.react-flow__edge-text {\n font-size: 10px;\n }\n.react-flow__node-default,\n.react-flow__node-input,\n.react-flow__node-output,\n.react-flow__node-group {\n padding: 10px;\n border-radius: 3px;\n width: 150px;\n font-size: 12px;\n color: #222;\n text-align: center;\n border-width: 1px;\n border-style: solid;\n border-color: #1a192b;\n background-color: white;\n}\n.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n }\n.react-flow__node-default.selectable.selected,\n .react-flow__node-default.selectable:focus,\n .react-flow__node-default.selectable:focus-visible,\n .react-flow__node-input.selectable.selected,\n .react-flow__node-input.selectable:focus,\n .react-flow__node-input.selectable:focus-visible,\n .react-flow__node-output.selectable.selected,\n .react-flow__node-output.selectable:focus,\n .react-flow__node-output.selectable:focus-visible,\n .react-flow__node-group.selectable.selected,\n .react-flow__node-group.selectable:focus,\n .react-flow__node-group.selectable:focus-visible {\n box-shadow: 0 0 0 0.5px #1a192b;\n outline: none;\n }\n.react-flow__node-group {\n background-color: rgba(240, 240, 240, 0.25);\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n background: rgba(0, 89, 220, 0.08);\n border: 1px dotted rgba(0, 89, 220, 0.8);\n}\n.react-flow__nodesselection-rect:focus,\n .react-flow__nodesselection-rect:focus-visible,\n .react-flow__selection:focus,\n .react-flow__selection:focus-visible {\n outline: none;\n }\n.react-flow__controls {\n box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n}\n.react-flow__controls-button {\n border: none;\n background: #fefefe;\n border-bottom: 1px solid #eee;\n box-sizing: content-box;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 16px;\n height: 16px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n padding: 5px;\n }\n.react-flow__controls-button:hover {\n background: #f4f4f4;\n }\n.react-flow__controls-button svg {\n width: 100%;\n max-width: 12px;\n max-height: 12px;\n }\n.react-flow__minimap {\n background-color: #fff;\n}\n"],"names":[],"sourceRoot":""}
|