Files
freemo e03fd2956d
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 18s
CI / lint (pull_request) Failing after 18s
CI / helm (pull_request) Successful in 24s
CI / typecheck (pull_request) Failing after 52s
CI / security (pull_request) Failing after 53s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / unit_tests (pull_request) Failing after 1m48s
CI / docker (pull_request) Has been skipped
CI / quality (pull_request) Successful in 3m42s
CI / e2e_tests (pull_request) Failing after 13m56s
CI / integration_tests (pull_request) Failing after 21m12s
CI / status-check (pull_request) Failing after 2s
test(actors): fix actor examples missing provider fields and incorrect name
Add missing provider: field to all actor examples in examples/actors/.
Fix llm_with_tools.yaml actor name from assistants/file_analyzer to
local/assistants-file_analyzer (custom actors must use local/ namespace
and cannot contain two slashes).

Add validate-all command to helper_actor_examples.py that uses ActorLoader
to validate all examples via business logic checks. Add integration test
Validate All Actor Examples Import Without Errors to actor_examples.robot
that confirms every example in examples/actors/ can be imported without
errors.

ISSUES CLOSED: #1504
2026-04-02 23:31:25 +00:00

69 lines
1.7 KiB
YAML

# LLM Actor with Tools
# Demonstrates an LLM actor with access to multiple tools
name: local/assistants-file_analyzer
type: llm
description: Analyzes files and generates reports using file system tools
version: "1.0"
# LLM configuration
provider: openai
model: gpt-4-turbo
system_prompt: |
You are a file analysis assistant. Use the available tools to:
- Read and analyze file contents
- Count lines, words, and characters
- Search for patterns in files
- Generate summary reports
Always explain what you're doing before using a tool.
# Tools (mix of references and inline definitions)
tools:
# Reference to existing tool
- files/read_file
- files/list_directory
# Inline tool definition
- name: utils/count_lines
description: Count the number of lines in a file
parameters:
- name: file_path
type: str
description: Path to the file to count lines in
required: true
code: |
def count_lines(file_path: str) -> int:
"""Count lines in a file."""
with open(file_path, 'r', encoding='utf-8') as f:
return len(f.readlines())
- name: utils/word_count
description: Count words in a file
parameters:
- name: file_path
type: str
description: Path to the file
required: true
code: |
def word_count(file_path: str) -> int:
"""Count words in a file."""
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
return len(content.split())
# Context settings
context_view: executor
memory:
enabled: true
max_messages: 30
max_tokens: 6000
context:
max_context_tokens: 16000
# Environment variables
env_vars:
WORK_DIR: ${HOME}/workspace
LOG_LEVEL: info