Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/antigravity.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@
"date": "2026-10-17",
"test": "tests/test_adapter_antigravity.py::test_hook_config_lists_stop_handlers_bare_as_documented"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-08-26",
Expand Down Expand Up @@ -92,6 +97,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "n/a",
"hooks": "n/a",
"how": "n/a; needs a root plugin.json in its own schema (additionalProperties: false)",
"loads": "no",
"notes": "own hooks (not a Claude plugin) reply with a top-level decision, which CC-1 records as not honouring Claude's deny",
"payload": "own (camelCase toolCall)",
"source": "https://antigravity.google/docs/plugins (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {},
"verdicts": {
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/claude_code.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@
"date": "2026-10-13",
"test": "tests/test_install_watch.py::test_file_changed_is_not_wired_without_a_watch_list"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"repo_root_token": {
"basis": "vendor-docs",
"date": "2026-09-01",
Expand Down Expand Up @@ -152,6 +157,15 @@
],
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "yes",
"hooks": "yes",
"how": "native: marketplace install into ~/.claude/plugins/cache/<mkt>/<plugin>/<ver>/; --plugin-dir loads in place",
"loads": "yes",
"notes": "hooks run when the plugin is enabled; HSO deny and exit 2 both block",
"payload": "Claude Code",
"source": "https://code.claude.com/docs/en/plugins/loading.md (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"repo_root_token": "${CLAUDE_PROJECT_DIR}",
"tools": {
Expand Down
13 changes: 13 additions & 0 deletions src/agentseam/data/vendors/cline.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@
"date": "2026-10-11",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-10-11",
Expand Down Expand Up @@ -131,6 +136,14 @@
"matcher": false,
"wrapper": "hook_dir"
},
"loads_claude_plugins": {
"deny_reply": "n/a",
"hooks": "n/a",
"how": "n/a; two package lanes only (Agent Plugins root plugin.json, Cline JS/TS modules)",
"loads": "no",
"payload": "n/a",
"source": "cline/cline@a42df8c sdk/packages/shared/src/storage/paths.ts (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": true,
"tools": {
"shell": [
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/codex_cli.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,11 @@
"date": "2026-08-28",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "live-run-partial",
"date": "2026-08-28",
Expand Down Expand Up @@ -119,6 +124,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "yes",
"hooks": "yes",
"how": "manifest lookup .codex-plugin/, then .claude-plugin/plugin.json; marketplace .claude-plugin/marketplace.json; codex plugin marketplace add <path> then codex plugin add P@M; no bare-folder install",
"loads": "yes",
"notes": "hooks from the manifest's hooks, else hooks/hooks.json; per-hook trust state unmeasured; an HSO deny needs a non-empty permissionDecisionReason and exit 2 needs non-empty stderr; Sync handlers only",
"payload": "Claude Code snake_case, Codex tool names",
"source": "openai/codex@ce0323f codex-rs/exec-server-protocol/src/protocol.rs, codex-rs/core-plugins/src/loader.rs (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": true,
"tools": {
"shell": [
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/cursor.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@
"date": "2026-09-23",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "live-run-partial",
"date": "2026-09-23",
Expand Down Expand Up @@ -110,6 +115,15 @@
"matcher": false,
"wrapper": "cursor"
},
"loads_claude_plugins": {
"deny_reply": "unknown",
"hooks": "unknown",
"how": "n/a for the documented formats (.cursor-plugin/plugin.json and a root plugin.json); unknown via the Third-Party Plugins toggle",
"loads": "unknown",
"notes": "recorded no for the documented plugin formats and unknown via the Third-Party Plugins toggle, so unknown overall; Claude Code settings hooks (not plugins) run by default, event and tool names mapped (Bash to Shell), HSO and exit 2 honoured",
"payload": "unknown",
"source": "https://cursor.com/docs/reference/plugins, https://cursor.com/docs/reference/third-party-hooks (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {
"write": [
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/devin.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@
"date": "2026-08-26",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-08-26",
Expand Down Expand Up @@ -108,6 +113,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "partial",
"hooks": "unknown",
"how": "devin plugins install --local ./dir or a repo (sign-in needed); falls back to .claude-plugin/plugin.json when no .devin-plugin/plugin.json",
"loads": "yes",
"notes": "the docs promise only a root hooks.json; plugin hooks are best effort and fail open; exit 2 and a top-level decision block, HSO permissionDecision undocumented",
"payload": "Claude-shaped snake_case, Devin tool names (exec)",
"source": "https://docs.devin.ai/cli/extensibility/plugins/overview (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {},
"verdicts": {
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/factory_droid.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@
"date": "2026-10-11",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-10-11",
Expand Down Expand Up @@ -106,6 +111,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "yes",
"hooks": "yes",
"how": "via a marketplace only: droid plugin marketplace add <path|repo> then droid plugin install p@m --scope user|project; .claude-plugin/ translated to .factory-plugin/ on cache copy; a bare plugin dir is rejected",
"loads": "yes",
"notes": "hooks run when enabled; a Claude Bash matcher may not match Droid's tool names (unmeasured); exit 2 and HSO deny both block",
"payload": "Claude Code snake_case, Droid tool names (Execute, Create)",
"source": "https://docs.factory.com/harness/plugins.md (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {
"shell": [
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/gemini_cli.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@
"date": "2026-08-28",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-source",
"date": "2026-08-28",
Expand Down Expand Up @@ -113,6 +118,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "n/a",
"hooks": "n/a",
"how": "n/a; extensions need gemini-extension.json",
"loads": "no",
"notes": "own hooks (not a Claude plugin): exit 2 and a top-level decision, recorded partial by CC-1; a one-shot gemini hooks migrate --from-claude exists",
"payload": "own events (BeforeTool), snake_case keys",
"source": "google-gemini/gemini-cli@ed96fae docs/extensions/reference.md (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {
"shell": [
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/goose.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@
"date": "2026-10-11",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-10-11",
Expand Down Expand Up @@ -101,6 +106,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "partial",
"hooks": "yes",
"how": "place the folder in .agents/plugins/<name>/ or ~/.agents/plugins/<name>/ (loads by layout; .claude-plugin/plugin.json is not a goose manifest); no ~/.claude/plugins, no Claude marketplace",
"loads": "partial",
"notes": "hooks/hooks.json runs; exit 2 or {\"decision\":\"block\"} blocks; HSO is not parsed",
"payload": "own: key event, not hook_event_name; goose tool names (developer__shell)",
"source": "block/goose@bfcc6ee crates/goose/src/plugins/formats/open_plugins.rs, crates/goose/src/hooks/mod.rs (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {
"shell": [
Expand Down
15 changes: 15 additions & 0 deletions src/agentseam/data/vendors/grok.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@
"date": "2026-10-13",
"test": "tests/test_adapter_grok.py::test_tool_failure_also_wires_permission_denied"
},
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_grok_carries_the_witness_and_no_other_agent_does"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-08-26",
Expand Down Expand Up @@ -127,6 +132,16 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "yes",
"hooks": "yes",
"how": "scans ~/.claude/plugins/*/ (user, auto-trusted) and .claude/plugins/*/ (project, needs trust), plus installed_plugins.json; grok plugin install <dir> --trust; manifest fallback .claude-plugin/plugin.json; off until enabled",
"loads": "yes",
"notes": "hooks run when enabled and trusted; HSO deny and exit 2 block, other failures fail open",
"payload": "grok's camelCase envelope with additive Claude snake_case aliases; camelCase authoritative; grok tool names (run_terminal_command)",
"source": "xai-org/grok-build@2bdd1d6 crates/codegen/xai-grok-agent/src/plugins/discovery.rs, docs/user-guide/10-hooks.md (org-plan discovery/2026-10-17-claude-plugin-compat.md)",
"witnessed": "guard and gate refusal: Grok Build 1.0.62 on Windows 11, 2026-10-17; guard and gate refused with the plugin installed by Claude Code, gate refused with it installed by grok plugin install <dir> --trust (org-plan witness/results/witness-grok-claude-plugin-2026-10-17.md at 25b9d9d)"
},
"needs_trust": true,
"tools": {},
"verdicts": {
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/junie.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@
"date": "2026-08-26",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-08-26",
Expand Down Expand Up @@ -99,6 +104,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "partial",
"hooks": "yes",
"how": "through a Claude-format marketplace: /extensions marketplace add with a .claude-plugin/marketplace.json index; interactive install; cached in ~/.junie/extensions/",
"loads": "yes",
"notes": "per-extension manifest undocumented; hooks are Early Access; exit 2 and a top-level decision block, HSO not documented as blocking",
"payload": "Claude Code (hook_event_name, tool_name: \"Bash\")",
"source": "https://junie.jetbrains.com/docs/junie-cli-extensions.html (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {},
"verdicts": {
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/kimi_code.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@
"date": "2026-08-26",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-08-26",
Expand Down Expand Up @@ -110,6 +115,15 @@
"matcher": true,
"wrapper": "flat_list"
},
"loads_claude_plugins": {
"deny_reply": "n/a",
"hooks": "n/a",
"how": "n/a; manifest is kimi.plugin.json or .kimi-plugin/plugin.json only",
"loads": "no",
"notes": "own hooks are Claude-shaped snake_case and honour HSO and exit 2",
"payload": "n/a",
"source": "https://www.kimi.com/code/docs/en/kimi-code-cli/customization/plugins.html (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {},
"verdicts": {
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/mistral_vibe.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@
"date": "2026-10-11",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-10-11",
Expand Down Expand Up @@ -102,6 +107,15 @@
"rule_name_prefix": "agentseam-",
"wrapper": "flat_list"
},
"loads_claude_plugins": {
"deny_reply": "unknown",
"hooks": "unknown",
"how": "detected and adapted: auto-discovery under ~/.vibe/plugins/ or .vibe/plugins/ (trusted folder); no install command",
"loads": "yes",
"notes": "the adapter reads hooks/hooks.json into HookProtocol.CLAUDE_CODE definitions, but no executor for them was found, and the vendor's two skill docs contradict each other",
"payload": "unknown",
"source": "mistralai/mistral-vibe@4ae5c59 vibe/core/plugins/_claude.py (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": true,
"tools": {
"shell": [
Expand Down
14 changes: 14 additions & 0 deletions src/agentseam/data/vendors/openhands.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@
"date": "2026-10-11",
"test": "tests/test_golden_fixtures.py::test_hook_config_matches_the_frozen_fixture_on_both_matcher_paths"
},
"loads_claude_plugins": {
"basis": "vendor-docs",
"date": "2026-10-17",
"test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
},
"tools": {
"basis": "vendor-docs",
"date": "2026-10-11",
Expand Down Expand Up @@ -92,6 +97,15 @@
"matcher": true,
"wrapper": "hooks_map"
},
"loads_claude_plugins": {
"deny_reply": "partial",
"hooks": "yes",
"how": "openhands --plugin /path; .claude-plugin/ is a supported metadata dir; marketplaces from .claude-plugin/marketplace.json",
"loads": "yes",
"notes": "hooks/hooks.json runs; exit 2 and a top-level decision: deny block; HSO is not parsed",
"payload": "mixed: snake_case tool_name/tool_input, but event key event_type (not hook_event_name); OpenHands tool names",
"source": "https://docs.openhands.dev/overview/plugins; OpenHands/software-agent-sdk@5966c78 openhands-sdk/openhands/sdk/hooks/types.py (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
},
"needs_trust": false,
"tools": {
"shell": [
Expand Down
Loading
Loading