mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-08-17 21:25:49 +02:00
- Implement agent-acp step type for spawning external ACP agent subprocesses via Agent Communication Protocol - Add ACPExecutor with validation, field rendering, and subprocess lifecycle management - Integrate agent-acp field rendering in StepDispatcher (batch and sequential modes) - Add run_agent() utility function for workflows to execute ACP agents from steps and JS context - Add osmedeus agent CLI command for interactive agent execution with --agent, --cwd, --timeout, --stdin, and --list flags - Add /osm/api/agent/chat/completions REST endpoint with OpenAI-compatible chat format and concurrency control - Support agent selection via: built-in names (claude-code, codex, opencode, gemini) or custom acp_config.command - Add step-level configuration: cwd, allowed_paths, acp_config (command, args, env, write_enabled) - Add comprehensive E2E tests for agent-acp workflows (basic, minimal, config, codex variants) - Add test workflows in test/testdata/workflows/agent-and-llm/ - Update AGENTS.md documentation with agent-acp examples, CLI usage, and API endpoints
32 lines
782 B
Go
32 lines
782 B
Go
package cli
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestResolveAgentMessage_Positional(t *testing.T) {
|
|
msg, err := resolveAgentMessage([]string{"hello", "world"})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, "hello world", msg)
|
|
}
|
|
|
|
func TestResolveAgentMessage_SingleArg(t *testing.T) {
|
|
msg, err := resolveAgentMessage([]string{"test message"})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, "test message", msg)
|
|
}
|
|
|
|
func TestResolveAgentMessage_NoArgs(t *testing.T) {
|
|
_, err := resolveAgentMessage(nil)
|
|
assert.Error(t, err)
|
|
assert.Contains(t, err.Error(), "no message provided")
|
|
}
|
|
|
|
func TestResolveAgentMessage_EmptyArgs(t *testing.T) {
|
|
_, err := resolveAgentMessage([]string{})
|
|
assert.Error(t, err)
|
|
assert.Contains(t, err.Error(), "no message provided")
|
|
}
|