clawprobe 1.2.2 → 1.3.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/README.md CHANGED
@@ -15,7 +15,7 @@ Token usage. API cost. Context health. Smart alerts. All in one place — withou
15
15
 
16
16
  If you find clawprobe useful, please consider giving it a ⭐ on [GitHub](https://github.com/seekcontext/ClawProbe) — it really helps!
17
17
 
18
- [English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md)
18
+ [English](./README.md) · [简体中文](./README.zh-CN.md)
19
19
 
20
20
  [Why clawprobe](#why-clawprobe) •
21
21
  [Quick Start](#quick-start) •
@@ -146,39 +146,34 @@ clawprobe top --agent coder # target a specific agent
146
146
 
147
147
  ### `clawprobe live` — Real-Time Activity Stream
148
148
 
149
- Open it in a side terminal to watch every tool call as it happens not a refreshing dashboard, but a **live append-only feed** of exactly what the agent is doing: which files it's reading, which commands it's running, when it's thinking, and when a turn completes.
149
+ Run it in a side terminal: each turn has a header (optional user preview), a wait line that matches your session (`waiting for assistant…` vs `reasoning (pending)…`), tool calls, **`└─ ok` / `└─ error`** result lines with duration and exit code when the transcript includes them, then **`done`** with tokens. Model and thinking level come from `session_meta` lines in the JSONL.
150
150
 
151
151
  ```
152
152
  $ clawprobe live
153
153
 
154
- clawprobe live ─ agent:main:workspace:… moonshot/kimi-k2.5 q to quit
155
-
156
- ─── Turn 1 03/24 16:41 ─────────────────────────────────────────────────────
157
- 💭 thinking
158
- 📖 Read src/auth/middleware.ts
159
- ✏️ Edit src/auth/middleware.ts
160
- 📖 Read src/auth/token.ts
161
- ✏️ Edit src/auth/token.ts
162
- 💻 Bash npm test
163
- ⚠ Bash failed — exit code 1
164
- 💻 Bash npm test -- --filter auth
165
- ✓ Turn done +1,247 tokens out
166
-
167
- ─── Turn 2 03/24 16:43 ─────────────────────────────────────────────────────
168
- 💭 thinking…
169
- 📖 Read src/auth/token.ts
154
+ 16:41:02 model moonshot/kimi-k2.5 · thinking off
155
+
156
+ 16:41:10 ● Turn 1
157
+ waiting for assistant
158
+ 16:41:12 📖 read SKILL.md
159
+ └─ ok 15.2s exit 0
160
+ 16:41:28 💻 exec curl wttr.in/…
161
+ └─ ok 0.6s exit 0
162
+ 16:41:29 ● done +263 tok
170
163
  ```
171
164
 
172
165
  Unlike `clawprobe top` (periodic full-screen refresh), `live` is chronological and scrollable — you can scroll back to see what happened earlier in the session.
173
166
 
174
167
  ```bash
175
- clawprobe live # watch the active session from now
176
- clawprobe live --history # replay all turns from session start
177
- clawprobe live --agent coder # target a specific agent
178
- clawprobe live --file <path> # watch a specific .jsonl transcript
168
+ clawprobe live # watch the active session from now
169
+ clawprobe live --history # replay from session start
170
+ clawprobe live --density compact # tools only; hide successful result lines
171
+ clawprobe live --density verbose # + stopReason, tool call ids, result previews
172
+ clawprobe live --plain # ASCII-friendly (no emoji)
173
+ clawprobe live --file <path> # watch a specific .jsonl transcript
179
174
  ```
180
175
 
181
- `q` or `Ctrl+C` to quit.
176
+ Interactive keys: **`+` / `-`** cycle density, **`h`** help, **`q`** or **`Ctrl+C`** quit.
182
177
 
183
178
  ---
184
179
 
package/README.zh-CN.md CHANGED
@@ -15,7 +15,7 @@ Token 用量、API 成本、上下文健康度、智能告警 —— 一站式
15
15
 
16
16
  如果你觉得 clawprobe 有用,欢迎在 [GitHub](https://github.com/seekcontext/ClawProbe) 上给它点个 ⭐ —— 这对项目很有帮助!
17
17
 
18
- [English](./README.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja.md)
18
+ [English](./README.md) · [简体中文](./README.zh-CN.md)
19
19
 
20
20
  [为什么选择 clawprobe](#为什么选择-clawprobe) •
21
21
  [快速开始](#快速开始) •
@@ -1,8 +1,11 @@
1
1
  import { ResolvedConfig } from "../../core/config.js";
2
+ export type LiveDensity = "compact" | "normal" | "verbose";
2
3
  interface LiveOptions {
3
4
  agent?: string;
4
5
  history?: boolean;
5
6
  file?: string;
7
+ density?: LiveDensity;
8
+ plain?: boolean;
6
9
  }
7
10
  export declare function runLive(cfg: ResolvedConfig, opts: LiveOptions): Promise<void>;
8
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/live.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAatD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA+GD,wBAAsB,OAAO,CAC3B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CAqHf"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/live.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAatD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA2PD,wBAAsB,OAAO,CAC3B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC,CA4Jf"}
@@ -4,6 +4,47 @@ import chalk from "chalk";
4
4
  import { getActiveSession, findJsonlPath, } from "../../core/session-store.js";
5
5
  import { startLiveStream, findMostRecentJsonl, getToolIcon, } from "../../core/live-stream.js";
6
6
  import { LOCAL_TZ } from "../format.js";
7
+ function glyphsFor(plain) {
8
+ if (plain) {
9
+ return {
10
+ turn: "*",
11
+ done: "+",
12
+ compact: "#",
13
+ subagent: ">",
14
+ tree: "+--",
15
+ reasoning: "~",
16
+ awaiting: "...",
17
+ };
18
+ }
19
+ return {
20
+ turn: "●",
21
+ done: "●",
22
+ compact: "◆",
23
+ subagent: "◇",
24
+ tree: "└─",
25
+ reasoning: "·",
26
+ awaiting: "…",
27
+ };
28
+ }
29
+ function toolIcon(name, plain) {
30
+ if (plain) {
31
+ const map = {
32
+ read: "[R]",
33
+ write: "[W]",
34
+ edit: "[E]",
35
+ exec: "[$]",
36
+ glob: "[G]",
37
+ web_search: "[S]",
38
+ web_fetch: "[U]",
39
+ memory_search: "[M]",
40
+ memory_get: "[m]",
41
+ message: "[@]",
42
+ sessions_spawn: "[A]",
43
+ };
44
+ return map[name] ?? "[?]";
45
+ }
46
+ return getToolIcon(name);
47
+ }
7
48
  // ── Formatting helpers ────────────────────────────────────────────────────────
8
49
  function fmtTime(ms) {
9
50
  return new Intl.DateTimeFormat("en-US", {
@@ -21,55 +62,115 @@ function fmtTokens(n) {
21
62
  return `${(n / 1_000).toFixed(1)}K`;
22
63
  return String(n);
23
64
  }
24
- // ── Event renderer ────────────────────────────────────────────────────────────
25
- /**
26
- * Returns the string to print for a given LiveEvent, or null to skip.
27
- * The W parameter is the terminal width for truncating long summaries.
28
- */
29
- function renderEvent(event, W) {
65
+ function fmtDuration(ms) {
66
+ if (ms == null || ms < 0)
67
+ return "";
68
+ if (ms >= 1000)
69
+ return `${(ms / 1000).toFixed(1)}s`;
70
+ return `${Math.round(ms)}ms`;
71
+ }
72
+ function renderEvent(event, o) {
30
73
  const time = fmtTime(event.timestamp);
31
- // Invisible padding matching the time string length for continuation lines
32
74
  const pad = " ".repeat(time.length);
75
+ const dim = (s) => (o.color ? chalk.dim(s) : s);
76
+ const bold = (s) => (o.color ? chalk.bold(s) : s);
77
+ const cyan = (s) => (o.color ? chalk.cyan(s) : s);
78
+ const green = (s) => (o.color ? chalk.green(s) : s);
79
+ const red = (s) => (o.color ? chalk.red(s) : s);
80
+ const yellow = (s) => (o.color ? chalk.yellow(s) : s);
81
+ const magenta = (s) => (o.color ? chalk.magenta(s) : s);
33
82
  switch (event.kind) {
34
- case "turn_start":
35
- return ("\n" +
36
- chalk.bold(` ${time} ● Turn ${event.turnIndex ?? "?"}`));
37
- case "thinking":
38
- return chalk.dim(` ${pad} 🤔 Thinking...`);
83
+ case "session_meta": {
84
+ const parts = [];
85
+ if (event.model)
86
+ parts.push(`model ${event.model}`);
87
+ if (event.thinkingLevel)
88
+ parts.push(`thinking ${event.thinkingLevel}`);
89
+ if (parts.length === 0)
90
+ return null;
91
+ return dim(` ${time} ${o.glyphs.compact} ${parts.join(" · ")}`);
92
+ }
93
+ case "turn_start": {
94
+ const lines = [];
95
+ const head = o.density === "compact"
96
+ ? `\n${bold(` ${time} ${o.glyphs.turn} T${event.turnIndex ?? "?"}`)}`
97
+ : `\n${bold(` ${time} ${o.glyphs.turn} Turn ${event.turnIndex ?? "?"}`)}`;
98
+ lines.push(head);
99
+ if (o.density !== "compact" &&
100
+ event.userPreview &&
101
+ event.userPreview.length > 0) {
102
+ const maxU = Math.max(24, o.W - 8);
103
+ lines.push(dim(` ${pad} ${event.userPreview.slice(0, maxU)}`));
104
+ }
105
+ return lines.join("\n");
106
+ }
107
+ case "thinking": {
108
+ if (event.thinkingContent) {
109
+ const maxLen = Math.max(20, o.W - 18);
110
+ const snippet = event.thinkingContent.slice(0, maxLen);
111
+ const prefix = o.plain ? `${o.glyphs.reasoning} ` : "· ";
112
+ return dim(` ${time} ${prefix}${snippet}`);
113
+ }
114
+ if (event.pendingKind === "reasoning_pending") {
115
+ return dim(` ${pad} ${o.glyphs.awaiting} reasoning (pending)…`);
116
+ }
117
+ if (event.pendingKind === "awaiting") {
118
+ return dim(` ${pad} ${o.glyphs.awaiting} waiting for assistant…`);
119
+ }
120
+ return dim(` ${pad} ${o.glyphs.awaiting} waiting…`);
121
+ }
39
122
  case "tool_call": {
40
- const icon = getToolIcon(event.tool ?? "");
123
+ const icon = toolIcon(event.tool ?? "", o.plain);
41
124
  const nameRaw = event.tool ?? "unknown";
42
- // Pad to align summaries: use 16 chars to accommodate OpenClaw names like "memory_search"
43
125
  const PAD = 16;
44
126
  const namePadded = nameRaw + " ".repeat(Math.max(0, PAD - nameRaw.length));
45
- const name = chalk.cyan(namePadded);
46
- const maxSummaryLen = Math.max(15, W - (10 + PAD + 6));
127
+ const name = cyan(namePadded);
128
+ const maxSummaryLen = Math.max(15, o.W - (10 + PAD + 8));
47
129
  const summary = event.toolSummary
48
- ? chalk.dim(event.toolSummary.slice(0, maxSummaryLen))
130
+ ? dim(event.toolSummary.slice(0, maxSummaryLen))
131
+ : "";
132
+ const idSuffix = o.density === "verbose" && event.toolCallId
133
+ ? dim(` ${event.toolCallId}`)
49
134
  : "";
50
- return ` ${time} ${icon} ${name}${summary}`;
135
+ return ` ${time} ${icon} ${name}${summary}${idSuffix}`;
51
136
  }
52
- case "tool_result":
53
- // Only surface errors — success is implicit and would be too noisy
137
+ case "tool_result": {
54
138
  if (event.toolError) {
55
- return chalk.red(` ${pad} ✗ error`);
139
+ const dur = fmtDuration(event.durationMs);
140
+ const durPart = dur ? ` ${dur}` : "";
141
+ const ex = event.exitCode != null ? ` exit ${event.exitCode}` : "";
142
+ return red(` ${pad} ${o.glyphs.tree} error${durPart}${ex}`);
56
143
  }
57
- return null;
144
+ if (o.density === "compact")
145
+ return null;
146
+ const dur = fmtDuration(event.durationMs);
147
+ const durPart = dur ? dim(` ${dur}`) : "";
148
+ const ex = event.exitCode != null ? dim(` exit ${event.exitCode}`) : "";
149
+ const ok = o.color ? chalk.greenBright("ok") : "ok";
150
+ let line = ` ${pad} ${o.glyphs.tree} ${ok}${durPart}${ex}`;
151
+ if (o.density === "verbose" && event.resultPreview) {
152
+ const maxR = Math.max(20, o.W - 12);
153
+ line += `\n ${pad} ${dim(event.resultPreview.slice(0, maxR))}`;
154
+ }
155
+ return line;
156
+ }
58
157
  case "turn_end": {
59
158
  const toks = event.tokensOut
60
- ? chalk.dim(` +${fmtTokens(event.tokensOut)} tok`)
159
+ ? dim(` +${fmtTokens(event.tokensOut)} tok`)
61
160
  : "";
62
- return chalk.green(` ${time} ● done${toks}`);
161
+ const sr = o.density === "verbose" && event.stopReason
162
+ ? dim(` ${event.stopReason}`)
163
+ : "";
164
+ return green(` ${time} ${o.glyphs.done} done${toks}${sr}`);
63
165
  }
64
166
  case "compaction":
65
- return chalk.yellow(` ${time} compact (context summarized)`);
167
+ return yellow(` ${time} ${o.glyphs.compact} compact (context summarized)`);
66
168
  case "subagent_start": {
67
169
  const summary = event.toolSummary
68
- ? chalk.dim(` ${event.toolSummary.slice(0, Math.max(15, W - 38))}`)
170
+ ? dim(` ${event.toolSummary.slice(0, Math.max(15, o.W - 40))}`)
69
171
  : "";
70
- return chalk.magenta(` ${time} 🤖 subagent${summary}`);
172
+ return magenta(` ${time} ${o.glyphs.subagent} subagent${summary}`);
71
173
  }
72
- // session_start is printed as a header block by the main loop
73
174
  case "session_start":
74
175
  return null;
75
176
  default:
@@ -77,23 +178,27 @@ function renderEvent(event, W) {
77
178
  }
78
179
  }
79
180
  // ── Session header ────────────────────────────────────────────────────────────
80
- function printSessionHeader(sessionKey, jsonlPath, W) {
81
- const hr = chalk.dim("─".repeat(W));
181
+ function printSessionHeader(sessionKey, jsonlPath, W, color) {
182
+ const hr = color ? chalk.dim("─".repeat(W)) : "─".repeat(W);
82
183
  const maxKeyLen = W - 14;
83
184
  const shortKey = sessionKey.length > maxKeyLen
84
185
  ? sessionKey.slice(0, maxKeyLen - 3) + "…"
85
186
  : sessionKey;
86
187
  const fileName = path.basename(jsonlPath);
188
+ const b = (s) => (color ? chalk.bold(s) : s);
189
+ const d = (s) => (color ? chalk.dim(s) : s);
87
190
  console.log(hr);
88
- console.log(` ${chalk.bold("Session:")} ${chalk.dim(shortKey)}`);
89
- console.log(chalk.dim(` file: ${fileName}`));
191
+ console.log(` ${b("Session:")} ${d(shortKey)}`);
192
+ console.log(d(` file: ${fileName}`));
90
193
  console.log(hr);
91
194
  }
92
- // ── Main command ──────────────────────────────────────────────────────────────
195
+ // ── Main command ─────────────────────────────────────────────────────────────
93
196
  export async function runLive(cfg, opts) {
94
197
  const W = process.stdout.columns || 80;
95
- const hr = chalk.dim("".repeat(W));
96
- // Title bar
198
+ const color = !!opts.plain ? false : !process.env["NO_COLOR"] && process.stdout.isTTY;
199
+ let density = opts.density ?? "normal";
200
+ const plain = !!opts.plain;
201
+ const hr = color ? chalk.dim("─".repeat(W)) : "─".repeat(W);
97
202
  const nowStr = new Intl.DateTimeFormat("en-US", {
98
203
  timeZone: LOCAL_TZ,
99
204
  year: "numeric",
@@ -106,26 +211,26 @@ export async function runLive(cfg, opts) {
106
211
  })
107
212
  .format(new Date())
108
213
  .replace(",", "");
109
- const titleText = "clawprobe live streaming (q / Ctrl+C to quit)";
214
+ const titleText = "clawprobe live (+/- density · h help · q quit)";
110
215
  const titlePad = Math.max(0, W - titleText.length - nowStr.length);
111
- console.log(chalk.bold("clawprobe live") +
112
- chalk.dim(" streaming (q / Ctrl+C to quit)") +
216
+ const title = (color ? chalk.bold("clawprobe live") : "clawprobe live") +
217
+ (color
218
+ ? chalk.dim(" (+/- density · h help · q quit)")
219
+ : " (+/- density · h help · q quit)") +
113
220
  " ".repeat(titlePad) +
114
- chalk.dim(nowStr));
221
+ (color ? chalk.dim(nowStr) : nowStr);
222
+ console.log(title);
115
223
  console.log(hr);
116
224
  console.log();
117
- // ── Resolve JSONL path ──────────────────────────────────────────────────────
118
225
  let jsonlPath = null;
119
- // Explicit --file override
120
226
  if (opts.file) {
121
227
  if (!fs.existsSync(opts.file)) {
122
- console.error(chalk.red(`Error: file not found: ${opts.file}`));
228
+ console.error(color ? chalk.red(`Error: file not found: ${opts.file}`) : `Error: file not found: ${opts.file}`);
123
229
  process.exit(1);
124
230
  }
125
231
  jsonlPath = opts.file;
126
232
  }
127
233
  else {
128
- // Auto-detect: prefer sessions.json active session, fall back to most recent file
129
234
  const sessionEntry = getActiveSession(cfg.sessionsDir);
130
235
  if (sessionEntry) {
131
236
  jsonlPath = findJsonlPath(cfg.sessionsDir, sessionEntry);
@@ -135,21 +240,23 @@ export async function runLive(cfg, opts) {
135
240
  }
136
241
  }
137
242
  if (!jsonlPath) {
138
- console.log(chalk.dim(" No active session found.\n" +
139
- " Start OpenClaw, send a message, then run clawprobe live again."));
243
+ console.log(color
244
+ ? chalk.dim(" No active session found.\n" +
245
+ " Start OpenClaw, send a message, then run clawprobe live again.")
246
+ : " No active session found.\n Start OpenClaw, send a message, then run clawprobe live again.");
140
247
  return;
141
248
  }
142
- // Determine session key for display
143
249
  const sessionEntry = getActiveSession(cfg.sessionsDir);
144
250
  const displayKey = sessionEntry?.sessionKey ?? path.basename(jsonlPath, ".jsonl");
145
- printSessionHeader(displayKey, jsonlPath, W);
251
+ printSessionHeader(displayKey, jsonlPath, W, color);
146
252
  if (opts.history) {
147
- console.log(chalk.dim(" (replaying history…)\n"));
253
+ console.log(color ? chalk.dim(" (replaying history…)\n") : " (replaying history…)\n");
148
254
  }
149
255
  else {
150
- console.log(chalk.dim(" Watching for new events. Start an OpenClaw turn to see activity.\n"));
256
+ console.log(color
257
+ ? chalk.dim(" Watching for new events. Claude Code–style timeline: tools show results; thinking only when enabled.\n")
258
+ : " Watching for new events.\n");
151
259
  }
152
- // ── Keyboard: quit on 'q' or Ctrl+C ────────────────────────────────────────
153
260
  const controller = new AbortController();
154
261
  function quit() {
155
262
  controller.abort();
@@ -160,9 +267,30 @@ export async function runLive(cfg, opts) {
160
267
  catch { /* ignore */ }
161
268
  }
162
269
  process.stdin.pause();
163
- console.log("\n" + chalk.dim(" stopped."));
270
+ console.log("\n" + (color ? chalk.dim(" stopped.") : " stopped."));
164
271
  process.exit(0);
165
272
  }
273
+ function cycleDensity(dir) {
274
+ const order = ["compact", "normal", "verbose"];
275
+ const i = order.indexOf(density);
276
+ const next = (i + dir + order.length) % order.length;
277
+ density = order[next];
278
+ const label = color
279
+ ? chalk.dim(` [density: ${density}]`)
280
+ : ` [density: ${density}]`;
281
+ console.log(label);
282
+ }
283
+ function printHelp() {
284
+ const lines = [
285
+ " h, ? this help",
286
+ " + more verbose (compact → normal → verbose)",
287
+ " - less verbose",
288
+ " q quit",
289
+ ];
290
+ for (const L of lines) {
291
+ console.log(color ? chalk.dim(L) : L);
292
+ }
293
+ }
166
294
  if (process.stdin.isTTY) {
167
295
  process.stdin.setRawMode(true);
168
296
  process.stdin.resume();
@@ -170,17 +298,28 @@ export async function runLive(cfg, opts) {
170
298
  process.stdin.on("data", (key) => {
171
299
  if (key === "q" || key === "\u0003")
172
300
  quit();
301
+ if (key === "+" || key === "=")
302
+ cycleDensity(1);
303
+ if (key === "-" || key === "_")
304
+ cycleDensity(-1);
305
+ if (key === "h" || key === "?" || key === "H")
306
+ printHelp();
173
307
  });
174
308
  }
175
309
  process.on("SIGINT", quit);
176
310
  process.on("SIGTERM", quit);
177
- // ── Stream loop ─────────────────────────────────────────────────────────────
178
311
  await startLiveStream(jsonlPath, (event) => {
179
- const line = renderEvent(event, W);
312
+ const glyphs = glyphsFor(plain);
313
+ const line = renderEvent(event, {
314
+ W,
315
+ density,
316
+ plain,
317
+ color,
318
+ glyphs,
319
+ });
180
320
  if (line !== null) {
181
321
  console.log(line);
182
322
  }
183
- }, controller.signal, !opts.history // skipHistory = true unless --history flag is set
184
- );
323
+ }, controller.signal, !opts.history);
185
324
  }
186
325
  //# sourceMappingURL=live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/cli/commands/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,WAAW,GAEZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQxC,iFAAiF;AAEjF,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACtC,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAgB,EAAE,CAAS;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,2EAA2E;IAC3E,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,CACL,IAAI;gBACJ,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,KAAK,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAC1D,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAC;QAE/C,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;YACxC,0FAA0F;YAC1F,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;gBAC/B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;QAChD,CAAC;QAED,KAAK,aAAa;YAChB,mEAAmE;YACnE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,4BAA4B,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,IAAI,CAAC;QAEd,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS;gBAC1B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mCAAmC,CAAC,CAAC;QAEpE,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW;gBAC/B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpE,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,gBAAgB,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,8DAA8D;QAC9D,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC;QAEd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,kBAAkB,CACzB,UAAkB,EAClB,SAAiB,EACjB,CAAS;IAET,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,GAAG,SAAS;QAC3B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG;QAC1C,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAmB,EACnB,IAAiB;IAEjB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpC,YAAY;IACZ,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC9C,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;KACd,CAAC;SACC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SAClB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEpB,MAAM,SAAS,GAAG,iDAAiD,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC;QAC9C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CACpB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,+EAA+E;IAE/E,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,2BAA2B;IAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,kFAAkF;QAClF,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,8BAA8B;YAC5B,kEAAkE,CACrE,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,UAAU,GACd,YAAY,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEjE,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAClF,CAAC;IACJ,CAAC;IAED,8EAA8E;IAE9E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,SAAS,IAAI;QACX,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;YACvC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ;gBAAE,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE5B,+EAA+E;IAE/E,MAAM,eAAe,CACnB,SAAS,EACT,CAAC,KAAgB,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,UAAU,CAAC,MAAM,EACjB,CAAC,IAAI,CAAC,OAAO,CAAE,kDAAkD;KAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../src/cli/commands/live.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,67 @@
1
1
  import type { JournalEntry } from "./jsonl-parser.js";
2
- export type LiveEventKind = "session_start" | "turn_start" | "thinking" | "tool_call" | "tool_result" | "turn_end" | "compaction" | "subagent_start";
2
+ export type LiveEventKind = "session_start" | "session_meta" | "turn_start" | "thinking" | "tool_call" | "tool_result" | "turn_end" | "compaction" | "subagent_start";
3
+ /** Speculative phase after user message, before JSONL assistant row (honest vs Claude-style UX). */
4
+ export type LivePendingKind = "awaiting" | "reasoning_pending";
3
5
  export interface LiveEvent {
4
6
  kind: LiveEventKind;
5
7
  /** Unix milliseconds */
6
8
  timestamp: number;
7
- /** Tool name (tool_call / subagent_start) */
9
+ /** Tool name (tool_call / tool_result / subagent_start) */
8
10
  tool?: string;
11
+ /** OpenClaw / Claude tool call id (pair call ↔ result) */
12
+ toolCallId?: string;
9
13
  /** Human-readable summary of tool input */
10
14
  toolSummary?: string;
11
15
  /** Whether the tool result was an error (tool_result) */
12
16
  toolError?: boolean;
13
17
  /** Turn counter since stream started */
14
18
  turnIndex?: number;
19
+ /** One-line user text after stripping channel metadata (turn_start) */
20
+ userPreview?: string;
15
21
  /** Output tokens (turn_end) */
16
22
  tokensOut?: number;
17
23
  /** Model name (tool_call / turn_end) */
18
24
  model?: string;
25
+ /** API stop reason when present (turn_end) */
26
+ stopReason?: string;
27
+ /** Actual thinking content snippet (thinking event, when available from JSONL) */
28
+ thinkingContent?: string;
29
+ /** Synthetic “waiting” line after turn_start — never labeled “thinking” when reasoning is off */
30
+ pendingKind?: LivePendingKind;
31
+ /** session_meta: thinking level from JSONL */
32
+ thinkingLevel?: string;
33
+ /** session_meta: provider id */
34
+ provider?: string;
35
+ /** Tool result: wall time from OpenClaw details */
36
+ durationMs?: number;
37
+ /** Tool result: process exit code when present */
38
+ exitCode?: number | null;
39
+ /** Tool result: truncated stdout-style preview (verbose mode) */
40
+ resultPreview?: string;
19
41
  }
20
42
  export declare function getToolIcon(name: string): string;
21
43
  export declare function summarizeToolInput(name: string, input: Record<string, unknown>): string;
22
- interface ParseCtx {
44
+ export interface LiveParseCtx {
23
45
  turnCounter: number;
46
+ /** Latest effective thinking level from JSONL (`unknown` until first `thinking_level_change`) */
47
+ thinkingLevel: string;
48
+ /** e.g. moonshot/kimi-k2.5 */
49
+ modelLabel: string | null;
50
+ provider: string | null;
24
51
  }
25
- export declare function entryToLiveEvents(entry: JournalEntry, ctx: ParseCtx): LiveEvent[];
52
+ export declare function createLiveParseCtx(): LiveParseCtx;
53
+ /** True when the session may emit reasoning blocks (not “off”). */
54
+ export declare function isReasoningLevelEnabled(level: string): boolean;
55
+ /**
56
+ * Apply OpenClaw journal rows that affect session display (before message parsing).
57
+ * Mutates ctx; returns a session_meta event when something changed.
58
+ */
59
+ export declare function applyJournalMeta(entry: JournalEntry, ctx: LiveParseCtx): LiveEvent | null;
60
+ /**
61
+ * Strip Feishu/Telegram-style wrappers; return a one-line preview for the turn header.
62
+ */
63
+ export declare function extractUserPreview(content: unknown[]): string | undefined;
64
+ export declare function entryToLiveEvents(entry: JournalEntry, ctx: LiveParseCtx): LiveEvent[];
26
65
  /**
27
66
  * Tail a JSONL file, parsing new entries every 100ms and emitting LiveEvents.
28
67
  *
@@ -35,5 +74,4 @@ export declare function startLiveStream(filePath: string, onEvent: (event: LiveE
35
74
  * Falls back to the most recent file overall.
36
75
  */
37
76
  export declare function findMostRecentJsonl(sessionsDir: string): string | null;
38
- export {};
39
77
  //# sourceMappingURL=live-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live-stream.d.ts","sourceRoot":"","sources":["../../src/core/live-stream.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAIhF,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,YAAY,GACZ,UAAU,GACV,WAAW,GACX,aAAa,GACb,UAAU,GACV,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAQD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAgFR;AAID,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAwBD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,QAAQ,GACZ,SAAS,EAAE,CA8Eb;AAMD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,EACnC,MAAM,EAAE,WAAW,EACnB,WAAW,UAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBtE"}
1
+ {"version":3,"file":"live-stream.d.ts","sourceRoot":"","sources":["../../src/core/live-stream.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAIhF,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,cAAc,GACd,YAAY,GACZ,UAAU,GACV,WAAW,GACX,aAAa,GACb,UAAU,GACV,YAAY,GACZ,gBAAgB,CAAC;AAErB,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAoCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAQD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAgFR;AAwBD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAOjD;AAED,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,YAAY,GAChB,SAAS,GAAG,IAAI,CAoClB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,SAAS,CAczE;AAyCD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,YAAY,GAChB,SAAS,EAAE,CA0Ib;AAMD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,EACnC,MAAM,EAAE,WAAW,EACnB,WAAW,UAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBtE"}