groove-dev 0.27.204 → 0.27.206

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.
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <link rel="icon" type="image/png" href="/favicon.png" />
8
8
  <title>Groove GUI</title>
9
- <script type="module" crossorigin src="/assets/index-BFlf13cA.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-BYQ4qIHh.js"></script>
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-26L3JoZv.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/reactflow-DoBZjiHE.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/codemirror-BYKpdS2W.js">
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/gui",
3
- "version": "0.27.204",
3
+ "version": "0.27.206",
4
4
  "description": "GROOVE GUI — visual agent control plane",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groove-dev",
3
- "version": "0.27.204",
3
+ "version": "0.27.206",
4
4
  "description": "Open-source agent orchestration layer — the AI company OS. Local model agent engine (GGUF/Ollama/llama-server), HuggingFace model browser, 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, any local model.",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/cli",
3
- "version": "0.27.204",
3
+ "version": "0.27.206",
4
4
  "description": "GROOVE CLI — manage AI coding agents from your terminal",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groove-dev/daemon",
3
- "version": "0.27.204",
3
+ "version": "0.27.206",
4
4
  "description": "GROOVE daemon — agent orchestration engine",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "type": "module",
@@ -174,6 +174,7 @@ export class AxomConnector {
174
174
  async _pollSessions(ep) {
175
175
  const list = await this._fetch(ep, '/sessions');
176
176
  if (!Array.isArray(list)) return;
177
+ let changed = false;
177
178
  for (const info of list) {
178
179
  const id = info.session;
179
180
  if (!id || typeof id !== 'string') continue;
@@ -191,12 +192,19 @@ export class AxomConnector {
191
192
  reconnectTimer: null,
192
193
  };
193
194
  ep.sessions.set(id, s);
195
+ changed = true;
194
196
  }
195
197
  // §12: `live` means a turn is in flight; sessions persist between turns
196
198
  // and events can start at any moment — stay attached regardless.
199
+ const wasLive = s.live;
197
200
  s.live = !!info.live;
201
+ // A liveness change is news. Without this, the GUI's copy of `live`
202
+ // stays true after a turn ends until something else happens to refetch
203
+ // status — which is how a spinner outlives its turn.
204
+ if (wasLive !== s.live) changed = true;
198
205
  if (!s.ws) this._watchSession(ep, s);
199
206
  }
207
+ if (changed) this._broadcastStatus();
200
208
  }
201
209
 
202
210
  _watchSession(ep, s) {