groove-dev 0.25.6 → 0.25.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>Groove GUI</title>
8
- <script type="module" crossorigin src="/assets/index-DlWsuLvF.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DVW2lYyr.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-C0HXlhrU.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/reactflow-BQPfi37R.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/codemirror-BBL3i_JW.js">
@@ -73,7 +73,7 @@ const AgentRow = memo(function AgentRow({ agent, isRotating }) {
73
73
 
74
74
  {/* Full-width context bar with threshold marker */}
75
75
  <div className="flex items-center gap-2">
76
- <div className="relative flex-1 h-[3px] bg-surface-0 rounded-full overflow-visible">
76
+ <div className="relative flex-1 h-[3px] bg-surface-4 rounded-full overflow-visible">
77
77
  <div
78
78
  className="absolute inset-y-0 left-0 rounded-full transition-all duration-700"
79
79
  style={{
@@ -36,7 +36,7 @@ function SavingsBar({ label, value, total, color }) {
36
36
  <span className="text-text-2">{label}</span>
37
37
  <span className="text-text-1 tabular-nums">{fmtNum(value)}</span>
38
38
  </div>
39
- <div className="h-[2px] bg-surface-0 rounded-full overflow-hidden">
39
+ <div className="h-[2px] bg-surface-4 rounded-full overflow-hidden">
40
40
  <div
41
41
  className="h-full rounded-full transition-all duration-500"
42
42
  style={{ width: `${Math.min(pct, 100)}%`, background: color }}
@@ -34,7 +34,7 @@ const RoutingChart = memo(function RoutingChart({ routing, agentBreakdown }) {
34
34
  <span className="text-2xs font-mono text-text-4 ml-auto tabular-nums">{fmtNum(total)} decisions</span>
35
35
  </div>
36
36
  {/* Stacked horizontal bar */}
37
- <div className="h-[6px] bg-surface-0 rounded-full overflow-hidden flex">
37
+ <div className="h-[6px] bg-surface-4 rounded-full overflow-hidden flex">
38
38
  {tiers.map((tier) => {
39
39
  const count = byTier[tier] || 0;
40
40
  if (count === 0) return null;
@@ -86,7 +86,7 @@ const RoutingChart = memo(function RoutingChart({ routing, agentBreakdown }) {
86
86
  <span className="text-2xs font-mono text-text-3 tabular-nums">{usage.agents} agent{usage.agents !== 1 ? 's' : ''}</span>
87
87
  <span className="text-xs font-mono text-text-1 tabular-nums">{fmtNum(usage.tokens)}</span>
88
88
  </div>
89
- <div className="h-[3px] bg-surface-0 rounded-full overflow-hidden">
89
+ <div className="h-[3px] bg-surface-4 rounded-full overflow-hidden">
90
90
  <div
91
91
  className="h-full rounded-full transition-all duration-500"
92
92
  style={{ width: `${Math.max(barPct, 2)}%`, background: HEX.accent }}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groove-dev",
3
- "version": "0.25.6",
3
+ "version": "0.25.8",
4
4
  "description": "Open-source agent orchestration layer — the AI company OS. MCP integrations (Slack, Gmail, Stripe, 15+), agent scheduling (cron), business roles (CMO, CFO, EA). GUI dashboard, multi-agent coordination, zero cold-start, infinite sessions. Works with Claude Code, Codex, Gemini CLI, Ollama.",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",
@@ -250,6 +250,20 @@ export class ProcessManager {
250
250
  spawnConfig.prompt = `You are a ${agent.role} agent. No task has been assigned yet. Introduce yourself briefly and ask the user what they would like you to work on. Stay focused — do not analyze the codebase until given a task.`;
251
251
  }
252
252
 
253
+ // Inject skill content into the prompt
254
+ if (config.skills?.length > 0 && this.daemon.skills) {
255
+ const skillSections = [];
256
+ for (const skillId of config.skills) {
257
+ const content = this.daemon.skills.getContent(skillId);
258
+ if (content) {
259
+ skillSections.push(`## Skill: ${skillId}\n\n${content}`);
260
+ }
261
+ }
262
+ if (skillSections.length > 0) {
263
+ spawnConfig.prompt += '\n\n' + skillSections.join('\n\n');
264
+ }
265
+ }
266
+
253
267
  // Apply PM review instructions for Auto permission mode
254
268
  // Agents call the PM endpoint before risky operations for AI review
255
269
  const permission = config.permission || 'full';