API Changes
- Added
spec.when.slack.excludeFiltersto TaskSpawner — exclusion rules that reject Slack events before any other matching. Criteria within a rule are ANDed and any matching rule rejects the event, so a catch-all spawner can be kept out of specific channels (and out of DMs) without converting it to an explicit allowlist. Exclusion wins over thechannelsallowlist and, unlikeexcludePatterns, also applies to slash commands. (#1703, @knechtionscoding) - Add the v1alpha2 TaskPipeline API for ordered multi-stage Task orchestration with explicit matrix fan-out and stage result aggregation. (#1698, @gjkim42)
- Added
pullRequestAuthormatching and aspec.when.githubWebhook.excludeFilterslist to TaskSpawner and SessionSpawner. UnlikeexcludeAuthors, which matches the event sender,pullRequestAuthormatches the user who opened the pull request an event is about, so a spawner can ignore activity on a bot's own pull requests even when a human triggers the event. Exclusion rules AND their criteria, reject an event whichever accepting filter matched, and may omiteventto apply across every subscribed event type; events with no pull request author, such aspushandissues, are unaffected.spec.when.githubWebhook.filtersis now limited to 50 entries. (#1708, @knechtionscoding)
Features
- Kelos Console now offers opt-in browser alerts for input requests and completed or failed work in the connected Session while the console tab remains open. (#1744, @gjkim42)
- The console's Prompt history now lets you jump directly to a message, loading earlier conversation history as needed. (#1743, @gjkim42)
- Browse retained Session prompts with Up/Down in
kelos session connect, and copy or reuse them through the console's Prompts dialog. Moving past the latest prompt restores the unsent draft; Alt+Up edits a pending message. Following Task logs tolerates a temporarily unavailable Pod log endpoint during startup. (#1739, @gjkim42) - The Console provides a Terminal tab alongside Conversation and Changes, preserving the shell while switching views. Mobile users switch views with a compact picker in the Session header. Session shells use Bash when available for command and filename tab completion, with a Reconnect action after shell exit or disconnection. (#1737, @gjkim42)
- The Console now provides a Terminal button for Ready Sessions, allowing users to open an interactive shell in the agent container with keyboard input and terminal resizing. (#1736, @gjkim42)
- Session attachments support files up to 100 MiB each and up to 1 GiB of total attachment storage per Session. Web uploads allow up to 15 minutes to receive each file, and downloads stream without buffering the whole attachment in console memory. (#1735, @gjkim42)
- The
kelos_task_created_total,kelos_task_completed_totalandkelos_task_duration_secondsmetrics now carry aspawnerlabel identifying the TaskSpawner that created the Task, matching the existing cost and token metrics, so per-spawner success rate and latency can be queried. Tasks not created by a spawner report an emptyspawnervalue. Note that adding this label changes the series identity of these three metrics, so any queries, dashboards or alerting rules selecting on them may need updating. Additionally, Tasks completed by a WorkerPool are now counted inkelos_task_completed_totalandkelos_task_duration_seconds; previously they were omitted from both entirely. (#1690, @knechtionscoding)
Bug Fixes
- Find previous prompts through the labeled Prompt history action inside the console composer, beside the attachment and send controls. The text field remains full width, and the history label stays visible on phones. (#1742, @gjkim42)