[auto] update translations#513
Conversation
|
Automated code review started - full review. Results will be posted here. |
🔍 Automated Code Review📋 Executive SummaryThis is an automated translation update triggered by changes to English documentation sources. The PR refreshes 5 Korean (ko) AgentEye documentation pages with consistent terminology improvements, better phrasing, and proper trailing newlines. Pure docs change - zero code, zero risk. 📊 Change Architecturegraph TD
A[EN docs source change] -->|"trigger hash-cache"| B[github-actions bot]
B -->|"re-translate"| C[ko/agenteye/audits.mdx]
B -->|"re-translate"| D[ko/agenteye/cli-recipes.mdx]
B -->|"re-translate"| E[ko/agenteye/deployment.mdx]
B -->|"re-translate"| F[ko/agenteye/getting-started.mdx]
B -->|"re-translate"| G[ko/agenteye/managed-deployment.mdx]
C --> H[Korean readers]
D --> H
E --> H
F --> H
G --> H
style B fill:#90EE90
style C fill:#87CEEB
style D fill:#87CEEB
style E fill:#87CEEB
style F fill:#87CEEB
style G fill:#87CEEB
Legend: Green = New (bot action) | Blue = Modified (translation refresh) 🔴 Breaking ChangesNo breaking changes detected. This is a docs-only translation refresh.
|
hermes-exosphere
left a comment
There was a problem hiding this comment.
Automated review: Approved. Docs-only translation update for Korean AgentEye pages. Consistent terminology, no issues found. CI green.
* fix(docs): restore AgentEye language navigation * fix(ci): make docs translation atomic * feat: agent CLI expansion — Goose + OpenClaw + Factory + Devin + Antigravity (12 CLIs), remove Gemini (#508) * feat: OpenClaw (openclaw gateway) integration — real-time enforcement + audit Adds OpenClaw as the 9th CLI/agent integration, dual-pillar like Hermes: Pillar 1 (live enforcement) — OpenClaw's in-process plugin hooks (its file-based "internal hooks" are observation-only and cannot block): - openclaw-plugin/ shipped package (manifest + plain-ESM index.js) that async-spawns the failproofai binary and maps a flat {permission,reason} verdict to each hook's native return shape (before_tool_call → {block:true,blockReason}; before_agent_run → {outcome:"block"}; before_agent_finalize → {action:"revise"}). - OPENCLAW_EVENT_MAP / TOOL_MAP / TOOL_INPUT_MAP in types.ts; handler + tool-name-canonicalize + policy-evaluator branches; the openclaw Integration (install/uninstall manages plugins.load.paths + plugins.entries.failproofai in ~/.openclaw/openclaw.json); bin plumbing. Pillar 2 (audit + dashboard) — reads the real JSONL transcripts at ~/.openclaw/agents/<agentId>/sessions/<uuid>.jsonl: - lib/openclaw-sessions.ts (pure type-discriminated parser, UUID-safe discovery) + lib/openclaw-projects.ts (sessions.json index, agentId grouping) + src/audit/cli-adapters/openclaw.ts. - Dashboard wiring: cli-registry, projects, download-session, app routes. Verified live against openclaw v2026.7.1 (tool block confirmed end-to-end; hook payloads, tool ids, and transcript schema captured from a real gateway). Tests mirror the Hermes matrix. All maps are validated, not provisional. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs: document OpenClaw integration (CHANGELOG + CLAUDE.md) - CHANGELOG 0.0.13-beta.3 entry (Features + Docs). - CLAUDE.md "OpenClaw hooks" section: plugin-not-shell-hook enforcement surface, async-spawn design, per-hook verdict mapping, the real Stop gate, audit layout, and the auth-profile / bundledDiscovery setup gotchas. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(openclaw): organize dashboard by channel with readable session names Live testing surfaced two UX issues: OpenClaw routes gateway sessions through the agent's default key (agent:<id>:main) and records the channel in metadata (lastChannel / chatType / origin.{label,provider,from}), NOT in the session key. So the prior key-parsing grouped everything under "openclaw-main" (which the dashboard's decodeFolderName rendered as the confusing "openclaw/main") and named sessions with the raw "agent:main:main" key. Now group projects by channel (telegram/slack/…/local, like Hermes groups by source) and name sessions from the human-readable origin.label — so it reads as "openclaw / telegram" → "Chetan (@chhhee10) id:8674922496" with the chat id/type in the gateway-metadata columns. Verified live against openclaw v2026.7.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat: remove Gemini CLI integration entirely Google retired Gemini CLI (consumer accounts stopped 2026-06-18) in favor of the closed-source Antigravity CLI (agy), which failproofai is migrating to. Removes the `gemini` id from INTEGRATION_TYPES, the INTEGRATIONS/ADAPTERS registries, KNOWN_CLI_IDS, all GEMINI_* event/tool maps, the gemini audit adapter + lib/gemini-{projects,sessions}.ts, the --cli gemini install/audit paths (bin + docs), and the dashboard's Gemini session provider. Deletes the gemini logo assets and the .gemini dogfood config. Keeps the ~/.gemini/ config-file protections in the block-* builtins and re-points them at Antigravity (which reuses that directory). Fixes a latent bug where OpenClaw sessions without a cwd were mislabeled "Gemini CLI" in the session viewer. Docs + all 14 locale mirrors swept; tsc/build/tests green (111 files, 1916 tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat: add Factory droid (droid) CLI integration 9th CLI integration. Factory droid is a Claude-shaped external-shell-hook CLI, but with two contract quirks that were live-verified against droid v0.171.0 (and differ from Factory's published docs): - hooks.json uses event names at the TOP LEVEL (no `{"hooks":{...}}` wrapper — droid rejects the wrapper as unknown keys). Tool events carry matcher:"*". - deny is driven by EXIT CODE 2 + stderr, not a JSON decision (droid ignores the JSON decision field). Stop uses `{decision:"block"}` for require-*-before-stop. Payload is Claude snake_case (no normalization); FACTORY_TOOL_MAP maps Execute→Bash, Create→Write, etc. Config at ~/.factory/hooks.json (user) / .factory/hooks.json (project); binary probe `droid`. Audit reads the JSONL transcripts at ~/.factory/sessions/<enc-cwd>/<id>.jsonl (Claude-style adapter). Wires all surfaces: types union + maps, Integration + registry, canonicalize, policy-evaluator deny/instruct branches, audit adapter + lib providers, cli-registry, projects/download-session, app pages, bin VALID_CLIS + help. Adds unit + e2e + canonicalize tests, CLAUDE.md section, CHANGELOG, docs. tsc/lint clean; 1932 unit + 289 e2e tests pass; build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat: add Devin CLI (devin) integration 10th CLI integration. Devin CLI is a pure Claude-clone for hooks — same snake_case payloads (hook_event_name, tool_name, tool_input, tool_use_id), so the Integration is modeled verbatim on claudeCode with a "hooks" key in ~/.config/devin/config.json (user) / .devin/config.json (project). Verified live against devin v3000.1.27: deny via {"decision":"block","reason"} on stdout blocks the tool (and overrides --permission-mode dangerous). DEVIN_TOOL_MAP maps exec→Bash (tool_input.command already canonical); no payload/event maps. Audit reads the SQLite store at ~/.local/share/devin/cli/sessions.db (sessions.working_directory → per-project grouping, message_nodes.chat_message JSON). Devin's tool_calls use a flat {id,name,arguments-as-object} shape (not the OpenAI wire form), so lib/devin-sessions.ts uses a Devin-specific normalizer; created_at prefers the higher-precision metadata ISO string. All 16 surfaces wired; unit + e2e + SQLite-parser tests added; CLAUDE.md section, CHANGELOG, docs. tsc/lint clean; 1956 unit + 297 e2e pass; build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat: add Antigravity CLI (agy) integration — Gemini's successor 11th CLI integration. Antigravity CLI (`agy`, Google's closed-source Go replacement for the retired Gemini CLI) has its OWN hook contract — NOT a Claude clone. Live-verified against agy v1.1.2. - Named-hook schema: hooks.json = {"failproofai": {"PreToolUse":[{matcher,hooks}], "PreInvocation":[{...}], "Stop":[{...}]}} at ~/.gemini/config/hooks.json (user) / .agents/hooks.json (project). Tool events use a {matcher,hooks} wrapper; PreInvocation/Stop are flat handler arrays. - camelCase protojson payload → the handler normalizes toolCall.name→tool_name, toolCall.args→tool_input, conversationId→session_id, workspacePaths[0]→cwd, transcriptPath→transcript_path before the usual canonicalization. - Own response shapes: PreToolUse deny → {decision:"deny",reason}; Stop → {decision:"continue",reason} (re-enters the loop, so require-*-before-stop enforce); instruct → PreInvocation {injectSteps:[{ephemeralMessage}]}. - ANTIGRAVITY_TOOL_MAP (run_command→Bash, view_file→Read, ...) + ANTIGRAVITY_TOOL_INPUT_MAP (Bash: CommandLine→command, Cwd→cwd). - Audit reads plain JSONL transcript_full.jsonl under ~/.gemini/antigravity-cli/brain/<id>/.system_generated/logs/, indexed by conversation_summaries.db (falls back to brain/ dir scan when the index is empty). Keeps the ~/.gemini/ path guards (relabeled for Antigravity in the Gemini removal). All 16 surfaces wired; unit + e2e + parser tests; CLAUDE.md section, CHANGELOG, docs. tsc/lint clean; 1976 unit + 306 e2e pass; build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs: backfill OpenClaw into user-facing docs + document VS Code coverage Two documentation gaps closed: 1. OpenClaw was shipped as a fully-wired integration but was never added to the user-facing supported-CLI lists. Backfills it into README + docs (configuration / getting-started / introduction): a dual-pillar bullet after Hermes, the --cli lists, install examples, and the detection list. 2. Documents that VS Code's Copilot Chat agent mode (Preview) needs no dedicated integration — its agent hooks load from .github/hooks/*.json, ~/.copilot/hooks/*.json, and ~/.claude/settings.json (the exact paths the copilot/claude integrations already write), verified live against VS Code 1.127 / github.copilot-chat 0.55.0. So `--cli copilot` (or --cli claude) already enforces in VS Code agent-mode sessions. Adds a CLAUDE.md section + a docs note. No code change. tsc/build/tests green (115 files, 1976 tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * refactor: make resolve-transcript-path enumerate openclaw explicitly Add an explicit `case "openclaw"` (functionally a no-op that returns undefined, same as the default) documenting that OpenClaw's transcript_path comes from its plugin shim's stdin and its audit reads sessions directly via lib/openclaw-sessions.ts. Makes the switch cover all 11 CLIs explicitly so the wiring is unambiguous for future integrations. No behavior change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore: drop brittle line-number cross-refs from policy-evaluator comments Replace stale `(line ~N)` / `at line ~N` comment cross-references (which went out of date when the Gemini branches were removed and shift on every edit) with descriptive references to the mirrored per-CLI branches. Comment-only; no behavior change. Avoids automated-review flags on outdated line numbers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat: add Goose (codename goose, Block) as the 12th CLI integration Dual-pillar like Hermes/OpenClaw/Factory/Devin/Antigravity — real-time policy enforcement + offline audit. Enforcement uses Goose's "hooks" system (the cross-agent Open Plugins spec): the installer drops an auto-discovered plugin dir at ~/.agents/plugins/failproofai/hooks/hooks.json (user/project). Deny is {"decision":"block"} JSON on PreToolUse only (goose >= v1.37.0); goose has no Stop event, so require-*-before-stop is inapplicable (like Hermes). Audit reads the SQLite sessions.db (cwd-grouped like Devin; Claude-style content_json). Verified live end-to-end against goose v1.43.0 (real sudo blocked; real sessions.db read). Follows the Factory (enforcement) + Devin (SQLite audit) templates. Also backfills the README supported-CLI logo grid (openclaw/factory/devin/ antigravity/goose were missing) with dark/light variants, and documents Goose across CLAUDE.md + docs/{getting-started,configuration}. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: link each supported-CLI logo to its official site Point the 9 logos the maintainer supplied URLs for at their official pages (codex→learn.chatgpt.com, copilot→github.com/features/copilot/cli, cursor, opencode, pi, hermes, openclaw, factory, goose→goose-docs.ai); claude/devin/ antigravity keep their existing links. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(hooks): correct Antigravity file-tool map + quiet channel-less allow-notes Two issues surfaced while testing every CLI: 1. Antigravity file writes weren't gated. ANTIGRAVITY_TOOL_MAP had guessed tool names (`write_file`/`list_directory`/`find_filepath`) — the real ones (from the agy binary + live transcripts) are `write_to_file`/`list_dir`/ `find_by_name`, and there was no input-key map for file tools, so the path (delivered as `TargetFile`) never became `file_path`. Result: block-env-files / block-secrets-write silently allowed `.env` writes on Antigravity. Corrected the tool names and added Write/Edit/Read input maps (TargetFile→file_path, CodeContent→content). Verified live: agy now denies a `.env` write. 2. Noisy Stop-hook output. Informational allow-notes were emitted as stdout `{reason}` on events with no agent-facing context channel (Stop, SubagentStop, Session*, …), so a passing Stop rendered as a "…skipping commit check…skipping PR check…" wall (visible e.g. in droid). Those notes now go to stderr + the activity store only; stdout stays clean on channel-less events. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(readme): arrange the 12 CLI logos as 2 rows of 6 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(audit): reconstruct Devin's active conversation path (de-dup the forest) Devin stores a session's messages as a FOREST (node_id/parent_node_id) and replays earlier context under fresh roots on later turns, so message_nodes holds many branches that repeat the same messages — verified live: 26-31 raw nodes for 8-10 real messages. The parser read every node in node_id order, so the dashboard rendered each message 2-4× (a wall of duplicated "Create a file named .env…"). Reconstruct the real conversation instead: walk parent_node_id from the newest leaf (max node_id) to its root and reverse. Devin sessions now render the true 8-10 message conversation. Adds devinActiveConversationPath + unit tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(release): finalize CHANGELOG + dogfood the 4 newest CLIs - CHANGELOG: add the missing Fixes section (Antigravity file-tool map, quiet channel-less allow-notes, Devin forest de-dup) and a Docs entry for the README logo grid. - Dogfood: ship project-scope configs for Factory (.factory/hooks.json), Devin (.devin/config.json), Antigravity (.agents/hooks.json), and Goose (.agents/plugins/failproofai/hooks/hooks.json) using the dev `bun bin/failproofai.mjs` command — generated from each integration's own writeHookEntries so they track the live schema. Documented in CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(release): bump to 0.0.14-beta.1 main shipped 0.0.13 stable (#506) without this CLI-expansion work, so it releases as 0.0.14-beta.1. Moves the branch's CHANGELOG entries into a fresh 0.0.14-beta.1 section above the released 0.0.13. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(changelog): reference PR #508 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: complete the dashboard + config CLI lists for all 12 agents The dashboard project-list description, session-viewer/activity badge lists, the ?cli= filter, and the auto-detect list only covered the original 7 CLIs. Add the five newer ones (OpenClaw, Factory Droid, Devin, Antigravity, Goose) with their session-store paths and badge colors. Caught by the PR #508 automated review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> * docs: update translations for changed English sources (#513) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * docs: update translations for changed English sources * fix(docs): restore AgentEye language navigation * fix(ci): make docs translation atomic * fix(docs): address translation review findings --------- Co-authored-by: Codex <codex@openai.com> Co-authored-by: Chetan Raghuvanshi <145042127+chhhee10@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Summary
Automated translation update triggered by changes to English documentation sources.