Commit 084d205
fix: Update workspace dependency versions to 0.4.0-beta (#100)
* feat: Add builtin command handlers and stale message filtering
- Add `agent: builtin` support for trigger command bindings
- Use built-in interactive menus instead of LLM routing
- Supports /help, /agent, /fleet with platform-specific UI
- Add stale message filtering for webhook handlers
- Messages older than 60 seconds are silently dropped
- Prevents processing queued messages on daemon restart
- Configurable via `max_message_age_secs` in handler config
- Add debug logging to Google LLM provider for troubleshooting
- Add comprehensive user guide: docs/guides/builtin-commands.md
- Update trigger examples and reference documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: Enable cargo install aofctl via crates.io publishing
- Update workspace Cargo.toml with proper metadata
- Author: Gourav Shah <gjs@opsflow.sh>
- Homepage: https://aof.sh
- Documentation: https://docs.aof.sh
- Repository: https://github.com/agenticdevops/aof
- Keywords and categories for discoverability
- Add version requirements to workspace dependencies for crates.io
- Add required fields to all publishable crates
- Add publish-crates.sh script for manual publishing
- Add publish-crates job to release.yml workflow
- Publishes in dependency order after GitHub release
- Requires CARGO_REGISTRY_TOKEN secret
To publish manually:
cargo login
./scripts/publish-crates.sh --publish
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore: Release v0.3.2-beta
Changes in this release:
- Built-in command handlers (`agent: builtin`)
- Stale message filtering for webhooks
- cargo install aofctl support
- Improved daemon startup output
- Single-response GitHub PR reviews
- Improved library:// URI resolution
- New Built-in Commands Guide
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: Add Jira platform support to daemon serve command
- Add JiraPlatformConfig struct and registration logic in serve.rs
- Export JiraPlatform and JiraConfig from aof-triggers lib
- Support both direct secret and HMAC-SHA256 signature verification
- Handle sha256= prefix in webhook signatures
Documentation updates:
- Add Jira platform section to daemon-config.md reference
- Update jira-integration.md with correct DaemonConfig format
- Add webhook payload templates for Jira Automation rules
- Document both Automation Rules and System Webhooks setup options
- Add payload templates for: issue created/updated, comment, worklog, sprint events
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: Make Jira webhook payload fields optional for Automation compatibility
- Make id fields optional in JiraIssueType, JiraProject, JiraStatus,
JiraPriority, and JiraStatusCategory structs
- Make self_url optional in JiraIssue and JiraComment structs
- Make created field optional in JiraComment
- Add debug logging for raw webhook payload
- Support both direct secret match and HMAC signature verification
These changes allow AOF to accept simpler webhook payloads from Jira
Automation rules, which don't include all the fields that Jira's
built-in system webhooks provide.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: Update Jira webhook payload templates with minimal examples and curl testing
- Add minimal payload templates for quick testing
- Add full payload templates with all fields for production use
- Add curl testing section for debugging webhooks without Jira
- Simplify field requirements documentation
- Document signature header for Jira Automation rules
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: Make Jira webhook timestamp field optional
Jira Automation doesn't substitute smart values during validation
when no work item key is provided, resulting in empty timestamp values.
Made timestamp optional and default to current time when not provided.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: Make JiraProject.name field optional
Jira Automation smart values may not populate all fields during
webhook validation. Made project name optional to handle minimal payloads.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: Make JiraIssue.id field optional
Use issue key as fallback when id is not provided in payload.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* wip: Add GitHub platform support and PR automation flows
- Add GitHub platform configuration to daemon serve
- Add event-based command matching for GitHub webhooks
- Add PR review agent, flows, and trigger configs
- Add GitHub automation documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore: Quick wins - update ROADMAP, fix GitHub test, add improvement plan
- Update ROADMAP.md to reflect current v0.3.2-beta state
- Mark GitHub, Jira, Telegram, WhatsApp, PagerDuty, Opsgenie as complete
- Fix GitHub platform test (channel_id includes PR number)
- Add docs/internal/improvement-plan.md with strategic roadmap
- Closed stale GitHub issues #78, #79, #80, #81, #82, #98
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: Expand MCP Server Catalog with Kubernetes, observability, and cloud servers
Added comprehensive documentation for:
- Kubernetes MCP server (kubectl, pods, logs, describe)
- Prometheus MCP server (PromQL, alerts, rules)
- Grafana MCP server (dashboards, annotations, data sources)
- Datadog MCP server (metrics, monitors, logs)
- AWS MCP server (EC2, S3, Lambda, CloudWatch)
Updated index with:
- Organized catalog by category
- Configuration patterns (agent-level, daemon-level)
- Security best practices
- Custom MCP server template
- Troubleshooting guide
Addresses #71 MCP Server Catalog
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: Add Structured I/O (Output Schemas) support
Implements structured output validation for agents using JSON Schema:
- Add OutputSchemaSpec type for YAML config parsing
- Add output_schema field to AgentConfig, AgentSpec, FlatAgentConfig
- Add conversion from OutputSchemaSpec to schema::OutputSchema for runtime
- Update all AgentConfig initializations across crates
- Add comprehensive documentation in docs/reference/structured-io.md
Features:
- JSON Schema-based output validation (type, properties, required, enum)
- Validation modes: strict (default), lenient, coerce
- Error handling: fail (default), retry, passthrough
- Pre-built schemas in schema::schemas module
Closes #74, #75, #76
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: Interactive TUI mode with session persistence
Major enhancements to aofctl agent experience:
## Interactive TUI Mode
- Launch with `aofctl run agent <config.yaml>` (no --input flag)
- Chat panel with syntax-highlighted conversation history
- Activity log showing real-time agent events (thinking, tool use, LLM calls)
- Context gauge displaying token usage and execution time
- Help overlay with keyboard shortcuts (press ?)
- LazyGit-inspired styling with clear visual hierarchy
## Agent Cancellation
- ESC key to stop running agents gracefully
- Clean abort of LLM calls and tool executions
- Status indicator shows "Cancelling..." during abort
## Session Persistence
- Conversations saved automatically to ~/.aof/sessions/
- JSON format with message history, tokens, activity logs
## Session Resume
- `--resume` flag to continue latest session
- `--session <id>` flag for specific session
- Restored sessions maintain previous context
## Session Management
- `aofctl get sessions` - List all saved sessions
- `aofctl get sessions <agent>` - Filter by agent
- Supports JSON/YAML output formats
## Activity Event System
- New ActivityEvent enum in aof-core
- Real-time tracking: Thinking, Analyzing, LlmCall, ToolUse, ToolComplete
- ActivitySender/Receiver for runtime-TUI communication
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: Update workspace dependency versions to 0.4.0-beta
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Gopal <gopal@Gopals-MacBook-Air.local>1 parent cd946fc commit 084d205
1 file changed
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| |||
0 commit comments