izanagi-ai 3.10.1 → 3.11.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 (35) hide show
  1. package/.manifest +3 -3
  2. package/RULES.md +8 -0
  3. package/dist/cli/commands/run.d.ts.map +1 -1
  4. package/dist/cli/commands/run.js +15 -6
  5. package/dist/cli/commands/run.js.map +1 -1
  6. package/dist/runtime/llm/client.d.ts +46 -2
  7. package/dist/runtime/llm/client.d.ts.map +1 -1
  8. package/dist/runtime/llm/client.js +81 -13
  9. package/dist/runtime/llm/client.js.map +1 -1
  10. package/dist/runtime/llm/prompt-cache.d.ts +68 -0
  11. package/dist/runtime/llm/prompt-cache.d.ts.map +1 -0
  12. package/dist/runtime/llm/prompt-cache.js +80 -0
  13. package/dist/runtime/llm/prompt-cache.js.map +1 -0
  14. package/dist/runtime/llm/session-diet.d.ts +83 -0
  15. package/dist/runtime/llm/session-diet.d.ts.map +1 -0
  16. package/dist/runtime/llm/session-diet.js +108 -0
  17. package/dist/runtime/llm/session-diet.js.map +1 -0
  18. package/dist/runtime/tests/prompt-cache.test.d.ts +2 -0
  19. package/dist/runtime/tests/prompt-cache.test.d.ts.map +1 -0
  20. package/dist/runtime/tests/prompt-cache.test.js +227 -0
  21. package/dist/runtime/tests/prompt-cache.test.js.map +1 -0
  22. package/dist/runtime/tests/run-skill-disclosure.test.d.ts +2 -0
  23. package/dist/runtime/tests/run-skill-disclosure.test.d.ts.map +1 -0
  24. package/dist/runtime/tests/run-skill-disclosure.test.js +241 -0
  25. package/dist/runtime/tests/run-skill-disclosure.test.js.map +1 -0
  26. package/dist/runtime/tests/session-diet.test.d.ts +2 -0
  27. package/dist/runtime/tests/session-diet.test.d.ts.map +1 -0
  28. package/dist/runtime/tests/session-diet.test.js +188 -0
  29. package/dist/runtime/tests/session-diet.test.js.map +1 -0
  30. package/dist/runtime/text/frontmatter.d.ts +62 -0
  31. package/dist/runtime/text/frontmatter.d.ts.map +1 -0
  32. package/dist/runtime/text/frontmatter.js +270 -0
  33. package/dist/runtime/text/frontmatter.js.map +1 -0
  34. package/package.json +1 -1
  35. 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.11.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-23T19:30:19.466Z",
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 +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":"AA2DA,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,CAoL/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;AA+BD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAYnE"}
@@ -4,6 +4,7 @@ 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 { layeredSkillSummary, findV2Counterpart } from '../../runtime/text/frontmatter.js';
7
8
  import { printTrace } from './trace.js';
8
9
  function parseRunArgs(args) {
9
10
  let agentId;
@@ -117,9 +118,10 @@ export function resolveChainForCategory(agent, category) {
117
118
  return ['planner', 'reviewer', 'clean-code'];
118
119
  }
119
120
  /**
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.
121
+ * Compacta conteúdo de documento NÃO-skill (references curadas, SYSTEM.md,
122
+ * RULES.md) para o prompt: mantém apenas as primeiras linhas até o limite.
123
+ * Skills usam a política em camadas de `layeredSkillSummary` (front-matter
124
+ * v2 primeiro, corpo por prioridade de seção; legadas caem neste truncamento).
123
125
  */
124
126
  function summarizeSkill(fullPath, maxLines) {
125
127
  const content = fs.readFileSync(fullPath, 'utf-8');
@@ -184,7 +186,10 @@ export async function runCommand(baseDir, args) {
184
186
  for (const skill of compactSkillChain) {
185
187
  const skillPath = resolveSkillPath(cwd, baseDir, skill);
186
188
  if (skillPath) {
187
- console.log(` \x1b[32m✔\x1b[0m \x1b[1m${skill}\x1b[0m -> ${path.relative(cwd, skillPath)}`);
189
+ const v2Path = findV2Counterpart(cwd, baseDir, skillPath);
190
+ const sourceLabel = path.relative(cwd, v2Path ?? skillPath);
191
+ const v2Tag = v2Path ? ' \x1b[90m[v2 progressive disclosure]\x1b[0m' : '';
192
+ console.log(` \x1b[32m✔\x1b[0m \x1b[1m${skill}\x1b[0m -> ${sourceLabel}${v2Tag}`);
188
193
  resolvedCount++;
189
194
  }
190
195
  else if (aliases[skill]) {
@@ -248,7 +253,10 @@ export async function runCommand(baseDir, args) {
248
253
  for (const skill of compactSkillChain) {
249
254
  const sPath = resolveSkillPath(cwd, baseDir, skill);
250
255
  if (sPath && fs.existsSync(sPath)) {
251
- fullPrompt += `### SKILL: ${skill}\n` + summarizeSkill(sPath, compact ? 60 : 160) + `\n\n`;
256
+ // Progressive disclosure: prefere a contraparte v2 (.skills/<name>/SKILL.md)
257
+ // quando existe; sem v2, o truncamento legado preserva compatibilidade.
258
+ const source = findV2Counterpart(cwd, baseDir, sPath) ?? sPath;
259
+ fullPrompt += `### SKILL: ${skill}\n` + layeredSkillSummary(source, compact ? 60 : 160) + `\n\n`;
252
260
  }
253
261
  }
254
262
  if (systemContent && fs.existsSync(systemContent)) {
@@ -397,7 +405,8 @@ function buildNodePrompt(node, opts, baseDir) {
397
405
  for (const skill of skills) {
398
406
  const sPath = resolveSkillPath(process.cwd(), baseDir, skill);
399
407
  if (sPath && fs.existsSync(sPath)) {
400
- prompt += `\n### Skill: ${skill}\n${summarizeSkill(sPath, 80)}\n`;
408
+ const source = findV2Counterpart(process.cwd(), baseDir, sPath) ?? sPath;
409
+ prompt += `\n### Skill: ${skill}\n${layeredSkillSummary(source, 80)}\n`;
401
410
  }
402
411
  }
403
412
  }
@@ -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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"}
@@ -25,7 +25,20 @@
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
+ import { splitStaticDynamic, joinWithoutMarker, estimateTokens, estimateStaticTokens, MIN_CACHEABLE_TOKENS } from './prompt-cache.js';
37
+ import { dietHistory } from './session-diet.js';
38
+ /** Reexports públicos das utilidades de cache (mesma heurística, fonte única). */
39
+ export { DYNAMIC_MARKER, MIN_CACHEABLE_TOKENS, splitStaticDynamic, joinWithoutMarker, estimateStaticTokens, isPromptCacheEligible } from './prompt-cache.js';
40
+ /** Reexports públicos do AgentDiet (observation masking determinístico). */
41
+ export { dietHistory, summarizeObservation, MIN_TURNS, RECENT_WINDOW, MAX_OBS_CHARS } from './session-diet.js';
29
42
  /** Mapeia id de provider do ModelRouter → chaves de ambiente aceitas. */
30
43
  const ENV_KEYS = {
31
44
  openai: {
@@ -90,12 +103,20 @@ function timeoutMs() {
90
103
  * provider que fala esse wire format (OpenAI de verdade, LM Studio, Ollama,
91
104
  * OpenRouter, e qualquer endpoint "custom" compatível). `apiKey` vazio
92
105
  * simplesmente omite o header Authorization (servidores locais não exigem).
106
+ *
107
+ * Prefix caching: esses providers cacheiam automaticamente o INÍCIO idêntico
108
+ * do payload — por isso a ordem é ESTÁVEL (system primeiro, messages na ordem
109
+ * recebida) e o delimitador CAPC é removido do content antes do envio, de modo
110
+ * que o prefixo estático fique byte-idêntico entre chamadas. Wire format
111
+ * inalterado: nenhuma chave nova é adicionada ao body.
93
112
  */
94
113
  async function completeOpenAICompatible(provider, baseUrl, apiKey, opts) {
95
114
  const started = Date.now();
96
115
  const headers = { 'Content-Type': 'application/json' };
97
116
  if (apiKey)
98
117
  headers.Authorization = `Bearer ${apiKey}`;
118
+ // Estático→dinâmico concatenado SEM o delimitador (prefixo estável no topo).
119
+ const systemContent = opts.system ? joinWithoutMarker(opts.system) : '';
99
120
  const res = await fetch(`${baseUrl}/chat/completions`, {
100
121
  method: 'POST',
101
122
  headers,
@@ -103,8 +124,8 @@ async function completeOpenAICompatible(provider, baseUrl, apiKey, opts) {
103
124
  model: opts.model,
104
125
  max_tokens: opts.maxTokens ?? 2048,
105
126
  temperature: opts.temperature ?? 0.4,
106
- messages: opts.system
107
- ? [{ role: 'system', content: opts.system }, ...opts.messages]
127
+ messages: systemContent
128
+ ? [{ role: 'system', content: systemContent }, ...opts.messages]
108
129
  : opts.messages,
109
130
  }),
110
131
  signal: AbortSignal.timeout(timeoutMs()),
@@ -116,7 +137,15 @@ async function completeOpenAICompatible(provider, baseUrl, apiKey, opts) {
116
137
  const data = (await res.json());
117
138
  const text = data.choices?.[0]?.message?.content ?? '';
118
139
  const tokens = data.usage?.total_tokens ?? estimateTokens(text, opts.system ?? '');
119
- return { text, tokens, latencyMs: Date.now() - started, model: opts.model, provider };
140
+ const cached = data.usage?.prompt_tokens_details?.cached_tokens;
141
+ return {
142
+ text,
143
+ tokens,
144
+ latencyMs: Date.now() - started,
145
+ model: opts.model,
146
+ provider,
147
+ ...(typeof cached === 'number' ? { cachedTokens: cached } : {}),
148
+ };
120
149
  }
121
150
  /** Provider OpenAI (e qualquer API compatível via base URL). */
122
151
  export class OpenAIAdapter {
@@ -211,7 +240,7 @@ export class CustomOpenAICompatibleAdapter {
211
240
  return completeOpenAICompatible(this.provider, this.baseUrl, this.apiKey, opts);
212
241
  }
213
242
  }
214
- /** Provider Anthropic (Messages API). */
243
+ /** Provider Anthropic (Messages API) com prompt caching no prefixo estático. */
215
244
  export class AnthropicAdapter {
216
245
  provider = 'anthropic';
217
246
  apiKey;
@@ -223,6 +252,26 @@ export class AnthropicAdapter {
223
252
  get configured() {
224
253
  return this.apiKey.length > 0;
225
254
  }
255
+ /**
256
+ * System → wire format cache-aware:
257
+ * - estático >= MIN_CACHEABLE_TOKENS (1024): array de blocos, com
258
+ * cache_control ephemeral APENAS no prefixo estático (o sufixo dinâmico
259
+ * fica num bloco separado, fora do cache);
260
+ * - caso contrário: string simples exatamente como antes (retrocompatível —
261
+ * o provider ignoraria o header abaixo do piso de qualquer forma).
262
+ * Sem system, o campo segue ausente do payload.
263
+ */
264
+ static systemToWire(system) {
265
+ if (!system)
266
+ return undefined;
267
+ const split = splitStaticDynamic(system);
268
+ if (estimateStaticTokens(split.staticText) < MIN_CACHEABLE_TOKENS)
269
+ return system;
270
+ const blocks = [{ type: 'text', text: split.staticText, cache_control: { type: 'ephemeral' } }];
271
+ if (split.dynamicText)
272
+ blocks.push({ type: 'text', text: split.dynamicText });
273
+ return blocks;
274
+ }
226
275
  async complete(opts) {
227
276
  const started = Date.now();
228
277
  const system = opts.system ?? '';
@@ -237,7 +286,7 @@ export class AnthropicAdapter {
237
286
  model: opts.model,
238
287
  max_tokens: opts.maxTokens ?? 2048,
239
288
  temperature: opts.temperature ?? 0.4,
240
- system: system || undefined,
289
+ system: AnthropicAdapter.systemToWire(opts.system),
241
290
  messages: opts.messages.filter((m) => m.role !== 'system'),
242
291
  }),
243
292
  signal: AbortSignal.timeout(timeoutMs()),
@@ -249,12 +298,15 @@ export class AnthropicAdapter {
249
298
  const data = (await res.json());
250
299
  const text = (data.content ?? []).filter((b) => b.type === 'text').map((b) => b.text ?? '').join('');
251
300
  const tokens = (data.usage?.input_tokens ?? 0) + (data.usage?.output_tokens ?? 0) || estimateTokens(text, system);
301
+ // Tokens servidos do cache: só populamos quando o provider REPORTA a chave.
302
+ const cachedRead = data.usage?.cache_read_input_tokens;
252
303
  return {
253
304
  text,
254
305
  tokens,
255
306
  latencyMs: Date.now() - started,
256
307
  model: opts.model,
257
308
  provider: this.provider,
309
+ ...(typeof cachedRead === 'number' ? { cachedTokens: cachedRead } : {}),
258
310
  };
259
311
  }
260
312
  }
@@ -278,8 +330,11 @@ export class GoogleAdapter {
278
330
  'Content-Type': 'application/json',
279
331
  'x-goog-api-key': this.apiKey,
280
332
  },
333
+ // Prefix caching (context caching do Gemini): system_instruction estável
334
+ // primeiro no body, contents na ordem recebida — o início do payload fica
335
+ // byte-idêntico entre chamadas com o mesmo prefixo estático.
281
336
  body: JSON.stringify({
282
- system_instruction: opts.system ? { parts: [{ text: opts.system }] } : undefined,
337
+ system_instruction: opts.system ? { parts: [{ text: joinWithoutMarker(opts.system) }] } : undefined,
283
338
  contents: opts.messages
284
339
  .filter((m) => m.role !== 'system')
285
340
  .map((m) => ({ role: m.role === 'assistant' ? 'model' : 'user', parts: [{ text: m.content }] })),
@@ -294,16 +349,27 @@ export class GoogleAdapter {
294
349
  const data = (await res.json());
295
350
  const text = (data.candidates?.[0]?.content?.parts ?? []).map((p) => p.text ?? '').join('');
296
351
  const tokens = data.usageMetadata?.totalTokenCount ?? estimateTokens(text, opts.system ?? '');
352
+ const cachedContent = data.usageMetadata?.cachedContentTokenCount;
297
353
  return {
298
354
  text,
299
355
  tokens,
300
356
  latencyMs: Date.now() - started,
301
357
  model: opts.model,
302
358
  provider: this.provider,
359
+ ...(typeof cachedContent === 'number' ? { cachedTokens: cachedContent } : {}),
303
360
  };
304
361
  }
305
362
  }
306
- /** Cliente único: resolve o adapter do provider e executa. */
363
+ /**
364
+ * Cliente único: resolve o adapter do provider e executa.
365
+ *
366
+ * CAPC é automático: se o `system` contiver `<!-- IZANAGI:DYNAMIC -->`, cada
367
+ * adapter aplica a estratégia de cache do seu provider por conta própria
368
+ * (blocos cache_control no Anthropic, prefixo estável nos OpenAI-compatible,
369
+ * system_instruction estável no Google). Chamadores existentes (run/chat/
370
+ * dashboard/arena) não precisam de NENHUMA mudança — basta incluir o
371
+ * delimitador no system quando houver parte volátil.
372
+ */
307
373
  export class LLMClient {
308
374
  adapters;
309
375
  constructor(adapters = [
@@ -335,12 +401,14 @@ export class LLMClient {
335
401
  if (!adapter.configured) {
336
402
  throw new Error(`Provider "${provider}" não configurado — defina ${ENV_KEYS[provider]?.apiKey.join(' ou ') ?? 'a chave de API'} no ambiente`);
337
403
  }
338
- return adapter.complete(opts);
404
+ // AgentDiet opt-in: sem diet, opts passa INTACTO (mesma referência — wire
405
+ // byte-a-byte idêntico ao pré-AgentDiet); com diet, o histórico é mascarado
406
+ // aqui, ponto único central, e os adapters/chamadores não mudam nada.
407
+ if (!opts.diet)
408
+ return adapter.complete(opts);
409
+ return adapter.complete({ ...opts, messages: dietHistory(opts.messages) });
339
410
  }
340
411
  }
341
- /** Estimativa grosseira de tokens (chars/4) para quando a API não reporta. */
342
- function estimateTokens(...texts) {
343
- const chars = texts.reduce((acc, t) => acc + t.length, 0);
344
- return Math.max(1, Math.round(chars / 4));
345
- }
412
+ // estimateTokens vive em ./prompt-cache.js (fonte única compartilhada com a
413
+ // decisão de cacheabilidade) e é reexportada acima junto das demais utilidades.
346
414
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/runtime/llm/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/runtime/llm/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Prompt Cache — Cache-Aware Prompt Compression (CAPC).
3
+ *
4
+ * Módulo PURO (zero I/O, zero deps): decide como um system prompt se divide
5
+ * entre prefixo ESTÁTICO (idêntico entre chamadas → cacheável pelo provider)
6
+ * e sufixo DINÂMICO (volátil por sessão/run).
7
+ *
8
+ * Convenção do framework: o delimitador explícito `<!-- IZANAGI:DYNAMIC -->`
9
+ * marca a fronteira — tudo ABAIXO do primeiro marcador é volátil. Autores de
10
+ * prompts grandes (skills, agentes) colocam regras/identidade/persona acima do
11
+ * marcador e contexto de sessão abaixo. Sem marcador, tudo é estático.
12
+ *
13
+ * Por que isso importa:
14
+ * - Anthropic cobra ~10x menos por token lido do cache, mas só cacheia
15
+ * blocos marcados com cache_control E com no mínimo MIN_CACHEABLE_TOKENS
16
+ * (1024 tokens hoje). Abaixo disso o header seria ignorado — por isso
17
+ * enviamos string simples (wire idêntico ao anterior) quando não vale.
18
+ * - OpenAI/OpenRouter/Ollama/LM Studio fazem prefix caching automático:
19
+ * basta o INÍCIO do payload ser byte-idêntico entre chamadas — por isso a
20
+ * ordem system→messages é estável e o delimitador nunca vai pro fio.
21
+ */
22
+ /** Delimitador canônico: tudo abaixo da primeira ocorrência é dinâmico/volátil. */
23
+ export declare const DYNAMIC_MARKER = "<!-- IZANAGI:DYNAMIC -->";
24
+ /**
25
+ * Piso real do Anthropic prompt caching: blocos com menos tokens que isso não
26
+ * são elegíveis a cache (o provider ignora cache_control abaixo de 1024).
27
+ * https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching
28
+ */
29
+ export declare const MIN_CACHEABLE_TOKENS = 1024;
30
+ /** Resultado da separação estático × dinâmico de um system prompt. */
31
+ export interface StaticDynamicSplit {
32
+ /** Prefixo estável — idêntico entre chamadas (candidato a cache). */
33
+ staticText: string;
34
+ /** Sufixo volátil — muda por sessão/run (fica FORA do bloco cacheado). */
35
+ dynamicText: string;
36
+ /** true se o delimitador estava presente no texto de entrada. */
37
+ hasMarker: boolean;
38
+ }
39
+ /**
40
+ * Separa o system prompt no primeiro delimitador `<!-- IZANAGI:DYNAMIC -->`.
41
+ * Fidelidade preservada: os slices NÃO fazem trim — concatenar staticText +
42
+ * dynamicText reproduz a entrada original exatamente sem o marcador.
43
+ * Sem marcador (ou entrada vazia/undefined), tudo é estático.
44
+ * Múltiplos marcadores: apenas o primeiro corta (o restante já é dinâmico).
45
+ */
46
+ export declare function splitStaticDynamic(system?: string): StaticDynamicSplit;
47
+ /**
48
+ * Reconstrói o system prompt para wire formats SEM suporte a blocos
49
+ * (OpenAI-compatible): conteúdo original com o delimitador removido. O prefixo
50
+ * continua byte-estável entre chamadas — condição para o prefix caching
51
+ * automático desses providers.
52
+ */
53
+ export declare function joinWithoutMarker(system?: string): string;
54
+ /**
55
+ * Estimativa grosseira de tokens (~4 chars/token) — mesma heurística usada
56
+ * pelo LLMClient quando o provider não reporta usage. Movida pra cá para ser
57
+ * a única fonte da verdade compartilhada entre client e decisões de cache.
58
+ */
59
+ export declare function estimateTokens(...texts: string[]): number;
60
+ /** Estimativa de tokens do PREFIXO ESTÁTICO — insumo da decisão de cache. */
61
+ export declare function estimateStaticTokens(text: string): number;
62
+ /**
63
+ * O prefixo estático deste system prompt atinge o piso de cacheabilidade?
64
+ * Encapsula split + estimativa + threshold numa decisão só (usada pelos
65
+ * adapters antes de aplicar cache_control no fio).
66
+ */
67
+ export declare function isPromptCacheEligible(system?: string): boolean;
68
+ //# sourceMappingURL=prompt-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-cache.d.ts","sourceRoot":"","sources":["../../../src/runtime/llm/prompt-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mFAAmF;AACnF,eAAO,MAAM,cAAc,6BAA6B,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAGzD;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9D"}