This is an automated email from the ASF dual-hosted git repository.
wenjin272 pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/flink-agents.git
from 66225cd7 [api] Specify model in ChatModelSetup (Java + Python) (#685)
new eac1221f [api][plan][runtime] Cross-language Function/FunctionTool
new 5182f253 [api] Introduce YAML API for declaring agents
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.gitignore | 1 +
docs/yaml-schema.json | 448 ++++++++++++++++
.../pom.xml | 27 +-
python/flink_agents/api/agents/agent.py | 15 +-
python/flink_agents/api/execution_environment.py | 24 +-
python/flink_agents/api/function.py | 109 ++++
.../test_row_schema.py => tools/function_tool.py} | 24 +-
python/flink_agents/api/tools/tool.py | 39 +-
.../tests => flink_agents/api/yaml}/__init__.py | 0
python/flink_agents/api/yaml/aliases.py | 154 ++++++
python/flink_agents/api/yaml/loader.py | 387 ++++++++++++++
python/flink_agents/api/yaml/specs.py | 224 ++++++++
.../api/yaml}/tests/__init__.py | 0
.../api/yaml/tests/fixtures}/__init__.py | 0
.../api/yaml/tests/fixtures/loader_targets.py | 43 +-
.../api/yaml/tests/fixtures/multi_agent.yaml | 11 +
.../api/yaml/tests/fixtures/multi_file_a.yaml | 10 +
.../api/yaml/tests/fixtures/multi_file_b.yaml | 10 +
.../api/yaml/tests/fixtures/single_agent.yaml | 6 +
.../api/yaml/tests/fixtures/with_descriptors.yaml | 14 +
.../api/yaml/tests/fixtures/with_shared.yaml | 20 +
.../api/yaml/tests/fixtures/with_skills.yaml | 12 +
.../tests/fixtures/with_tools_and_prompts.yaml | 12 +
python/flink_agents/api/yaml/tests/test_aliases.py | 141 ++++++
python/flink_agents/api/yaml/tests/test_loader.py | 561 +++++++++++++++++++++
python/flink_agents/api/yaml/tests/test_specs.py | 328 ++++++++++++
.../e2e_tests/e2e_tests_integration/yaml_test.py | 216 ++++++++
.../e2e_tests_integration/yaml_test_actions.py | 156 ++++++
.../yaml_cross_language_actions.py | 54 ++
...anguage_test.py => yaml_cross_language_test.py} | 85 +++-
.../resources/yaml_cross_language_agent.yaml | 48 ++
.../resources/yaml_cross_language_input/input.txt | 2 +
.../e2e_tests/resources/yaml_multi_agent.yaml | 46 ++
.../e2e_tests/resources/yaml_test_agent.yaml | 32 ++
.../e2e_tests/resources/yaml_test_input/input.txt | 2 +
.../resources/yaml_test_math_input/input.txt | 1 +
.../anthropic/tests/test_anthropic_chat_model.py | 4 +-
.../azure/tests/test_azure_openai_chat_model.py | 5 +-
.../openai/tests/test_openai_chat_model.py | 5 +-
.../chat_models/tests/test_ollama_chat_model.py | 5 +-
.../chat_models/tests/test_tongyi_chat_model.py | 5 +-
.../integrations/mcp/tests/test_mcp.py | 27 +-
python/flink_agents/plan/agent_plan.py | 44 +-
python/flink_agents/plan/function.py | 42 +-
python/flink_agents/plan/tests/test_function.py | 35 +-
.../plan/tests/tools/resources/function_tool.json | 12 +-
.../plan/tests/tools/test_function_tool.py | 127 ++++-
python/flink_agents/plan/tools/bash/bash_tool.py | 2 -
python/flink_agents/plan/tools/function_tool.py | 81 ++-
.../runtime/java/java_resource_wrapper.py | 14 +-
.../runtime/local_execution_environment.py | 10 +-
.../runtime/remote_execution_environment.py | 20 +-
python/flink_agents/runtime/resource_cache.py | 4 +
python/flink_agents/runtime/skill/skill_tools.py | 2 -
.../runtime/operator/ActionExecutionOperator.java | 3 +-
.../runtime/operator/PythonBridgeManager.java | 9 +-
.../runtime/python/utils/JavaResourceAdapter.java | 116 ++++-
.../runtime/operator/PythonBridgeManagerTest.java | 3 +-
tools/.rat-excludes | 3 +-
59 files changed, 3647 insertions(+), 193 deletions(-)
create mode 100644 docs/yaml-schema.json
create mode 100644 python/flink_agents/api/function.py
copy python/flink_agents/api/{agents/tests/test_row_schema.py =>
tools/function_tool.py} (66%)
copy python/{_build_backend/tests => flink_agents/api/yaml}/__init__.py (100%)
create mode 100644 python/flink_agents/api/yaml/aliases.py
create mode 100644 python/flink_agents/api/yaml/loader.py
create mode 100644 python/flink_agents/api/yaml/specs.py
copy python/{_build_backend => flink_agents/api/yaml}/tests/__init__.py (100%)
copy python/{_build_backend/tests =>
flink_agents/api/yaml/tests/fixtures}/__init__.py (100%)
copy
e2e-test/flink-agents-end-to-end-tests-resource-cross-language/src/test/resources/mcp_server.py
=> python/flink_agents/api/yaml/tests/fixtures/loader_targets.py (51%)
create mode 100644 python/flink_agents/api/yaml/tests/fixtures/multi_agent.yaml
create mode 100644
python/flink_agents/api/yaml/tests/fixtures/multi_file_a.yaml
create mode 100644
python/flink_agents/api/yaml/tests/fixtures/multi_file_b.yaml
create mode 100644
python/flink_agents/api/yaml/tests/fixtures/single_agent.yaml
create mode 100644
python/flink_agents/api/yaml/tests/fixtures/with_descriptors.yaml
create mode 100644 python/flink_agents/api/yaml/tests/fixtures/with_shared.yaml
create mode 100644 python/flink_agents/api/yaml/tests/fixtures/with_skills.yaml
create mode 100644
python/flink_agents/api/yaml/tests/fixtures/with_tools_and_prompts.yaml
create mode 100644 python/flink_agents/api/yaml/tests/test_aliases.py
create mode 100644 python/flink_agents/api/yaml/tests/test_loader.py
create mode 100644 python/flink_agents/api/yaml/tests/test_specs.py
create mode 100644
python/flink_agents/e2e_tests/e2e_tests_integration/yaml_test.py
create mode 100644
python/flink_agents/e2e_tests/e2e_tests_integration/yaml_test_actions.py
create mode 100644
python/flink_agents/e2e_tests/e2e_tests_resource_cross_language/yaml_cross_language_actions.py
copy
python/flink_agents/e2e_tests/e2e_tests_resource_cross_language/{chat_model_cross_language_test.py
=> yaml_cross_language_test.py} (50%)
create mode 100644
python/flink_agents/e2e_tests/resources/yaml_cross_language_agent.yaml
create mode 100644
python/flink_agents/e2e_tests/resources/yaml_cross_language_input/input.txt
create mode 100644
python/flink_agents/e2e_tests/resources/yaml_multi_agent.yaml
create mode 100644 python/flink_agents/e2e_tests/resources/yaml_test_agent.yaml
create mode 100644
python/flink_agents/e2e_tests/resources/yaml_test_input/input.txt
create mode 100644
python/flink_agents/e2e_tests/resources/yaml_test_math_input/input.txt