@cldmv/slothlet 3.9.1 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -17
- package/REFERENCE.md +19 -19
- package/dist/lib/builders/api_builder.mjs +1 -1
- package/dist/lib/builders/builder.mjs +1 -1
- package/dist/lib/builders/modes-processor.mjs +1 -1
- package/dist/lib/handlers/api-cache-manager.mjs +1 -1
- package/dist/lib/handlers/api-manager.mjs +1 -1
- package/dist/lib/handlers/hook-manager.mjs +1 -1
- package/dist/lib/handlers/permission-manager.mjs +1 -1
- package/dist/lib/helpers/class-instance-wrapper.mjs +1 -1
- package/dist/lib/helpers/config.mjs +1 -1
- package/dist/lib/helpers/generate-manifest.mjs +1 -1
- package/dist/lib/helpers/module-discovery.mjs +1 -1
- package/dist/lib/helpers/module-manifest-validator.mjs +1 -1
- package/dist/lib/i18n/languages/de-de.json +90 -64
- package/dist/lib/i18n/languages/en-gb.json +90 -64
- package/dist/lib/i18n/languages/en-us.json +90 -64
- package/dist/lib/i18n/languages/es-es.json +90 -64
- package/dist/lib/i18n/languages/es-mx.json +90 -64
- package/dist/lib/i18n/languages/fr-fr.json +90 -64
- package/dist/lib/i18n/languages/hi-in.json +90 -64
- package/dist/lib/i18n/languages/ja-jp.json +90 -64
- package/dist/lib/i18n/languages/ko-kr.json +90 -64
- package/dist/lib/i18n/languages/pt-br.json +90 -64
- package/dist/lib/i18n/languages/ru-ru.json +92 -66
- package/dist/lib/i18n/languages/zh-cn.json +90 -64
- package/dist/lib/modes/eager.mjs +1 -1
- package/dist/lib/modes/lazy.mjs +1 -1
- package/package.json +7 -4
- package/types/dist/lib/builders/api_builder.d.mts.map +1 -1
- package/types/dist/lib/builders/builder.d.mts.map +1 -1
- package/types/dist/lib/builders/modes-processor.d.mts.map +1 -1
- package/types/dist/lib/handlers/api-cache-manager.d.mts.map +1 -1
- package/types/dist/lib/handlers/api-manager.d.mts.map +1 -1
- package/types/dist/lib/handlers/hook-manager.d.mts +10 -3
- package/types/dist/lib/handlers/hook-manager.d.mts.map +1 -1
- package/types/dist/lib/handlers/permission-manager.d.mts +2 -0
- package/types/dist/lib/handlers/permission-manager.d.mts.map +1 -1
- package/types/dist/lib/helpers/class-instance-wrapper.d.mts.map +1 -1
- package/types/dist/lib/helpers/config.d.mts +13 -0
- package/types/dist/lib/helpers/config.d.mts.map +1 -1
- package/types/dist/lib/helpers/generate-manifest.d.mts +10 -0
- package/types/dist/lib/helpers/generate-manifest.d.mts.map +1 -1
- package/types/dist/lib/helpers/module-discovery.d.mts.map +1 -1
- package/types/dist/lib/helpers/module-manifest-validator.d.mts.map +1 -1
- package/types/dist/lib/modes/eager.d.mts +2 -1
- package/types/dist/lib/modes/eager.d.mts.map +1 -1
- package/types/dist/lib/modes/lazy.d.mts +2 -1
- package/types/dist/lib/modes/lazy.d.mts.map +1 -1
|
@@ -1,54 +1,110 @@
|
|
|
1
1
|
{
|
|
2
2
|
"translations": {
|
|
3
3
|
"INVALID_CONFIG": "Configuração inválida: {option} é {value}, esperado {expected}. {hint}",
|
|
4
|
+
"HINT_INVALID_CONFIG": "Verifique o valor da configuração e certifique-se de que ele corresponde ao tipo e formato esperados.",
|
|
5
|
+
"INVALID_CONFIG_SYNTHETIC_EXPORTS_SHAPE": "Erro de configuração: exports inline deve ser um objeto simples de { default?, ...named }, recebido {received}.",
|
|
6
|
+
"HINT_INVALID_CONFIG_SYNTHETIC_EXPORTS_SHAPE": "Passe exports como um objeto simples, ex: { default: fn } ou { name: fn } — ou um wrapper { exports: { default?, ...named } }, ou uma função direta.",
|
|
7
|
+
"INVALID_CONFIG_SYNTHETIC_INPUT": "Erro de configuração: o conteúdo inline deve ser um objeto simples de exports { default?, ...named }, um wrapper { exports: … }, ou uma função direta, recebido {received}.",
|
|
8
|
+
"HINT_INVALID_CONFIG_SYNTHETIC_INPUT": "Passe exports inline como um objeto simples ou uma função direta; uma montagem de sistema de arquivos requer um caminho em string.",
|
|
9
|
+
"INVALID_CONFIG_SYNTHETIC_NAME": "Erro de configuração: syntheticName deve ser uma string não vazia, recebido {received}.",
|
|
10
|
+
"HINT_INVALID_CONFIG_SYNTHETIC_NAME": "Forneça um nome de chave em string para a construção sintética, ex: \"synthetic\".",
|
|
11
|
+
"INVALID_CONFIG_PRELOADED_STRUCTURE": "Erro de configuração: preloadedStructure deve ser um objeto simples com arrays files e directories, recebido {received}.",
|
|
12
|
+
"HINT_INVALID_CONFIG_PRELOADED_STRUCTURE": "preloadedStructure é construído internamente; passe um objeto com arrays files e directories, ou omita-o para escanear um diretório.",
|
|
4
13
|
"INVALID_CONFIG_DIR_MISSING": "Erro de configuração: a opção 'dir' é obrigatória. Forneça um caminho de diretório para carregar a API.",
|
|
14
|
+
"HINT_INVALID_CONFIG_DIR_MISSING": "O caminho do diretório é obrigatório, mas não foi fornecido.",
|
|
5
15
|
"INVALID_CONFIG_BROWSER_REQUIRES_MANIFEST": "Erro de configuração: 'manifest' é obrigatório quando env é 'browser'. Forneça um objeto manifest pré-gerado com os arrays 'files' e 'directories'.",
|
|
6
16
|
"INVALID_CONFIG_BROWSER_MANIFEST_INVALID": "Erro de configuração: 'manifest' deve ser um objeto simples com os arrays 'files' e 'directories'. Recebido: {received}",
|
|
7
17
|
"INVALID_CONFIG_BROWSER_RESOLVE_SPECIFIER_INVALID": "Erro de configuração: 'resolveModuleSpecifier' deve ser uma função quando env é 'browser'. Recebido: {received}",
|
|
8
18
|
"INVALID_CONFIG_DIR_INVALID": "Erro de configuração: 'dir' deve ser um caminho de string não vazio. Recebido: {dir}",
|
|
19
|
+
"HINT_INVALID_CONFIG_DIR_INVALID": "Certifique-se de que o caminho do diretório é uma string válida e aponta para um diretório existente.",
|
|
9
20
|
"INVALID_CONFIG_MODE_INVALID": "Erro de configuração: 'mode' deve ser 'eager' ou 'lazy'. Recebido: {value}",
|
|
21
|
+
"HINT_INVALID_CONFIG_MODE_INVALID": "O modo deve ser 'eager' ou 'lazy'.",
|
|
10
22
|
"INVALID_CONFIG_NOT_LOADED": "Não é possível realizar a operação '{operation}' - instância não carregada. Chame load() primeiro.",
|
|
23
|
+
"HINT_INVALID_CONFIG_NOT_LOADED": "A instância deve ser carregada antes de realizar esta operação. Chame load() primeiro.",
|
|
11
24
|
"INVALID_CONFIG_LAZY_MATERIALIZATION_FAILED": "Falha ao materializar o proxy lazy para '{apiPath}'. Verifique se o módulo carrega corretamente.",
|
|
12
25
|
"INVALID_CONFIG_NOT_A_FUNCTION": "Não é possível chamar '{apiPath}' - não é uma função (recebeu {actualType}). Verifique se o módulo exporta uma função chamável.",
|
|
13
26
|
"INVALID_CONFIG_API_PATH_INVALID": "Caminho de API inválido '{apiPath}': {reason}. Caminhos de API devem ser strings não vazias no formato de notação por pontos que não entrem em conflito com nomes reservados. Segmento no índice {index}: '{segment}'.",
|
|
27
|
+
"HINT_INVALID_CONFIG_API_PATH_INVALID": "Certifique-se de que o caminho da API seja uma string de notação por pontos válida (ex: 'plugins.tools') sem segmentos vazios ou nomes reservados (slothlet, shutdown, destroy).",
|
|
14
28
|
"INVALID_CONFIG_FORCE_OVERWRITE_REQUIRES_MODULE_ID": "Erro de configuração: forceOverwrite/allowOverwrite requer um moduleID. Forneça um moduleID exclusivo ao usar opções de sobrescrita para o caminho de API '{apiPath}'.",
|
|
29
|
+
"HINT_INVALID_CONFIG_FORCE_OVERWRITE_REQUIRES_MODULE_ID": "Ao usar forceOverwrite ou allowOverwrite, você deve fornecer um moduleID exclusivo para rastrear a propriedade do caminho sobrescrito.",
|
|
15
30
|
"INVALID_METADATA_TARGET": "Alvo de metadados inválido: esperado {expected}, recebeu {target}. Operações de metadados requerem uma referência de função ou objeto.",
|
|
31
|
+
"HINT_INVALID_METADATA_TARGET": "O destino deve ser uma função ou objeto que foi carregado através do Slothlet. Passe a referência real da função/objeto, não uma string ou valor primitivo.",
|
|
16
32
|
"METADATA_NO_MODULE_ID": "Não é possível definir metadados de usuário: nenhum moduleID encontrado nos metadados do sistema. Certifique-se de que a função/objeto de destino foi carregado através do Slothlet.",
|
|
33
|
+
"HINT_METADATA_NO_MODULE_ID": "Certifique-se de que a função/objeto foi carregado através do sistema de módulos do Slothlet. Somente funções gerenciadas pelo Slothlet possuem metadados associados.",
|
|
17
34
|
"METADATA_LIFECYCLE_BYPASS": "tagSystemMetadata() deve ser chamado através do sistema de ciclo de vida. Use lifecycle.emit('impl:created') ou lifecycle.emit('impl:changed') em vez de uma chamada direta.",
|
|
35
|
+
"HINT_METADATA_LIFECYCLE_BYPASS": "Nunca chame tagSystemMetadata() diretamente. Em vez disso, acione os eventos de ciclo de vida 'impl:created' ou 'impl:changed', que invocarão tagSystemMetadata() através do canal adequado.",
|
|
18
36
|
"INVALID_METADATA_KEY": "Chave de metadatos inválida: esperado {expected}, recebeu {type} para a chave '{key}'. Chaves de metadatos devem estar formatadas corretamente.",
|
|
37
|
+
"HINT_INVALID_METADATA_KEY": "As chaves de metadados devem ser strings, arrays de strings ou objetos com valores de array. Verifique se o formato da chave corresponde a um desses tipos.",
|
|
19
38
|
"WARNING_METADATA_MISMATCH": "Aviso de segurança: Caminho do arquivo de metadatos incompatível para '{apiPath}'. O rastreamento de pilha mostra '{stackFile}', mas os metadados mostram '{metadataFile}'. Isso pode indicar recarregamento dinâmico ou adulteração.",
|
|
39
|
+
"HINT_WARNING_METADATA_MISMATCH": "Este aviso indica que o local de execução da função não corresponde ao seu caminho de metadados registrado. Isso pode ocorrer durante o recarregamento dinâmico ou se a função foi adulterada. Na maioria dos casos, isso é esperado durante o desenvolvimento com o hot reload ativado.",
|
|
20
40
|
"COLLISION_ERROR": "Erro de colisão em '{key}' (contexto: {collisionContext}, modo: {collisionMode}). Defina o modo de colisão como 'merge', 'replace', 'warn' ou 'skip' para lidar com colisões.",
|
|
41
|
+
"HINT_COLLISION_ERROR": "O modo de colisão está definido como 'error', o que impede qualquer sobrescrita. Use collision: 'merge' (combinar propriedades), 'replace' (sobrescrever completamente), 'warn' (avisar mas manter existente) ou 'skip' (ignorar silenciosamente).",
|
|
21
42
|
"COLLISION_DEFAULT_EXPORT_ERROR": "Colisão detectada: a propriedade '{key}' já existe na exportação padrão em '{apiPath}'. O modo de colisão é 'error'.",
|
|
43
|
+
"HINT_COLLISION_DEFAULT_EXPORT_ERROR": "Uma exportação nomeada conflita com uma propriedade já presente no objeto de exportação padrão neste caminho. Altere o modo de colisão para 'merge', 'replace', 'warn' ou 'skip', ou renomeie a propriedade em conflito.",
|
|
22
44
|
"INVALID_ARGUMENT": "Argumento inválido '{argument}': esperado {expected}, recebido {received}.",
|
|
45
|
+
"HINT_INVALID_ARGUMENT": "O caminho deve ser uma string em notação por pontos (ex: 'math.add').",
|
|
23
46
|
"RUNTIME_NO_ACTIVE_CONTEXT": "Nenhum contexto ativo encontrado. Esta operação requer ser chamada de dentro de uma função da API slothlet.",
|
|
47
|
+
"HINT_RUNTIME_NO_ACTIVE_CONTEXT": "metadata.self() deve ser chamado de dentro de uma função da API slothlet.",
|
|
24
48
|
"INVALID_CONFIG_MUTATIONS_DISABLED": "Não é possível realizar '{operation}' - mutação está desativada. Defina allowMutation: true para habilitar operações de modificação da API (add/remove/reload).",
|
|
49
|
+
"HINT_INVALID_CONFIG_MUTATIONS_DISABLED": "Operações de mutação da API requerem allowMutation: true na configuração. Use diagnostics: true para acessar esses métodos para testes sem habilitar mutações reais.",
|
|
25
50
|
"CACHE_MODULEID_MISMATCH": "Incompatibilidade de moduleID da entrada de cache: esperado '{cacheKey}', mas a entrada tem '{entryModuleID}'. Isso indica uma inconsistência interna do cache.",
|
|
51
|
+
"HINT_CACHE_MODULEID_MISMATCH": "Este é um erro interno que indica corrupção do cache. Por favor, reporte este problema com os passos para reproduzir.",
|
|
26
52
|
"CACHE_NOT_FOUND": "Entrada de cache não encontrada para o moduleID '{moduleID}' durante a operação '{operation}'. O módulo pode não estar carregado ou o cache pode ter sido limpo.",
|
|
53
|
+
"HINT_CACHE_NOT_FOUND": "Certifique-se de que o módulo foi carregado antes de tentar recarregar ou reconstruir seu cache. Verifique se o moduleID está correto.",
|
|
27
54
|
"CACHE_MANAGER_NOT_AVAILABLE": "O gerenciador de cache não está disponível. Não é possível realizar a operação '{operation}'. Certifique-se de que o gerenciador de cache foi inicializado.",
|
|
55
|
+
"HINT_CACHE_MANAGER_NOT_AVAILABLE": "O gerenciador de cache deve ser inicializado automaticamente. Se você vir este erro, ele pode indicar um problema de inicialização interna.",
|
|
28
56
|
"MODULE_LOAD_FAILED": "Falha ao carregar o módulo '{modulePath}' (ID: {moduleID}): {error}",
|
|
57
|
+
"HINT_MODULE_LOAD_FAILED": "Verifique o arquivo do módulo em busca de erros. Certifique-se de que possui sintaxe JavaScript válida e exportações.",
|
|
29
58
|
"MODULE_NOT_FOUND": "Módulo não encontrado: {modulePath}. {hint}",
|
|
59
|
+
"HINT_MODULE_NOT_FOUND": "Certifique-se de que o módulo existe e o caminho está correto. Verifique se há erros de digitação na instrução de importação.",
|
|
30
60
|
"MODULE_IMPORT_FAILED": "Falha ao importar o módulo '{modulePath}': {error}. Verifique se o arquivo existe e possui sintaxe válida.",
|
|
61
|
+
"HINT_MODULE_IMPORT_FAILED": "Certifique-se de que o arquivo do módulo existe e pode ser importado. Verifique se há erros de sintaxe ou dependências ausentes.",
|
|
31
62
|
"CONTEXT_ALREADY_EXISTS": "O contexto para a instância '{instanceID}' já existe. Não é possível inicializar duas vezes.",
|
|
63
|
+
"HINT_CONTEXT_ALREADY_EXISTS": "Este contexto já existe. Verifique se você está tentando inicializar a mesma instância duas vezes.",
|
|
32
64
|
"CONTEXT_NOT_FOUND": "Contexto não encontrado para a instância '{instanceID}'. A instância pode ter sido encerrada. Instâncias disponíveis: {availableInstances}",
|
|
65
|
+
"HINT_CONTEXT_NOT_FOUND": "Certifique-se de que a instância do slothlet foi inicializada e o contexto foi criado antes de acessá-lo. Verifique se está usando o ID de instância correto.",
|
|
33
66
|
"CONTEXT_EXECUTION_FAILED": "Falha ao executar no contexto para a instância '{instanceID}': {error}",
|
|
67
|
+
"HINT_CONTEXT_EXECUTION_FAILED": "Ocorreu um erro ao executar a função. Verifique os detalhes do erro para obter mais informações.",
|
|
34
68
|
"NO_ACTIVE_CONTEXT_LIVE": "Nenhum contexto ativo - nenhuma instância está ativa no momento no modo live bindings.",
|
|
69
|
+
"HINT_NO_ACTIVE_CONTEXT_LIVE": "Nenhum contexto ativo encontrado. Certifique-se de que está chamando esta função de dentro de um contexto de live bindings do slothlet.",
|
|
35
70
|
"NO_ACTIVE_CONTEXT_ASYNC": "Nenhum contexto ativo - a função deve ser chamada dentro do contexto da API slothlet.",
|
|
71
|
+
"HINT_NO_ACTIVE_CONTEXT_ASYNC": "Nenhum contexto ativo encontrado. Certifique-se de que está chamando esta função de dentro de um contexto assíncrono do slothlet.",
|
|
36
72
|
"RUNTIME_NO_ACTIVE_CONTEXT_SELF": "Nenhum contexto ativo - não é possível acessar 'self'. Certifique-se de que está chamando de dentro de uma função da API Slothlet.",
|
|
73
|
+
"HINT_RUNTIME_NO_ACTIVE_CONTEXT_SELF": "Não é possível acessar 'self' fora do contexto de uma função da API slothlet.",
|
|
37
74
|
"RUNTIME_NO_ACTIVE_CONTEXT_CONTEXT": "Nenhum contexto ativo - 'context' só pode ser modificado dentro de chamadas da API slothlet.",
|
|
75
|
+
"HINT_RUNTIME_NO_ACTIVE_CONTEXT_CONTEXT": "Não é possível acessar 'context' fora de uma função da API slothlet. O contexto só pode ser modificado dentro de chamadas da API slothlet.",
|
|
38
76
|
"OWNERSHIP_INVALID_MODULE_ID": "Registro de propriedade inválido: moduleID '{moduleID}' é inválido.",
|
|
77
|
+
"HINT_OWNERSHIP_INVALID_MODULE_ID": "O ID do módulo é inválido. Certifique-se de que o módulo foi carregado corretamente e o ID está correto.",
|
|
39
78
|
"OWNERSHIP_INVALID_API_PATH": "Registro de propriedade inválido: apiPath '{apiPath}' é inválido.",
|
|
79
|
+
"HINT_OWNERSHIP_INVALID_API_PATH": "O caminho da API é inválido. Certifique-se de que o formato do caminho está correto.",
|
|
40
80
|
"OWNERSHIP_CONFLICT": "Conflito de propriedade: O caminho '{apiPath}' já pertence ao módulo '{existingModuleId}', não é possível atribuir a '{newModuleId}'. Use forceOverwrite: true ou removeApi primeiro.",
|
|
81
|
+
"HINT_OWNERSHIP_CONFLICT": "O caminho já pertence a outro módulo. Opções: (1) Use forceOverwrite: true nas opções de api.add(), (2) Defina a configuração de colisão (collision) como 'merge' ou 'replace', (3) Chame api.slothlet.api.remove() primeiro para limpar o caminho.",
|
|
41
82
|
"LOOSE_SET_NOT_OWNED": "O módulo {callerApiPath} não pode escrever em {apiPath}. Um módulo só pode escrever sob seu próprio apiPath; use api.slothlet.api.add() para registrar em outro caminho.",
|
|
83
|
+
"HINT_LOOSE_SET_NOT_OWNED": "Um módulo cujo apiPath é \"P\" só pode escrever sob \"P.*\". Para registrar código em outro namespace, chame api.slothlet.api.add().",
|
|
42
84
|
"LOOSE_SET_RESERVED_KEY": "Não é possível atribuir ao segmento de chave reservado '{segment}' no apiPath '{apiPath}'. Nomes como __proto__, prototype e constructor estão bloqueados para evitar a poluição do prototype da árvore da API.",
|
|
85
|
+
"HINT_LOOSE_SET_RESERVED_KEY": "Os segmentos __proto__, prototype e constructor não podem ser usados como nomes de apiPath porque escrever neles modificaria a cadeia de protótipos do JavaScript. Escolha outro nome.",
|
|
43
86
|
"INVALID_DIRECTORY": "Diretório inválido '{dir}': {error}. Certifique-se de que o diretório existe e está acessível.",
|
|
87
|
+
"HINT_INVALID_DIRECTORY": "Certifique-se de que o caminho do diretório está correto e o diretório existe e está acessível.",
|
|
44
88
|
"WARN_DIRECTORY_EMPTY": "O diretório '{dir}' (resolvido: '{resolvedPath}') está vazio ou não contém módulos carregáveis (arquivos .mjs, .cjs, .js). Isso é válido para fluxos de trabalho add-api, mas pode indicar um caminho mal configurado.",
|
|
89
|
+
"HINT_WARN_DIRECTORY_EMPTY": "Verifique se o caminho do diretório está correto. Diretórios vazios são válidos para fluxos de trabalho add-api, onde módulos serão adicionados dinamicamente.",
|
|
90
|
+
"WARN_SYNTHETIC_ROOT_EMPTY": "A adição sintética no caminho de API '{apiPath}' não contribuiu com nenhuma folha; nada foi montado.",
|
|
91
|
+
"HINT_WARN_SYNTHETIC_ROOT_EMPTY": "Forneça pelo menos uma exportação (uma função padrão nomeada ou exportações nomeadas) para que a adição sintética tenha algo a montar.",
|
|
92
|
+
"WARN_SYNTHETIC_ROOT_UNNAMED": "A adição sintética na raiz da API tem uma exportação padrão anônima; ela não pode ser atribuída à raiz e foi ignorada.",
|
|
93
|
+
"HINT_WARN_SYNTHETIC_ROOT_UNNAMED": "Nomeie a função padrão (seu nome se torna a chave raiz), forneça exportações nomeadas ou monte a folha em um apiPath nomeado.",
|
|
94
|
+
"WARN_SYNTHETIC_ROOT_COLLISION": "A adição sintética na raiz da API reatribui seu padrão para '{name}', mas uma exportação nomeada já usa '{name}'; a exportação nomeada tem precedência.",
|
|
95
|
+
"HINT_WARN_SYNTHETIC_ROOT_COLLISION": "Renomeie a função padrão ou a exportação nomeada em conflito para que cada uma use uma chave raiz distinta.",
|
|
45
96
|
"INTERNAL_HOOK_STATE_CORRUPT": "[ERRO INTERNO] O estado do HookManager está corrompido: hook \"{hookId}\" ({type}/{subset}/{pattern}) — {detail}. Isso é um erro no Slothlet — por favor reporte-o.",
|
|
97
|
+
"HINT_INTERNAL_HOOK_STATE_CORRUPT": "O estado interno do HookManager está inconsistente. Isso nunca deve acontecer através do uso normal — por favor, envie um relatório de erro incluindo como você chamou hook.on() e hook.remove().",
|
|
46
98
|
"WARNING_RESERVED_PROPERTY_CONFLICT": "A API do usuário conflita com propriedades reservadas: {properties}",
|
|
99
|
+
"HINT_WARNING_RESERVED_PROPERTY_CONFLICT": "O nome de propriedade 'slothlet' é reservado para métodos integrados da API. Renomeie seu módulo ou propriedade da API para evitar conflitos com slothlet.shutdown(), slothlet.api.*, etc.",
|
|
47
100
|
"WARNING_LANGUAGE_LOAD_FAILED": "Falha ao carregar o idioma '{lang}', voltando para o Inglês.",
|
|
48
101
|
"WARNING_LANGUAGE_UNAVAILABLE": "O idioma '{lang}' não está disponível, usando Inglês.",
|
|
49
102
|
"WARNING_OWNERSHIP_CONFLICT": "Conflito de propriedade em '{apiPath}': já pertence a '{existingModuleId}', não é possível registrar '{newModuleId}'. Mantendo o existente.",
|
|
103
|
+
"HINT_WARNING_OWNERSHIP_CONFLICT": "O caminho já pertence a outro módulo. Para forçar a sobrescrita, use forceOverwrite: true nas opções de api.add() ou chame api.slothlet.api.remove() primeiro para limpar o caminho.",
|
|
50
104
|
"WARNING_HOT_RELOAD_PATH_COLLISION": "Colisão de caminho em {apiPath} - mantendo o valor existente (modo de colisão: warn).",
|
|
105
|
+
"HINT_WARNING_HOT_RELOAD_PATH_COLLISION": "Ocorreu uma colisão durante o recarregamento dinâmico no caminho especificado. O valor existente está sendo mantido. Para forçar a substituição, use o modo de colisão 'replace' em vez de 'warn'.",
|
|
51
106
|
"WARNING_HOT_RELOAD_MERGE_PRIMITIVES": "Não é possível mesclar valores primitivos em {apiPath} - mantendo o valor existente. Use o modo de colisão 'replace' para sobrescrever ou certifique-se de que ambos os valores sejam objetos.",
|
|
107
|
+
"HINT_WARNING_HOT_RELOAD_MERGE_PRIMITIVES": "Não é possível mesclar valores primitivos (strings, números, booleanos). Para substituir o valor, use o modo de colisão 'replace'. Para manter o valor existente, continue usando o modo 'warn'.",
|
|
52
108
|
"WARNING_COLLISION_FILE_FOLDER_MERGE": "Colisão detectada em '{key}' - mesclando exportações de arquivo e pasta (modo de colisão: 'warn').",
|
|
53
109
|
"HINT_WARNING_COLLISION_FILE_FOLDER_MERGE": "Um arquivo e uma pasta compartilham o mesmo nome em '{key}'. Suas exportações estão sendo mescladas. Renomeie um para evitar ambiguidade ou defina collisionMode para 'replace' ou 'error' se a mesclagem não for pretendida.",
|
|
54
110
|
"WARNING_COLLISION_DEFAULT_EXPORT_OVERWRITE": "Aviso de colisão: a propriedade '{key}' já existe na função de exportação padrão em {apiPath}. A exportação nomeada irá sobrescrever.",
|
|
@@ -58,10 +114,13 @@
|
|
|
58
114
|
"WARNING_LIFECYCLE_HANDLER_ERROR": "O manipulador de eventos de ciclo de vida lançou um erro para o evento '{event}'. Outros manipuladores para este evento continuaram a execução.",
|
|
59
115
|
"HINT_WARNING_LIFECYCLE_HANDLER_ERROR": "Um manipulador de ciclo de vida registrado para o evento '{event}' lançou um erro. Verifique seu manipulador lifecycle.on('{event}', ...) em busca de erros. Outros manipuladores no mesmo evento não são afetados.",
|
|
60
116
|
"WARNING_MULTIPLE_ROOT_CONTRIBUTORS": "Múltiplas exportações de função padrão de nível raiz detectadas: {rootContributors}. Cada uma foi colocada em um namespace pelo nome do arquivo (ex: api.{firstContributor}()). Considere usar uma única exportação padrão de nível raiz ou mover os arquivos para subdiretórios.",
|
|
117
|
+
"HINT_WARNING_MULTIPLE_ROOT_CONTRIBUTORS": "Múltiplos arquivos exportam funções padrão no nível raiz. Cada um foi colocado em um namespace (ex: api.nome_do_arquivo()). Considere consolidar em uma única exportação raiz ou mover os arquivos para subdiretórios para uma organização mais clara.",
|
|
61
118
|
"WARN_SUPPRESS_FIX_ACTIVE": "A correção de regra '{rule}' está suprimida via 'suppressFixes'. Consulte {url} para mais detalhes. Esta é uma substituição temporária que será removida na v4. O comportamento corrigido de '{rule}' será aplicado permanentemente.",
|
|
62
119
|
"HINT_WARN_SUPPRESS_FIX_ACTIVE": "Remova '{rule}' de 'suppressFixes' e atualize a estrutura de diretórios da sua API para acomodar o comportamento corrigido antes de atualizar para v4.",
|
|
63
120
|
"V3_CONFIG_DEPRECATED": "A opção de configuração '{option}' está obsoleta e será removida no v4. Use '{replacement}' em seu lugar.",
|
|
121
|
+
"HINT_V3_CONFIG_DEPRECATED": "Esta opção de configuração foi renomeada para maior clareza. Atualize seu código para usar o novo nome da opção e garantir compatibilidade com o v4.",
|
|
64
122
|
"V2_CONFIG_UNSUPPORTED": "A opção de configuração '{option}' da v2 não é suportada na v3. {hint} Use '{replacement}' em seu lugar.",
|
|
123
|
+
"HINT_V2_CONFIG_UNSUPPORTED": "Esta opção de configuração da v2 não é suportada na v3. Atualize sua configuração para usar o equivalente da v3 para melhor controle e clareza.",
|
|
65
124
|
"DEBUG_MODE_ROOT_CONTRIBUTOR": "[{mode}] Contribuidor raiz detectado: {functionName}",
|
|
66
125
|
"DEBUG_MODE_ROOT_CONTRIBUTOR_APPLIED": "[{mode}] Padrão de contribuidor raiz aplicado - API de função com {properties} propriedades adicionais",
|
|
67
126
|
"DEBUG_MODE_PROCESSING_DIRECTORY": "[{mode}] Processando diretório: {categoryName} (profundidade {currentDepth})",
|
|
@@ -230,72 +289,15 @@
|
|
|
230
289
|
"DEBUG_MODE_LAZY_WRAPPER_MATERIALIZED": "Empacotador Lazy materializado",
|
|
231
290
|
"DEBUG_MODE_ALL_LAZY_WRAPPERS_MATERIALIZED": "Todos os empacotadores lazy materializados",
|
|
232
291
|
"HINT_REFERENCE_REMOVED": "A exportação 'reference' foi removida de '@cldmv/slothlet/runtime'. Os objetos de referência agora são mesclados diretamente na API. Acesse-os via 'self.*' em seu lugar (ex: 'self.myRefProperty').",
|
|
233
|
-
"HINT_MODULE_NOT_FOUND": "Certifique-se de que o módulo existe e o caminho está correto. Verifique se há erros de digitação na instrução de importação.",
|
|
234
292
|
"HINT_SYNTAX_ERROR": "Verifique se há erros de sintaxe no arquivo do módulo. Problemas comuns: colchetes faltando, strings não fechadas ou sintaxe JavaScript inválida.",
|
|
235
|
-
"HINT_CONTEXT_NOT_FOUND": "Certifique-se de que a instância do slothlet foi inicializada e o contexto foi criado antes de acessá-lo. Verifique se está usando o ID de instância correto.",
|
|
236
|
-
"HINT_CONTEXT_ALREADY_EXISTS": "Este contexto já existe. Verifique se você está tentando inicializar a mesma instância duas vezes.",
|
|
237
|
-
"HINT_CONTEXT_EXECUTION_FAILED": "Ocorreu um erro ao executar a função. Verifique os detalhes do erro para obter mais informações.",
|
|
238
|
-
"HINT_NO_ACTIVE_CONTEXT": "Nenhum contexto ativo encontrado. Certifique-se de que está chamando esta função de dentro de um contexto do slothlet (modo async ou live).",
|
|
239
|
-
"HINT_NO_ACTIVE_CONTEXT_ASYNC": "Nenhum contexto ativo encontrado. Certifique-se de que está chamando esta função de dentro de um contexto assíncrono do slothlet.",
|
|
240
|
-
"HINT_NO_ACTIVE_CONTEXT_LIVE": "Nenhum contexto ativo encontrado. Certifique-se de que está chamando esta função de dentro de um contexto de live bindings do slothlet.",
|
|
241
|
-
"HINT_OWNERSHIP_INVALID_MODULE_ID": "O ID do módulo é inválido. Certifique-se de que o módulo foi carregado corretamente e o ID está correto.",
|
|
242
|
-
"HINT_OWNERSHIP_INVALID_API_PATH": "O caminho da API é inválido. Certifique-se de que o formato do caminho está correto.",
|
|
243
|
-
"HINT_OWNERSHIP_CONFLICT": "O caminho já pertence a outro módulo. Opções: (1) Use forceOverwrite: true nas opções de api.add(), (2) Defina a configuração de colisão (collision) como 'merge' ou 'replace', (3) Chame api.slothlet.api.remove() primeiro para limpar o caminho.",
|
|
244
|
-
"HINT_INVALID_CONFIG": "Verifique o valor da configuração e certifique-se de que ele corresponde ao tipo e formato esperados.",
|
|
245
|
-
"HINT_INVALID_CONFIG_DIR_INVALID": "Certifique-se de que o caminho do diretório é uma string válida e aponta para um diretório existente.",
|
|
246
|
-
"HINT_INVALID_CONFIG_FORCE_OVERWRITE_REQUIRES_MODULE_ID": "Ao usar forceOverwrite ou allowOverwrite, você deve fornecer um moduleID exclusivo para rastrear a propriedade do caminho sobrescrito.",
|
|
247
|
-
"HINT_COLLISION_ERROR": "O modo de colisão está definido como 'error', o que impede qualquer sobrescrita. Use collision: 'merge' (combinar propriedades), 'replace' (sobrescrever completamente), 'warn' (avisar mas manter existente) ou 'skip' (ignorar silenciosamente).",
|
|
248
|
-
"HINT_COLLISION_DEFAULT_EXPORT_ERROR": "Uma exportação nomeada conflita com uma propriedade já presente no objeto de exportação padrão neste caminho. Altere o modo de colisão para 'merge', 'replace', 'warn' ou 'skip', ou renomeie a propriedade em conflito.",
|
|
249
|
-
"HINT_INVALID_ARGUMENT": "O caminho deve ser uma string em notação por pontos (ex: 'math.add').",
|
|
250
|
-
"HINT_RUNTIME_NO_ACTIVE_CONTEXT": "metadata.self() deve ser chamado de dentro de uma função da API slothlet.",
|
|
251
|
-
"HINT_INVALID_CONFIG_MODE_INVALID": "O modo deve ser 'eager' ou 'lazy'.",
|
|
252
|
-
"HINT_INVALID_CONFIG_MODE_UNKNOWN": "Modo desconhecido especificado. Use 'eager' ou 'lazy'.",
|
|
253
|
-
"HINT_INVALID_CONFIG_DIR_MISSING": "O caminho do diretório é obrigatório, mas não foi fornecido.",
|
|
254
|
-
"HINT_INVALID_CONFIG_API_PATH_INVALID": "Certifique-se de que o caminho da API seja uma string de notação por pontos válida (ex: 'plugins.tools') sem segmentos vazios ou nomes reservados (slothlet, shutdown, destroy).",
|
|
255
|
-
"HINT_INVALID_CONFIG_MUTATIONS_DISABLED": "Operações de mutação da API requerem allowMutation: true na configuração. Use diagnostics: true para acessar esses métodos para testes sem habilitar mutações reais.",
|
|
256
|
-
"HINT_CACHE_MODULEID_MISMATCH": "Este é um erro interno que indica corrupção do cache. Por favor, reporte este problema com os passos para reproduzir.",
|
|
257
|
-
"HINT_CACHE_NOT_FOUND": "Certifique-se de que o módulo foi carregado antes de tentar recarregar ou reconstruir seu cache. Verifique se o moduleID está correto.",
|
|
258
|
-
"HINT_CACHE_MANAGER_NOT_AVAILABLE": "O gerenciador de cache deve ser inicializado automaticamente. Se você vir este erro, ele pode indicar um problema de inicialização interna.",
|
|
259
|
-
"HINT_INVALID_METADATA_TARGET": "O destino deve ser uma função ou objeto que foi carregado através do Slothlet. Passe a referência real da função/objeto, não uma string ou valor primitivo.",
|
|
260
|
-
"HINT_METADATA_NO_MODULE_ID": "Certifique-se de que a função/objeto foi carregado através do sistema de módulos do Slothlet. Somente funções gerenciadas pelo Slothlet possuem metadados associados.",
|
|
261
|
-
"HINT_METADATA_LIFECYCLE_BYPASS": "Nunca chame tagSystemMetadata() diretamente. Em vez disso, acione os eventos de ciclo de vida 'impl:created' ou 'impl:changed', que invocarão tagSystemMetadata() através do canal adequado.",
|
|
262
|
-
"HINT_INVALID_METADATA_KEY": "As chaves de metadados devem ser strings, arrays de strings ou objetos com valores de array. Verifique se o formato da chave corresponde a um desses tipos.",
|
|
263
|
-
"HINT_WARNING_METADATA_MISMATCH": "Este aviso indica que o local de execução da função não corresponde ao seu caminho de metadados registrado. Isso pode ocorrer durante o recarregamento dinâmico ou se a função foi adulterada. Na maioria dos casos, isso é esperado durante o desenvolvimento com o hot reload ativado.",
|
|
264
|
-
"HINT_WARNING_INIT_COMPONENT_SKIPPED": "Arquivos de componentes que falham ao importar serão ignorados. Isso é normal para componentes opcionais. Verifique a mensagem de erro para obter detalhes se o componente deveria ter sido carregado.",
|
|
265
|
-
"HINT_WARNING_MULTIPLE_ROOT_CONTRIBUTORS": "Múltiplos arquivos exportam funções padrão no nível raiz. Cada um foi colocado em um namespace (ex: api.nome_do_arquivo()). Considere consolidar em uma única exportação raiz ou mover os arquivos para subdiretórios para uma organização mais clara.",
|
|
266
|
-
"HINT_WARNING_HOT_RELOAD_PATH_COLLISION": "Ocorreu uma colisão durante o recarregamento dinâmico no caminho especificado. O valor existente está sendo mantido. Para forçar a substituição, use o modo de colisão 'replace' em vez de 'warn'.",
|
|
267
|
-
"HINT_WARNING_HOT_RELOAD_MERGE_PRIMITIVES": "Não é possível mesclar valores primitivos (strings, números, booleanos). Para substituir o valor, use o modo de colisão 'replace'. Para manter o valor existente, continue usando o modo 'warn'.",
|
|
268
|
-
"HINT_WARNING_OWNERSHIP_CONFLICT": "O caminho já pertence a outro módulo. Para forçar a sobrescrita, use forceOverwrite: true nas opções de api.add() ou chame api.slothlet.api.remove() primeiro para limpar o caminho.",
|
|
269
|
-
"HINT_V2_CONFIG_UNSUPPORTED": "Esta opção de configuração da v2 não é suportada na v3. Atualize sua configuração para usar o equivalente da v3 para melhor controle e clareza.",
|
|
270
|
-
"HINT_V3_CONFIG_DEPRECATED": "Esta opção de configuração foi renomeada para maior clareza. Atualize seu código para usar o novo nome da opção e garantir compatibilidade com o v4.",
|
|
271
|
-
"HINT_MODULE_LOAD_FAILED": "Verifique o arquivo do módulo em busca de erros. Certifique-se de que possui sintaxe JavaScript válida e exportações.",
|
|
272
|
-
"HINT_MODULE_IMPORT_FAILED": "Certifique-se de que o arquivo do módulo existe e pode ser importado. Verifique se há erros de sintaxe ou dependências ausentes.",
|
|
273
|
-
"HINT_MODULE_NO_EXPORTS": "O módulo deve exportar pelo menos uma função ou objeto.",
|
|
274
|
-
"HINT_INVALID_DIRECTORY": "Certifique-se de que o caminho do diretório está correto e o diretório existe e está acessível.",
|
|
275
|
-
"HINT_WARN_DIRECTORY_EMPTY": "Verifique se o caminho do diretório está correto. Diretórios vazios são válidos para fluxos de trabalho add-api, onde módulos serão adicionados dinamicamente.",
|
|
276
|
-
"HINT_INVALID_CONFIG_LAZY_NOT_READY": "No modo lazy, acesse as propriedades para acionar a materialização antes de chamar as funções.",
|
|
277
|
-
"HINT_INTERNAL_INVALID_STATE": "Ocorreu um erro de estado interno. Isso provavelmente é um bug - por favor reporte-o com detalhes.",
|
|
278
|
-
"HINT_INTERNAL_HOOK_STATE_CORRUPT": "O estado interno do HookManager está inconsistente. Isso nunca deve acontecer através do uso normal — por favor, envie um relatório de erro incluindo como você chamou hook.on() e hook.remove().",
|
|
279
|
-
"HINT_INVALID_CONFIG_LAZY_ASYNC_REQUIRED": "O modo lazy requer operações assíncronas. Use o modo eager ou implemente padrões assíncronos adequados.",
|
|
280
|
-
"HINT_RUNTIME_NO_ACTIVE_CONTEXT_SELF": "Não é possível acessar 'self' fora do contexto de uma função da API slothlet.",
|
|
281
|
-
"HINT_RUNTIME_NO_ACTIVE_CONTEXT_CONTEXT": "Não é possível acessar 'context' fora de uma função da API slothlet. O contexto só pode ser modificado dentro de chamadas da API slothlet.",
|
|
282
|
-
"HINT_LOOSE_SET_NOT_OWNED": "Um módulo cujo apiPath é \"P\" só pode escrever sob \"P.*\". Para registrar código em outro namespace, chame api.slothlet.api.add().",
|
|
283
|
-
"HINT_LOOSE_SET_RESERVED_KEY": "Os segmentos __proto__, prototype e constructor não podem ser usados como nomes de apiPath porque escrever neles modificaria a cadeia de protótipos do JavaScript. Escolha outro nome.",
|
|
284
|
-
"HINT_INVALID_CONFIG_NOT_LOADED": "A instância deve ser carregada antes de realizar esta operação. Chame load() primeiro.",
|
|
285
|
-
"HINT_INVALID_CONFIG_RELOAD_NOT_IMPL": "A funcionalidade de recarregamento ainda não foi implementada. Isso será adicionado em uma iteração futura.",
|
|
286
|
-
"HINT_WARNING_RESERVED_PROPERTY_CONFLICT": "O nome de propriedade 'slothlet' é reservado para métodos integrados da API. Renomeie seu módulo ou propriedade da API para evitar conflitos com slothlet.shutdown(), slothlet.api.*, etc.",
|
|
287
|
-
"HINT_DEPRECATED_CONFIG_OPTION": "Esta opção de configuração foi descontinuada e será removida em uma versão futura. Atualize sua configuração para usar a substituição recomendada.",
|
|
288
|
-
"HINT_ERROR_RUNTIME_IMPORT_FAILED": "O módulo de tempo de execução não pôde ser carregado. Isso pode ocorrer se a exportação @cldmv/slothlet/runtime não estiver disponível ou se houver uma dependência circular. Algumas funcionalidades que exigem acesso ao runtime podem estar limitadas.",
|
|
289
|
-
"INVALID_HOOK_TYPE": "Tipo de gancho (hook) inválido \"{type}\". Deve ser um de: {validTypes}.",
|
|
290
293
|
"INVALID_HOOK_HANDLER": "O manipulador de gancho (hook handler) deve ser uma função. Tipo recebido: {receivedType}.",
|
|
291
|
-
"DUPLICATE_HOOK_ID": "Já existe um gancho com o ID \"{id}\". Use um ID exclusivo ou omita a opção id para gerar um automaticamente.",
|
|
292
|
-
"INVALID_HOOK_SUBSET": "Subconjunto de gancho (hook subset) inválido \"{subset}\". Deve ser \"before\", \"primary\" ou \"after\". Subconjuntos válidos: {validSubsets}.",
|
|
293
|
-
"INVALID_TYPE_PATTERN": "Padrão de tipo inválido \"{typePattern}\". {expected}",
|
|
294
|
-
"HINT_INVALID_HOOK_TYPE": "Use um dos tipos de gancho válidos: before, after, always ou error.",
|
|
295
294
|
"HINT_INVALID_HOOK_HANDLER": "Forneça uma função como o manipulador de gancho, não uma string ou outro tipo.",
|
|
295
|
+
"DUPLICATE_HOOK_ID": "Já existe um gancho com o ID \"{id}\". Use um ID exclusivo ou omita a opção id para gerar um automaticamente.",
|
|
296
296
|
"HINT_DUPLICATE_HOOK_ID": "Use um valor de id diferente ou remova a opção id para deixar o Slothlet gerar automaticamente um ID exclusivo.",
|
|
297
|
+
"INVALID_HOOK_SUBSET": "Subconjunto de gancho (hook subset) inválido \"{subset}\". Deve ser \"before\", \"primary\" ou \"after\". Subconjuntos válidos: {validSubsets}.",
|
|
297
298
|
"HINT_INVALID_HOOK_SUBSET": "Subconjuntos controlam a ordem de execução. Use 'before' para pré-processamento, 'primary' (padrão) para os ganchos principais ou 'after' para pós-processamento.",
|
|
298
|
-
"
|
|
299
|
+
"INVALID_TYPE_PATTERN": "Padrão de tipo inválido \"{typePattern}\". {expected}",
|
|
300
|
+
"HINT_INVALID_TYPE_PATTERN": "Os padrões de hook usam a forma 'pattern:type', como 'math.*:before' ou '**:error'. A forma legada 'type:pattern' ainda funciona, mas está obsoleta.",
|
|
299
301
|
"HOOK_BEFORE_RETURNED_PROMISE": "O gancho 'before' '{id}' para o caminho '{path}' retornou uma Promise. Ganchos 'before' devem ser síncronos.",
|
|
300
302
|
"HINT_HOOK_BEFORE_RETURNED_PROMISE": "Ganchos 'before' são executados de forma síncrona antes da chamada da API. Remova o uso de async/await ou Promise deste gancho, ou altere-o para um gancho 'after' se o processamento assíncrono for necessário.",
|
|
301
303
|
"HOOK_BRACE_EXPANSION_MAX_DEPTH": "A expansão de chaves no padrão de gancho excede a profundidade máxima de aninhamento de {maxDepth}.",
|
|
@@ -383,11 +385,11 @@
|
|
|
383
385
|
"INVALID_CONFIG_VERSION_DISPATCHER": "config.versionDispatcher deve ser uma string (chave de metadados) ou uma função; recebido: {received}",
|
|
384
386
|
"INVALID_CONFIG_VERSION_TAG": "versionConfig.version deve ser uma string não vazia; recebido: {received}",
|
|
385
387
|
"VERSION_NOT_FOUND": "A versão '{version}' não está registrada no caminho '{apiPath}'.",
|
|
388
|
+
"HINT_VERSION_NOT_FOUND": "Chame api.slothlet.versioning.list('{apiPath}') para ver quais tags de versão estão atualmente registradas nesse caminho.",
|
|
386
389
|
"VERSION_NO_DEFAULT": "Nenhuma versão padrão configurada para o caminho '{apiPath}' e nenhuma versão pôde ser resolvida a partir dos metadados do chamador.",
|
|
387
390
|
"VERSION_DISPATCH_NOT_CALLABLE": "O despachante versionado em '{apiPath}' é um namespace, não uma função invocável.",
|
|
388
391
|
"VERSION_REGISTER_DUPLICATE": "A versão '{version}' já está registrada no caminho '{apiPath}'. Use collisionMode 'replace' para sobrescrever.",
|
|
389
392
|
"HINT_VERSION_REGISTER_DUPLICATE": "Chame api.slothlet.versioning.unregister('{apiPath}', '{version}') primeiro ou registre com uma tag de versão diferente.",
|
|
390
|
-
"HINT_VERSION_NOT_FOUND": "Chame api.slothlet.versioning.list('{apiPath}') para ver quais tags de versão estão atualmente registradas nesse caminho.",
|
|
391
393
|
"VERSION_DISCRIMINATOR_INVALID_RETURN": "A função versionDispatcher retornou '{returned}', que não é uma tag de versão registrada para o caminho '{apiPath}'.",
|
|
392
394
|
"DEBUG_VERSION_RESOLVED": "Versão resolvida: {version} para o caminho {apiPath} (chamador: {callerModule})",
|
|
393
395
|
"DEBUG_VERSION_DEFAULT_USED": "Nenhuma correspondência de discriminador para o caminho {apiPath}; usando versão padrão {version}.",
|
|
@@ -417,7 +419,27 @@
|
|
|
417
419
|
"HINT_MODULE_MANIFEST_NOT_FOUND": "Os módulos plugin devem incluir um 'slothlet.module.json' na raiz do pacote (ou o arquivo/chave especificado via a sobrescrita `manifest`). Verifique se o arquivo existe no pacote e se o localizador de sobrescrita está correto.",
|
|
418
420
|
"MODULE_MANIFEST_INVALID": "O manifesto do módulo é inválido para o pacote '{packageName}' em '{manifestPath}': {reason}.",
|
|
419
421
|
"HINT_MODULE_MANIFEST_INVALID": "Abra o manifesto e certifique-se de que seja JSON válido e corresponda ao esquema do módulo slothlet (veja schemas/slothlet.module.schema.json). Campos obrigatórios: schemaVersion, mountPath, apiDir.",
|
|
420
|
-
"
|
|
422
|
+
"MODULE_MANIFEST_REASON_NOT_OBJECT": "o manifesto deve ser um objeto JSON",
|
|
423
|
+
"MODULE_MANIFEST_REASON_MISSING_FIELD": "campo obrigatório ausente '{field}'",
|
|
424
|
+
"MODULE_MANIFEST_REASON_FIELD_TYPE": "o campo '{field}' deve ser {expected}",
|
|
425
|
+
"EXPECTED_NON_EMPTY_STRING": "uma string não vazia",
|
|
426
|
+
"EXPECTED_STRING": "uma string",
|
|
427
|
+
"EXPECTED_FINITE_NUMBER": "um número finito",
|
|
428
|
+
"EXPECTED_PLAIN_OBJECT": "um objeto simples",
|
|
429
|
+
"EXPECTED_ARRAY_OF_RULE_OBJECTS": "um array de objetos de regra",
|
|
430
|
+
"MODULE_MANIFEST_REASON_MOUNTPATH_SHAPE": "o campo 'mountPath' deve ser uma string não vazia ou um array não vazio de strings não vazias",
|
|
431
|
+
"MODULE_MANIFEST_REASON_MOUNTPATH_ENTRIES": "todas as entradas do array do campo 'mountPath' devem ser strings não vazias",
|
|
432
|
+
"MODULE_MANIFEST_REASON_DEPENDENCY_TYPE": "a dependência '{dependency}' deve ser um intervalo de versão em string",
|
|
433
|
+
"MODULE_MANIFEST_REASON_PERMISSION_RULE": "permissions[{index}] deve ser um objeto de regra",
|
|
434
|
+
"MODULE_MANIFEST_REASON_PERMISSION_CALLER": "permissions[{index}].caller deve ser uma string não vazia",
|
|
435
|
+
"MODULE_MANIFEST_REASON_PERMISSION_TARGET": "permissions[{index}].target deve ser uma string não vazia",
|
|
436
|
+
"MODULE_MANIFEST_REASON_PERMISSION_EFFECT": "permissions[{index}].effect deve ser \"allow\" ou \"deny\"",
|
|
437
|
+
"MODULE_MANIFEST_REASON_JSON_PARSE": "erro de análise JSON: {error}",
|
|
438
|
+
"GENERATE_MANIFEST_DIR_INVALID": "generateManifest: dir deve ser uma string não vazia, recebido {received}",
|
|
439
|
+
"GENERATE_MANIFEST_DIR_UNREADABLE": "generateManifest: não é possível ler o diretório \"{dir}\": {reason}",
|
|
440
|
+
"GENERATE_MANIFEST_NOT_DIRECTORY": "generateManifest: \"{dir}\" não é um diretório",
|
|
441
|
+
"GENERATE_BROWSER_ASSETS_SLOTHLET_BASE_INVALID": "generateBrowserAssets: options.slothletBase deve ser uma string (local onde @cldmv/slothlet é servido no navegador), recebido {received}",
|
|
442
|
+
"MODULE_MANIFEST_UNKNOWN_FIELD": "O manifesto do módulo para o pacote '{packageName}' em '{manifestPath}' contém um campo de nível superior não reconhecido '{field}'. Campos desconhecidos são rejeitados; use o bloco 'metadata' dedicado para extras definidos pelo desenvolvedor.",
|
|
421
443
|
"HINT_MODULE_MANIFEST_UNKNOWN_FIELD": "Se '{field}' é um erro de digitação, corrija-o. Se forem metadados intencionais do desenvolvedor, mova-os para dentro do objeto 'metadata'.",
|
|
422
444
|
"MODULE_MANIFEST_NAME_MISMATCH": "O manifesto do módulo para o pacote '{packageName}' declara o nome '{manifestName}' que não corresponde ao nome em package.json '{packageName}'.",
|
|
423
445
|
"HINT_MODULE_MANIFEST_NAME_MISMATCH": "O campo 'name' em slothlet.module.json é opcional, mas deve corresponder a package.json quando presente. Remova o campo 'name' do manifesto ou alinhe-o com package.json.",
|
|
@@ -434,7 +456,11 @@
|
|
|
434
456
|
"MODULE_DUPLICATE_NAME_VERSION_MISMATCH": "O pacote de módulo '{packageName}' versão '{version}' foi encontrado em vários caminhos reais distintos: {paths}.",
|
|
435
457
|
"HINT_MODULE_DUPLICATE_NAME_VERSION_MISMATCH": "Isso é quase certamente uma configuração incorreta — o mesmo pacote na mesma versão instalado em dois locais não relacionados. Investigue qual instalação é a pretendida e remova a outra.",
|
|
436
458
|
"MODULE_MOUNT_COLLISION": "O pacote de módulo '{packageName}' não pode ser montado em '{mountPath}': o caminho já está ocupado pelo módulo '{existingModuleID}' e collisionMode é '{collisionMode}'.",
|
|
437
|
-
"HINT_MODULE_MOUNT_COLLISION": "Altere o mountPath do manifesto, passe `collisionMode: \"merge\"` para `addModule()` / `addModules()` para permitir a coexistência, ou chame primeiro `removeModule()` no módulo existente."
|
|
459
|
+
"HINT_MODULE_MOUNT_COLLISION": "Altere o mountPath do manifesto, passe `collisionMode: \"merge\"` para `addModule()` / `addModules()` para permitir a coexistência, ou chame primeiro `removeModule()` no módulo existente.",
|
|
460
|
+
"HOOK_TYPEPATTERN_PREFIX_DEPRECATED": "A forma de registro de hook '{given}' está obsoleta e será removida no v4. Use a forma com o caminho primeiro '{suggested}' em vez disso (por ex. 'math.*:before').",
|
|
461
|
+
"HINT_HOOK_TYPEPATTERN_PREFIX_DEPRECATED": "Mova o tipo de hook para o final como sufixo: reescreva um seletor com o tipo primeiro como 'before:math.add' para a forma com o caminho primeiro 'math.add:before'.",
|
|
462
|
+
"HOOK_UNPINNED_IGNORED": "lockCaller:false foi ignorado para o hook '{pattern}'; os hooks são fixados ao módulo que os registra. Defina hook.pin:false (init) ou chame api.slothlet.hook.pin.disable() para permitir hooks não fixados.",
|
|
463
|
+
"HINT_HOOK_UNPINNED_IGNORED": "Hooks registrados por um módulo são sempre fixados ao seu proprietário por segurança. Para permitir hooks não fixados, defina hook.pin:false na configuração do slothlet ou chame api.slothlet.hook.pin.disable() em tempo de execução."
|
|
438
464
|
},
|
|
439
465
|
"metadata": {
|
|
440
466
|
"code": "pt-br",
|