groove-dev 0.27.164 → 0.27.165
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/cli/package.json +1 -1
- package/node_modules/@groove-dev/daemon/package.json +1 -1
- package/node_modules/@groove-dev/gui/dist/assets/{index-CkCFf4Fl.js → index-SZBexPhJ.js} +2 -2
- package/node_modules/@groove-dev/gui/dist/index.html +1 -1
- package/node_modules/@groove-dev/gui/package.json +1 -1
- package/node_modules/@groove-dev/gui/src/components/editor/terminal.jsx +26 -2
- package/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/daemon/package.json +1 -1
- package/packages/gui/dist/assets/{index-CkCFf4Fl.js → index-SZBexPhJ.js} +2 -2
- package/packages/gui/dist/index.html +1 -1
- package/packages/gui/package.json +1 -1
- package/packages/gui/src/components/editor/terminal.jsx +26 -2
|
@@ -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-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-SZBexPhJ.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">
|
|
@@ -93,6 +93,17 @@ function TerminalInstance({ tabId, visible, registerKill, onSelectionChange }) {
|
|
|
93
93
|
|
|
94
94
|
if (msg.type === 'terminal:spawned' && msg.requestId === requestId && !termIdRef.current) {
|
|
95
95
|
termIdRef.current = msg.id;
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
try { fitRef.current?.fit(); } catch {}
|
|
98
|
+
const c = term.cols, r = term.rows;
|
|
99
|
+
if (c > 1 && r > 1 && termIdRef.current) {
|
|
100
|
+
const w = useGrooveStore.getState().ws;
|
|
101
|
+
if (w?.readyState === WebSocket.OPEN) {
|
|
102
|
+
w.send(JSON.stringify({ type: 'terminal:resize', id: termIdRef.current, rows: r, cols: c }));
|
|
103
|
+
lastSizeRef.current = { cols: c, rows: r };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}, 50);
|
|
96
107
|
} else if (msg.type === 'terminal:output' && msg.id === termIdRef.current) {
|
|
97
108
|
term.write(msg.data);
|
|
98
109
|
} else if (msg.type === 'terminal:exit' && msg.id === termIdRef.current) {
|
|
@@ -114,9 +125,9 @@ function TerminalInstance({ tabId, visible, registerKill, onSelectionChange }) {
|
|
|
114
125
|
term.onResize(({ cols, rows }) => {
|
|
115
126
|
if (cols === lastSizeRef.current.cols && rows === lastSizeRef.current.rows) return;
|
|
116
127
|
if (cols < 2 || rows < 2) return;
|
|
117
|
-
lastSizeRef.current = { cols, rows };
|
|
118
128
|
const ws = useGrooveStore.getState().ws;
|
|
119
129
|
if (ws?.readyState === WebSocket.OPEN && termIdRef.current) {
|
|
130
|
+
lastSizeRef.current = { cols, rows };
|
|
120
131
|
ws.send(JSON.stringify({ type: 'terminal:resize', id: termIdRef.current, rows, cols }));
|
|
121
132
|
}
|
|
122
133
|
});
|
|
@@ -124,7 +135,10 @@ function TerminalInstance({ tabId, visible, registerKill, onSelectionChange }) {
|
|
|
124
135
|
|
|
125
136
|
requestAnimationFrame(() => {
|
|
126
137
|
try { fitAddon.fit(); } catch {}
|
|
127
|
-
|
|
138
|
+
requestAnimationFrame(() => {
|
|
139
|
+
try { fitAddon.fit(); } catch {}
|
|
140
|
+
trySpawn();
|
|
141
|
+
});
|
|
128
142
|
});
|
|
129
143
|
|
|
130
144
|
const observer = new ResizeObserver(() => {
|
|
@@ -149,6 +163,16 @@ function TerminalInstance({ tabId, visible, registerKill, onSelectionChange }) {
|
|
|
149
163
|
if (visible && fitRef.current) {
|
|
150
164
|
requestAnimationFrame(() => {
|
|
151
165
|
try { fitRef.current.fit(); } catch {}
|
|
166
|
+
if (termRef.current && termIdRef.current) {
|
|
167
|
+
const c = termRef.current.cols, r = termRef.current.rows;
|
|
168
|
+
if (c > 1 && r > 1) {
|
|
169
|
+
const ws = useGrooveStore.getState().ws;
|
|
170
|
+
if (ws?.readyState === WebSocket.OPEN) {
|
|
171
|
+
ws.send(JSON.stringify({ type: 'terminal:resize', id: termIdRef.current, rows: r, cols: c }));
|
|
172
|
+
lastSizeRef.current = { cols: c, rows: r };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
152
176
|
});
|
|
153
177
|
}
|
|
154
178
|
}, [visible]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groove-dev",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.165",
|
|
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)",
|