izanagi-ai 3.9.0 → 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/.codex/instructions.md +1 -1
- package/.github/copilot-instructions.md +1 -1
- package/.github/workflows/publish.yml +26 -1
- package/.kimi/README.md +1 -1
- package/.manifest +2 -2
- package/AGENTS.md +65 -17
- package/CLAUDE.md +1 -1
- package/dist/exporters.d.ts +10 -0
- package/dist/exporters.d.ts.map +1 -1
- package/dist/exporters.js +27 -15
- package/dist/exporters.js.map +1 -1
- package/dist/runtime/tests/exporters-provenance.test.d.ts +2 -0
- package/dist/runtime/tests/exporters-provenance.test.d.ts.map +1 -0
- package/dist/runtime/tests/exporters-provenance.test.js +173 -0
- package/dist/runtime/tests/exporters-provenance.test.js.map +1 -0
- package/kimi.md +1 -1
- package/package.json +1 -1
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/tests/__pycache__/test_core.cpython-314-pytest-9.1.1.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/tests/__pycache__/test_design_system_mode.cpython-314-pytest-9.1.1.pyc +0 -0
package/.codex/instructions.md
CHANGED
|
@@ -42,6 +42,21 @@
|
|
|
42
42
|
#
|
|
43
43
|
# 4) PARIDADE DE RUNTIME: Node 24 (igual dev local e igual Polyglot CI,
|
|
44
44
|
# onde o job legacy-npm validou ci/build/test no 24). O 20.x era drift.
|
|
45
|
+
#
|
|
46
|
+
# 5) PROVENANCE OIDC DO NPM (Wave 5 - frente C, 2026-08-23):
|
|
47
|
+
# `npm publish --provenance` anexa uma declaração de proveniência SLSA
|
|
48
|
+
# assinada via keyless Sigstore ao pacote, provando que o artefato foi
|
|
49
|
+
# construído NESTE workflow, NESTE repo, a partir da tag publicada.
|
|
50
|
+
# - Permissão `id-token: write` declarada APENAS no job publish (least
|
|
51
|
+
# privilege): build-and-verify não publica e não deve mintar OIDC.
|
|
52
|
+
# Bloco de permissions de job SOBRESCREVE o global, por isso
|
|
53
|
+
# contents:read é redeclarado nele.
|
|
54
|
+
# - Direção de falha segura (fail-closed): se o token OIDC/provenance
|
|
55
|
+
# falhar, o npm ABORTA o publish antes do upload - nunca há pacote
|
|
56
|
+
# publicado sem provenance silenciosamente.
|
|
57
|
+
# Pré-requisitos conferidos: npm >=9.5 (Node 24 => npm 11.x), registry
|
|
58
|
+
# npmjs.org, campo repository do package.json = este repo, evento
|
|
59
|
+
# push tag/release suportado.
|
|
45
60
|
# =============================================================================
|
|
46
61
|
|
|
47
62
|
name: Publish to NPM
|
|
@@ -81,6 +96,14 @@ jobs:
|
|
|
81
96
|
needs: build-and-verify
|
|
82
97
|
runs-on: ubuntu-latest
|
|
83
98
|
timeout-minutes: 10
|
|
99
|
+
# Least privilege no nível de JOB (não global): id-token:write é exigido
|
|
100
|
+
# pelo provenance OIDC do npm e vale só aqui. Este bloco SOBRESCREVE o
|
|
101
|
+
# permissions do topo do workflow para este job - por isso contents:read
|
|
102
|
+
# é redeclarado (checkout continua funcionando). build-and-verify segue
|
|
103
|
+
# herdando apenas contents:read do escopo global.
|
|
104
|
+
permissions:
|
|
105
|
+
contents: read
|
|
106
|
+
id-token: write
|
|
84
107
|
steps:
|
|
85
108
|
# actions/checkout@v4
|
|
86
109
|
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
|
|
@@ -112,6 +135,8 @@ jobs:
|
|
|
112
135
|
fi
|
|
113
136
|
- name: Publish (only if version is new)
|
|
114
137
|
if: steps.version_guard.outputs.already_published == 'false'
|
|
115
|
-
|
|
138
|
+
# --provenance: exige id-token:write (acima). Fail-closed: sem OIDC
|
|
139
|
+
# válido o npm aborta ANTES do upload - nunca publica sem assinatura.
|
|
140
|
+
run: npm publish --access public --provenance
|
|
116
141
|
env:
|
|
117
142
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/.kimi/README.md
CHANGED
|
@@ -23,4 +23,4 @@ O **Kimi CLI** é compatível com a convenção do opencode: ele lê `AGENTS.md`
|
|
|
23
23
|
- **Sempre**: IaC versionado; monitoramento desde o dia 1; secrets por ferramenta própria.
|
|
24
24
|
- **Nunca**: commit `.env`; container root; deploy sem CI; hardcode de config de ambiente.
|
|
25
25
|
|
|
26
|
-
> Gerado pelo Izanagi AI
|
|
26
|
+
> Gerado pelo Izanagi AI: `izanagi export --cli kimi`
|
package/.manifest
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izanagi-ai",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.0",
|
|
4
4
|
"description": "Izanagi AI - Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering",
|
|
5
5
|
"author": "Pedro Henrique Sanches Leal",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/pedrohenriquesanchesleal4-debug/izanagi-ai#readme",
|
|
8
|
-
"generatedAt": "2026-08-
|
|
8
|
+
"generatedAt": "2026-08-23T18:12:57.777Z",
|
|
9
9
|
"agents": [
|
|
10
10
|
{
|
|
11
11
|
"id": "adversarial-critic",
|
package/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGENTS.md: Izanagi AI Framework Reference
|
|
2
2
|
|
|
3
|
-
> Version 3.
|
|
3
|
+
> Version 3.9.0
|
|
4
4
|
> Modular Skill-Oriented AI Prompt & Agent Framework for Autonomous Software Engineering
|
|
5
5
|
> Multi-CLI: Opencode · Claude Code · Codex · Cursor · Copilot · Kimi (Smart Auto-Detection & Selective Generation)
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
## 1. Visão Geral do Framework
|
|
10
10
|
|
|
11
|
-
Izanagi AI é um **framework meta** para engenharia de software autônoma orientada a agentes: arquitetura em camadas (Routing → Orchestration → Evaluation → Healing → Memory), biblioteca de skills especializadas, **Skill Composer** (16 composições de skills encadeadas por domínio), **22 agentes especializados core + gerados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**,
|
|
11
|
+
Izanagi AI é um **framework meta** para engenharia de software autônoma orientada a agentes: arquitetura em camadas (Routing → Orchestration → Evaluation → Healing → Memory), biblioteca de skills especializadas (catálogo v2 em `.skills/` convivendo com o legado `skills/`), **Skill Composer** (16 composições de skills encadeadas por domínio), **22 agentes especializados core + gerados**, **Memória Persistente Anti-Repetição** (`.agents/memoria/`), **Curadoria de Referências** (`references/`), **Checkpoint & Self-Healing Swarm Engine**, uma **CLI executável (`izanagi`)** publicada no npm (`izanagi-ai`) e uma **topologia poliglota** (Rust · Go · Python · TS — seção 3). Este repositório É o framework (não um app que o usa).
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -46,40 +46,84 @@ O framework conta com **22 agentes especializados** em `agents/*.json` + orquest
|
|
|
46
46
|
|
|
47
47
|
---
|
|
48
48
|
|
|
49
|
-
## 3.
|
|
49
|
+
## 3. Arquitetura Poliglota (Waves 1–4)
|
|
50
|
+
|
|
51
|
+
Coexistência **Strangler Fig** (ADR-001): o legado npm (`src/`, CLI `izanagi`) permanece intocado e publicável; o crescimento novo vive num SDK TypeScript + 4 núcleos nativos, orquestrados pela CLI de nova geração (`packages/cli`, binário `izanagi-next`). Referência canônica de contratos IPC, error codes (`-32001..-32005`), env vars e ADRs: **`docs/POLYGLOT.md`** (ADRs integrais em `.agents/memoria/decisoes.md`, gitignored).
|
|
52
|
+
|
|
53
|
+
| Componente | Linguagem | Responsabilidade | Como testar |
|
|
54
|
+
|---|---|---|---|
|
|
55
|
+
| `crates/izanagi_core` | Rust | Quality engine: 7 heurísticas anti-slop sobre TS/Python/Go; protocolo NDJSON stdin/stdout (`validate`/`rules`/`version`) + op `scan-rationalizations` (`--file=<path>` / `--stdin`, exit 0/1/2); bindings WASM feature-gated (`--features wasm`, subcomandos `--version`/`--help`) | `cargo test --workspace` (111 testes) · `cargo check -p izanagi_core --features wasm` |
|
|
56
|
+
| `crates/izanagi_mcp` | Rust | Cliente MCP JSON-RPC 2.0 sobre stdio: discovery + invocação pontual (`izanagi-mcp call --tool=<name>`) | incluso no `cargo test --workspace` |
|
|
57
|
+
| `go-services/swarm_orchestrator` | Go | Orquestrador de swarm (Uber Fx): pipeline architect→engineer→qa→security via JSON-RPC 2.0 sobre UDS com event push | `(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)` |
|
|
58
|
+
| `python-engine/ast_analyzer` | Python ≥3.10 | Análise semântica multilíngue: símbolos, complexidade ciclomática, imports (tree-sitter + fallback estrutural) | `(cd python-engine && .venv/bin/python -m pytest tests/ -q)` (70 testes) |
|
|
59
|
+
| `packages/sdk` | TypeScript | `@izanagi/sdk`: clientes tipados strict para os 4 núcleos + catálogo de skills; zero deps runtime | `(cd packages/sdk && npm install && npm test)` |
|
|
60
|
+
| `packages/cli` | TypeScript | Binário `izanagi-next`: run em 4 fases com auto-heal (N=2), `agent list`, `skill list`, `gates check`; exit codes próprios (0 ok · 1 gate/falha · 2 uso · 3 ambiente) | smoke manual (`help`, `agent list`) — suíte própria pendente |
|
|
61
|
+
| `packages/skill-migrator` · `agent-migrator` | Node ESM | Migradores determinísticos idempotentes: skills v1→v2 (106 módulos) e agents JSON→YAML (22) — ADR-004/005 | `node packages/agent-migrator/cli.mjs --check` · `node packages/skill-migrator/cli.mjs --dry-run` |
|
|
62
|
+
|
|
63
|
+
**Gotchas poliglotas:**
|
|
64
|
+
- Socket do orquestrador tem defaults divergentes por lado: servidor Go `/tmp/izanagi-orch.sock` (env `IZANAGI_ORCHESTRATOR_SOCK`) × SDK TS `/tmp/izanagi-swarm.sock` (env `IZANAGI_ORCHESTRATOR_SOCKET`). Case os dois via env antes de integrar (tabela completa em `docs/POLYGLOT.md`).
|
|
65
|
+
- Testes do SDK/CLI NUNCA via strip-types direto sobre `.ts`: use o build próprio de cada pacote (`npm test` dentro de `packages/sdk`).
|
|
66
|
+
- `Cargo.lock` é commitado (pins exatos, ex.: wasm-bindgen); build `.wasm` real só existe no job CI `wasm-build`.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 4. Comandos de Desenvolvimento (ordem importa)
|
|
50
71
|
|
|
51
72
|
```
|
|
73
|
+
# Legado npm (raiz)
|
|
52
74
|
npm install # instala deps
|
|
53
75
|
npm run build # tsc && node dist/scripts/generate-manifest.js
|
|
54
|
-
npm test # build + node --test dist/runtime/tests/*.test.js (
|
|
76
|
+
npm test # build + node --test dist/runtime/tests/*.test.js (284 testes)
|
|
55
77
|
npm run verify # build + teste de instalação em sandbox (passa todos os pack IDs)
|
|
56
|
-
npm run doctor # node bin/izanagi.js doctor: auditoria de integridade
|
|
78
|
+
npm run doctor # node bin/izanagi.js doctor [--deep]: auditoria de integridade
|
|
57
79
|
npm run bump:patch # npm version patch --no-git-tag-version (também minor/major)
|
|
58
80
|
npm publish # prepublishOnly roda build; depois: git push
|
|
81
|
+
|
|
82
|
+
# Núcleos poliglotas
|
|
83
|
+
cargo build --workspace # Rust: bins izanagi-core / izanagi-mcp em target/debug/
|
|
84
|
+
cargo test --workspace # 111 testes (core + mcp)
|
|
85
|
+
cargo check -p izanagi_core --features wasm # type-check dos bindings WASM (ADR-003)
|
|
86
|
+
(cd go-services/swarm_orchestrator && go build ./... && go vet ./... && go test ./...)
|
|
87
|
+
(cd python-engine && .venv/bin/python -m pip install -r requirements-dev.txt && .venv/bin/python -m pytest tests/ -q)
|
|
88
|
+
(cd packages/sdk && npm install && npm test)
|
|
89
|
+
(cd packages/cli && npm install && npm run build)
|
|
90
|
+
|
|
91
|
+
# Diagnóstico & catálogos v2
|
|
92
|
+
node bin/izanagi.js polyglot status [--json|--strict] # saúde dos 7 componentes poliglotas (--strict sai 1 se algo ausente)
|
|
93
|
+
node packages/agent-migrator/cli.mjs --check # drift YAML ↔ JSON (exit 0 sincronia / 1 drift / 2 uso)
|
|
94
|
+
node packages/skill-migrator/cli.mjs --dry-run # valida migração skills v2 sem escrever
|
|
59
95
|
```
|
|
60
96
|
|
|
61
97
|
**Gotchas críticos:**
|
|
62
|
-
- `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js`: **rode `npm run build` antes de qualquer comando CLI local
|
|
63
|
-
- `doctor
|
|
64
|
-
- Há test runner real (`node:test`,
|
|
98
|
+
- `dist/` é gitignored e `bin/izanagi.js` importa de `../dist/cli/index.js`: **rode `npm run build` antes de qualquer comando CLI local** (`doctor`, `polyglot status`, `export`...), senão roda código obsoleto ou quebra. O mesmo vale para `packages/*/dist`: rode o build do package antes de consumir SDK/CLI-next.
|
|
99
|
+
- `doctor`: instalação completa do usuário = `.agents/agents/` contendo agentes em **JSON** (formato distribuído); os YAMLs derivados do repo-fonte não caracterizam instalação.
|
|
100
|
+
- Há test runner real (`node:test`, 284 testes em `src/runtime/tests/`). Verificação = `npm test` + `npm run verify` + `npm run doctor` + suítes poliglotas da seção 3.
|
|
65
101
|
- Padrão de commit do repo: `chore: bump to vX.Y.Z` para bumps e `feat:`/`fix:`/`docs:` descritivos em PT-BR para mudanças.
|
|
66
102
|
|
|
67
103
|
---
|
|
68
104
|
|
|
69
|
-
##
|
|
105
|
+
## 5. Estrutura do Framework
|
|
70
106
|
|
|
107
|
+
**Legado (fonte canônica de agentes e skills):**
|
|
71
108
|
- `core/`: 14 engines (.md, incluindo `skill-composer.md`, `checkpoint-healing-engine.md`, `quality-gates.md`) + **`skill-resolver.json`** (mapa alias → target, 258 aliases, 16 `compositions`)
|
|
72
|
-
- `agents/`:
|
|
73
|
-
- `skills/`:
|
|
109
|
+
- `agents/`: 22 definições de agentes em JSON (fonte da verdade para os comandos) com `chains` compostas e Agent Genome (13 campos); derivados YAML em `.agents/agents/*.yaml` gerados pelo agent-migrator — proibido editar YAML à mão
|
|
110
|
+
- `skills/`: legado histórico v1 (fonte do migrador). Catálogo ativo **v2**: `.skills/<name>/SKILL.md` (106 módulos; front-matter `name/description/version/category/tools.mcp` + seções Triggering Criteria / Step-by-Step Workflow / Verification Steps / Common Rationalizations / Red Flags; subpastas `references/`)
|
|
74
111
|
- `references/`: curadoria de referências reais por domínio (webgl-3d, scrollytelling, ui-design-systems, stack-2026, performance-seo)
|
|
75
|
-
- `.agents/memoria/`: memória persistente anti-repetição: `contexto.md`, `decisoes.md
|
|
112
|
+
- `.agents/memoria/`: memória persistente anti-repetição (**gitignored**, só existe local): `contexto.md`, `decisoes.md` (ADRs), `erros-corrigidos.md`, `learnings.md`
|
|
76
113
|
- `.opencode/agent/`: comandos slash do Opencode/Kimi CLI, gerados sob demanda a partir de `agents/*.json` (`izanagi export --cli opencode`), junto dos adapters de `.claude/`, `.codex/`, `.cursor/`, `.github/`, `.kimi/`
|
|
77
|
-
- `src/`: CLI TypeScript (entrypoint: `src/cli/index.ts` → `runCLI`; multi-CLI export: `src/exporters.ts`)
|
|
114
|
+
- `src/`: CLI TypeScript (entrypoint: `src/cli/index.ts` → `runCLI`; multi-CLI export: `src/exporters.ts`; diagnóstico poliglota: `src/cli/commands/polyglot.ts`)
|
|
78
115
|
- `SYSTEM.md` & `RULES.md`: fundação e regras operacionais (Anti-Generic High-Craft, Masterpiece Gate & Cinematic UI)
|
|
79
116
|
|
|
117
|
+
**Poliglota (crescimento novo):**
|
|
118
|
+
- `crates/`: workspace Rust na raiz — `izanagi_core` (quality engine + bindings WASM feature-gated), `izanagi_mcp` (cliente MCP stdio); `Cargo.lock` commitado
|
|
119
|
+
- `go-services/swarm_orchestrator/`: orquestrador Go (Uber Fx, JSON-RPC 2.0 sobre UDS, event push, artefatos por estágio)
|
|
120
|
+
- `python-engine/`: analisador AST multilíngue (tree-sitter + fallback, ~70 testes, venv em `.venv/`)
|
|
121
|
+
- `packages/`: `sdk` (`@izanagi/sdk`), `cli` (binário `izanagi-next`), `skill-migrator`, `agent-migrator` — todos `private`
|
|
122
|
+
- `docs/POLYGLOT.md`: referência canônica da topologia poliglota (contratos IPC, tabela de env vars, gaps conhecidos, resumo dos ADRs)
|
|
123
|
+
|
|
80
124
|
---
|
|
81
125
|
|
|
82
|
-
##
|
|
126
|
+
## 6. Regras de Execução, Autonomia & Masterpiece Gate
|
|
83
127
|
|
|
84
128
|
- **Estudo Antes de Codar (Study-First):** toda tarefa começa (1) carregando `.agents/memoria/contexto.md` (sempre) + só os arquivos de `.agents/memoria/` (`decisoes.md`, `erros-corrigidos.md`, `learnings.md`) do domínio da tarefa (cada agente nativo em `.claude/agents/*.md` já aponta pra sua fatia relevante, não é preciso reler os quatro por hábito), (2) consultando `references/` e/ou `deep-research` quando a tarefa exigir informação externa, e só então (3) arquitetar e implementar. Nunca programe no escuro, mas também nunca recarregue contexto irrelevante.
|
|
85
129
|
- **Lei da Fidelidade Absoluta a Referências (Anti-Rush):** Quando solicitado clonagem, inspiração ou replicação de uma referência visual/técnica (ex: `igloo.inc`), os agentes têm **estritamente proibido** retornar respostas apressadas ou fingir estudo superficial. É obrigatório decompor rigorosamente a estrutura, tipografia, grid, animações e micro-interações da referência e entregar uma obra de excelência artesanal (*High-Craft*) idêntica ou superior.
|
|
@@ -97,7 +141,7 @@ npm publish # prepublishOnly roda build; depois: git push
|
|
|
97
141
|
|
|
98
142
|
---
|
|
99
143
|
|
|
100
|
-
##
|
|
144
|
+
## 7. Padrão Anti-Generic / High-Craft & Cinematic UI
|
|
101
145
|
|
|
102
146
|
Proibido entregar código/design genérico "cara de IA" (templates óbvios, fundos cinzas chapados, cards repetitivos, sem animação).
|
|
103
147
|
- **Obrigatório:** Estética Apple-like / Awwwards-grade (`bg-zinc-950`, glassmorphism, bento grids, tipografia precisa, scrollytelling e micro-interações).
|
|
@@ -105,7 +149,7 @@ Proibido entregar código/design genérico "cara de IA" (templates óbvios, fund
|
|
|
105
149
|
|
|
106
150
|
---
|
|
107
151
|
|
|
108
|
-
##
|
|
152
|
+
## 8. Multi-CLI Compatibility & Smart Detection
|
|
109
153
|
|
|
110
154
|
O framework funciona em qualquer CLI de IA que leia `AGENTS.md` e possui adapters gerados:
|
|
111
155
|
|
|
@@ -123,7 +167,11 @@ O framework funciona em qualquer CLI de IA que leia `AGENTS.md` e possui adapter
|
|
|
123
167
|
|
|
124
168
|
---
|
|
125
169
|
|
|
126
|
-
##
|
|
170
|
+
## 9. Release Flow & CI/CD (resumo)
|
|
171
|
+
|
|
172
|
+
**CI — `.github/workflows/polyglot.yml`** (push/PR em `main`; jobs 100% paralelos, fail-fast global, actions fixadas por SHA): `legacy-npm` (build+test) · `rust` (clippy + test + check wasm) · `wasm-build` (`.wasm` E2E, ADR-003) · `go` (build/vet/test) · `python` (pytest com pins) · `ts-packages` (sdk test + cli build).
|
|
173
|
+
|
|
174
|
+
**CD — `.github/workflows/publish.yml`**: exclusivo de tag `v*`/release; guard idempotente; least privilege. Pacotes poliglotas (`@izanagi/sdk`, `@izanagi/cli-next`) são `private` — só o legado npm publica (whitelist `files` não inclui `crates/`, `go-services/`, `python-engine/`, `packages/`, por decisão deliberada).
|
|
127
175
|
|
|
128
176
|
1. `npm run bump:patch` (ou minor/major): bumpa `package.json`/`package-lock.json`
|
|
129
177
|
2. `npm run build`: recompila + regenera `.manifest`
|
package/CLAUDE.md
CHANGED
|
@@ -78,4 +78,4 @@ Todas as 106 skills da biblioteca (`skills/<name>/SKILL.md`) foram exportadas fi
|
|
|
78
78
|
> Regras específicas de cada agente (always/never) vivem em `.claude/agents/<slug>.md`: lidas sob demanda só quando aquele agente é ativado, não duplicadas aqui.
|
|
79
79
|
|
|
80
80
|
---
|
|
81
|
-
Gerado pelo Izanagi AI
|
|
81
|
+
Gerado pelo Izanagi AI: `izanagi export --cli claude`
|
package/dist/exporters.d.ts
CHANGED
|
@@ -40,6 +40,16 @@ export declare const CLAUDE_AGENT_TOOLS_DEFAULT: string[];
|
|
|
40
40
|
export declare const CLAUDE_AGENT_TRIGGERS: Record<string, string>;
|
|
41
41
|
/** Marcador presente em todo arquivo gerado: permite regenerar sem arriscar sobrescrever edição manual. */
|
|
42
42
|
export declare const GENERATED_MARKER = "Gerado pelo Izanagi AI";
|
|
43
|
+
/**
|
|
44
|
+
* Rodapé de proveniência DETERMINÍSTICO: nunca embute caminho absoluto da máquina geradora.
|
|
45
|
+
*
|
|
46
|
+
* Histórico (Wave 5): o formato antigo era `Gerado pelo Izanagi AI em \`${baseDir}\``, o que
|
|
47
|
+
* quebrava a idempotência byte-a-byte cross-machine — regenerar os adapters em outra máquina
|
|
48
|
+
* mudava essa linha, e o repositório chegou a congelar o cwd de uma geração Windows antiga
|
|
49
|
+
* (`C:\Users\pedro.leal\Documents\NexusAI`) nos arquivos commitados. O comando real de
|
|
50
|
+
* reprodução (`izanagi export --cli <cli>`) continua registrado; a máquina de origem, não.
|
|
51
|
+
*/
|
|
52
|
+
export declare function provenanceFooter(cli: string): string;
|
|
43
53
|
/**
|
|
44
54
|
* Subconjunto curado histórico: mantido só para não quebrar imports externos.
|
|
45
55
|
* `exportToClaude` não usa mais isto: exporta a biblioteca inteira (ver
|
package/dist/exporters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAuBvD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,UAAoD,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuBxD,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6JAWhB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ3D;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAgDD,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8CrE;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMnF;AAyQD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkCxD;AAmED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAavD;AAyHD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAcxD;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzD;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AA2GD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAa1D;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASnD"}
|
|
1
|
+
{"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAuBvD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,UAAoD,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuBxD,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6JAWhB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ3D;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAgDD,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8CrE;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMnF;AAyQD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkCxD;AAmED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAavD;AAyHD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAcxD;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzD;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AA2GD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAa1D;AAMD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CASnD"}
|
package/dist/exporters.js
CHANGED
|
@@ -62,6 +62,18 @@ export const CLAUDE_AGENT_TRIGGERS = {
|
|
|
62
62
|
};
|
|
63
63
|
/** Marcador presente em todo arquivo gerado: permite regenerar sem arriscar sobrescrever edição manual. */
|
|
64
64
|
export const GENERATED_MARKER = 'Gerado pelo Izanagi AI';
|
|
65
|
+
/**
|
|
66
|
+
* Rodapé de proveniência DETERMINÍSTICO: nunca embute caminho absoluto da máquina geradora.
|
|
67
|
+
*
|
|
68
|
+
* Histórico (Wave 5): o formato antigo era `Gerado pelo Izanagi AI em \`${baseDir}\``, o que
|
|
69
|
+
* quebrava a idempotência byte-a-byte cross-machine — regenerar os adapters em outra máquina
|
|
70
|
+
* mudava essa linha, e o repositório chegou a congelar o cwd de uma geração Windows antiga
|
|
71
|
+
* (`C:\Users\pedro.leal\Documents\NexusAI`) nos arquivos commitados. O comando real de
|
|
72
|
+
* reprodução (`izanagi export --cli <cli>`) continua registrado; a máquina de origem, não.
|
|
73
|
+
*/
|
|
74
|
+
export function provenanceFooter(cli) {
|
|
75
|
+
return `${GENERATED_MARKER}: \`izanagi export --cli ${cli}\``;
|
|
76
|
+
}
|
|
65
77
|
/**
|
|
66
78
|
* Subconjunto curado histórico: mantido só para não quebrar imports externos.
|
|
67
79
|
* `exportToClaude` não usa mais isto: exporta a biblioteca inteira (ver
|
|
@@ -338,7 +350,7 @@ ${a.handoffs && a.handoffs.length > 0 ? bullet(a.handoffs.map((h) => `\`${h.to}\
|
|
|
338
350
|
> Fonte: \`agents/${a.file}\` · Gerado pelo Izanagi AI (\`izanagi export --cli claude\`)
|
|
339
351
|
`;
|
|
340
352
|
}
|
|
341
|
-
function claudeMainTemplate(
|
|
353
|
+
function claudeMainTemplate(agents, skills) {
|
|
342
354
|
const agentTable = agents
|
|
343
355
|
.map((a) => `| \`${a.slug}\` | ${truncate(a.role, 140)} |`)
|
|
344
356
|
.join('\n');
|
|
@@ -401,7 +413,7 @@ Todas as ${skills.length} skills da biblioteca (\`skills/<name>/SKILL.md\`) fora
|
|
|
401
413
|
> Regras específicas de cada agente (always/never) vivem em \`.claude/agents/<slug>.md\`: lidas sob demanda só quando aquele agente é ativado, não duplicadas aqui.
|
|
402
414
|
|
|
403
415
|
---
|
|
404
|
-
|
|
416
|
+
${provenanceFooter('claude')}
|
|
405
417
|
`;
|
|
406
418
|
}
|
|
407
419
|
function claudeOrchestratorCommandTemplate(agents) {
|
|
@@ -464,7 +476,7 @@ export function exportToClaude(baseDir) {
|
|
|
464
476
|
.map((n) => readSkillSummary(baseDir, n))
|
|
465
477
|
.filter((s) => s !== null);
|
|
466
478
|
// CLAUDE.md na raiz (fonte da verdade + regras essenciais inline)
|
|
467
|
-
const main = writeIfAbsent(baseDir, 'CLAUDE.md', claudeMainTemplate(
|
|
479
|
+
const main = writeIfAbsent(baseDir, 'CLAUDE.md', claudeMainTemplate(agents, skills));
|
|
468
480
|
if (main)
|
|
469
481
|
created.push(main);
|
|
470
482
|
// subagents nativos em .claude/agents/<slug>.md: aparecem no Agent tool e são auto-selecionados
|
|
@@ -520,7 +532,7 @@ ${a.never.length > 0 ? bullet(a.never) : '- (sem regras nunca)'}
|
|
|
520
532
|
> Fonte: \`agents/${a.file}\` · Gerado pelo Izanagi AI
|
|
521
533
|
`;
|
|
522
534
|
}
|
|
523
|
-
function codexInstructionsTemplate(
|
|
535
|
+
function codexInstructionsTemplate(agents) {
|
|
524
536
|
const agentList = agents.map((a) => `- \`${a.slug}\`: ${a.role}`).join('\n');
|
|
525
537
|
return `# Izanagi AI: Codex Instructions
|
|
526
538
|
|
|
@@ -550,13 +562,13 @@ ${agentList}
|
|
|
550
562
|
- \`.opencode/agent/*.md\`: integração com opencode (compatível com Kimi CLI)
|
|
551
563
|
|
|
552
564
|
---
|
|
553
|
-
|
|
565
|
+
${provenanceFooter('codex')}
|
|
554
566
|
`;
|
|
555
567
|
}
|
|
556
568
|
export function exportToCodex(baseDir) {
|
|
557
569
|
const created = [];
|
|
558
570
|
const agents = loadIzanagiAgents(baseDir);
|
|
559
|
-
const instr = writeIfAbsent(baseDir, '.codex/instructions.md', codexInstructionsTemplate(
|
|
571
|
+
const instr = writeIfAbsent(baseDir, '.codex/instructions.md', codexInstructionsTemplate(agents));
|
|
560
572
|
if (instr)
|
|
561
573
|
created.push(instr);
|
|
562
574
|
for (const agent of agents) {
|
|
@@ -698,7 +710,7 @@ export function exportToCursor(baseDir) {
|
|
|
698
710
|
/* ------------------------------------------------------------------ */
|
|
699
711
|
/* Copilot (GitHub) */
|
|
700
712
|
/* ------------------------------------------------------------------ */
|
|
701
|
-
function copilotInstructionsTemplate(
|
|
713
|
+
function copilotInstructionsTemplate(agents) {
|
|
702
714
|
const agentList = agents.map((a) => `- \`${a.slug}\`: ${a.role}`).join('\n');
|
|
703
715
|
return `# Izanagi AI: GitHub Copilot Instructions
|
|
704
716
|
|
|
@@ -728,13 +740,13 @@ ${agentList}
|
|
|
728
740
|
Definições completas em \`agents/*.json\` e skills em \`skills/<name>/SKILL.md\`.
|
|
729
741
|
|
|
730
742
|
---
|
|
731
|
-
|
|
743
|
+
${provenanceFooter('copilot')}
|
|
732
744
|
`;
|
|
733
745
|
}
|
|
734
746
|
export function exportToCopilot(baseDir) {
|
|
735
747
|
const created = [];
|
|
736
748
|
const agents = loadIzanagiAgents(baseDir);
|
|
737
|
-
const rel = writeIfAbsent(baseDir, '.github/copilot-instructions.md', copilotInstructionsTemplate(
|
|
749
|
+
const rel = writeIfAbsent(baseDir, '.github/copilot-instructions.md', copilotInstructionsTemplate(agents));
|
|
738
750
|
if (rel)
|
|
739
751
|
created.push(rel);
|
|
740
752
|
return created;
|
|
@@ -742,7 +754,7 @@ export function exportToCopilot(baseDir) {
|
|
|
742
754
|
/* ------------------------------------------------------------------ */
|
|
743
755
|
/* Kimi CLI (Moonshot): compatível com convenção opencode */
|
|
744
756
|
/* ------------------------------------------------------------------ */
|
|
745
|
-
function kimiReadmeTemplate(
|
|
757
|
+
function kimiReadmeTemplate() {
|
|
746
758
|
return `# Izanagi AI: Kimi CLI (Moonshot)
|
|
747
759
|
|
|
748
760
|
O **Kimi CLI** é compatível com a convenção do opencode: ele lê \`AGENTS.md\` e os comandos slash em \`.opencode/agent/*.md\` nativamente.
|
|
@@ -768,10 +780,10 @@ O **Kimi CLI** é compatível com a convenção do opencode: ele lê \`AGENTS.md
|
|
|
768
780
|
- **Sempre**: IaC versionado; monitoramento desde o dia 1; secrets por ferramenta própria.
|
|
769
781
|
- **Nunca**: commit \`.env\`; container root; deploy sem CI; hardcode de config de ambiente.
|
|
770
782
|
|
|
771
|
-
>
|
|
783
|
+
> ${provenanceFooter('kimi')}
|
|
772
784
|
`;
|
|
773
785
|
}
|
|
774
|
-
function kimiRootTemplate(
|
|
786
|
+
function kimiRootTemplate() {
|
|
775
787
|
return `# Izanagi AI: Kimi CLI
|
|
776
788
|
|
|
777
789
|
> **Fonte da verdade: \`AGENTS.md\`**: leia antes de qualquer tarefa.
|
|
@@ -790,15 +802,15 @@ O Kimi CLI (Moonshot) é compatível com a convenção do opencode: \`AGENTS.md\
|
|
|
790
802
|
|
|
791
803
|
Definições completas em \`agents/*.json\`; ativação via \`/.opencode/agent/\`.
|
|
792
804
|
|
|
793
|
-
>
|
|
805
|
+
> ${provenanceFooter('kimi')}
|
|
794
806
|
`;
|
|
795
807
|
}
|
|
796
808
|
export function exportToKimi(baseDir) {
|
|
797
809
|
const created = [];
|
|
798
|
-
const readme = writeIfAbsent(baseDir, '.kimi/README.md', kimiReadmeTemplate(
|
|
810
|
+
const readme = writeIfAbsent(baseDir, '.kimi/README.md', kimiReadmeTemplate());
|
|
799
811
|
if (readme)
|
|
800
812
|
created.push(readme);
|
|
801
|
-
const root = writeIfAbsent(baseDir, 'kimi.md', kimiRootTemplate(
|
|
813
|
+
const root = writeIfAbsent(baseDir, 'kimi.md', kimiRootTemplate());
|
|
802
814
|
if (root)
|
|
803
815
|
created.push(root);
|
|
804
816
|
return created;
|
package/dist/exporters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exporters.js","sourceRoot":"","sources":["../src/exporters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exporters-provenance.test.d.ts","sourceRoot":"","sources":["../../../src/runtime/tests/exporters-provenance.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { test } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
import os from 'node:os';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import { fileURLToPath } from 'node:url';
|
|
7
|
+
import { exportAll, GENERATED_MARKER, provenanceFooter } from '../../exporters.js';
|
|
8
|
+
/**
|
|
9
|
+
* Idempotência byte-a-byte do exporter multi-CLI (Wave 5, frente A):
|
|
10
|
+
*
|
|
11
|
+
* BUG: os rodapés de proveniência embutiam o caminho absoluto do cwd da máquina
|
|
12
|
+
* geradora ("Gerado pelo Izanagi AI em `${baseDir}`"), o que fazia a mesma fonte
|
|
13
|
+
* gerar bytes diferentes em máquinas diferentes e congelava nos adapters
|
|
14
|
+
* commitados o caminho da máquina que gerou (ex.: C:\Users\...\NexusAI).
|
|
15
|
+
*
|
|
16
|
+
* CONTRATO: dado o MESMO conteúdo-fonte (agents/, skills/) em dois diretórios
|
|
17
|
+
* raiz DIFERENTES (simulando máquinas distintas), `exportAll` deve produzir
|
|
18
|
+
* arquivos BYTE-IDÊNTICOS. Nenhum caminho absoluto da máquina geradora pode
|
|
19
|
+
* vazar para o conteúdo; caminhos relativos funcionais (ex.: `agents/x.json`
|
|
20
|
+
* citado como fonte) continuam permitidos.
|
|
21
|
+
*
|
|
22
|
+
* Estratégia: dois sandboxes tmpdir com fixtures idênticas e caminhos absolutos
|
|
23
|
+
* de comprimentos distintos; export em ambos; comparação byte-a-byte de cada
|
|
24
|
+
* par de arquivos correspondentes + varredura anti-vazamento.
|
|
25
|
+
*/
|
|
26
|
+
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../..');
|
|
27
|
+
/** Fixture mínima porém representativa: 2 agentes (ramos com/sem model, chains, handoffs) + 2 skills (com/sem references.md). */
|
|
28
|
+
function writeFixtures(root) {
|
|
29
|
+
fs.mkdirSync(path.join(root, 'agents'), { recursive: true });
|
|
30
|
+
const seniorEngineer = {
|
|
31
|
+
name: 'Senior Engineer',
|
|
32
|
+
role: 'Full-stack dev de alta performance',
|
|
33
|
+
identity: 'Artesão de código: tipagem estrita, TDD, zero stubs.',
|
|
34
|
+
model: 'sonnet',
|
|
35
|
+
skills: ['tdd'],
|
|
36
|
+
chains: { bug: ['bug-hunter', 'tdd'], fullstack: ['architect', 'tdd'] },
|
|
37
|
+
always: ['Validar build antes de encerrar'],
|
|
38
|
+
never: ['Entregar stubs'],
|
|
39
|
+
handoffs: [{ to: 'qa', reason: 'validar qualidade antes do merge' }]
|
|
40
|
+
};
|
|
41
|
+
fs.writeFileSync(path.join(root, 'agents', 'senior-engineer-agent.json'), `${JSON.stringify(seniorEngineer, null, 2)}\n`, 'utf8');
|
|
42
|
+
const discovery = {
|
|
43
|
+
name: 'Discovery',
|
|
44
|
+
role: 'Pré-produção: entrevista condicional e prompt rico',
|
|
45
|
+
identity: 'Descoberta guiada antes de codar.'
|
|
46
|
+
};
|
|
47
|
+
fs.writeFileSync(path.join(root, 'agents', 'discovery-agent.json'), `${JSON.stringify(discovery, null, 2)}\n`, 'utf8');
|
|
48
|
+
fs.mkdirSync(path.join(root, 'skills', 'tdd'), { recursive: true });
|
|
49
|
+
fs.writeFileSync(path.join(root, 'skills', 'tdd', 'SKILL.md'), '---\ndescription: Test-Driven Development com Iron Law.\n---\n\n# TDD\n\nEscreva o teste antes.\n', 'utf8');
|
|
50
|
+
fs.writeFileSync(path.join(root, 'skills', 'tdd', 'references.md'), '# Referências TDD\n\n- Kent Beck\n', 'utf8');
|
|
51
|
+
fs.mkdirSync(path.join(root, 'skills', 'deep-research'), { recursive: true });
|
|
52
|
+
fs.writeFileSync(path.join(root, 'skills', 'deep-research', 'SKILL.md'), '---\ndescription: |\n Pesquisa multi-fonte na web.\n Síntese com fontes citadas.\n---\n\n# Deep Research\n\nPlaneje buscas.\n', 'utf8');
|
|
53
|
+
}
|
|
54
|
+
/** Lista recursiva de arquivos do sandbox como caminhos relativos POSIX ordenados. */
|
|
55
|
+
function listFilesRelative(root) {
|
|
56
|
+
const out = [];
|
|
57
|
+
const walk = (dir) => {
|
|
58
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
59
|
+
const abs = path.join(dir, entry.name);
|
|
60
|
+
if (entry.isDirectory()) {
|
|
61
|
+
walk(abs);
|
|
62
|
+
}
|
|
63
|
+
else if (entry.isFile()) {
|
|
64
|
+
out.push(path.relative(root, abs).split(path.sep).join('/'));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
walk(root);
|
|
69
|
+
return out.sort();
|
|
70
|
+
}
|
|
71
|
+
/** Primeira linha divergente entre dois textos, para diagnóstico legível de falha. */
|
|
72
|
+
function firstDiffLine(a, b) {
|
|
73
|
+
const linesA = a.split('\n');
|
|
74
|
+
const linesB = b.split('\n');
|
|
75
|
+
const max = Math.max(linesA.length, linesB.length);
|
|
76
|
+
for (let i = 0; i < max; i++) {
|
|
77
|
+
const x = linesA[i];
|
|
78
|
+
const y = linesB[i];
|
|
79
|
+
if (x !== y) {
|
|
80
|
+
return `linha ${i + 1}: maquinaA=${JSON.stringify(x ?? '<ausente>')} maquinaB=${JSON.stringify(y ?? '<ausente>')}`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return 'textos iguais por linha (divergência só em encoding?)';
|
|
84
|
+
}
|
|
85
|
+
/** Dois "machines": fixtures idênticas, caminhos absolutos deliberadamente distintos. */
|
|
86
|
+
function makeSandboxPair() {
|
|
87
|
+
const baseA = fs.mkdtempSync(path.join(os.tmpdir(), 'izanagi-prov-a-'));
|
|
88
|
+
const baseB = fs.mkdtempSync(path.join(os.tmpdir(), 'izanagi-prov-b-'));
|
|
89
|
+
// Profundidades/nomes diferentes ⇒ caminhos absolutos com comprimentos diferentes.
|
|
90
|
+
const machineA = path.join(baseA, 'workspace');
|
|
91
|
+
const machineB = path.join(baseB, 'diretorio-de-trabalho-da-maquina-b-bem-mais-comprido');
|
|
92
|
+
writeFixtures(machineA);
|
|
93
|
+
writeFixtures(machineB);
|
|
94
|
+
return { machineA, machineB };
|
|
95
|
+
}
|
|
96
|
+
function cleanup(pair) {
|
|
97
|
+
for (const root of [pair.machineA, pair.machineB]) {
|
|
98
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
test('provenanceFooter: formato determinístico, sem caminho absoluto e compatível com GENERATED_MARKER', () => {
|
|
102
|
+
const footer = provenanceFooter('claude');
|
|
103
|
+
// Formato exato (mudança de comportamento intencional: sem " em <caminho-absoluto>").
|
|
104
|
+
assert.equal(footer, 'Gerado pelo Izanagi AI: `izanagi export --cli claude`');
|
|
105
|
+
// Determinismo: mesma entrada, mesma saída, sempre.
|
|
106
|
+
assert.equal(provenanceFooter('claude'), footer);
|
|
107
|
+
// Contrato do writeIfAbsent: o rodapé PRECISA conter GENERATED_MARKER para que a
|
|
108
|
+
// regeneração sobrescreva gerações anteriores em vez de preservá-las como edição manual.
|
|
109
|
+
assert.ok(footer.includes(GENERATED_MARKER), 'footer deve conter GENERATED_MARKER');
|
|
110
|
+
// Nenhum caminho absoluto do sistema de arquivos pode vazar:
|
|
111
|
+
// - nada de cwd ou tmpdir da máquina que roda o teste
|
|
112
|
+
// - nenhuma linha começa com "/" (absoluto POSIX) nem contém "\" ou drive Windows "C:\"
|
|
113
|
+
assert.ok(!footer.includes(process.cwd()), 'footer não deve conter process.cwd()');
|
|
114
|
+
assert.ok(!footer.includes(os.tmpdir()), 'footer não deve conter os.tmpdir()');
|
|
115
|
+
assert.doesNotMatch(footer, /^\/|\\\\|[A-Za-z]:[\\\\/]/m);
|
|
116
|
+
});
|
|
117
|
+
test('provenanceFooter: todos os CLIs suportados recebem footer próprio, determinístico e distinto', () => {
|
|
118
|
+
const clis = ['claude', 'codex', 'cursor', 'copilot', 'kimi', 'opencode', 'all'];
|
|
119
|
+
const seen = new Set();
|
|
120
|
+
for (const cli of clis) {
|
|
121
|
+
const footer = provenanceFooter(cli);
|
|
122
|
+
assert.equal(footer, provenanceFooter(cli), `footer de ${cli} deve ser determinístico`);
|
|
123
|
+
assert.ok(footer.includes(`izanagi export --cli ${cli}`), `footer de ${cli} deve citar o comando correto`);
|
|
124
|
+
assert.ok(!footer.includes(' em `'), `footer de ${cli} não pode embutir caminho (padrão legado)`);
|
|
125
|
+
seen.add(footer);
|
|
126
|
+
}
|
|
127
|
+
assert.equal(seen.size, clis.length, 'footers de CLIs distintos devem ser distintos entre si');
|
|
128
|
+
});
|
|
129
|
+
test('export all: mesma fonte em máquinas distintas produz arquivos BYTE-IDÊNTICOS (idempotência cross-machine)', () => {
|
|
130
|
+
const pair = makeSandboxPair();
|
|
131
|
+
try {
|
|
132
|
+
const createdA = exportAll(pair.machineA);
|
|
133
|
+
const createdB = exportAll(pair.machineB);
|
|
134
|
+
assert.ok(createdA.length > 0, 'export na máquina A deve criar arquivos');
|
|
135
|
+
assert.equal(createdA.length, createdB.length, 'ambas as máquinas devem gerar a mesma quantidade de arquivos');
|
|
136
|
+
const expectedSet = [...createdA].sort();
|
|
137
|
+
assert.deepEqual([...createdB].sort(), expectedSet, 'mesmo conjunto de caminhos relativos nas duas máquinas');
|
|
138
|
+
for (const rel of createdA) {
|
|
139
|
+
const bytesA = fs.readFileSync(path.join(pair.machineA, rel));
|
|
140
|
+
const bytesB = fs.readFileSync(path.join(pair.machineB, rel));
|
|
141
|
+
assert.ok(bytesA.equals(bytesB), `arquivo ${rel} difere entre máquinas: ${firstDiffLine(bytesA.toString('utf8'), bytesB.toString('utf8'))}`);
|
|
142
|
+
}
|
|
143
|
+
// Idempotência local: re-executar no MESMO diretório não altera nenhum byte.
|
|
144
|
+
exportAll(pair.machineA);
|
|
145
|
+
for (const rel of createdA) {
|
|
146
|
+
const bytesAfter = fs.readFileSync(path.join(pair.machineA, rel));
|
|
147
|
+
const bytesFirstPass = fs.readFileSync(path.join(pair.machineB, rel));
|
|
148
|
+
assert.ok(bytesAfter.equals(bytesFirstPass), `re-execução local alterou ${rel}: ${firstDiffLine(bytesAfter.toString('utf8'), bytesFirstPass.toString('utf8'))}`);
|
|
149
|
+
}
|
|
150
|
+
// Sanidade do ambiente de teste: o próprio repo tem o marker, fixtures não precisam.
|
|
151
|
+
assert.ok(repoRoot.length > 0);
|
|
152
|
+
assert.ok(GENERATED_MARKER.length > 0);
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
cleanup(pair);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
test('export all: nenhum arquivo gerado embute caminho absoluto da máquina geradora (padrão de footer legado abolido)', () => {
|
|
159
|
+
const pair = makeSandboxPair();
|
|
160
|
+
try {
|
|
161
|
+
exportAll(pair.machineA);
|
|
162
|
+
for (const rel of listFilesRelative(pair.machineA)) {
|
|
163
|
+
const content = fs.readFileSync(path.join(pair.machineA, rel), 'utf8');
|
|
164
|
+
assert.ok(!content.includes(pair.machineA), `${rel} contém o caminho absoluto da máquina geradora (${pair.machineA})`);
|
|
165
|
+
assert.ok(!content.includes(pair.machineB), `${rel} contém o caminho absoluto de outra máquina (${pair.machineB})`);
|
|
166
|
+
assert.ok(!content.includes(`${GENERATED_MARKER} em`), `${rel} usa o padrão legado "${GENERATED_MARKER} em <caminho>" — footer deve ser determinístico`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
cleanup(pair);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=exporters-provenance.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exporters-provenance.test.js","sourceRoot":"","sources":["../../../src/runtime/tests/exporters-provenance.test.ts"],"names":[],"mappings":"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"}
|
package/kimi.md
CHANGED
|
@@ -16,4 +16,4 @@ O Kimi CLI (Moonshot) é compatível com a convenção do opencode: `AGENTS.md`
|
|
|
16
16
|
|
|
17
17
|
Definições completas em `agents/*.json`; ativação via `/.opencode/agent/`.
|
|
18
18
|
|
|
19
|
-
> Gerado pelo Izanagi AI
|
|
19
|
+
> Gerado pelo Izanagi AI: `izanagi export --cli kimi`
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|