{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "CommandMigration": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "ExternalAgentConfigMigrationItem": {
      "properties": {
        "cwd": {
          "description": "Null or empty means home-scoped migration; non-empty means repo-scoped migration.",
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": "string"
        },
        "details": {
          "anyOf": [
            {
              "$ref": "#/definitions/MigrationDetails"
            },
            {
              "type": "null"
            }
          ]
        },
        "itemType": {
          "$ref": "#/definitions/ExternalAgentConfigMigrationItemType"
        }
      },
      "required": [
        "description",
        "itemType"
      ],
      "type": "object"
    },
    "ExternalAgentConfigMigrationItemType": {
      "enum": [
        "AGENTS_MD",
        "CONFIG",
        "SKILLS",
        "PLUGINS",
        "MCP_SERVER_CONFIG",
        "SUBAGENTS",
        "HOOKS",
        "COMMANDS",
        "SESSIONS"
      ],
      "type": "string"
    },
    "HookMigration": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "McpServerMigration": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "MigrationDetails": {
      "properties": {
        "commands": {
          "default": [],
          "items": {
            "$ref": "#/definitions/CommandMigration"
          },
          "type": "array"
        },
        "hooks": {
          "default": [],
          "items": {
            "$ref": "#/definitions/HookMigration"
          },
          "type": "array"
        },
        "mcpServers": {
          "default": [],
          "items": {
            "$ref": "#/definitions/McpServerMigration"
          },
          "type": "array"
        },
        "plugins": {
          "default": [],
          "items": {
            "$ref": "#/definitions/PluginsMigration"
          },
          "type": "array"
        },
        "sessions": {
          "default": [],
          "items": {
            "$ref": "#/definitions/SessionMigration"
          },
          "type": "array"
        },
        "subagents": {
          "default": [],
          "items": {
            "$ref": "#/definitions/SubagentMigration"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PluginsMigration": {
      "properties": {
        "marketplaceName": {
          "type": "string"
        },
        "pluginNames": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "marketplaceName",
        "pluginNames"
      ],
      "type": "object"
    },
    "SessionMigration": {
      "properties": {
        "cwd": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "cwd",
        "path"
      ],
      "type": "object"
    },
    "SubagentMigration": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    }
  },
  "properties": {
    "migrationItems": {
      "items": {
        "$ref": "#/definitions/ExternalAgentConfigMigrationItem"
      },
      "type": "array"
    }
  },
  "required": [
    "migrationItems"
  ],
  "title": "ExternalAgentConfigImportParams",
  "type": "object"
}