mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-06-11 15:06:54 +08:00
feat(agent-core): add ReActAgentContext value holder
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.yomahub.liteflow.agent.component;
|
||||
|
||||
import com.yomahub.liteflow.slot.Slot;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ReActAgentContext {
|
||||
private final Slot slot;
|
||||
private final String sessionId;
|
||||
private final Path workspaceDir;
|
||||
|
||||
public ReActAgentContext(Slot slot, String sessionId, Path workspaceDir) {
|
||||
this.slot = Objects.requireNonNull(slot, "slot");
|
||||
this.sessionId = Objects.requireNonNull(sessionId, "sessionId");
|
||||
this.workspaceDir = Objects.requireNonNull(workspaceDir, "workspaceDir");
|
||||
}
|
||||
|
||||
public Slot getSlot() { return slot; }
|
||||
public String getSessionId() { return sessionId; }
|
||||
public Path getWorkspaceDir() { return workspaceDir; }
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.yomahub.liteflow.agent.component;
|
||||
|
||||
import com.yomahub.liteflow.slot.Slot;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.nio.file.Path;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class ReActAgentContextTest {
|
||||
|
||||
@Test
|
||||
void exposes_slot_sessionid_workspace() {
|
||||
Slot slot = Mockito.mock(Slot.class);
|
||||
Path ws = Path.of("/tmp/ws");
|
||||
ReActAgentContext ctx = new ReActAgentContext(slot, "sess-1", ws);
|
||||
|
||||
assertSame(slot, ctx.getSlot());
|
||||
assertEquals("sess-1", ctx.getSessionId());
|
||||
assertEquals(ws, ctx.getWorkspaceDir());
|
||||
}
|
||||
|
||||
@Test
|
||||
void rejects_null_required_fields() {
|
||||
Slot slot = Mockito.mock(Slot.class);
|
||||
assertThrows(NullPointerException.class,
|
||||
() -> new ReActAgentContext(null, "s", Path.of("/t")));
|
||||
assertThrows(NullPointerException.class,
|
||||
() -> new ReActAgentContext(slot, null, Path.of("/t")));
|
||||
assertThrows(NullPointerException.class,
|
||||
() -> new ReActAgentContext(slot, "s", null));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user