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.
- package/CLAUDE.md +0 -7
- package/node_modules/@groove-dev/daemon/src/api.js +21 -15
- package/node_modules/@groove-dev/gui/dist/assets/{index-DZxQV2hQ.js → index-B6DQvtWt.js} +1 -1
- package/node_modules/@groove-dev/gui/dist/index.html +1 -1
- package/node_modules/@groove-dev/gui/src/stores/groove.js +17 -3
- package/package.json +1 -1
- package/packages/daemon/src/api.js +21 -15
- package/packages/gui/dist/assets/{index-DZxQV2hQ.js → index-B6DQvtWt.js} +1 -1
- package/packages/gui/dist/index.html +1 -1
- package/packages/gui/src/stores/groove.js +17 -3
|
@@ -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-
|
|
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}`);
|