• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive-studio / 25043900771 / 1
70%
main: 70%

Build:
DEFAULT BRANCH: main
Ran 28 Apr 2026 09:06AM UTC
Files 490
Run time 12s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Apr 2026 09:03AM UTC coverage: 66.254% (-0.3%) from 66.508%
25043900771.1

push

github

web-flow
feat(playground): agent configuration and Skills Builder agent (#2101)

* feat(playground): add agent configuration backend

Replaces the hardcoded ToolHive Assistant prompt with a per-thread agent resolved through an ai-sdk ToolLoopAgent. Agents are persisted in a new 'agents' table (migration 005) with a discriminated 'kind' ('builtin' | 'custom'), seed three built-ins on first launch (ToolHive Assistant, Skills Builder, Planner), and expose a small CRUD IPC surface (list, get, create, update, duplicate, delete) via 'preload/src/api/chat.ts'.

Threads now carry an optional 'agent_id' (migration + readers + writers) so each chat can pick its own agent and fall back to ToolHive Assistant when unset. Streaming ('main/src/chat/streaming.ts') looks up the thread's agent, composes its instructions as the system prompt, and binds any built-in tool bundle declared on the agent ('builtinToolsKey'). The bundle factory ('main/src/chat/agents/builtin-agent-tools') currently exposes 'skills' (write_skill_files + build_skill) and a placeholder 'planner'.

Tests: new registry CRUD coverage ('main/src/chat/agents/__tests__/registry.test.ts'), new streaming test for agent resolution + system prompt composition, updated IPC index + when-ready tests.

* refactor(chat): extract reusable ModelPicker from ModelSelector

Splits the model dropdown into a presentational 'ModelPicker' ('renderer/src/features/chat/components/model-picker.tsx') and keeps 'ModelSelector' as a thin wrapper that owns the chat-settings-specific glue (provider credential lookup, onOpenSettings wiring). The picker now accepts a plain 'value / onChange / onClear / onOpenSettings' interface so it can be reused outside the chat (agent form, future screens) without duplicating the grouped-by-provider layout and search filter.

Behavior unchanged: same grouping, same filter, same empty state, same provider credential gating.

* feat(playground): add agents management pages

Adds a full agents feature und... (continued)

4152 of 6825 branches covered (60.84%)

6318 of 9536 relevant lines covered (66.25%)

125.69 hits per line

Source Files on job 25043900771.1
  • Tree
  • List 490
  • Changed 20
  • Source Changed 18
  • Coverage Changed 20
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 25043900771
  • 18015349 on github
  • Prev Job for on main (#25042344164.1)
  • Next Job for on main (#25044124219.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc