groove-dev 0.27.103 → 0.27.104
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/moe-training/client/index.js +1 -0
- package/moe-training/client/step-classifier.js +1 -1
- package/moe-training/client/trajectory-capture.js +16 -7
- package/moe-training/test/client/step-classifier.test.js +42 -0
- package/moe-training/test/client/trajectory-capture.test.js +95 -0
- 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/daemon/src/api.js +19 -3
- package/node_modules/@groove-dev/gui/dist/assets/{index-8gdXdRnq.js → index-oUBAPJv6.js} +15 -15
- 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/settings/ProviderSetupWizard.jsx +28 -2
- package/node_modules/@groove-dev/gui/src/views/settings.jsx +23 -2
- package/node_modules/moe-training/client/index.js +1 -0
- package/node_modules/moe-training/client/step-classifier.js +1 -1
- package/node_modules/moe-training/client/trajectory-capture.js +16 -7
- package/node_modules/moe-training/test/client/step-classifier.test.js +42 -0
- package/node_modules/moe-training/test/client/trajectory-capture.test.js +95 -0
- package/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/daemon/package.json +1 -1
- package/packages/daemon/src/api.js +19 -3
- package/packages/gui/dist/assets/{index-8gdXdRnq.js → index-oUBAPJv6.js} +15 -15
- package/packages/gui/dist/index.html +1 -1
- package/packages/gui/package.json +1 -1
- package/packages/gui/src/components/settings/ProviderSetupWizard.jsx +28 -2
- package/packages/gui/src/views/settings.jsx +23 -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-oUBAPJv6.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-CFF1Lrnz.js">
|
|
@@ -172,6 +172,8 @@ function AuthenticateStep({ providerId, meta, onSaveKey }) {
|
|
|
172
172
|
const [showKey, setShowKey] = useState(false);
|
|
173
173
|
const [saving, setSaving] = useState(false);
|
|
174
174
|
const [loginStarted, setLoginStarted] = useState(false);
|
|
175
|
+
const [verifying, setVerifying] = useState(false);
|
|
176
|
+
const [verifyError, setVerifyError] = useState('');
|
|
175
177
|
const [authMode, setAuthMode] = useState(meta.authType === 'subscription' ? 'subscription' : 'apikey');
|
|
176
178
|
|
|
177
179
|
async function handleSaveKey() {
|
|
@@ -287,9 +289,33 @@ function AuthenticateStep({ providerId, meta, onSaveKey }) {
|
|
|
287
289
|
<ExternalLink size={12} className="text-accent" />
|
|
288
290
|
<span className="text-xs text-accent font-sans">Sign-in opened in your browser</span>
|
|
289
291
|
</div>
|
|
290
|
-
<Button
|
|
291
|
-
|
|
292
|
+
<Button
|
|
293
|
+
variant="primary"
|
|
294
|
+
size="sm"
|
|
295
|
+
disabled={verifying}
|
|
296
|
+
onClick={async () => {
|
|
297
|
+
setVerifying(true);
|
|
298
|
+
setVerifyError('');
|
|
299
|
+
try {
|
|
300
|
+
const res = await api.post(`/providers/codex/verify`);
|
|
301
|
+
if (res.authenticated) {
|
|
302
|
+
onSaveKey();
|
|
303
|
+
} else {
|
|
304
|
+
setVerifyError('Authentication not detected yet. Please complete sign-in in your browser and try again.');
|
|
305
|
+
}
|
|
306
|
+
} catch {
|
|
307
|
+
setVerifyError('Authentication not detected yet. Please complete sign-in in your browser and try again.');
|
|
308
|
+
} finally {
|
|
309
|
+
setVerifying(false);
|
|
310
|
+
}
|
|
311
|
+
}}
|
|
312
|
+
className="gap-1.5"
|
|
313
|
+
>
|
|
314
|
+
{verifying ? <Loader2 size={11} className="animate-spin" /> : <Check size={11} />} I've signed in
|
|
292
315
|
</Button>
|
|
316
|
+
{verifyError && (
|
|
317
|
+
<p className="text-2xs text-danger font-sans">{verifyError}</p>
|
|
318
|
+
)}
|
|
293
319
|
</div>
|
|
294
320
|
)}
|
|
295
321
|
</div>
|
|
@@ -454,10 +454,31 @@ function ProviderCard({ provider, onKeyChange }) {
|
|
|
454
454
|
<Button
|
|
455
455
|
variant="primary"
|
|
456
456
|
size="sm"
|
|
457
|
-
|
|
457
|
+
disabled={checking}
|
|
458
|
+
onClick={async () => {
|
|
459
|
+
if (provider.id === 'codex') {
|
|
460
|
+
setChecking(true);
|
|
461
|
+
try {
|
|
462
|
+
const res = await api.post(`/providers/codex/verify`);
|
|
463
|
+
if (res.authenticated) {
|
|
464
|
+
setLoginPending(false);
|
|
465
|
+
if (onKeyChange) onKeyChange();
|
|
466
|
+
} else {
|
|
467
|
+
addToast('error', 'Authentication not detected yet. Please complete sign-in in your browser and try again.');
|
|
468
|
+
}
|
|
469
|
+
} catch {
|
|
470
|
+
addToast('error', 'Authentication not detected yet. Please complete sign-in in your browser and try again.');
|
|
471
|
+
} finally {
|
|
472
|
+
setChecking(false);
|
|
473
|
+
}
|
|
474
|
+
} else {
|
|
475
|
+
setLoginPending(false);
|
|
476
|
+
if (onKeyChange) onKeyChange();
|
|
477
|
+
}
|
|
478
|
+
}}
|
|
458
479
|
className="w-full h-8 text-xs gap-1.5"
|
|
459
480
|
>
|
|
460
|
-
<Check size={12} /> I've signed in
|
|
481
|
+
{checking ? <Loader2 size={12} className="animate-spin" /> : <Check size={12} />} I've signed in
|
|
461
482
|
</Button>
|
|
462
483
|
<button
|
|
463
484
|
onClick={() => setLoginPending(false)}
|