mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-09-23 10:04:58 +02:00
- 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
34 lines
938 B
YAML
34 lines
938 B
YAML
kind: module
|
|
name: test-agent-custom-tools
|
|
description: Test agent step with custom tool handlers and template rendering
|
|
tags: test,agent
|
|
|
|
params:
|
|
- name: target
|
|
required: true
|
|
default: example.com
|
|
|
|
steps:
|
|
- name: agent-custom-handler
|
|
type: agent
|
|
query: "Use the classify tool to classify the target '{{Target}}' and report the result."
|
|
max_iterations: 3
|
|
agent_tools:
|
|
- name: classify
|
|
description: "Classify a string as domain, ip, or unknown"
|
|
parameters:
|
|
type: object
|
|
properties:
|
|
input:
|
|
type: string
|
|
description: "The string to classify"
|
|
required:
|
|
- input
|
|
handler: 'contains(args.input, ".") ? "domain" : "unknown"'
|
|
exports:
|
|
classification: "{{agent_content}}"
|
|
|
|
- name: verify-custom-tool
|
|
type: bash
|
|
command: echo "Classification result for {{Target}} is - {{classification}}"
|