groove-dev 0.22.6 → 0.22.7

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-DZxQV2hQ.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-B6DQvtWt.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">
@@ -451,8 +451,9 @@ export const useGrooveStore = create((set, get) => ({
451
451
 
452
452
  async launchRecommendedTeam() {
453
453
  try {
454
+ set({ recommendedTeam: null }); // Dismiss modal immediately
455
+ get().addToast('info', 'Launching team...');
454
456
  const result = await api.post('/recommended-team/launch');
455
- set({ recommendedTeam: null });
456
457
  get().addToast('success', `Launched ${result.launched} agents`, result.phase2Pending ? `${result.phase2Pending} QC agents queued` : undefined);
457
458
  // Clean up stale files
458
459
  api.post('/cleanup').catch(() => {});
@@ -535,8 +536,22 @@ export const useGrooveStore = create((set, get) => ({
535
536
  async instructAgent(id, message) {
536
537
  const agent = get().agents.find((a) => a.id === id);
537
538
  const isAlive = agent && (agent.status === 'running' || agent.status === 'starting');
539
+
540
+ // Running agent: use query (non-destructive) instead of killing it
541
+ if (isAlive) {
542
+ get().addChatMessage(id, 'user', message, false);
543
+ try {
544
+ const data = await api.post(`/agents/${id}/query`, { message });
545
+ get().addChatMessage(id, 'agent', data.response);
546
+ return data;
547
+ } catch (err) {
548
+ get().addChatMessage(id, 'system', `failed: ${err.message}`);
549
+ throw err;
550
+ }
551
+ }
552
+
553
+ // Completed/stopped agent: resume with full context
538
554
  get().addChatMessage(id, 'user', message, false);
539
- get().addChatMessage(id, 'system', isAlive ? 'sending instruction...' : 'continuing conversation...');
540
555
  try {
541
556
  const newAgent = await api.post(`/agents/${id}/instruct`, { message });
542
557
  // Carry history to new agent ID
@@ -549,7 +564,6 @@ export const useGrooveStore = create((set, get) => ({
549
564
  if (get().chatHistory[id]?.length) persistJSON('groove:chatHistory', get().chatHistory);
550
565
  if (get().activityLog[id]?.length) persistJSON('groove:activityLog', get().activityLog);
551
566
  get().selectAgent(newAgent.id);
552
- get().addChatMessage(newAgent.id, 'system', 'agent resumed with context');
553
567
  return newAgent;
554
568
  } catch (err) {
555
569
  get().addChatMessage(id, 'system', `failed: ${err.message}`);