trace-to-skill 0.1.77 → 0.1.79

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/README.md CHANGED
@@ -59,13 +59,13 @@ Use it when you need to:
59
59
  - **Harden agent instructions:** run `trace-to-skill lint-agents .` to catch missing `AGENTS.md`, conflicting tool instructions, missing includes, nested instruction drift, encoding issues, and risky MCP config.
60
60
  - **Protect agent context:** run `trace-to-skill guard-github-event "$GITHUB_EVENT_PATH"` before feeding issue, PR, comment, discussion, check-run, or commit text into an agent.
61
61
  - **Prevent unsafe patch overwrites:** run `trace-to-skill guard-patch ./change.patch --root .` before applying generated patches so `*** Add File` cannot silently replace an existing file or symlink target.
62
- - **Audit local Codex session history:** run `trace-to-skill session-audit ~/.codex --format json` to summarize rollout JSONL sizes, huge lines, parse errors, state files, short `session_index.jsonl` evidence, bloated transcript-like sidebar titles, and recoverable unindexed thread ids without publishing private transcripts.
62
+ - **Audit local Codex session history:** run `trace-to-skill session-audit ~/.codex --format json` to summarize rollout JSONL sizes, huge lines, parse errors, state files, short `session_index.jsonl` evidence, bloated transcript-like sidebar titles, subagent lifecycle signals, and recoverable unindexed thread ids without publishing private transcripts.
63
63
  - **Preflight sensitive paths before agent runs:** run `trace-to-skill sensitive-audit . --format json` to find `.env`, private keys, package auth files, cloud credentials, local databases, signing files, and secret manifests by filename/path without reading file contents. Add `--format ignore --ignore-target codexignore` to generate a reviewable `.codexignore` candidate without mutating the repo.
64
64
  - **Preflight language-server readiness:** run `trace-to-skill lsp-audit . --format json` to detect repo languages, missing LSP commands, install hints, and evidence files before asking Codex for symbol-aware edits.
65
65
  - **Audit Codex config drift:** run `trace-to-skill config-audit ~/.codex --format json` to summarize legacy profile config, model pins, Speed/Fast service-tier persistence drift, sandbox/approval posture, Windows elevated sandbox mode, missing permission profiles, plugin cache drift, and MCP approval sprawl.
66
66
  - **Audit bundled plugin drift:** run `trace-to-skill plugin-audit ~/.codex --app /Applications/Codex.app --format json` to check Browser, Chrome, Computer Use, bundled marketplace, plugin cache, manifest, helper app, `CODEX_HOME`, and unsupported feature-flag drift without posting raw logs.
67
67
  - **Bundle Codex diagnostics safely:** run `trace-to-skill diagnostics-bundle ~/.codex --output codex-diagnostics` to create a metadata-only support folder with manifest, README, config, plugin, and session audit reports while excluding raw logs, SQLite state, raw config, and transcripts.
68
- - **Package Codex usage evidence:** run `trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md` to turn `/status`, reset tables, usage-limit errors, token totals, cached-input spikes, rapid drain experiments, and orchestration-overhead clues into a redaction-aware usage receipt.
68
+ - **Package Codex usage evidence:** run `trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md` to turn `/status`, reset tables, usage-limit errors, token totals, prompt-cache collapse rows, rapid drain experiments, and orchestration-overhead clues into a redaction-aware usage receipt.
69
69
  - **Package Codex process evidence:** run `trace-to-skill process-audit ./process-notes.md --output process-audit.md` to turn Task Manager, System Informer, `Get-CimInstance`, `ps`, or `top` snippets into a privacy-aware report for PowerShell CIM polling, stale process-manager entries, high CPU helpers, and runaway renderers.
70
70
  - **Bookmark a workspace before agent edits:** run `trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex` to store git diffs plus copied changed/untracked files before Codex, Claude, Cursor, or another agent touches a dirty repo. It does not auto-restore or run destructive commands.
71
71
  - **Share failed traces safely:** run `trace-to-skill redact ./runs --output redacted-runs` before publishing anonymized failure fixtures.
@@ -90,9 +90,9 @@ Use it when you need to:
90
90
  - **Debug Codex plugin runtime failures:** run `trace-to-skill analyze ./runs` when Browser, Computer Use, Chrome, connectors, or bundled plugins are advertised but fail with missing native pipe paths, plugin-list schema errors, or stale plugin cache state.
91
91
  - **Report Codex file tree UI failures:** run `trace-to-skill analyze ./runs` when `View > Toggle File Tree`, the folder icon, floating file panel, or built-in file preview disappears, goes stale, or stops revealing workspace files.
92
92
  - **Debug Codex resume/session state:** run `trace-to-skill analyze ./runs` when `codex resume` freezes, large JSONL histories make Desktop sluggish, recent context disappears after resume, or SQLite migration/state errors break goals.
93
- - **Attribute token burn:** run `trace-to-skill usage-evidence ./usage-notes.md --format json` when Codex drains usage unexpectedly and you need to separate backend quota-window percentages, local token totals, rapid drain experiments, cached input, compaction loops, retry/tool loops, background polling, subagent fan-out, and idle drain.
93
+ - **Attribute token burn:** run `trace-to-skill usage-evidence ./usage-notes.md --format json` when Codex drains usage unexpectedly and you need to separate backend quota-window percentages, local token totals, prompt-cache collapse events, rapid drain experiments, cached input, compaction loops, retry/tool loops, background polling, subagent fan-out, and idle drain.
94
94
  - **Report usage reset drift:** run `trace-to-skill analyze ./runs` when weekly or 5-hour reset times move unexpectedly, saved usage is lost, or `/status` and the dashboard disagree about the reset anchor.
95
- - **Bundle quota evidence:** run `trace-to-skill usage-evidence ./usage-notes.md` when you have polling tables, `/status` percentages, reset timestamps, cached-token totals, rapid burn notes like `1% in 4 minutes` or `22 credits`, or `You've hit your usage limit` messages.
95
+ - **Bundle quota evidence:** run `trace-to-skill usage-evidence ./usage-notes.md` when you have polling tables, `/status` percentages, reset timestamps, `input_tokens`/`cached_input_tokens`/`prompt_cache_key` rows, rapid burn notes like `1% in 4 minutes` or `22 credits`, or `You've hit your usage limit` messages.
96
96
  - **Report resource leaks:** run `trace-to-skill analyze ./runs` when Codex Desktop, VS Code extension, app-server, renderer, GPU, or orphaned helper processes keep burning CPU/GPU/memory after the work should be idle.
97
97
  - **Catch tool-call integrity failures:** run `trace-to-skill analyze ./runs` when `apply_patch`, `*** Add File` overwrite behavior, rollback/undo, subagent shutdown, or `tool_call_id` protocol failures threaten file safety or strand a session.
98
98
  - **File better OpenAI/Codex issues:** run `trace-to-skill codex-report ./runs` to turn a failed trace into a redaction-aware, copy-paste-ready issue body with evidence and diagnostics.
@@ -346,7 +346,7 @@ trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md
346
346
  trace-to-skill usage-evidence ./usage-notes.md --format json
347
347
  ```
348
348
 
349
- This parses Markdown polling tables, CSV-like rows, JSON/JSONL snapshots, `/status` excerpts, `reset_at` timestamps, usage-limit messages, rapid drain experiment notes such as `1% in 4 minutes` or `22 credits`, and `Token usage: total=... cached` lines into a concise report for Codex rate-limit, reset-drift, and token-burn issues.
349
+ This parses Markdown polling tables, CSV-like rows, JSON/JSONL snapshots, `/status` excerpts, `reset_at` timestamps, usage-limit messages, rapid drain experiment notes such as `1% in 4 minutes` or `22 credits`, prompt-cache rows with `input_tokens`, `cached_input_tokens` / `cached_tokens`, `prompt_cache_key`, and `response id`, and `Token usage: total=... cached` lines into a concise report for Codex rate-limit, reset-drift, prompt-cache-collapse, and token-burn issues.
350
350
 
351
351
  Generate reusable rules:
352
352
 
@@ -503,7 +503,7 @@ jobs:
503
503
  issues: write
504
504
  steps:
505
505
  - uses: actions/checkout@v5
506
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.77
506
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.79
507
507
  with:
508
508
  mode: all
509
509
  doctor-threshold: "85"
@@ -552,7 +552,7 @@ Composite action usage:
552
552
 
553
553
  ```yaml
554
554
  - id: trace-to-skill
555
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.77
555
+ uses: grnbtqdbyx-create/trace-to-skill@v0.1.79
556
556
  with:
557
557
  mode: all
558
558
  doctor-threshold: "85"
@@ -594,7 +594,7 @@ Action outputs:
594
594
 
595
595
  By default, generated reports are also appended to the GitHub Actions Job Summary. Set `job-summary: "false"` to disable that UI output.
596
596
 
597
- Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.77` executes that release's checked-out source instead of pulling the default branch at runtime.
597
+ Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.79` executes that release's checked-out source instead of pulling the default branch at runtime.
598
598
 
599
599
  ## Codex Skill
600
600
 
@@ -26,9 +26,9 @@ export { redactTargets, redactText } from "./redact.js";
26
26
  export { renderAgentsRules, renderCodexIssueReport, renderComparison, renderDoctorMarkdown, renderDoctorPrComment, renderMarkdown, renderPrComment, renderSarif, renderSkill } from "./report.js";
27
27
  export { renderScorecardMarkdown, renderScorecardPrComment, runScorecard } from "./scorecard.js";
28
28
  export { auditCodexSessions, renderSessionAuditMarkdown } from "./sessionAudit.js";
29
- export type { SessionAuditFile, SessionAuditFinding, SessionAuditOptions, SessionAuditResult, SessionAuditSeverity, SessionAuditStateFile, SessionAuditStatus } from "./sessionAudit.js";
29
+ export type { SessionAuditFile, SessionAuditFinding, SessionAuditOptions, SessionAuditResult, SessionAuditSeverity, SessionAuditStateFile, SessionAuditStatus, SessionAuditSubagentSignal, SessionAuditSubagentSignalKind } from "./sessionAudit.js";
30
30
  export { auditSensitivePaths, buildSensitiveIgnoreFiles, normalizeSensitiveIgnoreTarget, renderSensitiveAuditMarkdown, renderSensitiveIgnoreFile } from "./sensitiveAudit.js";
31
31
  export type { SensitiveAuditFinding, SensitiveAuditFindingKind, SensitiveAuditResult, SensitiveAuditSeverity, SensitiveAuditStatus, SensitiveIgnoreFile, SensitiveIgnoreTarget } from "./sensitiveAudit.js";
32
32
  export { buildUsageEvidence, buildUsageEvidenceFromInputs, renderUsageEvidenceMarkdown } from "./usageEvidence.js";
33
- export type { TokenUsageRecord, UsageDrainExperiment, UsageEvidenceFinding, UsageEvidenceFindingKind, UsageEvidenceResult, UsageEvidenceStatus, UsageOverheadKind, UsageOverheadSignal, UsageReceipt, UsageSnapshot } from "./usageEvidence.js";
33
+ export type { PromptCacheCollapseEvent, PromptCacheRecord, TokenUsageRecord, UsageDrainExperiment, UsageEvidenceFinding, UsageEvidenceFindingKind, UsageEvidenceResult, UsageEvidenceStatus, UsageOverheadKind, UsageOverheadSignal, UsageReceipt, UsageSnapshot } from "./usageEvidence.js";
34
34
  export type { AnalysisResult, Finding, FindingKind, Severity } from "./types.js";
@@ -1,5 +1,6 @@
1
1
  export type SessionAuditStatus = "pass" | "warn" | "fail";
2
2
  export type SessionAuditSeverity = "warning" | "error";
3
+ export type SessionAuditSubagentSignalKind = "spawn_agent" | "wait_agent" | "close_agent" | "thread_spawn_edges" | "agent_thread_limit" | "stale_subagent_ui" | "child_recent_thread" | "compaction_lost_subagents" | "no_agents_completed" | "subagent_notification";
3
4
  export interface SessionAuditOptions {
4
5
  largeFileBytes?: number;
5
6
  hugeLineBytes?: number;
@@ -30,10 +31,16 @@ export interface SessionAuditStateFile {
30
31
  }
31
32
  export interface SessionAuditFinding {
32
33
  severity: SessionAuditSeverity;
33
- kind: "large_rollout" | "huge_jsonl_line" | "json_parse_error" | "short_session_index" | "unindexed_rollout_thread" | "bloated_index_title" | "state_file_present";
34
+ kind: "large_rollout" | "huge_jsonl_line" | "json_parse_error" | "short_session_index" | "unindexed_rollout_thread" | "bloated_index_title" | "subagent_lifecycle_signal" | "state_file_present";
34
35
  path?: string;
35
36
  message: string;
36
37
  }
38
+ export interface SessionAuditSubagentSignal {
39
+ path: string;
40
+ kind: SessionAuditSubagentSignalKind;
41
+ count: number;
42
+ note: string;
43
+ }
37
44
  export interface SessionAuditThread {
38
45
  id: string;
39
46
  path: string;
@@ -70,10 +77,13 @@ export interface SessionAuditResult {
70
77
  indexedThreads: number;
71
78
  unindexedRolloutThreads: number;
72
79
  bloatedIndexTitles: number;
80
+ subagentSignalFiles: number;
81
+ subagentSignals: number;
73
82
  projectRoots: number;
74
83
  };
75
84
  files: SessionAuditFile[];
76
85
  threads: SessionAuditThread[];
86
+ subagentSignals: SessionAuditSubagentSignal[];
77
87
  stateFiles: SessionAuditStateFile[];
78
88
  findings: SessionAuditFinding[];
79
89
  }
@@ -22,8 +22,9 @@ export async function auditCodexSessions(target = defaultCodexHome(), options =
22
22
  const sessionIndex = files.find((file) => path.basename(file.path) === "session_index.jsonl");
23
23
  const indexEntries = sessionIndex ? await readSessionIndex(path.join(root, sessionIndex.path)) : new Map();
24
24
  const threads = buildThreads(files, indexEntries);
25
+ const subagentSignals = buildSubagentSignals(files);
25
26
  const stateFiles = await Promise.all(discovered.stateFiles.map((file) => stateFileInfo(file, root)));
26
- const findings = buildFindings(files, threads, stateFiles, thresholds);
27
+ const findings = buildFindings(files, threads, subagentSignals, stateFiles, thresholds);
27
28
  const rolloutFiles = files.filter((file) => path.basename(file.path).startsWith("rollout-")).length;
28
29
  const projectKeys = new Set(threads.map((thread) => thread.cwdHash).filter(Boolean));
29
30
  const summary = {
@@ -38,6 +39,8 @@ export async function auditCodexSessions(target = defaultCodexHome(), options =
38
39
  indexedThreads: threads.filter((thread) => thread.indexed).length,
39
40
  unindexedRolloutThreads: threads.filter((thread) => !thread.indexed).length,
40
41
  bloatedIndexTitles: threads.filter((thread) => (thread.indexTitleSignals?.length ?? 0) > 0).length,
42
+ subagentSignalFiles: new Set(subagentSignals.map((signal) => signal.path)).size,
43
+ subagentSignals: subagentSignals.reduce((sum, signal) => sum + signal.count, 0),
41
44
  projectRoots: projectKeys.size
42
45
  };
43
46
  return {
@@ -48,6 +51,7 @@ export async function auditCodexSessions(target = defaultCodexHome(), options =
48
51
  summary,
49
52
  files: files.sort((a, b) => b.sizeBytes - a.sizeBytes),
50
53
  threads,
54
+ subagentSignals,
51
55
  stateFiles,
52
56
  findings
53
57
  };
@@ -69,6 +73,8 @@ export function renderSessionAuditMarkdown(result) {
69
73
  `Indexed threads: ${result.summary.indexedThreads}`,
70
74
  `Unindexed rollout threads: ${result.summary.unindexedRolloutThreads}`,
71
75
  `Bloated index titles: ${result.summary.bloatedIndexTitles}`,
76
+ `Subagent lifecycle signal files: ${result.summary.subagentSignalFiles}`,
77
+ `Subagent lifecycle signals: ${result.summary.subagentSignals}`,
72
78
  ""
73
79
  ];
74
80
  if (result.findings.length > 0) {
@@ -105,6 +111,24 @@ export function renderSessionAuditMarkdown(result) {
105
111
  lines.push("");
106
112
  lines.push("This table intentionally avoids printing full workspace paths. `cwdHash` is a short hash of the original path so related threads can be grouped without exposing local directories.", "");
107
113
  }
114
+ lines.push("## Subagent Lifecycle Signals", "");
115
+ if (result.subagentSignals.length === 0) {
116
+ lines.push("No subagent lifecycle signals found in rollout JSONL files.", "");
117
+ }
118
+ else {
119
+ lines.push("| File | Signal | Count | Note |");
120
+ lines.push("| --- | --- | ---: | --- |");
121
+ for (const signal of result.subagentSignals.slice(0, 25)) {
122
+ lines.push([
123
+ `\`${signal.path}\``,
124
+ `\`${signal.kind}\``,
125
+ `${signal.count}`,
126
+ signal.note
127
+ ].map(escapeCell).join(" | ").replace(/^/, "| ").replace(/$/, " |"));
128
+ }
129
+ lines.push("");
130
+ lines.push("This section prints only coarse signal names and counts, not raw private transcript lines.", "");
131
+ }
108
132
  lines.push("## Largest JSONL Files", "");
109
133
  const largest = result.files.slice(0, 10);
110
134
  if (largest.length === 0) {
@@ -212,7 +236,7 @@ async function stateFileInfo(filePath, root) {
212
236
  present: true
213
237
  };
214
238
  }
215
- function buildFindings(files, threads, stateFiles, thresholds) {
239
+ function buildFindings(files, threads, subagentSignals, stateFiles, thresholds) {
216
240
  const findings = [];
217
241
  const rolloutFiles = files.filter((file) => path.basename(file.path).startsWith("rollout-"));
218
242
  const sessionIndex = files.find((file) => path.basename(file.path) === "session_index.jsonl");
@@ -268,6 +292,14 @@ function buildFindings(files, threads, stateFiles, thresholds) {
268
292
  message: `Thread ${thread.id} has a risky session_index title (${thread.indexTitleBytes ?? 0} bytes; ${(thread.indexTitleSignals ?? []).join(", ")}). Large transcript-like titles can make Desktop sidebar/search caches hide or mis-render otherwise recoverable threads.`
269
293
  });
270
294
  }
295
+ for (const signal of subagentSignals.filter((item) => isSubagentWarningSignal(item.kind)).slice(0, 10)) {
296
+ findings.push({
297
+ severity: "warning",
298
+ kind: "subagent_lifecycle_signal",
299
+ path: signal.path,
300
+ message: `${signal.kind} appeared ${signal.count} time(s). ${signal.note}`
301
+ });
302
+ }
271
303
  for (const stateFile of stateFiles.filter((file) => file.path.endsWith(".sqlite"))) {
272
304
  findings.push({
273
305
  severity: "warning",
@@ -278,6 +310,24 @@ function buildFindings(files, threads, stateFiles, thresholds) {
278
310
  }
279
311
  return findings;
280
312
  }
313
+ function buildSubagentSignals(files) {
314
+ const signals = [];
315
+ for (const file of files) {
316
+ for (const kind of SUBAGENT_SIGNAL_KINDS) {
317
+ const count = file.signalCounts[kind] ?? 0;
318
+ if (count === 0) {
319
+ continue;
320
+ }
321
+ signals.push({
322
+ path: file.path,
323
+ kind,
324
+ count,
325
+ note: SUBAGENT_SIGNAL_NOTES[kind]
326
+ });
327
+ }
328
+ }
329
+ return signals.sort((a, b) => a.path.localeCompare(b.path) || a.kind.localeCompare(b.kind));
330
+ }
281
331
  async function readSessionIndex(filePath) {
282
332
  const entries = new Map();
283
333
  const input = createReadStream(filePath, { encoding: "utf8" });
@@ -360,7 +410,17 @@ function countRawSignals(line, signalCounts) {
360
410
  ["tool_call", /tool_call/g],
361
411
  ["thread_resume", /thread\/resume/g],
362
412
  ["thread_goal", /thread\/goal\/get|thread_goals/g],
363
- ["item_not_found", /Item not found in turn state/g]
413
+ ["item_not_found", /Item not found in turn state/g],
414
+ ["spawn_agent", /\bspawn_agent\b/g],
415
+ ["wait_agent", /\bwait_agent\b/g],
416
+ ["close_agent", /\bclose_agent\b/g],
417
+ ["thread_spawn_edges", /\bthread_spawn_edges\b|\bspawn edges?\b/gi],
418
+ ["agent_thread_limit", /\bagent thread limit reached\b|\bagents\.max_threads\b|\bspawn quota\b/gi],
419
+ ["stale_subagent_ui", /\b(stale|orphan(?:ed)?|zombie)\s+subagents?\b|\bSubagents panel\b.{0,120}\b(stale|visible|shows?|listed)\b/gi],
420
+ ["child_recent_thread", /\bsubagent child threads?\b.{0,160}\b(top-level|recent conversations?|sidebar)\b/gi],
421
+ ["compaction_lost_subagents", /\bsubagents?\b.{0,160}\b(compaction|compact(?:ed|ion)?|not aware|forgot|cannot list)\b/gi],
422
+ ["no_agents_completed", /\bNo agents completed yet\b/g],
423
+ ["subagent_notification", /<subagent_notification>|\bsubagent notification\b/gi]
364
424
  ]) {
365
425
  const matches = line.match(pattern);
366
426
  if (matches) {
@@ -368,6 +428,33 @@ function countRawSignals(line, signalCounts) {
368
428
  }
369
429
  }
370
430
  }
431
+ const SUBAGENT_SIGNAL_KINDS = [
432
+ "spawn_agent",
433
+ "wait_agent",
434
+ "close_agent",
435
+ "thread_spawn_edges",
436
+ "agent_thread_limit",
437
+ "stale_subagent_ui",
438
+ "child_recent_thread",
439
+ "compaction_lost_subagents",
440
+ "no_agents_completed",
441
+ "subagent_notification"
442
+ ];
443
+ const SUBAGENT_SIGNAL_NOTES = {
444
+ spawn_agent: "Subagent spawn attempts are present; compare with wait/close and quota evidence.",
445
+ wait_agent: "Subagent wait/readback calls are present; stale waits can diverge from UI state.",
446
+ close_agent: "Subagent close calls are present; check for not_found, pending, or still-visible cards.",
447
+ thread_spawn_edges: "Persisted spawn-edge evidence is present; include status counts when filing lifecycle bugs.",
448
+ agent_thread_limit: "Spawn quota or agent thread limit evidence is present.",
449
+ stale_subagent_ui: "Stale or still-visible subagent UI/cache evidence is present.",
450
+ child_recent_thread: "Child subagent threads may be surfacing as recent/top-level conversations.",
451
+ compaction_lost_subagents: "Compaction or resume may have hidden prior subagent ids from the parent.",
452
+ no_agents_completed: "Parent/readback reported no completed agents despite subagent activity.",
453
+ subagent_notification: "Subagent notification events are present; compare them with wait_agent results."
454
+ };
455
+ function isSubagentWarningSignal(kind) {
456
+ return kind !== "spawn_agent" && kind !== "wait_agent";
457
+ }
371
458
  function countParsedRecord(parsed, recordTypes, signalCounts) {
372
459
  if (!parsed || typeof parsed !== "object") {
373
460
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"sessionAudit.js","sourceRoot":"","sources":["../../src/sessionAudit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAyFrC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAClD,MAAM,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC3C,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAE1H,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAM,GAAG,gBAAgB,EAAE,EAAE,UAA+B,EAAE;IACrG,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QACjB,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,wBAAwB;QAClE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,uBAAuB;KAChE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAuB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,qBAAqB,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAA6B,CAAC;IACtI,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACpG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM;QACtF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM;QAC/F,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM;QACxE,iBAAiB,EAAE,YAAY,EAAE,SAAS;QAC1C,YAAY;QACZ,cAAc,EAAE,OAAO,CAAC,MAAM;QAC9B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;QACjE,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;QAC3E,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;QAClG,YAAY,EAAE,WAAW,CAAC,IAAI;KAC/B,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI;QACJ,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC;QACnC,UAAU;QACV,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACtD,OAAO;QACP,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAA0B;IACnE,MAAM,KAAK,GAAG;QACZ,sCAAsC;QACtC,EAAE;QACF,aAAa,MAAM,CAAC,MAAM,IAAI;QAC9B,EAAE;QACF,WAAW,MAAM,CAAC,IAAI,IAAI;QAC1B,gBAAgB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;QAC3C,kBAAkB,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,EAAE;QACpD,sBAAsB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;QACjD,gBAAgB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;QAC3C,oBAAoB,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE;QAClD,sBAAsB,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;QACtD,oBAAoB,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;QACnD,oBAAoB,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;QACnD,8BAA8B,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE;QACtE,yBAAyB,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC5D,EAAE;KACH,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;QACvG,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG;gBACnB,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,GAAG;gBAC/E,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;aACpC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBACtB,KAAK,MAAM,CAAC,EAAE,IAAI;gBAClB,OAAO,IAAI,EAAE;gBACb,MAAM,CAAC,SAAS,IAAI,EAAE;gBACtB,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC/B,YAAY;gBACZ,KAAK,MAAM,CAAC,cAAc,IAAI;aAC/B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qLAAqL,EAAE,EAAE,CAAC,CAAC;IACxM,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,IAAI,CAAC,IAAI,IAAI;gBACpB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,GAAG,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,GAAG,IAAI,CAAC,eAAe,EAAE;gBACzB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChC,GAAG;aACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACf,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,sBAAsB,EACtB,EAAE,EACF,6JAA6J,EAC7J,yHAAyH,EACzH,+MAA+M,EAC/M,+JAA+J,EAC/J,EAAE,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,UAAU,IAAI,CAAC,SAAiB;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpF,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,OAA+C,CAAC;IAEpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,SAAS,IAAI,CAAC,CAAC;QACf,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC3C,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YACrD,OAAO,KAAK,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9D,SAAS,EAAE,QAAQ,CAAC,IAAI;QACxB,SAAS;QACT,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,YAAY;QACZ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAY;IACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9D,SAAS,EAAE,QAAQ,CAAC,IAAI;QACxB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,KAAyB,EACzB,OAA6B,EAC7B,UAAmC,EACnC,UAA6D;IAE7D,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,qBAAqB,CAAC,CAAC;IAE9F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,iBAAiB,IAAI,CAAC,SAAS,qBAAqB,UAAU,CAAC,cAAc,6BAA6B;aACpH,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,yBAAyB,IAAI,CAAC,gBAAgB,qBAAqB,UAAU,CAAC,aAAa,kBAAkB;aACvH,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,qCAAqC;aACtE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAC5F,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,2BAA2B,YAAY,CAAC,SAAS,cAAc,YAAY,CAAC,MAAM,kEAAkE;SAC9J,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,kBAAkB,MAAM,CAAC,EAAE,kIAAkI;aACvK,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtG,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,UAAU,MAAM,CAAC,EAAE,qCAAqC,MAAM,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0HAA0H;SAC7Q,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnF,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,4HAA4H;SACtI,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC3D,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,SAAS;YACX,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACd,EAAE;gBACF,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACjE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB,EAAE,YAA4C;IAC3F,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;SACjF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAqC,CAAC;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,OAAO,KAAK,SAAS;YAC9B,UAAU,EAAE,OAAO,EAAE,KAAK;YAC1B,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACtF,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,cAAc,EAAE,OAAO,EAAE,SAAS;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc,EAAE,gBAAgB,OAAO,CAAC,EAAE,EAAE;SAC7C,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe;IAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7H,MAAM,EAAE,GAAG,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,OAAO;QACL,EAAE;QACF,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;QAC5D,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACtF,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC;QAC5C,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC;QAC7C,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,YAAoC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI;QAC3B,CAAC,aAAa,EAAE,cAAc,CAAC;QAC/B,CAAC,eAAe,EAAE,gBAAgB,CAAC;QACnC,CAAC,WAAW,EAAE,YAAY,CAAC;QAC3B,CAAC,eAAe,EAAE,iBAAiB,CAAC;QACpC,CAAC,aAAa,EAAE,iCAAiC,CAAC;QAClD,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;KAC3C,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAe,EAAE,WAAmC,EAAE,YAAoC;IACnH,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACpE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAA+B,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA+B;IACxD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,OAA+B;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,MAAiB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,IAAI,IAAI,uBAAuB,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,kDAAkD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kDAAkD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,8FAA8F,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/G,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,uDAAuD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC;AAED,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"sessionAudit.js","sourceRoot":"","sources":["../../src/sessionAudit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Evidence, TraceInput } from "./types.js";
2
2
  export type UsageEvidenceStatus = "pass" | "warn";
3
- export type UsageEvidenceFindingKind = "reset_timestamp_drift" | "quota_percentage_jump" | "usage_limit_with_remaining_quota" | "high_cached_input" | "high_total_tokens" | "orchestration_overhead_signal" | "rapid_quota_drain_experiment";
3
+ export type UsageEvidenceFindingKind = "reset_timestamp_drift" | "quota_percentage_jump" | "usage_limit_with_remaining_quota" | "high_cached_input" | "prompt_cache_collapse" | "high_total_tokens" | "orchestration_overhead_signal" | "rapid_quota_drain_experiment";
4
4
  export interface UsageSnapshot {
5
5
  source: string;
6
6
  line: number;
@@ -20,6 +20,31 @@ export interface TokenUsageRecord {
20
20
  reasoning?: number;
21
21
  excerpt: string;
22
22
  }
23
+ export interface PromptCacheRecord {
24
+ source: string;
25
+ line: number;
26
+ inputTokens?: number;
27
+ cachedInputTokens?: number;
28
+ cacheHitPercent?: number;
29
+ promptCacheKey?: string;
30
+ responseId?: string;
31
+ transport?: string;
32
+ outcome?: string;
33
+ excerpt: string;
34
+ }
35
+ export interface PromptCacheCollapseEvent {
36
+ source: string;
37
+ line: number;
38
+ previousLine: number;
39
+ inputTokens?: number;
40
+ cachedInputTokens: number;
41
+ previousCachedInputTokens: number;
42
+ dropPercent: number;
43
+ promptCacheKey?: string;
44
+ responseId?: string;
45
+ previousResponseId?: string;
46
+ excerpt: string;
47
+ }
23
48
  export type UsageOverheadKind = "background_polling" | "compaction_loop" | "retry_or_tool_loop" | "subagent_fanout" | "idle_drain";
24
49
  export interface UsageOverheadSignal {
25
50
  kind: UsageOverheadKind;
@@ -56,6 +81,7 @@ export interface UsageReceipt {
56
81
  };
57
82
  drainExperiments: UsageDrainExperiment[];
58
83
  overheadSignals: UsageOverheadSignal[];
84
+ cacheCollapseEvents: PromptCacheCollapseEvent[];
59
85
  suspectedCauses: string[];
60
86
  }
61
87
  export interface UsageEvidenceFinding {
@@ -76,11 +102,15 @@ export interface UsageEvidenceResult {
76
102
  usageLimitSignals: number;
77
103
  resetDriftWindows: number;
78
104
  highCachedInputRecords: number;
105
+ cacheRecords: number;
106
+ cacheCollapseEvents: number;
79
107
  drainExperiments: number;
80
108
  overheadSignals: number;
81
109
  };
82
110
  snapshots: UsageSnapshot[];
83
111
  tokenUsage: TokenUsageRecord[];
112
+ cacheRecords: PromptCacheRecord[];
113
+ cacheCollapseEvents: PromptCacheCollapseEvent[];
84
114
  drainExperiments: UsageDrainExperiment[];
85
115
  receipt: UsageReceipt;
86
116
  findings: UsageEvidenceFinding[];