mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-09-27 12:04:54 +02:00
feat: implement agent executor with tool calling, sub-agents, and comprehensive test suite
- Add AgentExecutor implementing LLM-based agentic loop with tool calling, max iterations, and stop conditions - Introduce agent preset tools (bash, file_exists, http_get, run_module, etc.) with extensible registry pattern - Add sub-agent spawning capability via spawn_agent tool call with recursive depth limits and validation - Implement ToolExecutor for custom tool execution with template rendering and error handling - Add agent session persistence and memory management with sliding window configuration - Create comprehensive E2E test suite covering 15+ agent workflow scenarios (minimal, custom tools, planning, multi-goal, structured output, tracing hooks, file tools, orchestration, Python tools, sub-agents, nested sub-agents, and validation) - Add agent-and-llm test data directory with 17 YAML workflow fixtures - Update integration tests to include agent workflow directories - Add AgentTool and AgentConfig types with validation for duplicate names and unknown presets - Implement LLM streaming test utilities - Update documentation (CLAUDE.md, HACKING.md, README.md) with agent features and CLI examples
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
kind: module
|
||||
name: test-agent-python-tools
|
||||
description: Test agent with exec_python and exec_python_file preset tools
|
||||
tags: test,agent,python
|
||||
|
||||
params:
|
||||
- name: target
|
||||
required: true
|
||||
default: example.com
|
||||
|
||||
steps:
|
||||
- name: agent-python
|
||||
type: agent
|
||||
log: "Running Python tools agent for {{Target}}"
|
||||
query: "Use Python to parse and analyze data about {{Target}}. Write a small Python script to check if the target is a valid domain."
|
||||
system_prompt: "You are a Python-powered analyst. Use exec_python for inline code and exec_python_file for scripts."
|
||||
max_iterations: 5
|
||||
agent_tools:
|
||||
- preset: exec_python
|
||||
- preset: exec_python_file
|
||||
- preset: save_content
|
||||
- preset: bash
|
||||
exports:
|
||||
python_result: "{{agent_content}}"
|
||||
|
||||
- name: verify-python-tools
|
||||
type: bash
|
||||
log: "Verifying Python tools agent output"
|
||||
command: echo "Python tools result - {{python_result}}"
|
||||
Reference in New Issue
Block a user