gitextract_qhhcr7te/ ├── .claude/ │ └── agents/ │ └── docs-writer.md ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation.md │ │ ├── documentation.yaml │ │ ├── feature_request.md │ │ └── feature_request.yaml │ ├── dependabot.yml │ ├── pull_request_template.md │ ├── release-drafter.yml │ └── workflows/ │ ├── ci.yml │ ├── debug-docker-credentials.yml │ ├── generate_gh_pages.yml │ ├── publish.yml │ ├── publish_build.yaml │ ├── publish_s3.yaml │ ├── release_draft.yml │ └── ui-next-ci.yml ├── .gitignore ├── .opencode/ │ └── plans/ │ └── video-generation-implementation.md ├── AGENTS.md ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── OPENSEARCH_TESTING_PLAN.md ├── OSSMETADATA ├── README.md ├── RELATED.md ├── ROADMAP.md ├── SECURITY.md ├── USERS.md ├── ai/ │ ├── CONTRIBUTING.md │ ├── JDBC_CONFIGURATION.md │ ├── README.md │ ├── VECTORDB_CONFIGURATION.md │ ├── build.gradle │ ├── examples/ │ │ ├── 01-chat-completion.json │ │ ├── 02-generate-embeddings.json │ │ ├── 03-image-generation.json │ │ ├── 04-audio-generation.json │ │ ├── 05-semantic-search.json │ │ ├── 06-rag-basic.json │ │ ├── 07-rag-complete.json │ │ ├── 08-mcp-list-tools.json │ │ ├── 09-mcp-call-tool.json │ │ ├── 10-mcp-ai-agent.json │ │ ├── 11-video-openai-sora.json │ │ ├── 12-video-gemini-veo.json │ │ ├── 13-image-to-video-pipeline.json │ │ ├── 14-stabilityai-image.json │ │ ├── 15-pdf-generation.json │ │ ├── 16-llm-to-pdf-pipeline.json │ │ └── README.md │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ ├── ai/ │ │ │ ├── AIModel.java │ │ │ ├── AIModelProvider.java │ │ │ ├── LLMHelper.java │ │ │ ├── LLMs.java │ │ │ ├── MimeExtensionResolver.java │ │ │ ├── ModelConfiguration.java │ │ │ ├── document/ │ │ │ │ ├── DocumentAccessDeniedException.java │ │ │ │ ├── DocumentAccessPolicy.java │ │ │ │ ├── DocumentLoader.java │ │ │ │ ├── FileSystemDocumentLoader.java │ │ │ │ └── HttpDocumentLoader.java │ │ │ ├── mcp/ │ │ │ │ ├── JsonTextParser.java │ │ │ │ └── MCPService.java │ │ │ ├── models/ │ │ │ │ ├── AudioGenRequest.java │ │ │ │ ├── ChatCompletion.java │ │ │ │ ├── ChatMessage.java │ │ │ │ ├── EmbeddingGenRequest.java │ │ │ │ ├── GetConversationHistoryRequest.java │ │ │ │ ├── ImageGenRequest.java │ │ │ │ ├── IndexDocInput.java │ │ │ │ ├── IndexedDoc.java │ │ │ │ ├── LLMResponse.java │ │ │ │ ├── LLMWorkerInput.java │ │ │ │ ├── MCPListToolsRequest.java │ │ │ │ ├── MCPToolCallRequest.java │ │ │ │ ├── MarkdownToPdfRequest.java │ │ │ │ ├── Media.java │ │ │ │ ├── StoreEmbeddingsInput.java │ │ │ │ ├── TextCompletion.java │ │ │ │ ├── ToolCall.java │ │ │ │ ├── ToolSpec.java │ │ │ │ ├── VectorDBInput.java │ │ │ │ └── VideoGenRequest.java │ │ │ ├── pdf/ │ │ │ │ ├── MarkdownToPdfConverter.java │ │ │ │ ├── PdfDocumentRenderer.java │ │ │ │ ├── PdfImageResolver.java │ │ │ │ └── PdfRenderContext.java │ │ │ ├── providers/ │ │ │ │ ├── anthropic/ │ │ │ │ │ ├── Anthropic.java │ │ │ │ │ └── AnthropicConfiguration.java │ │ │ │ ├── azureopenai/ │ │ │ │ │ ├── AzureOpenAI.java │ │ │ │ │ └── AzureOpenAIConfiguration.java │ │ │ │ ├── bedrock/ │ │ │ │ │ ├── Bedrock.java │ │ │ │ │ └── BedrockConfiguration.java │ │ │ │ ├── cohere/ │ │ │ │ │ ├── CohereAI.java │ │ │ │ │ ├── CohereAIConfiguration.java │ │ │ │ │ ├── CohereChatModel.java │ │ │ │ │ ├── CohereChatOptions.java │ │ │ │ │ ├── CohereEmbeddingModel.java │ │ │ │ │ └── api/ │ │ │ │ │ └── CohereApi.java │ │ │ │ ├── gemini/ │ │ │ │ │ ├── GeminiGenAI.java │ │ │ │ │ ├── GeminiVertex.java │ │ │ │ │ ├── GeminiVertexConfiguration.java │ │ │ │ │ └── GeminiVideoModel.java │ │ │ │ ├── grok/ │ │ │ │ │ ├── Grok.java │ │ │ │ │ └── GrokAIConfiguration.java │ │ │ │ ├── huggingface/ │ │ │ │ │ ├── HuggingFace.java │ │ │ │ │ └── HuggingFaceConfiguration.java │ │ │ │ ├── mistral/ │ │ │ │ │ ├── MistralAI.java │ │ │ │ │ └── MistralAIConfiguration.java │ │ │ │ ├── ollama/ │ │ │ │ │ ├── Ollama.java │ │ │ │ │ └── OllamaConfiguration.java │ │ │ │ ├── openai/ │ │ │ │ │ ├── OpenAI.java │ │ │ │ │ ├── OpenAIConfiguration.java │ │ │ │ │ ├── OpenAIVideoModel.java │ │ │ │ │ └── api/ │ │ │ │ │ └── OpenAIVideoApi.java │ │ │ │ ├── perplexity/ │ │ │ │ │ ├── PerplexityAI.java │ │ │ │ │ └── PerplexityAIConfiguration.java │ │ │ │ └── stabilityai/ │ │ │ │ ├── StabilityAI.java │ │ │ │ ├── StabilityAIConfiguration.java │ │ │ │ └── StabilityAiApi.java │ │ │ ├── sql/ │ │ │ │ ├── JDBCConnectionConfig.java │ │ │ │ ├── JDBCInput.java │ │ │ │ ├── JDBCInstanceConfig.java │ │ │ │ ├── JDBCProvider.java │ │ │ │ └── JDBCWorker.java │ │ │ ├── tasks/ │ │ │ │ ├── mapper/ │ │ │ │ │ ├── AIModelTaskMapper.java │ │ │ │ │ ├── AudioGenerationTaskMapper.java │ │ │ │ │ ├── CallMCPToolTaskMapper.java │ │ │ │ │ ├── ChatCompleteTaskMapper.java │ │ │ │ │ ├── GenEmbeddingsTaskMapper.java │ │ │ │ │ ├── GetEmbeddingsTaskMapper.java │ │ │ │ │ ├── ImageGenerationTaskMapper.java │ │ │ │ │ ├── IndexTextTaskMapper.java │ │ │ │ │ ├── ListMCPToolsTaskMapper.java │ │ │ │ │ ├── PdfGenerationTaskMapper.java │ │ │ │ │ ├── SearchIndexTaskMapper.java │ │ │ │ │ ├── StoreEmbeddingsTaskMapper.java │ │ │ │ │ ├── TextCompleteTaskMapper.java │ │ │ │ │ └── VideoGenerationTaskMapper.java │ │ │ │ └── worker/ │ │ │ │ ├── DocumentGenWorkers.java │ │ │ │ ├── LLMWorkers.java │ │ │ │ ├── MCPWorkers.java │ │ │ │ └── VectorDBWorkers.java │ │ │ ├── vectordb/ │ │ │ │ ├── VectorDB.java │ │ │ │ ├── VectorDBConfig.java │ │ │ │ ├── VectorDBInstanceConfig.java │ │ │ │ ├── VectorDBProvider.java │ │ │ │ ├── VectorDBs.java │ │ │ │ ├── mongodb/ │ │ │ │ │ ├── MongoDBConfig.java │ │ │ │ │ └── MongoVectorDB.java │ │ │ │ ├── pinecone/ │ │ │ │ │ ├── PineconeConfig.java │ │ │ │ │ └── PineconeDB.java │ │ │ │ └── postgres/ │ │ │ │ ├── PostgresConfig.java │ │ │ │ └── PostgresVectorDB.java │ │ │ └── video/ │ │ │ ├── AsyncVideoModel.java │ │ │ ├── Video.java │ │ │ ├── VideoGeneration.java │ │ │ ├── VideoGenerationMetadata.java │ │ │ ├── VideoMessage.java │ │ │ ├── VideoModel.java │ │ │ ├── VideoOptions.java │ │ │ ├── VideoOptionsBuilder.java │ │ │ ├── VideoPrompt.java │ │ │ ├── VideoResponse.java │ │ │ └── VideoResponseMetadata.java │ │ └── config/ │ │ └── AIIntegrationEnabledCondition.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── ai/ │ │ ├── AIModelProviderTest.java │ │ ├── LLMHelperTest.java │ │ ├── LLMsTest.java │ │ ├── document/ │ │ │ └── DocumentAccessPolicyTest.java │ │ ├── integration/ │ │ │ └── AIModelIntegrationTest.java │ │ ├── mapper/ │ │ │ ├── GenEmbeddingsTaskMapperTest.java │ │ │ ├── GetEmbeddingsTaskMapperTest.java │ │ │ ├── IndexTextTaskMapperTest.java │ │ │ ├── PdfGenerationTaskMapperTest.java │ │ │ ├── SearchIndexTaskMapperTest.java │ │ │ ├── StoreEmbeddingsTaskMapperTest.java │ │ │ └── TextCompleteTaskMapperTest.java │ │ ├── mcp/ │ │ │ └── JsonTextParserTest.java │ │ ├── pdf/ │ │ │ ├── DocumentGenWorkersTest.java │ │ │ ├── MarkdownToPdfConverterTest.java │ │ │ ├── PdfImageResolverTest.java │ │ │ └── PdfRenderContextTest.java │ │ ├── providers/ │ │ │ ├── anthropic/ │ │ │ │ ├── AnthropicConfigurationTest.java │ │ │ │ └── AnthropicTest.java │ │ │ ├── azureopenai/ │ │ │ │ ├── AzureOpenAIConfigurationTest.java │ │ │ │ └── AzureOpenAITest.java │ │ │ ├── bedrock/ │ │ │ │ ├── BedrockConfigurationTest.java │ │ │ │ └── BedrockTest.java │ │ │ ├── cohere/ │ │ │ │ ├── CohereAIConfigurationTest.java │ │ │ │ └── CohereAITest.java │ │ │ ├── gemini/ │ │ │ │ ├── GeminiVertexConfigurationTest.java │ │ │ │ └── GeminiVertexTest.java │ │ │ ├── grok/ │ │ │ │ ├── GrokAIConfigurationTest.java │ │ │ │ └── GrokTest.java │ │ │ ├── huggingface/ │ │ │ │ ├── HuggingFaceConfigurationTest.java │ │ │ │ └── HuggingFaceTest.java │ │ │ ├── mistral/ │ │ │ │ ├── MistralAIConfigurationTest.java │ │ │ │ └── MistralAITest.java │ │ │ ├── ollama/ │ │ │ │ ├── OllamaConfigurationTest.java │ │ │ │ └── OllamaTest.java │ │ │ ├── openai/ │ │ │ │ ├── OpenAIConfigurationTest.java │ │ │ │ └── OpenAITest.java │ │ │ └── perplexity/ │ │ │ ├── PerplexityAIConfigurationTest.java │ │ │ └── PerplexityAITest.java │ │ ├── sql/ │ │ │ ├── JDBCConnectionConfigTest.java │ │ │ ├── JDBCEndToEndTest.java │ │ │ ├── JDBCInstanceConfigTest.java │ │ │ └── JDBCProviderTest.java │ │ ├── vectordb/ │ │ │ ├── MongoVectorDBTest.java │ │ │ ├── PostgresVectorDBTest.java │ │ │ ├── VectorDBProviderTest.java │ │ │ └── VectorDBsTest.java │ │ └── video/ │ │ ├── VideoMemoryTest.java │ │ ├── VideoModelTest.java │ │ └── VideoProviderMemoryTest.java │ └── resources/ │ └── ai-test-env.sh ├── amqp/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── contribs/ │ │ └── queue/ │ │ └── amqp/ │ │ ├── AMQPConnection.java │ │ ├── AMQPObservableQueue.java │ │ ├── config/ │ │ │ ├── AMQPEventQueueConfiguration.java │ │ │ ├── AMQPEventQueueProperties.java │ │ │ ├── AMQPEventQueueProvider.java │ │ │ └── AMQPRetryPattern.java │ │ └── util/ │ │ ├── AMQPConfigurations.java │ │ ├── AMQPConstants.java │ │ ├── AMQPSettings.java │ │ ├── ConnectionType.java │ │ └── RetryType.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── contribs/ │ └── queue/ │ └── amqp/ │ ├── AMQPEventQueueProviderTest.java │ ├── AMQPObservableQueueTest.java │ └── AMQPSettingsTest.java ├── annotations/ │ ├── README.md │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── annotations/ │ └── protogen/ │ ├── ProtoEnum.java │ ├── ProtoField.java │ └── ProtoMessage.java ├── annotations-processor/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── example/ │ │ └── java/ │ │ └── com/ │ │ └── example/ │ │ └── Example.java │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── annotationsprocessor/ │ │ │ └── protogen/ │ │ │ ├── AbstractMessage.java │ │ │ ├── Enum.java │ │ │ ├── Message.java │ │ │ ├── ProtoFile.java │ │ │ ├── ProtoGen.java │ │ │ ├── ProtoGenTask.java │ │ │ └── types/ │ │ │ ├── AbstractType.java │ │ │ ├── ExternMessageType.java │ │ │ ├── GenericType.java │ │ │ ├── ListType.java │ │ │ ├── MapType.java │ │ │ ├── MessageType.java │ │ │ ├── ScalarType.java │ │ │ ├── TypeMapper.java │ │ │ └── WrappedType.java │ │ └── resources/ │ │ └── templates/ │ │ ├── file.proto │ │ └── message.proto │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── annotationsprocessor/ │ │ └── protogen/ │ │ └── ProtoGenTest.java │ └── resources/ │ └── example.proto.txt ├── awss3-storage/ │ ├── README.md │ ├── build.gradle │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── s3/ │ │ ├── config/ │ │ │ ├── S3Configuration.java │ │ │ └── S3Properties.java │ │ └── storage/ │ │ └── S3PayloadStorage.java │ └── resources/ │ └── META-INF/ │ └── additional-spring-configuration-metadata.json ├── awssqs-event-queue/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── sqs/ │ │ │ ├── config/ │ │ │ │ ├── SQSEventQueueConfiguration.java │ │ │ │ ├── SQSEventQueueProperties.java │ │ │ │ └── SQSEventQueueProvider.java │ │ │ └── eventqueue/ │ │ │ └── SQSObservableQueue.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── additional-spring-configuration-metadata.json │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── sqs/ │ └── eventqueue/ │ ├── DefaultEventQueueProcessorTest.java │ └── SQSObservableQueueTest.java ├── azureblob-storage/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── azureblob/ │ │ ├── config/ │ │ │ ├── AzureBlobConfiguration.java │ │ │ └── AzureBlobProperties.java │ │ └── storage/ │ │ └── AzureBlobPayloadStorage.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── azureblob/ │ └── storage/ │ └── AzureBlobPayloadStorageTest.java ├── build.gradle ├── build_ui.sh ├── cassandra-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── cassandra/ │ │ │ ├── config/ │ │ │ │ ├── CassandraConfiguration.java │ │ │ │ ├── CassandraProperties.java │ │ │ │ └── cache/ │ │ │ │ ├── CacheableEventHandlerDAO.java │ │ │ │ ├── CacheableMetadataDAO.java │ │ │ │ └── CachingConfig.java │ │ │ ├── dao/ │ │ │ │ ├── CassandraBaseDAO.java │ │ │ │ ├── CassandraEventHandlerDAO.java │ │ │ │ ├── CassandraExecutionDAO.java │ │ │ │ ├── CassandraMetadataDAO.java │ │ │ │ └── CassandraPollDataDAO.java │ │ │ └── util/ │ │ │ ├── Constants.java │ │ │ └── Statements.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── additional-spring-configuration-metadata.json │ └── test/ │ └── groovy/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── cassandra/ │ ├── dao/ │ │ ├── CassandraEventHandlerDAOSpec.groovy │ │ ├── CassandraExecutionDAOSpec.groovy │ │ ├── CassandraMetadataDAOSpec.groovy │ │ └── CassandraSpec.groovy │ └── util/ │ └── StatementsSpec.groovy ├── common/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ ├── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ ├── annotations/ │ │ │ │ └── protogen/ │ │ │ │ ├── ProtoEnum.java │ │ │ │ ├── ProtoField.java │ │ │ │ └── ProtoMessage.java │ │ │ ├── common/ │ │ │ │ ├── config/ │ │ │ │ │ ├── ObjectMapperBuilderConfiguration.java │ │ │ │ │ ├── ObjectMapperConfiguration.java │ │ │ │ │ └── ObjectMapperProvider.java │ │ │ │ ├── constraints/ │ │ │ │ │ ├── NoSemiColonConstraint.java │ │ │ │ │ ├── OwnerEmailMandatoryConstraint.java │ │ │ │ │ ├── TaskReferenceNameUniqueConstraint.java │ │ │ │ │ ├── TaskTimeoutConstraint.java │ │ │ │ │ └── ValidNameConstraint.java │ │ │ │ ├── jackson/ │ │ │ │ │ └── JsonProtoModule.java │ │ │ │ ├── metadata/ │ │ │ │ │ ├── Auditable.java │ │ │ │ │ ├── BaseDef.java │ │ │ │ │ ├── SchemaDef.java │ │ │ │ │ ├── acl/ │ │ │ │ │ │ └── Permission.java │ │ │ │ │ ├── events/ │ │ │ │ │ │ ├── EventExecution.java │ │ │ │ │ │ └── EventHandler.java │ │ │ │ │ ├── tasks/ │ │ │ │ │ │ ├── ExecutionMetadata.java │ │ │ │ │ │ ├── PollData.java │ │ │ │ │ │ ├── Task.java │ │ │ │ │ │ ├── TaskDef.java │ │ │ │ │ │ ├── TaskExecLog.java │ │ │ │ │ │ ├── TaskResult.java │ │ │ │ │ │ └── TaskType.java │ │ │ │ │ └── workflow/ │ │ │ │ │ ├── CacheConfig.java │ │ │ │ │ ├── DynamicForkJoinTask.java │ │ │ │ │ ├── DynamicForkJoinTaskList.java │ │ │ │ │ ├── IdempotencyStrategy.java │ │ │ │ │ ├── RateLimitConfig.java │ │ │ │ │ ├── RerunWorkflowRequest.java │ │ │ │ │ ├── SkipTaskRequest.java │ │ │ │ │ ├── StartWorkflowRequest.java │ │ │ │ │ ├── StateChangeEvent.java │ │ │ │ │ ├── SubWorkflowParams.java │ │ │ │ │ ├── UpgradeWorkflowRequest.java │ │ │ │ │ ├── WorkflowDef.java │ │ │ │ │ ├── WorkflowDefSummary.java │ │ │ │ │ └── WorkflowTask.java │ │ │ │ ├── model/ │ │ │ │ │ └── BulkResponse.java │ │ │ │ ├── run/ │ │ │ │ │ ├── ExternalStorageLocation.java │ │ │ │ │ ├── SearchResult.java │ │ │ │ │ ├── TaskSummary.java │ │ │ │ │ ├── Workflow.java │ │ │ │ │ ├── WorkflowSummary.java │ │ │ │ │ ├── WorkflowSummaryExtended.java │ │ │ │ │ └── WorkflowTestRequest.java │ │ │ │ ├── utils/ │ │ │ │ │ ├── ConstraintParamUtil.java │ │ │ │ │ ├── EnvUtils.java │ │ │ │ │ ├── ExternalPayloadStorage.java │ │ │ │ │ ├── SummaryUtil.java │ │ │ │ │ └── TaskUtils.java │ │ │ │ └── validation/ │ │ │ │ ├── ErrorResponse.java │ │ │ │ └── ValidationError.java │ │ │ └── sdk/ │ │ │ └── workflow/ │ │ │ └── executor/ │ │ │ └── task/ │ │ │ ├── NonRetryableException.java │ │ │ └── TaskContext.java │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ ├── ai/ │ │ │ └── TokenUsageLog.java │ │ ├── common/ │ │ │ ├── Documented.java │ │ │ ├── JsonSchemaValidator.java │ │ │ └── utils/ │ │ │ ├── StringTemplate.java │ │ │ └── TextUtils.java │ │ ├── core/ │ │ │ └── execution/ │ │ │ └── tasks/ │ │ │ └── AnnotatedSystemTaskWorker.java │ │ └── model/ │ │ ├── SignalResponse.java │ │ ├── TaskRun.java │ │ ├── WorkflowRun.java │ │ └── WorkflowSignalReturnStrategy.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── common/ │ │ ├── config/ │ │ │ └── TestObjectMapperConfiguration.java │ │ ├── constraints/ │ │ │ └── NameValidatorTest.java │ │ ├── events/ │ │ │ └── EventHandlerTest.java │ │ ├── run/ │ │ │ └── TaskSummaryTest.java │ │ ├── tasks/ │ │ │ ├── TaskDefTest.java │ │ │ ├── TaskResultTest.java │ │ │ └── TaskTest.java │ │ ├── utils/ │ │ │ ├── ConstraintParamUtilTest.java │ │ │ └── SummaryUtilTest.java │ │ └── workflow/ │ │ ├── SubWorkflowParamsTest.java │ │ ├── WorkflowDefValidatorTest.java │ │ └── WorkflowTaskTest.java │ └── resources/ │ └── application.properties ├── common-persistence/ │ ├── build.gradle │ └── src/ │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── dao/ │ ├── ExecutionDAOTest.java │ └── TestBase.java ├── conductor-clients/ │ └── README.md ├── conductor_server.bat ├── conductor_server.ps1 ├── conductor_server.sh ├── core/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── com/ │ │ │ │ └── netflix/ │ │ │ │ └── conductor/ │ │ │ │ ├── annotations/ │ │ │ │ │ ├── Audit.java │ │ │ │ │ ├── Trace.java │ │ │ │ │ └── VisibleForTesting.java │ │ │ │ ├── core/ │ │ │ │ │ ├── LifecycleAwareComponent.java │ │ │ │ │ ├── WorkflowContext.java │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── ConductorCoreConfiguration.java │ │ │ │ │ │ ├── ConductorProperties.java │ │ │ │ │ │ └── SchedulerConfiguration.java │ │ │ │ │ ├── dal/ │ │ │ │ │ │ └── ExecutionDAOFacade.java │ │ │ │ │ ├── events/ │ │ │ │ │ │ ├── ActionProcessor.java │ │ │ │ │ │ ├── DefaultEventProcessor.java │ │ │ │ │ │ ├── DefaultEventQueueManager.java │ │ │ │ │ │ ├── EventQueueManager.java │ │ │ │ │ │ ├── EventQueueProvider.java │ │ │ │ │ │ ├── EventQueues.java │ │ │ │ │ │ ├── ScriptEvaluator.java │ │ │ │ │ │ ├── SimpleActionProcessor.java │ │ │ │ │ │ └── queue/ │ │ │ │ │ │ ├── ConductorEventQueueProvider.java │ │ │ │ │ │ ├── ConductorObservableQueue.java │ │ │ │ │ │ ├── DefaultEventQueueProcessor.java │ │ │ │ │ │ ├── Message.java │ │ │ │ │ │ └── ObservableQueue.java │ │ │ │ │ ├── exception/ │ │ │ │ │ │ ├── ConflictException.java │ │ │ │ │ │ ├── NonTransientException.java │ │ │ │ │ │ ├── NotFoundException.java │ │ │ │ │ │ ├── TerminateWorkflowException.java │ │ │ │ │ │ └── TransientException.java │ │ │ │ │ ├── execution/ │ │ │ │ │ │ ├── AsyncSystemTaskExecutor.java │ │ │ │ │ │ ├── DeciderService.java │ │ │ │ │ │ ├── NotificationResult.java │ │ │ │ │ │ ├── StartWorkflowInput.java │ │ │ │ │ │ ├── WorkflowExecutor.java │ │ │ │ │ │ ├── WorkflowExecutorOps.java │ │ │ │ │ │ ├── evaluators/ │ │ │ │ │ │ │ ├── ConsoleBridge.java │ │ │ │ │ │ │ ├── Evaluator.java │ │ │ │ │ │ │ ├── GraalJSEvaluator.java │ │ │ │ │ │ │ ├── JavascriptEvaluator.java │ │ │ │ │ │ │ ├── PythonEvaluator.java │ │ │ │ │ │ │ └── ValueParamEvaluator.java │ │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ │ ├── DecisionTaskMapper.java │ │ │ │ │ │ │ ├── DoWhileTaskMapper.java │ │ │ │ │ │ │ ├── DynamicTaskMapper.java │ │ │ │ │ │ │ ├── EventTaskMapper.java │ │ │ │ │ │ │ ├── ExclusiveJoinTaskMapper.java │ │ │ │ │ │ │ ├── ForkJoinDynamicTaskMapper.java │ │ │ │ │ │ │ ├── ForkJoinTaskMapper.java │ │ │ │ │ │ │ ├── HTTPTaskMapper.java │ │ │ │ │ │ │ ├── HumanTaskMapper.java │ │ │ │ │ │ │ ├── InlineTaskMapper.java │ │ │ │ │ │ │ ├── JoinTaskMapper.java │ │ │ │ │ │ │ ├── JsonJQTransformTaskMapper.java │ │ │ │ │ │ │ ├── KafkaPublishTaskMapper.java │ │ │ │ │ │ │ ├── LambdaTaskMapper.java │ │ │ │ │ │ │ ├── NoopTaskMapper.java │ │ │ │ │ │ │ ├── SetVariableTaskMapper.java │ │ │ │ │ │ │ ├── SimpleTaskMapper.java │ │ │ │ │ │ │ ├── StartWorkflowTaskMapper.java │ │ │ │ │ │ │ ├── SubWorkflowTaskMapper.java │ │ │ │ │ │ │ ├── SwitchTaskMapper.java │ │ │ │ │ │ │ ├── TaskMapper.java │ │ │ │ │ │ │ ├── TaskMapperContext.java │ │ │ │ │ │ │ ├── TerminateTaskMapper.java │ │ │ │ │ │ │ ├── UserDefinedTaskMapper.java │ │ │ │ │ │ │ └── WaitTaskMapper.java │ │ │ │ │ │ └── tasks/ │ │ │ │ │ │ ├── Decision.java │ │ │ │ │ │ ├── DoWhile.java │ │ │ │ │ │ ├── Event.java │ │ │ │ │ │ ├── ExclusiveJoin.java │ │ │ │ │ │ ├── ExecutionConfig.java │ │ │ │ │ │ ├── Fork.java │ │ │ │ │ │ ├── Human.java │ │ │ │ │ │ ├── Inline.java │ │ │ │ │ │ ├── IsolatedTaskQueueProducer.java │ │ │ │ │ │ ├── Join.java │ │ │ │ │ │ ├── Lambda.java │ │ │ │ │ │ ├── Noop.java │ │ │ │ │ │ ├── SetVariable.java │ │ │ │ │ │ ├── StartWorkflow.java │ │ │ │ │ │ ├── SubWorkflow.java │ │ │ │ │ │ ├── Switch.java │ │ │ │ │ │ ├── SystemTaskRegistry.java │ │ │ │ │ │ ├── SystemTaskWorker.java │ │ │ │ │ │ ├── SystemTaskWorkerCoordinator.java │ │ │ │ │ │ ├── Terminate.java │ │ │ │ │ │ ├── Wait.java │ │ │ │ │ │ └── WorkflowSystemTask.java │ │ │ │ │ ├── index/ │ │ │ │ │ │ ├── NoopIndexDAO.java │ │ │ │ │ │ └── NoopIndexDAOConfiguration.java │ │ │ │ │ ├── listener/ │ │ │ │ │ │ ├── TaskStatusListener.java │ │ │ │ │ │ ├── TaskStatusListenerStub.java │ │ │ │ │ │ ├── WorkflowStatusListener.java │ │ │ │ │ │ └── WorkflowStatusListenerStub.java │ │ │ │ │ ├── metadata/ │ │ │ │ │ │ └── MetadataMapperService.java │ │ │ │ │ ├── reconciliation/ │ │ │ │ │ │ ├── WorkflowReconciler.java │ │ │ │ │ │ ├── WorkflowRepairService.java │ │ │ │ │ │ └── WorkflowSweeper.java │ │ │ │ │ ├── storage/ │ │ │ │ │ │ └── DummyPayloadStorage.java │ │ │ │ │ ├── sync/ │ │ │ │ │ │ ├── Lock.java │ │ │ │ │ │ ├── local/ │ │ │ │ │ │ │ ├── LocalOnlyLock.java │ │ │ │ │ │ │ └── LocalOnlyLockConfiguration.java │ │ │ │ │ │ └── noop/ │ │ │ │ │ │ └── NoopLock.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── DateTimeUtils.java │ │ │ │ │ ├── ExternalPayloadStorageUtils.java │ │ │ │ │ ├── IDGenerator.java │ │ │ │ │ ├── JsonUtils.java │ │ │ │ │ ├── ParametersUtils.java │ │ │ │ │ ├── QueueUtils.java │ │ │ │ │ ├── SemaphoreUtil.java │ │ │ │ │ └── Utils.java │ │ │ │ ├── dao/ │ │ │ │ │ ├── ConcurrentExecutionLimitDAO.java │ │ │ │ │ ├── EventHandlerDAO.java │ │ │ │ │ ├── ExecutionDAO.java │ │ │ │ │ ├── IndexDAO.java │ │ │ │ │ ├── MetadataDAO.java │ │ │ │ │ ├── PollDataDAO.java │ │ │ │ │ ├── QueueDAO.java │ │ │ │ │ └── RateLimitingDAO.java │ │ │ │ ├── metrics/ │ │ │ │ │ ├── Monitors.java │ │ │ │ │ └── WorkflowMonitor.java │ │ │ │ ├── model/ │ │ │ │ │ ├── TaskModel.java │ │ │ │ │ ├── WorkflowModel.java │ │ │ │ │ └── WorkflowNotifications.java │ │ │ │ ├── sdk/ │ │ │ │ │ └── workflow/ │ │ │ │ │ └── task/ │ │ │ │ │ ├── InputParam.java │ │ │ │ │ ├── OutputParam.java │ │ │ │ │ └── WorkerTask.java │ │ │ │ ├── service/ │ │ │ │ │ ├── AdminService.java │ │ │ │ │ ├── AdminServiceImpl.java │ │ │ │ │ ├── EventService.java │ │ │ │ │ ├── EventServiceImpl.java │ │ │ │ │ ├── ExecutionLockService.java │ │ │ │ │ ├── ExecutionService.java │ │ │ │ │ ├── MetadataService.java │ │ │ │ │ ├── MetadataServiceImpl.java │ │ │ │ │ ├── TaskService.java │ │ │ │ │ ├── TaskServiceImpl.java │ │ │ │ │ ├── VersionService.java │ │ │ │ │ ├── WorkflowBulkService.java │ │ │ │ │ ├── WorkflowBulkServiceImpl.java │ │ │ │ │ ├── WorkflowService.java │ │ │ │ │ ├── WorkflowServiceImpl.java │ │ │ │ │ └── WorkflowTestService.java │ │ │ │ └── validations/ │ │ │ │ ├── ValidationContext.java │ │ │ │ └── WorkflowTaskTypeConstraint.java │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── core/ │ │ │ └── execution/ │ │ │ ├── ExecutorUtils.java │ │ │ ├── SweeperProperties.java │ │ │ ├── WorkflowSweeper.java │ │ │ ├── mapper/ │ │ │ │ ├── AnnotatedSystemTaskMapper.java │ │ │ │ └── TaskMapperValidator.java │ │ │ └── tasks/ │ │ │ └── annotated/ │ │ │ ├── AnnotatedMethodParameterMapper.java │ │ │ ├── AnnotatedMethodResultMapper.java │ │ │ ├── AnnotatedWorkflowSystemTask.java │ │ │ ├── SampleWorkers.java │ │ │ └── WorkerTaskAnnotationScanner.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── additional-spring-configuration-metadata.json │ │ ├── validation/ │ │ │ └── constraints.xml │ │ └── validation.xml │ └── test/ │ ├── groovy/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── core/ │ │ │ └── execution/ │ │ │ ├── AsyncSystemTaskExecutorTest.groovy │ │ │ └── tasks/ │ │ │ ├── DoWhileSpec.groovy │ │ │ ├── EventSpec.groovy │ │ │ ├── IsolatedTaskQueueProducerSpec.groovy │ │ │ └── StartWorkflowSpec.groovy │ │ └── model/ │ │ ├── TaskModelSpec.groovy │ │ └── WorkflowModelSpec.groovy │ ├── java/ │ │ ├── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ ├── TestUtils.java │ │ │ ├── core/ │ │ │ │ ├── dal/ │ │ │ │ │ └── ExecutionDAOFacadeTest.java │ │ │ │ ├── events/ │ │ │ │ │ ├── MockObservableQueue.java │ │ │ │ │ ├── MockQueueProvider.java │ │ │ │ │ ├── TestDefaultEventProcessor.java │ │ │ │ │ ├── TestGraalJSFeatures.java │ │ │ │ │ ├── TestScriptEval.java │ │ │ │ │ └── TestSimpleActionProcessor.java │ │ │ │ ├── execution/ │ │ │ │ │ ├── NotificationResultTest.java │ │ │ │ │ ├── TestDeciderOutcomes.java │ │ │ │ │ ├── TestDeciderService.java │ │ │ │ │ ├── TestWorkflowDef.java │ │ │ │ │ ├── TestWorkflowExecutor.java │ │ │ │ │ ├── TestWorkflowExecutorDecideLoop.java │ │ │ │ │ ├── WorkflowSystemTaskStub.java │ │ │ │ │ ├── evaluators/ │ │ │ │ │ │ ├── GraalJSEvaluatorTest.java │ │ │ │ │ │ └── JavascriptEvaluatorTest.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── DecisionTaskMapperTest.java │ │ │ │ │ │ ├── DoWhileTaskMapperTest.java │ │ │ │ │ │ ├── DynamicTaskMapperTest.java │ │ │ │ │ │ ├── EventTaskMapperTest.java │ │ │ │ │ │ ├── ForkJoinDynamicTaskMapperTest.java │ │ │ │ │ │ ├── ForkJoinTaskMapperTest.java │ │ │ │ │ │ ├── HTTPTaskMapperTest.java │ │ │ │ │ │ ├── HumanTaskMapperTest.java │ │ │ │ │ │ ├── InlineTaskMapperTest.java │ │ │ │ │ │ ├── JoinTaskMapperTest.java │ │ │ │ │ │ ├── JsonJQTransformTaskMapperTest.java │ │ │ │ │ │ ├── KafkaPublishTaskMapperTest.java │ │ │ │ │ │ ├── LambdaTaskMapperTest.java │ │ │ │ │ │ ├── NoopTaskMapperTest.java │ │ │ │ │ │ ├── SetVariableTaskMapperTest.java │ │ │ │ │ │ ├── SimpleTaskMapperTest.java │ │ │ │ │ │ ├── SubWorkflowTaskMapperTest.java │ │ │ │ │ │ ├── SwitchTaskMapperTest.java │ │ │ │ │ │ ├── TerminateTaskMapperTest.java │ │ │ │ │ │ ├── UserDefinedTaskMapperTest.java │ │ │ │ │ │ └── WaitTaskMapperTest.java │ │ │ │ │ └── tasks/ │ │ │ │ │ ├── DoWhileIntegrationTest.java │ │ │ │ │ ├── DoWhileTest.java │ │ │ │ │ ├── EventQueueResolutionTest.java │ │ │ │ │ ├── InlineTest.java │ │ │ │ │ ├── JoinTest.java │ │ │ │ │ ├── TestJoin.java │ │ │ │ │ ├── TestLambda.java │ │ │ │ │ ├── TestNoop.java │ │ │ │ │ ├── TestSubWorkflow.java │ │ │ │ │ ├── TestSystemTaskWorker.java │ │ │ │ │ ├── TestSystemTaskWorkerCoordinator.java │ │ │ │ │ └── TestTerminate.java │ │ │ │ ├── metadata/ │ │ │ │ │ └── MetadataMapperServiceTest.java │ │ │ │ ├── reconciliation/ │ │ │ │ │ ├── TestWorkflowRepairService.java │ │ │ │ │ └── TestWorkflowSweeper.java │ │ │ │ ├── storage/ │ │ │ │ │ └── DummyPayloadStorageTest.java │ │ │ │ ├── sync/ │ │ │ │ │ └── local/ │ │ │ │ │ └── LocalOnlyLockTest.java │ │ │ │ └── utils/ │ │ │ │ ├── DateTimeUtilsTest.java │ │ │ │ ├── ExternalPayloadStorageUtilsTest.java │ │ │ │ ├── JsonUtilsTest.java │ │ │ │ ├── ParametersUtilsTest.java │ │ │ │ ├── QueueUtilsTest.java │ │ │ │ └── SemaphoreUtilTest.java │ │ │ ├── dao/ │ │ │ │ ├── ExecutionDAOTest.java │ │ │ │ └── PollDataDAOTest.java │ │ │ ├── metrics/ │ │ │ │ └── WorkflowMonitorTest.java │ │ │ ├── service/ │ │ │ │ ├── EventServiceTest.java │ │ │ │ ├── ExecutionServiceTest.java │ │ │ │ ├── MetadataServiceTest.java │ │ │ │ ├── TaskServiceTest.java │ │ │ │ ├── WorkflowBulkServiceTest.java │ │ │ │ └── WorkflowServiceTest.java │ │ │ └── validations/ │ │ │ ├── WorkflowDefConstraintTest.java │ │ │ └── WorkflowTaskTypeConstraintTest.java │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── core/ │ │ └── execution/ │ │ ├── ExecutorUtilsTest.java │ │ ├── WorkflowSweeperTest.java │ │ └── tasks/ │ │ └── annotated/ │ │ ├── TestAnnotatedMethodParameterMapper.java │ │ ├── TestAnnotatedMethodResultMapper.java │ │ ├── TestAnnotatedSystemTaskIntegration.java │ │ ├── TestAnnotatedWorkflowSystemTask.java │ │ └── TestTaskContext.java │ └── resources/ │ ├── completed.json │ ├── conditional_flow.json │ ├── conditional_flow_with_switch.json │ ├── payload.json │ └── test.json ├── dependencies.gradle ├── deploy.gradle ├── docker/ │ ├── README.md │ ├── ci/ │ │ └── Dockerfile │ ├── docker-compose-es8.yaml │ ├── docker-compose-mysql.yaml │ ├── docker-compose-postgres-es7.yaml │ ├── docker-compose-postgres.yaml │ ├── docker-compose-redis-os.yaml │ ├── docker-compose-redis-os2.yaml │ ├── docker-compose-redis-os3.yaml │ ├── docker-compose.yaml │ ├── server/ │ │ ├── Dockerfile │ │ ├── config/ │ │ │ ├── config-mysql.properties │ │ │ ├── config-postgres-es7.properties │ │ │ ├── config-postgres.properties │ │ │ ├── config-redis-es8.properties │ │ │ ├── config-redis-os.properties │ │ │ ├── config-redis-os2.properties │ │ │ ├── config-redis-os3.properties │ │ │ ├── config-redis.properties │ │ │ ├── config.properties │ │ │ ├── log4j-file-appender.properties │ │ │ ├── log4j.properties │ │ │ └── redis.conf │ │ ├── libs/ │ │ │ └── .gitignore │ │ └── nginx/ │ │ └── nginx.conf │ └── ui/ │ ├── Dockerfile │ └── README.md ├── docs/ │ ├── architecture/ │ │ ├── durable-execution.md │ │ └── json-native.md │ ├── css/ │ │ └── custom.css │ ├── devguide/ │ │ ├── ai/ │ │ │ ├── durable-agents.md │ │ │ ├── dynamic-workflows.md │ │ │ ├── failure-semantics.md │ │ │ ├── first-ai-agent.md │ │ │ ├── human-in-the-loop.md │ │ │ ├── index.md │ │ │ ├── llm-orchestration.md │ │ │ ├── mcp-guide.md │ │ │ ├── production-agent-architecture.md │ │ │ ├── token-efficiency.md │ │ │ └── why-conductor.md │ │ ├── architecture/ │ │ │ ├── directed-acyclic-graph.md │ │ │ ├── index.md │ │ │ └── tasklifecycle.md │ │ ├── bestpractices.md │ │ ├── concepts/ │ │ │ ├── conductor.md │ │ │ ├── index.md │ │ │ ├── tasks.md │ │ │ ├── workers.md │ │ │ └── workflows.md │ │ ├── cookbook/ │ │ │ ├── ai-llm.md │ │ │ ├── dynamic-parallelism.md │ │ │ ├── dynamic-workflows.md │ │ │ ├── event-driven.md │ │ │ ├── index.md │ │ │ ├── microservice-orchestration.md │ │ │ └── wait-and-timers.md │ │ ├── faq.md │ │ ├── how-tos/ │ │ │ ├── Tasks/ │ │ │ │ ├── choosing-tasks.md │ │ │ │ ├── creating-tasks.md │ │ │ │ └── task-inputs.md │ │ │ ├── Workers/ │ │ │ │ └── scaling-workers.md │ │ │ ├── Workflows/ │ │ │ │ ├── creating-workflows.md │ │ │ │ ├── debugging-workflows.md │ │ │ │ ├── handling-errors.md │ │ │ │ ├── searching-workflows.md │ │ │ │ ├── starting-workflows.md │ │ │ │ ├── versioning-workflows.md │ │ │ │ └── viewing-workflow-executions.md │ │ │ ├── conductor-skills.md │ │ │ └── event-bus.md │ │ ├── labs/ │ │ │ ├── eventhandlers.md │ │ │ ├── first-workflow.md │ │ │ ├── index.md │ │ │ └── kitchensink.md │ │ └── running/ │ │ ├── deploy.md │ │ ├── hosted.md │ │ └── source.md │ ├── documentation/ │ │ ├── advanced/ │ │ │ ├── annotation-processor.md │ │ │ ├── archival-of-workflows.md │ │ │ ├── extend.md │ │ │ ├── externalpayloadstorage.md │ │ │ ├── isolationgroups.md │ │ │ ├── opensearch.md │ │ │ ├── postgresql.md │ │ │ └── redis.md │ │ ├── api/ │ │ │ ├── bulk.md │ │ │ ├── eventhandlers.md │ │ │ ├── index.md │ │ │ ├── metadata.md │ │ │ ├── startworkflow.md │ │ │ ├── task.md │ │ │ ├── taskdomains.md │ │ │ └── workflow.md │ │ ├── clientsdks/ │ │ │ ├── csharp-sdk.md │ │ │ ├── go-sdk.md │ │ │ ├── index.md │ │ │ ├── java-sdk.md │ │ │ ├── js-sdk.md │ │ │ ├── python-sdk.md │ │ │ ├── ruby-sdk.md │ │ │ └── rust-sdk.md │ │ ├── configuration/ │ │ │ ├── appconf.md │ │ │ ├── eventhandlers.md │ │ │ ├── taskdef.md │ │ │ └── workflowdef/ │ │ │ ├── index.md │ │ │ ├── operators/ │ │ │ │ ├── do-while-task.md │ │ │ │ ├── dynamic-fork-task.md │ │ │ │ ├── dynamic-task.md │ │ │ │ ├── fork-task.md │ │ │ │ ├── index.md │ │ │ │ ├── join-task.md │ │ │ │ ├── set-variable-task.md │ │ │ │ ├── start-workflow-task.md │ │ │ │ ├── sub-workflow-task.md │ │ │ │ ├── switch-task.md │ │ │ │ └── terminate-task.md │ │ │ └── systemtasks/ │ │ │ ├── event-task.md │ │ │ ├── http-task.md │ │ │ ├── human-task.md │ │ │ ├── index.md │ │ │ ├── inline-task.md │ │ │ ├── jdbc-task.md │ │ │ ├── json-jq-transform-task.md │ │ │ ├── kafka-publish-task.md │ │ │ ├── noop-task.md │ │ │ └── wait-task.md │ │ └── metrics/ │ │ ├── client.md │ │ └── server.md │ ├── home/ │ │ └── redirect.html │ ├── index.md │ ├── overrides/ │ │ ├── 404.html │ │ ├── main.html │ │ └── partials/ │ │ └── logo.html │ ├── quickstart/ │ │ ├── index.md │ │ └── workflow.json │ ├── resources/ │ │ ├── contributing.md │ │ ├── license.md │ │ └── related.md │ └── robots.txt ├── es6-persistence/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── es6/ │ │ └── config/ │ │ ├── ElasticSearch6DeprecationConfiguration.java │ │ └── ElasticSearchConditions.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── es6/ │ └── config/ │ └── ElasticSearch6DeprecationTest.java ├── es7-persistence/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── es7/ │ │ │ ├── config/ │ │ │ │ ├── ElasticSearchConditions.java │ │ │ │ ├── ElasticSearchProperties.java │ │ │ │ └── ElasticSearchV7Configuration.java │ │ │ └── dao/ │ │ │ ├── index/ │ │ │ │ ├── BulkRequestBuilderWrapper.java │ │ │ │ ├── BulkRequestWrapper.java │ │ │ │ ├── ElasticSearchBaseDAO.java │ │ │ │ └── ElasticSearchRestDAOV7.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── Expression.java │ │ │ ├── FilterProvider.java │ │ │ ├── GroupedExpression.java │ │ │ ├── NameValue.java │ │ │ └── internal/ │ │ │ ├── AbstractNode.java │ │ │ ├── BooleanOp.java │ │ │ ├── ComparisonOp.java │ │ │ ├── ConstValue.java │ │ │ ├── FunctionThrowingException.java │ │ │ ├── ListConst.java │ │ │ ├── Name.java │ │ │ ├── ParserException.java │ │ │ └── Range.java │ │ └── resources/ │ │ ├── mappings_docType_task.json │ │ ├── mappings_docType_workflow.json │ │ ├── template_event.json │ │ ├── template_message.json │ │ └── template_task_log.json │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── es7/ │ │ ├── config/ │ │ │ └── ElasticSearchPropertiesTest.java │ │ ├── dao/ │ │ │ ├── index/ │ │ │ │ ├── ElasticSearchRestDaoBaseTest.java │ │ │ │ ├── ElasticSearchTest.java │ │ │ │ ├── TestBulkRequestBuilderWrapper.java │ │ │ │ ├── TestElasticSearchRestDAOV7.java │ │ │ │ └── TestElasticSearchRestDAOV7Batch.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── TestExpression.java │ │ │ ├── TestGroupedExpression.java │ │ │ └── internal/ │ │ │ ├── AbstractParserTest.java │ │ │ ├── TestBooleanOp.java │ │ │ ├── TestComparisonOp.java │ │ │ ├── TestConstValue.java │ │ │ └── TestName.java │ │ └── utils/ │ │ └── TestUtils.java │ └── resources/ │ ├── expected_template_task_log.json │ ├── task_summary.json │ └── workflow_summary.json ├── es8-persistence/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── es8/ │ │ │ ├── config/ │ │ │ │ ├── ElasticSearchConditions.java │ │ │ │ ├── ElasticSearchProperties.java │ │ │ │ └── ElasticSearchV8Configuration.java │ │ │ └── dao/ │ │ │ ├── index/ │ │ │ │ ├── ElasticSearchRestDAOV8.java │ │ │ │ ├── Es8BulkIngestionSupport.java │ │ │ │ ├── Es8IndexManagementSupport.java │ │ │ │ └── Es8SearchSupport.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── Expression.java │ │ │ ├── FilterProvider.java │ │ │ ├── GroupedExpression.java │ │ │ ├── NameValue.java │ │ │ └── internal/ │ │ │ ├── AbstractNode.java │ │ │ ├── BooleanOp.java │ │ │ ├── ComparisonOp.java │ │ │ ├── ConstValue.java │ │ │ ├── FunctionThrowingException.java │ │ │ ├── ListConst.java │ │ │ ├── Name.java │ │ │ ├── ParserException.java │ │ │ └── Range.java │ │ └── resources/ │ │ ├── template_event.json │ │ ├── template_message.json │ │ ├── template_task.json │ │ ├── template_task_log.json │ │ └── template_workflow.json │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── es8/ │ │ ├── config/ │ │ │ ├── ElasticSearchConditionsTest.java │ │ │ └── ElasticSearchPropertiesTest.java │ │ ├── dao/ │ │ │ ├── index/ │ │ │ │ ├── ElasticSearchRestDAOV8ResourceExistenceTest.java │ │ │ │ ├── ElasticSearchRestDaoBaseTest.java │ │ │ │ ├── ElasticSearchTest.java │ │ │ │ ├── Es8BulkIngestionSupportTest.java │ │ │ │ ├── Es8SearchSupportTest.java │ │ │ │ ├── TestElasticSearchRestDAOV8.java │ │ │ │ └── TestElasticSearchRestDAOV8Batch.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── TestExpression.java │ │ │ ├── TestGroupedExpression.java │ │ │ ├── TestNameValueQueryBuilder.java │ │ │ └── internal/ │ │ │ ├── AbstractParserTest.java │ │ │ ├── TestBooleanOp.java │ │ │ ├── TestComparisonOp.java │ │ │ ├── TestConstValue.java │ │ │ └── TestName.java │ │ └── utils/ │ │ └── TestUtils.java │ └── resources/ │ ├── expected_template_task_log.json │ ├── task_summary.json │ └── workflow_summary.json ├── family.properties ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── grpc/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── grpc/ │ │ │ ├── AbstractProtoMapper.java │ │ │ └── ProtoMapper.java │ │ └── proto/ │ │ ├── grpc/ │ │ │ ├── event_service.proto │ │ │ ├── metadata_service.proto │ │ │ ├── search.proto │ │ │ ├── task_service.proto │ │ │ └── workflow_service.proto │ │ └── model/ │ │ ├── cacheconfig.proto │ │ ├── dynamicforkjointask.proto │ │ ├── dynamicforkjointasklist.proto │ │ ├── eventexecution.proto │ │ ├── eventhandler.proto │ │ ├── executionmetadata.proto │ │ ├── polldata.proto │ │ ├── ratelimitconfig.proto │ │ ├── rerunworkflowrequest.proto │ │ ├── schemadef.proto │ │ ├── skiptaskrequest.proto │ │ ├── startworkflowrequest.proto │ │ ├── statechangeevent.proto │ │ ├── subworkflowparams.proto │ │ ├── task.proto │ │ ├── taskdef.proto │ │ ├── taskexeclog.proto │ │ ├── taskresult.proto │ │ ├── tasksummary.proto │ │ ├── upgradeworkflowrequest.proto │ │ ├── workflow.proto │ │ ├── workflowdef.proto │ │ ├── workflowdefsummary.proto │ │ ├── workflowsummary.proto │ │ └── workflowtask.proto │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── grpc/ │ └── TestProtoMapper.java ├── grpc-client/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── client/ │ │ └── grpc/ │ │ ├── ClientBase.java │ │ ├── EventClient.java │ │ ├── MetadataClient.java │ │ ├── TaskClient.java │ │ └── WorkflowClient.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── client/ │ │ └── grpc/ │ │ ├── EventClientTest.java │ │ ├── TaskClientTest.java │ │ └── WorkflowClientTest.java │ └── resources/ │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker ├── grpc-server/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── grpc/ │ │ └── server/ │ │ ├── GRPCServer.java │ │ ├── GRPCServerProperties.java │ │ ├── GrpcConfiguration.java │ │ └── service/ │ │ ├── EventServiceImpl.java │ │ ├── GRPCHelper.java │ │ ├── HealthServiceImpl.java │ │ ├── MetadataServiceImpl.java │ │ ├── TaskServiceImpl.java │ │ └── WorkflowServiceImpl.java │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── grpc/ │ │ └── server/ │ │ └── service/ │ │ ├── HealthServiceImplTest.java │ │ ├── TaskServiceImplTest.java │ │ └── WorkflowServiceImplTest.java │ └── resources/ │ └── log4j.properties ├── hooks/ │ └── pre-commit ├── http-task/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── tasks/ │ │ │ └── http/ │ │ │ ├── HttpTask.java │ │ │ └── providers/ │ │ │ ├── DefaultRestTemplateProvider.java │ │ │ └── RestTemplateProvider.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── additional-spring-configuration-metadata.json │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── tasks/ │ └── http/ │ ├── HttpTaskTest.java │ ├── HttpTaskUnitTest.java │ └── providers/ │ └── DefaultRestTemplateProviderTest.java ├── json-jq-task/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── tasks/ │ │ └── json/ │ │ └── JsonJqTransform.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── tasks/ │ └── json/ │ └── JsonJqTransformTest.java ├── kafka/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── contribs/ │ │ │ └── tasks/ │ │ │ └── kafka/ │ │ │ ├── KafkaProducerManager.java │ │ │ └── KafkaPublishTask.java │ │ └── core/ │ │ └── execution/ │ │ └── mapper/ │ │ └── KafkaPublishTaskMapper.java │ └── test/ │ ├── groovy/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── test/ │ │ └── integration/ │ │ └── KafkaPublishTaskSpec.groovy │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── contribs/ │ │ │ └── tasks/ │ │ │ └── kafka/ │ │ │ ├── KafkaProducerManagerTest.java │ │ │ └── KafkaPublishTaskTest.java │ │ └── core/ │ │ └── execution/ │ │ └── mapper/ │ │ └── KafkaPublishTaskMapperTest.java │ └── resources/ │ ├── application-integrationtest.properties │ ├── input.json │ ├── output.json │ └── simple_json_jq_transform_integration_test.json ├── kafka-event-queue/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── kafkaeq/ │ │ │ ├── config/ │ │ │ │ ├── KafkaEventQueueConfiguration.java │ │ │ │ ├── KafkaEventQueueProperties.java │ │ │ │ └── KafkaEventQueueProvider.java │ │ │ └── eventqueue/ │ │ │ └── KafkaObservableQueue.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── additional-spring-configuration-metadata.json │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── kafkaeq/ │ └── eventqueue/ │ └── KafkaObservableQueueTest.java ├── licenseheader.txt ├── main.py ├── metrics/ │ ├── README.md │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── contribs/ │ └── metrics/ │ ├── AzureMonitorMetricsConfiguration.java │ ├── CloudWatchMetricsConfiguration.java │ ├── LoggingMetricsConfiguration.java │ └── MetricsCollector.java ├── mkdocs.yml ├── mysql-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── mysql/ │ │ │ ├── config/ │ │ │ │ ├── MySQLConfiguration.java │ │ │ │ └── MySQLProperties.java │ │ │ ├── dao/ │ │ │ │ ├── MySQLBaseDAO.java │ │ │ │ ├── MySQLExecutionDAO.java │ │ │ │ ├── MySQLMetadataDAO.java │ │ │ │ └── MySQLQueueDAO.java │ │ │ └── util/ │ │ │ ├── ExecuteFunction.java │ │ │ ├── LazyToString.java │ │ │ ├── Query.java │ │ │ ├── QueryFunction.java │ │ │ ├── ResultSetHandler.java │ │ │ └── TransactionalFunction.java │ │ └── resources/ │ │ └── db/ │ │ └── migration/ │ │ ├── V1__initial_schema.sql │ │ ├── V2__queue_message_timestamps.sql │ │ ├── V3__queue_add_priority.sql │ │ ├── V4__1009_Fix_MySQLExecutionDAO_Index.sql │ │ ├── V5__correlation_id_index.sql │ │ ├── V6__new_qm_index_with_priority.sql │ │ ├── V7__new_queue_message_pk.sql │ │ └── V8__update_pk.sql │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── mysql/ │ │ │ └── dao/ │ │ │ ├── MySQLExecutionDAOTest.java │ │ │ ├── MySQLMetadataDAOTest.java │ │ │ └── MySQLQueueDAOTest.java │ │ └── test/ │ │ └── integration/ │ │ └── grpc/ │ │ └── mysql/ │ │ └── MySQLGrpcEndToEndTest.java │ └── resources/ │ └── application.properties ├── nats/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── contribs/ │ │ └── queue/ │ │ └── nats/ │ │ ├── JetStreamObservableQueue.java │ │ ├── JsmMessage.java │ │ ├── LoggingNatsErrorListener.java │ │ ├── NATSAbstractQueue.java │ │ ├── NATSObservableQueue.java │ │ ├── NatsException.java │ │ └── config/ │ │ ├── JetStreamConfiguration.java │ │ ├── JetStreamEventQueueProvider.java │ │ ├── JetStreamProperties.java │ │ ├── NATSConfiguration.java │ │ └── NATSEventQueueProvider.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── contribs/ │ └── queue/ │ └── nats/ │ └── JetStreamObservableQueueTest.java ├── nats-streaming/ │ ├── README.md │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── contribs/ │ └── queue/ │ └── stan/ │ ├── NATSAbstractQueue.java │ ├── NATSObservableQueue.java │ ├── NATSStreamObservableQueue.java │ └── config/ │ ├── NATSConfiguration.java │ ├── NATSEventQueueProvider.java │ ├── NATSStreamConfiguration.java │ ├── NATSStreamEventQueueProvider.java │ └── NATSStreamProperties.java ├── os-persistence/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── os/ │ │ └── config/ │ │ └── OpenSearchDeprecationConfiguration.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── os/ │ └── config/ │ └── OpenSearchDeprecationTest.java ├── os-persistence-v2/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── os2/ │ │ │ ├── config/ │ │ │ │ ├── OpenSearchConditions.java │ │ │ │ ├── OpenSearchConfiguration.java │ │ │ │ └── OpenSearchProperties.java │ │ │ └── dao/ │ │ │ ├── index/ │ │ │ │ ├── BulkRequestBuilderWrapper.java │ │ │ │ ├── BulkRequestWrapper.java │ │ │ │ ├── OpenSearchBaseDAO.java │ │ │ │ └── OpenSearchRestDAO.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── Expression.java │ │ │ ├── FilterProvider.java │ │ │ ├── GroupedExpression.java │ │ │ ├── NameValue.java │ │ │ └── internal/ │ │ │ ├── AbstractNode.java │ │ │ ├── BooleanOp.java │ │ │ ├── ComparisonOp.java │ │ │ ├── ConstValue.java │ │ │ ├── FunctionThrowingException.java │ │ │ ├── ListConst.java │ │ │ ├── Name.java │ │ │ ├── ParserException.java │ │ │ └── Range.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ ├── mappings_docType_task.json │ │ ├── mappings_docType_workflow.json │ │ ├── template_event.json │ │ ├── template_message.json │ │ └── template_task_log.json │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── os2/ │ │ ├── config/ │ │ │ └── OpenSearchPropertiesTest.java │ │ ├── dao/ │ │ │ ├── index/ │ │ │ │ ├── OpenSearchRestDaoBaseTest.java │ │ │ │ ├── OpenSearchTest.java │ │ │ │ ├── TestBulkRequestBuilderWrapper.java │ │ │ │ ├── TestOpenSearchRestDAO.java │ │ │ │ └── TestOpenSearchRestDAOBatch.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── TestExpression.java │ │ │ ├── TestGroupedExpression.java │ │ │ └── internal/ │ │ │ ├── AbstractParserTest.java │ │ │ ├── TestBooleanOp.java │ │ │ ├── TestComparisonOp.java │ │ │ ├── TestConstValue.java │ │ │ └── TestName.java │ │ └── utils/ │ │ └── TestUtils.java │ └── resources/ │ ├── expected_template_task_log.json │ ├── task_summary.json │ └── workflow_summary.json ├── os-persistence-v3/ │ ├── MIGRATION_GUIDE.md │ ├── MIGRATION_PLAN.md │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── os3/ │ │ │ ├── config/ │ │ │ │ ├── OpenSearchConditions.java │ │ │ │ ├── OpenSearchConfiguration.java │ │ │ │ └── OpenSearchProperties.java │ │ │ └── dao/ │ │ │ ├── index/ │ │ │ │ ├── OpenSearchBaseDAO.java │ │ │ │ ├── OpenSearchRestDAO.java │ │ │ │ └── QueryHelper.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── Expression.java │ │ │ ├── FilterProvider.java │ │ │ ├── GroupedExpression.java │ │ │ ├── NameValue.java │ │ │ └── internal/ │ │ │ ├── AbstractNode.java │ │ │ ├── BooleanOp.java │ │ │ ├── ComparisonOp.java │ │ │ ├── ConstValue.java │ │ │ ├── FunctionThrowingException.java │ │ │ ├── ListConst.java │ │ │ ├── Name.java │ │ │ ├── ParserException.java │ │ │ └── Range.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ ├── mappings_docType_task.json │ │ ├── mappings_docType_workflow.json │ │ ├── template_event.json │ │ ├── template_message.json │ │ └── template_task_log.json │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── os3/ │ │ ├── config/ │ │ │ ├── OpenSearchModuleActivationTest.java.bak │ │ │ ├── OpenSearchModuleActivationTest.java.bak2 │ │ │ └── OpenSearchPropertiesTest.java │ │ ├── dao/ │ │ │ ├── index/ │ │ │ │ ├── OpenSearchRestDaoBaseTest.java │ │ │ │ ├── OpenSearchTest.java │ │ │ │ ├── QuickV3Test.java │ │ │ │ ├── TestOpenSearchRestDAO.java │ │ │ │ └── TestOpenSearchRestDAOBatch.java │ │ │ └── query/ │ │ │ └── parser/ │ │ │ ├── TestExpression.java │ │ │ ├── TestGroupedExpression.java │ │ │ └── internal/ │ │ │ ├── AbstractParserTest.java │ │ │ ├── TestBooleanOp.java │ │ │ ├── TestComparisonOp.java │ │ │ ├── TestConstValue.java │ │ │ └── TestName.java │ │ └── utils/ │ │ └── TestUtils.java │ └── resources/ │ ├── expected_template_task_log.json │ ├── task_summary.json │ └── workflow_summary.json ├── polyglot-clients/ │ └── README.md ├── postgres-external-storage/ │ ├── README.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── postgres/ │ │ │ ├── config/ │ │ │ │ ├── PostgresPayloadConfiguration.java │ │ │ │ └── PostgresPayloadProperties.java │ │ │ ├── controller/ │ │ │ │ └── ExternalPostgresPayloadResource.java │ │ │ └── storage/ │ │ │ └── PostgresPayloadStorage.java │ │ └── resources/ │ │ └── db/ │ │ └── migration_external_postgres/ │ │ └── R__initial_schema.sql │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── postgres/ │ ├── controller/ │ │ └── ExternalPostgresPayloadResourceTest.java │ └── storage/ │ ├── PostgresPayloadStorageTest.java │ └── PostgresPayloadTestUtil.java ├── postgres-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── postgres/ │ │ │ ├── config/ │ │ │ │ ├── PostgresConfiguration.java │ │ │ │ └── PostgresProperties.java │ │ │ ├── dao/ │ │ │ │ ├── PostgresBaseDAO.java │ │ │ │ ├── PostgresExecutionDAO.java │ │ │ │ ├── PostgresIndexDAO.java │ │ │ │ ├── PostgresLockDAO.java │ │ │ │ ├── PostgresMetadataDAO.java │ │ │ │ ├── PostgresPollDataDAO.java │ │ │ │ └── PostgresQueueDAO.java │ │ │ └── util/ │ │ │ ├── ExecuteFunction.java │ │ │ ├── ExecutorsUtil.java │ │ │ ├── LazyToString.java │ │ │ ├── PostgresIndexQueryBuilder.java │ │ │ ├── PostgresQueueListener.java │ │ │ ├── Query.java │ │ │ ├── QueryFunction.java │ │ │ ├── QueueStats.java │ │ │ ├── ResultSetHandler.java │ │ │ └── TransactionalFunction.java │ │ └── resources/ │ │ └── db/ │ │ ├── migration_postgres/ │ │ │ ├── V10__poll_data_check.sql │ │ │ ├── V11__locking.sql │ │ │ ├── V12__task_index_columns.sql │ │ │ ├── V13.1__workflow_index_columns.sql │ │ │ ├── V1__initial_schema.sql │ │ │ ├── V2__1009_Fix_PostgresExecutionDAO_Index.sql │ │ │ ├── V3__correlation_id_index.sql │ │ │ ├── V4__new_qm_index_with_priority.sql │ │ │ ├── V5__new_queue_message_pk.sql │ │ │ ├── V6__update_pk.sql │ │ │ ├── V7__new_qm_index_desc_priority.sql │ │ │ ├── V8__indexing.sql │ │ │ └── V9__indexing_index_fix.sql │ │ ├── migration_postgres_data/ │ │ │ └── V13.2__workflow_index_backfill_update_time.sql │ │ └── migration_postgres_notify/ │ │ └── V10.1__notify.sql │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── postgres/ │ │ │ ├── config/ │ │ │ │ └── PostgresConfigurationDataMigrationTest.java │ │ │ ├── dao/ │ │ │ │ ├── PostgresExecutionDAOTest.java │ │ │ │ ├── PostgresIndexDAOStatusChangeOnlyTest.java │ │ │ │ ├── PostgresIndexDAOTest.java │ │ │ │ ├── PostgresLockDAOTest.java │ │ │ │ ├── PostgresMetadataDAOTest.java │ │ │ │ ├── PostgresPollDataDAOCacheTest.java │ │ │ │ ├── PostgresPollDataDAONoCacheTest.java │ │ │ │ └── PostgresQueueDAOTest.java │ │ │ ├── performance/ │ │ │ │ └── PerformanceTest.java │ │ │ └── util/ │ │ │ ├── PostgresIndexQueryBuilderTest.java │ │ │ └── PostgresQueueListenerTest.java │ │ └── test/ │ │ └── integration/ │ │ └── grpc/ │ │ └── postgres/ │ │ └── PostgresGrpcEndToEndTest.java │ └── resources/ │ └── application.properties ├── redis-concurrency-limit/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── redis/ │ │ └── limit/ │ │ ├── RedisConcurrentExecutionLimitDAO.java │ │ └── config/ │ │ ├── RedisConcurrentExecutionLimitConfiguration.java │ │ └── RedisConcurrentExecutionLimitProperties.java │ └── test/ │ └── groovy/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── redis/ │ └── limit/ │ └── RedisConcurrentExecutionLimitDAOSpec.groovy ├── redis-lock/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── redislock/ │ │ │ ├── config/ │ │ │ │ ├── RedisHealthIndicator.java │ │ │ │ ├── RedisLockConfiguration.java │ │ │ │ └── RedisLockProperties.java │ │ │ └── lock/ │ │ │ └── RedisLock.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── additional-spring-configuration-metadata.json │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ ├── redis/ │ │ └── lock/ │ │ └── RedisLockTest.java │ └── redislock/ │ └── config/ │ └── RedisHealthIndicatorTest.java ├── redis-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── netflix/ │ │ ├── conductor/ │ │ │ └── redis/ │ │ │ ├── config/ │ │ │ │ ├── AnyRedisCondition.java │ │ │ │ ├── InMemoryRedisConfiguration.java │ │ │ │ ├── JedisCommandsConfigurer.java │ │ │ │ ├── RedisClusterConfiguration.java │ │ │ │ ├── RedisProperties.java │ │ │ │ ├── RedisSentinelConfiguration.java │ │ │ │ └── RedisStandaloneConfiguration.java │ │ │ ├── dao/ │ │ │ │ ├── BaseDynoDAO.java │ │ │ │ ├── RedisEventHandlerDAO.java │ │ │ │ ├── RedisExecutionDAO.java │ │ │ │ ├── RedisMetadataDAO.java │ │ │ │ ├── RedisPollDataDAO.java │ │ │ │ └── RedisRateLimitingDAO.java │ │ │ ├── dynoqueue/ │ │ │ │ ├── ConfigurationHostSupplier.java │ │ │ │ └── LocalhostHostSupplier.java │ │ │ └── jedis/ │ │ │ ├── JedisCluster.java │ │ │ ├── JedisMock.java │ │ │ ├── JedisProxy.java │ │ │ ├── JedisSentinel.java │ │ │ └── JedisStandalone.java │ │ └── dyno/ │ │ └── connectionpool/ │ │ ├── Host.java │ │ ├── HostBuilder.java │ │ └── HostSupplier.java │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── redis/ │ ├── dao/ │ │ ├── BaseDynoDAOTest.java │ │ ├── RedisEventHandlerDAOTest.java │ │ ├── RedisExecutionDAOTest.java │ │ ├── RedisMetadataDAOTest.java │ │ ├── RedisPollDataDAOTest.java │ │ └── RedisRateLimitDAOTest.java │ └── jedis/ │ ├── ConfigurationHostSupplierTest.java │ ├── JedisClusterTest.java │ └── JedisSentinelTest.java ├── requirements.txt ├── rest/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── com/ │ │ │ │ └── netflix/ │ │ │ │ └── conductor/ │ │ │ │ └── rest/ │ │ │ │ ├── config/ │ │ │ │ │ └── RequestMappingConstants.java │ │ │ │ ├── controllers/ │ │ │ │ │ ├── AdminResource.java │ │ │ │ │ ├── ApplicationExceptionMapper.java │ │ │ │ │ ├── EventResource.java │ │ │ │ │ ├── HealthCheckResource.java │ │ │ │ │ ├── MetadataResource.java │ │ │ │ │ ├── QueueAdminResource.java │ │ │ │ │ ├── TaskResource.java │ │ │ │ │ ├── ValidationExceptionMapper.java │ │ │ │ │ ├── WorkflowBulkResource.java │ │ │ │ │ └── WorkflowResource.java │ │ │ │ └── startup/ │ │ │ │ └── KitchenSinkInitializer.java │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ ├── RestConfiguration.java │ │ │ ├── SpaInterceptor.java │ │ │ └── controllers/ │ │ │ └── VersionResource.java │ │ └── resources/ │ │ ├── kitchensink/ │ │ │ ├── kitchenSink-ephemeralWorkflowWithEphemeralTasks.json │ │ │ ├── kitchenSink-ephemeralWorkflowWithStoredTasks.json │ │ │ ├── kitchensink.json │ │ │ ├── sub_flow_1.json │ │ │ ├── wf1.json │ │ │ └── wf2.json │ │ └── static/ │ │ └── index.html │ └── test/ │ └── java/ │ ├── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── rest/ │ │ └── controllers/ │ │ ├── AdminResourceTest.java │ │ ├── ApplicationExceptionMapperTest.java │ │ ├── EventResourceTest.java │ │ ├── MetadataResourceTest.java │ │ ├── TaskResourceTest.java │ │ └── WorkflowResourceTest.java │ └── org/ │ └── conductoross/ │ └── conductor/ │ └── SpaInterceptorTest.java ├── scheduler/ │ ├── SCHEDULER_DAO_TEST_PLAN.md │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── scheduler/ │ │ │ ├── config/ │ │ │ │ ├── SchedulerProperties.java │ │ │ │ └── WorkflowSchedulerConfiguration.java │ │ │ ├── dao/ │ │ │ │ ├── SchedulerCacheDAO.java │ │ │ │ └── SchedulerDAO.java │ │ │ ├── model/ │ │ │ │ ├── WorkflowSchedule.java │ │ │ │ └── WorkflowScheduleExecution.java │ │ │ ├── rest/ │ │ │ │ └── SchedulerResource.java │ │ │ └── service/ │ │ │ └── SchedulerService.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── scheduler/ │ │ │ ├── config/ │ │ │ │ └── TestObjectMapperConfiguration.java │ │ │ ├── rest/ │ │ │ │ ├── SchedulerResourceHttpTest.java │ │ │ │ └── SchedulerResourceTest.java │ │ │ └── service/ │ │ │ ├── SchedulerServicePhase2Test.java │ │ │ ├── SchedulerServiceStressTest.java │ │ │ └── SchedulerServiceTest.java │ │ └── resources/ │ │ └── application.properties │ └── testFixtures/ │ └── java/ │ └── org/ │ └── conductoross/ │ └── conductor/ │ └── scheduler/ │ ├── config/ │ │ └── AbstractSchedulerAutoConfigurationSmokeTest.java │ ├── dao/ │ │ └── AbstractSchedulerDAOTest.java │ └── service/ │ └── AbstractSchedulerServiceIntegrationTest.java ├── scheduler-mysql-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── scheduler/ │ │ │ └── mysql/ │ │ │ ├── config/ │ │ │ │ └── MySQLSchedulerConfiguration.java │ │ │ └── dao/ │ │ │ └── MySQLSchedulerDAO.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── db/ │ │ └── migration_scheduler_mysql/ │ │ └── V1__scheduler_tables.sql │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── scheduler/ │ │ └── mysql/ │ │ ├── config/ │ │ │ └── MySQLSchedulerAutoConfigurationSmokeTest.java │ │ ├── dao/ │ │ │ └── MySQLSchedulerDAOTest.java │ │ └── service/ │ │ └── MySQLSchedulerServiceIntegrationTest.java │ └── resources/ │ └── application.properties ├── scheduler-postgres-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── conductoross/ │ │ │ └── conductor/ │ │ │ └── scheduler/ │ │ │ └── postgres/ │ │ │ ├── config/ │ │ │ │ └── PostgresSchedulerConfiguration.java │ │ │ └── dao/ │ │ │ └── PostgresSchedulerDAO.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── db/ │ │ └── migration_scheduler/ │ │ └── V1__scheduler_tables.sql │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── scheduler/ │ │ └── postgres/ │ │ ├── config/ │ │ │ └── PostgresSchedulerAutoConfigurationSmokeTest.java │ │ ├── dao/ │ │ │ └── PostgresSchedulerDAOTest.java │ │ └── service/ │ │ └── PostgresSchedulerServiceIntegrationTest.java │ └── resources/ │ └── application.properties ├── schemas/ │ ├── README.md │ ├── Task.json │ ├── TaskDef.json │ ├── Workflow.json │ └── WorkflowDef.json ├── scripts/ │ └── fetch-sdk-docs.py ├── serve-docs.sh ├── server/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── Conductor.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── additional-spring-configuration-metadata.json │ │ ├── application.properties │ │ ├── banner.txt │ │ └── log4j2.xml │ └── test/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── common/ │ └── config/ │ └── ConductorObjectMapperTest.java ├── server-lite/ │ ├── build.gradle │ ├── build_ui.sh │ └── src/ │ └── main/ │ ├── java/ │ │ └── org/ │ │ └── conductoross/ │ │ └── conductor/ │ │ └── Conductor.java │ └── resources/ │ └── application.properties ├── settings.gradle ├── springboot-bom-overrides.gradle ├── sqlite-persistence/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── netflix/ │ │ │ └── conductor/ │ │ │ └── sqlite/ │ │ │ ├── config/ │ │ │ │ ├── SqliteConfiguration.java │ │ │ │ └── SqliteProperties.java │ │ │ ├── dao/ │ │ │ │ ├── SqliteBaseDAO.java │ │ │ │ ├── SqliteExecutionDAO.java │ │ │ │ ├── SqliteIndexDAO.java │ │ │ │ ├── SqlitePollDataDAO.java │ │ │ │ ├── SqliteQueueDAO.java │ │ │ │ └── metadata/ │ │ │ │ ├── SqliteEventHandlerMetadataDAO.java │ │ │ │ ├── SqliteMetadataDAO.java │ │ │ │ ├── SqliteTaskMetadataDAO.java │ │ │ │ └── SqliteWorkflowMetadataDAO.java │ │ │ └── util/ │ │ │ ├── ExecuteFunction.java │ │ │ ├── ExecutorsUtil.java │ │ │ ├── LazyToString.java │ │ │ ├── Query.java │ │ │ ├── QueryFunction.java │ │ │ ├── QueueStats.java │ │ │ ├── ResultSetHandler.java │ │ │ ├── SqliteIndexQueryBuilder.java │ │ │ └── TransactionalFunction.java │ │ └── resources/ │ │ └── db/ │ │ └── migration_sqlite/ │ │ └── V1__initial_schema.sql │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── sqlite/ │ │ └── dao/ │ │ ├── SqliteExecutionDAOTest.java │ │ ├── SqliteIndexDAOTest.java │ │ ├── SqliteMetadataDAOTest.java │ │ ├── SqlitePollDataTest.java │ │ └── SqliteQueueDAOTest.java │ └── resources/ │ └── application.properties ├── task-status-listener/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ └── contribs/ │ └── listener/ │ ├── RestClientManager.java │ ├── StatusNotifier.java │ ├── StatusNotifierNotificationProperties.java │ ├── TaskNotification.java │ ├── TaskStatusPublisher.java │ └── TaskStatusPublisherConfiguration.java ├── test-harness/ │ ├── build.gradle │ └── src/ │ └── test/ │ ├── groovy/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── test/ │ │ ├── base/ │ │ │ ├── AbstractResiliencySpecification.groovy │ │ │ └── AbstractSpecification.groovy │ │ ├── integration/ │ │ │ ├── DecisionTaskSpec.groovy │ │ │ ├── DoWhileSpec.groovy │ │ │ ├── DynamicForkJoinSpec.groovy │ │ │ ├── EventTaskSpec.groovy │ │ │ ├── ExclusiveJoinSpec.groovy │ │ │ ├── ExternalPayloadStorageSpec.groovy │ │ │ ├── FailureWorkflowSpec.groovy │ │ │ ├── ForkJoinSpec.groovy │ │ │ ├── HierarchicalForkJoinSubworkflowRerunSpec.groovy │ │ │ ├── HierarchicalForkJoinSubworkflowRestartSpec.groovy │ │ │ ├── HierarchicalForkJoinSubworkflowRetrySpec.groovy │ │ │ ├── JsonJQTransformSpec.groovy │ │ │ ├── LambdaAndTerminateTaskSpec.groovy │ │ │ ├── NestedForkJoinSubWorkflowSpec.groovy │ │ │ ├── S3ExternalPayloadStorageE2ESpec.groovy │ │ │ ├── SQSEventQueueE2ESpec.groovy │ │ │ ├── SetVariableTaskSpec.groovy │ │ │ ├── SimpleWorkflowSpec.groovy │ │ │ ├── StartWorkflowSpec.groovy │ │ │ ├── SubWorkflowRerunSpec.groovy │ │ │ ├── SubWorkflowRestartSpec.groovy │ │ │ ├── SubWorkflowRetrySpec.groovy │ │ │ ├── SubWorkflowSpec.groovy │ │ │ ├── SwitchTaskSpec.groovy │ │ │ ├── SystemTaskSpec.groovy │ │ │ ├── TaskLimitsWorkflowSpec.groovy │ │ │ ├── TestWorkflowSpec.groovy │ │ │ ├── WaitTaskSpec.groovy │ │ │ └── WorkflowAndTaskConfigurationSpec.groovy │ │ ├── resiliency/ │ │ │ ├── QueueResiliencySpec.groovy │ │ │ └── TaskResiliencySpec.groovy │ │ └── util/ │ │ └── WorkflowTestUtil.groovy │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── ConductorTestApp.java │ │ └── test/ │ │ ├── config/ │ │ │ ├── LocalStackS3Configuration.java │ │ │ └── LocalStackSQSConfiguration.java │ │ ├── integration/ │ │ │ ├── TestHarnessAbstractEndToEndTest.java │ │ │ ├── grpc/ │ │ │ │ ├── GrpcEndToEndTest.java │ │ │ │ └── TestHarnessAbstractGrpcEndToEndTest.java │ │ │ └── http/ │ │ │ ├── ForkJoinSyncModeIntegrationTest.java │ │ │ ├── HttpEndToEndTestTestHarness.java │ │ │ └── TestHarnessAbstractHttpEndToEndTest.java │ │ └── utils/ │ │ ├── MockExternalPayloadStorage.java │ │ └── UserTask.java │ └── resources/ │ ├── application-integrationtest.properties │ ├── application-s3test.properties │ ├── application-sqstest.properties │ ├── concurrency_limited_task_workflow_integration_test.json │ ├── conditional_switch_task_workflow_integration_test.json │ ├── conditional_system_task_workflow_integration_test.json │ ├── conditional_task_workflow_integration_test.json │ ├── decision_and_fork_join_integration_test.json │ ├── decision_and_terminate_integration_test.json │ ├── do_while_as_subtask_integration_test.json │ ├── do_while_cleanup_demo.json │ ├── do_while_five_loop_over_integration_test.json │ ├── do_while_high_iteration_test.json │ ├── do_while_integration_test.json │ ├── do_while_iteration_fix_test.json │ ├── do_while_multiple_integration_test.json │ ├── do_while_set_variable_fix.json │ ├── do_while_sub_workflow_integration_test.json │ ├── do_while_system_tasks.json │ ├── do_while_timeline_ui_demo.json │ ├── do_while_with_decision_task.json │ ├── dynamic_fork_join_integration_test.json │ ├── event_workflow_integration_test.json │ ├── exclusive_join_integration_test.json │ ├── failure_workflow_for_terminate_task_workflow.json │ ├── fork_join_integration_test.json │ ├── fork_join_permissive_integration_test.json │ ├── fork_join_sub_workflow.json │ ├── fork_join_sync_mode_integration_test.json │ ├── fork_join_sync_nested_integration_test.json │ ├── fork_join_sync_optional_fail_integration_test.json │ ├── fork_join_with_no_permissive_task_retry_integration_test.json │ ├── fork_join_with_no_task_retry_integration_test.json │ ├── fork_join_with_optional_sub_workflow_forks_integration_test.json │ ├── hierarchical_fork_join_swf.json │ ├── input.json │ ├── json_jq_transform_result_integration_test.json │ ├── nested_fork_join_integration_test.json │ ├── nested_fork_join_swf.json │ ├── nested_fork_join_with_sub_workflow_integration_test.json │ ├── output.json │ ├── rate_limited_simple_task_workflow_integration_test.json │ ├── rate_limited_system_task_workflow_integration_test.json │ ├── sequential_json_jq_transform_integration_test.json │ ├── set_variable_workflow_integration_test.json │ ├── simple_decision_task_integration_test.json │ ├── simple_json_jq_transform_integration_test.json │ ├── simple_lambda_workflow_integration_test.json │ ├── simple_one_task_sub_workflow_integration_test.json │ ├── simple_set_variable_workflow_integration_test.json │ ├── simple_switch_task_integration_test.json │ ├── simple_wait_task_workflow_integration_test.json │ ├── simple_workflow_1_input_template_integration_test.json │ ├── simple_workflow_1_integration_test.json │ ├── simple_workflow_3_integration_test.json │ ├── simple_workflow_with_async_complete_system_task_integration_test.json │ ├── simple_workflow_with_optional_task_integration_test.json │ ├── simple_workflow_with_permissive_optional_task_integration_test.json │ ├── simple_workflow_with_permissive_task_integration_test.json │ ├── simple_workflow_with_resp_time_out_integration_test.json │ ├── simple_workflow_with_sub_workflow_inline_def_integration_test.json │ ├── sqs-complete-wait-event-handler.json │ ├── sqs-test-workflow.json │ ├── start_workflow_input.json │ ├── switch_and_fork_join_integration_test.json │ ├── switch_and_terminate_integration_test.json │ ├── switch_with_no_default_case_integration_test.json │ ├── terminate_task_completed_workflow_integration_test.json │ ├── terminate_task_failed_workflow_integration.json │ ├── terminate_task_parent_workflow.json │ ├── terminate_task_sub_workflow.json │ ├── terminate_task_terminated_status_in_do_while_test.json │ ├── terminate_task_terminated_status_test.json │ ├── test_task_failed_parent_workflow.json │ ├── test_task_failed_sub_workflow.json │ ├── wait_workflow_integration_test.json │ ├── workflow_that_starts_another_workflow.json │ ├── workflow_with_sub_workflow_1_integration_test.json │ └── workflow_with_synchronous_system_task.json ├── test-util/ │ ├── build.gradle │ └── src/ │ └── test/ │ ├── groovy/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── test/ │ │ ├── base/ │ │ │ ├── AbstractResiliencySpecification.groovy │ │ │ └── AbstractSpecification.groovy │ │ └── util/ │ │ └── WorkflowTestUtil.groovy │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ ├── ConductorTestApp.java │ │ ├── common/ │ │ │ └── config/ │ │ │ └── TestObjectMapperConfiguration.java │ │ └── test/ │ │ └── integration/ │ │ ├── AbstractEndToEndTest.java │ │ └── grpc/ │ │ └── AbstractGrpcEndToEndTest.java │ └── resources/ │ └── application-integrationtest.properties ├── test-workflow.sh ├── ui/ │ ├── .eslintrc │ ├── .gitignore │ ├── .prettierignore │ ├── .prettierrc.json │ ├── README.md │ ├── cypress/ │ │ ├── e2e/ │ │ │ └── spec.cy.js │ │ ├── fixtures/ │ │ │ ├── doWhile/ │ │ │ │ └── doWhileSwitch.json │ │ │ ├── dynamicFork/ │ │ │ │ ├── externalizedInput.json │ │ │ │ ├── noneSpawned.json │ │ │ │ ├── notExecuted.json │ │ │ │ ├── oneFailed.json │ │ │ │ └── success.json │ │ │ ├── dynamicFork.json │ │ │ ├── metadataTasks.json │ │ │ ├── metadataWorkflow.json │ │ │ ├── taskSearch.json │ │ │ └── workflowSearch.json │ │ └── support/ │ │ ├── commands.ts │ │ ├── component-index.html │ │ ├── component.ts │ │ └── e2e.ts │ ├── cypress.config.ts │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ └── robots.txt │ ├── src/ │ │ ├── App.jsx │ │ ├── components/ │ │ │ ├── Banner.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ConfirmChoiceDialog.jsx │ │ │ ├── CustomButtons.jsx │ │ │ ├── DataTable.jsx │ │ │ ├── DateRangePicker.jsx │ │ │ ├── Dropdown.jsx │ │ │ ├── DropdownButton.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── KeyValueTable.jsx │ │ │ ├── LinearProgress.jsx │ │ │ ├── NavLink.jsx │ │ │ ├── Paper.jsx │ │ │ ├── Pill.jsx │ │ │ ├── PrimaryButton.jsx │ │ │ ├── ReactJson.jsx │ │ │ ├── SecondaryButton.jsx │ │ │ ├── Select.jsx │ │ │ ├── SplitButton.jsx │ │ │ ├── StatusBadge.jsx │ │ │ ├── Tabs.jsx │ │ │ ├── TaskLink.jsx │ │ │ ├── TaskNameInput.jsx │ │ │ ├── TertiaryButton.jsx │ │ │ ├── Text.jsx │ │ │ ├── WorkflowNameInput.jsx │ │ │ ├── definitionList/ │ │ │ │ └── DefinitionList.jsx │ │ │ ├── diagram/ │ │ │ │ ├── PanAndZoomWrapper.jsx │ │ │ │ ├── TaskPointer.d.ts │ │ │ │ ├── TaskResult.d.ts │ │ │ │ ├── WorkflowDAG.js │ │ │ │ ├── WorkflowGraph.jsx │ │ │ │ ├── WorkflowGraph.test.cy.js │ │ │ │ ├── ZoomControlButton.jsx │ │ │ │ ├── ZoomControls.jsx │ │ │ │ └── diagram.scss │ │ │ ├── formik/ │ │ │ │ ├── FormikCronEditor.jsx │ │ │ │ ├── FormikDropdown.jsx │ │ │ │ ├── FormikInput.jsx │ │ │ │ ├── FormikJsonInput.jsx │ │ │ │ ├── FormikStatusDropdown.jsx │ │ │ │ ├── FormikSwitch.jsx │ │ │ │ ├── FormikVersionDropdown.jsx │ │ │ │ ├── FormikWorkflowNameInput.jsx │ │ │ │ └── cron.css │ │ │ ├── icons/ │ │ │ │ ├── FitToFrame.jsx │ │ │ │ ├── Home.jsx │ │ │ │ ├── Minus.jsx │ │ │ │ └── Plus.jsx │ │ │ └── index.js │ │ ├── data/ │ │ │ ├── actions.js │ │ │ ├── bulkactions.js │ │ │ ├── common.js │ │ │ ├── eventHandler.js │ │ │ ├── misc.js │ │ │ ├── task.js │ │ │ └── workflow.js │ │ ├── hooks/ │ │ │ └── useTime.js │ │ ├── index.css │ │ ├── index.js │ │ ├── pages/ │ │ │ ├── definition/ │ │ │ │ ├── EventHandlerDefinition.jsx │ │ │ │ ├── ResetConfirmationDialog.jsx │ │ │ │ ├── SaveEventHandlerDialog.jsx │ │ │ │ ├── SaveTaskDialog.jsx │ │ │ │ ├── SaveWorkflowDialog.jsx │ │ │ │ ├── TaskDefinition.jsx │ │ │ │ └── WorkflowDefinition.jsx │ │ │ ├── definitions/ │ │ │ │ ├── EventHandler.jsx │ │ │ │ ├── Header.jsx │ │ │ │ ├── Task.jsx │ │ │ │ └── Workflow.jsx │ │ │ ├── errors/ │ │ │ │ ├── ErrorsInspector.jsx │ │ │ │ ├── components/ │ │ │ │ │ ├── FailureReasonChart.jsx │ │ │ │ │ ├── LiveTailButton.jsx │ │ │ │ │ ├── Notification.jsx │ │ │ │ │ ├── StatusChart.jsx │ │ │ │ │ ├── SummaryCard.jsx │ │ │ │ │ ├── TimeRangeDropdown.jsx │ │ │ │ │ ├── TimeSeriesChart.jsx │ │ │ │ │ └── WorkflowTypeChart.jsx │ │ │ │ ├── errorsInspectorStyles.js │ │ │ │ └── hooks/ │ │ │ │ └── useWorkflowErrorGroups.js │ │ │ ├── execution/ │ │ │ │ ├── ActionModule.jsx │ │ │ │ ├── Execution.jsx │ │ │ │ ├── ExecutionInputOutput.jsx │ │ │ │ ├── ExecutionJson.jsx │ │ │ │ ├── ExecutionSummary.jsx │ │ │ │ ├── Legend.jsx │ │ │ │ ├── RightPanel.jsx │ │ │ │ ├── TaskDetails.jsx │ │ │ │ ├── TaskHuman.jsx │ │ │ │ ├── TaskHumanForm.jsx │ │ │ │ ├── TaskList.jsx │ │ │ │ ├── TaskLogs.jsx │ │ │ │ ├── TaskPollData.jsx │ │ │ │ ├── TaskSummary.jsx │ │ │ │ ├── Timeline.jsx │ │ │ │ ├── Timeline.test.cy.js │ │ │ │ └── timeline.scss │ │ │ ├── executions/ │ │ │ │ ├── BulkActionModule.jsx │ │ │ │ ├── ResultsTable.jsx │ │ │ │ ├── SearchTabs.jsx │ │ │ │ ├── TaskResultsTable.jsx │ │ │ │ ├── TaskSearch.jsx │ │ │ │ ├── WorkflowSearch.jsx │ │ │ │ └── executionsStyles.js │ │ │ ├── kitchensink/ │ │ │ │ ├── DataTableDemo.jsx │ │ │ │ ├── DiagramTest.jsx │ │ │ │ ├── Dropdown.jsx │ │ │ │ ├── EnhancedTable.jsx │ │ │ │ ├── Examples.jsx │ │ │ │ ├── Gantt.jsx │ │ │ │ ├── KitchenSink.jsx │ │ │ │ └── sampleMovieData.js │ │ │ ├── misc/ │ │ │ │ └── TaskQueue.jsx │ │ │ ├── styles.js │ │ │ └── workbench/ │ │ │ ├── ExecutionHistory.jsx │ │ │ ├── RunHistory.tsx │ │ │ ├── Workbench.jsx │ │ │ └── WorkbenchForm.jsx │ │ ├── plugins/ │ │ │ ├── AppBarModules.jsx │ │ │ ├── AppLogo.jsx │ │ │ ├── CustomAppBarButtons.jsx │ │ │ ├── CustomRoutes.jsx │ │ │ ├── constants.js │ │ │ ├── customTypeRenderers.jsx │ │ │ ├── env.js │ │ │ └── fetch.js │ │ ├── react-app-env.d.ts │ │ ├── schema/ │ │ │ ├── eventHandler.js │ │ │ ├── task.js │ │ │ └── workflow.js │ │ ├── serviceWorker.js │ │ ├── setupProxy.js │ │ ├── setupTests.js │ │ ├── theme/ │ │ │ ├── colorOverrides.js │ │ │ ├── colors.js │ │ │ ├── index.js │ │ │ ├── provider.jsx │ │ │ ├── theme.js │ │ │ └── variables.js │ │ └── utils/ │ │ ├── constants.js │ │ ├── helperFunctions.js │ │ ├── helpers.js │ │ ├── localstorage.ts │ │ └── path.js │ ├── test-karbon.sh │ └── tsconfig.json ├── ui-next/ │ ├── .gitignore │ ├── .npmrc │ ├── .prettierignore │ ├── .prettierrc.json │ ├── README.md │ ├── eslint.config.mjs │ ├── index.html │ ├── package.json │ ├── public/ │ │ ├── context.js │ │ ├── context.js.example │ │ └── robots.txt │ ├── src/ │ │ ├── commonServices/ │ │ │ ├── execution.ts │ │ │ └── index.ts │ │ ├── components/ │ │ │ ├── ActionButton.tsx │ │ │ ├── App.tsx │ │ │ ├── AutoCompleteWithDescription.tsx │ │ │ ├── AutoRefreshButton.tsx │ │ │ ├── Banner.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonTooltip.tsx │ │ │ ├── CenteredSpinner.tsx │ │ │ ├── ClipboardCopy.tsx │ │ │ ├── CodeBlockInput.tsx │ │ │ ├── ConfirmChoiceDialog.tsx │ │ │ ├── CustomButton.tsx │ │ │ ├── DataTable/ │ │ │ │ ├── ColumnSelector.tsx │ │ │ │ ├── DataTable.tsx │ │ │ │ ├── Filter.tsx │ │ │ │ ├── QuickSearch.tsx │ │ │ │ ├── TableRefreshButton.tsx │ │ │ │ ├── TagFilter.tsx │ │ │ │ ├── helpers.test.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── index.ts │ │ │ │ ├── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── styles.ts │ │ │ │ └── types.ts │ │ │ ├── DateRangePicker.tsx │ │ │ ├── DiffEditor/ │ │ │ │ ├── DiffEditor.tsx │ │ │ │ └── diff-editor.css │ │ │ ├── DocLink.tsx │ │ │ ├── Dropdown.tsx │ │ │ ├── DropdownButton.tsx │ │ │ ├── EditInPlace.tsx │ │ │ ├── EmptyPageIntro.tsx │ │ │ ├── ErrorBoundary.tsx │ │ │ ├── FeatureDisabledComponent.tsx │ │ │ ├── FeatureDisabledWrapper.tsx │ │ │ ├── FloatingMuiAlert.tsx │ │ │ ├── GetStartedSample/ │ │ │ │ ├── GetStartedSample.tsx │ │ │ │ ├── components/ │ │ │ │ │ └── CodeSnippet.tsx │ │ │ │ └── types.ts │ │ │ ├── Header.tsx │ │ │ ├── Heading.jsx │ │ │ ├── HelperText.jsx │ │ │ ├── InlineEdit.tsx │ │ │ ├── Input.tsx │ │ │ ├── InputNumber.tsx │ │ │ ├── IntegrationIcon.tsx │ │ │ ├── IntegrationsIcon.tsx │ │ │ ├── KeyValueTable.jsx │ │ │ ├── LinearProgress.tsx │ │ │ ├── MetricsChart.tsx │ │ │ ├── MuiAlert.tsx │ │ │ ├── MuiButton.tsx │ │ │ ├── MuiButtonGroup.tsx │ │ │ ├── MuiCheckbox.tsx │ │ │ ├── MuiIconButton.tsx │ │ │ ├── MuiTypography.tsx │ │ │ ├── NavLink.jsx │ │ │ ├── NavLink.tsx │ │ │ ├── NoDataComponent.tsx │ │ │ ├── PanelAccordion.tsx │ │ │ ├── Paper.tsx │ │ │ ├── PromptVariables.tsx │ │ │ ├── Puller.tsx │ │ │ ├── RadioButtonGroup.tsx │ │ │ ├── ReactJson.tsx │ │ │ ├── RoleTagChip.tsx │ │ │ ├── SafariWarning.tsx │ │ │ ├── SearchEverything.tsx │ │ │ ├── Select.tsx │ │ │ ├── Sidebar/ │ │ │ │ ├── BaseSubMenu.tsx │ │ │ │ ├── ClosedLogo.tsx │ │ │ │ ├── HotKeysButton.tsx │ │ │ │ ├── OpenedLogo.tsx │ │ │ │ ├── RunWorkflowButton.tsx │ │ │ │ ├── Sidebar.tsx │ │ │ │ ├── SidebarFooter.tsx │ │ │ │ ├── SidebarHeader.tsx │ │ │ │ ├── SidebarItem.tsx │ │ │ │ ├── SidebarMenu.tsx │ │ │ │ ├── SidebarToggleButton.tsx │ │ │ │ ├── SidebarVersionBlock.tsx │ │ │ │ ├── SubMenu.tsx │ │ │ │ ├── UiSidebar.tsx │ │ │ │ ├── UserInfo.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── context/ │ │ │ │ │ ├── SidebarContext.tsx │ │ │ │ │ └── SidebarContextProvider.tsx │ │ │ │ ├── createSidebar.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── usePendingTasksCount.ts │ │ │ │ │ └── useSidebarHover.ts │ │ │ │ ├── index.ts │ │ │ │ ├── sidebarCoreItems.tsx │ │ │ │ ├── styles.ts │ │ │ │ └── types.ts │ │ │ ├── SnackbarMessage.tsx │ │ │ ├── SplitButton.jsx │ │ │ ├── StackTrace.tsx │ │ │ ├── StatusBadge.tsx │ │ │ ├── StatusTagChip.tsx │ │ │ ├── StrikedText.tsx │ │ │ ├── StringArrayFormField.tsx │ │ │ ├── SubjectSelector/ │ │ │ │ ├── SubjectMultiPicker.tsx │ │ │ │ ├── SubjectSelector.tsx │ │ │ │ ├── helpers.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── SubmitFormWrapper.jsx │ │ │ ├── Tabs.jsx │ │ │ ├── TagChip.tsx │ │ │ ├── Text.jsx │ │ │ ├── TwoPanesDivider.jsx │ │ │ ├── UIModal.tsx │ │ │ ├── WorkflowStatusBadge.tsx │ │ │ ├── agent/ │ │ │ │ ├── Agent.tsx │ │ │ │ ├── AgentContext.tsx │ │ │ │ ├── AgentEditorController.tsx │ │ │ │ ├── agent-types.ts │ │ │ │ └── helpers.ts │ │ │ ├── auth/ │ │ │ │ └── AuthGuard.tsx │ │ │ ├── charts/ │ │ │ │ ├── CacheChart.tsx │ │ │ │ ├── ErrorsChart.tsx │ │ │ │ ├── LatencyChart.tsx │ │ │ │ ├── RequestsChart.tsx │ │ │ │ ├── chartUtils.ts │ │ │ │ └── index.ts │ │ │ ├── coPilot/ │ │ │ │ └── CoPilot.tsx │ │ │ ├── conductorTooltip/ │ │ │ │ └── ConductorTooltip.tsx │ │ │ ├── definitionList/ │ │ │ │ └── DefinitionList.jsx │ │ │ ├── diagram/ │ │ │ │ └── diagram.scss │ │ │ ├── flow/ │ │ │ │ ├── Flow.tsx │ │ │ │ ├── FlowFullscreen.scss │ │ │ │ ├── ReaflowOverrides.scss │ │ │ │ ├── components/ │ │ │ │ │ ├── RichAddTaskMenu/ │ │ │ │ │ │ ├── AddTaskSidebar.tsx │ │ │ │ │ │ ├── IntegrationDrillDownContent.tsx │ │ │ │ │ │ ├── QuickAddMenu.tsx │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ ├── iconsForTaskTypes.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── state/ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ ├── guards.ts │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── supportedTasks.ts │ │ │ │ │ │ └── taskGenerator.ts │ │ │ │ │ ├── graphs/ │ │ │ │ │ │ ├── CustomEdgeButton.tsx │ │ │ │ │ │ ├── CustomLabel.tsx │ │ │ │ │ │ ├── CustomNode.jsx │ │ │ │ │ │ ├── CustomPort.jsx │ │ │ │ │ │ ├── PanAndZoomWrapper/ │ │ │ │ │ │ │ ├── PanAndZoomProvider.tsx │ │ │ │ │ │ │ ├── PanAndZoomWrapper.tsx │ │ │ │ │ │ │ ├── SearchBox.tsx │ │ │ │ │ │ │ ├── ZoomControls.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── icons/ │ │ │ │ │ │ │ │ ├── DragNDrop.tsx │ │ │ │ │ │ │ │ ├── Home.tsx │ │ │ │ │ │ │ │ ├── Minus.tsx │ │ │ │ │ │ │ │ ├── Plus.tsx │ │ │ │ │ │ │ │ └── Search.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── helpers.test.ts │ │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── shapes/ │ │ │ │ │ ├── DecisionOperator.tsx │ │ │ │ │ ├── DoWhileTask.jsx │ │ │ │ │ ├── DynamicTasksCards.jsx │ │ │ │ │ ├── StarShape.jsx │ │ │ │ │ ├── SubWorkflowTask.jsx │ │ │ │ │ ├── SwitchJoinPseudoTask.jsx │ │ │ │ │ ├── TaskCard/ │ │ │ │ │ │ ├── AddPathButton.tsx │ │ │ │ │ │ ├── CardAttemptsBadge.jsx │ │ │ │ │ │ ├── CardIcon.jsx │ │ │ │ │ │ ├── CardLabel.jsx │ │ │ │ │ │ ├── CardStatusBadge.jsx │ │ │ │ │ │ ├── DeleteButton.tsx │ │ │ │ │ │ ├── DynamicTask.tsx │ │ │ │ │ │ ├── EventTask.jsx │ │ │ │ │ │ ├── ForkJoinDynamicTask.jsx │ │ │ │ │ │ ├── HTTPPollTask.jsx │ │ │ │ │ │ ├── HTTPTask.jsx │ │ │ │ │ │ ├── INLINETask.jsx │ │ │ │ │ │ ├── JDBCTask.tsx │ │ │ │ │ │ ├── JSONJQTransformTask.jsx │ │ │ │ │ │ ├── KAFKATask.jsx │ │ │ │ │ │ ├── SimpleTask.jsx │ │ │ │ │ │ ├── StartWorkflowTask.jsx │ │ │ │ │ │ ├── SwitchAdd.tsx │ │ │ │ │ │ ├── TaskCard.tsx │ │ │ │ │ │ ├── WaitTaskInfo.tsx │ │ │ │ │ │ ├── helpers.test.ts │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ └── icons/ │ │ │ │ │ │ ├── Buildings.jsx │ │ │ │ │ │ ├── BusinessRule.tsx │ │ │ │ │ │ ├── CheckIcon.jsx │ │ │ │ │ │ ├── DeleteIcon.jsx │ │ │ │ │ │ ├── DynamicFanout.tsx │ │ │ │ │ │ ├── DynamicFork.tsx │ │ │ │ │ │ ├── Event.tsx │ │ │ │ │ │ ├── ExclamationCircleIcon.jsx │ │ │ │ │ │ ├── ForkIcon.tsx │ │ │ │ │ │ ├── ForkJoinIcon.tsx │ │ │ │ │ │ ├── GetDocument.tsx │ │ │ │ │ │ ├── GetWorkflow.tsx │ │ │ │ │ │ ├── Http.tsx │ │ │ │ │ │ ├── HttpPoll.tsx │ │ │ │ │ │ ├── Inline.tsx │ │ │ │ │ │ ├── Json.tsx │ │ │ │ │ │ ├── Kafka.jsx │ │ │ │ │ │ ├── LlmChatComplete.tsx │ │ │ │ │ │ ├── LlmGenerateEmbeddings.tsx │ │ │ │ │ │ ├── LlmGetEmbeddings.tsx │ │ │ │ │ │ ├── LlmIndexDocument.tsx │ │ │ │ │ │ ├── LlmIndexText.tsx │ │ │ │ │ │ ├── LlmSearchIndex.tsx │ │ │ │ │ │ ├── LlmStoreEmbeddings.jsx │ │ │ │ │ │ ├── LlmTextComplete.tsx │ │ │ │ │ │ ├── LoopIcon.tsx │ │ │ │ │ │ ├── MCPIcon.tsx │ │ │ │ │ │ ├── MergeIcon.tsx │ │ │ │ │ │ ├── MinusIcon.jsx │ │ │ │ │ │ ├── OpsGenie.tsx │ │ │ │ │ │ ├── PlusIcon.jsx │ │ │ │ │ │ ├── QueryProcessor.tsx │ │ │ │ │ │ ├── Sendgrid.tsx │ │ │ │ │ │ ├── Simple.tsx │ │ │ │ │ │ ├── StackIcon.jsx │ │ │ │ │ │ ├── SubWorkflow.tsx │ │ │ │ │ │ ├── Switch.tsx │ │ │ │ │ │ ├── Terminate.tsx │ │ │ │ │ │ ├── TerminateWorkFlow.tsx │ │ │ │ │ │ ├── UpdateSecret.tsx │ │ │ │ │ │ ├── UpdateTaskIcon.tsx │ │ │ │ │ │ ├── Variable.tsx │ │ │ │ │ │ ├── Wait.tsx │ │ │ │ │ │ ├── WaitForWebhook.tsx │ │ │ │ │ │ ├── WarningIcon.jsx │ │ │ │ │ │ ├── WorkFlow.tsx │ │ │ │ │ │ ├── Worker.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── TaskDescription.tsx │ │ │ │ │ ├── TaskShape/ │ │ │ │ │ │ ├── Shape.tsx │ │ │ │ │ │ ├── TaskShape.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── TaskSummary.jsx │ │ │ │ │ ├── TerminalTask.jsx │ │ │ │ │ ├── styles.ts │ │ │ │ │ └── testDiagrams.js │ │ │ │ ├── dragDrop/ │ │ │ │ │ ├── DraggableOverlay.tsx │ │ │ │ │ ├── Handle.tsx │ │ │ │ │ ├── boxCollision.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── nodes/ │ │ │ │ │ ├── constants.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── layoutTestData.js │ │ │ │ │ └── mapper/ │ │ │ │ │ ├── common.test.ts │ │ │ │ │ ├── common.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── core.test.js │ │ │ │ │ ├── core.ts │ │ │ │ │ ├── crumbs.test.ts │ │ │ │ │ ├── crumbs.ts │ │ │ │ │ ├── doWhile.ts │ │ │ │ │ ├── edgeMapper.test.js │ │ │ │ │ ├── edgeMapper.ts │ │ │ │ │ ├── forkJoin.test.js │ │ │ │ │ ├── forkJoin.ts │ │ │ │ │ ├── forkJoinDynamic.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── join.test.js │ │ │ │ │ ├── join.ts │ │ │ │ │ ├── layout.js │ │ │ │ │ ├── ports.ts │ │ │ │ │ ├── predicates.ts │ │ │ │ │ ├── subWorkflow.test.js │ │ │ │ │ ├── subWorkflow.ts │ │ │ │ │ ├── switch.test.js │ │ │ │ │ ├── switch.ts │ │ │ │ │ ├── terminal.ts │ │ │ │ │ ├── terminate.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── state/ │ │ │ │ │ ├── FlowActorContext.tsx │ │ │ │ │ ├── action.ts │ │ │ │ │ ├── context.tsx │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── helpers.js │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── selectors.ts │ │ │ │ │ ├── service.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── testUtils.js │ │ │ │ └── theme.ts │ │ │ ├── index.ts │ │ │ ├── reactHookForm/ │ │ │ │ ├── ReactHookFormDropdown.tsx │ │ │ │ └── ReactHookFormInput.tsx │ │ │ ├── searchWrapper/ │ │ │ │ ├── SearchWrapper.tsx │ │ │ │ └── state/ │ │ │ │ ├── actions.ts │ │ │ │ ├── helpers.test.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── hook.ts │ │ │ │ ├── index.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── services.ts │ │ │ │ └── types.ts │ │ │ ├── tags/ │ │ │ │ ├── AddTagDialog.tsx │ │ │ │ └── ReplaceTagsInput.tsx │ │ │ └── v1/ │ │ │ ├── ActionAlert.tsx │ │ │ ├── AdvancedSearchFieldPopper.tsx │ │ │ ├── ApiSearchModal/ │ │ │ │ ├── ApiSearchModal.tsx │ │ │ │ └── index.ts │ │ │ ├── ArrowBox.tsx │ │ │ ├── CodeBlockInputWrapper.tsx │ │ │ ├── CodeSnippet.tsx │ │ │ ├── ConductorArrayField.tsx │ │ │ ├── ConductorAutoComplete.tsx │ │ │ ├── ConductorAutoCompleteWithDescription.tsx │ │ │ ├── ConductorBreadcrumbs.tsx │ │ │ ├── ConductorCheckbox.tsx │ │ │ ├── ConductorCodeBlockInput.tsx │ │ │ ├── ConductorEmptyGroupField.tsx │ │ │ ├── ConductorGroupContainer.tsx │ │ │ ├── ConductorGroupFieldTitle.tsx │ │ │ ├── ConductorInput.tsx │ │ │ ├── ConductorInputNumber.tsx │ │ │ ├── ConductorMultiSelect.tsx │ │ │ ├── ConductorNameVersionField.tsx │ │ │ ├── ConductorSelect.tsx │ │ │ ├── ConductorSlider/ │ │ │ │ ├── ConductorSlider.tsx │ │ │ │ └── ConductorSliderStateless.tsx │ │ │ ├── ConductorSplitButton.tsx │ │ │ ├── ConductorStringArrayFormField.tsx │ │ │ ├── ConductorTabs.tsx │ │ │ ├── ConductorUpdateTaskFromEvent.tsx │ │ │ ├── CopyClipboardButton.tsx │ │ │ ├── EventExpressionHelp.tsx │ │ │ ├── FileUploadButton.tsx │ │ │ ├── FlatMapForm/ │ │ │ │ ├── ConductorAutocompleteArrayField.tsx │ │ │ │ ├── ConductorAutocompleteVariables.tsx │ │ │ │ ├── ConductorFieldTypeDropdown.tsx │ │ │ │ ├── ConductorFlatMapForm.tsx │ │ │ │ ├── ConductorKeyValueInput.tsx │ │ │ │ ├── ConductorStringOrJsonInput.tsx │ │ │ │ ├── customFilter.test.ts │ │ │ │ └── formOptions.ts │ │ │ ├── HeadTabs.tsx │ │ │ ├── Modal/ │ │ │ │ ├── ConfirmModal.tsx │ │ │ │ ├── UnsavedChangesDialog.tsx │ │ │ │ ├── commonStyles.ts │ │ │ │ └── useDialogHelper.tsx │ │ │ ├── MultiOptionSelect.tsx │ │ │ ├── RoundedInput.tsx │ │ │ ├── SpinningIcon.tsx │ │ │ ├── SwaggerTestComponent.tsx │ │ │ ├── TagList.tsx │ │ │ ├── TestTask/ │ │ │ │ ├── TestTask.tsx │ │ │ │ └── index.ts │ │ │ ├── TooltipModal.tsx │ │ │ ├── TooltipStateless.tsx │ │ │ ├── UnderlinedText.tsx │ │ │ ├── date-time/ │ │ │ │ ├── ConductorDateRangePicker.tsx │ │ │ │ ├── ConductorDateTimePicker.tsx │ │ │ │ ├── ConductorSingleDateRangePicker.tsx │ │ │ │ ├── ConductorTimePicker.tsx │ │ │ │ └── CustomDateRangePicker.scss │ │ │ ├── error/ │ │ │ │ └── Error.tsx │ │ │ ├── icons/ │ │ │ │ ├── AddIcon.tsx │ │ │ │ ├── AnnouncementIcon.tsx │ │ │ │ ├── ArrowDownIcon.tsx │ │ │ │ ├── ArrowUpIcon.tsx │ │ │ │ ├── ChatIcon.tsx │ │ │ │ ├── CircleCheckIcon.tsx │ │ │ │ ├── CopyIcon.tsx │ │ │ │ ├── DatetimeIcon.tsx │ │ │ │ ├── DocsIcon.tsx │ │ │ │ ├── DoubleArrowLeftIcon.tsx │ │ │ │ ├── DoubleArrowRightIcon.tsx │ │ │ │ ├── DownloadIcon.tsx │ │ │ │ ├── DropdownIcon.tsx │ │ │ │ ├── EnterIcon.tsx │ │ │ │ ├── ExitIcon.tsx │ │ │ │ ├── ExpandIcon.tsx │ │ │ │ ├── FilterIcon.tsx │ │ │ │ ├── InfoIcon.tsx │ │ │ │ ├── NewIntegration.tsx │ │ │ │ ├── OpenIcon.tsx │ │ │ │ ├── PlayIcon.tsx │ │ │ │ ├── PythonIcon.tsx │ │ │ │ ├── RefreshIcon.tsx │ │ │ │ ├── RequestACallIcon.tsx │ │ │ │ ├── ResetIcon.tsx │ │ │ │ ├── RunIcon.tsx │ │ │ │ ├── Save.tsx │ │ │ │ ├── SaveIcon.tsx │ │ │ │ ├── SearchIcon.tsx │ │ │ │ ├── ShowViewIcon.tsx │ │ │ │ ├── TestIcon.tsx │ │ │ │ ├── TimeIcon.tsx │ │ │ │ ├── TrashIcon.tsx │ │ │ │ ├── UnlockIcon.tsx │ │ │ │ └── XCloseIcon.tsx │ │ │ ├── index.ts │ │ │ ├── layout/ │ │ │ │ ├── MessageContext/ │ │ │ │ │ ├── MessageContext.tsx │ │ │ │ │ ├── MessageProvider.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── header/ │ │ │ │ │ ├── AnnouncementBanner.tsx │ │ │ │ │ ├── ButtonLinks.tsx │ │ │ │ │ └── bannerUtils.ts │ │ │ │ └── section/ │ │ │ │ └── ConductorSectionHeader.tsx │ │ │ ├── quiz/ │ │ │ │ └── OnboardingQuiz.tsx │ │ │ ├── react-hook-form/ │ │ │ │ ├── ReactHookFormCheckbox.test.tsx │ │ │ │ ├── ReactHookFormCheckbox.tsx │ │ │ │ ├── ReactHookFormDropdown.test.tsx │ │ │ │ ├── ReactHookFormDropdown.tsx │ │ │ │ ├── ReactHookFormEditor.tsx │ │ │ │ ├── ReactHookFormFlatMapForm.tsx │ │ │ │ ├── ReactHookFormIdempotencyForm.test.tsx │ │ │ │ ├── ReactHookFormIdempotencyForm.tsx │ │ │ │ ├── ReactHookFormInput.test.tsx │ │ │ │ ├── ReactHookFormInput.tsx │ │ │ │ ├── ReactHookFormNameVersionField.test.tsx │ │ │ │ └── ReactHookFormNameVersionField.tsx │ │ │ └── theme/ │ │ │ ├── index.ts │ │ │ ├── material/ │ │ │ │ ├── components/ │ │ │ │ │ ├── buttons.ts │ │ │ │ │ ├── buttonsGroup.ts │ │ │ │ │ └── formControls.ts │ │ │ │ ├── context.tsx │ │ │ │ └── provider.tsx │ │ │ ├── styles.ts │ │ │ └── theme.ts │ │ ├── growthbook/ │ │ │ ├── MaybeGrowthbookProvider.tsx │ │ │ ├── growthbookInstance.ts │ │ │ ├── plugins.ts │ │ │ └── useMaybeIdentifyGrowthbook.tsx │ │ ├── index.css │ │ ├── index.ts │ │ ├── main.tsx │ │ ├── pages/ │ │ │ ├── apiDocs/ │ │ │ │ └── ApiReferencePage.tsx │ │ │ ├── creatorFlags/ │ │ │ │ └── CreatorFlags.tsx │ │ │ ├── definition/ │ │ │ │ ├── ConfirmDialog.tsx │ │ │ │ ├── ConfirmLocalCopyDialog/ │ │ │ │ │ ├── ConfirmLocalCopyDialog.tsx │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── service.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── EditorPanel/ │ │ │ │ │ ├── AssistantPanel.tsx │ │ │ │ │ ├── AssistantPanelHeader.tsx │ │ │ │ │ ├── CodeEditorTab/ │ │ │ │ │ │ ├── CodeTab.tsx │ │ │ │ │ │ ├── MonacoDefinitionOverrides.scss │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── state/ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── ConfirmationDialogs.tsx │ │ │ │ │ ├── CustomTooltip.tsx │ │ │ │ │ ├── DependenciesTab/ │ │ │ │ │ │ └── DependenciesTab.tsx │ │ │ │ │ ├── EditorPanel.tsx │ │ │ │ │ ├── EditorTabs.tsx │ │ │ │ │ ├── HeadActionButtons.tsx │ │ │ │ │ ├── RunWorkflowButton.tsx │ │ │ │ │ ├── TabContent.tsx │ │ │ │ │ ├── TaskFormTab/ │ │ │ │ │ │ ├── TaskForm.tsx │ │ │ │ │ │ ├── TaskFormContent.tsx │ │ │ │ │ │ ├── TaskStats/ │ │ │ │ │ │ │ ├── CountBar.tsx │ │ │ │ │ │ │ ├── RangeButtons.tsx │ │ │ │ │ │ │ ├── TaskRateChart.tsx │ │ │ │ │ │ │ ├── TaskStats.tsx │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ ├── guards.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── forms/ │ │ │ │ │ │ │ ├── ArrayForm.tsx │ │ │ │ │ │ │ ├── BusinessRuleForm.tsx │ │ │ │ │ │ │ ├── ChunkTextTaskForm.tsx │ │ │ │ │ │ │ ├── ConductorCacheOutputForm.tsx │ │ │ │ │ │ │ ├── ConductorFlexibleAutoCompleteVariables.tsx │ │ │ │ │ │ │ ├── ConductorObjectOrStringInput.tsx │ │ │ │ │ │ │ ├── ConductorValueInput.tsx │ │ │ │ │ │ │ ├── DoWhileTaskForm/ │ │ │ │ │ │ │ │ ├── DoWhileCodeBlock.tsx │ │ │ │ │ │ │ │ ├── DoWhileForm.tsx │ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── sampleScripts.ts │ │ │ │ │ │ │ ├── DynamicForkOperatorForm.tsx │ │ │ │ │ │ │ ├── DynamicOperatorForm.tsx │ │ │ │ │ │ │ ├── EnforceSchemaForm.tsx │ │ │ │ │ │ │ ├── EventTaskForm/ │ │ │ │ │ │ │ │ ├── EventTaskForm.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── FieldTypeDropdown.tsx │ │ │ │ │ │ │ ├── FlexibleAutoCompleteVariables.tsx │ │ │ │ │ │ │ ├── GRPCTaskForm/ │ │ │ │ │ │ │ │ ├── GRPCTaskForm.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── GetDocumentTaskForm.tsx │ │ │ │ │ │ │ ├── GetSignedJwtForm.tsx │ │ │ │ │ │ │ ├── GetWorkflowTaskForm/ │ │ │ │ │ │ │ │ ├── GetWorkflowTaskForm.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── HTTPTaskForm/ │ │ │ │ │ │ │ │ ├── ConductorAdditionalHeaders.tsx │ │ │ │ │ │ │ │ ├── EditTaskDefConfigModal.tsx │ │ │ │ │ │ │ │ ├── Encode.tsx │ │ │ │ │ │ │ │ ├── HTTPPollTaskForm.tsx │ │ │ │ │ │ │ │ ├── HTTPTaskForm.tsx │ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── state/ │ │ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ │ │ ├── helper.ts │ │ │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── HedgingConfigForm.tsx │ │ │ │ │ │ │ ├── INLINETaskForm/ │ │ │ │ │ │ │ │ ├── INLINETaskForm.tsx │ │ │ │ │ │ │ │ ├── InlineCodeBlock.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── JDBCTaskForm.tsx │ │ │ │ │ │ │ ├── JOINTaskForm/ │ │ │ │ │ │ │ │ ├── JOINTaskForm.tsx │ │ │ │ │ │ │ │ ├── JoinCodeBlock.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── JSONField.tsx │ │ │ │ │ │ │ ├── JSONJQTransformForm.tsx │ │ │ │ │ │ │ ├── KafkaTaskForm.tsx │ │ │ │ │ │ │ ├── LLMChainTaskForm.tsx │ │ │ │ │ │ │ ├── LLMChatCompleteTaskForm.tsx │ │ │ │ │ │ │ ├── LLMFormFields/ │ │ │ │ │ │ │ │ ├── ConductorArrayMapForm.tsx │ │ │ │ │ │ │ │ ├── LLMFormFields.tsx │ │ │ │ │ │ │ │ ├── LLMFormFieldsWrapper.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── LLMGenerateEmbeddingsTaskForm.tsx │ │ │ │ │ │ │ ├── LLMGetEmbeddingsTaskForm.tsx │ │ │ │ │ │ │ ├── LLMIndexDocumentTaskForm.tsx │ │ │ │ │ │ │ ├── LLMIndexTextTaskForm.tsx │ │ │ │ │ │ │ ├── LLMSearchIndexTaskForm.tsx │ │ │ │ │ │ │ ├── LLMStoreEmbeddingsTaskForm.tsx │ │ │ │ │ │ │ ├── LLMTextCompleteTaskForm.tsx │ │ │ │ │ │ │ ├── ListFilesTaskForm.tsx │ │ │ │ │ │ │ ├── MCPTaskForm.tsx │ │ │ │ │ │ │ ├── MaybeVariable.tsx │ │ │ │ │ │ │ ├── OpsGenieTaskForm.tsx │ │ │ │ │ │ │ ├── OptionalFieldForm.tsx │ │ │ │ │ │ │ ├── ParseDocumentTaskForm.tsx │ │ │ │ │ │ │ ├── QueryProcessorTaskForm/ │ │ │ │ │ │ │ │ ├── MetricsTypeForm.tsx │ │ │ │ │ │ │ │ ├── QueryProcessorTaskForm.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── RateLimitConfigForm.tsx │ │ │ │ │ │ │ ├── SchemaForm.tsx │ │ │ │ │ │ │ ├── SendgridForm.tsx │ │ │ │ │ │ │ ├── ServiceRegistrySelector.tsx │ │ │ │ │ │ │ ├── SetVariableOperatorForm.tsx │ │ │ │ │ │ │ ├── SimpleTaskForm/ │ │ │ │ │ │ │ │ ├── SampleCode.ts │ │ │ │ │ │ │ │ ├── SimpleTaskForm.tsx │ │ │ │ │ │ │ │ ├── TemplateKeys.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── SimpleTaskNameInput.tsx │ │ │ │ │ │ │ ├── StartWorkflowTaskForm/ │ │ │ │ │ │ │ │ ├── StartWorkflowTaskForm.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── machine.test.ts │ │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ │ ├── service.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── SubWorkflowOperatorForm/ │ │ │ │ │ │ │ │ ├── SubWorkflowOperatorForm.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── SwitchTaskForm/ │ │ │ │ │ │ │ │ ├── SwitchCodeBlock.tsx │ │ │ │ │ │ │ │ ├── SwitchOperatorForm.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── TaskFormFooter.tsx │ │ │ │ │ │ │ ├── TaskFormHeader/ │ │ │ │ │ │ │ │ ├── TaskFormHeader.tsx │ │ │ │ │ │ │ │ ├── TaskFormHeaderSimple.tsx │ │ │ │ │ │ │ │ ├── TaskFormHeaderTasks.tsx │ │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── TaskFormSection.tsx │ │ │ │ │ │ │ ├── TaskFormStyles.ts │ │ │ │ │ │ │ ├── TerminateOperatorForm.tsx │ │ │ │ │ │ │ ├── TerminateWorkflowForm.tsx │ │ │ │ │ │ │ ├── TestTaskButton/ │ │ │ │ │ │ │ │ ├── OpenTestTaskButton.tsx │ │ │ │ │ │ │ │ ├── TestTaskButton.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ │ ├── service.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── UnknownTaskForm.tsx │ │ │ │ │ │ │ ├── UpdateSecretForm/ │ │ │ │ │ │ │ │ ├── UpdateSecretTaskForm.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── UpdateTaskForm/ │ │ │ │ │ │ │ │ ├── UpdateTaskForm.tsx │ │ │ │ │ │ │ │ ├── UpdateTaskFromEvent.tsx │ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── WaitForWebhookForm/ │ │ │ │ │ │ │ │ ├── WaitForWebhookTaskForm.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── WaitTaskForm/ │ │ │ │ │ │ │ │ ├── DurationWaitTaskForm.tsx │ │ │ │ │ │ │ │ ├── SelectWaitType.tsx │ │ │ │ │ │ │ │ ├── UntilWaitTaskForm.tsx │ │ │ │ │ │ │ │ ├── WaitTaskForm.tsx │ │ │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── YieldTaskForm.tsx │ │ │ │ │ │ │ ├── editorConfig.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── useSchemaFormHandler.ts │ │ │ │ │ │ │ │ └── useTaskForm.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── maybeVariableHOC.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── useGetSetHandler.ts │ │ │ │ │ │ ├── helpers.test.ts │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── state/ │ │ │ │ │ │ │ ├── TaskFormContext/ │ │ │ │ │ │ │ │ ├── TaskFormContext.tsx │ │ │ │ │ │ │ │ ├── TaskFormProvider.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ ├── guards.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ └── taskDescription.ts │ │ │ │ │ ├── WorkflowPropertiesFormTab/ │ │ │ │ │ │ ├── ActorToHandlerValue.tsx │ │ │ │ │ │ ├── WorkflowPropertiesForm.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── state/ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── selectors.ts │ │ │ │ ├── EventHandler/ │ │ │ │ │ ├── EventHandler.tsx │ │ │ │ │ ├── SaveProtectionPrompt.tsx │ │ │ │ │ ├── eventhandlers/ │ │ │ │ │ │ ├── EventHandlerButton.tsx │ │ │ │ │ │ ├── EventHandlerEditor.tsx │ │ │ │ │ │ ├── FormComponent/ │ │ │ │ │ │ │ ├── ActionForms/ │ │ │ │ │ │ │ │ ├── CompleteTask.tsx │ │ │ │ │ │ │ │ ├── FailTask.tsx │ │ │ │ │ │ │ │ ├── StartWorkflowTask.tsx │ │ │ │ │ │ │ │ ├── TerminateWorkflowTask.tsx │ │ │ │ │ │ │ │ ├── UpdateWorkflowTask.tsx │ │ │ │ │ │ │ │ └── common.ts │ │ │ │ │ │ │ ├── EventHandlerForm.tsx │ │ │ │ │ │ │ └── state/ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── eventHandlerSchema.ts │ │ │ │ │ │ └── state/ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ ├── guards.ts │ │ │ │ │ │ ├── hook.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── GraphPanel.jsx │ │ │ │ ├── ImportSuccessfulDialog.tsx │ │ │ │ ├── PromptIfChanges.tsx │ │ │ │ ├── RunWorkflow/ │ │ │ │ │ ├── RunWorkflowForm.tsx │ │ │ │ │ ├── RunWorkflowHistoryTable.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── WorkflowDefinition.tsx │ │ │ │ ├── WorkflowMetadata/ │ │ │ │ │ ├── EditInPlaceWrapper/ │ │ │ │ │ │ ├── EditInPlaceFieldWrapper.tsx │ │ │ │ │ │ └── state/ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ ├── guards.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── machine.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── WorkflowMetaBar.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── state/ │ │ │ │ │ ├── WorkflowMetadataContext/ │ │ │ │ │ │ ├── WorkflowMetadataContext.tsx │ │ │ │ │ │ ├── WorkflowMetadataProvider.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── commonService.ts │ │ │ │ ├── confirmSave/ │ │ │ │ │ ├── ConfirmSaveButtonGroup.tsx │ │ │ │ │ ├── ConfirmSaveDiffEditor.tsx │ │ │ │ │ ├── ConfirmWorkflowOverride.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── errorInspector/ │ │ │ │ │ ├── AccordionErrorSummary.tsx │ │ │ │ │ ├── ErrorInspector.tsx │ │ │ │ │ ├── ImportSummary.tsx │ │ │ │ │ ├── ServerErrorDisplayer.tsx │ │ │ │ │ ├── TaskErrorsDisplayer.tsx │ │ │ │ │ ├── WorkflowErrorDisplayer.tsx │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── helpers.test.ts │ │ │ │ │ ├── helpers.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── schemaValidator.ts │ │ │ │ │ ├── service.test.ts │ │ │ │ │ ├── service.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── helper.test.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── progressicons.jsx │ │ │ │ ├── state/ │ │ │ │ │ ├── WorkflowEditContext/ │ │ │ │ │ │ ├── WorkflowEditContext.tsx │ │ │ │ │ │ ├── WorkflowEditProvider.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── action.ts │ │ │ │ │ ├── constants.js │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ ├── taskModifier/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── taskModifier.test.js │ │ │ │ │ │ └── taskModifier.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── useGetVariablesForSelectedTasks.ts │ │ │ │ │ ├── useMadeChanges.ts │ │ │ │ │ ├── usePanelChanges.ts │ │ │ │ │ └── usePerformOperationOnDefintion.ts │ │ │ │ └── task/ │ │ │ │ ├── CreationInfo.tsx │ │ │ │ ├── NameDescription.tsx │ │ │ │ ├── SaveProtectionPrompt.tsx │ │ │ │ ├── TaskDefErrorInspector.tsx │ │ │ │ ├── TaskDefinition.tsx │ │ │ │ ├── TaskDefinitionButtons.tsx │ │ │ │ ├── TaskDefinitionDiffEditor.tsx │ │ │ │ ├── TestTaskForm.tsx │ │ │ │ ├── dialogs/ │ │ │ │ │ ├── TaskDefinitionDialogs.tsx │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── form/ │ │ │ │ │ ├── TaskDefinitionForm.tsx │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── index.ts │ │ │ │ └── state/ │ │ │ │ ├── actions.ts │ │ │ │ ├── guards.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── hook.ts │ │ │ │ ├── index.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── services.ts │ │ │ │ ├── types.ts │ │ │ │ └── validator.ts │ │ │ ├── definitions/ │ │ │ │ ├── EventHandler.tsx │ │ │ │ ├── Scheduler/ │ │ │ │ │ ├── BulkActionModule.tsx │ │ │ │ │ └── Schedules.tsx │ │ │ │ ├── Task.tsx │ │ │ │ ├── Workflow.tsx │ │ │ │ ├── dialog/ │ │ │ │ │ ├── CloneDialog.tsx │ │ │ │ │ ├── CloneScheduleDialog.tsx │ │ │ │ │ ├── CloneWorkflowDialog.tsx │ │ │ │ │ └── ShareWorkflowDialog.tsx │ │ │ │ ├── index.ts │ │ │ │ └── rowColorHelpers.ts │ │ │ ├── error/ │ │ │ │ ├── ErrorPage.tsx │ │ │ │ ├── Forbidden.tsx │ │ │ │ ├── UserNotFound.tsx │ │ │ │ └── types.ts │ │ │ ├── eventMonitor/ │ │ │ │ ├── EventMonitor.tsx │ │ │ │ ├── EventMonitorDetail/ │ │ │ │ │ ├── EventMonitorDetail.tsx │ │ │ │ │ ├── ExpandedGroupedItem.tsx │ │ │ │ │ ├── PayloadModal.tsx │ │ │ │ │ └── Refresher/ │ │ │ │ │ ├── RefreshEvent.tsx │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── execution/ │ │ │ │ ├── ActionModule.jsx │ │ │ │ ├── Execution.jsx │ │ │ │ ├── ExecutionInputOutput.tsx │ │ │ │ ├── ExecutionJson.jsx │ │ │ │ ├── ExecutionSummary.jsx │ │ │ │ ├── LeftPanelTabs.tsx │ │ │ │ ├── NoAnimRangeSlider.tsx │ │ │ │ ├── RightPanel/ │ │ │ │ │ ├── RightPanel.tsx │ │ │ │ │ ├── SummaryTask.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── TaskList/ │ │ │ │ │ ├── StatusSelect.tsx │ │ │ │ │ ├── TaskList.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── TaskLogs.tsx │ │ │ │ ├── TaskSummary.tsx │ │ │ │ ├── Timeline.jsx │ │ │ │ ├── Timeline.test.ts │ │ │ │ ├── UpdateTaskStatusForm.tsx │ │ │ │ ├── WorkflowIntrospection.tsx │ │ │ │ ├── componentHelpers.tsx │ │ │ │ ├── helpers.test.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── index.ts │ │ │ │ ├── state/ │ │ │ │ │ ├── FlowExecutionContext/ │ │ │ │ │ │ ├── FlowExecutionContext.tsx │ │ │ │ │ │ ├── FlowExecutionProvider.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── StatusMapTypes.ts │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── countdownActions.ts │ │ │ │ │ ├── countdownMachine.ts │ │ │ │ │ ├── executionMapper.test.js │ │ │ │ │ ├── executionMapper.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── hook.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ ├── sampleExecutions.js │ │ │ │ │ ├── services.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── timeline.scss │ │ │ │ └── timelineUtils.ts │ │ │ ├── executions/ │ │ │ │ ├── ApiSearchModalIntegration.tsx │ │ │ │ ├── BulkActionModule.tsx │ │ │ │ ├── DateControlComponent.tsx │ │ │ │ ├── DatePickerComponent.tsx │ │ │ │ ├── ResultsTable.tsx │ │ │ │ ├── SchedulerApiSearchModal.tsx │ │ │ │ ├── SchedulerExecutions.tsx │ │ │ │ ├── SchedulerResultsTable.tsx │ │ │ │ ├── SearchExampleQuery.tsx │ │ │ │ ├── SplitWorkflowDefinitionButton/ │ │ │ │ │ ├── ImportBPNFileDialog.tsx │ │ │ │ │ ├── SplitWorkflowDefinitionButton.tsx │ │ │ │ │ └── hook.ts │ │ │ │ ├── Task/ │ │ │ │ │ ├── AdvanceSearch.tsx │ │ │ │ │ ├── BasicSearch.tsx │ │ │ │ │ ├── SwitchComponent.tsx │ │ │ │ │ └── TaskApiSearchModal.tsx │ │ │ │ ├── TaskResultsTable.tsx │ │ │ │ ├── TaskSearch.tsx │ │ │ │ ├── WorkflowSearch.tsx │ │ │ │ ├── executionsStyles.ts │ │ │ │ ├── index.ts │ │ │ │ └── workflowSearchComponents/ │ │ │ │ ├── AdvancedSearch.tsx │ │ │ │ └── BasicSearch.tsx │ │ │ ├── kitchensink/ │ │ │ │ ├── DataTableDemo.jsx │ │ │ │ ├── EnhancedTable.jsx │ │ │ │ ├── Examples.jsx │ │ │ │ ├── Gantt.jsx │ │ │ │ ├── KitchenSink.jsx │ │ │ │ ├── ThemeSampler.jsx │ │ │ │ └── sampleMovieData.js │ │ │ ├── queueMonitor/ │ │ │ │ ├── PollDataTable.tsx │ │ │ │ ├── PollWorkerDetails.tsx │ │ │ │ ├── QuickSearchAndRefresh.tsx │ │ │ │ ├── TaskQueue.tsx │ │ │ │ ├── filter/ │ │ │ │ │ ├── FilterSection.tsx │ │ │ │ │ ├── hook.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── refresher/ │ │ │ │ │ ├── RefreshOptions.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── state/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── guards.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── machine.ts │ │ │ │ │ └── types.ts │ │ │ │ └── state/ │ │ │ │ ├── QueueMonitorContext/ │ │ │ │ │ ├── QueueMonitorContext.tsx │ │ │ │ │ ├── QueueMonitorProvider.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── actions.ts │ │ │ │ ├── guards.ts │ │ │ │ ├── hook.ts │ │ │ │ ├── index.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── service.ts │ │ │ │ └── types.ts │ │ │ ├── runWorkflow/ │ │ │ │ ├── IdempotencyForm.tsx │ │ │ │ ├── RunWorkflow.tsx │ │ │ │ ├── RunWorkflowApiSearchModal.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── runWorkflowUtils.ts │ │ │ │ └── types.ts │ │ │ ├── scheduler/ │ │ │ │ ├── CronExpressionHelp.tsx │ │ │ │ ├── SaveProtectionPrompt.tsx │ │ │ │ ├── Schedule.tsx │ │ │ │ ├── ScheduleButtons.tsx │ │ │ │ ├── ScheduleDiffEditor.jsx │ │ │ │ ├── TimezonePicker.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ └── Schedule.test.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── CronExpressionSection.tsx │ │ │ │ │ ├── ScheduleTimingSection.tsx │ │ │ │ │ └── WorkflowConfigSection.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── useCronExpression.ts │ │ │ │ │ ├── useScheduleFormHandlers.ts │ │ │ │ │ ├── useScheduleState.ts │ │ │ │ │ └── useWorkflowConfig.ts │ │ │ │ ├── index.ts │ │ │ │ ├── schedulerHooks.js │ │ │ │ ├── timezones.json │ │ │ │ └── utils/ │ │ │ │ └── scheduleTransformers.ts │ │ │ ├── styles.js │ │ │ └── tags/ │ │ │ ├── TagsDashboard.tsx │ │ │ └── TagsList.jsx │ │ ├── plugins/ │ │ │ ├── AppBarModules.jsx │ │ │ ├── AppLogo.jsx │ │ │ ├── ConductorLogo.jsx │ │ │ ├── constants.js │ │ │ ├── customTypeRenderers.jsx │ │ │ ├── env.js │ │ │ ├── fetch.ts │ │ │ ├── index.ts │ │ │ └── registry/ │ │ │ ├── index.ts │ │ │ ├── registry.ts │ │ │ └── types.ts │ │ ├── queryClient.ts │ │ ├── routes/ │ │ │ ├── __tests__/ │ │ │ │ ├── router.test.tsx │ │ │ │ └── test-utils.tsx │ │ │ ├── router.tsx │ │ │ └── routes.tsx │ │ ├── setupTests.ts │ │ ├── shared/ │ │ │ ├── BaseLayout.tsx │ │ │ ├── BlockNavigationWithConfirmation.tsx │ │ │ ├── CodeModal/ │ │ │ │ ├── curlHeader.ts │ │ │ │ ├── hook.ts │ │ │ │ └── types.ts │ │ │ ├── PersistableSidebar/ │ │ │ │ └── state/ │ │ │ │ ├── actions.ts │ │ │ │ ├── hook.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── services.ts │ │ │ │ └── types.ts │ │ │ ├── SectionContainer.tsx │ │ │ ├── SectionHeader.tsx │ │ │ ├── SectionHeaderActions.tsx │ │ │ ├── SideAndTopBarsLayout.tsx │ │ │ ├── UserSettingsContext.ts │ │ │ ├── UserSettingsProvider.tsx │ │ │ ├── ZoomControlsButton.tsx │ │ │ ├── agent/ │ │ │ │ ├── agentAtomsStore.ts │ │ │ │ └── useAiContext.ts │ │ │ ├── auth/ │ │ │ │ ├── AuthProvider.tsx │ │ │ │ ├── NoAuthProvider/ │ │ │ │ │ ├── NoAuthProvider.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── context.ts │ │ │ │ ├── index.ts │ │ │ │ ├── silentRefresh.ts │ │ │ │ ├── tokenManagerJotai.ts │ │ │ │ ├── types.ts │ │ │ │ └── useAuth.ts │ │ │ ├── createAndDisplayApplication/ │ │ │ │ ├── MetadataBanner.tsx │ │ │ │ └── state/ │ │ │ │ ├── actions.ts │ │ │ │ ├── guards.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── services.ts │ │ │ │ └── types.ts │ │ │ ├── editor.ts │ │ │ ├── icons/ │ │ │ │ └── FitToFrame.tsx │ │ │ ├── state/ │ │ │ │ ├── index.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── selectors.ts │ │ │ │ ├── types.ts │ │ │ │ └── userSettingsMachine/ │ │ │ │ ├── actions.ts │ │ │ │ ├── guards.ts │ │ │ │ ├── index.ts │ │ │ │ ├── machine.ts │ │ │ │ ├── services.ts │ │ │ │ └── types.ts │ │ │ ├── styles.ts │ │ │ ├── useSaveProtection.ts │ │ │ └── useUserSettings.ts │ │ ├── templates/ │ │ │ └── JSONSchemaWorkflow.js │ │ ├── testData/ │ │ │ └── diagramTests.js │ │ ├── theme/ │ │ │ ├── index.ts │ │ │ ├── material/ │ │ │ │ ├── ColorModeContext/ │ │ │ │ │ ├── ColorModeContext.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── baseTheme.ts │ │ │ │ ├── components/ │ │ │ │ │ ├── appBar.ts │ │ │ │ │ ├── atoms.ts │ │ │ │ │ ├── buttons.ts │ │ │ │ │ ├── buttonsGroup.ts │ │ │ │ │ ├── dropdownsMenusPopovers.ts │ │ │ │ │ ├── formControls.ts │ │ │ │ │ ├── modals.ts │ │ │ │ │ ├── paper.ts │ │ │ │ │ ├── tables.ts │ │ │ │ │ └── tabs.ts │ │ │ │ ├── getPaletteForMode.ts │ │ │ │ ├── provider.tsx │ │ │ │ └── types/ │ │ │ │ └── Palette.d.ts │ │ │ ├── theme.ts │ │ │ └── tokens/ │ │ │ ├── colorOverrides.ts │ │ │ ├── colors.js │ │ │ ├── globalConstants.js │ │ │ ├── orkes-theme.js │ │ │ └── variables.ts │ │ ├── types/ │ │ │ ├── Application.ts │ │ │ ├── CloudTemplateResults.ts │ │ │ ├── CloudTemplateType.ts │ │ │ ├── Crumbs.ts │ │ │ ├── EnvVariables.ts │ │ │ ├── Environment.ts │ │ │ ├── Events.ts │ │ │ ├── Execution.ts │ │ │ ├── FormFieldTypes.ts │ │ │ ├── HumanTaskTypes.ts │ │ │ ├── Integrations.ts │ │ │ ├── Messages.ts │ │ │ ├── MetricsTypes.ts │ │ │ ├── Prompts.ts │ │ │ ├── RemoteServiceTypes.ts │ │ │ ├── Schedulers.ts │ │ │ ├── SchemaDefinition.ts │ │ │ ├── Schemas.ts │ │ │ ├── SchemasAjv.ts │ │ │ ├── Secret.ts │ │ │ ├── ServiceDefinition.ts │ │ │ ├── Tag.ts │ │ │ ├── TaskDefinition.ts │ │ │ ├── TaskExecution.ts │ │ │ ├── TaskLog.ts │ │ │ ├── TaskStatus.ts │ │ │ ├── TaskType.ts │ │ │ ├── TestTaskTypes.ts │ │ │ ├── TimeoutPolicy.ts │ │ │ ├── UpdateTaskStatus.ts │ │ │ ├── User.ts │ │ │ ├── WebhookDefinition.ts │ │ │ ├── WorkflowDef.ts │ │ │ ├── WorkflowExecution.ts │ │ │ ├── common.ts │ │ │ ├── helperTypes.ts │ │ │ ├── index.ts │ │ │ └── svg.d.ts │ │ ├── useArrowNavigation.tsx │ │ └── utils/ │ │ ├── __tests__/ │ │ │ ├── date.test.ts │ │ │ ├── json.test.ts │ │ │ ├── object.test.ts │ │ │ ├── string.test.ts │ │ │ ├── toMaybeQueryString.test.ts │ │ │ ├── typeHelpers.test.ts │ │ │ ├── utils.test.ts │ │ │ └── workflow.test.ts │ │ ├── accessControl.ts │ │ ├── array.ts │ │ ├── checkPathFlag.ts │ │ ├── cloudTemplates.ts │ │ ├── constants/ │ │ │ ├── api.ts │ │ │ ├── common.ts │ │ │ ├── dateTimePicker.ts │ │ │ ├── docLink.ts │ │ │ ├── emailContentTypeSuggestions.ts │ │ │ ├── event.ts │ │ │ ├── httpStatusCode.ts │ │ │ ├── httpSuggestions.ts │ │ │ ├── index.ts │ │ │ ├── jsonSchema.ts │ │ │ ├── regex.ts │ │ │ ├── route.ts │ │ │ ├── switch.ts │ │ │ ├── task.ts │ │ │ ├── webhook.ts │ │ │ ├── workflow.ts │ │ │ └── workflowScheduleExecution.ts │ │ ├── constants.ts │ │ ├── cronHelpers.ts │ │ ├── date.ts │ │ ├── deprecatedRadioFilter.ts │ │ ├── fieldHelpers.tsx │ │ ├── flags.ts │ │ ├── gtag.ts │ │ ├── handleValidChars.ts │ │ ├── helpers.ts │ │ ├── hooks/ │ │ │ ├── index.ts │ │ │ ├── useAutoCompleteInputValidation.ts │ │ │ ├── useBatchedTagsData.ts │ │ │ ├── useConductorProjectBuilder.ts │ │ │ ├── useCustomPagination.ts │ │ │ ├── useEditorForm.ts │ │ │ ├── useEntityAvailableVersions.ts │ │ │ ├── useEventNameSuggestions.ts │ │ │ ├── useGetEntities.ts │ │ │ ├── useGetEnvironmentVariables.ts │ │ │ ├── useGetIntegrations.ts │ │ │ ├── useGetSchedulerDefinitions.ts │ │ │ ├── useGetSchemas.ts │ │ │ ├── useGetSecrets.ts │ │ │ ├── useMCPIntegrations.ts │ │ │ ├── usePushHistory.ts │ │ │ ├── useReplaceHistory.ts │ │ │ ├── useToastMessage.ts │ │ │ ├── useWorkflowNamesAndVersionsQuery.ts │ │ │ └── useXStateEventListener.ts │ │ ├── httpStatus.ts │ │ ├── human.ts │ │ ├── index.ts │ │ ├── json.ts │ │ ├── jsonSchema.ts │ │ ├── localstorage.ts │ │ ├── logger.ts │ │ ├── logrocket.ts │ │ ├── maybeTriggerWorkflow.ts │ │ ├── monacoUtils/ │ │ │ ├── CodeEditorUtils.ts │ │ │ └── promql.ts │ │ ├── monitoring.ts │ │ ├── object.ts │ │ ├── pipe.ts │ │ ├── query.ts │ │ ├── reactHookForm.ts │ │ ├── regex.ts │ │ ├── releaseVersion.ts │ │ ├── remoteServices.ts │ │ ├── roles.ts │ │ ├── strings.ts │ │ ├── task.ts │ │ ├── themeVariables.ts │ │ ├── toMaybeQueryString.ts │ │ ├── tracker.tsx │ │ ├── useGetGroups.ts │ │ ├── useGetUsers.ts │ │ ├── useIntegrationProviders.ts │ │ ├── useInterval.ts │ │ ├── useLazyWorkflowNameAutoComplete.ts │ │ ├── utils.ts │ │ └── workflow.ts │ ├── tsconfig.json │ ├── vite-plugin-csp-nonce.ts │ └── vite.config.ts ├── venv/ │ └── pyvenv.cfg └── workflow-event-listener/ ├── README.md ├── build.gradle └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── netflix/ │ │ └── conductor/ │ │ └── contribs/ │ │ └── listener/ │ │ ├── archive/ │ │ │ ├── ArchivingWithTTLWorkflowStatusListener.java │ │ │ ├── ArchivingWorkflowListenerConfiguration.java │ │ │ ├── ArchivingWorkflowListenerProperties.java │ │ │ ├── ArchivingWorkflowStatusListener.java │ │ │ └── ArchivingWorkflowToS3.java │ │ ├── conductorqueue/ │ │ │ ├── ConductorQueueStatusPublisher.java │ │ │ ├── ConductorQueueStatusPublisherConfiguration.java │ │ │ └── ConductorQueueStatusPublisherProperties.java │ │ ├── kafka/ │ │ │ ├── KafkaWorkflowStatusPublisher.java │ │ │ ├── KafkaWorkflowStatusPublisherConfiguration.java │ │ │ └── KafkaWorkflowStatusPublisherProperties.java │ │ └── statuschange/ │ │ ├── StatusChangeNotification.java │ │ ├── StatusChangePublisher.java │ │ └── StatusChangePublisherConfiguration.java │ └── resources/ │ └── META-INF/ │ └── additional-spring-configuration-metadata.json └── test/ ├── java/ │ └── com/ │ └── netflix/ │ └── conductor/ │ ├── contribs/ │ │ └── listener/ │ │ ├── ArchivingWorkflowStatusListenerTest.java │ │ └── statuschange/ │ │ └── StatusChangePublisherTest.java │ └── test/ │ └── listener/ │ └── WorkflowStatusPublisherIntegrationTest.java └── resources/ └── application-integrationtest.properties