Files
AgentHub/package.json
T
nntrivi2001 fa156d6a59 feat: v2.6.0 — Chat UI composer (+ menu, project files, activity panel, permission mode, Stop), git on a workspace's extra folders (#70), long paste as a file (#68), S3 server mode (experimental)
Chat UI:
- Each Claude/Codex session keeps its own chat/terminal view; Settings only
  sets how new sessions open.
- Composer + menu: upload, project files and folders (#54, also dragged from
  the Files/Changes tree), context files, recent uploads, skills, plugins.
- Activity side panel (progress, outputs, files read, uploads, memory,
  skills, connectors) with a file preview; edited-file counts per turn.
- Permission-mode chip (Shift+Tab steps, read back from the pane:
  server/lib/pane-mode.js, GET|POST /api/run/:id/permission-mode).
- Stop (Esc) while the main agent works; the status is checked per agent
  (with session_id /api/agents ignores its status filter) and re-read every
  5 s while Stop shows.
- Dropped images shown in the conversation (GET /api/run/drop/:name, the
  requester's own drop dir), full-size viewer.
- A plain-text paste over 5,000 characters is attached as pasted-text.txt,
  so no prompt reaches tmux/argv limits (#68).

Changes panel: every /api/lanes/:id/git* route takes ?source=<lane_sources
id> (sourceFolder; ENOSOURCE otherwise) and a folder picker switches the
whole panel to a workspace's extra folder (#70).

Server mode S3 (one Linux user per account) — experimental, verified with
fake sudo plus a P6 managed-settings spike on a test account:
- member tmux listing runs in the background (cached, 15 s => unknown);
- transcript snapshot copy is async, chunked, temp file + rename;
- Express Layer patch only on Express 4;
- tmux capturePane/sendKey go to the member's own server.

Docs: the multi-user design moved in as docs/plans/server-mode/README.md
(the AgentHub-Server repo is gone); S3-PLAN P6 result; LANES/API/openapi.
2026-10-09 16:35:07 +07:00

99 lines
2.9 KiB
JSON

{
"name": "agenthub",
"version": "2.6.0",
"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 && (cd client && npm 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",
"multer": "^2.0.0",
"redoc": "^2.5.3",
"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",
"js-yaml": "^4.1.0",
"prettier": "^3.8.1"
},
"engines": {
"node": ">=20.0.0"
}
}