mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-08 16:39:42 +02:00
feat: add version display in toolbar (v0.1337)
- Display version number in center of bottom toolbar - Load version from package.json via server's /api/status - Version shown on initial load and SSE reconnect Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "claudeman",
|
"name": "claudeman",
|
||||||
"version": "1.0.0",
|
"version": "0.1337",
|
||||||
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@@ -1291,6 +1291,15 @@ class ClaudemanApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleInit(data) {
|
handleInit(data) {
|
||||||
|
// Update version display
|
||||||
|
if (data.version) {
|
||||||
|
const versionEl = this.$('versionDisplay');
|
||||||
|
if (versionEl) {
|
||||||
|
versionEl.textContent = `v${data.version}`;
|
||||||
|
versionEl.title = `Claudeman v${data.version}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.sessions.clear();
|
this.sessions.clear();
|
||||||
this.ralphStates.clear();
|
this.ralphStates.clear();
|
||||||
data.sessions.forEach(s => {
|
data.sessions.forEach(s => {
|
||||||
|
|||||||
@@ -215,6 +215,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="toolbar-center">
|
||||||
|
<span class="version-display" id="versionDisplay" title="Claudeman version">v0.0.0</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="toolbar-right">
|
<div class="toolbar-right">
|
||||||
<!-- Buttons removed - use keyboard shortcuts instead -->
|
<!-- Buttons removed - use keyboard shortcuts instead -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1246,6 +1246,7 @@ body {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
position: relative;
|
||||||
height: var(--toolbar-height);
|
height: var(--toolbar-height);
|
||||||
padding: 0 0.5rem;
|
padding: 0 0.5rem;
|
||||||
background: var(--bg-card);
|
background: var(--bg-card);
|
||||||
@@ -1260,6 +1261,23 @@ body {
|
|||||||
gap: 0.25rem;
|
gap: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.toolbar-center {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.version-display {
|
||||||
|
font-family: 'SF Mono', Monaco, monospace;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
color: var(--text-muted);
|
||||||
|
padding: 0.2rem 0.5rem;
|
||||||
|
background: rgba(255, 255, 255, 0.05);
|
||||||
|
border-radius: 3px;
|
||||||
|
cursor: default;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
.toolbar-group {
|
.toolbar-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|||||||
@@ -28,6 +28,11 @@ import { generateClaudeMd } from '../templates/claude-md.js';
|
|||||||
import { parseRalphLoopConfig, extractCompletionPhrase } from '../ralph-config.js';
|
import { parseRalphLoopConfig, extractCompletionPhrase } from '../ralph-config.js';
|
||||||
import { writeHooksConfig } from '../hooks-config.js';
|
import { writeHooksConfig } from '../hooks-config.js';
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
|
import { createRequire } from 'node:module';
|
||||||
|
|
||||||
|
// Load version from package.json
|
||||||
|
const require = createRequire(import.meta.url);
|
||||||
|
const { version: APP_VERSION } = require('../../package.json');
|
||||||
import {
|
import {
|
||||||
getErrorMessage,
|
getErrorMessage,
|
||||||
ApiErrorCode,
|
ApiErrorCode,
|
||||||
@@ -2187,6 +2192,7 @@ export class WebServer extends EventEmitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
version: APP_VERSION,
|
||||||
sessions: this.getSessionsState(),
|
sessions: this.getSessionsState(),
|
||||||
scheduledRuns: Array.from(this.scheduledRuns.values()),
|
scheduledRuns: Array.from(this.scheduledRuns.values()),
|
||||||
respawnStatus,
|
respawnStatus,
|
||||||
|
|||||||
Reference in New Issue
Block a user