Files
AgentHub/package.json
T
nntrivi2001 c8bc4a95a9 chore: v2.8.23 — workspace groups, inner repos in Changes (opt-in), sub-agent tokens counted
Workspace groups: named, foldable, ordered sidebar sections kept per
account (agenthub.workspace.groups); a workspace joins one from its menu,
a drop on the header, a drag under a row, or Alt+Up/Down past a group's
edge; headers drag to reorder; a folded header shows its most urgent
state; New workspace in this group; fold/unfold all.

Inner repos: GET /api/lanes/:id/repos + ?repo= on git/fs routes; the
Changes panel shows a parent folder's repos only when Settings -> Git ->
Changes panel turns it on (agenthub.changes.innerRepos, off by default).

Cost: the hook writer adds a session's sub-agent transcripts to its
tokens and hours (server/lib/subagent-usage.js) — a sub-agent on the
session's own model was never counted live (~8% of a week here); an
imported session is re-raised on every pass, so a claude -p run first
seen with an empty transcript no longer stays at $0 (~10%). A one-time
raise-only catch-up (user_version 5) re-reads ~/.claude/projects.

Also: omp install script may redirect to its exact install.redirect URL
(#85, repo-links test exempts it), native paste in the terminal.
2026-10-23 16:41:45 +07:00

98 lines
2.9 KiB
JSON

{
"name": "agenthub",
"version": "2.8.23",
"bin": {
"agenthub": "bin/agenthub.js"
},
"description": "Local control surface for Claude Code agents - session monitoring, parallel lanes, terminal runs, and Claude Code configuration management",
"private": true,
"type": "commonjs",
"main": "server/index.js",
"files": [
"server",
"scripts",
"data",
"statusline",
"README.md"
],
"author": "Nguyễn Ngọc Trí Vĩ",
"repository": {
"type": "git",
"url": "git+https://git.smartgift.io.vn/Smartgift-AI/AgentHub.git"
},
"bugs": {
"url": "https://git.smartgift.io.vn/Smartgift-AI/AgentHub/issues"
},
"license": "UNLICENSED",
"homepage": "https://git.smartgift.io.vn/Smartgift-AI/AgentHub#readme",
"keywords": [
"claude",
"claude-code",
"anthropic",
"agent",
"dashboard",
"real-time",
"monitoring",
"activity-tracking",
"nodejs",
"express",
"react",
"websocket",
"sqlite",
"better-sqlite3",
"web-push",
"vapid",
"notifications",
"productivity",
"developer-tools"
],
"scripts": {
"prepare": "git config core.hooksPath .husky || true",
"postinstall": "node scripts/postinstall.js",
"dev": "node scripts/dev.js",
"dev:raw": "concurrently -n server,client -c blue,green \"npm run dev:server\" \"npm run dev:client\"",
"dev:server": "node --watch server/index.js",
"dev:client": "cd client && npm run dev",
"build": "cd client && npm run build",
"start": "node server/index.js",
"setup": "npm install && npm --prefix client install && npm run link-cli",
"update:pull-setup": "git pull --ff-only && npm run setup",
"install-hooks": "node scripts/install-hooks.js",
"seed": "node scripts/seed.js",
"import-history": "node scripts/import-history.js",
"reconcile-tokens": "node scripts/import-history.js --reconcile-tokens",
"clear-data": "node scripts/clear-data.js",
"test": "node scripts/test-server.js && cd client && npm test",
"test:server": "node scripts/test-server.js",
"test:client": "cd client && npm test",
"format": "prettier --write .",
"format:check": "prettier --check .",
"openapi:yaml": "node scripts/generate-openapi-yaml.js",
"link-cli": "npm link || node -e \"console.warn('agenthub CLI not linked globally (no permission?). Link manually with: npm link')\""
},
"dependencies": {
"@lydell/node-pty": "^1.2.0-beta.15",
"adm-zip": "^0.6.1",
"cors": "^2.8.5",
"express": "^4.21.2",
"js-yaml": "^4.1.0",
"multer": "^2.0.0",
"swagger-ui-express": "^5.0.1",
"systray2": "^2.1.4",
"tar": "^7.4.3",
"uuid": "^11.1.0",
"web-push": "^3.6.7",
"ws": "^8.18.0"
},
"optionalDependencies": {
"better-sqlite3": "^12.0.0"
},
"devDependencies": {
"concurrently": "^9.1.2",
"prettier": "^3.8.1"
},
"engines": {
"node": ">=22.5.0"
}
}