izanagi-ai 3.10.1 → 3.12.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.
Files changed (40) hide show
  1. package/.manifest +3 -3
  2. package/RULES.md +8 -0
  3. package/dist/cli/commands/run.d.ts +53 -0
  4. package/dist/cli/commands/run.d.ts.map +1 -1
  5. package/dist/cli/commands/run.js +132 -20
  6. package/dist/cli/commands/run.js.map +1 -1
  7. package/dist/runtime/llm/client.d.ts +46 -2
  8. package/dist/runtime/llm/client.d.ts.map +1 -1
  9. package/dist/runtime/llm/client.js +81 -13
  10. package/dist/runtime/llm/client.js.map +1 -1
  11. package/dist/runtime/llm/prompt-cache.d.ts +68 -0
  12. package/dist/runtime/llm/prompt-cache.d.ts.map +1 -0
  13. package/dist/runtime/llm/prompt-cache.js +80 -0
  14. package/dist/runtime/llm/prompt-cache.js.map +1 -0
  15. package/dist/runtime/llm/session-diet.d.ts +83 -0
  16. package/dist/runtime/llm/session-diet.d.ts.map +1 -0
  17. package/dist/runtime/llm/session-diet.js +108 -0
  18. package/dist/runtime/llm/session-diet.js.map +1 -0
  19. package/dist/runtime/tests/prompt-cache.test.d.ts +2 -0
  20. package/dist/runtime/tests/prompt-cache.test.d.ts.map +1 -0
  21. package/dist/runtime/tests/prompt-cache.test.js +227 -0
  22. package/dist/runtime/tests/prompt-cache.test.js.map +1 -0
  23. package/dist/runtime/tests/run-cache-telemetry.test.d.ts +2 -0
  24. package/dist/runtime/tests/run-cache-telemetry.test.d.ts.map +1 -0
  25. package/dist/runtime/tests/run-cache-telemetry.test.js +237 -0
  26. package/dist/runtime/tests/run-cache-telemetry.test.js.map +1 -0
  27. package/dist/runtime/tests/run-skill-disclosure.test.d.ts +2 -0
  28. package/dist/runtime/tests/run-skill-disclosure.test.d.ts.map +1 -0
  29. package/dist/runtime/tests/run-skill-disclosure.test.js +241 -0
  30. package/dist/runtime/tests/run-skill-disclosure.test.js.map +1 -0
  31. package/dist/runtime/tests/session-diet.test.d.ts +2 -0
  32. package/dist/runtime/tests/session-diet.test.d.ts.map +1 -0
  33. package/dist/runtime/tests/session-diet.test.js +188 -0
  34. package/dist/runtime/tests/session-diet.test.js.map +1 -0
  35. package/dist/runtime/text/frontmatter.d.ts +62 -0
  36. package/dist/runtime/text/frontmatter.d.ts.map +1 -0
  37. package/dist/runtime/text/frontmatter.js +270 -0
  38. package/dist/runtime/text/frontmatter.js.map +1 -0
  39. package/package.json +1 -1
  40. package/skills/economia-tokens/SKILL.md +21 -2
package/.manifest CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "izanagi-ai",
3
- "version": "3.10.1",
3
+ "version": "3.12.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-23T18:46:09.377Z",
8
+ "generatedAt": "2026-08-23T20:20:32.068Z",
9
9
  "agents": [
10
10
  {
11
11
  "id": "adversarial-critic",
@@ -787,7 +787,7 @@
787
787
  },
788
788
  {
789
789
  "id": "economia-tokens",
790
- "name": "Context Engineering — Economia de Tokens (v2)",
790
+ "name": "economia-tokens",
791
791
  "version": "1.0.0",
792
792
  "path": "skills/economia-tokens/SKILL.md"
793
793
  },
package/RULES.md CHANGED
@@ -87,6 +87,14 @@ Regras obrigatórias de autonomia e execução:
87
87
  - **Autonomia de ponta a ponta:** Execute a tarefa até a conclusão total (planejamento → instalação de deps → código completo → build e verificação), sem parar pela metade ou exigir intervenção manual desnecessária.
88
88
  - **Execução proativa de comandos:** Sempre que houver comandos utilitários, de build, teste ou instalação necessários para o sucesso da tarefa, execute-os autonomamente.
89
89
 
90
+ ### 2.6 Zero-Waste Execution (Tools & Edits)
91
+
92
+ Diretrizes de desperdício-zero ao executar e editar; detalhamento completo na skill `economia-tokens` (Fluxo Zero-Waste + Pilares 4 e 6):
93
+
94
+ - **Silenciamento de ferramentas:** prefira flags quiet em comandos cuja saída bruta não será lida integralmente (`--quiet`/`--silent`/`-s`, `pytest -q --tb=short`, `cargo build 2>&1 | tail -n 20`, `git log --oneline -n 5`).
95
+ - **Geração orientada a DIFF:** proibido reescrever arquivo inteiro para mudança pontual; use edição cirúrgica/unified diff ("Edit by diff", seção 2.4). Rewrite integral só quando a maioria do arquivo muda.
96
+ - **Observation hygiene:** resuma outputs longos antes de reportar ou manter em contexto (grep da falha, `--stat`, `| tail`); nunca cole dumps integrais no contexto nem na resposta.
97
+
90
98
  ## 3. Skills
91
99
 
92
100
  ### 3.1 Skill Declaration
@@ -1,3 +1,15 @@
1
+ import type { CompletionOptions, CompletionResult } from '../../runtime/llm/client.js';
2
+ import type { GraphNode } from '../../runtime/types.js';
3
+ interface RunArgs {
4
+ agentId?: string;
5
+ task?: string;
6
+ /** Só compila e salva izanagi-prompt.md — não executa (sem graph/eval/trace). */
7
+ promptOnly: boolean;
8
+ verbose: boolean;
9
+ /** Desliga a fundação estática (RULES.md) e o marker CAPC — prompt idêntico ao pré-wave. */
10
+ noCacheFoundation: boolean;
11
+ }
12
+ export declare function parseRunArgs(args: string[]): RunArgs;
1
13
  interface TaskClassification {
2
14
  category: string;
3
15
  agent: string;
@@ -5,6 +17,14 @@ interface TaskClassification {
5
17
  export declare function classifyTask(desc: string): TaskClassification;
6
18
  export declare function resolveChainForCategory(agent: any, category: string): string[];
7
19
  export declare function runCommand(baseDir: string, args: string[]): Promise<void>;
20
+ /**
21
+ * Superfície mínima do LLMClient consumida pelo run — permite injetar um
22
+ * client de teste (structural typing) sem tocar no Orchestrator.
23
+ */
24
+ export interface RuntimeLLMClient {
25
+ configuredProviders(): string[];
26
+ complete(provider: string, opts: CompletionOptions): Promise<CompletionResult>;
27
+ }
8
28
  /**
9
29
  * Modo runtime: usa o Orchestrator do framework para construir o execution
10
30
  * graph, avaliar, curar falhas e persistir trace + aprendizados.
@@ -22,7 +42,40 @@ export declare function runRuntime(baseDir: string, opts: {
22
42
  verbose: boolean;
23
43
  /** Retoma um run interrompido/pausado em vez de planejar do zero (izanagi resume/approve/reject). */
24
44
  resumeRunId?: string;
45
+ /** Desliga fundação RULES.md estática + marker CAPC (prompt pré-wave). */
46
+ noCacheFoundation?: boolean;
47
+ /** Client LLM injetável (testes). Default: LLMClient real lido do ambiente. */
48
+ client?: RuntimeLLMClient;
25
49
  }): Promise<void>;
50
+ /**
51
+ * Budget máximo (em chars) da fundação RULES.md embutida no prefixo estático.
52
+ * 6000 chars ≈ 1500 tokens estimados (~4 chars/token) — folga sobre o piso
53
+ * MIN_CACHEABLE_TOKENS (1024) mesmo após o corte determinístico.
54
+ */
55
+ export declare const RULES_FOUNDATION_MAX_CHARS = 6000;
56
+ /**
57
+ * Compila o system prompt de um nó do grafo: identidade do agente do nó,
58
+ * regras obrigatórias, skills resolvidas (resumidas) e contrato do artefato.
59
+ *
60
+ * Cache-Aware Prompt Compression (CAPC): quando existe RULES.md e o prefixo
61
+ * estático atinge MIN_CACHEABLE_TOKENS tokens estimados, o prompt vira
62
+ * `[ESTÁTICO] + <!-- IZANAGI:DYNAMIC --> + [VOLÁTIL]`:
63
+ * ESTÁTICO = header genérico + regra suprema + fundação RULES.md (seções 1–2)
64
+ * VOLÁTIL = nó em execução + artefato esperado + identidade + always/never
65
+ * + TAREFA + skills — tudo na ordem pré-wave.
66
+ * O bloco estático fica BYTE-IDÊNTICO entre nós do mesmo run (condição para
67
+ * o provider cachear: Anthropic via cache_control automático no client;
68
+ * OpenAI-compatible via prefix caching). Guardas retrocompatíveis: sem
69
+ * RULES.md OU estático abaixo do piso → formato pré-wave SEM marker.
70
+ * flags.noCacheFoundation desliga a fundação/marker incondicionalmente.
71
+ */
72
+ export declare function buildNodePrompt(node: GraphNode, opts: {
73
+ task: string;
74
+ agent: any;
75
+ skillChain: string[];
76
+ }, baseDir: string, flags?: {
77
+ noCacheFoundation?: boolean;
78
+ }): string;
26
79
  export declare function findAgentJson(agentId: string, baseDir: string): any;
27
80
  export {};
28
81
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AA0DA,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA2D7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9E;AAkBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8K/E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,IAAI,CAAC,CA4Ff;AA8BD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAYnE"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,4FAA4F;IAC5F,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CA0CpD;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA2D7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9E;AAmBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsL/E;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChF;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,GACA,OAAO,CAAC,IAAI,CAAC,CA6Gf;AAID;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAmD/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EACxD,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,MAAM,CAyCR;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAYnE"}
@@ -4,12 +4,15 @@ import { findAgentFile, loadSkillResolver, resolveSkillPath, loadProjectConfig }
4
4
  import { buildBlueprintCtx } from '../blueprint.js';
5
5
  import { Orchestrator } from '../../runtime/orchestrator.js';
6
6
  import { LLMClient } from '../../runtime/llm/client.js';
7
+ import { DYNAMIC_MARKER, estimateStaticTokens, MIN_CACHEABLE_TOKENS } from '../../runtime/llm/prompt-cache.js';
8
+ import { layeredSkillSummary, findV2Counterpart } from '../../runtime/text/frontmatter.js';
7
9
  import { printTrace } from './trace.js';
8
- function parseRunArgs(args) {
10
+ export function parseRunArgs(args) {
9
11
  let agentId;
10
12
  let task;
11
13
  let promptOnly = false;
12
14
  let verbose = false;
15
+ let noCacheFoundation = false;
13
16
  const positionals = [];
14
17
  for (let i = 0; i < args.length; i++) {
15
18
  const arg = args[i];
@@ -23,6 +26,9 @@ function parseRunArgs(args) {
23
26
  else if (arg === '--prompt-only' || arg === '-p') {
24
27
  promptOnly = true;
25
28
  }
29
+ else if (arg === '--no-cache-foundation') {
30
+ noCacheFoundation = true;
31
+ }
26
32
  else if (arg === '--runtime' || arg === '-r') {
27
33
  // Compatibilidade: execução via runtime é o comportamento default desde a
28
34
  // unificação dos caminhos de 'run' — a flag é aceita e ignorada (no-op).
@@ -46,7 +52,7 @@ function parseRunArgs(args) {
46
52
  else if (positionals.length > 0 && !agentId) {
47
53
  agentId = positionals[0];
48
54
  }
49
- return { agentId, task, promptOnly, verbose };
55
+ return { agentId, task, promptOnly, verbose, noCacheFoundation };
50
56
  }
51
57
  export function classifyTask(desc) {
52
58
  const lower = desc.toLowerCase();
@@ -117,9 +123,10 @@ export function resolveChainForCategory(agent, category) {
117
123
  return ['planner', 'reviewer', 'clean-code'];
118
124
  }
119
125
  /**
120
- * Compacta o conteúdo de uma skill para o prompt: mantém apenas a parte de
121
- * alto sinal (descrição + primeiras seções até o limite de linhas).
122
- * Evita despejar arquivos inteiros de skill (200+ linhas) no prompt gerado.
126
+ * Compacta conteúdo de documento NÃO-skill (references curadas, SYSTEM.md,
127
+ * RULES.md) para o prompt: mantém apenas as primeiras linhas até o limite.
128
+ * Skills usam a política em camadas de `layeredSkillSummary` (front-matter
129
+ * v2 primeiro, corpo por prioridade de seção; legadas caem neste truncamento).
123
130
  */
124
131
  function summarizeSkill(fullPath, maxLines) {
125
132
  const content = fs.readFileSync(fullPath, 'utf-8');
@@ -132,7 +139,7 @@ function agentLabel(agent) {
132
139
  return agent.name || 'Custom agent';
133
140
  }
134
141
  export async function runCommand(baseDir, args) {
135
- const { agentId, task, promptOnly, verbose } = parseRunArgs(args);
142
+ const { agentId, task, promptOnly, verbose, noCacheFoundation } = parseRunArgs(args);
136
143
  if (!task) {
137
144
  console.error('\x1b[31mError:\x1b[0m Please provide a task description.');
138
145
  console.error('Usage: \x1b[1mizanagi run [agent] --task "<description>"\x1b[0m');
@@ -140,6 +147,7 @@ export async function runCommand(baseDir, args) {
140
147
  console.error(' izanagi run "Create a login page" (Adaptive Runtime: graph + eval + trace + recovery + memory)');
141
148
  console.error(' izanagi run architect --task "Design a microservices architecture"');
142
149
  console.error(' izanagi run "..." --prompt-only (só compila izanagi-prompt.md, sem executar)');
150
+ console.error(' izanagi run "..." --no-cache-foundation (desliga fundação RULES.md estática/marker de prompt caching)');
143
151
  process.exit(1);
144
152
  }
145
153
  const cwd = process.cwd();
@@ -184,7 +192,10 @@ export async function runCommand(baseDir, args) {
184
192
  for (const skill of compactSkillChain) {
185
193
  const skillPath = resolveSkillPath(cwd, baseDir, skill);
186
194
  if (skillPath) {
187
- console.log(` \x1b[32m✔\x1b[0m \x1b[1m${skill}\x1b[0m -> ${path.relative(cwd, skillPath)}`);
195
+ const v2Path = findV2Counterpart(cwd, baseDir, skillPath);
196
+ const sourceLabel = path.relative(cwd, v2Path ?? skillPath);
197
+ const v2Tag = v2Path ? ' \x1b[90m[v2 progressive disclosure]\x1b[0m' : '';
198
+ console.log(` \x1b[32m✔\x1b[0m \x1b[1m${skill}\x1b[0m -> ${sourceLabel}${v2Tag}`);
188
199
  resolvedCount++;
189
200
  }
190
201
  else if (aliases[skill]) {
@@ -248,7 +259,10 @@ export async function runCommand(baseDir, args) {
248
259
  for (const skill of compactSkillChain) {
249
260
  const sPath = resolveSkillPath(cwd, baseDir, skill);
250
261
  if (sPath && fs.existsSync(sPath)) {
251
- fullPrompt += `### SKILL: ${skill}\n` + summarizeSkill(sPath, compact ? 60 : 160) + `\n\n`;
262
+ // Progressive disclosure: prefere a contraparte v2 (.skills/<name>/SKILL.md)
263
+ // quando existe; sem v2, o truncamento legado preserva compatibilidade.
264
+ const source = findV2Counterpart(cwd, baseDir, sPath) ?? sPath;
265
+ fullPrompt += `### SKILL: ${skill}\n` + layeredSkillSummary(source, compact ? 60 : 160) + `\n\n`;
252
266
  }
253
267
  }
254
268
  if (systemContent && fs.existsSync(systemContent)) {
@@ -279,6 +293,7 @@ export async function runCommand(baseDir, args) {
279
293
  skillChain: compactSkillChain,
280
294
  agent,
281
295
  verbose,
296
+ noCacheFoundation,
282
297
  });
283
298
  }
284
299
  /**
@@ -291,7 +306,7 @@ export async function runCommand(baseDir, args) {
291
306
  */
292
307
  export async function runRuntime(baseDir, opts) {
293
308
  console.log('\n\x1b[36m=== Izanagi Adaptive Runtime ===\x1b[0m\n');
294
- const client = new LLMClient();
309
+ const client = opts.client ?? new LLMClient();
295
310
  const llmProviders = client.configuredProviders();
296
311
  if (llmProviders.length === 0) {
297
312
  console.log(' \x1b[33m⚠ Modo headless:\x1b[0m nenhuma API key encontrada (IZANAGI_OPENAI_API_KEY /');
@@ -302,6 +317,9 @@ export async function runRuntime(baseDir, opts) {
302
317
  else {
303
318
  console.log(` \x1b[32m✔ Execução real via LLM:\x1b[0m providers configurados: ${llmProviders.join(', ')}\n`);
304
319
  }
320
+ // Telemetria de tokens/cache (só faz sentido com provider real — headless não
321
+ // consome tokens de verdade e nunca imprime esta linha).
322
+ const tokenStats = { input: 0, cached: 0, nodes: 0 };
305
323
  const orchestrator = new Orchestrator({
306
324
  baseDir,
307
325
  command: 'run',
@@ -334,13 +352,21 @@ export async function runRuntime(baseDir, opts) {
334
352
  }
335
353
  // Execução real: compila o prompt do nó e chama o LLM com o modelo/provider
336
354
  // já roteados pelo Orchestrator (mesma fonte de verdade, sem recomputar aqui).
337
- const system = buildNodePrompt(node, opts, baseDir);
355
+ const system = buildNodePrompt(node, { task: opts.task, agent: opts.agent, skillChain: opts.skillChain }, baseDir, {
356
+ noCacheFoundation: opts.noCacheFoundation,
357
+ });
338
358
  const result = await client.complete(ctx.provider, {
339
359
  model: ctx.model,
340
360
  system,
341
361
  messages: [{ role: 'user', content: opts.task }],
342
362
  maxTokens: node.tokenBudget ?? 4000,
343
363
  });
364
+ tokenStats.input += result.tokens;
365
+ tokenStats.cached += result.cachedTokens ?? 0;
366
+ tokenStats.nodes++;
367
+ if (opts.verbose) {
368
+ console.log(` \x1b[90m[tokens]\x1b[0m nó "${node.id}": entrada ${result.tokens} · cache-hit ${result.cachedTokens ?? 0}`);
369
+ }
344
370
  return {
345
371
  content: result.text,
346
372
  kind: node.outputs?.[0] ?? 'raw',
@@ -355,6 +381,10 @@ export async function runRuntime(baseDir, opts) {
355
381
  },
356
382
  });
357
383
  const result = await orchestrator.run();
384
+ if (llmProviders.length > 0 && tokenStats.nodes > 0) {
385
+ const pct = tokenStats.input > 0 ? Math.round((tokenStats.cached / tokenStats.input) * 100) : 0;
386
+ console.log(`[tokens] entrada ${tokenStats.input} · cache-hit ${tokenStats.cached} (${pct}% do input)`);
387
+ }
358
388
  if (result.pendingApproval) {
359
389
  console.log(`\n\x1b[1m\x1b[33m⏸ Execução pausada — aguardando aprovação humana\x1b[0m`);
360
390
  console.log(` \x1b[90mNó:\x1b[0m ${result.pendingApproval.nodeId}${result.pendingApproval.context ? ` — ${result.pendingApproval.context}` : ''}`);
@@ -375,32 +405,114 @@ export async function runRuntime(baseDir, opts) {
375
405
  console.log(`\x1b[90mAvaliação isolada:\x1b[0m \x1b[36mizanagi eval --report ${result.trace.runId}\x1b[0m`);
376
406
  console.log(`\x1b[90mExplicação da execução:\x1b[0m \x1b[36mizanagi explain ${result.trace.runId}\x1b[0m\n`);
377
407
  }
408
+ /* ==================== CAPC — fundação estática do prompt de nó ==================== */
409
+ /**
410
+ * Budget máximo (em chars) da fundação RULES.md embutida no prefixo estático.
411
+ * 6000 chars ≈ 1500 tokens estimados (~4 chars/token) — folga sobre o piso
412
+ * MIN_CACHEABLE_TOKENS (1024) mesmo após o corte determinístico.
413
+ */
414
+ export const RULES_FOUNDATION_MAX_CHARS = 6000;
415
+ /** Header genérico do prefixo estático: SEM dados do nó (id/outputs), senão o bloco cacheável divergiria entre nós. */
416
+ const STATIC_PROMPT_HEADER = '# IZANAGI AI — Adaptive Runtime\n';
417
+ const SUPREME_RULE_LINE = '- Regra suprema: NUNCA entregar checklists, resumos ou stubs — gerar conteúdo real, completo e pronto para produção.\n';
418
+ const FOUNDATION_TITLE = '## FUNDAÇÃO OPERACIONAL (RULES.md · seções 1–2)\n';
419
+ /**
420
+ * Localiza RULES.md na ordem canônica do framework: instalação distribuída
421
+ * (`<cwd>/.agents/RULES.md`) primeiro, repo-fonte (`<baseDir>/RULES.md`)
422
+ * depois. null = ausente nos dois roots (guard retrocompatível).
423
+ */
424
+ function findRulesDoc(baseDir) {
425
+ for (const candidate of [path.join(process.cwd(), '.agents', 'RULES.md'), path.join(baseDir, 'RULES.md')]) {
426
+ if (fs.existsSync(candidate))
427
+ return candidate;
428
+ }
429
+ return null;
430
+ }
431
+ /** Header que abre a seção 3 no RULES.md canônico (`## 3. Skills`) — "ou equivalente" aceita `#`–`######`, `:` e espaço. */
432
+ const SECTION_3_HEADER = /^#{1,6}\s*3(\.|:|\s)/;
433
+ /**
434
+ * Corte DETERMINÍSTICO da fundação: linhas 1 até (exclusive) o header `## 3.`
435
+ * — as Golden Rules + Communication Rules (seções 1–2) são invariantes entre
436
+ * runs; o resto é específico demais para valer cache. Sem header `## 3.`,
437
+ * usa o arquivo inteiro. Acima do budget, trunca por linha inteira (nunca no
438
+ * meio) e declara o corte em comentário determinístico (sem timestamps).
439
+ */
440
+ function extractRulesFoundation(content, sourcePath) {
441
+ const lines = content.split('\n');
442
+ const cutIdx = lines.findIndex((line) => SECTION_3_HEADER.test(line));
443
+ const selected = cutIdx === -1 ? [...lines] : lines.slice(0, cutIdx);
444
+ while (selected.length > 0 && selected[selected.length - 1].trim() === '')
445
+ selected.pop();
446
+ const total = selected.join('\n');
447
+ if (total.length <= RULES_FOUNDATION_MAX_CHARS) {
448
+ return `${total}\n\n<!-- fundação RULES.md: linhas 1–${selected.length} até o header "## 3." (corte determinístico) · conteúdo completo em ${sourcePath} -->`;
449
+ }
450
+ const kept = [];
451
+ let used = 0;
452
+ for (const line of selected) {
453
+ const cost = line.length + 1;
454
+ if (used + cost > RULES_FOUNDATION_MAX_CHARS)
455
+ break;
456
+ kept.push(line);
457
+ used += cost;
458
+ }
459
+ return `${kept.join('\n')}\n\n<!-- fundação RULES.md truncada em ${used - 1} chars (budget ${RULES_FOUNDATION_MAX_CHARS}) até o header "## 3." (corte determinístico) · conteúdo completo em ${sourcePath} -->`;
460
+ }
378
461
  /**
379
462
  * Compila o system prompt de um nó do grafo: identidade do agente do nó,
380
463
  * regras obrigatórias, skills resolvidas (resumidas) e contrato do artefato.
464
+ *
465
+ * Cache-Aware Prompt Compression (CAPC): quando existe RULES.md e o prefixo
466
+ * estático atinge MIN_CACHEABLE_TOKENS tokens estimados, o prompt vira
467
+ * `[ESTÁTICO] + <!-- IZANAGI:DYNAMIC --> + [VOLÁTIL]`:
468
+ * ESTÁTICO = header genérico + regra suprema + fundação RULES.md (seções 1–2)
469
+ * VOLÁTIL = nó em execução + artefato esperado + identidade + always/never
470
+ * + TAREFA + skills — tudo na ordem pré-wave.
471
+ * O bloco estático fica BYTE-IDÊNTICO entre nós do mesmo run (condição para
472
+ * o provider cachear: Anthropic via cache_control automático no client;
473
+ * OpenAI-compatible via prefix caching). Guardas retrocompatíveis: sem
474
+ * RULES.md OU estático abaixo do piso → formato pré-wave SEM marker.
475
+ * flags.noCacheFoundation desliga a fundação/marker incondicionalmente.
381
476
  */
382
- function buildNodePrompt(node, opts, baseDir) {
477
+ export function buildNodePrompt(node, opts, baseDir, flags) {
383
478
  const agent = node.agent ? findAgentJson(node.agent, baseDir) : undefined;
384
479
  const identity = agent?.identity || agent?.role || opts.agent.identity || opts.agent.role || `Agente especialista (${node.agent ?? node.id})`;
385
480
  const skills = (node.skills ?? opts.skillChain).slice(0, 4);
386
- let prompt = `# IZANAGI AI — Adaptive Runtime · Nó "${node.id}"\n`;
387
- prompt += `- Regra suprema: NUNCA entregar checklists, resumos ou stubs — gerar conteúdo real, completo e pronto para produção.\n`;
388
- prompt += `- Artefato esperado deste nó: \`${node.outputs?.[0] ?? 'raw'}\` (conteúdo estruturado, sem markdown desnecessário).\n\n`;
389
- prompt += `## IDENTIDADE & PAPEL\n${identity}\n\n`;
481
+ // Corpo volátil compartilhado pelas duas formas do prompt (ordem pré-wave preservada).
482
+ const artifactLine = `- Artefato esperado deste nó: \`${node.outputs?.[0] ?? 'raw'}\` (conteúdo estruturado, sem markdown desnecessário).\n\n`;
483
+ let body = `## IDENTIDADE & PAPEL\n${identity}\n\n`;
390
484
  if (agent?.always?.length)
391
- prompt += `## REGRAS OBRIGATÓRIAS\n- ${agent.always.join('\n- ')}\n\n`;
485
+ body += `## REGRAS OBRIGATÓRIAS\n- ${agent.always.join('\n- ')}\n\n`;
392
486
  if (agent?.never?.length)
393
- prompt += `## PROIBIDO\n- ${agent.never.join('\n- ')}\n\n`;
394
- prompt += `## TAREFA\n${opts.task}\n`;
487
+ body += `## PROIBIDO\n- ${agent.never.join('\n- ')}\n\n`;
488
+ body += `## TAREFA\n${opts.task}\n`;
395
489
  if (skills.length > 0) {
396
- prompt += `\n## SKILLS APLICÁVEIS\n`;
490
+ body += `\n## SKILLS APLICÁVEIS\n`;
397
491
  for (const skill of skills) {
398
492
  const sPath = resolveSkillPath(process.cwd(), baseDir, skill);
399
493
  if (sPath && fs.existsSync(sPath)) {
400
- prompt += `\n### Skill: ${skill}\n${summarizeSkill(sPath, 80)}\n`;
494
+ const source = findV2Counterpart(process.cwd(), baseDir, sPath) ?? sPath;
495
+ body += `\n### Skill: ${skill}\n${layeredSkillSummary(source, 80)}\n`;
401
496
  }
402
497
  }
403
498
  }
499
+ if (!flags?.noCacheFoundation) {
500
+ const rulesPath = findRulesDoc(baseDir);
501
+ if (rulesPath) {
502
+ const foundation = extractRulesFoundation(fs.readFileSync(rulesPath, 'utf-8'), rulesPath);
503
+ const staticText = `${STATIC_PROMPT_HEADER}${SUPREME_RULE_LINE}${FOUNDATION_TITLE}${foundation}\n`;
504
+ // Guard do piso: abaixo de 1024 tokens estimados o provider ignora o
505
+ // cache_control — não vale mudar a forma do prompt; cai no formato pré-wave.
506
+ if (estimateStaticTokens(staticText) >= MIN_CACHEABLE_TOKENS) {
507
+ return `${staticText}${DYNAMIC_MARKER}\n- Nó em execução: "${node.id}"\n${artifactLine}${body}`;
508
+ }
509
+ }
510
+ }
511
+ // Formato pré-wave (retrocompatível byte-a-byte): sem fundação, sem marker.
512
+ let prompt = `# IZANAGI AI — Adaptive Runtime · Nó "${node.id}"\n`;
513
+ prompt += SUPREME_RULE_LINE;
514
+ prompt += artifactLine;
515
+ prompt += body;
404
516
  return prompt;
405
517
  }
406
518
  export function findAgentJson(agentId, baseDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,18 @@
25
25
  *
26
26
  * Sem chave/servidor configurado, o framework continua 100% funcional em modo
27
27
  * headless (gera prompt) — o executor apenas informa que não está configurado.
28
+ *
29
+ * Cache-Aware Prompt Compression (CAPC): o system prompt pode carregar o
30
+ * delimitador `<!-- IZANAGI:DYNAMIC -->` (ver runtime/llm/prompt-cache.ts).
31
+ * A detecção é AUTOMÁTICA dentro de cada adapter — nenhum chamador precisa
32
+ * mudar: Anthropic ganha blocos com cache_control no prefixo estático quando
33
+ * ele atinge o piso de 1024 tokens; providers OpenAI-compatible recebem o
34
+ * conteúdo estável primeiro (prefix caching automático, wire format inalterado).
28
35
  */
36
+ /** Reexports públicos das utilidades de cache (mesma heurística, fonte única). */
37
+ export { DYNAMIC_MARKER, MIN_CACHEABLE_TOKENS, splitStaticDynamic, joinWithoutMarker, estimateStaticTokens, isPromptCacheEligible } from './prompt-cache.js';
38
+ /** Reexports públicos do AgentDiet (observation masking determinístico). */
39
+ export { dietHistory, summarizeObservation, MIN_TURNS, RECENT_WINDOW, MAX_OBS_CHARS } from './session-diet.js';
29
40
  export interface CompletionMessage {
30
41
  role: 'system' | 'user' | 'assistant';
31
42
  content: string;
@@ -36,6 +47,14 @@ export interface CompletionOptions {
36
47
  messages: CompletionMessage[];
37
48
  maxTokens?: number;
38
49
  temperature?: number;
50
+ /**
51
+ * AgentDiet (observation masking): quando true, aplica `dietHistory()` ao
52
+ * histórico ANTES de despachar ao adapter — observações antigas e longas
53
+ * (fora da janela recente) viram resumos sintéticos de 1 linha; mensagens
54
+ * 'system' e a janela recente ficam byte-a-byte. Default (ausente/false):
55
+ * histórico segue intacto, comportamento idêntico ao pré-AgentDiet.
56
+ */
57
+ diet?: boolean;
39
58
  }
40
59
  export interface CompletionResult {
41
60
  text: string;
@@ -43,6 +62,12 @@ export interface CompletionResult {
43
62
  latencyMs: number;
44
63
  model: string;
45
64
  provider: string;
65
+ /**
66
+ * Tokens servidos do cache de prompt pelo provider (quando reportado):
67
+ * Anthropic `cache_read_input_tokens`, OpenAI `prompt_tokens_details.cached_tokens`,
68
+ * Google `usageMetadata.cachedContentTokenCount`. Ausente = provider não reportou.
69
+ */
70
+ cachedTokens?: number;
46
71
  }
47
72
  export interface ModelAdapter {
48
73
  readonly provider: string;
@@ -107,13 +132,23 @@ export declare class CustomOpenAICompatibleAdapter implements ModelAdapter {
107
132
  get configured(): boolean;
108
133
  complete(opts: CompletionOptions): Promise<CompletionResult>;
109
134
  }
110
- /** Provider Anthropic (Messages API). */
135
+ /** Provider Anthropic (Messages API) com prompt caching no prefixo estático. */
111
136
  export declare class AnthropicAdapter implements ModelAdapter {
112
137
  readonly provider = "anthropic";
113
138
  private readonly apiKey;
114
139
  private readonly baseUrl;
115
140
  constructor(apiKey?: string, baseUrl?: string);
116
141
  get configured(): boolean;
142
+ /**
143
+ * System → wire format cache-aware:
144
+ * - estático >= MIN_CACHEABLE_TOKENS (1024): array de blocos, com
145
+ * cache_control ephemeral APENAS no prefixo estático (o sufixo dinâmico
146
+ * fica num bloco separado, fora do cache);
147
+ * - caso contrário: string simples exatamente como antes (retrocompatível —
148
+ * o provider ignoraria o header abaixo do piso de qualquer forma).
149
+ * Sem system, o campo segue ausente do payload.
150
+ */
151
+ private static systemToWire;
117
152
  complete(opts: CompletionOptions): Promise<CompletionResult>;
118
153
  }
119
154
  /** Provider Google (Gemini — API OpenAI-compatible via generativelanguage). */
@@ -125,7 +160,16 @@ export declare class GoogleAdapter implements ModelAdapter {
125
160
  get configured(): boolean;
126
161
  complete(opts: CompletionOptions): Promise<CompletionResult>;
127
162
  }
128
- /** Cliente único: resolve o adapter do provider e executa. */
163
+ /**
164
+ * Cliente único: resolve o adapter do provider e executa.
165
+ *
166
+ * CAPC é automático: se o `system` contiver `<!-- IZANAGI:DYNAMIC -->`, cada
167
+ * adapter aplica a estratégia de cache do seu provider por conta própria
168
+ * (blocos cache_control no Anthropic, prefixo estável nos OpenAI-compatible,
169
+ * system_instruction estável no Google). Chamadores existentes (run/chat/
170
+ * dashboard/arena) não precisam de NENHUMA mudança — basta incluir o
171
+ * delimitador no system quando houver parte volátil.
172
+ */
129
173
  export declare class LLMClient {
130
174
  private readonly adapters;
131
175
  constructor(adapters?: ModelAdapter[]);
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/runtime/llm/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/runtime/llm/client.ts"],"names":[],"mappings":"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"}