This is an automated email from the ASF dual-hosted git repository. shengquan pushed a commit to branch shengquan-add-reconfigration in repository https://gitbox.apache.org/repos/asf/texera.git
commit 8b5d90fb376ee67b35813053ba193e759ff9c182 Merge: 97e45aeaae 286a39626a Author: Shengquan Ni <[email protected]> AuthorDate: Sat Feb 14 19:27:36 2026 -0800 Merge branch 'main' into shengquan-add-reconfigration .github/release/vote-email-template.md | 64 +- .github/workflows/create-release-candidate.yml | 23 +- .github/workflows/github-action-build.yml | 15 + .../service/resource/AccessControlResource.scala | 11 +- amber/requirements.txt | 1 + amber/src/main/python/core/models/operator.py | 45 +- .../input_port_materialization_reader_runnable.py | 3 +- .../controller/execution/WorkflowExecution.scala | 18 +- .../QueryWorkerStatisticsHandler.scala | 32 +- .../texera/web/resource/auth/AuthResource.scala | 2 + .../user/workflow/WorkflowAccessResourceSpec.scala | 405 +++++++++ bin/k8s/Chart.yaml | 10 +- .../access-control-service-deployment.yaml | 4 + bin/k8s/templates/envoy-config.yaml | 147 ---- bin/k8s/templates/envoy-deployment.yaml | 49 -- .../{envoy-service.yaml => gateway-backend.yaml} | 18 +- bin/k8s/templates/gateway-routes.yaml | 142 ++++ ...y-service.yaml => gateway-security-policy.yaml} | 33 +- bin/k8s/templates/gateway.yaml | 81 ++ bin/k8s/templates/ingress.yaml | 53 -- bin/k8s/templates/minio-ingress.yaml | 65 -- bin/k8s/values.yaml | 126 +-- build.sbt | 9 +- common/config/src/main/resources/kubernetes.conf | 5 +- .../apache/texera/config/KubernetesConfig.scala | 1 + {file-service => common/pybuilder}/build.sbt | 40 +- .../texera/amber/pybuilder/BoundaryValidator.scala | 187 +++++ .../amber/pybuilder/EncodableInspector.scala | 162 ++++ .../amber/pybuilder/EncodableStringAnnotation.java | 24 +- .../texera/amber/pybuilder/PythonLexerUtils.scala | 84 ++ .../amber/pybuilder/PythonTemplateBuilder.scala | 481 +++++++++++ .../amber/pybuilder/PythonLexerUtilsSpec.scala | 167 ++++ .../pybuilder/PythonTemplateBuilderSpec.scala | 598 ++++++++++++++ common/workflow-core/build.sbt | 2 +- .../texera/service/util/S3StorageClient.scala | 1 + common/workflow-operator/build.sbt | 2 + .../apache/texera/amber/operator/LogicalOp.scala | 4 +- .../HuggingFaceIrisLogisticRegressionOpDesc.scala | 23 +- .../HuggingFaceSentimentAnalysisOpDesc.scala | 18 +- .../HuggingFaceSpamSMSDetectionOpDesc.scala | 18 +- .../HuggingFaceTextSummarizationOpDesc.scala | 14 +- .../Scorer/MachineLearningScorerOpDesc.scala | 20 +- .../sklearnAdvanced/base/HyperParameters.scala | 5 +- .../base/SklearnAdvancedBaseDesc.scala | 62 +- .../operator/sklearn/SklearnClassifierOpDesc.scala | 16 +- .../sklearn/SklearnLinearRegressionOpDesc.scala | 12 +- .../operator/sklearn/SklearnPredictionOpDesc.scala | 22 +- .../sklearn/testing/SklearnTestingOpDesc.scala | 115 +++ .../sklearn/training/SklearnTrainingOpDesc.scala | 16 +- .../amber/operator/sort/SortCriteriaUnit.scala | 3 +- .../texera/amber/operator/sort/SortOpDesc.scala | 7 +- .../apis/reddit/RedditSearchSourceOpDesc.scala | 26 +- .../operator/timeSeriesPlot/TimeSeriesPlot.scala | 30 +- .../visualization/DotPlot/DotPlotOpDesc.scala | 21 +- .../IcicleChart/IcicleChartOpDesc.scala | 31 +- .../ImageViz/ImageVisualizerOpDesc.scala | 19 +- .../ScatterMatrixChartOpDesc.scala | 23 +- .../visualization/barChart/BarChartOpDesc.scala | 33 +- .../boxViolinPlot/BoxViolinPlotOpDesc.scala | 35 +- .../bubbleChart/BubbleChartOpDesc.scala | 39 +- .../bulletChart/BulletChartOpDesc.scala | 22 +- .../bulletChart/BulletChartStepDefinition.scala | 5 +- .../candlestickChart/CandlestickChartOpDesc.scala | 26 +- .../choroplethMap/ChoroplethMapOpDesc.scala | 31 +- .../continuousErrorBands/BandConfig.scala | 7 +- .../ContinuousErrorBandsOpDesc.scala | 47 +- .../contourPlot/ContourPlotOpDesc.scala | 28 +- .../dendrogram/DendrogramOpDesc.scala | 33 +- .../dumbbellPlot/DumbbellDotConfig.scala | 3 +- .../dumbbellPlot/DumbbellPlotOpDesc.scala | 49 +- .../FigureFactoryTableConfig.scala | 3 +- .../FigureFactoryTableOpDesc.scala | 55 +- .../filledAreaPlot/FilledAreaPlotOpDesc.scala | 55 +- .../funnelPlot/FunnelPlotOpDesc.scala | 40 +- .../ganttChart/GanttChartOpDesc.scala | 41 +- .../gaugeChart/GaugeChartOpDesc.scala | 22 +- .../visualization/gaugeChart/GaugeChartSteps.scala | 5 +- .../visualization/heatMap/HeatMapOpDesc.scala | 23 +- .../hierarchychart/HierarchyChartOpDesc.scala | 31 +- .../hierarchychart/HierarchySection.scala | 3 +- .../histogram/HistogramChartOpDesc.scala | 45 +- .../histogram2d/Histogram2DOpDesc.scala | 28 +- .../visualization/lineChart/LineChartOpDesc.scala | 37 +- .../visualization/lineChart/LineConfig.scala | 9 +- .../nestedTable/NestedTableConfig.scala | 7 +- .../nestedTable/NestedTableOpDesc.scala | 18 +- .../networkGraph/NetworkGraphOpDesc.scala | 34 +- .../visualization/pieChart/PieChartOpDesc.scala | 31 +- .../quiverPlot/QuiverPlotOpDesc.scala | 29 +- .../rangeSlider/RangeSliderOpDesc.scala | 39 +- .../sankeyDiagram/SankeyDiagramOpDesc.scala | 75 +- .../scatter3DChart/Scatter3dChartOpDesc.scala | 61 +- .../scatterplot/ScatterplotOpDesc.scala | 51 +- .../stripChart/StripChartOpDesc.scala | 40 +- .../visualization/tablesChart/TablesConfig.scala | 3 +- .../tablesChart/TablesPlotOpDesc.scala | 42 +- .../ternaryPlot/TernaryPlotOpDesc.scala | 39 +- .../visualization/treeplot/TreeplotOpDesc.scala | 12 +- .../volcanoPlot/VolcanoPlotOpDesc.scala | 20 +- .../waterfallChart/WaterfallChartOpDesc.scala | 23 +- .../visualization/wordCloud/WordCloudOpDesc.scala | 31 +- .../TimeSeriesOpDescSpec.scala} | 35 +- .../visualization/DotPlot/DotPlotOpDescSpec.scala | 3 +- .../barChart/BarChartOpDescSpec.scala | 2 +- .../bubbleChart/BubbleChartOpDescSpec.scala | 3 +- .../ganttChart/GanttChartOpDescSpec.scala | 15 +- .../hierarchychart/HierarchyChartOpDescSpec.scala | 2 - .../texera/amber/pybuilder/DescriptorChecker.scala | 902 +++++++++++++++++++++ .../amber/pybuilder/PythonClassgraphScanner.scala | 56 ++ .../amber/pybuilder/PythonConsoleCapture.scala | 44 + .../pybuilder/PythonRawTextReportRenderer.scala | 53 ++ .../pybuilder/PythonReflectionTextUtils.scala | 64 ++ .../amber/pybuilder/PythonReflectionUtils.scala | 65 ++ .../amber/util/PythonCodeRawInvalidTextSpec.scala | 266 ++++++ file-service/build.sbt | 2 +- .../texera/service/resource/DatasetResource.scala | 339 +++++--- .../service/resource/DatasetResourceSpec.scala | 581 ++++++++++++- frontend/src/app/app.module.ts | 2 + .../conflicting-file-modal-content.component.html | 35 + .../conflicting-file-modal-content.component.scss} | 12 +- .../conflicting-file-modal-content.component.ts} | 21 +- .../files-uploader/files-uploader.component.ts | 214 ++++- .../dataset-detail.component.ts | 31 +- .../service/user/dataset/dataset.service.ts | 91 +-- .../app/dashboard/type/dashboard-file.interface.ts | 1 + .../workspace/component/menu/menu.component.html | 8 + .../app/workspace/component/menu/menu.component.ts | 18 + .../workflow-editor/workflow-editor.component.scss | 4 + .../workflow-editor/workflow-editor.component.ts | 1 + .../workspace/service/joint-ui/joint-ui.service.ts | 19 + .../src/assets/operator_images/SklearnTesting.png | Bin 0 -> 843070 bytes sql/texera_ddl.sql | 1 + sql/updates/20.sql | 37 + 133 files changed, 6245 insertions(+), 1607 deletions(-)
