gitextract_mvod0m3k/ ├── .asf.yaml ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-template.yaml │ │ ├── feature-template.yaml │ │ └── task-template.yaml │ ├── PULL_REQUEST_TEMPLATE │ ├── labeler.yml │ ├── release/ │ │ └── vote-email-template.md │ ├── scripts/ │ │ ├── compose-backport-message.py │ │ └── prepare-backport-checkout.sh │ └── workflows/ │ ├── auto-queue.yml │ ├── automatic-email-notif-on-ddl-change.yml │ ├── build-and-push-images.yml │ ├── build.yml │ ├── check-header.yml │ ├── comment-commands.yml │ ├── create-release-candidate.yml │ ├── direct-backport-push.yml │ ├── license-binary-checker.yml │ ├── lint-pr.yml │ ├── pr-assignment.yml │ ├── pr-labeler.yml │ └── required-checks.yml ├── .gitignore ├── .jvmopts ├── .licenserc.yaml ├── .run/ │ ├── AccessControlService.run.xml │ ├── ComputingUnitManagingService.run.xml │ ├── ComputingUnitMaster.run.xml │ ├── ComputingUnitWorker.run.xml │ ├── ConfigService.run.xml │ ├── FileService.run.xml │ ├── TexeraWebApplication.run.xml │ ├── WorkflowCompilingService.run.xml │ ├── frontend.run.xml │ ├── texera micro services.run.xml │ └── texera-lakefs.run.xml ├── .scalafix.conf ├── .scalafmt.conf ├── AGENTS.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── DISCLAIMER ├── LICENSE ├── NOTICE ├── README.md ├── SECURITY.md ├── access-control-service/ │ ├── LICENSE-binary │ ├── NOTICE-binary │ ├── build.sbt │ ├── project/ │ │ └── build.properties │ └── src/ │ ├── main/ │ │ ├── resources/ │ │ │ ├── access-control-service-web-config.yaml │ │ │ └── logback.xml │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── service/ │ │ ├── AccessControlService.scala │ │ ├── AccessControlServiceConfiguration.scala │ │ ├── activity/ │ │ │ └── UserActivityEventListener.scala │ │ └── resource/ │ │ ├── AccessControlResource.scala │ │ └── HealthCheckResource.scala │ └── test/ │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ ├── AccessControlResourceSpec.scala │ └── service/ │ ├── AccessControlServiceRunSpec.scala │ └── activity/ │ └── UserActivityEventListenerSpec.scala ├── agent-service/ │ ├── .dockerignore │ ├── .prettierrc │ ├── LICENSE-binary │ ├── bin/ │ │ └── collect-licenses.ts │ ├── package.json │ ├── src/ │ │ ├── agent/ │ │ │ ├── index.ts │ │ │ ├── prompts.ts │ │ │ ├── texera-agent.ts │ │ │ ├── tools/ │ │ │ │ ├── index.ts │ │ │ │ ├── result-formatting.test.ts │ │ │ │ ├── result-formatting.ts │ │ │ │ ├── tools-utility.test.ts │ │ │ │ ├── tools-utility.ts │ │ │ │ ├── workflow-crud-tools.ts │ │ │ │ └── workflow-execution-tools.ts │ │ │ ├── util/ │ │ │ │ ├── auto-layout.test.ts │ │ │ │ ├── auto-layout.ts │ │ │ │ ├── context-utils.ts │ │ │ │ ├── workflow-system-metadata.ts │ │ │ │ └── workflow-utils.ts │ │ │ ├── workflow-result-state.test.ts │ │ │ ├── workflow-result-state.ts │ │ │ ├── workflow-state.test.ts │ │ │ └── workflow-state.ts │ │ ├── api/ │ │ │ ├── auth-api.ts │ │ │ ├── backend-api.ts │ │ │ ├── compile-api.ts │ │ │ ├── execution-api.ts │ │ │ ├── index.ts │ │ │ └── workflow-api.ts │ │ ├── config/ │ │ │ └── env.ts │ │ ├── index.ts │ │ ├── logger.ts │ │ ├── server.test.ts │ │ ├── server.ts │ │ └── types/ │ │ ├── agent.ts │ │ ├── execution.ts │ │ ├── index.ts │ │ └── workflow.ts │ └── tsconfig.json ├── amber/ │ ├── .scalafix.conf │ ├── .scalafmt.conf │ ├── DESCRIPTION │ ├── LICENSE-binary-java │ ├── LICENSE-binary-python │ ├── NOTICE-binary │ ├── README.md │ ├── build.sbt │ ├── dev-requirements.txt │ ├── operator-requirements.txt │ ├── project/ │ │ ├── build.properties │ │ └── plugins.sbt │ ├── pyproject.toml │ ├── requirements.txt │ └── src/ │ ├── main/ │ │ ├── protobuf/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── texera/ │ │ │ └── amber/ │ │ │ └── engine/ │ │ │ ├── architecture/ │ │ │ │ ├── rpc/ │ │ │ │ │ ├── controlcommands.proto │ │ │ │ │ ├── controllerservice.proto │ │ │ │ │ ├── controlreturns.proto │ │ │ │ │ ├── testerservice.proto │ │ │ │ │ └── workerservice.proto │ │ │ │ ├── sendsemantics/ │ │ │ │ │ └── partitionings.proto │ │ │ │ └── worker/ │ │ │ │ └── statistics.proto │ │ │ └── common/ │ │ │ ├── actormessage.proto │ │ │ ├── ambermessage.proto │ │ │ └── executionruntimestate.proto │ │ ├── python/ │ │ │ ├── core/ │ │ │ │ ├── __init__.py │ │ │ │ ├── architecture/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── handlers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── actorcommand/ │ │ │ │ │ │ │ ├── actor_handler_base.py │ │ │ │ │ │ │ ├── backpressure_handler.py │ │ │ │ │ │ │ └── credit_update_handler.py │ │ │ │ │ │ └── control/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── add_input_channel_handler.py │ │ │ │ │ │ ├── add_partitioning_handler.py │ │ │ │ │ │ ├── assign_port_handler.py │ │ │ │ │ │ ├── control_handler_base.py │ │ │ │ │ │ ├── debug_command_handler.py │ │ │ │ │ │ ├── end_channel_handler.py │ │ │ │ │ │ ├── end_worker_handler.py │ │ │ │ │ │ ├── evaluate_expression_handler.py │ │ │ │ │ │ ├── initialize_executor_handler.py │ │ │ │ │ │ ├── no_operation_handler.py │ │ │ │ │ │ ├── open_executor_handler.py │ │ │ │ │ │ ├── pause_worker_handler.py │ │ │ │ │ │ ├── query_statistics_handler.py │ │ │ │ │ │ ├── replay_current_tuple_handler.py │ │ │ │ │ │ ├── resume_worker_handler.py │ │ │ │ │ │ ├── start_channel_handler.py │ │ │ │ │ │ ├── start_worker_handler.py │ │ │ │ │ │ └── update_executor_handler.py │ │ │ │ │ ├── managers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── console_message_manager.py │ │ │ │ │ │ ├── context.py │ │ │ │ │ │ ├── debug_manager.py │ │ │ │ │ │ ├── embedded_control_message_manager.py │ │ │ │ │ │ ├── exception_manager.py │ │ │ │ │ │ ├── executor_manager.py │ │ │ │ │ │ ├── pause_manager.py │ │ │ │ │ │ ├── state_manager.py │ │ │ │ │ │ ├── state_processing_manager.py │ │ │ │ │ │ ├── statistics_manager.py │ │ │ │ │ │ └── tuple_processing_manager.py │ │ │ │ │ ├── packaging/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── input_manager.py │ │ │ │ │ │ └── output_manager.py │ │ │ │ │ ├── rpc/ │ │ │ │ │ │ ├── async_rpc_client.py │ │ │ │ │ │ ├── async_rpc_handler_initializer.py │ │ │ │ │ │ └── async_rpc_server.py │ │ │ │ │ └── sendsemantics/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── broad_cast_partitioner.py │ │ │ │ │ ├── hash_based_shuffle_partitioner.py │ │ │ │ │ ├── one_to_one_partitioner.py │ │ │ │ │ ├── partitioner.py │ │ │ │ │ ├── range_based_shuffle_partitioner.py │ │ │ │ │ └── round_robin_partitioner.py │ │ │ │ ├── models/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── batch.py │ │ │ │ │ ├── internal_marker.py │ │ │ │ │ ├── internal_queue.py │ │ │ │ │ ├── operator.py │ │ │ │ │ ├── payload.py │ │ │ │ │ ├── schema/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── arrow_schema_utils.py │ │ │ │ │ │ ├── attribute_type.py │ │ │ │ │ │ ├── attribute_type_utils.py │ │ │ │ │ │ ├── field.py │ │ │ │ │ │ └── schema.py │ │ │ │ │ ├── single_blocking_io.py │ │ │ │ │ ├── state.py │ │ │ │ │ ├── table.py │ │ │ │ │ ├── tuple.py │ │ │ │ │ └── type/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── large_binary.py │ │ │ │ ├── proxy/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── proxy_client.py │ │ │ │ │ └── proxy_server.py │ │ │ │ ├── python_worker.py │ │ │ │ ├── runnables/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── data_processor.py │ │ │ │ │ ├── heartbeat.py │ │ │ │ │ ├── main_loop.py │ │ │ │ │ ├── network_receiver.py │ │ │ │ │ └── network_sender.py │ │ │ │ ├── storage/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── document_factory.py │ │ │ │ │ ├── iceberg/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── iceberg_catalog_instance.py │ │ │ │ │ │ ├── iceberg_document.py │ │ │ │ │ │ ├── iceberg_table_writer.py │ │ │ │ │ │ └── iceberg_utils.py │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── buffered_item_writer.py │ │ │ │ │ │ ├── readonly_virtual_document.py │ │ │ │ │ │ └── virtual_document.py │ │ │ │ │ ├── runnables/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── input_port_materialization_reader_runnable.py │ │ │ │ │ │ └── port_storage_writer.py │ │ │ │ │ ├── storage_config.py │ │ │ │ │ └── vfs_uri_factory.py │ │ │ │ └── util/ │ │ │ │ ├── __init__.py │ │ │ │ ├── atomic.py │ │ │ │ ├── base_protocols.py │ │ │ │ ├── buffer/ │ │ │ │ │ ├── buffer_base.py │ │ │ │ │ └── timed_buffer.py │ │ │ │ ├── console_message/ │ │ │ │ │ ├── replace_print.py │ │ │ │ │ ├── timed_buffer.py │ │ │ │ │ └── timestamp.py │ │ │ │ ├── customized_queue/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── double_blocking_queue.py │ │ │ │ │ ├── inner.py │ │ │ │ │ ├── linked_blocking_multi_queue.py │ │ │ │ │ └── queue_base.py │ │ │ │ ├── expression_evaluator.py │ │ │ │ ├── proto/ │ │ │ │ │ └── __init__.py │ │ │ │ ├── runnable.py │ │ │ │ ├── stoppable/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── stoppable.py │ │ │ │ │ └── stoppable_queue_blocking_thread.py │ │ │ │ └── virtual_identity.py │ │ │ ├── proto/ │ │ │ │ ├── __init__.py │ │ │ │ ├── org/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── apache/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── texera/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── amber/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ └── engine/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── architecture/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── rpc/ │ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ │ ├── sendsemantics/ │ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ │ └── worker/ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ └── common/ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ └── web/ │ │ │ │ │ └── __init__.py │ │ │ │ └── scalapb/ │ │ │ │ └── __init__.py │ │ │ ├── pyamber/ │ │ │ │ └── __init__.py │ │ │ ├── pytexera/ │ │ │ │ ├── __init__.py │ │ │ │ ├── storage/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── dataset_file_document.py │ │ │ │ │ ├── large_binary_input_stream.py │ │ │ │ │ ├── large_binary_manager.py │ │ │ │ │ └── large_binary_output_stream.py │ │ │ │ └── udf/ │ │ │ │ ├── __init__.py │ │ │ │ ├── examples/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── count_batch_operator.py │ │ │ │ │ ├── echo_operator.py │ │ │ │ │ ├── echo_table_operator.py │ │ │ │ │ ├── generator_operator_binary.py │ │ │ │ │ ├── generator_operator_integer.py │ │ │ │ │ ├── join_operator.py │ │ │ │ │ └── rudf/ │ │ │ │ │ ├── r_table_operator.py │ │ │ │ │ └── r_tuple_operator.py │ │ │ │ └── udf_operator.py │ │ │ └── texera_run_python_worker.py │ │ ├── resources/ │ │ │ ├── cache.ccf │ │ │ ├── computing-unit-master-config.yml │ │ │ ├── logback.xml │ │ │ ├── texera-compiling-service-web-config.yml │ │ │ └── web-config.yml │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ ├── amber/ │ │ │ ├── clustering/ │ │ │ │ ├── ClusterListener.scala │ │ │ │ └── SingleNodeListener.scala │ │ │ ├── engine/ │ │ │ │ ├── architecture/ │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── AmberProcessor.scala │ │ │ │ │ │ ├── ExecutorDeployment.scala │ │ │ │ │ │ ├── PekkoActorRefMappingService.scala │ │ │ │ │ │ ├── PekkoActorService.scala │ │ │ │ │ │ ├── PekkoMessageTransferService.scala │ │ │ │ │ │ ├── ProcessingStepCursor.scala │ │ │ │ │ │ └── WorkflowActor.scala │ │ │ │ │ ├── controller/ │ │ │ │ │ │ ├── ClientEvent.scala │ │ │ │ │ │ ├── Controller.scala │ │ │ │ │ │ ├── ControllerAsyncRPCHandlerInitializer.scala │ │ │ │ │ │ ├── ControllerProcessor.scala │ │ │ │ │ │ ├── ControllerTimerService.scala │ │ │ │ │ │ ├── GlobalReplayManager.scala │ │ │ │ │ │ ├── Workflow.scala │ │ │ │ │ │ ├── WorkflowScheduler.scala │ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ │ ├── ChannelExecution.scala │ │ │ │ │ │ │ ├── ExecutionUtils.scala │ │ │ │ │ │ │ ├── LinkExecution.scala │ │ │ │ │ │ │ ├── OperatorExecution.scala │ │ │ │ │ │ │ ├── RegionExecution.scala │ │ │ │ │ │ │ ├── WorkerPortExecution.scala │ │ │ │ │ │ │ └── WorkflowExecution.scala │ │ │ │ │ │ └── promisehandlers/ │ │ │ │ │ │ ├── ConsoleMessageHandler.scala │ │ │ │ │ │ ├── DebugCommandHandler.scala │ │ │ │ │ │ ├── EmbeddedControlMessageHandler.scala │ │ │ │ │ │ ├── EvaluatePythonExpressionHandler.scala │ │ │ │ │ │ ├── JumpToOperatorRegionHandler.scala │ │ │ │ │ │ ├── LinkWorkersHandler.scala │ │ │ │ │ │ ├── PauseHandler.scala │ │ │ │ │ │ ├── PortCompletedHandler.scala │ │ │ │ │ │ ├── QueryWorkerStatisticsHandler.scala │ │ │ │ │ │ ├── ReconfigurationHandler.scala │ │ │ │ │ │ ├── ResumeHandler.scala │ │ │ │ │ │ ├── RetrieveWorkflowStateHandler.scala │ │ │ │ │ │ ├── RetryWorkflowHandler.scala │ │ │ │ │ │ ├── StartWorkflowHandler.scala │ │ │ │ │ │ ├── TakeGlobalCheckpointHandler.scala │ │ │ │ │ │ ├── WorkerExecutionCompletedHandler.scala │ │ │ │ │ │ └── WorkerStateUpdatedHandler.scala │ │ │ │ │ ├── deploysemantics/ │ │ │ │ │ │ ├── AddressInfo.scala │ │ │ │ │ │ ├── deploystrategy/ │ │ │ │ │ │ │ ├── DeployStrategy.scala │ │ │ │ │ │ │ ├── OneOnEach.scala │ │ │ │ │ │ │ ├── RandomDeployment.scala │ │ │ │ │ │ │ └── RoundRobinDeployment.scala │ │ │ │ │ │ └── layer/ │ │ │ │ │ │ └── WorkerExecution.scala │ │ │ │ │ ├── logreplay/ │ │ │ │ │ │ ├── AsyncReplayLogWriter.scala │ │ │ │ │ │ ├── EmptyReplayLogger.scala │ │ │ │ │ │ ├── OrderEnforcer.scala │ │ │ │ │ │ ├── ReplayLogGenerator.scala │ │ │ │ │ │ ├── ReplayLogManager.scala │ │ │ │ │ │ ├── ReplayLogger.scala │ │ │ │ │ │ ├── ReplayLoggerImpl.scala │ │ │ │ │ │ └── ReplayOrderEnforcer.scala │ │ │ │ │ ├── messaginglayer/ │ │ │ │ │ │ ├── AmberFIFOChannel.scala │ │ │ │ │ │ ├── CongestionControl.scala │ │ │ │ │ │ ├── DeadLetterMonitorActor.scala │ │ │ │ │ │ ├── FlowControl.scala │ │ │ │ │ │ ├── InputGateway.scala │ │ │ │ │ │ ├── InputManager.scala │ │ │ │ │ │ ├── NetworkInputGateway.scala │ │ │ │ │ │ ├── NetworkOutputGateway.scala │ │ │ │ │ │ ├── OrderingEnforcer.scala │ │ │ │ │ │ ├── OutputManager.scala │ │ │ │ │ │ ├── WorkerPort.scala │ │ │ │ │ │ └── WorkerTimerService.scala │ │ │ │ │ ├── pythonworker/ │ │ │ │ │ │ ├── PythonProxyClient.scala │ │ │ │ │ │ ├── PythonProxyServer.scala │ │ │ │ │ │ ├── PythonWorkflowWorker.scala │ │ │ │ │ │ └── WorkerBatchInternalQueue.scala │ │ │ │ │ ├── scheduling/ │ │ │ │ │ │ ├── CostBasedScheduleGenerator.scala │ │ │ │ │ │ ├── CostEstimator.scala │ │ │ │ │ │ ├── ExpansionGreedyScheduleGenerator.scala │ │ │ │ │ │ ├── Region.scala │ │ │ │ │ │ ├── RegionExecutionCoordinator.scala │ │ │ │ │ │ ├── RegionPlan.scala │ │ │ │ │ │ ├── Schedule.scala │ │ │ │ │ │ ├── ScheduleGenerator.scala │ │ │ │ │ │ ├── SchedulingUtils.scala │ │ │ │ │ │ ├── WorkflowExecutionCoordinator.scala │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ ├── ChannelConfig.scala │ │ │ │ │ │ │ ├── LinkConfig.scala │ │ │ │ │ │ │ ├── OperatorConfig.scala │ │ │ │ │ │ │ ├── PortConfig.scala │ │ │ │ │ │ │ ├── ResourceConfig.scala │ │ │ │ │ │ │ └── WorkerConfig.scala │ │ │ │ │ │ └── resourcePolicies/ │ │ │ │ │ │ ├── ExecutionClusterInfo.scala │ │ │ │ │ │ └── ResourceAllocator.scala │ │ │ │ │ ├── sendsemantics/ │ │ │ │ │ │ └── partitioners/ │ │ │ │ │ │ ├── BroadcastPartitioner.scala │ │ │ │ │ │ ├── HashBasedShufflePartitioner.scala │ │ │ │ │ │ ├── OneToOnePartitioner.scala │ │ │ │ │ │ ├── Partitioner.scala │ │ │ │ │ │ ├── RangeBasedShufflePartitioner.scala │ │ │ │ │ │ └── RoundRobinPartitioner.scala │ │ │ │ │ └── worker/ │ │ │ │ │ ├── DPThread.scala │ │ │ │ │ ├── DataProcessor.scala │ │ │ │ │ ├── DataProcessorRPCHandlerInitializer.scala │ │ │ │ │ ├── EmbeddedControlMessageManager.scala │ │ │ │ │ ├── PauseManager.scala │ │ │ │ │ ├── PauseType.scala │ │ │ │ │ ├── WorkflowWorker.scala │ │ │ │ │ ├── managers/ │ │ │ │ │ │ ├── InputPortMaterializationReaderThread.scala │ │ │ │ │ │ ├── OutputPortResultWriterThread.scala │ │ │ │ │ │ ├── SerializationManager.scala │ │ │ │ │ │ └── StatisticsManager.scala │ │ │ │ │ └── promisehandlers/ │ │ │ │ │ ├── AddInputChannelHandler.scala │ │ │ │ │ ├── AddPartitioningHandler.scala │ │ │ │ │ ├── AssignPortHandler.scala │ │ │ │ │ ├── EndChannelHandler.scala │ │ │ │ │ ├── EndHandler.scala │ │ │ │ │ ├── FinalizeCheckpointHandler.scala │ │ │ │ │ ├── FlushNetworkBufferHandler.scala │ │ │ │ │ ├── InitializeExecutorHandler.scala │ │ │ │ │ ├── OpenExecutorHandler.scala │ │ │ │ │ ├── PauseHandler.scala │ │ │ │ │ ├── PrepareCheckpointHandler.scala │ │ │ │ │ ├── QueryStatisticsHandler.scala │ │ │ │ │ ├── ResumeHandler.scala │ │ │ │ │ ├── RetrieveStateHandler.scala │ │ │ │ │ ├── StartChannelHandler.scala │ │ │ │ │ ├── StartHandler.scala │ │ │ │ │ └── UpdateExecutorHandler.scala │ │ │ │ └── common/ │ │ │ │ ├── AmberConfig.scala │ │ │ │ ├── AmberKryoInitializer.scala │ │ │ │ ├── AmberLogging.scala │ │ │ │ ├── AmberRuntime.scala │ │ │ │ ├── CheckpointState.scala │ │ │ │ ├── CheckpointSupport.scala │ │ │ │ ├── ElidableStatement.scala │ │ │ │ ├── FriesReconfigurationAlgorithm.scala │ │ │ │ ├── FutureBijection.scala │ │ │ │ ├── SerializedState.scala │ │ │ │ ├── Utils.scala │ │ │ │ ├── ambermessage/ │ │ │ │ │ ├── DataPayload.scala │ │ │ │ │ ├── DirectControlMessagePayload.scala │ │ │ │ │ ├── RecoveryPayload.scala │ │ │ │ │ ├── WorkflowFIFOMessagePayload.scala │ │ │ │ │ └── WorkflowMessage.scala │ │ │ │ ├── client/ │ │ │ │ │ ├── AmberClient.scala │ │ │ │ │ └── ClientActor.scala │ │ │ │ ├── rpc/ │ │ │ │ │ ├── AsyncRPCClient.scala │ │ │ │ │ ├── AsyncRPCHandlerInitializer.scala │ │ │ │ │ └── AsyncRPCServer.scala │ │ │ │ ├── statetransition/ │ │ │ │ │ ├── StateManager.scala │ │ │ │ │ └── WorkerStateManager.scala │ │ │ │ ├── storage/ │ │ │ │ │ ├── EmptyRecordStorage.scala │ │ │ │ │ ├── HDFSRecordStorage.scala │ │ │ │ │ ├── SequentialRecordStorage.scala │ │ │ │ │ └── VFSRecordStorage.scala │ │ │ │ └── virtualidentity/ │ │ │ │ └── util.scala │ │ │ └── error/ │ │ │ └── ErrorUtils.scala │ │ ├── web/ │ │ │ ├── ComputingUnitMaster.scala │ │ │ ├── ComputingUnitWorker.scala │ │ │ ├── ServletAwareConfigurator.scala │ │ │ ├── SessionState.scala │ │ │ ├── SubscriptionManager.scala │ │ │ ├── TexeraWebApplication.scala │ │ │ ├── TexeraWebConfiguration.java │ │ │ ├── WebsocketInput.scala │ │ │ ├── WorkflowLifecycleManager.scala │ │ │ ├── auth/ │ │ │ │ ├── GuestAuthFilter.scala │ │ │ │ ├── JwtAuth.scala │ │ │ │ ├── UserAuthenticator.scala │ │ │ │ └── UserRoleAuthorizer.scala │ │ │ ├── model/ │ │ │ │ ├── collab/ │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── CollabWebSocketEvent.scala │ │ │ │ │ │ ├── CommandEvent.scala │ │ │ │ │ │ ├── LockGrantedEvent.scala │ │ │ │ │ │ ├── LockRejectedEvent.scala │ │ │ │ │ │ ├── ReleaseLockEvent.scala │ │ │ │ │ │ ├── RestoreVersionEvent.scala │ │ │ │ │ │ └── WorkflowAccessEvent.scala │ │ │ │ │ ├── request/ │ │ │ │ │ │ ├── AcquireLockRequest.scala │ │ │ │ │ │ ├── CollabWebSocketRequest.scala │ │ │ │ │ │ ├── CommandRequest.scala │ │ │ │ │ │ ├── HeartBeatRequest.scala │ │ │ │ │ │ ├── RestoreVersionRequest.scala │ │ │ │ │ │ ├── TryLockRequest.scala │ │ │ │ │ │ └── WIdRequest.scala │ │ │ │ │ └── response/ │ │ │ │ │ └── HeartBeatResponse.scala │ │ │ │ ├── common/ │ │ │ │ │ └── AccessEntry.scala │ │ │ │ ├── http/ │ │ │ │ │ ├── request/ │ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ │ ├── UserLoginRequest.scala │ │ │ │ │ │ │ └── UserRegistrationRequest.scala │ │ │ │ │ │ └── result/ │ │ │ │ │ │ └── ResultExportRequest.scala │ │ │ │ │ └── response/ │ │ │ │ │ ├── SchemaPropagationResponse.scala │ │ │ │ │ ├── TokenIssueResponse.scala │ │ │ │ │ └── result/ │ │ │ │ │ └── ResultExportResponse.scala │ │ │ │ └── websocket/ │ │ │ │ ├── event/ │ │ │ │ │ ├── CacheStatusUpdateEvent.scala │ │ │ │ │ ├── ExecutionDurationUpdateEvent.scala │ │ │ │ │ ├── ExecutionStatusEnum.scala │ │ │ │ │ ├── OperatorStatisticsUpdateEvent.scala │ │ │ │ │ ├── PaginatedResultEvent.scala │ │ │ │ │ ├── RegionStateEvent.scala │ │ │ │ │ ├── TexeraWebSocketEvent.scala │ │ │ │ │ ├── WebResultUpdateEvent.scala │ │ │ │ │ ├── WorkerAssignmentUpdateEvent.scala │ │ │ │ │ ├── WorkflowAvailableResultEvent.scala │ │ │ │ │ ├── WorkflowErrorEvent.scala │ │ │ │ │ ├── WorkflowStateEvent.scala │ │ │ │ │ └── python/ │ │ │ │ │ └── ConsoleUpdateEvent.scala │ │ │ │ ├── request/ │ │ │ │ │ ├── EditingTimeCompilationRequest.scala │ │ │ │ │ ├── HeartBeatRequest.scala │ │ │ │ │ ├── ModifyLogicRequest.scala │ │ │ │ │ ├── ResultPaginationRequest.scala │ │ │ │ │ ├── RetryRequest.scala │ │ │ │ │ ├── SkipTupleRequest.scala │ │ │ │ │ ├── TexeraWebSocketRequest.scala │ │ │ │ │ ├── WorkflowCheckpointRequest.scala │ │ │ │ │ ├── WorkflowExecuteRequest.scala │ │ │ │ │ ├── WorkflowKillRequest.scala │ │ │ │ │ ├── WorkflowPauseRequest.scala │ │ │ │ │ ├── WorkflowResumeRequest.scala │ │ │ │ │ └── python/ │ │ │ │ │ ├── DebugCommandRequest.scala │ │ │ │ │ └── PythonExpressionEvaluateRequest.scala │ │ │ │ └── response/ │ │ │ │ ├── ClusterStatusUpdateEvent.scala │ │ │ │ ├── HeartBeatResponse.scala │ │ │ │ ├── ModifyLogicResponse.scala │ │ │ │ ├── RegionUpdateEvent.scala │ │ │ │ └── python/ │ │ │ │ └── PythonExpressionEvaluateResponse.scala │ │ │ ├── resource/ │ │ │ │ ├── CollaborationResource.scala │ │ │ │ ├── EmailTemplate.scala │ │ │ │ ├── GmailResource.scala │ │ │ │ ├── HealthCheckResource.scala │ │ │ │ ├── MockKillWorkerResource.scala │ │ │ │ ├── SuccessExecutionResult.scala │ │ │ │ ├── SyncExecutionResource.scala │ │ │ │ ├── SystemMetadataResource.scala │ │ │ │ ├── UserConfigResource.scala │ │ │ │ ├── WebsocketPayloadSizeTuner.scala │ │ │ │ ├── WorkflowWebsocketResource.scala │ │ │ │ ├── aiassistant/ │ │ │ │ │ ├── AiAssistantManager.scala │ │ │ │ │ ├── AiAssistantResource.scala │ │ │ │ │ ├── test_type_annotation_visitor.py │ │ │ │ │ └── type_annotation_visitor.py │ │ │ │ ├── auth/ │ │ │ │ │ ├── AuthResource.scala │ │ │ │ │ └── GoogleAuthResource.scala │ │ │ │ ├── dashboard/ │ │ │ │ │ ├── DashboardResource.scala │ │ │ │ │ ├── DatasetSearchQueryBuilder.scala │ │ │ │ │ ├── FulltextSearchQueryUtils.scala │ │ │ │ │ ├── ProjectSearchQueryBuilder.scala │ │ │ │ │ ├── SearchQueryBuilder.scala │ │ │ │ │ ├── UnifiedResourceSchema.scala │ │ │ │ │ ├── WorkflowSearchQueryBuilder.scala │ │ │ │ │ ├── admin/ │ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ │ └── AdminExecutionResource.scala │ │ │ │ │ │ ├── settings/ │ │ │ │ │ │ │ └── AdminSettingsResource.scala │ │ │ │ │ │ └── user/ │ │ │ │ │ │ └── AdminUserResource.scala │ │ │ │ │ ├── hub/ │ │ │ │ │ │ ├── ActionType.scala │ │ │ │ │ │ ├── EntityTables.scala │ │ │ │ │ │ ├── EntityType.scala │ │ │ │ │ │ └── HubResource.scala │ │ │ │ │ └── user/ │ │ │ │ │ ├── UserResource.scala │ │ │ │ │ ├── dataset/ │ │ │ │ │ │ ├── DatasetResource.scala │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── DatasetStatisticsUtils.scala │ │ │ │ │ ├── project/ │ │ │ │ │ │ ├── ProjectAccessResource.scala │ │ │ │ │ │ ├── ProjectResource.scala │ │ │ │ │ │ └── PublicProjectResource.scala │ │ │ │ │ ├── quota/ │ │ │ │ │ │ └── UserQuotaResource.scala │ │ │ │ │ └── workflow/ │ │ │ │ │ ├── WorkflowAccessResource.scala │ │ │ │ │ ├── WorkflowExecutionsResource.scala │ │ │ │ │ ├── WorkflowResource.scala │ │ │ │ │ └── WorkflowVersionResource.scala │ │ │ │ └── pythonvirtualenvironment/ │ │ │ │ ├── PveManager.scala │ │ │ │ ├── PveResource.scala │ │ │ │ └── PveWebsocketResource.scala │ │ │ ├── service/ │ │ │ │ ├── EmailNotificationService.scala │ │ │ │ ├── ExecutionConsoleService.scala │ │ │ │ ├── ExecutionReconfigurationService.scala │ │ │ │ ├── ExecutionResultService.scala │ │ │ │ ├── ExecutionRuntimeService.scala │ │ │ │ ├── ExecutionStatsService.scala │ │ │ │ ├── ExecutionsMetadataPersistService.scala │ │ │ │ ├── ResultExportService.scala │ │ │ │ ├── WorkflowEmailNotifier.scala │ │ │ │ ├── WorkflowExecutionService.scala │ │ │ │ └── WorkflowService.scala │ │ │ └── storage/ │ │ │ ├── ExecutionReconfigurationStore.scala │ │ │ ├── ExecutionStateStore.scala │ │ │ ├── StateStore.scala │ │ │ └── WorkflowStateStore.scala │ │ └── workflow/ │ │ ├── LogicalLink.scala │ │ ├── LogicalPlan.scala │ │ └── WorkflowCompiler.scala │ └── test/ │ ├── integration/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── amber/ │ │ ├── engine/ │ │ │ └── e2e/ │ │ │ └── ReconfigurationIntegrationSpec.scala │ │ ├── storage/ │ │ │ └── iceberg/ │ │ │ └── IcebergRestCatalogIntegrationSpec.scala │ │ └── tags/ │ │ └── IntegrationTest.java │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── web/ │ │ └── resource/ │ │ └── dashboard/ │ │ └── user/ │ │ └── dataset/ │ │ └── GitVersionControlLocalFileStorageSpec.java │ ├── python/ │ │ ├── core/ │ │ │ ├── architecture/ │ │ │ │ ├── handlers/ │ │ │ │ │ └── control/ │ │ │ │ │ ├── test_debug_command_handler.py │ │ │ │ │ ├── test_evaluate_expression_handler.py │ │ │ │ │ ├── test_replay_current_tuple_handler.py │ │ │ │ │ └── test_update_executor_handler.py │ │ │ │ ├── managers/ │ │ │ │ │ ├── test_console_message_manager.py │ │ │ │ │ ├── test_debug_manager.py │ │ │ │ │ ├── test_embedded_control_message_manager.py │ │ │ │ │ ├── test_exception_manager.py │ │ │ │ │ ├── test_executor_manager.py │ │ │ │ │ ├── test_pause_manager.py │ │ │ │ │ ├── test_state_manager.py │ │ │ │ │ ├── test_state_processing_manager.py │ │ │ │ │ ├── test_statistics_manager.py │ │ │ │ │ └── test_tuple_processing_manager.py │ │ │ │ ├── rpc/ │ │ │ │ │ └── test_async_rpc_client.py │ │ │ │ └── sendsemantics/ │ │ │ │ └── test_partitioners.py │ │ │ ├── models/ │ │ │ │ ├── schema/ │ │ │ │ │ └── test_schema.py │ │ │ │ ├── test_operator.py │ │ │ │ ├── test_state.py │ │ │ │ ├── test_table.py │ │ │ │ ├── test_tuple.py │ │ │ │ └── type/ │ │ │ │ └── test_large_binary.py │ │ │ ├── proxy/ │ │ │ │ ├── test_proxy_client.py │ │ │ │ └── test_proxy_server.py │ │ │ ├── runnables/ │ │ │ │ ├── test_console_message.py │ │ │ │ ├── test_data_processor.py │ │ │ │ ├── test_heartbeat.py │ │ │ │ ├── test_main_loop.py │ │ │ │ ├── test_network_receiver.py │ │ │ │ └── test_network_sender.py │ │ │ ├── storage/ │ │ │ │ └── iceberg/ │ │ │ │ ├── test_iceberg_document.py │ │ │ │ ├── test_iceberg_rest_catalog_integration.py │ │ │ │ ├── test_iceberg_utils_catalog.py │ │ │ │ └── test_iceberg_utils_large_binary.py │ │ │ ├── test_python_worker.py │ │ │ └── util/ │ │ │ ├── console_message/ │ │ │ │ └── test_replace_print.py │ │ │ ├── customized_queue/ │ │ │ │ ├── test_inner.py │ │ │ │ └── test_linked_blocking_multi_queue.py │ │ │ ├── test_atomic.py │ │ │ ├── test_expression_evaluator.py │ │ │ └── test_virtual_identity.py │ │ └── pytexera/ │ │ ├── storage/ │ │ │ ├── test_dataset_file_document.py │ │ │ ├── test_large_binary_input_stream.py │ │ │ ├── test_large_binary_manager.py │ │ │ └── test_large_binary_output_stream.py │ │ └── udf/ │ │ └── examples/ │ │ ├── test_count_batch_operator.py │ │ ├── test_echo_operator.py │ │ ├── test_echo_table_operator.py │ │ ├── test_generator_operator_binary.py │ │ └── test_generator_operator_integer.py │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ ├── amber/ │ │ ├── engine/ │ │ │ ├── architecture/ │ │ │ │ ├── common/ │ │ │ │ │ └── ProcessingStepCursorSpec.scala │ │ │ │ ├── control/ │ │ │ │ │ ├── TrivialControlSpec.scala │ │ │ │ │ └── utils/ │ │ │ │ │ ├── ChainHandler.scala │ │ │ │ │ ├── CollectHandler.scala │ │ │ │ │ ├── ErrorHandler.scala │ │ │ │ │ ├── MultiCallHandler.scala │ │ │ │ │ ├── NestedHandler.scala │ │ │ │ │ ├── PingPongHandler.scala │ │ │ │ │ ├── RecursionHandler.scala │ │ │ │ │ ├── TesterAsyncRPCHandlerInitializer.scala │ │ │ │ │ └── TrivialControlTester.scala │ │ │ │ ├── controller/ │ │ │ │ │ ├── ControllerSpec.scala │ │ │ │ │ ├── GlobalReplayManagerSpec.scala │ │ │ │ │ ├── WorkflowSchedulerSpec.scala │ │ │ │ │ └── execution/ │ │ │ │ │ ├── ExecutionUtilsSpec.scala │ │ │ │ │ ├── LinkExecutionSpec.scala │ │ │ │ │ ├── WorkerPortExecutionSpec.scala │ │ │ │ │ └── WorkflowExecutionSpec.scala │ │ │ │ ├── deploysemantics/ │ │ │ │ │ ├── AddressInfoSpec.scala │ │ │ │ │ ├── deploystrategy/ │ │ │ │ │ │ └── DeployStrategiesSpec.scala │ │ │ │ │ └── layer/ │ │ │ │ │ └── WorkerExecutionSpec.scala │ │ │ │ ├── logreplay/ │ │ │ │ │ ├── EmptyReplayLogManagerImplSpec.scala │ │ │ │ │ └── LogreplayPrimitivesSpec.scala │ │ │ │ ├── messaginglayer/ │ │ │ │ │ ├── AmberFIFOChannelSpec.scala │ │ │ │ │ ├── CongestionControlSpec.scala │ │ │ │ │ ├── FlowControlSpec.scala │ │ │ │ │ ├── NetworkInputGatewaySpec.scala │ │ │ │ │ ├── OrderingEnforcerSpec.scala │ │ │ │ │ ├── OutputManagerSpec.scala │ │ │ │ │ ├── RangeBasedShuffleSpec.scala │ │ │ │ │ └── WorkerPortSpec.scala │ │ │ │ ├── pythonworker/ │ │ │ │ │ └── PythonWorkflowWorkerSpec.scala │ │ │ │ ├── scheduling/ │ │ │ │ │ ├── CostBasedScheduleGeneratorSpec.scala │ │ │ │ │ ├── DefaultCostEstimatorSpec.scala │ │ │ │ │ ├── ExpansionGreedyScheduleGeneratorSpec.scala │ │ │ │ │ ├── RegionCoordinatorTestSupport.scala │ │ │ │ │ ├── RegionExecutionCoordinatorSpec.scala │ │ │ │ │ ├── RegionPlanSpec.scala │ │ │ │ │ ├── RegionSpec.scala │ │ │ │ │ ├── ScheduleSpec.scala │ │ │ │ │ ├── SchedulingUtilsSpec.scala │ │ │ │ │ ├── WorkflowExecutionCoordinatorSpec.scala │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── ChannelConfigSpec.scala │ │ │ │ │ │ ├── LinkConfigSpec.scala │ │ │ │ │ │ └── SchedulingConfigsSpec.scala │ │ │ │ │ └── resourcePolicies/ │ │ │ │ │ └── ResourcePoliciesSpec.scala │ │ │ │ ├── sendsemantics/ │ │ │ │ │ └── partitioners/ │ │ │ │ │ ├── NetworkOutputBufferSpec.scala │ │ │ │ │ └── PartitionersSpec.scala │ │ │ │ └── worker/ │ │ │ │ ├── DPThreadSpec.scala │ │ │ │ ├── DataProcessorSpec.scala │ │ │ │ ├── PauseTypeSpec.scala │ │ │ │ ├── WorkerSpec.scala │ │ │ │ ├── managers/ │ │ │ │ │ ├── OutputPortResultWriterThreadSpec.scala │ │ │ │ │ └── WorkerManagersSpec.scala │ │ │ │ └── promisehandlers/ │ │ │ │ └── EndHandlerSpec.scala │ │ │ ├── common/ │ │ │ │ ├── CheckpointSubsystemSpec.scala │ │ │ │ ├── UtilsSpec.scala │ │ │ │ ├── ambermessage/ │ │ │ │ │ ├── AmberMessageEnvelopesSpec.scala │ │ │ │ │ └── DataPayloadSpec.scala │ │ │ │ └── statetransition/ │ │ │ │ ├── StateManagerSpec.scala │ │ │ │ └── WorkerStateManagerSpec.scala │ │ │ ├── e2e/ │ │ │ │ ├── BatchSizePropagationSpec.scala │ │ │ │ ├── DataProcessingSpec.scala │ │ │ │ ├── PauseSpec.scala │ │ │ │ ├── ReconfigurationSpec.scala │ │ │ │ └── TestUtils.scala │ │ │ └── faulttolerance/ │ │ │ ├── CheckpointSpec.scala │ │ │ ├── LoggingSpec.scala │ │ │ └── ReplaySpec.scala │ │ └── error/ │ │ └── ErrorUtilsSpec.scala │ ├── web/ │ │ ├── auth/ │ │ │ └── UserAuthenticatorSpec.scala │ │ ├── resource/ │ │ │ ├── dashboard/ │ │ │ │ ├── file/ │ │ │ │ │ └── WorkflowResourceSpec.scala │ │ │ │ └── user/ │ │ │ │ └── workflow/ │ │ │ │ ├── WorkflowAccessResourceSpec.scala │ │ │ │ ├── WorkflowExecutionsResourceSpec.scala │ │ │ │ └── WorkflowVersionResourceSpec.scala │ │ │ └── pythonvirtualenvironment/ │ │ │ └── PveResourceSpec.scala │ │ └── service/ │ │ ├── ExecutionConsoleServiceSpec.scala │ │ ├── ExecutionReconfigurationServiceSpec.scala │ │ └── ExecutionResultServiceSpec.scala │ └── workflow/ │ ├── WorkflowCompilerSpec.scala │ └── common/ │ └── storage/ │ └── ReadonlyLocalFileDocumentSpec.scala ├── bin/ │ ├── .htaccess │ ├── README.md │ ├── access-control-service.dockerfile │ ├── add-computing-unit-worker.sh │ ├── agent-service.dockerfile │ ├── bootstrap-lakekeeper.sh │ ├── build-images.sh │ ├── build-services.sh │ ├── build.sh │ ├── computing-unit-managing-service.sh │ ├── computing-unit-master.dockerfile │ ├── computing-unit-worker.dockerfile │ ├── config-service.dockerfile │ ├── config-service.sh │ ├── config.php │ ├── cron-restart-crashed-worker.sh │ ├── deploy-daemon.sh │ ├── deploy-docker.sh │ ├── file-service.dockerfile │ ├── file-service.sh │ ├── fix-format.sh │ ├── forum/ │ │ ├── flarum.sql │ │ ├── macos-install.sh │ │ ├── start-flarum.sh │ │ └── ubuntu-install.sh │ ├── frontend-dev.sh │ ├── frontend-proto-gen.sh │ ├── frontend.sh │ ├── install-nltk.sh │ ├── k8s/ │ │ ├── Chart.yaml │ │ ├── README.md │ │ ├── templates/ │ │ │ ├── access-control-service-deployment.yaml │ │ │ ├── access-control-service-service.yaml │ │ │ ├── config-service-deployment.yaml │ │ │ ├── config-service-service.yaml │ │ │ ├── example-data-loader-job.yaml │ │ │ ├── external-names.yaml │ │ │ ├── file-service-deployment.yaml │ │ │ ├── file-service-service.yaml │ │ │ ├── gateway-backend.yaml │ │ │ ├── gateway-routes.yaml │ │ │ ├── gateway-security-policy.yaml │ │ │ ├── gateway.yaml │ │ │ ├── lakefs-secret.yaml │ │ │ ├── lakefs-setup-job.yaml │ │ │ ├── minio-persistence.yaml │ │ │ ├── postgresql-init-script-config.yaml │ │ │ ├── postgresql-persistence.yaml │ │ │ ├── pylsp.yaml │ │ │ ├── shared-editing-server.yaml │ │ │ ├── webserver-deployment.yaml │ │ │ ├── webserver-service.yaml │ │ │ ├── workflow-compiling-service-deployment.yaml │ │ │ ├── workflow-compiling-service-service.yaml │ │ │ ├── workflow-computing-unit-manager-deployment.yaml │ │ │ ├── workflow-computing-unit-manager-service-account.yaml │ │ │ ├── workflow-computing-unit-manager-service.yaml │ │ │ ├── workflow-computing-unit-master-prepull-daemonset.yaml │ │ │ ├── workflow-computing-unit-resource-quota.yaml │ │ │ ├── workflow-computing-units-namespace.yaml │ │ │ └── workflow-computing-units-service.yaml │ │ ├── values-development.yaml │ │ └── values.yaml │ ├── licensing/ │ │ ├── audit_jar_licenses.py │ │ ├── check_binary_deps.py │ │ ├── concat_license_binary.py │ │ └── test_check_binary_deps.py │ ├── litellm-config.yaml │ ├── merge-image-tags.sh │ ├── pylsp/ │ │ ├── Dockerfile │ │ ├── python-language-server.yaml │ │ └── run_pylsp.sh │ ├── python-language-service.sh │ ├── python-proto-gen.sh │ ├── server.sh │ ├── shared-editing-server.sh │ ├── single-node/ │ │ ├── DISCLAIMER │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── docker-compose.yml │ │ ├── examples/ │ │ │ ├── datasets/ │ │ │ │ ├── iris-species/ │ │ │ │ │ ├── Iris.csv │ │ │ │ │ └── description.txt │ │ │ │ └── popular-movies-of-imdb/ │ │ │ │ ├── TMDb_updated.csv │ │ │ │ └── description.txt │ │ │ ├── load-examples.sh │ │ │ └── workflows/ │ │ │ ├── [Example] Data Exploration on Movies Dataset.json │ │ │ └── [Example] Machine Learning on Iris Dataset.json │ │ ├── litellm-config.yaml │ │ └── nginx.conf │ ├── terminate-daemon.sh │ ├── texera-web-application.dockerfile │ ├── utils/ │ │ ├── resolve-texera-home.sh │ │ └── texera-logging.sh │ ├── workflow-compiling-service.dockerfile │ ├── workflow-compiling-service.sh │ ├── workflow-computing-unit-managing-service.dockerfile │ ├── workflow-computing-unit.sh │ └── y-websocket-server/ │ ├── Dockerfile │ └── package.json ├── build.sbt ├── codecov.yml ├── common/ │ ├── auth/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ └── scala/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── texera/ │ │ │ └── auth/ │ │ │ ├── JwtAuth.scala │ │ │ ├── JwtAuthFilter.scala │ │ │ ├── JwtParser.scala │ │ │ ├── RequestLoggingFilter.scala │ │ │ ├── SessionUser.scala │ │ │ ├── UserActivityTracker.scala │ │ │ └── util/ │ │ │ ├── ComputingUnitAccess.scala │ │ │ └── HeaderField.scala │ │ └── test/ │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── auth/ │ │ ├── JwtParserSpec.scala │ │ └── UserActivityTrackerSpec.scala │ ├── config/ │ │ ├── build.sbt │ │ └── src/ │ │ └── main/ │ │ ├── resources/ │ │ │ ├── application.conf │ │ │ ├── auth.conf │ │ │ ├── cluster.conf │ │ │ ├── computing-unit.conf │ │ │ ├── default.conf │ │ │ ├── gui.conf │ │ │ ├── kubernetes.conf │ │ │ ├── llm.conf │ │ │ ├── storage.conf │ │ │ ├── udf.conf │ │ │ └── user-system.conf │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ ├── amber/ │ │ │ ├── config/ │ │ │ │ ├── ApplicationConfig.scala │ │ │ │ ├── EnvironmentalVariable.scala │ │ │ │ ├── PekkoConfig.scala │ │ │ │ ├── PythonUtils.scala │ │ │ │ ├── StorageConfig.scala │ │ │ │ └── UdfConfig.scala │ │ │ └── util/ │ │ │ └── ConfigParserUtil.scala │ │ └── config/ │ │ ├── AuthConfig.scala │ │ ├── ComputingUnitConfig.scala │ │ ├── DefaultsConfig.scala │ │ ├── GuiConfig.scala │ │ ├── KubernetesConfig.scala │ │ ├── LLMConfig.scala │ │ └── UserSystemConfig.scala │ ├── dao/ │ │ ├── .gitignore │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── resources/ │ │ │ │ └── jooq-conf.xml │ │ │ └── scala/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── texera/ │ │ │ └── dao/ │ │ │ ├── SiteSettings.scala │ │ │ └── SqlServer.scala │ │ └── test/ │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── dao/ │ │ ├── MockTexeraDB.scala │ │ └── SiteSettingsSpec.scala │ ├── pybuilder/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ └── scala/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── texera/ │ │ │ └── amber/ │ │ │ └── pybuilder/ │ │ │ ├── BoundaryValidator.scala │ │ │ ├── EncodableInspector.scala │ │ │ ├── EncodableStringAnnotation.java │ │ │ ├── PythonLexerUtils.scala │ │ │ └── PythonTemplateBuilder.scala │ │ └── test/ │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── amber/ │ │ └── pybuilder/ │ │ ├── PythonLexerUtilsSpec.scala │ │ ├── PythonTemplateBuilderApiSpec.scala │ │ └── PythonTemplateBuilderSpec.scala │ ├── workflow-core/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── protobuf/ │ │ │ │ ├── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── texera/ │ │ │ │ │ └── amber/ │ │ │ │ │ └── core/ │ │ │ │ │ ├── executor.proto │ │ │ │ │ ├── virtualidentity.proto │ │ │ │ │ ├── workflow.proto │ │ │ │ │ └── workflowruntimestate.proto │ │ │ │ └── scalapb/ │ │ │ │ └── scalapb.proto │ │ │ └── scala/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── texera/ │ │ │ ├── amber/ │ │ │ │ ├── core/ │ │ │ │ │ ├── WorkflowRuntimeException.scala │ │ │ │ │ ├── executor/ │ │ │ │ │ │ ├── ExecFactory.scala │ │ │ │ │ │ ├── JavaRuntimeCompilation.scala │ │ │ │ │ │ ├── OperatorExecutor.scala │ │ │ │ │ │ └── SourceOperatorExecutor.scala │ │ │ │ │ ├── state/ │ │ │ │ │ │ └── State.scala │ │ │ │ │ ├── storage/ │ │ │ │ │ │ ├── DocumentFactory.scala │ │ │ │ │ │ ├── FileResolver.scala │ │ │ │ │ │ ├── IcebergCatalogInstance.scala │ │ │ │ │ │ ├── VFSURIFactory.scala │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── BufferedItemWriter.scala │ │ │ │ │ │ │ ├── DatasetFileDocument.scala │ │ │ │ │ │ │ ├── OnDataset.scala │ │ │ │ │ │ │ ├── ReadonlyLocalFileDocument.scala │ │ │ │ │ │ │ ├── ReadonlyVirtualDocument.scala │ │ │ │ │ │ │ ├── VirtualCollection.scala │ │ │ │ │ │ │ └── VirtualDocument.scala │ │ │ │ │ │ ├── result/ │ │ │ │ │ │ │ ├── ResultSchema.scala │ │ │ │ │ │ │ ├── WorkflowResultStore.scala │ │ │ │ │ │ │ └── iceberg/ │ │ │ │ │ │ │ ├── IcebergDocument.scala │ │ │ │ │ │ │ ├── IcebergTableWriter.scala │ │ │ │ │ │ │ └── OnIceberg.scala │ │ │ │ │ │ └── util/ │ │ │ │ │ │ ├── LakeFSStorageClient.scala │ │ │ │ │ │ ├── StorageUtil.scala │ │ │ │ │ │ └── dataset/ │ │ │ │ │ │ ├── GitVersionControlLocalFileStorage.java │ │ │ │ │ │ ├── JGitVersionControl.java │ │ │ │ │ │ └── PhysicalFileNode.java │ │ │ │ │ ├── tuple/ │ │ │ │ │ │ ├── Attribute.java │ │ │ │ │ │ ├── AttributeType.java │ │ │ │ │ │ ├── AttributeTypeUtils.scala │ │ │ │ │ │ ├── LargeBinary.java │ │ │ │ │ │ ├── Schema.scala │ │ │ │ │ │ ├── Tuple.scala │ │ │ │ │ │ ├── TupleLike.scala │ │ │ │ │ │ └── TupleUtils.scala │ │ │ │ │ └── workflow/ │ │ │ │ │ ├── ExecutionMode.java │ │ │ │ │ ├── LocationPreference.scala │ │ │ │ │ ├── PartitionInfo.scala │ │ │ │ │ ├── PhysicalOp.scala │ │ │ │ │ ├── PhysicalPlan.scala │ │ │ │ │ ├── WorkflowContext.scala │ │ │ │ │ └── WorkflowSettings.scala │ │ │ │ └── util/ │ │ │ │ ├── ArrowUtils.scala │ │ │ │ ├── IcebergUtil.scala │ │ │ │ ├── JSONUtils.scala │ │ │ │ ├── VirtualIdentityUtils.scala │ │ │ │ └── serde/ │ │ │ │ ├── GlobalPortIdentitySerde.scala │ │ │ │ ├── PortIdentityKeyDeserializer.scala │ │ │ │ └── PortIdentityKeySerializer.scala │ │ │ └── service/ │ │ │ └── util/ │ │ │ ├── LargeBinaryInputStream.scala │ │ │ ├── LargeBinaryManager.scala │ │ │ ├── LargeBinaryOutputStream.scala │ │ │ └── S3StorageClient.scala │ │ └── test/ │ │ ├── resources/ │ │ │ ├── country_sales_small.csv │ │ │ └── datasets/ │ │ │ └── 1/ │ │ │ ├── directory/ │ │ │ │ └── a.csv │ │ │ └── random_data.csv │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ ├── amber/ │ │ │ ├── core/ │ │ │ │ ├── WorkflowRuntimeExceptionSpec.scala │ │ │ │ ├── executor/ │ │ │ │ │ └── CoreExecutorReflectionSpec.scala │ │ │ │ ├── state/ │ │ │ │ │ └── StateSpec.scala │ │ │ │ ├── storage/ │ │ │ │ │ ├── VFSURIFactorySpec.scala │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── VirtualDocumentSpec.scala │ │ │ │ │ └── util/ │ │ │ │ │ └── StorageUtilSpec.scala │ │ │ │ ├── tuple/ │ │ │ │ │ ├── AttributeTypeUtilsSpec.scala │ │ │ │ │ ├── InternalMarkerSpec.scala │ │ │ │ │ ├── SchemaSpec.scala │ │ │ │ │ ├── TupleSpec.scala │ │ │ │ │ └── TupleUtilsSpec.scala │ │ │ │ └── workflow/ │ │ │ │ ├── PartitionInfoSpec.scala │ │ │ │ ├── WorkflowContextSpec.scala │ │ │ │ └── WorkflowCoreTypesSpec.scala │ │ │ ├── storage/ │ │ │ │ ├── FileResolverSpec.scala │ │ │ │ └── result/ │ │ │ │ └── iceberg/ │ │ │ │ ├── IcebergDocumentConsoleMessagesSpec.scala │ │ │ │ ├── IcebergDocumentSpec.scala │ │ │ │ └── IcebergTableStatsSpec.scala │ │ │ └── util/ │ │ │ ├── ArrowUtilsSpec.scala │ │ │ ├── IcebergUtilSpec.scala │ │ │ ├── JSONUtilsSpec.scala │ │ │ └── VirtualIdentityUtilsSpec.scala │ │ └── service/ │ │ └── util/ │ │ ├── LargeBinaryInputStreamSpec.scala │ │ ├── LargeBinaryManagerSpec.scala │ │ ├── LargeBinaryOutputStreamSpec.scala │ │ ├── S3StorageClientSpec.scala │ │ └── S3StorageTestBase.scala │ └── workflow-operator/ │ ├── build.sbt │ ├── project/ │ │ └── build.properties │ └── src/ │ ├── main/ │ │ └── scala/ │ │ ├── com/ │ │ │ └── kjetland/ │ │ │ └── jackson/ │ │ │ └── jsonSchema/ │ │ │ ├── JsonSchemaDraft.java │ │ │ ├── JsonSchemaGenerator.scala │ │ │ └── annotations/ │ │ │ ├── JsonSchemaArrayWithUniqueItems.java │ │ │ ├── JsonSchemaBool.java │ │ │ ├── JsonSchemaDefault.java │ │ │ ├── JsonSchemaDescription.java │ │ │ ├── JsonSchemaExamples.java │ │ │ ├── JsonSchemaFormat.java │ │ │ ├── JsonSchemaInject.java │ │ │ ├── JsonSchemaInt.java │ │ │ ├── JsonSchemaOptions.java │ │ │ ├── JsonSchemaString.java │ │ │ └── JsonSchemaTitle.java │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── amber/ │ │ ├── operator/ │ │ │ ├── DummyProperties.scala │ │ │ ├── LogicalOp.scala │ │ │ ├── PortDescriptor.scala │ │ │ ├── PythonOperatorDescriptor.scala │ │ │ ├── SpecialPhysicalOpFactory.scala │ │ │ ├── TestOperators.scala │ │ │ ├── aggregate/ │ │ │ │ ├── AggregateOpDesc.scala │ │ │ │ ├── AggregateOpExec.scala │ │ │ │ ├── AggregationFunction.java │ │ │ │ ├── AggregationOperation.scala │ │ │ │ └── DistributedAggregation.scala │ │ │ ├── cartesianProduct/ │ │ │ │ ├── CartesianProductOpDesc.scala │ │ │ │ └── CartesianProductOpExec.scala │ │ │ ├── dictionary/ │ │ │ │ ├── DictionaryMatcherOpDesc.scala │ │ │ │ ├── DictionaryMatcherOpExec.scala │ │ │ │ └── MatchingType.java │ │ │ ├── difference/ │ │ │ │ ├── DifferenceOpDesc.scala │ │ │ │ └── DifferenceOpExec.scala │ │ │ ├── distinct/ │ │ │ │ ├── DistinctOpDesc.scala │ │ │ │ └── DistinctOpExec.scala │ │ │ ├── dummy/ │ │ │ │ └── DummyOpDesc.scala │ │ │ ├── filter/ │ │ │ │ ├── ComparisonType.java │ │ │ │ ├── FilterOpDesc.scala │ │ │ │ ├── FilterOpExec.scala │ │ │ │ ├── FilterPredicate.java │ │ │ │ ├── SpecializedFilterOpDesc.scala │ │ │ │ └── SpecializedFilterOpExec.scala │ │ │ ├── flatmap/ │ │ │ │ ├── FlatMapOpDesc.scala │ │ │ │ └── FlatMapOpExec.scala │ │ │ ├── hashJoin/ │ │ │ │ ├── HashJoinBuildOpExec.scala │ │ │ │ ├── HashJoinOpDesc.scala │ │ │ │ ├── HashJoinProbeOpExec.scala │ │ │ │ └── JoinType.java │ │ │ ├── huggingFace/ │ │ │ │ ├── HuggingFaceIrisLogisticRegressionOpDesc.scala │ │ │ │ ├── HuggingFaceSentimentAnalysisOpDesc.scala │ │ │ │ ├── HuggingFaceSpamSMSDetectionOpDesc.scala │ │ │ │ └── HuggingFaceTextSummarizationOpDesc.scala │ │ │ ├── ifStatement/ │ │ │ │ ├── IfOpDesc.scala │ │ │ │ └── IfOpExec.scala │ │ │ ├── intersect/ │ │ │ │ ├── IntersectOpDesc.scala │ │ │ │ └── IntersectOpExec.scala │ │ │ ├── intervalJoin/ │ │ │ │ ├── IntervalJoinOpDesc.scala │ │ │ │ ├── IntervalJoinOpExec.scala │ │ │ │ └── TimeIntervalType.java │ │ │ ├── keywordSearch/ │ │ │ │ ├── KeywordSearchOpDesc.scala │ │ │ │ └── KeywordSearchOpExec.scala │ │ │ ├── limit/ │ │ │ │ ├── LimitOpDesc.scala │ │ │ │ └── LimitOpExec.scala │ │ │ ├── machineLearning/ │ │ │ │ ├── Scorer/ │ │ │ │ │ ├── MachineLearningScorerOpDesc.scala │ │ │ │ │ ├── classificationMetricsFnc.java │ │ │ │ │ └── regressionMetricsFnc.java │ │ │ │ └── sklearnAdvanced/ │ │ │ │ ├── KNNTrainer/ │ │ │ │ │ ├── SklearnAdvancedKNNClassifierTrainerOpDesc.scala │ │ │ │ │ ├── SklearnAdvancedKNNParameters.java │ │ │ │ │ └── SklearnAdvancedKNNRegressorTrainerOpDesc.scala │ │ │ │ ├── SVCTrainer/ │ │ │ │ │ ├── SklearnAdvancedSVCParameters.java │ │ │ │ │ └── SklearnAdvancedSVCTrainerOpDesc.scala │ │ │ │ ├── SVRTrainer/ │ │ │ │ │ ├── SklearnAdvancedSVRParameters.java │ │ │ │ │ └── SklearnAdvancedSVRTrainerOpDesc.scala │ │ │ │ └── base/ │ │ │ │ ├── HyperParameters.scala │ │ │ │ └── SklearnAdvancedBaseDesc.scala │ │ │ ├── map/ │ │ │ │ ├── MapOpDesc.scala │ │ │ │ └── MapOpExec.scala │ │ │ ├── metadata/ │ │ │ │ ├── OPVersion.java │ │ │ │ ├── OperatorGroupConstants.scala │ │ │ │ ├── OperatorMetadataGenerator.scala │ │ │ │ ├── PropertyNameConstants.scala │ │ │ │ └── annotations/ │ │ │ │ ├── AutofillAttributeName.java │ │ │ │ ├── AutofillAttributeNameLambda.java │ │ │ │ ├── AutofillAttributeNameList.java │ │ │ │ ├── AutofillAttributeNameOnPort1.java │ │ │ │ ├── BatchByColumn.java │ │ │ │ ├── CommonOpDescAnnotation.java │ │ │ │ ├── EnablePresets.java │ │ │ │ ├── HideAnnotation.java │ │ │ │ └── UIWidget.java │ │ │ ├── projection/ │ │ │ │ ├── AttributeUnit.java │ │ │ │ ├── ProjectionOpDesc.scala │ │ │ │ └── ProjectionOpExec.scala │ │ │ ├── randomksampling/ │ │ │ │ ├── RandomKSamplingOpDesc.scala │ │ │ │ └── RandomKSamplingOpExec.scala │ │ │ ├── regex/ │ │ │ │ ├── RegexOpDesc.scala │ │ │ │ └── RegexOpExec.scala │ │ │ ├── reservoirsampling/ │ │ │ │ ├── ReservoirSamplingOpDesc.scala │ │ │ │ └── ReservoirSamplingOpExec.scala │ │ │ ├── sink/ │ │ │ │ └── ProgressiveUtils.scala │ │ │ ├── sklearn/ │ │ │ │ ├── SklearnAdaptiveBoostingOpDesc.scala │ │ │ │ ├── SklearnBaggingOpDesc.scala │ │ │ │ ├── SklearnBernoulliNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnClassifierOpDesc.scala │ │ │ │ ├── SklearnComplementNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnDecisionTreeOpDesc.scala │ │ │ │ ├── SklearnDummyClassifierOpDesc.scala │ │ │ │ ├── SklearnExtraTreeOpDesc.scala │ │ │ │ ├── SklearnExtraTreesOpDesc.scala │ │ │ │ ├── SklearnGaussianNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnGradientBoostingOpDesc.scala │ │ │ │ ├── SklearnKNNOpDesc.scala │ │ │ │ ├── SklearnLinearRegressionOpDesc.scala │ │ │ │ ├── SklearnLinearSVMOpDesc.scala │ │ │ │ ├── SklearnLogisticRegressionCVOpDesc.scala │ │ │ │ ├── SklearnLogisticRegressionOpDesc.scala │ │ │ │ ├── SklearnMultiLayerPerceptronOpDesc.scala │ │ │ │ ├── SklearnMultinomialNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnNearestCentroidOpDesc.scala │ │ │ │ ├── SklearnPassiveAggressiveOpDesc.scala │ │ │ │ ├── SklearnPerceptronOpDesc.scala │ │ │ │ ├── SklearnPredictionOpDesc.scala │ │ │ │ ├── SklearnProbabilityCalibrationOpDesc.scala │ │ │ │ ├── SklearnRandomForestOpDesc.scala │ │ │ │ ├── SklearnRidgeCVOpDesc.scala │ │ │ │ ├── SklearnRidgeOpDesc.scala │ │ │ │ ├── SklearnSDGOpDesc.scala │ │ │ │ ├── SklearnSVMOpDesc.scala │ │ │ │ ├── testing/ │ │ │ │ │ └── SklearnTestingOpDesc.scala │ │ │ │ └── training/ │ │ │ │ ├── SklearnTrainingAdaptiveBoostingOpDesc.scala │ │ │ │ ├── SklearnTrainingBaggingOpDesc.scala │ │ │ │ ├── SklearnTrainingBernoulliNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnTrainingComplementNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnTrainingDecisionTreeOpDesc.scala │ │ │ │ ├── SklearnTrainingDummyClassifierOpDesc.scala │ │ │ │ ├── SklearnTrainingExtraTreeOpDesc.scala │ │ │ │ ├── SklearnTrainingExtraTreesOpDesc.scala │ │ │ │ ├── SklearnTrainingGaussianNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnTrainingGradientBoostingOpDesc.scala │ │ │ │ ├── SklearnTrainingKNNOpDesc.scala │ │ │ │ ├── SklearnTrainingLinearRegressionOpDesc.scala │ │ │ │ ├── SklearnTrainingLinearSVMOpDesc.scala │ │ │ │ ├── SklearnTrainingLogisticRegressionCVOpDesc.scala │ │ │ │ ├── SklearnTrainingLogisticRegressionOpDesc.scala │ │ │ │ ├── SklearnTrainingMultiLayerPerceptronOpDesc.scala │ │ │ │ ├── SklearnTrainingMultinomialNaiveBayesOpDesc.scala │ │ │ │ ├── SklearnTrainingNearestCentroidOpDesc.scala │ │ │ │ ├── SklearnTrainingOpDesc.scala │ │ │ │ ├── SklearnTrainingPassiveAggressiveOpDesc.scala │ │ │ │ ├── SklearnTrainingPerceptronOpDesc.scala │ │ │ │ ├── SklearnTrainingProbabilityCalibrationOpDesc.scala │ │ │ │ ├── SklearnTrainingRandomForestOpDesc.scala │ │ │ │ ├── SklearnTrainingRidgeCVOpDesc.scala │ │ │ │ ├── SklearnTrainingRidgeOpDesc.scala │ │ │ │ ├── SklearnTrainingSDGOpDesc.scala │ │ │ │ └── SklearnTrainingSVMOpDesc.scala │ │ │ ├── sleep/ │ │ │ │ ├── SleepOpDesc.scala │ │ │ │ └── SleepOpExec.scala │ │ │ ├── sort/ │ │ │ │ ├── SortCriteriaUnit.scala │ │ │ │ ├── SortOpDesc.scala │ │ │ │ ├── SortPreference.java │ │ │ │ ├── StableMergeSortOpDesc.scala │ │ │ │ └── StableMergeSortOpExec.scala │ │ │ ├── sortPartitions/ │ │ │ │ ├── SortPartitionsOpDesc.scala │ │ │ │ └── SortPartitionsOpExec.scala │ │ │ ├── source/ │ │ │ │ ├── BufferedBlockReader.java │ │ │ │ ├── PythonSourceOperatorDescriptor.scala │ │ │ │ ├── SourceOperatorDescriptor.scala │ │ │ │ ├── apis/ │ │ │ │ │ ├── reddit/ │ │ │ │ │ │ ├── RedditSearchSourceOpDesc.scala │ │ │ │ │ │ └── RedditSourceOperatorFunction.java │ │ │ │ │ └── twitter/ │ │ │ │ │ ├── TwitterSourceOpDesc.scala │ │ │ │ │ ├── TwitterSourceOpExec.scala │ │ │ │ │ └── v2/ │ │ │ │ │ ├── TwitterFullArchiveSearchSourceOpDesc.scala │ │ │ │ │ ├── TwitterFullArchiveSearchSourceOpExec.scala │ │ │ │ │ ├── TwitterSearchSourceOpDesc.scala │ │ │ │ │ └── TwitterSearchSourceOpExec.scala │ │ │ │ ├── cache/ │ │ │ │ │ └── CacheSourceOpExec.scala │ │ │ │ ├── dataset/ │ │ │ │ │ ├── FileListerSourceOpDesc.scala │ │ │ │ │ └── FileListerSourceOpExec.scala │ │ │ │ ├── fetcher/ │ │ │ │ │ ├── DecodingMethod.java │ │ │ │ │ ├── RandomUserAgent.java │ │ │ │ │ ├── URLFetchUtil.scala │ │ │ │ │ ├── URLFetcherOpDesc.scala │ │ │ │ │ └── URLFetcherOpExec.scala │ │ │ │ ├── scan/ │ │ │ │ │ ├── AutoClosingIterator.scala │ │ │ │ │ ├── FileAttributeType.java │ │ │ │ │ ├── FileDecodingMethod.java │ │ │ │ │ ├── ScanSourceOpDesc.scala │ │ │ │ │ ├── arrow/ │ │ │ │ │ │ ├── ArrowSourceOpDesc.scala │ │ │ │ │ │ └── ArrowSourceOpExec.scala │ │ │ │ │ ├── csv/ │ │ │ │ │ │ ├── CSVScanSourceOpDesc.scala │ │ │ │ │ │ ├── CSVScanSourceOpExec.scala │ │ │ │ │ │ ├── ParallelCSVScanSourceOpDesc.scala │ │ │ │ │ │ └── ParallelCSVScanSourceOpExec.scala │ │ │ │ │ ├── csvOld/ │ │ │ │ │ │ ├── CSVOldScanSourceOpDesc.scala │ │ │ │ │ │ └── CSVOldScanSourceOpExec.scala │ │ │ │ │ ├── file/ │ │ │ │ │ │ ├── FileScanOpDesc.scala │ │ │ │ │ │ ├── FileScanOpExec.scala │ │ │ │ │ │ ├── FileScanSourceOpDesc.scala │ │ │ │ │ │ ├── FileScanSourceOpExec.scala │ │ │ │ │ │ └── FileScanUtils.scala │ │ │ │ │ ├── json/ │ │ │ │ │ │ ├── JSONLScanSourceOpDesc.scala │ │ │ │ │ │ └── JSONLScanSourceOpExec.scala │ │ │ │ │ └── text/ │ │ │ │ │ ├── TextInputSourceOpDesc.scala │ │ │ │ │ ├── TextInputSourceOpExec.scala │ │ │ │ │ └── TextSourceOpDesc.scala │ │ │ │ └── sql/ │ │ │ │ ├── SQLSourceOpDesc.scala │ │ │ │ ├── SQLSourceOpExec.scala │ │ │ │ ├── asterixdb/ │ │ │ │ │ ├── AsterixDBConnUtil.scala │ │ │ │ │ ├── AsterixDBSourceOpDesc.scala │ │ │ │ │ └── AsterixDBSourceOpExec.scala │ │ │ │ ├── mysql/ │ │ │ │ │ ├── MySQLConnUtil.scala │ │ │ │ │ ├── MySQLSourceOpDesc.scala │ │ │ │ │ └── MySQLSourceOpExec.scala │ │ │ │ └── postgresql/ │ │ │ │ ├── PostgreSQLConnUtil.scala │ │ │ │ ├── PostgreSQLSourceOpDesc.scala │ │ │ │ └── PostgreSQLSourceOpExec.scala │ │ │ ├── split/ │ │ │ │ ├── SplitOpDesc.scala │ │ │ │ └── SplitOpExec.scala │ │ │ ├── substringSearch/ │ │ │ │ ├── SubstringSearchOpDesc.scala │ │ │ │ └── SubstringSearchOpExec.scala │ │ │ ├── symmetricDifference/ │ │ │ │ ├── SymmetricDifferenceOpDesc.scala │ │ │ │ └── SymmetricDifferenceOpExec.scala │ │ │ ├── typecasting/ │ │ │ │ ├── TypeCastingOpDesc.scala │ │ │ │ ├── TypeCastingOpExec.scala │ │ │ │ └── TypeCastingUnit.java │ │ │ ├── udf/ │ │ │ │ ├── java/ │ │ │ │ │ └── JavaUDFOpDesc.scala │ │ │ │ ├── python/ │ │ │ │ │ ├── DualInputPortsPythonUDFOpDescV2.scala │ │ │ │ │ ├── LambdaAttributeUnit.java │ │ │ │ │ ├── PythonLambdaFunctionOpDesc.scala │ │ │ │ │ ├── PythonTableReducerOpDesc.scala │ │ │ │ │ ├── PythonUDFOpDescV2.scala │ │ │ │ │ └── source/ │ │ │ │ │ └── PythonUDFSourceOpDescV2.scala │ │ │ │ └── r/ │ │ │ │ ├── RUDFOpDesc.scala │ │ │ │ └── RUDFSourceOpDesc.scala │ │ │ ├── union/ │ │ │ │ ├── UnionOpDesc.scala │ │ │ │ └── UnionOpExec.scala │ │ │ ├── unneststring/ │ │ │ │ ├── UnnestStringOpDesc.scala │ │ │ │ └── UnnestStringOpExec.scala │ │ │ ├── util/ │ │ │ │ └── OperatorDescriptorUtils.scala │ │ │ └── visualization/ │ │ │ ├── DotPlot/ │ │ │ │ └── DotPlotOpDesc.scala │ │ │ ├── IcicleChart/ │ │ │ │ └── IcicleChartOpDesc.scala │ │ │ ├── ImageUtility.scala │ │ │ ├── ImageViz/ │ │ │ │ └── ImageVisualizerOpDesc.scala │ │ │ ├── ScatterMatrixChart/ │ │ │ │ └── ScatterMatrixChartOpDesc.scala │ │ │ ├── barChart/ │ │ │ │ └── BarChartOpDesc.scala │ │ │ ├── boxViolinPlot/ │ │ │ │ ├── BoxViolinPlotOpDesc.scala │ │ │ │ └── BoxViolinPlotQuartileFunction.java │ │ │ ├── bubbleChart/ │ │ │ │ └── BubbleChartOpDesc.scala │ │ │ ├── bulletChart/ │ │ │ │ ├── BulletChartOpDesc.scala │ │ │ │ └── BulletChartStepDefinition.scala │ │ │ ├── candlestickChart/ │ │ │ │ └── CandlestickChartOpDesc.scala │ │ │ ├── carpetPlot/ │ │ │ │ └── CarpetPlotOpDesc.scala │ │ │ ├── choroplethMap/ │ │ │ │ └── ChoroplethMapOpDesc.scala │ │ │ ├── continuousErrorBands/ │ │ │ │ ├── BandConfig.scala │ │ │ │ └── ContinuousErrorBandsOpDesc.scala │ │ │ ├── contourPlot/ │ │ │ │ ├── ContourPlotColoringFunction.java │ │ │ │ └── ContourPlotOpDesc.scala │ │ │ ├── dendrogram/ │ │ │ │ └── DendrogramOpDesc.scala │ │ │ ├── dumbbellPlot/ │ │ │ │ ├── DumbbellDotConfig.scala │ │ │ │ └── DumbbellPlotOpDesc.scala │ │ │ ├── ecdfPlot/ │ │ │ │ └── ECDFPlotOpDesc.scala │ │ │ ├── figureFactoryTable/ │ │ │ │ ├── FigureFactoryTableConfig.scala │ │ │ │ └── FigureFactoryTableOpDesc.scala │ │ │ ├── filledAreaPlot/ │ │ │ │ └── FilledAreaPlotOpDesc.scala │ │ │ ├── funnelPlot/ │ │ │ │ └── FunnelPlotOpDesc.scala │ │ │ ├── ganttChart/ │ │ │ │ └── GanttChartOpDesc.scala │ │ │ ├── gaugeChart/ │ │ │ │ ├── GaugeChartOpDesc.scala │ │ │ │ └── GaugeChartSteps.scala │ │ │ ├── heatMap/ │ │ │ │ └── HeatMapOpDesc.scala │ │ │ ├── hierarchychart/ │ │ │ │ ├── HierarchyChartOpDesc.scala │ │ │ │ ├── HierarchyChartType.java │ │ │ │ └── HierarchySection.scala │ │ │ ├── histogram/ │ │ │ │ └── HistogramChartOpDesc.scala │ │ │ ├── histogram2d/ │ │ │ │ ├── Histogram2DOpDesc.scala │ │ │ │ └── NormalizationType.java │ │ │ ├── htmlviz/ │ │ │ │ ├── HtmlVizOpDesc.scala │ │ │ │ └── HtmlVizOpExec.scala │ │ │ ├── lineChart/ │ │ │ │ ├── LineChartOpDesc.scala │ │ │ │ ├── LineConfig.scala │ │ │ │ └── LineMode.java │ │ │ ├── nestedTable/ │ │ │ │ ├── NestedTableConfig.scala │ │ │ │ └── NestedTableOpDesc.scala │ │ │ ├── networkGraph/ │ │ │ │ └── NetworkGraphOpDesc.scala │ │ │ ├── parallelCoordinatesPlot/ │ │ │ │ └── ParallelCoordinatesPlotOpDesc.scala │ │ │ ├── pieChart/ │ │ │ │ └── PieChartOpDesc.scala │ │ │ ├── polarChart/ │ │ │ │ └── PolarChartOpDesc.scala │ │ │ ├── quiverPlot/ │ │ │ │ └── QuiverPlotOpDesc.scala │ │ │ ├── radarChart/ │ │ │ │ └── RadarChartOpDesc.scala │ │ │ ├── radarPlot/ │ │ │ │ ├── RadarPlotLinePattern.java │ │ │ │ └── RadarPlotOpDesc.scala │ │ │ ├── rangeSlider/ │ │ │ │ ├── RangeSliderHandleDuplicateFunction.java │ │ │ │ └── RangeSliderOpDesc.scala │ │ │ ├── sankeyDiagram/ │ │ │ │ └── SankeyDiagramOpDesc.scala │ │ │ ├── scatter3DChart/ │ │ │ │ └── Scatter3dChartOpDesc.scala │ │ │ ├── scatterplot/ │ │ │ │ └── ScatterplotOpDesc.scala │ │ │ ├── stripChart/ │ │ │ │ └── StripChartOpDesc.scala │ │ │ ├── tablesChart/ │ │ │ │ ├── TablesConfig.scala │ │ │ │ └── TablesPlotOpDesc.scala │ │ │ ├── ternaryContour/ │ │ │ │ └── TernaryContourOpDesc.scala │ │ │ ├── ternaryPlot/ │ │ │ │ └── TernaryPlotOpDesc.scala │ │ │ ├── timeSeriesplot/ │ │ │ │ └── TimeSeriesOpDesc.scala │ │ │ ├── treeplot/ │ │ │ │ └── TreePlotOpDesc.scala │ │ │ ├── urlviz/ │ │ │ │ ├── UrlVizOpDesc.scala │ │ │ │ └── UrlVizOpExec.scala │ │ │ ├── volcanoPlot/ │ │ │ │ └── VolcanoPlotOpDesc.scala │ │ │ ├── waterfallChart/ │ │ │ │ └── WaterfallChartOpDesc.scala │ │ │ ├── windRoseChart/ │ │ │ │ └── WindRoseChartOpDesc.scala │ │ │ └── wordCloud/ │ │ │ └── WordCloudOpDesc.scala │ │ └── util/ │ │ └── ObjectMapperUtils.scala │ └── test/ │ ├── resources/ │ │ ├── 100.jsonl │ │ ├── 1000.jsonl │ │ ├── country_sales_headerless_small.csv │ │ ├── country_sales_headerless_small_multi_line.csv │ │ ├── country_sales_headerless_small_multi_line_custom_delimiter.csv │ │ ├── country_sales_medium.csv │ │ ├── country_sales_small.csv │ │ ├── country_sales_small_multi_line.csv │ │ ├── line_numbers.txt │ │ ├── line_numbers_crlf.txt │ │ └── numbers.txt │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ └── amber/ │ ├── operator/ │ │ ├── aggregate/ │ │ │ ├── AggregateOpSpec.scala │ │ │ └── AggregationOperationSpec.scala │ │ ├── cartesianProduct/ │ │ │ └── CartesianProductOpExecSpec.scala │ │ ├── dictionary/ │ │ │ └── DictionaryMatcherOpExecSpec.scala │ │ ├── difference/ │ │ │ └── DifferenceOpExecSpec.scala │ │ ├── distinct/ │ │ │ └── DistinctOpExecSpec.scala │ │ ├── filter/ │ │ │ └── SpecializedFilterOpExecSpec.scala │ │ ├── flatmap/ │ │ │ └── FlatMapOpExecSpec.scala │ │ ├── hashJoin/ │ │ │ └── HashJoinOpSpec.scala │ │ ├── ifStatement/ │ │ │ └── IfOpExecSpec.scala │ │ ├── intersect/ │ │ │ ├── IntersectOpDescSpec.scala │ │ │ └── IntersectOpExecSpec.scala │ │ ├── intervalJoin/ │ │ │ └── IntervalOpExecSpec.scala │ │ ├── keywordSearch/ │ │ │ └── KeywordSearchOpExecSpec.scala │ │ ├── limit/ │ │ │ └── LimitOpExecSpec.scala │ │ ├── map/ │ │ │ └── MapOpExecSpec.scala │ │ ├── projection/ │ │ │ ├── ProjectionOpDescSpec.scala │ │ │ └── ProjectionOpExecSpec.scala │ │ ├── sink/ │ │ │ └── ProgressiveUtilsSpec.scala │ │ ├── sklearn/ │ │ │ └── SklearnOpDescRegistrySpec.scala │ │ ├── sleep/ │ │ │ └── SleepOpDescSpec.scala │ │ ├── sort/ │ │ │ └── StableMergeSortOpExecSpec.scala │ │ ├── sortPartitions/ │ │ │ └── SortPartitionsOpExecSpec.scala │ │ ├── source/ │ │ │ ├── dataset/ │ │ │ │ └── FileListerSourceOpDescSpec.scala │ │ │ ├── fetcher/ │ │ │ │ ├── URLFetcherOpDescSpec.scala │ │ │ │ └── URLFetcherOpExecSpec.scala │ │ │ └── scan/ │ │ │ ├── csv/ │ │ │ │ ├── CSVScanSourceOpDescSpec.scala │ │ │ │ └── CSVScanSourceOpExecSpec.scala │ │ │ ├── file/ │ │ │ │ ├── FileScanOpDescSpec.scala │ │ │ │ ├── FileScanSourceOpDescSpec.scala │ │ │ │ └── FileScanSourceOpExecSpec.scala │ │ │ └── text/ │ │ │ └── TextInputSourceOpDescSpec.scala │ │ ├── symmetricDifference/ │ │ │ └── SymmetricDifferenceOpExecSpec.scala │ │ ├── timeSeriesPlot/ │ │ │ └── TimeSeriesOpDescSpec.scala │ │ ├── typecasting/ │ │ │ └── TypeCastingOpExecSpec.scala │ │ ├── udf/ │ │ │ └── python/ │ │ │ └── PythonLambdaFunctionOpDescSpec.scala │ │ ├── unneststring/ │ │ │ └── UnnestStringOpExecSpec.scala │ │ └── visualization/ │ │ ├── DotPlot/ │ │ │ └── DotPlotOpDescSpec.scala │ │ ├── ImageViz/ │ │ │ └── ImageVisualizerOpDescSpec.scala │ │ ├── barChart/ │ │ │ └── BarChartOpDescSpec.scala │ │ ├── bubbleChart/ │ │ │ └── BubbleChartOpDescSpec.scala │ │ ├── bulletChart/ │ │ │ └── BulletChartOpDescSpec.scala │ │ ├── ecdfPlot/ │ │ │ └── ECDFPlotOpDescSpec.scala │ │ ├── filledAreaPlot/ │ │ │ └── FilledAreaPlotOpDescSpec.scala │ │ ├── funnelPlot/ │ │ │ └── FunnelPlotOpDescSpec.scala │ │ ├── ganttChart/ │ │ │ └── GanttChartOpDescSpec.scala │ │ ├── heatMap/ │ │ │ └── HeatMapOpDescSpec.scala │ │ ├── hierarchychart/ │ │ │ └── HierarchyChartOpDescSpec.scala │ │ ├── htmlviz/ │ │ │ └── HtmlVizOpExecSpec.scala │ │ ├── lineChart/ │ │ │ └── LineChartOpDescSpec.scala │ │ ├── pieChart/ │ │ │ └── PieChartOpDescSpec.scala │ │ ├── scatterplot/ │ │ │ └── ScatterPlotOpDescSpec.scala │ │ ├── volcanoPlot/ │ │ │ └── VolcanoPlotOpDescSpec.scala │ │ └── wordCloud/ │ │ └── WordCloudOpDescSpec.scala │ ├── pybuilder/ │ │ ├── DescriptorChecker.scala │ │ ├── PythonClassgraphScanner.scala │ │ ├── PythonConsoleCapture.scala │ │ ├── PythonRawTextReportRenderer.scala │ │ ├── PythonReflectionTextUtils.scala │ │ └── PythonReflectionUtils.scala │ └── util/ │ ├── ArrowUtilsSpec.scala │ └── PythonCodeRawInvalidTextSpec.scala ├── computing-unit-managing-service/ │ ├── LICENSE-binary │ ├── NOTICE-binary │ ├── build.sbt │ ├── project/ │ │ ├── build.properties │ │ └── plugins.sbt │ └── src/ │ └── main/ │ ├── resources/ │ │ └── computing-unit-managing-service-config.yaml │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ └── service/ │ ├── ComputingUnitManagingService.scala │ ├── ComputingUnitManagingServiceConfiguration.scala │ ├── resource/ │ │ ├── ComputingUnitAccessResource.scala │ │ ├── ComputingUnitManagingResource.scala │ │ ├── ComputingUnitState.scala │ │ └── HealthCheckResource.scala │ └── util/ │ ├── ComputingUnitHelpers.scala │ ├── ComputingUnitManagingServiceException.scala │ └── KubernetesClient.scala ├── config-service/ │ ├── LICENSE-binary │ ├── NOTICE-binary │ ├── build.sbt │ └── src/ │ └── main/ │ ├── resources/ │ │ └── config-service-web-config.yaml │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ └── service/ │ ├── ConfigService.scala │ ├── ConfigServiceConfiguration.scala │ └── resource/ │ ├── ConfigResource.scala │ └── HealthCheckResource.scala ├── file-service/ │ ├── LICENSE-binary │ ├── NOTICE-binary │ ├── build.sbt │ └── src/ │ ├── main/ │ │ ├── resources/ │ │ │ ├── docker-compose.yml │ │ │ ├── file-service-web-config.yaml │ │ │ └── minio-config.yml │ │ └── scala/ │ │ └── org/ │ │ └── apache/ │ │ └── texera/ │ │ └── service/ │ │ ├── FileService.scala │ │ ├── FileServiceConfiguration.scala │ │ ├── resource/ │ │ │ ├── DatasetAccessResource.scala │ │ │ ├── DatasetResource.scala │ │ │ └── HealthCheckResource.scala │ │ ├── type/ │ │ │ ├── dataset/ │ │ │ │ └── DatasetFileNode.scala │ │ │ └── serde/ │ │ │ └── DatasetFileNodeSerializer.java │ │ └── util/ │ │ └── LakeFSExceptionHandler.scala │ └── test/ │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ └── service/ │ ├── MockLakeFS.scala │ └── resource/ │ └── DatasetResourceSpec.scala ├── frontend/ │ ├── .editorconfig │ ├── .eslintrc.json │ ├── .gitignore │ ├── .nvmrc │ ├── .prettierignore │ ├── .prettierrc.json │ ├── .yarn/ │ │ └── releases/ │ │ └── yarn-4.14.1.cjs │ ├── .yarnrc.yml │ ├── LICENSE-binary │ ├── README.md │ ├── angular.json │ ├── custom-webpack.config.js │ ├── git-version.js │ ├── nx.json │ ├── package.json │ ├── proxy.config.json │ ├── src/ │ │ ├── app/ │ │ │ ├── app-routing.constant.ts │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── common/ │ │ │ │ ├── app-setting.ts │ │ │ │ ├── formly/ │ │ │ │ │ ├── array.type.ts │ │ │ │ │ ├── collab-wrapper/ │ │ │ │ │ │ └── collab-wrapper/ │ │ │ │ │ │ ├── collab-wrapper.component.css │ │ │ │ │ │ ├── collab-wrapper.component.html │ │ │ │ │ │ └── collab-wrapper.component.ts │ │ │ │ │ ├── formly-config.ts │ │ │ │ │ ├── formly-utils.ts │ │ │ │ │ ├── multischema.type.ts │ │ │ │ │ ├── null.type.ts │ │ │ │ │ ├── object.type.ts │ │ │ │ │ ├── preset-wrapper/ │ │ │ │ │ │ ├── preset-wrapper.component.html │ │ │ │ │ │ ├── preset-wrapper.component.scss │ │ │ │ │ │ ├── preset-wrapper.component.spec.ts │ │ │ │ │ │ └── preset-wrapper.component.ts │ │ │ │ │ └── repeat-dnd/ │ │ │ │ │ ├── repeat-dnd.component.css │ │ │ │ │ ├── repeat-dnd.component.html │ │ │ │ │ └── repeat-dnd.component.ts │ │ │ │ ├── service/ │ │ │ │ │ ├── blob-error-http-interceptor.service.ts │ │ │ │ │ ├── computing-unit/ │ │ │ │ │ │ ├── computing-unit-actions/ │ │ │ │ │ │ │ └── computing-unit-actions.service.ts │ │ │ │ │ │ ├── computing-unit-status/ │ │ │ │ │ │ │ ├── computing-unit-status.service.ts │ │ │ │ │ │ │ └── mock-computing-unit-status.service.ts │ │ │ │ │ │ └── workflow-computing-unit/ │ │ │ │ │ │ └── workflow-computing-unit-managing.service.ts │ │ │ │ │ ├── gui-config.service.mock.ts │ │ │ │ │ ├── gui-config.service.ts │ │ │ │ │ ├── notification/ │ │ │ │ │ │ ├── notification.service.spec.ts │ │ │ │ │ │ └── notification.service.ts │ │ │ │ │ ├── user/ │ │ │ │ │ │ ├── auth-guard.service.ts │ │ │ │ │ │ ├── auth.service.ts │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ ├── user-config.service.spec.ts │ │ │ │ │ │ │ └── user-config.service.ts │ │ │ │ │ │ ├── google-auth.service.ts │ │ │ │ │ │ ├── registration-request-modal/ │ │ │ │ │ │ │ ├── registration-request-modal.component.html │ │ │ │ │ │ │ ├── registration-request-modal.component.scss │ │ │ │ │ │ │ └── registration-request-modal.component.ts │ │ │ │ │ │ ├── stub-auth.service.ts │ │ │ │ │ │ ├── stub-user.service.ts │ │ │ │ │ │ ├── user.service.spec.ts │ │ │ │ │ │ └── user.service.ts │ │ │ │ │ └── workflow-persist/ │ │ │ │ │ ├── stub-workflow-persist.service.ts │ │ │ │ │ ├── workflow-persist.service.spec.ts │ │ │ │ │ └── workflow-persist.service.ts │ │ │ │ ├── testing/ │ │ │ │ │ └── test-utils.ts │ │ │ │ ├── type/ │ │ │ │ │ ├── computing-unit-connection.interface.ts │ │ │ │ │ ├── dataset-file.ts │ │ │ │ │ ├── dataset-staged-object.ts │ │ │ │ │ ├── dataset.ts │ │ │ │ │ ├── datasetVersionFileTree.ts │ │ │ │ │ ├── execution.ts │ │ │ │ │ ├── generic-web-response.ts │ │ │ │ │ ├── gui-config.ts │ │ │ │ │ ├── physical-plan.ts │ │ │ │ │ ├── proto/ │ │ │ │ │ │ ├── google/ │ │ │ │ │ │ │ └── protobuf/ │ │ │ │ │ │ │ └── descriptor.ts │ │ │ │ │ │ ├── org/ │ │ │ │ │ │ │ └── apache/ │ │ │ │ │ │ │ └── texera/ │ │ │ │ │ │ │ └── amber/ │ │ │ │ │ │ │ └── core/ │ │ │ │ │ │ │ ├── virtualidentity.ts │ │ │ │ │ │ │ └── workflow.ts │ │ │ │ │ │ └── scalapb/ │ │ │ │ │ │ └── scalapb.ts │ │ │ │ │ ├── user.ts │ │ │ │ │ ├── workflow-computing-unit.ts │ │ │ │ │ └── workflow.ts │ │ │ │ └── util/ │ │ │ │ ├── array-utils.ts │ │ │ │ ├── assert.ts │ │ │ │ ├── computing-unit.util.ts │ │ │ │ ├── context.ts │ │ │ │ ├── error.ts │ │ │ │ ├── format.util.ts │ │ │ │ ├── logical-operator-port-serde.ts │ │ │ │ ├── map.ts │ │ │ │ ├── panel-dock.ts │ │ │ │ ├── port-identity-serde.ts │ │ │ │ ├── predicate.ts │ │ │ │ ├── set.ts │ │ │ │ ├── size-formatter.util.spec.ts │ │ │ │ ├── size-formatter.util.ts │ │ │ │ ├── storage.ts │ │ │ │ ├── stub.ts │ │ │ │ ├── switch.ts │ │ │ │ ├── url.ts │ │ │ │ ├── workflow-check.ts │ │ │ │ └── workflow-compilation-utils.ts │ │ │ ├── dashboard/ │ │ │ │ ├── component/ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ │ ├── admin-execution.component.html │ │ │ │ │ │ │ ├── admin-execution.component.scss │ │ │ │ │ │ │ ├── admin-execution.component.spec.ts │ │ │ │ │ │ │ └── admin-execution.component.ts │ │ │ │ │ │ ├── settings/ │ │ │ │ │ │ │ ├── admin-settings.component.html │ │ │ │ │ │ │ ├── admin-settings.component.scss │ │ │ │ │ │ │ ├── admin-settings.component.spec.ts │ │ │ │ │ │ │ └── admin-settings.component.ts │ │ │ │ │ │ └── user/ │ │ │ │ │ │ ├── admin-user.component.html │ │ │ │ │ │ ├── admin-user.component.scss │ │ │ │ │ │ ├── admin-user.component.spec.ts │ │ │ │ │ │ └── admin-user.component.ts │ │ │ │ │ ├── button-style.scss │ │ │ │ │ ├── dashboard.component.html │ │ │ │ │ ├── dashboard.component.scss │ │ │ │ │ ├── dashboard.component.spec.ts │ │ │ │ │ ├── dashboard.component.ts │ │ │ │ │ ├── section-style.scss │ │ │ │ │ ├── user/ │ │ │ │ │ │ ├── files-uploader/ │ │ │ │ │ │ │ ├── conflicting-file-modal-content/ │ │ │ │ │ │ │ │ ├── conflicting-file-modal-content.component.html │ │ │ │ │ │ │ │ ├── conflicting-file-modal-content.component.scss │ │ │ │ │ │ │ │ └── conflicting-file-modal-content.component.ts │ │ │ │ │ │ │ ├── files-uploader.component.html │ │ │ │ │ │ │ ├── files-uploader.component.scss │ │ │ │ │ │ │ └── files-uploader.component.ts │ │ │ │ │ │ ├── filters/ │ │ │ │ │ │ │ ├── filters.component.html │ │ │ │ │ │ │ ├── filters.component.scss │ │ │ │ │ │ │ ├── filters.component.spec.ts │ │ │ │ │ │ │ └── filters.component.ts │ │ │ │ │ │ ├── filters-instructions/ │ │ │ │ │ │ │ ├── filters-instructions.component.html │ │ │ │ │ │ │ ├── filters-instructions.component.spec.ts │ │ │ │ │ │ │ └── filters-instructions.component.ts │ │ │ │ │ │ ├── flarum/ │ │ │ │ │ │ │ ├── flarum.component.html │ │ │ │ │ │ │ └── flarum.component.ts │ │ │ │ │ │ ├── list-item/ │ │ │ │ │ │ │ ├── list-item.component.html │ │ │ │ │ │ │ ├── list-item.component.scss │ │ │ │ │ │ │ ├── list-item.component.spec.ts │ │ │ │ │ │ │ └── list-item.component.ts │ │ │ │ │ │ ├── markdown-description/ │ │ │ │ │ │ │ ├── markdown-description.component.html │ │ │ │ │ │ │ ├── markdown-description.component.scss │ │ │ │ │ │ │ └── markdown-description.component.ts │ │ │ │ │ │ ├── search/ │ │ │ │ │ │ │ ├── search.component.html │ │ │ │ │ │ │ ├── search.component.scss │ │ │ │ │ │ │ └── search.component.ts │ │ │ │ │ │ ├── search-bar/ │ │ │ │ │ │ │ ├── search-bar.component.html │ │ │ │ │ │ │ ├── search-bar.component.scss │ │ │ │ │ │ │ └── search-bar.component.ts │ │ │ │ │ │ ├── search-results/ │ │ │ │ │ │ │ ├── search-results.component.html │ │ │ │ │ │ │ ├── search-results.component.scss │ │ │ │ │ │ │ └── search-results.component.ts │ │ │ │ │ │ ├── share-access/ │ │ │ │ │ │ │ ├── share-access.component.html │ │ │ │ │ │ │ ├── share-access.component.scss │ │ │ │ │ │ │ └── share-access.component.ts │ │ │ │ │ │ ├── sort-button/ │ │ │ │ │ │ │ ├── sort-button.component.html │ │ │ │ │ │ │ ├── sort-button.component.scss │ │ │ │ │ │ │ └── sort-button.component.ts │ │ │ │ │ │ ├── user-avatar/ │ │ │ │ │ │ │ ├── user-avatar.component.html │ │ │ │ │ │ │ ├── user-avatar.component.scss │ │ │ │ │ │ │ ├── user-avatar.component.spec.ts │ │ │ │ │ │ │ └── user-avatar.component.ts │ │ │ │ │ │ ├── user-computing-unit/ │ │ │ │ │ │ │ ├── user-computing-unit-list-item/ │ │ │ │ │ │ │ │ ├── user-computing-unit-list-item.component.html │ │ │ │ │ │ │ │ ├── user-computing-unit-list-item.component.scss │ │ │ │ │ │ │ │ └── user-computing-unit-list-item.component.ts │ │ │ │ │ │ │ ├── user-computing-unit.component.html │ │ │ │ │ │ │ ├── user-computing-unit.component.scss │ │ │ │ │ │ │ ├── user-computing-unit.component.spec.ts │ │ │ │ │ │ │ └── user-computing-unit.component.ts │ │ │ │ │ │ ├── user-dataset/ │ │ │ │ │ │ │ ├── user-dataset-explorer/ │ │ │ │ │ │ │ │ ├── dataset-detail.component.html │ │ │ │ │ │ │ │ ├── dataset-detail.component.scss │ │ │ │ │ │ │ │ ├── dataset-detail.component.ts │ │ │ │ │ │ │ │ ├── user-dataset-file-renderer/ │ │ │ │ │ │ │ │ │ ├── user-dataset-file-renderer.component.html │ │ │ │ │ │ │ │ │ ├── user-dataset-file-renderer.component.scss │ │ │ │ │ │ │ │ │ ├── user-dataset-file-renderer.component.spec.ts │ │ │ │ │ │ │ │ │ └── user-dataset-file-renderer.component.ts │ │ │ │ │ │ │ │ ├── user-dataset-staged-objects-list/ │ │ │ │ │ │ │ │ │ ├── user-dataset-staged-objects-list.component.html │ │ │ │ │ │ │ │ │ ├── user-dataset-staged-objects-list.component.scss │ │ │ │ │ │ │ │ │ └── user-dataset-staged-objects-list.component.ts │ │ │ │ │ │ │ │ ├── user-dataset-version-creator/ │ │ │ │ │ │ │ │ │ ├── user-dataset-version-creator.component.html │ │ │ │ │ │ │ │ │ ├── user-dataset-version-creator.component.scss │ │ │ │ │ │ │ │ │ └── user-dataset-version-creator.component.ts │ │ │ │ │ │ │ │ └── user-dataset-version-filetree/ │ │ │ │ │ │ │ │ ├── user-dataset-version-filetree.component.html │ │ │ │ │ │ │ │ ├── user-dataset-version-filetree.component.scss │ │ │ │ │ │ │ │ └── user-dataset-version-filetree.component.ts │ │ │ │ │ │ │ ├── user-dataset-list-item/ │ │ │ │ │ │ │ │ ├── user-dataset-list-item.component.html │ │ │ │ │ │ │ │ ├── user-dataset-list-item.component.scss │ │ │ │ │ │ │ │ └── user-dataset-list-item.component.ts │ │ │ │ │ │ │ ├── user-dataset.component.html │ │ │ │ │ │ │ ├── user-dataset.component.scss │ │ │ │ │ │ │ └── user-dataset.component.ts │ │ │ │ │ │ ├── user-icon/ │ │ │ │ │ │ │ ├── user-icon.component.html │ │ │ │ │ │ │ ├── user-icon.component.scss │ │ │ │ │ │ │ ├── user-icon.component.spec.ts │ │ │ │ │ │ │ └── user-icon.component.ts │ │ │ │ │ │ ├── user-project/ │ │ │ │ │ │ │ ├── public-project/ │ │ │ │ │ │ │ │ ├── public-project.component.html │ │ │ │ │ │ │ │ └── public-project.component.ts │ │ │ │ │ │ │ ├── user-project-list-item/ │ │ │ │ │ │ │ │ ├── user-project-list-item.component.html │ │ │ │ │ │ │ │ ├── user-project-list-item.component.scss │ │ │ │ │ │ │ │ ├── user-project-list-item.component.spec.ts │ │ │ │ │ │ │ │ └── user-project-list-item.component.ts │ │ │ │ │ │ │ ├── user-project-section/ │ │ │ │ │ │ │ │ ├── ngbd-modal-add-project-workflow/ │ │ │ │ │ │ │ │ │ ├── ngbd-modal-add-project-workflow.component.html │ │ │ │ │ │ │ │ │ ├── ngbd-modal-add-project-workflow.component.scss │ │ │ │ │ │ │ │ │ └── ngbd-modal-add-project-workflow.component.ts │ │ │ │ │ │ │ │ ├── ngbd-modal-remove-project-workflow/ │ │ │ │ │ │ │ │ │ ├── ngbd-modal-remove-project-workflow.component.html │ │ │ │ │ │ │ │ │ ├── ngbd-modal-remove-project-workflow.component.scss │ │ │ │ │ │ │ │ │ └── ngbd-modal-remove-project-workflow.component.ts │ │ │ │ │ │ │ │ ├── user-project-section.component.html │ │ │ │ │ │ │ │ ├── user-project-section.component.scss │ │ │ │ │ │ │ │ └── user-project-section.component.ts │ │ │ │ │ │ │ ├── user-project.component.html │ │ │ │ │ │ │ ├── user-project.component.scss │ │ │ │ │ │ │ └── user-project.component.ts │ │ │ │ │ │ ├── user-quota/ │ │ │ │ │ │ │ ├── user-quota.component.html │ │ │ │ │ │ │ ├── user-quota.component.scss │ │ │ │ │ │ │ ├── user-quota.component.spec.ts │ │ │ │ │ │ │ └── user-quota.component.ts │ │ │ │ │ │ └── user-workflow/ │ │ │ │ │ │ ├── ngbd-modal-workflow-executions/ │ │ │ │ │ │ │ ├── workflow-execution-history.component.html │ │ │ │ │ │ │ ├── workflow-execution-history.component.scss │ │ │ │ │ │ │ ├── workflow-execution-history.component.ts │ │ │ │ │ │ │ └── workflow-runtime-statistics/ │ │ │ │ │ │ │ ├── workflow-runtime-statistics.component.html │ │ │ │ │ │ │ ├── workflow-runtime-statistics.component.scss │ │ │ │ │ │ │ └── workflow-runtime-statistics.component.ts │ │ │ │ │ │ ├── user-workflow-list-item/ │ │ │ │ │ │ │ ├── highlight-search-terms.pipe.ts │ │ │ │ │ │ │ ├── user-workflow-list-item.component.html │ │ │ │ │ │ │ ├── user-workflow-list-item.component.scss │ │ │ │ │ │ │ ├── user-workflow-list-item.component.spec.ts │ │ │ │ │ │ │ └── user-workflow-list-item.component.ts │ │ │ │ │ │ ├── user-workflow.component.html │ │ │ │ │ │ ├── user-workflow.component.scss │ │ │ │ │ │ ├── user-workflow.component.spec.ts │ │ │ │ │ │ └── user-workflow.component.ts │ │ │ │ │ └── user-dashboard-test-fixtures.ts │ │ │ │ ├── service/ │ │ │ │ │ ├── admin/ │ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ │ └── admin-execution.service.ts │ │ │ │ │ │ ├── guard/ │ │ │ │ │ │ │ └── admin-guard.service.ts │ │ │ │ │ │ ├── settings/ │ │ │ │ │ │ │ └── admin-settings.service.ts │ │ │ │ │ │ └── user/ │ │ │ │ │ │ └── admin-user.service.ts │ │ │ │ │ └── user/ │ │ │ │ │ ├── dataset/ │ │ │ │ │ │ └── dataset.service.ts │ │ │ │ │ ├── download/ │ │ │ │ │ │ ├── download.service.spec.ts │ │ │ │ │ │ └── download.service.ts │ │ │ │ │ ├── file/ │ │ │ │ │ │ └── file-saver.service.ts │ │ │ │ │ ├── flarum/ │ │ │ │ │ │ └── flarum.service.ts │ │ │ │ │ ├── project/ │ │ │ │ │ │ ├── stub-user-project.service.ts │ │ │ │ │ │ └── user-project.service.ts │ │ │ │ │ ├── public-project/ │ │ │ │ │ │ └── public-project.service.ts │ │ │ │ │ ├── quota/ │ │ │ │ │ │ └── user-quota.service.ts │ │ │ │ │ ├── search.service.ts │ │ │ │ │ ├── share-access/ │ │ │ │ │ │ └── share-access.service.ts │ │ │ │ │ ├── stub-search.service.ts │ │ │ │ │ ├── workflow-executions/ │ │ │ │ │ │ ├── workflow-executions.service.spec.ts │ │ │ │ │ │ └── workflow-executions.service.ts │ │ │ │ │ ├── workflow-snapshot/ │ │ │ │ │ │ └── workflow-snapshot.service.ts │ │ │ │ │ └── workflow-version/ │ │ │ │ │ ├── workflow-version.service.spec.ts │ │ │ │ │ └── workflow-version.service.ts │ │ │ │ └── type/ │ │ │ │ ├── dashboard-dataset.interface.ts │ │ │ │ ├── dashboard-entry.ts │ │ │ │ ├── dashboard-file.interface.ts │ │ │ │ ├── dashboard-project.interface.ts │ │ │ │ ├── dashboard-workflow.interface.ts │ │ │ │ ├── google-api-response.ts │ │ │ │ ├── quota-statistic.interface.ts │ │ │ │ ├── search-filter-parameters.ts │ │ │ │ ├── search-result.ts │ │ │ │ ├── share-access.interface.ts │ │ │ │ ├── sort-method.ts │ │ │ │ ├── type-predicates.ts │ │ │ │ ├── workflow-executions-entry.ts │ │ │ │ ├── workflow-metadata.interface.ts │ │ │ │ ├── workflow-runtime-statistics.ts │ │ │ │ ├── workflow-snapshot-entry.ts │ │ │ │ └── workflow-version-entry.ts │ │ │ ├── hub/ │ │ │ │ ├── component/ │ │ │ │ │ ├── about/ │ │ │ │ │ │ ├── about.component.html │ │ │ │ │ │ ├── about.component.scss │ │ │ │ │ │ ├── about.component.spec.ts │ │ │ │ │ │ ├── about.component.ts │ │ │ │ │ │ └── local-login/ │ │ │ │ │ │ ├── local-login.component.html │ │ │ │ │ │ ├── local-login.component.scss │ │ │ │ │ │ └── local-login.component.ts │ │ │ │ │ ├── browse-section/ │ │ │ │ │ │ ├── browse-section.component.html │ │ │ │ │ │ ├── browse-section.component.scss │ │ │ │ │ │ ├── browse-section.component.spec.ts │ │ │ │ │ │ └── browse-section.component.ts │ │ │ │ │ ├── hub-search-result/ │ │ │ │ │ │ ├── hub-search-result.component.html │ │ │ │ │ │ ├── hub-search-result.component.scss │ │ │ │ │ │ └── hub-search-result.component.ts │ │ │ │ │ ├── hub.component.html │ │ │ │ │ ├── hub.component.scss │ │ │ │ │ ├── hub.component.ts │ │ │ │ │ ├── landing-page/ │ │ │ │ │ │ ├── landing-page.component.html │ │ │ │ │ │ ├── landing-page.component.scss │ │ │ │ │ │ └── landing-page.component.ts │ │ │ │ │ ├── type/ │ │ │ │ │ │ └── hub-workflow.interface.ts │ │ │ │ │ └── workflow/ │ │ │ │ │ └── detail/ │ │ │ │ │ ├── hub-workflow-detail.component.html │ │ │ │ │ ├── hub-workflow-detail.component.scss │ │ │ │ │ └── hub-workflow-detail.component.ts │ │ │ │ └── service/ │ │ │ │ └── hub.service.ts │ │ │ └── workspace/ │ │ │ ├── component/ │ │ │ │ ├── agent/ │ │ │ │ │ ├── agent-interaction/ │ │ │ │ │ │ ├── agent-interaction.component.html │ │ │ │ │ │ ├── agent-interaction.component.scss │ │ │ │ │ │ └── agent-interaction.component.ts │ │ │ │ │ └── agent-panel/ │ │ │ │ │ ├── agent-chat/ │ │ │ │ │ │ ├── agent-chat.component.html │ │ │ │ │ │ ├── agent-chat.component.scss │ │ │ │ │ │ └── agent-chat.component.ts │ │ │ │ │ ├── agent-panel.component.html │ │ │ │ │ ├── agent-panel.component.scss │ │ │ │ │ ├── agent-panel.component.ts │ │ │ │ │ ├── agent-registration/ │ │ │ │ │ │ ├── agent-registration.component.html │ │ │ │ │ │ ├── agent-registration.component.scss │ │ │ │ │ │ └── agent-registration.component.ts │ │ │ │ │ └── react-step-detail-modal/ │ │ │ │ │ ├── react-step-detail-modal.component.html │ │ │ │ │ ├── react-step-detail-modal.component.scss │ │ │ │ │ └── react-step-detail-modal.component.ts │ │ │ │ ├── code-editor-dialog/ │ │ │ │ │ ├── annotation-suggestion.component.html │ │ │ │ │ ├── annotation-suggestion.component.scss │ │ │ │ │ ├── annotation-suggestion.component.spec.ts │ │ │ │ │ ├── annotation-suggestion.component.ts │ │ │ │ │ ├── breakpoint-condition-input/ │ │ │ │ │ │ ├── breakpoint-condition-input.component.html │ │ │ │ │ │ ├── breakpoint-condition-input.component.scss │ │ │ │ │ │ ├── breakpoint-condition-input.component.spec.ts │ │ │ │ │ │ └── breakpoint-condition-input.component.ts │ │ │ │ │ ├── code-debugger.component.html │ │ │ │ │ ├── code-debugger.component.spec.ts │ │ │ │ │ ├── code-debugger.component.ts │ │ │ │ │ ├── code-editor.component.html │ │ │ │ │ ├── code-editor.component.scss │ │ │ │ │ ├── code-editor.component.spec.ts │ │ │ │ │ └── code-editor.component.ts │ │ │ │ ├── codearea-custom-template/ │ │ │ │ │ ├── codearea-custom-template.component.html │ │ │ │ │ ├── codearea-custom-template.component.scss │ │ │ │ │ ├── codearea-custom-template.component.spec.ts │ │ │ │ │ └── codearea-custom-template.component.ts │ │ │ │ ├── dataset-file-selector/ │ │ │ │ │ ├── dataset-file-selector.component.html │ │ │ │ │ └── dataset-file-selector.component.ts │ │ │ │ ├── dataset-selection-modal/ │ │ │ │ │ ├── dataset-selection-modal.component.html │ │ │ │ │ ├── dataset-selection-modal.component.scss │ │ │ │ │ └── dataset-selection-modal.component.ts │ │ │ │ ├── dataset-version-selector/ │ │ │ │ │ ├── dataset-version-selector.component.html │ │ │ │ │ └── dataset-version-selector.component.ts │ │ │ │ ├── left-panel/ │ │ │ │ │ ├── environment/ │ │ │ │ │ │ └── environment.component.ts │ │ │ │ │ ├── left-panel.component.html │ │ │ │ │ ├── left-panel.component.scss │ │ │ │ │ ├── left-panel.component.spec.ts │ │ │ │ │ ├── left-panel.component.ts │ │ │ │ │ ├── operator-menu/ │ │ │ │ │ │ ├── operator-label/ │ │ │ │ │ │ │ ├── operator-label.component.html │ │ │ │ │ │ │ ├── operator-label.component.scss │ │ │ │ │ │ │ ├── operator-label.component.spec.ts │ │ │ │ │ │ │ └── operator-label.component.ts │ │ │ │ │ │ ├── operator-menu.component.html │ │ │ │ │ │ ├── operator-menu.component.scss │ │ │ │ │ │ ├── operator-menu.component.spec.ts │ │ │ │ │ │ └── operator-menu.component.ts │ │ │ │ │ ├── settings/ │ │ │ │ │ │ ├── settings.component.html │ │ │ │ │ │ ├── settings.component.scss │ │ │ │ │ │ ├── settings.component.spec.ts │ │ │ │ │ │ └── settings.component.ts │ │ │ │ │ ├── time-travel/ │ │ │ │ │ │ ├── time-travel.component.html │ │ │ │ │ │ ├── time-travel.component.scss │ │ │ │ │ │ ├── time-travel.component.spec.ts │ │ │ │ │ │ └── time-travel.component.ts │ │ │ │ │ └── versions-list/ │ │ │ │ │ ├── versions-list.component.html │ │ │ │ │ ├── versions-list.component.scss │ │ │ │ │ ├── versions-list.component.spec.ts │ │ │ │ │ └── versions-list.component.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── coeditor-user-icon/ │ │ │ │ │ │ ├── coeditor-user-icon.component.css │ │ │ │ │ │ ├── coeditor-user-icon.component.html │ │ │ │ │ │ ├── coeditor-user-icon.component.spec.ts │ │ │ │ │ │ └── coeditor-user-icon.component.ts │ │ │ │ │ ├── menu.component.html │ │ │ │ │ ├── menu.component.scss │ │ │ │ │ ├── menu.component.spec.ts │ │ │ │ │ └── menu.component.ts │ │ │ │ ├── power-button/ │ │ │ │ │ ├── computing-unit-selection.component.html │ │ │ │ │ ├── computing-unit-selection.component.scss │ │ │ │ │ ├── computing-unit-selection.component.spec.ts │ │ │ │ │ └── computing-unit-selection.component.ts │ │ │ │ ├── property-editor/ │ │ │ │ │ ├── operator-property-edit-frame/ │ │ │ │ │ │ ├── operator-property-edit-frame.component.html │ │ │ │ │ │ ├── operator-property-edit-frame.component.scss │ │ │ │ │ │ ├── operator-property-edit-frame.component.spec.ts │ │ │ │ │ │ └── operator-property-edit-frame.component.ts │ │ │ │ │ ├── port-property-edit-frame/ │ │ │ │ │ │ ├── port-property-edit-frame.component.html │ │ │ │ │ │ ├── port-property-edit-frame.component.scss │ │ │ │ │ │ ├── port-property-edit-frame.component.spec.ts │ │ │ │ │ │ └── port-property-edit-frame.component.ts │ │ │ │ │ ├── property-editor.component.html │ │ │ │ │ ├── property-editor.component.scss │ │ │ │ │ ├── property-editor.component.spec.ts │ │ │ │ │ ├── property-editor.component.ts │ │ │ │ │ └── typecasting-display/ │ │ │ │ │ ├── type-casting-display.component.html │ │ │ │ │ ├── type-casting-display.component.spec.ts │ │ │ │ │ └── type-casting-display.component.ts │ │ │ │ ├── result-exportation/ │ │ │ │ │ ├── result-exportation.component.html │ │ │ │ │ ├── result-exportation.component.scss │ │ │ │ │ └── result-exportation.component.ts │ │ │ │ ├── result-panel/ │ │ │ │ │ ├── console-frame/ │ │ │ │ │ │ ├── console-frame.component.html │ │ │ │ │ │ ├── console-frame.component.scss │ │ │ │ │ │ ├── console-frame.component.spec.ts │ │ │ │ │ │ └── console-frame.component.ts │ │ │ │ │ ├── error-frame/ │ │ │ │ │ │ ├── error-frame.component.html │ │ │ │ │ │ ├── error-frame.component.scss │ │ │ │ │ │ ├── error-frame.component.spec.ts │ │ │ │ │ │ └── error-frame.component.ts │ │ │ │ │ ├── result-panel-modal.component.html │ │ │ │ │ ├── result-panel-modal.component.ts │ │ │ │ │ ├── result-panel-model.component.scss │ │ │ │ │ ├── result-panel.component.html │ │ │ │ │ ├── result-panel.component.scss │ │ │ │ │ ├── result-panel.component.spec.ts │ │ │ │ │ ├── result-panel.component.ts │ │ │ │ │ └── result-table-frame/ │ │ │ │ │ ├── result-table-frame.component.html │ │ │ │ │ ├── result-table-frame.component.scss │ │ │ │ │ ├── result-table-frame.component.spec.ts │ │ │ │ │ └── result-table-frame.component.ts │ │ │ │ ├── visualization-panel-content/ │ │ │ │ │ ├── visualization-frame-content.component.html │ │ │ │ │ ├── visualization-frame-content.component.scss │ │ │ │ │ └── visualization-frame-content.component.ts │ │ │ │ ├── workflow-editor/ │ │ │ │ │ ├── comment-box-modal/ │ │ │ │ │ │ ├── nz-modal-comment-box.component.html │ │ │ │ │ │ ├── nz-modal-comment-box.component.scss │ │ │ │ │ │ └── nz-modal-comment-box.component.ts │ │ │ │ │ ├── context-menu/ │ │ │ │ │ │ └── context-menu/ │ │ │ │ │ │ ├── context-menu.component.html │ │ │ │ │ │ ├── context-menu.component.scss │ │ │ │ │ │ ├── context-menu.component.spec.ts │ │ │ │ │ │ └── context-menu.component.ts │ │ │ │ │ ├── mini-map/ │ │ │ │ │ │ ├── mini-map.component.html │ │ │ │ │ │ ├── mini-map.component.scss │ │ │ │ │ │ ├── mini-map.component.spec.ts │ │ │ │ │ │ └── mini-map.component.ts │ │ │ │ │ ├── workflow-editor.component.html │ │ │ │ │ ├── workflow-editor.component.scss │ │ │ │ │ ├── workflow-editor.component.spec.ts │ │ │ │ │ └── workflow-editor.component.ts │ │ │ │ ├── workspace.component.html │ │ │ │ ├── workspace.component.scss │ │ │ │ ├── workspace.component.spec.ts │ │ │ │ └── workspace.component.ts │ │ │ ├── service/ │ │ │ │ ├── agent/ │ │ │ │ │ ├── agent-types.ts │ │ │ │ │ └── agent.service.ts │ │ │ │ ├── ai-analyst/ │ │ │ │ │ └── ai-analyst.service.ts │ │ │ │ ├── ai-assistant/ │ │ │ │ │ └── ai-assistant.service.ts │ │ │ │ ├── code-editor/ │ │ │ │ │ └── code-editor.service.ts │ │ │ │ ├── compile-workflow/ │ │ │ │ │ └── workflow-compiling.service.ts │ │ │ │ ├── drag-drop/ │ │ │ │ │ ├── drag-drop.service.spec.ts │ │ │ │ │ └── drag-drop.service.ts │ │ │ │ ├── dynamic-schema/ │ │ │ │ │ ├── dynamic-schema.service.spec.ts │ │ │ │ │ └── dynamic-schema.service.ts │ │ │ │ ├── execute-workflow/ │ │ │ │ │ ├── execute-workflow.service.spec.ts │ │ │ │ │ ├── execute-workflow.service.ts │ │ │ │ │ ├── mock-result-data.ts │ │ │ │ │ └── mock-workflow-plan.ts │ │ │ │ ├── joint-ui/ │ │ │ │ │ ├── joint-ui.service.spec.ts │ │ │ │ │ └── joint-ui.service.ts │ │ │ │ ├── operator-debug/ │ │ │ │ │ ├── udf-debug.service.spec.ts │ │ │ │ │ └── udf-debug.service.ts │ │ │ │ ├── operator-menu/ │ │ │ │ │ ├── operator-menu.service.spec.ts │ │ │ │ │ └── operator-menu.service.ts │ │ │ │ ├── operator-metadata/ │ │ │ │ │ ├── mock-operator-metadata.data.ts │ │ │ │ │ ├── operator-metadata.service.spec.ts │ │ │ │ │ ├── operator-metadata.service.ts │ │ │ │ │ └── stub-operator-metadata.service.ts │ │ │ │ ├── panel/ │ │ │ │ │ └── panel.service.ts │ │ │ │ ├── preset/ │ │ │ │ │ ├── preset.service.spec.ts │ │ │ │ │ └── preset.service.ts │ │ │ │ ├── report-generation/ │ │ │ │ │ └── report-generation.service.ts │ │ │ │ ├── undo-redo/ │ │ │ │ │ ├── undo-redo.service.spec.ts │ │ │ │ │ └── undo-redo.service.ts │ │ │ │ ├── validation/ │ │ │ │ │ ├── validation-workflow.service.spec.ts │ │ │ │ │ └── validation-workflow.service.ts │ │ │ │ ├── virtual-environment/ │ │ │ │ │ └── virtual-environment.service.ts │ │ │ │ ├── workflow-console/ │ │ │ │ │ ├── workflow-console.service.spec.ts │ │ │ │ │ └── workflow-console.service.ts │ │ │ │ ├── workflow-graph/ │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── coeditor-presence.service.spec.ts │ │ │ │ │ │ ├── coeditor-presence.service.ts │ │ │ │ │ │ ├── joint-graph-wrapper.spec.ts │ │ │ │ │ │ ├── joint-graph-wrapper.ts │ │ │ │ │ │ ├── mock-workflow-data.ts │ │ │ │ │ │ ├── shared-model-change-handler.ts │ │ │ │ │ │ ├── shared-model.ts │ │ │ │ │ │ ├── sync-texera-model.spec.ts │ │ │ │ │ │ ├── sync-texera-model.ts │ │ │ │ │ │ ├── workflow-action.service.spec.ts │ │ │ │ │ │ ├── workflow-action.service.ts │ │ │ │ │ │ ├── workflow-graph.spec.ts │ │ │ │ │ │ └── workflow-graph.ts │ │ │ │ │ └── util/ │ │ │ │ │ ├── workflow-util.service.spec.ts │ │ │ │ │ └── workflow-util.service.ts │ │ │ │ ├── workflow-result/ │ │ │ │ │ ├── panel-resize/ │ │ │ │ │ │ ├── panel-resize.service.spec.ts │ │ │ │ │ │ └── panel-resize.service.ts │ │ │ │ │ ├── workflow-result.service.spec.ts │ │ │ │ │ └── workflow-result.service.ts │ │ │ │ ├── workflow-result-export/ │ │ │ │ │ ├── workflow-result-export.service.spec.ts │ │ │ │ │ └── workflow-result-export.service.ts │ │ │ │ ├── workflow-status/ │ │ │ │ │ ├── operator-reuse-cache-status.service.spec.ts │ │ │ │ │ ├── operator-reuse-cache-status.service.ts │ │ │ │ │ └── workflow-status.service.ts │ │ │ │ └── workflow-websocket/ │ │ │ │ ├── workflow-websocket.service.spec.ts │ │ │ │ └── workflow-websocket.service.ts │ │ │ └── types/ │ │ │ ├── collab-websocket.interface.ts │ │ │ ├── custom-json-schema.interface.ts │ │ │ ├── execute-workflow.interface.ts │ │ │ ├── operator-schema.interface.ts │ │ │ ├── result-table.interface.ts │ │ │ ├── shared-editing.interface.ts │ │ │ ├── workflow-common.interface.ts │ │ │ ├── workflow-compiling.interface.ts │ │ │ └── workflow-websocket.interface.ts │ │ ├── assets/ │ │ │ ├── .gitkeep │ │ │ └── logos/ │ │ │ └── site.webmanifest │ │ ├── environments/ │ │ │ ├── environment.default.ts │ │ │ ├── environment.prod.ts │ │ │ ├── environment.test.ts │ │ │ └── environment.ts │ │ ├── index.html │ │ ├── jsdom-svg-polyfill.ts │ │ ├── main.test.ts │ │ ├── main.ts │ │ ├── styles.scss │ │ ├── test-zone-setup.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ ├── tsconfig.test.json │ │ └── vitest-globals.d.ts │ ├── tools/ │ │ └── jschardet-stub/ │ │ ├── index.js │ │ └── package.json │ ├── tsconfig.json │ ├── vitest.browser.config.ts │ └── vitest.config.ts ├── licenses/ │ ├── LICENSE-0BSD.txt │ ├── LICENSE-BSD-2-Clause.txt │ ├── LICENSE-BSD-3-Clause.txt │ ├── LICENSE-CDDL-1.0.txt │ ├── LICENSE-CDDL-1.1.txt │ ├── LICENSE-EDL-1.0.txt │ ├── LICENSE-EPL-1.0.txt │ ├── LICENSE-EPL-2.0.txt │ ├── LICENSE-ISC.txt │ ├── LICENSE-MIT-CMU.txt │ ├── LICENSE-MIT.txt │ ├── LICENSE-MPL-2.0.txt │ ├── LICENSE-PSF-2.0.txt │ ├── LICENSE-Unlicense.txt │ ├── LICENSE-avro.txt │ ├── LICENSE-aws-sdk.txt │ ├── LICENSE-awssdk-third-party-jackson.txt │ ├── LICENSE-commons-math3.txt │ ├── LICENSE-glassfish-hk2.txt │ ├── LICENSE-guice.txt │ ├── LICENSE-hadoop-shaded.txt │ ├── LICENSE-hadoop.txt │ ├── LICENSE-iceberg-bundled-guava.txt │ ├── LICENSE-iceberg.txt │ ├── LICENSE-jackson-afterburner.txt │ ├── LICENSE-jackson-blackbird.txt │ ├── LICENSE-jackson-core.txt │ ├── LICENSE-jakarta-ee.txt │ ├── LICENSE-javax-activation.txt │ ├── LICENSE-javax-ee-cddl.txt │ ├── LICENSE-javax-mail.txt │ ├── LICENSE-jaxb-api.txt │ ├── LICENSE-jersey.txt │ ├── LICENSE-jetty-11.0.txt │ ├── LICENSE-jetty-9.4.txt │ ├── LICENSE-jetty-jakarta-servlet-api.txt │ ├── LICENSE-lombok.txt │ ├── LICENSE-lucene.txt │ ├── LICENSE-netty-tcnative-boringssl.txt │ ├── LICENSE-netty.txt │ ├── LICENSE-pekko-actor.txt │ ├── LICENSE-pekko-cluster.txt │ ├── LICENSE-pekko-protobuf-v3.txt │ ├── LICENSE-pekko-remote.txt │ ├── LICENSE-postgresql.txt │ ├── LICENSE-slf4j.txt │ └── LICENSE-threeten-extra.txt ├── licenses-3rd-party-code/ │ ├── angular.md │ ├── mbknor-jackson-jsonschema.txt │ └── monaco-languageclient.txt ├── project/ │ ├── AddMetaInfLicenseFiles.scala │ ├── JdkOptions.scala │ ├── build.properties │ └── plugins.sbt ├── pyright-language-service/ │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── config.json │ │ ├── language-server-runner.ts │ │ ├── main.ts │ │ ├── server-commons.ts │ │ └── types/ │ │ └── hocon-parser.d.ts │ └── tsconfig.json ├── sql/ │ ├── changelog.xml │ ├── docker-compose.yml │ ├── iceberg_postgres_catalog.sql │ ├── misc/ │ │ └── tweets.sql │ ├── texera_ddl.sql │ ├── texera_lakefs.sql │ ├── texera_lakekeeper.sql │ └── updates/ │ ├── 01.sql │ ├── 02.sql │ ├── 03.sql │ ├── 04.sql │ ├── 05.sql │ ├── 06.sql │ ├── 07.sql │ ├── 08.sql │ ├── 09.sql │ ├── 10.sql │ ├── 11.sql │ ├── 12.sql │ ├── 13.sql │ ├── 14.sql │ ├── 15.sql │ ├── 16.sql │ ├── 17.sql │ ├── 18.sql │ ├── 19.sql │ ├── 20.sql │ ├── 21.sql │ └── 22.sql └── workflow-compiling-service/ ├── LICENSE-binary ├── NOTICE-binary ├── build.sbt ├── project/ │ └── build.properties └── src/ ├── main/ │ ├── resources/ │ │ └── workflow-compiling-service-config.yaml │ └── scala/ │ └── org/ │ └── apache/ │ └── texera/ │ ├── amber/ │ │ └── compiler/ │ │ ├── WorkflowCompiler.scala │ │ └── model/ │ │ ├── LogicalLink.scala │ │ ├── LogicalPlan.scala │ │ └── LogicalPlanPojo.scala │ └── service/ │ ├── WorkflowCompilingService.scala │ ├── WorkflowCompilingServiceConfiguration.scala │ └── resource/ │ ├── HealthCheckResource.scala │ └── WorkflowCompilationResource.scala └── test/ ├── resources/ │ └── country_sales_small.csv └── scala/ └── org/ └── apache/ └── texera/ └── service/ └── resource/ └── WorkflowCompilationResourceSpec.scala