izanagi-ai 3.11.0 → 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.
- package/.manifest +2 -2
- package/dist/cli/commands/run.d.ts +53 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +118 -15
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/runtime/tests/run-cache-telemetry.test.d.ts +2 -0
- package/dist/runtime/tests/run-cache-telemetry.test.d.ts.map +1 -0
- package/dist/runtime/tests/run-cache-telemetry.test.js +237 -0
- package/dist/runtime/tests/run-cache-telemetry.test.js.map +1 -0
- package/package.json +1 -1
package/.manifest
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izanagi-ai",
|
|
3
|
-
"version": "3.
|
|
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-
|
|
8
|
+
"generatedAt": "2026-08-23T20:20:32.068Z",
|
|
9
9
|
"agents": [
|
|
10
10
|
{
|
|
11
11
|
"id": "adversarial-critic",
|
|
@@ -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":"
|
|
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"}
|
package/dist/cli/commands/run.js
CHANGED
|
@@ -4,13 +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';
|
|
7
8
|
import { layeredSkillSummary, findV2Counterpart } from '../../runtime/text/frontmatter.js';
|
|
8
9
|
import { printTrace } from './trace.js';
|
|
9
|
-
function parseRunArgs(args) {
|
|
10
|
+
export function parseRunArgs(args) {
|
|
10
11
|
let agentId;
|
|
11
12
|
let task;
|
|
12
13
|
let promptOnly = false;
|
|
13
14
|
let verbose = false;
|
|
15
|
+
let noCacheFoundation = false;
|
|
14
16
|
const positionals = [];
|
|
15
17
|
for (let i = 0; i < args.length; i++) {
|
|
16
18
|
const arg = args[i];
|
|
@@ -24,6 +26,9 @@ function parseRunArgs(args) {
|
|
|
24
26
|
else if (arg === '--prompt-only' || arg === '-p') {
|
|
25
27
|
promptOnly = true;
|
|
26
28
|
}
|
|
29
|
+
else if (arg === '--no-cache-foundation') {
|
|
30
|
+
noCacheFoundation = true;
|
|
31
|
+
}
|
|
27
32
|
else if (arg === '--runtime' || arg === '-r') {
|
|
28
33
|
// Compatibilidade: execução via runtime é o comportamento default desde a
|
|
29
34
|
// unificação dos caminhos de 'run' — a flag é aceita e ignorada (no-op).
|
|
@@ -47,7 +52,7 @@ function parseRunArgs(args) {
|
|
|
47
52
|
else if (positionals.length > 0 && !agentId) {
|
|
48
53
|
agentId = positionals[0];
|
|
49
54
|
}
|
|
50
|
-
return { agentId, task, promptOnly, verbose };
|
|
55
|
+
return { agentId, task, promptOnly, verbose, noCacheFoundation };
|
|
51
56
|
}
|
|
52
57
|
export function classifyTask(desc) {
|
|
53
58
|
const lower = desc.toLowerCase();
|
|
@@ -134,7 +139,7 @@ function agentLabel(agent) {
|
|
|
134
139
|
return agent.name || 'Custom agent';
|
|
135
140
|
}
|
|
136
141
|
export async function runCommand(baseDir, args) {
|
|
137
|
-
const { agentId, task, promptOnly, verbose } = parseRunArgs(args);
|
|
142
|
+
const { agentId, task, promptOnly, verbose, noCacheFoundation } = parseRunArgs(args);
|
|
138
143
|
if (!task) {
|
|
139
144
|
console.error('\x1b[31mError:\x1b[0m Please provide a task description.');
|
|
140
145
|
console.error('Usage: \x1b[1mizanagi run [agent] --task "<description>"\x1b[0m');
|
|
@@ -142,6 +147,7 @@ export async function runCommand(baseDir, args) {
|
|
|
142
147
|
console.error(' izanagi run "Create a login page" (Adaptive Runtime: graph + eval + trace + recovery + memory)');
|
|
143
148
|
console.error(' izanagi run architect --task "Design a microservices architecture"');
|
|
144
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)');
|
|
145
151
|
process.exit(1);
|
|
146
152
|
}
|
|
147
153
|
const cwd = process.cwd();
|
|
@@ -287,6 +293,7 @@ export async function runCommand(baseDir, args) {
|
|
|
287
293
|
skillChain: compactSkillChain,
|
|
288
294
|
agent,
|
|
289
295
|
verbose,
|
|
296
|
+
noCacheFoundation,
|
|
290
297
|
});
|
|
291
298
|
}
|
|
292
299
|
/**
|
|
@@ -299,7 +306,7 @@ export async function runCommand(baseDir, args) {
|
|
|
299
306
|
*/
|
|
300
307
|
export async function runRuntime(baseDir, opts) {
|
|
301
308
|
console.log('\n\x1b[36m=== Izanagi Adaptive Runtime ===\x1b[0m\n');
|
|
302
|
-
const client = new LLMClient();
|
|
309
|
+
const client = opts.client ?? new LLMClient();
|
|
303
310
|
const llmProviders = client.configuredProviders();
|
|
304
311
|
if (llmProviders.length === 0) {
|
|
305
312
|
console.log(' \x1b[33m⚠ Modo headless:\x1b[0m nenhuma API key encontrada (IZANAGI_OPENAI_API_KEY /');
|
|
@@ -310,6 +317,9 @@ export async function runRuntime(baseDir, opts) {
|
|
|
310
317
|
else {
|
|
311
318
|
console.log(` \x1b[32m✔ Execução real via LLM:\x1b[0m providers configurados: ${llmProviders.join(', ')}\n`);
|
|
312
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 };
|
|
313
323
|
const orchestrator = new Orchestrator({
|
|
314
324
|
baseDir,
|
|
315
325
|
command: 'run',
|
|
@@ -342,13 +352,21 @@ export async function runRuntime(baseDir, opts) {
|
|
|
342
352
|
}
|
|
343
353
|
// Execução real: compila o prompt do nó e chama o LLM com o modelo/provider
|
|
344
354
|
// já roteados pelo Orchestrator (mesma fonte de verdade, sem recomputar aqui).
|
|
345
|
-
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
|
+
});
|
|
346
358
|
const result = await client.complete(ctx.provider, {
|
|
347
359
|
model: ctx.model,
|
|
348
360
|
system,
|
|
349
361
|
messages: [{ role: 'user', content: opts.task }],
|
|
350
362
|
maxTokens: node.tokenBudget ?? 4000,
|
|
351
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
|
+
}
|
|
352
370
|
return {
|
|
353
371
|
content: result.text,
|
|
354
372
|
kind: node.outputs?.[0] ?? 'raw',
|
|
@@ -363,6 +381,10 @@ export async function runRuntime(baseDir, opts) {
|
|
|
363
381
|
},
|
|
364
382
|
});
|
|
365
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
|
+
}
|
|
366
388
|
if (result.pendingApproval) {
|
|
367
389
|
console.log(`\n\x1b[1m\x1b[33m⏸ Execução pausada — aguardando aprovação humana\x1b[0m`);
|
|
368
390
|
console.log(` \x1b[90mNó:\x1b[0m ${result.pendingApproval.nodeId}${result.pendingApproval.context ? ` — ${result.pendingApproval.context}` : ''}`);
|
|
@@ -383,33 +405,114 @@ export async function runRuntime(baseDir, opts) {
|
|
|
383
405
|
console.log(`\x1b[90mAvaliação isolada:\x1b[0m \x1b[36mizanagi eval --report ${result.trace.runId}\x1b[0m`);
|
|
384
406
|
console.log(`\x1b[90mExplicação da execução:\x1b[0m \x1b[36mizanagi explain ${result.trace.runId}\x1b[0m\n`);
|
|
385
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
|
+
}
|
|
386
461
|
/**
|
|
387
462
|
* Compila o system prompt de um nó do grafo: identidade do agente do nó,
|
|
388
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.
|
|
389
476
|
*/
|
|
390
|
-
function buildNodePrompt(node, opts, baseDir) {
|
|
477
|
+
export function buildNodePrompt(node, opts, baseDir, flags) {
|
|
391
478
|
const agent = node.agent ? findAgentJson(node.agent, baseDir) : undefined;
|
|
392
479
|
const identity = agent?.identity || agent?.role || opts.agent.identity || opts.agent.role || `Agente especialista (${node.agent ?? node.id})`;
|
|
393
480
|
const skills = (node.skills ?? opts.skillChain).slice(0, 4);
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
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`;
|
|
398
484
|
if (agent?.always?.length)
|
|
399
|
-
|
|
485
|
+
body += `## REGRAS OBRIGATÓRIAS\n- ${agent.always.join('\n- ')}\n\n`;
|
|
400
486
|
if (agent?.never?.length)
|
|
401
|
-
|
|
402
|
-
|
|
487
|
+
body += `## PROIBIDO\n- ${agent.never.join('\n- ')}\n\n`;
|
|
488
|
+
body += `## TAREFA\n${opts.task}\n`;
|
|
403
489
|
if (skills.length > 0) {
|
|
404
|
-
|
|
490
|
+
body += `\n## SKILLS APLICÁVEIS\n`;
|
|
405
491
|
for (const skill of skills) {
|
|
406
492
|
const sPath = resolveSkillPath(process.cwd(), baseDir, skill);
|
|
407
493
|
if (sPath && fs.existsSync(sPath)) {
|
|
408
494
|
const source = findV2Counterpart(process.cwd(), baseDir, sPath) ?? sPath;
|
|
409
|
-
|
|
495
|
+
body += `\n### Skill: ${skill}\n${layeredSkillSummary(source, 80)}\n`;
|
|
410
496
|
}
|
|
411
497
|
}
|
|
412
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;
|
|
413
516
|
return prompt;
|
|
414
517
|
}
|
|
415
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-cache-telemetry.test.d.ts","sourceRoot":"","sources":["../../../src/runtime/tests/run-cache-telemetry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,237 @@
|
|
|
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 { runCLI } from '../../cli/index.js';
|
|
7
|
+
import { buildNodePrompt, parseRunArgs, runRuntime } from '../../cli/commands/run.js';
|
|
8
|
+
import { DYNAMIC_MARKER, MIN_CACHEABLE_TOKENS, splitStaticDynamic, estimateStaticTokens, } from '../../runtime/llm/prompt-cache.js';
|
|
9
|
+
function tmpDir(prefix) {
|
|
10
|
+
return fs.mkdtempSync(path.join(os.tmpdir(), prefix));
|
|
11
|
+
}
|
|
12
|
+
/** RULES.md sintético com >4096 chars ANTES do header "## 3." (elegível a cache). */
|
|
13
|
+
function writeBigRules(dir) {
|
|
14
|
+
const body = Array.from({ length: 160 }, (_, i) => `- Golden rule ${i + 1}: mantenha o prefixo estático byte-idêntico entre chamadas para o provider cachear.`).join('\n');
|
|
15
|
+
const tail = Array.from({ length: 60 }, (_, i) => `- skill específica ${i + 1} que NÃO deve entrar na fundação`).join('\n');
|
|
16
|
+
const content = `# IZANAGI AI: Operating Rules\n\n## 1. Golden Rules\n${body}\n\n## 2. Communication Rules\nSeja direto e técnico.\n\n## 3. Skills\n${tail}\n`;
|
|
17
|
+
const file = path.join(dir, 'RULES.md');
|
|
18
|
+
fs.writeFileSync(file, content, 'utf-8');
|
|
19
|
+
return file;
|
|
20
|
+
}
|
|
21
|
+
/** Isola o processo num cwd vazio (sem .agents/RULES.md nem skills reais) durante o teste. */
|
|
22
|
+
async function inSandbox(fn) {
|
|
23
|
+
const origCwd = process.cwd();
|
|
24
|
+
const sandbox = tmpDir('izanagi-capc-cwd-');
|
|
25
|
+
process.chdir(sandbox);
|
|
26
|
+
try {
|
|
27
|
+
return await fn();
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
process.chdir(origCwd);
|
|
31
|
+
fs.rmSync(sandbox, { recursive: true, force: true });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function capture(fn) {
|
|
35
|
+
const logs = [];
|
|
36
|
+
const errors = [];
|
|
37
|
+
const origLog = console.log;
|
|
38
|
+
const origError = console.error;
|
|
39
|
+
console.log = (m) => { logs.push(String(m)); };
|
|
40
|
+
console.error = (m) => { errors.push(String(m)); };
|
|
41
|
+
try {
|
|
42
|
+
await fn();
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
console.log = origLog;
|
|
46
|
+
console.error = origError;
|
|
47
|
+
}
|
|
48
|
+
return { logs, errors };
|
|
49
|
+
}
|
|
50
|
+
/** Artefato mock rico: menciona os campos required de TODOS os schemas conhecidos, sem padrões stub. */
|
|
51
|
+
const MOCK_ARTIFACT = [
|
|
52
|
+
'# Artefato de validação do pipeline',
|
|
53
|
+
'',
|
|
54
|
+
'- title: Implementação completa da funcionalidade solicitada.',
|
|
55
|
+
'- functional: comportamento funcional descrito ponta a ponta com tratamento de erros.',
|
|
56
|
+
'- acceptance: critérios de aceite verificáveis por teste automatizado.',
|
|
57
|
+
'- context: contexto arquitetural, decision registrada e layers afetadas.',
|
|
58
|
+
'- model: modelo de dados com relations explícitas entre entidades.',
|
|
59
|
+
'- method GET path /api/exemplo com request e response tipados.',
|
|
60
|
+
'- severity baixa; vulnerabilities auditadas e remediation proposta.',
|
|
61
|
+
'- unit e integration cobertos; scenarios documentados.',
|
|
62
|
+
'- steps de execução, files entregues, verdict positivo com score alto.',
|
|
63
|
+
'- metrics consolidadas, summary executivo, results completos.',
|
|
64
|
+
'- findings catalogados com sources citadas para rastreabilidade.',
|
|
65
|
+
'- runId e spans registrados para rastreabilidade completa da execução.',
|
|
66
|
+
].join('\n');
|
|
67
|
+
test('buildNodePrompt: RULES.md grande → marker presente e estático elegível ao cache', async () => {
|
|
68
|
+
await inSandbox(() => {
|
|
69
|
+
const baseDir = tmpDir('izanagi-capc-base-');
|
|
70
|
+
try {
|
|
71
|
+
writeBigRules(baseDir);
|
|
72
|
+
const prompt = buildNodePrompt({ id: 'n1', kind: 'agent', outputs: ['raw'] }, { task: 'tarefa de teste', agent: {}, skillChain: [] }, baseDir);
|
|
73
|
+
assert.ok(prompt.includes(DYNAMIC_MARKER), 'marker CAPC esperado no prompt');
|
|
74
|
+
const split = splitStaticDynamic(prompt);
|
|
75
|
+
assert.equal(split.hasMarker, true);
|
|
76
|
+
assert.match(split.staticText, /Regra suprema/);
|
|
77
|
+
assert.match(split.staticText, /FUNDAÇÃO OPERACIONAL \(RULES\.md · seções 1–2\)/);
|
|
78
|
+
assert.match(split.staticText, /Golden rule 1:/);
|
|
79
|
+
assert.doesNotMatch(split.staticText, /skill específica 1/, 'corte deve parar no header "## 3."');
|
|
80
|
+
assert.match(split.dynamicText, /Nó em execução: "n1"/);
|
|
81
|
+
assert.ok(estimateStaticTokens(split.staticText) >= MIN_CACHEABLE_TOKENS, `estático (${estimateStaticTokens(split.staticText)} tokens) deve atingir o piso ${MIN_CACHEABLE_TOKENS}`);
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
test('buildNodePrompt: bloco estático BYTE-IDÊNTICO entre nós distintos (volátil difere)', async () => {
|
|
89
|
+
await inSandbox(() => {
|
|
90
|
+
const baseDir = tmpDir('izanagi-capc-eq-');
|
|
91
|
+
try {
|
|
92
|
+
writeBigRules(baseDir);
|
|
93
|
+
const mk = (id, output) => buildNodePrompt({ id, kind: 'agent', outputs: [output] }, { task: 'mesma tarefa', agent: {}, skillChain: [] }, baseDir);
|
|
94
|
+
const a = splitStaticDynamic(mk('planejar', 'implementation-plan'));
|
|
95
|
+
const b = splitStaticDynamic(mk('implementar', 'raw'));
|
|
96
|
+
assert.equal(a.hasMarker && b.hasMarker, true);
|
|
97
|
+
assert.equal(a.staticText, b.staticText, 'prefixo estático deve ser igual entre nós (condição de cache)');
|
|
98
|
+
assert.notEqual(a.dynamicText, b.dynamicText, 'parte volátil deve carregar o nó');
|
|
99
|
+
assert.match(a.dynamicText, /"planejar"/);
|
|
100
|
+
assert.match(b.dynamicText, /"implementar"/);
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
test('--no-cache-foundation: flag parseada e buildNodePrompt volta ao formato pré-wave (sem marker/fundação)', async () => {
|
|
108
|
+
const parsed = parseRunArgs(['--no-cache-foundation']);
|
|
109
|
+
assert.equal(parsed.noCacheFoundation, true);
|
|
110
|
+
assert.equal(parseRunArgs([]).noCacheFoundation, false);
|
|
111
|
+
await inSandbox(() => {
|
|
112
|
+
const baseDir = tmpDir('izanagi-capc-off-');
|
|
113
|
+
try {
|
|
114
|
+
writeBigRules(baseDir);
|
|
115
|
+
const prompt = buildNodePrompt({ id: 'n1', kind: 'agent', outputs: ['raw'] }, { task: 'tarefa', agent: {}, skillChain: [] }, baseDir, { noCacheFoundation: true });
|
|
116
|
+
assert.doesNotMatch(prompt, new RegExp(DYNAMIC_MARKER.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')));
|
|
117
|
+
assert.doesNotMatch(prompt, /FUNDAÇÃO OPERACIONAL/, 'fundação não deve entrar com a flag');
|
|
118
|
+
assert.match(prompt, /# IZANAGI AI — Adaptive Runtime · Nó "n1"/, 'header pré-wave com o nó embutido');
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
test('sem RULES.md: sem marker, sem fundação e sem crash (guard retrocompatível)', async () => {
|
|
126
|
+
await inSandbox(() => {
|
|
127
|
+
const baseDir = tmpDir('izanagi-capc-empty-');
|
|
128
|
+
try {
|
|
129
|
+
const prompt = buildNodePrompt({ id: 'n1', kind: 'agent', outputs: ['raw'] }, { task: 'tarefa', agent: {}, skillChain: [] }, baseDir);
|
|
130
|
+
assert.equal(prompt.includes(DYNAMIC_MARKER), false);
|
|
131
|
+
assert.doesNotMatch(prompt, /FUNDAÇÃO OPERACIONAL/);
|
|
132
|
+
assert.match(prompt, /# IZANAGI AI — Adaptive Runtime · Nó "n1"/);
|
|
133
|
+
assert.match(prompt, /## TAREFA\ntarefa/);
|
|
134
|
+
}
|
|
135
|
+
finally {
|
|
136
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
test('telemetria: client mockado com cachedTokens → linha final somada + verbose por nó', async () => {
|
|
141
|
+
await inSandbox(async () => {
|
|
142
|
+
const baseDir = tmpDir('izanagi-capc-tel-');
|
|
143
|
+
try {
|
|
144
|
+
let calls = 0;
|
|
145
|
+
const fakeClient = {
|
|
146
|
+
configuredProviders: () => ['openai'],
|
|
147
|
+
complete: async () => {
|
|
148
|
+
calls++;
|
|
149
|
+
return {
|
|
150
|
+
text: MOCK_ARTIFACT,
|
|
151
|
+
tokens: 500,
|
|
152
|
+
latencyMs: 1,
|
|
153
|
+
model: 'mock-model',
|
|
154
|
+
provider: 'openai',
|
|
155
|
+
cachedTokens: 250,
|
|
156
|
+
};
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
const opts = {
|
|
160
|
+
task: 'escrever testes unitarios qa',
|
|
161
|
+
category: 'testing',
|
|
162
|
+
agentId: 'qa',
|
|
163
|
+
skillChain: [],
|
|
164
|
+
agent: { name: 'qa' },
|
|
165
|
+
verbose: false,
|
|
166
|
+
client: fakeClient,
|
|
167
|
+
};
|
|
168
|
+
// Run silencioso: só a linha final agregada.
|
|
169
|
+
const out = await capture(() => runRuntime(baseDir, { ...opts }));
|
|
170
|
+
const all = out.logs.join('\n');
|
|
171
|
+
assert.ok(calls >= 1, 'client mockado deve ter sido chamado');
|
|
172
|
+
const m = all.match(/\[tokens\] entrada (\d+) · cache-hit (\d+) \((\d+)% do input\)/);
|
|
173
|
+
assert.ok(m, `linha agregada ausente no output:\n${all}`);
|
|
174
|
+
assert.equal(Number(m[1]), calls * 500, 'entrada deve somar result.tokens de todos os nós');
|
|
175
|
+
assert.equal(Number(m[2]), calls * 250, 'cache-hit deve somar cachedTokens ?? 0');
|
|
176
|
+
assert.equal(Number(m[3]), 50, 'percentual do input servido do cache');
|
|
177
|
+
assert.doesNotMatch(all, /nó ".*": entrada 500/, 'verbose desligado não imprime linha por nó');
|
|
178
|
+
// Run verbose: uma linha por chamada.
|
|
179
|
+
calls = 0;
|
|
180
|
+
const outV = await capture(() => runRuntime(baseDir, { ...opts, verbose: true }));
|
|
181
|
+
const perNode = outV.logs.filter((l) => l.includes('[tokens]') && l.includes(': entrada 500'));
|
|
182
|
+
assert.equal(perNode.length, calls, 'verbose deve imprimir exatamente uma linha por nó produzido');
|
|
183
|
+
assert.match(outV.logs.join('\n'), /\[tokens\] entrada \d+ · cache-hit \d+ \(\d+% do input\)/);
|
|
184
|
+
}
|
|
185
|
+
finally {
|
|
186
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
test('telemetria headless: nenhuma linha [tokens] no output (nem agregada, nem por nó)', async () => {
|
|
191
|
+
await inSandbox(async () => {
|
|
192
|
+
const baseDir = tmpDir('izanagi-capc-headless-');
|
|
193
|
+
try {
|
|
194
|
+
let called = false;
|
|
195
|
+
const headlessClient = {
|
|
196
|
+
configuredProviders: () => [],
|
|
197
|
+
complete: async () => {
|
|
198
|
+
called = true;
|
|
199
|
+
return { text: MOCK_ARTIFACT, tokens: 500, latencyMs: 1, model: 'x', provider: 'openai' };
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
const out = await capture(() => runRuntime(baseDir, {
|
|
203
|
+
task: 'escrever testes unitarios qa',
|
|
204
|
+
category: 'testing',
|
|
205
|
+
agentId: 'qa',
|
|
206
|
+
skillChain: [],
|
|
207
|
+
agent: { name: 'qa' },
|
|
208
|
+
verbose: true,
|
|
209
|
+
client: headlessClient,
|
|
210
|
+
}));
|
|
211
|
+
assert.equal(called, false, 'headless nunca deve chamar o LLM');
|
|
212
|
+
assert.equal(out.logs.some((l) => l.includes('[tokens]')), false, '[tokens] é proibido em modo headless');
|
|
213
|
+
assert.match(out.logs.join('\n'), /Modo headless/);
|
|
214
|
+
}
|
|
215
|
+
finally {
|
|
216
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
test('E2E --prompt-only: izanagi-prompt.md válido gerado no repo-fonte (sem marker, caminho pré-wave)', async () => {
|
|
221
|
+
const promptPath = path.resolve(process.cwd(), 'izanagi-prompt.md');
|
|
222
|
+
try {
|
|
223
|
+
const out = await capture(() => runCLI(['run', 'corrigir bug de login', '--prompt-only']));
|
|
224
|
+
assert.match(out.logs.join('\n'), /Ready-to-use AI prompt generated/);
|
|
225
|
+
assert.ok(fs.existsSync(promptPath));
|
|
226
|
+
const md = fs.readFileSync(promptPath, 'utf-8');
|
|
227
|
+
assert.match(md, /IZANAGI AI READY-TO-USE PROMPT/);
|
|
228
|
+
assert.match(md, /## USER TASK/);
|
|
229
|
+
assert.match(md, /## COMPUTED SKILL CHAIN/);
|
|
230
|
+
assert.match(md, /### SKILL: /, 'pelo menos uma skill resolvida na chain');
|
|
231
|
+
assert.equal(md.includes(DYNAMIC_MARKER), false, '--prompt-only segue no formato pronto para colar (sem marker)');
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
fs.rmSync(promptPath, { force: true });
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
//# sourceMappingURL=run-cache-telemetry.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-cache-telemetry.test.js","sourceRoot":"","sources":["../../../src/runtime/tests/run-cache-telemetry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAE3C,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3K,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAG,wDAAwD,IAAI,0EAA0E,IAAI,IAAI,CAAC;IAC/J,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,KAAK,UAAU,SAAS,CAAI,EAAwB;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,EAA8B;IACnD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAW,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAW,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,wGAAwG;AACxG,MAAM,aAAa,GAAG;IACpB,qCAAqC;IACrC,EAAE;IACF,+DAA+D;IAC/D,uFAAuF;IACvF,wEAAwE;IACxE,0EAA0E;IAC1E,oEAAoE;IACpE,gEAAgE;IAChE,qEAAqE;IACrE,wDAAwD;IACxD,wEAAwE;IACxE,+DAA+D;IAC/D,kEAAkE;IAClE,wEAAwE;CACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;IACjG,MAAM,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,eAAe,CAC5B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,EAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EACtD,OAAO,CACR,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,gCAAgC,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACjD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,EAAE,oCAAoC,CAAC,CAAC;YAClG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CACP,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,oBAAoB,EAC9D,aAAa,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,gCAAgC,oBAAoB,EAAE,CAC1G,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACpG,MAAM,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,EAAE,CACxC,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1H,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,+DAA+D,CAAC,CAAC;YAC1G,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;IACxH,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAExD,MAAM,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,eAAe,CAC5B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,EAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAC7C,OAAO,EACP,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC5B,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,sBAAsB,EAAE,qCAAqC,CAAC,CAAC;YAC3F,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,2CAA2C,EAAE,mCAAmC,CAAC,CAAC;QACzG,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAC5B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,EAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAC7C,OAAO,CACR,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;IACnG,MAAM,SAAS,CAAC,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,UAAU,GAAG;gBACjB,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;gBACrC,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,KAAK,EAAE,CAAC;oBACR,OAAO;wBACL,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE,GAAG;wBACX,SAAS,EAAE,CAAC;wBACZ,KAAK,EAAE,YAAY;wBACnB,QAAQ,EAAE,QAAQ;wBAClB,YAAY,EAAE,GAAG;qBAClB,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,EAAc;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAS;gBAC5B,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,6CAA6C;YAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,sCAAsC,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACtF,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,sCAAsC,GAAG,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,kDAAkD,CAAC,CAAC;YAC5F,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,wCAAwC,CAAC,CAAC;YAClF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,sCAAsC,CAAC,CAAC;YACvE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,sBAAsB,EAAE,4CAA4C,CAAC,CAAC;YAE/F,sCAAsC;YACtC,KAAK,GAAG,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/F,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,6DAA6D,CAAC,CAAC;YACnG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,0DAA0D,CAAC,CAAC;QACjG,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;IAClG,MAAM,SAAS,CAAC,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,cAAc,GAAG;gBACrB,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE;gBAC7B,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,MAAM,GAAG,IAAI,CAAC;oBACd,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAC5F,CAAC;aACF,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAC7B,UAAU,CAAC,OAAO,EAAE;gBAClB,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAS;gBAC5B,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,cAAc;aACvB,CAAC,CACH,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,kCAAkC,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,sCAAsC,CAAC,CAAC;YAC1G,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;IACjH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,uBAAuB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,gCAAgC,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,yCAAyC,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,+DAA+D,CAAC,CAAC;IACpH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED