// AUTO-GENERATED by scripts/gen-hook-config.ts — DO NOT EDIT.
// Run `npm run codegen` to regenerate.
//
// Full parsed symbiont manifests bundled for the compiled binary path.
// loadManifests() in symbionts/detect.ts prefers the filesystem candidates
// (source/dist layouts) when they're populated and falls back to this array
// for the compiled-Bun case where manifest YAMLs aren't enumerable on disk.

import type { SymbiontManifest } from './manifest-schema.js';

export const BUNDLED_MANIFESTS: readonly SymbiontManifest[] = [
  {
    "name": "antigravity",
    "displayName": "Google Antigravity",
    "binary": "antigravity",
    "configDir": ".agents/plugins/myco",
    "detectionDir": "~/.gemini",
    "pluginRootEnvVar": "ANTIGRAVITY_PLUGIN_ROOT",
    "hookFields": {
      "sessionId": "conversationId",
      "transcriptPath": "transcriptPath",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "toolCall.name",
      "toolInput": "toolCall.args",
      "toolOutput": "tool_output"
    },
    "capture": {
      "planDirs": [
        ".agents/plugins/myco/plans/"
      ],
      "planTags": [],
      "rules": []
    },
    "registration": {
      "hooksTarget": ".agents/plugins/myco/hooks.json",
      "globalHooksTarget": "~/.gemini/config/plugins/myco/hooks.json",
      "globalMcpTarget": [
        {
          "path": "~/.gemini/config/plugins/myco/mcp_config.json"
        }
      ],
      "globalSkillsTarget": "~/.gemini/antigravity/skills",
      "pluginManifestTarget": ".agents/plugins/myco/plugin.json",
      "globalPluginManifestTarget": "~/.gemini/config/plugins/myco/plugin.json",
      "hooksFormat": "plugin-file",
      "hooksTemplateFile": "hooks.json",
      "hookResponse": {
        "format": "antigravity-inject-steps"
      },
      "mcpTarget": ".agents/plugins/myco/mcp_config.json",
      "mcpFormat": "json",
      "mcpServersKey": "mcpServers",
      "settingsFormat": "json"
    },
    "capabilities": {
      "preToolUseInjection": false,
      "sessionStartInjection": true,
      "subagentStartInjection": false,
      "toolTransport": "cli",
      "canopyReadTools": [],
      "pathBearingTools": [
        {
          "tool": "view_file",
          "pathField": "AbsolutePath",
          "pathKind": "file"
        },
        {
          "tool": "write_to_file",
          "pathField": "TargetFile",
          "pathKind": "file"
        },
        {
          "tool": "read_file",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "replace",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "run_shell_command",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        }
      ]
    },
    "hooks": {}
  },
  {
    "name": "claude-code",
    "displayName": "Claude Code",
    "binary": "claude",
    "configDir": ".claude",
    "detectionDir": "~/.claude",
    "pluginRootEnvVar": "CLAUDE_PLUGIN_ROOT",
    "settingsPath": ".claude/settings.json",
    "hookFields": {
      "sessionId": "session_id",
      "transcriptPath": "transcript_path",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "tool_name",
      "toolInput": "tool_input",
      "toolOutput": "tool_output"
    },
    "resumeCommand": "claude --resume {sessionId}",
    "capture": {
      "planDirs": [
        "~/.claude/plans/",
        ".claude/plans/"
      ],
      "planTags": [
        "ultraplan"
      ],
      "rules": [
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<command-message>"
          },
          "action": "drop",
          "reason": "claude-code-slash-command-dispatch",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<command-name>"
          },
          "action": "drop",
          "reason": "claude-code-builtin-command-dispatch",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<local-command-stdout>"
          },
          "action": "drop",
          "reason": "claude-code-builtin-command-stdout",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<task-notification>"
          },
          "action": "classify",
          "reason": "claude-code-task-notification",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<skill>"
          },
          "action": "classify",
          "reason": "claude-code-skill-envelope",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<teammate-message "
          },
          "action": "classify",
          "reason": "claude-code-teammate-message",
          "trim": true,
          "set_origin": "agent_dispatch"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<environment_context>"
          },
          "action": "classify",
          "reason": "claude-code-environment-context",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<<autonomous-loop"
          },
          "action": "classify",
          "reason": "claude-code-autonomous-loop",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<local-command-caveat>"
          },
          "action": "classify",
          "reason": "claude-code-local-command-caveat",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<persisted-output>"
          },
          "action": "classify",
          "reason": "claude-code-persisted-output",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<system-reminder>"
          },
          "action": "classify",
          "reason": "claude-code-system-reminder",
          "trim": true,
          "set_origin": "system"
        }
      ],
      "prompts": {
        "shapes": [
          {
            "name": "teammate_message",
            "match": {
              "type": "user",
              "fieldNotEquals": {
                "isMeta": true
              }
            },
            "textAt": "message.content",
            "textStartsWith": "<teammate-message",
            "dedupeBy": "uuid"
          },
          {
            "name": "user_prompt",
            "match": {
              "type": "user",
              "hasField": "promptId",
              "fieldNotEquals": {
                "isMeta": true
              }
            },
            "textAt": "message.content",
            "dedupeBy": "promptId"
          },
          {
            "name": "queued_command",
            "match": {
              "type": "attachment",
              "fieldEquals": {
                "attachment.type": "queued_command"
              }
            },
            "textAt": "attachment.prompt",
            "dedupeBy": "uuid"
          }
        ],
        "resetBoundaries": [
          {
            "match": {
              "type": "assistant",
              "fieldEquals": {
                "message.stop_reason": "end_turn"
              }
            }
          }
        ],
        "interruptMarker": "[Request interrupted by user for tool use]"
      }
    },
    "registration": {
      "hooksTarget": ".claude/settings.json",
      "globalHooksTarget": "~/.claude/settings.json",
      "globalMcpTarget": [
        {
          "path": "~/.claude/settings.json"
        }
      ],
      "globalSkillsTarget": "~/.claude/skills",
      "globalSettingsTarget": "~/.claude/settings.json",
      "hooksFormat": "json",
      "mcpTarget": ".mcp.json",
      "mcpFormat": "json",
      "mcpServersKey": "mcpServers",
      "skillsTarget": ".claude/skills",
      "settingsTarget": ".claude/settings.json",
      "settingsFormat": "json",
      "instructionsFile": "CLAUDE.md"
    },
    "capabilities": {
      "preToolUseInjection": true,
      "sessionStartInjection": true,
      "subagentStartInjection": true,
      "toolTransport": "mcp",
      "canopyReadTools": [
        {
          "tool": "Read",
          "pathField": "file_path",
          "pathKind": "file"
        }
      ],
      "pathBearingTools": [
        {
          "tool": "Read",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Write",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Edit",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "MultiEdit",
          "pathField": "file_path",
          "pathKind": "file"
        }
      ]
    },
    "hooks": {
      "Stop": {
        "phases": [
          "response",
          "transcript"
        ]
      }
    }
  },
  {
    "name": "codex",
    "displayName": "Codex",
    "binary": "codex",
    "configDir": ".codex",
    "detectionDir": "~/.codex",
    "pluginRootEnvVar": "CODEX_PLUGIN_ROOT",
    "settingsPath": ".codex/config.toml",
    "hookFields": {
      "sessionId": "session_id",
      "transcriptPath": "transcript_path",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "tool_name",
      "toolInput": "tool_input",
      "toolOutput": "tool_output"
    },
    "resumeCommand": "codex --resume {sessionId}",
    "capture": {
      "planDirs": [],
      "planTags": [
        "update_plan"
      ],
      "rules": [
        {
          "event": "session_start",
          "scope": "any_agent",
          "when": {
            "transcript_path_missing": true
          },
          "action": "drop",
          "reason": "ephemeral-sub-invocation",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "any_agent",
          "when": {
            "transcript_path_missing": true
          },
          "action": "drop",
          "reason": "ephemeral-sub-invocation",
          "trim": true
        },
        {
          "event": "session_start",
          "scope": "this_agent",
          "when": {
            "transcript_meta_field_exists": "source.subagent"
          },
          "action": "drop",
          "reason": "subagent-thread-spawn",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "transcript_meta_field_exists": "source.subagent"
          },
          "action": "drop",
          "reason": "subagent-thread-spawn",
          "trim": true
        },
        {
          "event": "session_start",
          "scope": "this_agent",
          "when": {
            "transcript_meta_field_equals": {
              "path": "source",
              "value": "exec"
            }
          },
          "action": "drop",
          "reason": "noninteractive-exec",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "transcript_meta_field_equals": {
              "path": "source",
              "value": "exec"
            }
          },
          "action": "drop",
          "reason": "noninteractive-exec",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "# AGENTS.md instructions"
          },
          "action": "drop",
          "reason": "agents-md-context-injection",
          "trim": true
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<subagent_notification>"
          },
          "action": "classify",
          "reason": "codex-subagent-notification",
          "trim": true,
          "set_origin": "agent_dispatch"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<environment_context>"
          },
          "action": "classify",
          "reason": "codex-environment-context",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<skill>"
          },
          "action": "classify",
          "reason": "codex-skill-envelope",
          "trim": true,
          "set_origin": "system"
        },
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_contains": "## My request for Codex:"
          },
          "action": "rewrite_prompt",
          "reason": "codex-desktop-file-preamble",
          "extract_after": "## My request for Codex:\n",
          "trim": true
        }
      ],
      "prompts": {
        "shapes": [
          {
            "name": "user_message",
            "match": {
              "type": "response_item",
              "fieldEquals": {
                "payload.type": "message",
                "payload.role": "user"
              }
            },
            "textAt": "payload.content[0].text"
          }
        ],
        "resetBoundaries": [
          {
            "match": {
              "type": "turn_context"
            },
            "changeOn": "payload.turn_id"
          }
        ],
        "interruptMarker": "<turn_aborted>"
      }
    },
    "registration": {
      "hooksTarget": ".codex/hooks.json",
      "globalHooksTarget": "~/.codex/hooks.json",
      "globalMcpTarget": [
        {
          "path": "~/.codex/config.toml"
        }
      ],
      "globalSkillsTarget": "~/.codex/skills",
      "globalSettingsTarget": "~/.codex/config.toml",
      "hooksFormat": "json",
      "mcpTarget": ".codex/config.toml",
      "mcpFormat": "toml",
      "mcpServersKey": "mcpServers",
      "skillsTarget": ".agents/skills",
      "settingsTarget": ".codex/config.toml",
      "settingsFormat": "toml"
    },
    "capabilities": {
      "preToolUseInjection": true,
      "sessionStartInjection": true,
      "subagentStartInjection": true,
      "toolTransport": "cli",
      "canopyReadTools": [
        {
          "tool": "Bash",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        }
      ],
      "pathBearingTools": [
        {
          "tool": "Bash",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        },
        {
          "tool": "apply_patch",
          "pathField": "command",
          "extract": "patch"
        }
      ]
    },
    "hooks": {
      "Stop": {
        "phases": [
          "response",
          "transcript"
        ]
      }
    }
  },
  {
    "name": "copilot",
    "displayName": "GitHub Copilot",
    "binary": "copilot",
    "configDir": ".vscode",
    "detectionDir": "~/.copilot",
    "pluginRootEnvVar": "COPILOT_PLUGIN_ROOT",
    "hookFields": {
      "sessionId": "session_id",
      "transcriptPath": "transcript_path",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "tool_name",
      "toolInput": "tool_input",
      "toolOutput": "tool_response"
    },
    "capture": {
      "planDirs": [],
      "planTags": [],
      "rules": []
    },
    "registration": {
      "hooksTarget": ".github/hooks/myco-hooks.json",
      "globalHooksTarget": "~/.copilot/hooks/myco-hooks.json",
      "globalMcpTarget": [
        {
          "path": "~/.copilot/mcp-config.json",
          "serversKey": "mcpServers"
        },
        {
          "path": "~/Library/Application Support/Code/User/mcp.json",
          "serversKey": "servers"
        }
      ],
      "globalSkillsTarget": "~/.copilot/skills",
      "globalSettingsTarget": "~/.copilot/hooks/myco-hooks.json",
      "hooksFormat": "json",
      "mcpTarget": ".vscode/mcp.json",
      "mcpFormat": "json",
      "mcpServersKey": "mcpServers",
      "skillsTarget": ".agents/skills",
      "settingsTarget": ".vscode/settings.json",
      "settingsFormat": "json",
      "instructionsFile": ".github/copilot-instructions.md"
    },
    "capabilities": {
      "preToolUseInjection": true,
      "sessionStartInjection": true,
      "subagentStartInjection": true,
      "toolTransport": "mcp",
      "canopyReadTools": [
        {
          "tool": "read_file",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "run_in_terminal",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        },
        {
          "tool": "view",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "bash",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        },
        {
          "tool": "powershell",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl",
            "Get-Content",
            "gc"
          ]
        },
        {
          "tool": "grep",
          "pathField": "path",
          "pathKind": "file"
        }
      ],
      "pathBearingTools": [
        {
          "tool": "read_file",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "run_in_terminal",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        },
        {
          "tool": "replace_string_in_file",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "create_file",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "apply_patch",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "view",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "bash",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        },
        {
          "tool": "powershell",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl",
            "Get-Content",
            "gc"
          ]
        },
        {
          "tool": "edit",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "create",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "grep",
          "pathField": "path",
          "pathKind": "file"
        }
      ]
    },
    "hooks": {
      "Stop": {
        "phases": [
          "response",
          "transcript"
        ]
      }
    }
  },
  {
    "name": "cursor",
    "displayName": "Cursor",
    "binary": "cursor",
    "configDir": ".cursor",
    "detectionDir": "~/.cursor",
    "pluginRootEnvVar": "CURSOR_PLUGIN_ROOT",
    "settingsPath": ".cursor/mcp.json",
    "hookFields": {
      "sessionId": "conversation_id",
      "transcriptPath": "transcript_path",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "tool_name",
      "toolInput": "tool_input",
      "toolOutput": "tool_output"
    },
    "capture": {
      "planDirs": [
        "~/.cursor/plans/",
        ".cursor/plans/"
      ],
      "planTags": [],
      "rules": [
        {
          "event": "user_prompt",
          "scope": "this_agent",
          "when": {
            "prompt_starts_with": "<user_query>"
          },
          "action": "rewrite_prompt",
          "reason": "strip Cursor user_query envelope",
          "strip_envelope": {
            "open": "<user_query>",
            "close": "</user_query>"
          },
          "trim": true
        }
      ]
    },
    "registration": {
      "hooksTarget": ".cursor/hooks.json",
      "globalHooksTarget": "~/.cursor/hooks.json",
      "globalMcpTarget": [
        {
          "path": "~/.cursor/mcp.json"
        }
      ],
      "globalSkillsTarget": "~/.cursor/skills",
      "globalSettingsTarget": "~/.cursor/hooks.json",
      "hooksFormat": "json",
      "hooksConfigVersion": 1,
      "hookResponse": {
        "format": "json",
        "fieldNames": {
          "additionalContext": "additional_context",
          "continue": "continue",
          "stopReason": "stop_reason",
          "userMessage": "user_message",
          "followupMessage": "followup_message",
          "systemMessage": "system_message"
        }
      },
      "mcpTarget": ".cursor/mcp.json",
      "mcpFormat": "json",
      "mcpServersKey": "mcpServers",
      "skillsTarget": ".cursor/skills",
      "settingsTarget": ".cursor/settings.json",
      "settingsFormat": "json"
    },
    "capabilities": {
      "preToolUseInjection": false,
      "sessionStartInjection": true,
      "subagentStartInjection": false,
      "toolTransport": "cli",
      "canopyReadTools": [],
      "pathBearingTools": [
        {
          "tool": "Read",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Write",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Edit",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "MultiEdit",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Delete",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Grep",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "Shell",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        }
      ]
    },
    "hooks": {}
  },
  {
    "name": "opencode",
    "displayName": "OpenCode",
    "binary": "opencode",
    "configDir": ".opencode",
    "detectionDir": "~/.config/opencode",
    "pluginRootEnvVar": "OPENCODE_PLUGIN_ROOT",
    "hookFields": {
      "sessionId": "session_id",
      "transcriptPath": "transcript_path",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "tool_name",
      "toolInput": "tool_input",
      "toolOutput": "tool_output"
    },
    "resumeCommand": "opencode --session {sessionId}",
    "capture": {
      "planDirs": [
        ".opencode/plans/"
      ],
      "planTags": [],
      "rules": []
    },
    "registration": {
      "hooksTarget": ".opencode/plugins/myco.ts",
      "globalHooksTarget": "~/.config/opencode/plugins/myco.ts",
      "globalMcpTarget": [
        {
          "path": "~/.config/opencode/opencode.json"
        }
      ],
      "globalSkillsTarget": "~/.config/opencode/skills",
      "hooksFormat": "plugin-file",
      "pluginPackageTarget": ".opencode/package.json",
      "mcpTarget": "opencode.json",
      "mcpFormat": "json",
      "mcpServersKey": "mcp",
      "skillsTarget": ".agents/skills",
      "settingsTarget": "opencode.json",
      "settingsFormat": "json"
    },
    "capabilities": {
      "preToolUseInjection": false,
      "sessionStartInjection": true,
      "subagentStartInjection": false,
      "toolTransport": "mcp",
      "canopyReadTools": [],
      "pathBearingTools": [
        {
          "tool": "read",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "write",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "edit",
          "pathField": "filePath",
          "pathKind": "file"
        },
        {
          "tool": "apply_patch",
          "pathField": "patchText",
          "extract": "patch"
        },
        {
          "tool": "bash",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        }
      ]
    },
    "hooks": {}
  },
  {
    "name": "pi",
    "displayName": "Pi",
    "binary": "pi",
    "configDir": ".pi",
    "detectionDir": "~/.pi",
    "pluginRootEnvVar": "PI_PLUGIN_ROOT",
    "hookFields": {
      "sessionId": "session_id",
      "transcriptPath": "transcript_path",
      "lastResponse": "last_assistant_message",
      "prompt": "prompt",
      "toolName": "tool_name",
      "toolInput": "tool_input",
      "toolOutput": "tool_output"
    },
    "capture": {
      "planDirs": [
        ".pi/plans/"
      ],
      "planTags": [],
      "rules": []
    },
    "registration": {
      "hooksTarget": ".pi/extensions/myco/index.ts",
      "globalHooksTarget": "~/.pi/agent/extensions/myco/index.ts",
      "globalMcpTarget": null,
      "globalSkillsTarget": "~/.pi/agent/skills",
      "hooksFormat": "plugin-file",
      "pluginPackageTarget": ".pi/extensions/myco/package.json",
      "mcpFormat": "json",
      "mcpServersKey": "mcpServers",
      "skillsTarget": ".agents/skills",
      "settingsFormat": "json"
    },
    "capabilities": {
      "preToolUseInjection": false,
      "sessionStartInjection": true,
      "subagentStartInjection": false,
      "toolTransport": "mcp",
      "canopyReadTools": [],
      "pathBearingTools": [
        {
          "tool": "read",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "write",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "edit",
          "pathField": "path",
          "pathKind": "file"
        },
        {
          "tool": "bash",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        }
      ]
    },
    "hooks": {}
  },
  {
    "name": "windsurf",
    "displayName": "Windsurf",
    "binary": "windsurf",
    "configDir": ".windsurf",
    "detectionDir": "~/.codeium/windsurf",
    "pluginRootEnvVar": "WINDSURF_PLUGIN_ROOT",
    "hookFields": {
      "sessionId": "trajectory_id",
      "transcriptPath": "tool_info.transcript_path",
      "lastResponse": "tool_info.response",
      "prompt": "tool_info.user_prompt",
      "toolName": "agent_action_name",
      "toolInput": "tool_info",
      "toolOutput": "tool_output"
    },
    "capture": {
      "planDirs": [
        "~/.windsurf/plans/"
      ],
      "planTags": [],
      "rules": []
    },
    "registration": {
      "hooksTarget": ".windsurf/hooks.json",
      "globalHooksTarget": "~/.codeium/windsurf/hooks.json",
      "globalMcpTarget": [
        {
          "path": "~/.codeium/windsurf/mcp_config.json"
        }
      ],
      "globalSkillsTarget": "~/.codeium/windsurf/skills",
      "globalSettingsTarget": null,
      "hooksFormat": "json",
      "mcpFormat": "json",
      "mcpServersKey": "mcpServers",
      "skillsTarget": ".agents/skills",
      "settingsTarget": ".windsurf/settings.json",
      "settingsFormat": "json"
    },
    "capabilities": {
      "preToolUseInjection": false,
      "sessionStartInjection": false,
      "subagentStartInjection": false,
      "toolTransport": "cli",
      "canopyReadTools": [],
      "pathBearingTools": [
        {
          "tool": "post_write_code",
          "pathField": "file_path",
          "pathKind": "file"
        },
        {
          "tool": "post_run_command",
          "pathField": "command",
          "extract": "shell-arg",
          "readCommands": [
            "cat",
            "head",
            "tail",
            "less",
            "more",
            "bat",
            "wc",
            "file",
            "nl",
            "sed",
            "awk",
            "grep",
            "rg",
            "perl"
          ]
        }
      ]
    },
    "hooks": {
      "post_cascade_response": {
        "phases": [
          "response"
        ]
      },
      "post_cascade_response_with_transcript": {
        "phases": [
          "transcript"
        ]
      }
    }
  }
] as const;
