{
  "manifest": {
    "id": "exemplo.diagnostico",
    "name": "Diagnóstico do projeto",
    "publisher": "Exemplo PrumoGrid",
    "version": "1.0.0",
    "apiVersion": 1,
    "description": "Lista projetos e abre um PowerShell de diagnóstico no Projeto-demo.",
    "permissions": [
      "code.execute",
      "projects.read",
      "terminal.create"
    ],
    "commands": [
      {
        "id": "listar-projetos",
        "title": "1. Mostrar projetos"
      },
      {
        "id": "abrir-diagnostico",
        "title": "2. Abrir diagnóstico"
      }
    ]
  },
  "source": "'use strict';\n// SPDX-License-Identifier: Apache-2.0\n// Troque pelo nome EXATO do projeto cadastrado no PrumoGrid.\nconst PROJECT_NAME = 'Projeto-demo';\n\nexports.activate = (api) => {\n  // Mesmo ID declarado em extension.json → commands[].id.\n  api.commands.register('listar-projetos', async () => {\n    const projects = await api.projects.list();\n    const names = projects.map(project => project.name).join(', ');\n    await api.window.showMessage(\n      `Projetos: ${names || 'nenhum cadastrado'}`.slice(0, 900)\n    );\n  });\n\n  api.commands.register('abrir-diagnostico', async () => {\n    const projects = await api.projects.list();\n    const matches = projects.filter(project => project.name === PROJECT_NAME);\n\n    // Não escolhe outro projeto silenciosamente.\n    if (matches.length !== 1) {\n      await api.window.showMessage(\n        `Cadastre exatamente um projeto chamado ${PROJECT_NAME}. ` +\n        'Use Mostrar projetos para conferir os nomes.'\n      );\n      return;\n    }\n\n    // Abre um NOVO terminal, sem escrever nos que já estão em uso.\n    await api.terminal.create({\n      projectId: matches[0].id,\n      title: 'Diagnóstico por plugin',\n      command: \"Write-Output 'PrumoGrid plugin OK'; Get-Location; $PSVersionTable.PSVersion\"\n    });\n  });\n};\n"
}
