@neetru/cli 2.28.10 → 2.31.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/CHANGELOG.md +92 -1
- package/README.md +61 -17
- package/dist/commands/code.js +10 -1
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/db-move.d.ts +50 -1
- package/dist/commands/db-move.js +137 -13
- package/dist/commands/db-move.js.map +1 -1
- package/dist/commands/db.js +17 -9
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/deploy.d.ts +45 -0
- package/dist/commands/deploy.js +181 -2
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/deployments.d.ts +7 -1
- package/dist/commands/deployments.js +59 -8
- package/dist/commands/deployments.js.map +1 -1
- package/dist/commands/dev-up.d.ts +7 -5
- package/dist/commands/dev-up.js +24 -23
- package/dist/commands/dev-up.js.map +1 -1
- package/dist/commands/docs-produto.d.ts +65 -0
- package/dist/commands/docs-produto.js +322 -0
- package/dist/commands/docs-produto.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +7 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/new.d.ts +2 -0
- package/dist/commands/new.js +2 -0
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/servers.d.ts +28 -0
- package/dist/commands/servers.js +126 -1
- package/dist/commands/servers.js.map +1 -1
- package/dist/index.js +110 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +8 -1
- package/dist/lib/api-client.js +20 -2
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/compose-generator.d.ts +13 -9
- package/dist/lib/compose-generator.js +28 -60
- package/dist/lib/compose-generator.js.map +1 -1
- package/dist/lib/config-schema.d.ts +40 -6
- package/dist/lib/config-schema.js +11 -0
- package/dist/lib/config-schema.js.map +1 -1
- package/dist/lib/product-docs/check.d.ts +62 -0
- package/dist/lib/product-docs/check.js +489 -0
- package/dist/lib/product-docs/check.js.map +1 -0
- package/dist/lib/product-docs/config.d.ts +66 -0
- package/dist/lib/product-docs/config.js +234 -0
- package/dist/lib/product-docs/config.js.map +1 -0
- package/dist/lib/product-docs/dates.d.ts +17 -0
- package/dist/lib/product-docs/dates.js +41 -0
- package/dist/lib/product-docs/dates.js.map +1 -0
- package/dist/lib/product-docs/frontmatter.d.ts +43 -0
- package/dist/lib/product-docs/frontmatter.js +302 -0
- package/dist/lib/product-docs/frontmatter.js.map +1 -0
- package/dist/lib/product-docs/git.d.ts +16 -0
- package/dist/lib/product-docs/git.js +92 -0
- package/dist/lib/product-docs/git.js.map +1 -0
- package/dist/lib/product-docs/markdown.d.ts +27 -0
- package/dist/lib/product-docs/markdown.js +98 -0
- package/dist/lib/product-docs/markdown.js.map +1 -0
- package/dist/lib/product-docs/ops.d.ts +133 -0
- package/dist/lib/product-docs/ops.js +975 -0
- package/dist/lib/product-docs/ops.js.map +1 -0
- package/dist/lib/product-docs/structure.d.ts +61 -0
- package/dist/lib/product-docs/structure.js +239 -0
- package/dist/lib/product-docs/structure.js.map +1 -0
- package/dist/lib/product-docs/sync.d.ts +101 -0
- package/dist/lib/product-docs/sync.js +313 -0
- package/dist/lib/product-docs/sync.js.map +1 -0
- package/dist/lib/product-docs/taxonomy.d.ts +46 -0
- package/dist/lib/product-docs/taxonomy.js +163 -0
- package/dist/lib/product-docs/taxonomy.js.map +1 -0
- package/dist/lib/product-docs/templates.d.ts +53 -0
- package/dist/lib/product-docs/templates.js +245 -0
- package/dist/lib/product-docs/templates.js.map +1 -0
- package/dist/lib/public-secret-scan.d.ts +76 -0
- package/dist/lib/public-secret-scan.js +446 -0
- package/dist/lib/public-secret-scan.js.map +1 -0
- package/package.json +2 -1
- package/templates/dev/Dockerfile.agent +0 -39
- package/templates/dev/agent-entrypoint.sh +0 -41
- package/templates/dev/docker-compose.dev.yml +0 -63
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../../src/lib/product-docs/ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estrutura do `docs/` de um produto SaaS (PROTOCOLO_DOCS_PRODUTOS_SAAS §3, §6, §7)
|
|
3
|
+
* e modelos por tipo (PROTOCOLO_WIKI_INTERNA §7.4, §8).
|
|
4
|
+
*
|
|
5
|
+
* Tudo aqui é dado puro — sem I/O — para o validador, o `init`, o `new` e o
|
|
6
|
+
* `--migrar` lerem da mesma tabela.
|
|
7
|
+
*/
|
|
8
|
+
export interface FolderRule {
|
|
9
|
+
/** Pasta de primeiro nível dentro de `docs/` ('' = a raiz de `docs/`). */
|
|
10
|
+
folder: string;
|
|
11
|
+
types: string[] | 'qualquer';
|
|
12
|
+
category: string;
|
|
13
|
+
subcategory: string;
|
|
14
|
+
audience: 'dev-produto' | 'publico' | 'staff';
|
|
15
|
+
idade: 'corrente' | 'intermediaria' | 'permanente' | 'gerada';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* §3 do protocolo de produtos. `category/subcategory` são o PADRÃO da pasta
|
|
19
|
+
* (o protocolo diz "a do assunto" em várias — o padrão é só o ponto de partida).
|
|
20
|
+
*/
|
|
21
|
+
export declare const FOLDER_RULES: FolderRule[];
|
|
22
|
+
/** Pastas do §3 que o `docs init` cria. */
|
|
23
|
+
export declare const STANDARD_FOLDERS: string[];
|
|
24
|
+
/** Pastas que o validador não visita. `_audit/` é saída de script (só FM001). */
|
|
25
|
+
export declare const SKIP_DIRS: Set<string>;
|
|
26
|
+
/** Primeira pasta de um caminho relativo a `docs/` ('' para a raiz). */
|
|
27
|
+
export declare function topFolder(relPath: string): string;
|
|
28
|
+
export declare function folderRule(relPath: string): FolderRule | undefined;
|
|
29
|
+
export interface DayOneItem {
|
|
30
|
+
/** Caminho relativo à RAIZ do repositório. */
|
|
31
|
+
path: string;
|
|
32
|
+
/** Obrigatório só quando o produto expõe /api/v1. */
|
|
33
|
+
soComApi?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare const DAY_ONE: DayOneItem[];
|
|
36
|
+
/** "No primeiro mês" (recomendado; o validador só sugere). */
|
|
37
|
+
export declare const FIRST_MONTH: string[];
|
|
38
|
+
/** Seções que o README da raiz precisa ter (§7) — casamento tolerante. */
|
|
39
|
+
export declare const README_SECTIONS: Array<{
|
|
40
|
+
label: string;
|
|
41
|
+
match: RegExp;
|
|
42
|
+
}>;
|
|
43
|
+
export interface Section {
|
|
44
|
+
title: string;
|
|
45
|
+
required: boolean;
|
|
46
|
+
/** Orientação que vira `<!-- … -->` dentro da seção. */
|
|
47
|
+
hint: string;
|
|
48
|
+
}
|
|
49
|
+
export declare const TYPE_MODELS: Record<string, Section[]>;
|
|
50
|
+
/** Modelo de ameaças (base: `neetru-zelo/docs/design/modelos/threat-model.md`) — um `referencia` em `seguranca/`. */
|
|
51
|
+
export declare const THREAT_MODEL_SECTIONS: Section[];
|
|
52
|
+
/** Seções obrigatórias dos docs do mínimo do primeiro dia (§7.2), por caminho relativo a `docs/`. */
|
|
53
|
+
export declare const DAY_ONE_MODELS: Record<string, Section[]>;
|
|
54
|
+
export declare const FILE_NAME_REGEX: RegExp;
|
|
55
|
+
/** Prefixo de nome por tipo (doc novo). `referencia` não tem prefixo obrigatório. */
|
|
56
|
+
export declare const TYPE_PREFIX: Record<string, string>;
|
|
57
|
+
/** Pasta onde `docs new <tipo>` cria o doc, quando a categoria não decide. */
|
|
58
|
+
export declare const TYPE_DEFAULT_FOLDER: Record<string, string>;
|
|
59
|
+
/** Pasta preferida por categoria (quando o tipo cabe nela). */
|
|
60
|
+
export declare const CATEGORY_FOLDER: Record<string, string>;
|
|
61
|
+
export declare const STOPWORDS: Set<string>;
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estrutura do `docs/` de um produto SaaS (PROTOCOLO_DOCS_PRODUTOS_SAAS §3, §6, §7)
|
|
3
|
+
* e modelos por tipo (PROTOCOLO_WIKI_INTERNA §7.4, §8).
|
|
4
|
+
*
|
|
5
|
+
* Tudo aqui é dado puro — sem I/O — para o validador, o `init`, o `new` e o
|
|
6
|
+
* `--migrar` lerem da mesma tabela.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* §3 do protocolo de produtos. `category/subcategory` são o PADRÃO da pasta
|
|
10
|
+
* (o protocolo diz "a do assunto" em várias — o padrão é só o ponto de partida).
|
|
11
|
+
*/
|
|
12
|
+
export const FOLDER_RULES = [
|
|
13
|
+
// raiz: `index.md`. `changelog` também é aceito aqui (tipo próprio de produto, §4).
|
|
14
|
+
{ folder: '', types: ['indice', 'changelog'], category: 'Documentação', subcategory: 'indices', audience: 'dev-produto', idade: 'corrente' },
|
|
15
|
+
{ folder: 'produto', types: ['referencia', 'plano'], category: 'Produto', subcategory: 'visao', audience: 'dev-produto', idade: 'corrente' },
|
|
16
|
+
{ folder: 'arquitetura', types: ['arquitetura', 'referencia'], category: 'Plataforma', subcategory: 'visao-geral', audience: 'dev-produto', idade: 'corrente' },
|
|
17
|
+
{ folder: 'api', types: ['referencia'], category: 'API', subcategory: 'rest-v1', audience: 'dev-produto', idade: 'corrente' },
|
|
18
|
+
{ folder: 'decisoes', types: ['adr'], category: 'Plataforma', subcategory: 'decisoes', audience: 'dev-produto', idade: 'corrente' },
|
|
19
|
+
{ folder: 'runbooks', types: ['runbook'], category: 'Operações', subcategory: 'producao', audience: 'dev-produto', idade: 'corrente' },
|
|
20
|
+
{ folder: 'guias', types: ['guia'], category: 'Desenvolvimento', subcategory: 'ambiente-local', audience: 'dev-produto', idade: 'corrente' },
|
|
21
|
+
{ folder: 'integracoes', types: ['referencia', 'guia'], category: 'Integrações', subcategory: 'outras', audience: 'dev-produto', idade: 'corrente' },
|
|
22
|
+
{ folder: 'seguranca', types: ['norma', 'referencia'], category: 'Segurança', subcategory: 'configuracao-segura', audience: 'dev-produto', idade: 'corrente' },
|
|
23
|
+
{ folder: 'usuario', types: ['guia', 'referencia'], category: 'Ajuda ao usuário', subcategory: 'tarefas', audience: 'publico', idade: 'corrente' },
|
|
24
|
+
{ folder: 'planos', types: ['plano'], category: 'Plataforma', subcategory: 'roadmap', audience: 'dev-produto', idade: 'intermediaria' },
|
|
25
|
+
{ folder: 'superpowers', types: ['plano'], category: 'Plataforma', subcategory: 'roadmap', audience: 'dev-produto', idade: 'intermediaria' },
|
|
26
|
+
{ folder: 'relatorios', types: ['relatorio', 'incidente', 'ata'], category: 'Plataforma', subcategory: 'visao-geral', audience: 'dev-produto', idade: 'intermediaria' },
|
|
27
|
+
{ folder: '_archive', types: 'qualquer', category: 'Plataforma', subcategory: 'visao-geral', audience: 'dev-produto', idade: 'permanente' },
|
|
28
|
+
];
|
|
29
|
+
/** Pastas do §3 que o `docs init` cria. */
|
|
30
|
+
export const STANDARD_FOLDERS = [
|
|
31
|
+
'produto', 'arquitetura', 'api', 'decisoes', 'runbooks', 'guias', 'integracoes',
|
|
32
|
+
'seguranca', 'usuario', 'planos', 'relatorios', '_archive',
|
|
33
|
+
];
|
|
34
|
+
/** Pastas que o validador não visita. `_audit/` é saída de script (só FM001). */
|
|
35
|
+
export const SKIP_DIRS = new Set(['.git', 'node_modules', '.obsidian', '_assets', '_brand', '_diagrams']);
|
|
36
|
+
/** Primeira pasta de um caminho relativo a `docs/` ('' para a raiz). */
|
|
37
|
+
export function topFolder(relPath) {
|
|
38
|
+
const parts = relPath.replace(/\\/g, '/').split('/');
|
|
39
|
+
return parts.length > 1 ? parts[0] : '';
|
|
40
|
+
}
|
|
41
|
+
export function folderRule(relPath) {
|
|
42
|
+
const top = topFolder(relPath);
|
|
43
|
+
return FOLDER_RULES.find((r) => r.folder === top);
|
|
44
|
+
}
|
|
45
|
+
export const DAY_ONE = [
|
|
46
|
+
{ path: 'README.md' },
|
|
47
|
+
{ path: 'CHANGELOG.md' },
|
|
48
|
+
{ path: 'docs/index.md' },
|
|
49
|
+
{ path: 'docs/produto/VISAO_DO_PRODUTO.md' },
|
|
50
|
+
{ path: 'docs/arquitetura/ARQUITETURA.md' },
|
|
51
|
+
{ path: 'docs/runbooks/RUNBOOK_DEPLOY.md' },
|
|
52
|
+
{ path: 'docs/api/API_V1.md', soComApi: true },
|
|
53
|
+
];
|
|
54
|
+
/** "No primeiro mês" (recomendado; o validador só sugere). */
|
|
55
|
+
export const FIRST_MONTH = [
|
|
56
|
+
'docs/arquitetura/MODELO_DE_DADOS.md',
|
|
57
|
+
'docs/runbooks/RUNBOOK_INCIDENTES.md',
|
|
58
|
+
'docs/produto/GLOSSARIO.md',
|
|
59
|
+
'docs/guias/GUIA_DESENVOLVIMENTO_LOCAL.md',
|
|
60
|
+
];
|
|
61
|
+
/** Seções que o README da raiz precisa ter (§7) — casamento tolerante. */
|
|
62
|
+
export const README_SECTIONS = [
|
|
63
|
+
{ label: 'O que é', match: /o que (e|é)|sobre/i },
|
|
64
|
+
{ label: 'Como rodar local', match: /rodar|local|desenvolv/i },
|
|
65
|
+
{ label: 'Como fazer deploy', match: /deploy|publica/i },
|
|
66
|
+
];
|
|
67
|
+
const s = (title, required, hint) => ({ title, required, hint });
|
|
68
|
+
export const TYPE_MODELS = {
|
|
69
|
+
runbook: [
|
|
70
|
+
s('Quando usar', true, 'Em que situação este procedimento é executado e o que ele resolve.'),
|
|
71
|
+
s('Pré-requisitos', false, 'Acessos, ferramentas e estado que precisam existir antes de começar.'),
|
|
72
|
+
s('Passo a passo', true, 'Passos numerados e verificáveis, com o comando exato de cada um.'),
|
|
73
|
+
s('Verificação', true, 'Como provar que deu certo (comando, URL, resultado esperado).'),
|
|
74
|
+
s('Como desfazer', false, 'Como voltar ao estado anterior se algo der errado.'),
|
|
75
|
+
s('Problemas comuns', false, 'Sintoma, causa e correção dos erros que já apareceram.'),
|
|
76
|
+
s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
|
|
77
|
+
],
|
|
78
|
+
guia: [
|
|
79
|
+
s('Objetivo', true, 'O que a pessoa consegue fazer ao fim do guia.'),
|
|
80
|
+
s('Pré-requisitos', false, 'O que precisa estar pronto antes.'),
|
|
81
|
+
s('Passo a passo', false, 'Passos em ordem, ou uma seção por tarefa.'),
|
|
82
|
+
s('Problemas comuns', false, 'Erros frequentes e como resolver.'),
|
|
83
|
+
s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
|
|
84
|
+
],
|
|
85
|
+
referencia: [
|
|
86
|
+
s('Visão geral', true, 'O que esta referência lista e como ler.'),
|
|
87
|
+
s('Exemplos', false, 'Exemplos reais de uso.'),
|
|
88
|
+
s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
|
|
89
|
+
],
|
|
90
|
+
arquitetura: [
|
|
91
|
+
s('Contexto', true, 'Que problema esta parte resolve e que restrições pesam.'),
|
|
92
|
+
s('Visão geral', true, 'O desenho em poucas linhas e, se ajudar, um diagrama.'),
|
|
93
|
+
s('Componentes', false, 'As peças, o papel de cada uma e onde moram no código.'),
|
|
94
|
+
s('Fluxos', false, 'Os caminhos principais de ponta a ponta.'),
|
|
95
|
+
s('Decisões e alternativas', false, 'Por que foi desenhado assim; aponte os ADRs.'),
|
|
96
|
+
s('Limites e riscos', false, 'O que não cobre, limites conhecidos e riscos.'),
|
|
97
|
+
s('Relacionados', false, 'Links relativos (com .md) para docs próximos.'),
|
|
98
|
+
],
|
|
99
|
+
adr: [
|
|
100
|
+
s('Contexto', true, 'O que força a decisão: restrições, contrato, limite, fase. Só fatos.'),
|
|
101
|
+
s('Decisão', true, 'A opção escolhida e o motivo em 1 a 3 linhas. Diga também o que NÃO está decidido.'),
|
|
102
|
+
s('Alternativas consideradas', false, 'Uma H3 por opção ("### Opção A — <nome>") com prós, contras, custo/risco e o trade-off.'),
|
|
103
|
+
s('Consequências', true, 'Positivas; negativas e dívida assumida; como reverter; onde a decisão passa a viver (código, contrato da API, arquitetura). Se houver, a rastreabilidade: requisito, teste que prova, status.'),
|
|
104
|
+
s('Referências', false, 'Links relativos (com .md), PRs e commits.'),
|
|
105
|
+
],
|
|
106
|
+
norma: [
|
|
107
|
+
s('Objetivo', true, 'Que risco ou bagunça esta norma evita.'),
|
|
108
|
+
s('Escopo', false, 'Onde vale e onde não vale.'),
|
|
109
|
+
s('Regras', true, 'Regras numeradas e verificáveis. Para uma ação ou política: nome, o que faz, se é reversível, privilégio, parâmetros tipados e validados (nada de texto livre que vire comando), quando dispara e o modo padrão (sugerir; agir é opt-in).'),
|
|
110
|
+
s('Como é verificado', false, 'Teste, validador ou revisão que prova o cumprimento. Inclua os critérios de aceite (fora da lista → recusado; parâmetro inválido → recusado antes de executar).'),
|
|
111
|
+
s('Exceções', false, 'Exceções aceitas, cada uma com motivo.'),
|
|
112
|
+
s('Histórico de mudanças', false, 'Versão, data e mudança.'),
|
|
113
|
+
],
|
|
114
|
+
plano: [
|
|
115
|
+
s('Resumo', true, 'Um parágrafo: o que muda e por quê.'),
|
|
116
|
+
s('Problema', false, 'Sintoma observável, sem citar a solução.'),
|
|
117
|
+
s('Proposta', true, 'Fluxo, contrato (entradas, saídas, erros, idempotência), estados e transições, dados que trafegam e o impacto por frente.'),
|
|
118
|
+
s('Fora de escopo', false, 'O que este plano não faz.'),
|
|
119
|
+
s('Fases e critérios de aceite', false, 'Fases, rollout e rollback, e critérios verificáveis (teste, contrato, smoke).'),
|
|
120
|
+
s('Riscos', false, 'Casos de borda (offline, credencial inválida, concorrência, dado velho), privacidade e segurança.'),
|
|
121
|
+
s('Decisões pendentes', false, 'O que depende do dono ou do Core, com opções.'),
|
|
122
|
+
s('Status e evidência', false, 'Estado atual com evidência (arquivo:linha, commit, PR).'),
|
|
123
|
+
],
|
|
124
|
+
relatorio: [
|
|
125
|
+
s('Resumo', true, 'O que foi olhado e a conclusão em poucas linhas.'),
|
|
126
|
+
s('Escopo e método', false, 'O que entrou, o que ficou de fora e como foi feito.'),
|
|
127
|
+
s('Achados', true, 'Por severidade: crítico, alto, médio, baixo. Cada achado com evidência.'),
|
|
128
|
+
s('Recomendações', false, 'O que fazer, em ordem de prioridade.'),
|
|
129
|
+
s('Decisões do dono', false, 'O que precisa de decisão.'),
|
|
130
|
+
s('Evidências', false, 'Comandos, saídas, links.'),
|
|
131
|
+
],
|
|
132
|
+
incidente: [
|
|
133
|
+
s('Resumo', true, 'O que quebrou, em uma frase.'),
|
|
134
|
+
s('Impacto', true, 'Quem foi afetado, por quanto tempo, o que deixou de funcionar.'),
|
|
135
|
+
s('Linha do tempo', true, 'Horários (com fuso) do início, da detecção, da mitigação e do fim.'),
|
|
136
|
+
s('Causa raiz', true, 'A causa confirmada, com evidência — hipótese não é diagnóstico.'),
|
|
137
|
+
s('Correção', false, 'O que foi feito para resolver.'),
|
|
138
|
+
s('Ações de prevenção', false, 'O que muda para não repetir, com responsável.'),
|
|
139
|
+
s('Evidências', false, 'Logs, comandos, PRs.'),
|
|
140
|
+
],
|
|
141
|
+
ata: [
|
|
142
|
+
s('Participantes', false, 'Quem esteve.'),
|
|
143
|
+
s('Pauta', false, 'Os assuntos.'),
|
|
144
|
+
s('Discussão', false, 'O que foi discutido.'),
|
|
145
|
+
s('Decisões', true, 'O que foi decidido.'),
|
|
146
|
+
s('Encaminhamentos', true, 'Cada um com responsável e prazo.'),
|
|
147
|
+
],
|
|
148
|
+
juridico: [
|
|
149
|
+
s('Objeto', true, 'Do que trata o texto.'),
|
|
150
|
+
s('Vigência e versão', true, 'Desde quando vale e qual versão é.'),
|
|
151
|
+
s('Onde é publicado', false, 'Página ou superfície onde aparece.'),
|
|
152
|
+
],
|
|
153
|
+
conteudo: [
|
|
154
|
+
s('Objetivo', true, 'Para que serve a peça.'),
|
|
155
|
+
s('Público', false, 'Para quem.'),
|
|
156
|
+
s('Peças', false, 'As peças.'),
|
|
157
|
+
s('Aprovação', false, 'Quem aprovou e quando.'),
|
|
158
|
+
],
|
|
159
|
+
indice: [],
|
|
160
|
+
tour: [],
|
|
161
|
+
changelog: [],
|
|
162
|
+
};
|
|
163
|
+
/** Modelo de ameaças (base: `neetru-zelo/docs/design/modelos/threat-model.md`) — um `referencia` em `seguranca/`. */
|
|
164
|
+
export const THREAT_MODEL_SECTIONS = [
|
|
165
|
+
s('Visão geral', true, 'Superfície analisada (login, comando, credencial, transporte…), versão do desenho e data.'),
|
|
166
|
+
s('Ativos', true, 'Ativos (credencial, canal de comando, binário, dados) e fronteiras de confiança: navegador │ rede │ produto │ Core. O que cruza cada fronteira.'),
|
|
167
|
+
s('Ameaças', true, 'Tabela STRIDE: #, categoria (falsificação, adulteração, repúdio, vazamento, negação de serviço, elevação de privilégio), ameaça, como exploraria, impacto, probabilidade, risco.'),
|
|
168
|
+
s('Mitigações', true, 'Tabela: #, mitigação, tipo (prevenir/detectar/responder), onde implementa, se é regra dura.'),
|
|
169
|
+
s('Riscos aceitos', true, 'O que fica em aberto, por quê e quem é o dono do risco.'),
|
|
170
|
+
s('Relacionados', false, 'Como a mitigação é provada (teste, revisão) e os ADRs derivados.'),
|
|
171
|
+
];
|
|
172
|
+
/** Seções obrigatórias dos docs do mínimo do primeiro dia (§7.2), por caminho relativo a `docs/`. */
|
|
173
|
+
export const DAY_ONE_MODELS = {
|
|
174
|
+
'produto/VISAO_DO_PRODUTO.md': [
|
|
175
|
+
s('Problema que resolve', true, 'A dor do cliente, com exemplo concreto. Sem métrica inventada.'),
|
|
176
|
+
s('Para quem', true, 'Quem usa (perfil de empresa e de pessoa) e quem decide a compra.'),
|
|
177
|
+
s('O que o produto faz', true, 'As capacidades principais, em linguagem do cliente.'),
|
|
178
|
+
s('O que não faz', false, 'Limites claros, para não prometer o que não existe.'),
|
|
179
|
+
s('Como se mede o resultado', false, 'Só métricas reais, com a fonte.'),
|
|
180
|
+
s('Relacionados', false, 'Links relativos (com .md).'),
|
|
181
|
+
],
|
|
182
|
+
'arquitetura/ARQUITETURA.md': [
|
|
183
|
+
s('Contexto', true, 'O que o produto é tecnicamente e que restrições pesam.'),
|
|
184
|
+
s('Visão geral', true, 'O desenho em poucas linhas: front, servidor, banco, integrações.'),
|
|
185
|
+
s('Componentes', false, 'As peças, o papel de cada uma e onde moram no código.'),
|
|
186
|
+
s('Integração com o Core', true, 'SDK @neetru/sdk como ÚNICO caminho de dados; login OIDC do Core; banco por produto provisionado pelo Core; credenciais injetadas no servidor (nunca no navegador, nunca em .env versionado); ambientes dev → homologação → produção.'),
|
|
187
|
+
s('Dados', false, 'Entidades principais e onde ficam; aponte o MODELO_DE_DADOS.md quando existir.'),
|
|
188
|
+
s('Limites e riscos', false, 'Limites conhecidos e riscos.'),
|
|
189
|
+
s('Relacionados', false, 'Links relativos (com .md).'),
|
|
190
|
+
],
|
|
191
|
+
'api/API_V1.md': [
|
|
192
|
+
s('Base e autenticação', true, 'Base https://<produto>.neetru.com/api/v1. Authorization: Bearer com token OIDC no app, cookie de sessão na web. O tenant vem sempre do servidor, nunca do corpo.'),
|
|
193
|
+
s('Formato de erro', true, 'Sempre {"error":{"code","message","requestId"}}. Liste os códigos.'),
|
|
194
|
+
s('Idempotência', false, 'Idempotency-Key obrigatório em escrita que mexe com dinheiro ou estoque.'),
|
|
195
|
+
s('Limites de uso', false, '429 com Retry-After; os limites por rota.'),
|
|
196
|
+
s('Paginação, datas e dinheiro', false, 'Paginação por cursor, datas em ISO UTC, dinheiro em centavos.'),
|
|
197
|
+
s('Versionamento', true, 'A v1 só ganha campos; o que quebra vai para /api/v2. Se o produto foge da convenção, diga onde e por quê.'),
|
|
198
|
+
s('Endpoints', true, 'Uma H3 por endpoint (ex.: "### GET /api/v1/me") com autenticação, corpo, respostas, erros e exemplo.'),
|
|
199
|
+
],
|
|
200
|
+
'runbooks/RUNBOOK_DEPLOY.md': TYPE_MODELS.runbook,
|
|
201
|
+
};
|
|
202
|
+
// ─── nomes de arquivo (§8 da wiki, §6 de produtos) ──────────────────────────
|
|
203
|
+
export const FILE_NAME_REGEX = /^(ADR-\d{4}_[A-Z0-9]+(_[A-Z0-9]+)*|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*(_\d{4}-\d{2}(-\d{2})?)?)\.md$/;
|
|
204
|
+
/** Prefixo de nome por tipo (doc novo). `referencia` não tem prefixo obrigatório. */
|
|
205
|
+
export const TYPE_PREFIX = {
|
|
206
|
+
runbook: 'RUNBOOK',
|
|
207
|
+
guia: 'GUIA',
|
|
208
|
+
arquitetura: 'ARQUITETURA',
|
|
209
|
+
norma: 'POLITICA',
|
|
210
|
+
plano: 'PLANO',
|
|
211
|
+
relatorio: 'RELATORIO',
|
|
212
|
+
incidente: 'INCIDENTE',
|
|
213
|
+
ata: 'ATA',
|
|
214
|
+
referencia: '',
|
|
215
|
+
adr: 'ADR',
|
|
216
|
+
};
|
|
217
|
+
/** Pasta onde `docs new <tipo>` cria o doc, quando a categoria não decide. */
|
|
218
|
+
export const TYPE_DEFAULT_FOLDER = {
|
|
219
|
+
guia: 'guias',
|
|
220
|
+
referencia: 'arquitetura',
|
|
221
|
+
arquitetura: 'arquitetura',
|
|
222
|
+
adr: 'decisoes',
|
|
223
|
+
runbook: 'runbooks',
|
|
224
|
+
norma: 'seguranca',
|
|
225
|
+
plano: 'planos',
|
|
226
|
+
relatorio: 'relatorios',
|
|
227
|
+
incidente: 'relatorios',
|
|
228
|
+
ata: 'relatorios',
|
|
229
|
+
};
|
|
230
|
+
/** Pasta preferida por categoria (quando o tipo cabe nela). */
|
|
231
|
+
export const CATEGORY_FOLDER = {
|
|
232
|
+
Produto: 'produto',
|
|
233
|
+
'Ajuda ao usuário': 'usuario',
|
|
234
|
+
'Integrações': 'integracoes',
|
|
235
|
+
'Segurança': 'seguranca',
|
|
236
|
+
API: 'api',
|
|
237
|
+
};
|
|
238
|
+
export const STOPWORDS = new Set(['DE', 'DA', 'DO', 'DAS', 'DOS', 'E', 'O', 'A', 'OS', 'AS', 'EM', 'NO', 'NA', 'NOS', 'NAS', 'PARA', 'POR', 'COM', 'UM', 'UMA']);
|
|
239
|
+
//# sourceMappingURL=structure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/lib/product-docs/structure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,oFAAoF;IACpF,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IAC5I,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IAC5I,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IAC/J,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IAC7H,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IACnI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IACtI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IAC5I,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IACpJ,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;IAC9J,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;IAClJ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE;IACvI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE;IAC5I,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE;IACvK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;CAC5I,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa;IAC/E,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;CAC3D,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAE1G,wEAAwE;AACxE,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACpD,CAAC;AAWD,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,EAAE,IAAI,EAAE,WAAW,EAAE;IACrB,EAAE,IAAI,EAAE,cAAc,EAAE;IACxB,EAAE,IAAI,EAAE,eAAe,EAAE;IACzB,EAAE,IAAI,EAAE,kCAAkC,EAAE;IAC5C,EAAE,IAAI,EAAE,iCAAiC,EAAE;IAC3C,EAAE,IAAI,EAAE,iCAAiC,EAAE;IAC3C,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC/C,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qCAAqC;IACrC,qCAAqC;IACrC,2BAA2B;IAC3B,0CAA0C;CAC3C,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAA4C;IACtE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACjD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,wBAAwB,EAAE;IAC9D,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE;CACzD,CAAC;AAWF,MAAM,CAAC,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAE,IAAY,EAAW,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,OAAO,EAAE;QACP,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,oEAAoE,CAAC;QAC5F,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,sEAAsE,CAAC;QAClG,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,kEAAkE,CAAC;QAC5F,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,+DAA+D,CAAC;QACvF,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,oDAAoD,CAAC;QAC/E,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,wDAAwD,CAAC;QACtF,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,+CAA+C,CAAC;KAC1E;IACD,IAAI,EAAE;QACJ,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,+CAA+C,CAAC;QACpE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,mCAAmC,CAAC;QAC/D,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,2CAA2C,CAAC;QACtE,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,mCAAmC,CAAC;QACjE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,+CAA+C,CAAC;KAC1E;IACD,UAAU,EAAE;QACV,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,yCAAyC,CAAC;QACjE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAAC;QAC9C,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,+CAA+C,CAAC;KAC1E;IACD,WAAW,EAAE;QACX,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,yDAAyD,CAAC;QAC9E,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,uDAAuD,CAAC;QAC/E,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,uDAAuD,CAAC;QAChF,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,0CAA0C,CAAC;QAC9D,CAAC,CAAC,yBAAyB,EAAE,KAAK,EAAE,8CAA8C,CAAC;QACnF,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,+CAA+C,CAAC;QAC7E,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,+CAA+C,CAAC;KAC1E;IACD,GAAG,EAAE;QACH,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,sEAAsE,CAAC;QAC3F,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,oFAAoF,CAAC;QACxG,CAAC,CAAC,2BAA2B,EAAE,KAAK,EAAE,yFAAyF,CAAC;QAChI,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,+LAA+L,CAAC;QACzN,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,2CAA2C,CAAC;KACrE;IACD,KAAK,EAAE;QACL,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,wCAAwC,CAAC;QAC7D,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,4BAA4B,CAAC;QAChD,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,2OAA2O,CAAC;QAC9P,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE,iKAAiK,CAAC;QAChM,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,wCAAwC,CAAC;QAC9D,CAAC,CAAC,uBAAuB,EAAE,KAAK,EAAE,yBAAyB,CAAC;KAC7D;IACD,KAAK,EAAE;QACL,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,qCAAqC,CAAC;QACxD,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,0CAA0C,CAAC;QAChE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,2HAA2H,CAAC;QAChJ,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,2BAA2B,CAAC;QACvD,CAAC,CAAC,6BAA6B,EAAE,KAAK,EAAE,+EAA+E,CAAC;QACxH,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,mGAAmG,CAAC;QACvH,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,+CAA+C,CAAC;QAC/E,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,yDAAyD,CAAC;KAC1F;IACD,SAAS,EAAE;QACT,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,kDAAkD,CAAC;QACrE,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,qDAAqD,CAAC;QAClF,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,yEAAyE,CAAC;QAC7F,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,sCAAsC,CAAC;QACjE,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,2BAA2B,CAAC;QACzD,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,0BAA0B,CAAC;KACnD;IACD,SAAS,EAAE;QACT,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,8BAA8B,CAAC;QACjD,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,gEAAgE,CAAC;QACpF,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,oEAAoE,CAAC;QAC/F,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,iEAAiE,CAAC;QACxF,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,gCAAgC,CAAC;QACtD,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,+CAA+C,CAAC;QAC/E,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,sBAAsB,CAAC;KAC/C;IACD,GAAG,EAAE;QACH,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,cAAc,CAAC;QACzC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC;QACjC,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,sBAAsB,CAAC;QAC7C,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,qBAAqB,CAAC;QAC1C,CAAC,CAAC,iBAAiB,EAAE,IAAI,EAAE,kCAAkC,CAAC;KAC/D;IACD,QAAQ,EAAE;QACR,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC;QAC1C,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,oCAAoC,CAAC;QAClE,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,oCAAoC,CAAC;KACnE;IACD,QAAQ,EAAE;QACR,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,wBAAwB,CAAC;QAC7C,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;QACjC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC;QAC9B,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,wBAAwB,CAAC;KAChD;IACD,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,qHAAqH;AACrH,MAAM,CAAC,MAAM,qBAAqB,GAAc;IAC9C,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,2FAA2F,CAAC;IACnH,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,iJAAiJ,CAAC;IACpK,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,kLAAkL,CAAC;IACtM,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,6FAA6F,CAAC;IACpH,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,yDAAyD,CAAC;IACpF,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,kEAAkE,CAAC;CAC7F,CAAC;AAEF,qGAAqG;AACrG,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,6BAA6B,EAAE;QAC7B,CAAC,CAAC,sBAAsB,EAAE,IAAI,EAAE,gEAAgE,CAAC;QACjG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,kEAAkE,CAAC;QACxF,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,qDAAqD,CAAC;QACrF,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,qDAAqD,CAAC;QAChF,CAAC,CAAC,0BAA0B,EAAE,KAAK,EAAE,iCAAiC,CAAC;QACvE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,4BAA4B,CAAC;KACvD;IACD,4BAA4B,EAAE;QAC5B,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,wDAAwD,CAAC;QAC7E,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,kEAAkE,CAAC;QAC1F,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,uDAAuD,CAAC;QAChF,CAAC,CAAC,uBAAuB,EAAE,IAAI,EAAE,sOAAsO,CAAC;QACxQ,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,gFAAgF,CAAC;QACnG,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,8BAA8B,CAAC;QAC5D,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,4BAA4B,CAAC;KACvD;IACD,eAAe,EAAE;QACf,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,kKAAkK,CAAC;QAClM,CAAC,CAAC,iBAAiB,EAAE,IAAI,EAAE,oEAAoE,CAAC;QAChG,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,0EAA0E,CAAC;QACpG,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,2CAA2C,CAAC;QACvE,CAAC,CAAC,6BAA6B,EAAE,KAAK,EAAE,+DAA+D,CAAC;QACxG,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,2GAA2G,CAAC;QACrI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,sGAAsG,CAAC;KAC7H;IACD,4BAA4B,EAAE,WAAW,CAAC,OAAO;CAClD,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAC1B,8FAA8F,CAAC;AAEjG,qFAAqF;AACrF,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,EAAE;IACd,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,GAAG,EAAE,YAAY;CAClB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,OAAO,EAAE,SAAS;IAClB,kBAAkB,EAAE,SAAS;IAC7B,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,WAAW;IACxB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { type FmData } from './frontmatter.js';
|
|
2
|
+
import type { DocsTaxonomy } from './taxonomy.js';
|
|
3
|
+
import type { ProductRepo } from './config.js';
|
|
4
|
+
export declare const MAX_PRODUCT_DOCS = 200;
|
|
5
|
+
export declare const MAX_PRODUCT_DOCS_BYTES: number;
|
|
6
|
+
/** Teto por doc no Core (`MAX_PRODUCT_DOC_BYTES`, 413 `doc_too_large`). */
|
|
7
|
+
export declare const MAX_PRODUCT_DOC_BYTES: number;
|
|
8
|
+
/** Abaixo do `cliWrite` do Core (30/min por IP), com folga para outro comando na mesma rede. */
|
|
9
|
+
export declare const POSTS_PER_MINUTE = 25;
|
|
10
|
+
/** Tentativas extras quando o Core responde 429/503. */
|
|
11
|
+
export declare const MAX_RETRIES = 3;
|
|
12
|
+
export type SyncStatus = 'ok' | 'parcial' | 'nada-a-enviar' | 'core-sem-suporte' | 'desligado' | 'sem-login' | 'limite-excedido' | 'produto-nao-encontrado' | 'falha';
|
|
13
|
+
export interface RemoteDoc {
|
|
14
|
+
slug: string;
|
|
15
|
+
title?: string | null;
|
|
16
|
+
description?: string | null;
|
|
17
|
+
category?: string | null;
|
|
18
|
+
subcategory?: string | null;
|
|
19
|
+
type?: string | null;
|
|
20
|
+
status?: string | null;
|
|
21
|
+
audience?: string | null;
|
|
22
|
+
order?: number | null;
|
|
23
|
+
updated?: string | null;
|
|
24
|
+
date?: string | null;
|
|
25
|
+
visibility?: string;
|
|
26
|
+
sha256?: string;
|
|
27
|
+
version?: number;
|
|
28
|
+
}
|
|
29
|
+
/** Metadados que o GET do Core devolve e que a CLI compara (o que vier). */
|
|
30
|
+
export declare const COMPARED_METADATA: readonly ["title", "description", "category", "subcategory", "type", "status", "audience", "order", "updated", "date"];
|
|
31
|
+
export interface LocalDoc {
|
|
32
|
+
file: string;
|
|
33
|
+
slug: string;
|
|
34
|
+
content: string;
|
|
35
|
+
frontmatter: FmData;
|
|
36
|
+
visibility: 'public' | 'internal';
|
|
37
|
+
sha256: string;
|
|
38
|
+
bytes: number;
|
|
39
|
+
}
|
|
40
|
+
export interface SyncResult {
|
|
41
|
+
status: SyncStatus;
|
|
42
|
+
message: string;
|
|
43
|
+
product: string;
|
|
44
|
+
dryRun: boolean;
|
|
45
|
+
enviados: Array<{
|
|
46
|
+
slug: string;
|
|
47
|
+
version?: number;
|
|
48
|
+
created?: boolean;
|
|
49
|
+
visibility: string;
|
|
50
|
+
}>;
|
|
51
|
+
inalterados: string[];
|
|
52
|
+
bloqueados: Array<{
|
|
53
|
+
file: string;
|
|
54
|
+
codes: string[];
|
|
55
|
+
}>;
|
|
56
|
+
falhas: Array<{
|
|
57
|
+
slug: string;
|
|
58
|
+
message: string;
|
|
59
|
+
}>;
|
|
60
|
+
/** Não enviados por regra do Core conferida localmente (slug, tamanho). */
|
|
61
|
+
recusados: Array<{
|
|
62
|
+
file: string;
|
|
63
|
+
motivo: string;
|
|
64
|
+
}>;
|
|
65
|
+
orfaos: string[];
|
|
66
|
+
/** Plano local (dry-run sem login / antes do envio). */
|
|
67
|
+
planejados: Array<{
|
|
68
|
+
slug: string;
|
|
69
|
+
visibility: string;
|
|
70
|
+
bytes: number;
|
|
71
|
+
}>;
|
|
72
|
+
}
|
|
73
|
+
export declare function visibilityFor(fm: FmData): 'public' | 'internal';
|
|
74
|
+
export declare function docSlugFor(relInDocs: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* Motivo pelo qual o Core recusaria o slug (mesmas regras de
|
|
77
|
+
* `productDocSlugSchema`), ou null se ele passa.
|
|
78
|
+
*/
|
|
79
|
+
export declare function slugProblem(slug: string): string | null;
|
|
80
|
+
/** Monta o lote local (sem I/O de rede). */
|
|
81
|
+
export declare function collectLocalDocs(repo: ProductRepo, taxonomy: DocsTaxonomy): Promise<{
|
|
82
|
+
docs: LocalDoc[];
|
|
83
|
+
bloqueados: SyncResult['bloqueados'];
|
|
84
|
+
recusados: SyncResult['recusados'];
|
|
85
|
+
}>;
|
|
86
|
+
export interface SyncOptions {
|
|
87
|
+
taxonomy: DocsTaxonomy;
|
|
88
|
+
dryRun?: boolean;
|
|
89
|
+
/** Token já resolvido (teste/deploy); senão lê a sessão. */
|
|
90
|
+
token?: string | null;
|
|
91
|
+
/** Relógio e espera injetáveis (teste). */
|
|
92
|
+
now?: () => number;
|
|
93
|
+
sleep?: (ms: number) => Promise<void>;
|
|
94
|
+
/** Chamado antes de cada espera (para mostrar "aguardando…"). */
|
|
95
|
+
onWait?: (ms: number, motivo: 'ritmo' | 'retry-after') => void;
|
|
96
|
+
}
|
|
97
|
+
/** O doc local é igual ao do Core (conteúdo + metadados que o GET devolve)? */
|
|
98
|
+
export declare function sameAsRemote(d: LocalDoc, r: RemoteDoc | undefined): boolean;
|
|
99
|
+
/** Janela deslizante: no máximo `limit` envios em 60 s. */
|
|
100
|
+
export declare function createPacer(limit: number, now: () => number, sleep: (ms: number) => Promise<void>, onWait?: SyncOptions['onWait']): () => Promise<void>;
|
|
101
|
+
export declare function syncProductDocs(repo: ProductRepo, opts: SyncOptions): Promise<SyncResult>;
|