{
    "actions": {
        "first_action": {
            "name": "first_action",
            "exec": {
                "func_type": "PythonFunction",
                "module": "flink_agents.plan.tests.test_agent_plan",
                "qualname": "MyAgent.first_action"
            },
            "listen_event_types": [
                "_input_event"
            ],
            "config": null
        },
        "second_action": {
            "name": "second_action",
            "exec": {
                "func_type": "PythonFunction",
                "module": "flink_agents.plan.tests.test_agent_plan",
                "qualname": "MyAgent.second_action"
            },
            "listen_event_types": [
                "_input_event",
                "_my_event"
            ],
            "config": null
        },
        "chat_model_action": {
            "name": "chat_model_action",
            "exec": {
                "func_type": "PythonFunction",
                "module": "flink_agents.plan.actions.chat_model_action",
                "qualname": "process_chat_request_or_tool_response"
            },
            "listen_event_types": [
                "_chat_request_event",
                "_tool_response_event"
            ],
            "config": null
        },
        "tool_call_action": {
            "name": "tool_call_action",
            "exec": {
                "func_type": "PythonFunction",
                "module": "flink_agents.plan.actions.tool_call_action",
                "qualname": "process_tool_request"
            },
            "listen_event_types": [
                "_tool_request_event"
            ],
            "config": null
        },
        "context_retrieval_action": {
            "name": "context_retrieval_action",
            "exec": {
                "func_type": "PythonFunction",
                "module": "flink_agents.plan.actions.context_retrieval_action",
                "qualname": "process_context_retrieval_request"
            },
            "listen_event_types": [
                "_context_retrieval_request_event"
            ],
            "config": null
        }
    },
    "actions_by_event": {
        "_input_event": [
            "first_action",
            "second_action"
        ],
        "_my_event": [
            "second_action"
        ],
        "_chat_request_event": [
            "chat_model_action"
        ],
        "_tool_response_event": [
            "chat_model_action"
        ],
        "_tool_request_event": [
            "tool_call_action"
        ],
        "_context_retrieval_request_event": [
            "context_retrieval_action"
        ]
    },
    "resource_providers": {
        "chat_model": {
            "mock": {
                "name": "mock",
                "type": "chat_model",
                "descriptor": {
                    "target_module": "flink_agents.plan.tests.test_agent_plan",
                    "target_clazz": "MockChatModelImpl",
                    "arguments": {
                        "host": "8.8.8.8",
                        "desc": "mock resource just for testing.",
                        "connection": "mock",
                        "model": "mock-model"
                    }
                },
                "__resource_provider_type__": "PythonResourceProvider"
            }
        },
        "embedding_model": {
            "mock_embedding": {
                "name": "mock_embedding",
                "type": "embedding_model",
                "descriptor": {
                    "target_module": "flink_agents.plan.tests.test_agent_plan",
                    "target_clazz": "MockEmbeddingModelSetup",
                    "arguments": {
                        "model": "test-model",
                        "connection": "mock_embedding_conn"
                    }
                },
                "__resource_provider_type__": "PythonResourceProvider"
            }
        },
        "embedding_model_connection": {
            "mock_embedding_conn": {
                "name": "mock_embedding_conn",
                "type": "embedding_model_connection",
                "descriptor": {
                    "target_module": "flink_agents.plan.tests.test_agent_plan",
                    "target_clazz": "MockEmbeddingModelConnection",
                    "arguments": {
                        "api_key": "mock-api-key"
                    }
                },
                "__resource_provider_type__": "PythonResourceProvider"
            }
        },
        "vector_store": {
            "mock_vector_store": {
                "name": "mock_vector_store",
                "type": "vector_store",
                "descriptor": {
                    "target_module": "flink_agents.plan.tests.test_agent_plan",
                    "target_clazz": "MockVectorStore",
                    "arguments": {
                        "embedding_model": "mock_embedding",
                        "host": "localhost",
                        "port": 8000,
                        "collection_name": "test_collection"
                    }
                },
                "__resource_provider_type__": "PythonResourceProvider"
            }
        }
    },
    "config": {
        "conf_data": {
            "mock.key": "mock.value"
        }
    }
}
