weiqingy opened a new pull request, #881:
URL: https://github.com/apache/flink-agents/pull/881

   Linked issue: #829
   
   ### Purpose of change
   
   This is the first of two PRs retiring the Python in-process local execution 
path (`local_runner` / `local_execution_environment`) in favor of validating 
agent logic on Flink's MiniCluster, per #829.
   
   This PR is purely additive. Several behaviors are currently exercised only 
through the local path (via its `from_list` / `to_list` / 
`get_tool_request_events` test API); before the local path can be removed, that 
coverage has to exist on the remote (real-Flink) path. This PR backfills it, so 
the follow-up deletion PR removes the local path without losing any coverage.
   
   New remote (MiniCluster) tests added:
   
   - Synchronous `durable_execute` exception propagation and keyword-argument 
calls — the existing remote durable-execute tests only covered the 
async-exception and positional-argument paths.
   - Built-in `chat_model_action` + `tool_call_action` content and tool 
binding, driven by a deterministic mock chat model (the mock stubs only LLM 
inference, so the built-in actions remain the code under test).
   - `get_resource(CHAT_MODEL)` inside an action, including custom 
`ResourceDescriptor` field pass-through.
   - MCP tool invocation and prompt retrieval, invoked directly via 
`get_resource(...).call(...)` with no LLM — mirroring the existing Java 
`MCPCrossLanguageAgent` pattern and gated only on the self-started MCP server. 
This is the first remote MCP coverage in the repo.
   - The `apply(<unknown-name>)` → `ValueError` guard on the remote builder 
(unit test; the guard fires before a cluster starts).
   - Short-term-memory workflow semantics: same-key `visit_count` accumulation 
across records, and auto-generated key for a record with no key.
   - Chat model coverage for the non-Ollama providers (Tongyi / OpenAI / 
AzureOpenAI) on the remote path, preserving the original per-provider 
credential gating.
   
   ### Tests
   
   This PR is entirely tests. Verified on a Flink MiniCluster: one end-to-end 
session runs 11 passed, 3 skipped (the skips are the credential-gated provider 
cases). The deterministic tests (durable-execute, built-in action, MCP, 
workflow memory) run without any external service; the MCP test self-starts the 
MCP server. The `apply`-guard unit test runs without a cluster.
   
   ### API
   
   No public API changes. Test-only.
   
   ### Documentation
   
   - [ ] `doc-needed`
   - [x] `doc-not-needed`
   - [ ] `doc-included`
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to