Files
AgentHub/vscode-extension/package.json
T
nntrivi2001 e972267a42 fix(plugins): make the 10 focused plugins installable, finish the AgentHub rename
The ten `agenthub-*` plugins were listed by the marketplace but could never be
installed — two schema mistakes present since the entries were first authored
(57dc915), both invisible until you actually run `claude plugin install`:

- marketplace entries used `"path": "plugins/<name>"`; the CLI only accepts
  `"source"`, so every one failed with
  `This plugin's marketplace entry is invalid: source: Invalid input`
- each `plugin.json` carried npm's `"repository": { "type", "url" }` object;
  the schema wants a plain string, so the next attempt failed with
  `Validation errors: repository: Invalid input`

Verified by installing all 11 entries into a throwaway CLAUDE_CONFIG_DIR:
1/11 before, 11/11 after. `plugins-marketplace.test.js` was asserting the
broken shape, which is why CI stayed green — it now asserts `source` and
rejects `path`.

Marketplace renamed `claude-code-agent-monitor-plugins` -> `agenthub`, so the
install line is `agenthub@agenthub`. ARCHITECTURE.md documented a marketplace
name (`smartgift-claude-code-monitor`) that never existed in any revision.

The documented `/plugin marketplace add Smartgift-AI/Claude-Code-Monitor` also
never worked: the `owner/repo` shorthand resolves to github.com only, and this
repo is self-hosted on Gitea. Confirmed the CLI rejects `host/owner/repo` and
ignores GH_HOST / GITHUB_HOST / CLAUDE_CODE_MARKETPLACE_URL, so the full
https:// clone URL is the only supported form. Same GitHub-habit class fixed
elsewhere: raw.githubusercontent.com icon URLs (404, and the repo ships
favicon.svg not favicon.ico — the client had the same dead /favicon.ico),
a smartgift.github.io docs link (404), and Gitea `/blob/<ref>/` paths that
must be `/src/branch/<ref>/`.

Repository renamed to Smartgift-AI/AgentHub throughout. Gitea 301-redirects
the old name, so these were stale rather than broken; `docs/superpowers/`
keeps the old name because those are dated decision records.

Adds `repo-links.test.js` to guard both classes (it runs under the existing
pre-commit gate) plus an openapi.yaml drift check — the committed spec had
silently fallen a minor version behind package.json. `generate-openapi-yaml.js`
now exports `render()` so the test compares against one definition of the dump
options instead of a second copy.
2026-09-10 11:03:14 +07:00

116 lines
2.9 KiB
JSON

{
"name": "claude-code-agent-monitor",
"displayName": "AgentHub",
"description": "Professional integrated dashboard for monitoring Claude Code AI agent activity, token usage, and costs directly in VS Code.",
"version": "1.2.4",
"publisher": "hoangsonw",
"engines": {
"vscode": "^1.75.0"
},
"categories": [
"Data Science",
"Machine Learning",
"Programming Languages",
"Other"
],
"activationEvents": [
"onView:claude-code-monitor-view"
],
"main": "./extension.js",
"icon": "apple-touch-icon.png",
"galleryBanner": {
"color": "#0f111a",
"theme": "dark"
},
"repository": {
"type": "git",
"url": "https://git.smartgift.io.vn/Smartgift-AI/AgentHub"
},
"homepage": "https://git.smartgift.io.vn/Smartgift-AI/AgentHub/src/branch/main/vscode-extension/README.md",
"contributes": {
"commands": [
{
"command": "claude-code-agent-monitor.openDashboard",
"title": "Open Agent Dashboard",
"category": "Claude Code",
"icon": "$(dashboard)"
},
{
"command": "claude-code-agent-monitor.refreshStatus",
"title": "Refresh Dashboard Status",
"category": "Claude Code",
"icon": "$(refresh)"
},
{
"command": "claude-code-agent-monitor.clearHistory",
"title": "Clear Monitor History",
"category": "Claude Code",
"icon": "$(trash)"
},
{
"command": "claude-code-agent-monitor.openInBrowser",
"title": "Open Dashboard in Browser",
"category": "Claude Code",
"icon": "$(globe)"
}
],
"viewsContainers": {
"activitybar": [
{
"id": "claude-code-monitor",
"title": "AgentHub",
"icon": "icon.svg"
}
]
},
"views": {
"claude-code-monitor": [
{
"id": "claude-code-monitor-view",
"name": "Monitor Control Center",
"type": "webview"
}
]
},
"menus": {
"view/title": [
{
"command": "claude-code-agent-monitor.openDashboard",
"when": "view == claude-code-monitor-view",
"group": "navigation@1"
},
{
"command": "claude-code-agent-monitor.refreshStatus",
"when": "view == claude-code-monitor-view",
"group": "navigation@2"
},
{
"command": "claude-code-agent-monitor.openInBrowser",
"when": "view == claude-code-monitor-view",
"group": "navigation@3"
}
]
}
},
"devDependencies": {
"@types/vscode": "^1.75.0",
"vsce": "^2.15.0"
},
"scripts": {
"package": "vsce package",
"publish": "vsce publish"
},
"keywords": [
"claude",
"anthropic",
"ai",
"agent",
"monitor",
"dashboard",
"tokens",
"llm"
],
"author": "Nguyễn Ngọc Trí Vĩ",
"license": "MIT"
}