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

stacklok / toolhive-studio / 25043900771
70%

Build:
DEFAULT BRANCH: main
Ran 28 Apr 2026 09:06AM UTC
Jobs 1
Files 490
Run time 1min
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

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%)

284 of 530 new or added lines in 35 files covered. (53.58%)

5 existing lines in 3 files now uncovered.

6318 of 9536 relevant lines covered (66.25%)

125.69 hits per line

Uncovered Changes

Lines Coverage ∆ File
78
0.0
main/src/chat/agents/builtin-agent-tools/skills.ts
49
0.0
renderer/src/features/agents/components/agent-form-page.tsx
24
0.0
renderer/src/routes/playground.agents_.$agentId.tsx
18
0.0
renderer/src/routes/playground.agents.tsx
14
0.0
renderer/src/routes/playground.agents_.$agentId_.edit.tsx
10
85.29
main/src/chat/agents/registry.ts
10
0.0
main/src/ipc-handlers/chat/agents.ts
8
0.0
0.0% renderer/src/route-tree.gen.ts
7
0.0
0.0% renderer/src/features/chat/components/model-selector.tsx
6
27.78
27.78% main/src/chat/streaming.ts
4
87.1
renderer/src/features/agents/components/agent-detail-page.tsx
4
86.67
renderer/src/features/agents/components/agents-page.tsx
4
78.95
renderer/src/features/chat/components/model-picker.tsx
2
0.0
renderer/src/routes/playground.agents_.new.tsx
1
1.59
-0.03% main/src/app-events/when-ready.ts
1
83.33
main/src/chat/agents/builtin-agent-tools/index.ts
1
96.55
renderer/src/features/chat/components/agent-selector.tsx
1
0.0
0.0% renderer/src/features/chat/components/chat-input-prompt.tsx
1
0.0
0.0% renderer/src/features/chat/components/chat-message.tsx
1
97.06
renderer/src/features/chat/components/tool-results/skill-build-result-card.tsx
1
0.0
0.0% renderer/src/features/skills/components/build-detail-page.tsx
1
68.42
0.0% renderer/src/features/skills/components/skill-detail-layout.tsx

Coverage Regressions

Lines Coverage ∆ File
2
0.0
0.0% renderer/src/features/chat/components/model-selector.tsx
2
0.0
0.0% renderer/src/route-tree.gen.ts
1
0.0
0.0% renderer/src/features/chat/components/chat-message.tsx
Jobs
ID Job ID Ran Files Coverage
1 25043900771.1 28 Apr 2026 09:06AM UTC 490
66.25
GitHub Action Run
Source Files on build 25043900771
  • 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 Repo
  • Github Actions Build #25043900771
  • 18015349 on github
  • Prev Build on main (#25042344164)
  • Next Build on main (#25044124219)
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