Files
AgentHub/client/src/i18n/locales/en/splash.json
T
nntrivi2001 cc85e35439 feat(updates): detect the newest release and self-apply it, including plugin installs
Update detection was a commit count against the default branch, which says nothing about whether a *version* shipped and is pure noise on the plugin cache (a depth-1 clone, where every distance is a graft artefact). It now reads the forge's own releases API and compares the published tag to this install's package.json version, falling back to the commit count only when no release can be read — with the reason in release_check, so "up to date" never silently means "we could not look".

Two states a commit count cannot express: dev_build (ahead of the newest release, missing nothing from it) now reads "Dev build - N ahead" instead of a false "Up to date"; and on a shallow clone every commits_*_release field is null and dev_build is never asserted, because the numbers would be meaningless.

POST /api/updates/apply gains a second mode, chosen by install kind and never by the request body. A checkout still fast-forwards onto the release tag, rebuilds and self-restarts. A ~/.claude/plugins/cache/ install is refused by applyUpdate (that directory is Claude Code's to replace) and handed instead to a detached chain: claude plugin marketplace update -> claude plugin update -y -> plugin-bootstrap.js --force from the NEW cache dir, which retires this server and starts its replacement. Both write the HTTP response before anything stops the process.

The chain records every outcome to plugin-update.json in the runtime dir, outside the cache the update replaces, so the next server reports it as last_plugin_update: a failed chain is otherwise indistinguishable from a slow one, and the tab would poll a server that never returns. /reload-plugins is deliberately not in the chain - it is REPL-scoped to the session that runs it, so no background process can perform it, and plugin-bootstrap derives PLUGIN_ROOT from its own __dirname, which is what makes it unnecessary for the dashboard.

Also rebrands the sidebar subtitle, splash and page title to SmartGift Solution, and corrects three ARCHITECTURE.md statements that claimed /apply did not exist.

Verified: server 1683/1683, client 486/486, build, prettier, file-header audit, openapi.yaml regenerated.
2026-09-10 16:03:07 +07:00

80 lines
2.7 KiB
JSON

{
"greeting": {
"morning": "Good morning",
"afternoon": "Good afternoon",
"evening": "Good evening",
"night": "Working late"
},
"tagline": "Nothing your agents do stays in the dark.",
"sub1": "Real-time observability for every Claude Code session.",
"sub2": "Tokens, tools, costs, and workflows, all live.",
"brand": "SmartGift Solution",
"taglines": [
"Nothing your agents do stays in the dark.",
"See every move your agents make.",
"Your agents, fully observable.",
"Every token, tool, and turn — in plain sight.",
"Watch your fleet think.",
"Where Claude Code sessions come into focus.",
"Real-time eyes on every agent.",
"From prompt to result, all on the record.",
"The control room for your AI agents.",
"Every subagent accounted for.",
"Know exactly what your agents cost.",
"Your agentic workflows, made legible.",
"Observe. Measure. Optimize.",
"Mission control for Claude Code.",
"Turn agent chaos into a clear picture.",
"The receipts for every run."
],
"subs": [
[
"Real-time observability for every Claude Code session.",
"Tokens, tools, costs, and workflows, all live."
],
[
"Live sessions, agents, and events as they happen.",
"Per-model token and cost breakdowns, no guesswork."
],
[
"Trace every tool call across your agent tree.",
"Spot the slow turn, the costly model, the silent failure."
],
["Hooks stream straight to a local dashboard.", "Your data never leaves your machine."],
[
"Watch orchestrators delegate to subagents.",
"DAGs, concurrency, and error propagation, visualized."
],
[
"Cost tracking down to the cache token.",
"Per-model pricing with compaction-aware baselines."
],
[
"Every session, agent, and event in one place.",
"Search, replay, and inspect without leaving the room."
],
[
"From SessionStart to SessionEnd, captured.",
"Compactions, API errors, and turn durations included."
],
[
"Know which model did what, and what it cost.",
"Subagents priced at their own rate, not the orchestrator's."
],
["Workflow fleets and inner agents, surfaced.", "Even the runs that never fire a hook."],
["A local-first window into your agents.", "No cloud, no account, no telemetry."],
[
"Measure productivity, not vibes.",
"Velocity, cache efficiency, and tool effectiveness, scored."
],
[
"Catch the anomaly before the invoice does.",
"Cost outliers and token spikes, flagged early."
],
[
"Your Claude Code config, fully mapped.",
"Skills, agents, hooks, MCP, and memory at a glance."
]
]
}