This is an automated email from the ASF dual-hosted git repository. xtsong pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/flink-agents.git
commit 07da22e54ae4cbd069082be1d802235e1cc82151 Author: WenjinXie <[email protected]> AuthorDate: Mon Nov 17 19:14:00 2025 +0800 fixup! [api][runtime][python] Introduce sensory memory in python. fix python comments. --- python/flink_agents/api/memory_reference.py | 10 +++++----- python/flink_agents/api/runner_context.py | 4 ++++ python/flink_agents/runtime/local_runner.py | 2 +- python/flink_agents/runtime/tests/test_memory_reference.py | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/python/flink_agents/api/memory_reference.py b/python/flink_agents/api/memory_reference.py index 952f7b5..fd520c3 100644 --- a/python/flink_agents/api/memory_reference.py +++ b/python/flink_agents/api/memory_reference.py @@ -22,7 +22,7 @@ from typing import TYPE_CHECKING, Any from pydantic import BaseModel, ConfigDict if TYPE_CHECKING: - from flink_agents.api.runner_context import RunnerContext + from flink_agents.api.memory_object import MemoryObject class MemoryRef(BaseModel): @@ -48,17 +48,17 @@ class MemoryRef(BaseModel): """ return MemoryRef(path=path) - def resolve(self, ctx: RunnerContext) -> Any: + def resolve(self, memory: MemoryObject) -> Any: """Resolve the reference to get the actual data. Parameters ---------- - ctx: RunnerContext - The current execution context, used to access Short-Term Memory. + memory: MemoryObject + The memory object this ref points to. Returns: ------- Any The deserialized, original data object. """ - return ctx.short_term_memory.get(self) + return memory.get(self) diff --git a/python/flink_agents/api/runner_context.py b/python/flink_agents/api/runner_context.py index 73dcbe4..8f3f7a7 100644 --- a/python/flink_agents/api/runner_context.py +++ b/python/flink_agents/api/runner_context.py @@ -86,6 +86,10 @@ class RunnerContext(ABC): def sensory_memory(self) -> "MemoryObject": """Get the sensory memory. + Sensory memory is similar to short-term memory, but will be auto cleared + after agent run finished. User could use it to store data that does not need + to be shared across agent runs. + Returns: ------- MemoryObject diff --git a/python/flink_agents/runtime/local_runner.py b/python/flink_agents/runtime/local_runner.py index d600f52..9109191 100644 --- a/python/flink_agents/runtime/local_runner.py +++ b/python/flink_agents/runtime/local_runner.py @@ -131,7 +131,7 @@ class LocalRunnerContext(RunnerContext): @property @override def sensory_memory(self) -> MemoryObject: - """Get the short-term memory object associated with this context. + """Get the sensory memory object associated with this context. Returns: ------- diff --git a/python/flink_agents/runtime/tests/test_memory_reference.py b/python/flink_agents/runtime/tests/test_memory_reference.py index d6f157b..7684565 100644 --- a/python/flink_agents/runtime/tests/test_memory_reference.py +++ b/python/flink_agents/runtime/tests/test_memory_reference.py @@ -95,7 +95,7 @@ def test_memory_ref_resolve() -> None: # noqa: D103 for path, value in test_data.items(): ref = mem.set(path, value) - resolved_value = ref.resolve(ctx) + resolved_value = ref.resolve(ctx.short_term_memory) assert resolved_value == value
