export const JsonMensagens = {
    comum: {
        timestamp: {
            label: 'timestamp',
            descricao: '报告生成的日期和时间(ISO 8601)'
        },
        versao: {
            label: 'versao',
            descricao: '生成此报告的Tutanus版本'
        },
        schemaVersion: {
            label: 'schemaVersion',
            descricao: 'JSON模式版本(用于向后兼容)'
        },
        duracao: {
            label: 'duracaoMs',
            descricao: '总执行时长(毫秒)'
        }
    },
    diagnostico: {
        root: {
            label: 'diagnostico',
            descricao: '完整的项目诊断结果'
        },
        totalArquivos: {
            label: 'totalArquivos',
            descricao: '扫描的文件总数'
        },
        ocorrencias: {
            label: 'ocorrencias',
            descricao: '分析器检测到的所有出现列表',
            campos: {
                tipo: '出现类型/类别',
                nivel: '严重级别(信息、警告、错误)',
                mensagem: '详细问题描述',
                relPath: '相对文件路径',
                linha: '问题所在行',
                coluna: '问题所在列',
                contexto: '附加上下文(代码片段)'
            }
        },
        metricas: {
            label: 'metricas',
            descricao: '聚合的项目指标',
            campos: {
                totalLinhas: '分析的代码总行数',
                totalArquivos: '处理的文件总数',
                arquivosComErro: '解析失败的文件',
                tempoTotal: '总处理时间'
            }
        },
        linguagens: {
            label: 'linguagens',
            descricao: '项目中的语言使用统计',
            campos: {
                total: '代码文件总数',
                extensoes: '扩展名 -> 数量映射'
            }
        },
        parseErros: {
            label: 'parseErros',
            descricao: '分组的解析错误',
            campos: {
                total: '解析错误总数',
                porArquivo: '文件 -> 错误列表映射',
                agregado: '指示错误是否已聚合'
            }
        }
    },
    estrutura: {
        root: {
            label: 'estruturaIdentificada',
            descricao: '项目结构和原型识别'
        },
        melhores: {
            label: 'melhores',
            descricao: '最佳原型候选的有序列表',
            campos: {
                nome: '原型名称',
                score: '计算得分',
                confidence: '置信度(%)',
                descricao: '原型描述',
                matchedRequired: '找到的必需文件',
                missingRequired: '缺少的必需文件',
                matchedOptional: '找到的可选文件'
            }
        },
        baseline: {
            label: 'baseline',
            descricao: '保存的结构快照,用于漂移检测',
            campos: {
                arquetipo: '已识别的原型',
                confidence: '保存时的置信度',
                timestamp: '快照日期',
                arquivosRaiz: '根文件列表'
            }
        },
        drift: {
            label: 'drift',
            descricao: '检测到的相对于基线的变化',
            campos: {
                alterouArquetipo: '原型是否更改',
                deltaConfidence: '置信度百分比变化',
                arquivosRaizNovos: '新的根文件',
                arquivosRaizRemovidos: '已删除的根文件'
            }
        }
    },
    guardian: {
        root: {
            label: 'guardian',
            descricao: '代码完整性和保护验证'
        },
        status: {
            label: 'status',
            opcoes: {
                sucesso: '验证成功,无更改',
                alteracoes: '检测到受保护文件中的更改',
                baseline: '已创建基线(首次运行)',
                erro: '验证过程中出错',
                naoExecutada: 'Guardian 未执行'
            }
        },
        totalArquivos: {
            label: 'totalArquivos',
            descricao: '受保护文件的数量'
        },
        alteracoes: {
            label: 'alteracoes',
            descricao: '检测到的更改列表',
            campos: {
                arquivo: '修改的文件路径',
                hashAnterior: '先前的SHA-256哈希',
                hashAtual: '当前的SHA-256哈希',
                acao: '操作类型(修改、添加、删除)'
            }
        }
    },
    poda: {
        root: {
            label: 'poda',
            descricao: '标记为删除的文件/目录报告'
        },
        pendencias: {
            label: 'pendencias',
            descricao: '待删除的项目列表',
            campos: {
                caminho: '完整路径',
                tipo: '文件或目录',
                motivoOriginal: '标记原因',
                timestamp: '标记日期'
            }
        },
        reativar: {
            label: 'listaReativar',
            descricao: '标记为重新激活的项目列表'
        },
        historico: {
            label: 'historico',
            descricao: '执行的修剪操作历史',
            campos: {
                acao: '操作类型(删除、重新激活、待处理)',
                caminho: '受影响的路径',
                timestamp: '操作日期',
                usuario: '执行用户'
            }
        }
    },
    reestruturar: {
        root: {
            label: 'reestruturacao',
            descricao: '项目重组计划'
        },
        movimentos: {
            label: 'movimentos',
            descricao: '计划的文件移动列表',
            campos: {
                id: '唯一移动ID',
                origem: '源路径',
                destino: '目标路径',
                razao: '移动原因',
                status: '状态(安全区、已阻止、待处理)',
                dependencias: '受影响的依赖文件'
            }
        },
        conflitos: {
            label: 'conflitos',
            descricao: '检测到的阻止移动的冲突',
            campos: {
                tipo: '冲突类型',
                arquivos: '涉及的文件',
                descricao: '冲突描述',
                resolucaoSugerida: '如何解决'
            }
        },
        resumo: {
            label: 'resumo',
            descricao: '计划统计摘要',
            campos: {
                total: '总移动数',
                zonaVerde: '安全移动',
                bloqueados: '已阻止的移动',
                impactoEstimado: '受影响文件数量'
            }
        }
    },
    filtroInteligente: {
        root: {
            label: 'relatorioResumo',
            descricao: '带有优先级问题的筛选报告'
        },
        problemasCriticos: {
            label: 'problemasCriticos',
            descricao: '严重程度为关键的问题(安全、数据)'
        },
        problemasAltos: {
            label: 'problemasAltos',
            descricao: '高优先级问题(错误、脆弱代码)'
        },
        problemasOutros: {
            label: 'problemasOutros',
            descricao: '其他问题(低/中优先级)'
        },
        estatisticas: {
            label: 'estatisticas',
            descricao: '智能分组统计',
            campos: {
                totalOcorrencias: '处理的总出现次数',
                arquivosAfetados: '受影响的唯一文件数',
                problemasPrioritarios: '关键 + 高优先级问题',
                problemasAgrupados: '创建的组数'
            }
        }
    }
};
export function wrapComMetadados(data, schema, versao, descricao) {
    return {
        _metadata: {
            schema,
            versao,
            geradoEm: new Date().toISOString(),
            descricao
        },
        dados: data
    };
}
export const CAMPO_ROTULOS = {
    modo: '模式',
    projectNome: '项目名称',
    filtros: '过滤器',
    arquivosAnalisados: '已分析文件数',
    arquivosComProblemas: '问题文件数',
    totalOcorrencias: '总出现次数',
    porNivel: '按级别',
    erro: '错误',
    aviso: '警告',
    porCategoria: '按类别',
    tempoExecucao: '执行时间',
    ocorrencias: '出现',
    arquivo: '文件',
    linha: '行',
    coluna: '列',
    nivel: '级别',
    tipo: '类型',
    mensagem: '消息',
    contexto: '上下文',
    arquetipos: '架构类型',
    linguagens: '语言',
    extensoes: '扩展名',
    sugestoes: '建议',
    status: '状态',
    guardian: '守护者',
    tiposOcorrencias: '出现类型',
    parseErros: '解析错误',
    estruturaIdentificada: '已识别结构',
    metricas: '指标',
};
export function getDescricaoCampo(caminho) {
    const parts = caminho.split('.');
    let current = JsonMensagens;
    for (const part of parts) {
        if (typeof current === 'object' && current !== null && part in current) {
            current = current[part];
        }
        else {
            return `字段: ${caminho}`;
        }
    }
    if (typeof current === 'object' && current !== null && 'descricao' in current && typeof current.descricao === 'string') {
        return current.descricao;
    }
    return `字段: ${caminho}`;
}
//# sourceMappingURL=json-messages.js.map