mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-11-06 12:51:54 +00:00
Merge pull request #338 from PR0M3TH3AN/jules-detect-active-agent-platforms-2907459520034809113
Add dashboard support for Goose, Gemini, and Antigravity platforms
This commit is contained in:
4 files changed
+53
No files matched your search
@@ -383,6 +383,21 @@ const PLATFORM_COLORS = {
|
||||
text: 'text-success',
|
||||
label: 'Codex',
|
||||
},
|
||||
goose: {
|
||||
bg: 'bg-purple/10',
|
||||
text: 'text-purple',
|
||||
label: 'Goose',
|
||||
},
|
||||
gemini: {
|
||||
bg: 'bg-accent/10',
|
||||
text: 'text-accent',
|
||||
label: 'Gemini CLI',
|
||||
},
|
||||
antigravity: {
|
||||
bg: 'bg-pink/10',
|
||||
text: 'text-pink',
|
||||
label: 'Antigravity IDE',
|
||||
},
|
||||
unknown: { bg: 'bg-muted/10', text: 'text-muted', label: 'Unknown' },
|
||||
};
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
--success: #35c47c;
|
||||
--warning: #f5b84b;
|
||||
--danger: #ff6b6b;
|
||||
--purple: #a855f7;
|
||||
--pink: #ec4899;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
@@ -69,6 +71,9 @@ a { color: inherit; }
|
||||
.bg-danger { background-color: var(--danger); }
|
||||
.bg-danger\/10 { background-color: color-mix(in srgb, var(--danger) 10%, transparent); }
|
||||
.bg-info\/10 { background-color: color-mix(in srgb, var(--info) 10%, transparent); }
|
||||
.bg-accent\/10 { background-color: color-mix(in srgb, var(--accent) 10%, transparent); }
|
||||
.bg-purple\/10 { background-color: color-mix(in srgb, var(--purple) 10%, transparent); }
|
||||
.bg-pink\/10 { background-color: color-mix(in srgb, var(--pink) 10%, transparent); }
|
||||
.bg-border\/30 { background-color: color-mix(in srgb, var(--border) 30%, transparent); }
|
||||
|
||||
.text-text { color: var(--text); }
|
||||
@@ -76,10 +81,13 @@ a { color: inherit; }
|
||||
.text-muted { color: var(--muted); }
|
||||
.text-info { color: var(--info); }
|
||||
.text-info-strong { color: var(--info-strong); }
|
||||
.text-accent { color: var(--accent); }
|
||||
.text-accent-strong { color: var(--accent); }
|
||||
.text-success { color: var(--success); }
|
||||
.text-warning { color: var(--warning); }
|
||||
.text-danger { color: var(--danger); }
|
||||
.text-purple { color: var(--purple); }
|
||||
.text-pink { color: var(--pink); }
|
||||
.text-white { color: #fff; }
|
||||
|
||||
.border { border-width: 1px; border-style: solid; }
|
||||
|
||||
@@ -36,6 +36,8 @@ export function detectPlatform() {
|
||||
if (process.env.CODEX_API_KEY || process.env.CODEX_SESSION_ID) return 'codex';
|
||||
if (process.env.GOOSE_API_KEY || process.env.GOOSE_SESSION_ID) return 'goose';
|
||||
if (process.env.CLAUDE_API_KEY || process.env.ANTHROPIC_API_KEY || process.env.CLAUDE_SESSION_ID) return 'claude';
|
||||
if (process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY) return 'gemini';
|
||||
if (process.env.ANTIGRAVITY_API_KEY || process.env.ANTIGRAVITY_SESSION_ID) return 'antigravity';
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -74,6 +74,10 @@ describe('Platform Utilities', () => {
|
||||
delete process.env.CLAUDE_SESSION_ID;
|
||||
delete process.env.CLAUDE_API_KEY;
|
||||
delete process.env.ANTHROPIC_API_KEY;
|
||||
delete process.env.GEMINI_API_KEY;
|
||||
delete process.env.GOOGLE_API_KEY;
|
||||
delete process.env.ANTIGRAVITY_API_KEY;
|
||||
delete process.env.ANTIGRAVITY_SESSION_ID;
|
||||
};
|
||||
|
||||
after(() => {
|
||||
@@ -110,6 +114,30 @@ describe('Platform Utilities', () => {
|
||||
assert.strictEqual(detectPlatform(), 'claude');
|
||||
});
|
||||
|
||||
it('detects gemini via GEMINI_API_KEY', () => {
|
||||
clearEnv();
|
||||
process.env.GEMINI_API_KEY = 'test';
|
||||
assert.strictEqual(detectPlatform(), 'gemini');
|
||||
});
|
||||
|
||||
it('detects gemini via GOOGLE_API_KEY', () => {
|
||||
clearEnv();
|
||||
process.env.GOOGLE_API_KEY = 'test';
|
||||
assert.strictEqual(detectPlatform(), 'gemini');
|
||||
});
|
||||
|
||||
it('detects antigravity via ANTIGRAVITY_API_KEY', () => {
|
||||
clearEnv();
|
||||
process.env.ANTIGRAVITY_API_KEY = 'test';
|
||||
assert.strictEqual(detectPlatform(), 'antigravity');
|
||||
});
|
||||
|
||||
it('detects antigravity via ANTIGRAVITY_SESSION_ID', () => {
|
||||
clearEnv();
|
||||
process.env.ANTIGRAVITY_SESSION_ID = 'test';
|
||||
assert.strictEqual(detectPlatform(), 'antigravity');
|
||||
});
|
||||
|
||||
it('returns null if no platform detected', () => {
|
||||
clearEnv();
|
||||
assert.strictEqual(detectPlatform(), null);
|
||||
|
||||
Reference in new issue
Block a user