wezard 2.0.6 → 2.1.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.
@@ -11,6 +11,7 @@
11
11
  // attachments) and the graph runner (which drives them) both compose on top.
12
12
  import { existsSync, openSync, readSync, closeSync, statSync } from "node:fs";
13
13
  import { backendForPath } from "../shared/cli-backends.js";
14
+ import { truncate, truncateWithCount } from "../shared/std.js";
14
15
  /** Strip ANSI SGR/CSI + OSC so captured pane text is safe to embed / match on. */
15
16
  export const stripAnsi = (s) => s.replace(/\x1B\[[0-9;?]*[a-zA-Z]/g, "").replace(/\x1B\][^\x07]*\x07/g, "");
16
17
  // ── Transcript tail ───────────────────────────────────────────────────
@@ -77,6 +78,8 @@ const META_RE = /<(system-reminder|command-[^>]*|local-command-[^>]*|task-notifi
77
78
  // 壳是传输的产物不是内容: 只剥标签, 里面的话原样留下。
78
79
  const PASTED_TAG_RE = /<pasted_content id="[^"]*">\n?|\n?<\/pasted_content(?:\s+id="[^"]*")?>/g;
79
80
  export const unwrapPasted = (s) => s.replace(PASTED_TAG_RE, "");
81
+ /** 一段落盘的输入 → 人真正说的那句话: 去粘贴壳, 去信封 / 名册增量 / slash 包装。 */
82
+ export const stripMeta = (s) => unwrapPasted(s).replace(META_RE, "");
80
83
  const blockText = (content) => {
81
84
  if (typeof content === "string")
82
85
  return content;
@@ -90,6 +93,39 @@ const blockText = (content) => {
90
93
  /** Last `n` user/assistant turns of a transcript, oldest first. Backend-agnostic:
91
94
  * the line shape is normalized through the owning CLI's dialect adapter. */
92
95
  export const tailTurns = (jsonlPath, n = 3, keepLines = false) => readTailUntil(jsonlPath, (raw) => parseTurns(jsonlPath, raw, keepLines), (ts) => ts.length >= n).slice(-n);
96
+ /** `tailTurns` 去掉保温 ping/pong 之后的最后 `n` 轮 —— 凡是交给另一个 wizard (或人)
97
+ * **读**的都走这里: 挂机一晚的会话尾巴上全是 ping/pong, 照 tailTurns 数出来的
98
+ * 「最近 6 轮」一句真话都没有, 「最后一条回复」是一个 pong。`pingSigs` 只给保温
99
+ * 那一种 —— resumePing ("continue") 之后模型是真的在干活, 那一轮不能丢。 */
100
+ export const talkTurns = (jsonlPath, n, pingSigs = [], keepLines = false) => {
101
+ const clean = (ts) => withoutKeepalive(ts, pingSigs);
102
+ return clean(readTailUntil(jsonlPath, (raw) => parseTurns(jsonlPath, raw, keepLines), (ts) => clean(ts).length >= n)).slice(-n);
103
+ };
104
+ /** 一个会话的来回, 每个来回 = 一句问话 + 它之后的全部回答 (途中的话在前, 终句在
105
+ * 最后), 旧的在前。读多深由时间窗定, 调用方再按时刻与条数裁:
106
+ * 给了 `since` → 一直读到比它更早的那一句 (窗口内的一句不漏);
107
+ * 没给 → 读到 `until` 之前攒够 `rounds` 个来回为止。
108
+ * 多读一个问话才停, 所以留下的最早一组是完整的; 开头那组若没有问话 (问话落在
109
+ * 读到的范围之外) 就丢掉 —— 一句不知道在答谁的话没法归到任何频道。 */
110
+ export const talkRounds = (jsonlPath, rounds, pingSigs = [], win = {}) => {
111
+ const { since, until = Infinity } = win;
112
+ const clean = (ts) => withoutKeepalive(ts, pingSigs);
113
+ const enough = (ts) => {
114
+ const seen = clean(ts).filter((t) => (t.ms ?? 0) < until);
115
+ return since !== undefined
116
+ ? seen.length > 0 && (seen[0].ms ?? 0) < since
117
+ : seen.filter((t) => t.role === "user").length > rounds;
118
+ };
119
+ return clean(readTailUntil(jsonlPath, (raw) => parseTurns(jsonlPath, raw, true), enough))
120
+ .reduce((acc, t) => {
121
+ if (t.role === "user" || acc.length === 0)
122
+ acc.push([t]);
123
+ else
124
+ acc[acc.length - 1].push(t);
125
+ return acc;
126
+ }, [])
127
+ .filter((round) => round[0].role === "user");
128
+ };
93
129
  /** 纯解析: 一段 transcript 原文 → 里面的对话轮次。`keepLines` 保留换行 —— 摘要与
94
130
  * 预览要压成一行, 但交给另一个 wizard 读的回复不能: 表格 / 列表 / 代码块压成一行
95
131
  * 之后对模型就是一团字。 */
@@ -122,7 +158,9 @@ const parseTurns = (jsonlPath, raw, keepLines = false) => {
122
158
  const role = row.message?.role;
123
159
  if (role !== "user" && role !== "assistant")
124
160
  return [];
125
- const bare = unwrapPasted(blockText(row.message?.content)).replace(META_RE, "");
161
+ const raw = blockText(row.message?.content);
162
+ const bare = stripMeta(raw);
163
+ const env = role === "user" ? parseEnvelope(raw) : undefined;
126
164
  const text = (keepLines ? bare : bare.replace(/\s+/g, " ")).trim();
127
165
  // Claude writes ISO timestamp strings; CodeBuddy writes epoch-ms NUMBERS.
128
166
  // Date.parse(number) coerces to a bare digit-string and returns NaN —
@@ -132,7 +170,7 @@ const parseTurns = (jsonlPath, raw, keepLines = false) => {
132
170
  // the round budget without bound.
133
171
  const rawTs = parsed.timestamp;
134
172
  const ms = typeof rawTs === "number" ? rawTs : Date.parse(String(rawTs ?? ""));
135
- return text ? [{ role, text, ms: Number.isNaN(ms) ? 0 : ms }] : [];
173
+ return text ? [{ role, text, ms: Number.isNaN(ms) ? 0 : ms, ...(env ? { env } : {}) }] : [];
136
174
  });
137
175
  };
138
176
  // Flatten a message's content for QUOTE DEDUP only — unlike `blockText` this
@@ -175,6 +213,17 @@ export const keepalivePingSigs = (...pings) => pings.map((p) => normPing(p).slic
175
213
  * the bare "ping" legacy streak form still present in older transcripts. */
176
214
  export const isKeepalivePingText = (text, sigs) => normPing(text).toLowerCase() === "ping" ||
177
215
  sigs.some((sig) => sig.length > 0 && normPing(text).includes(sig));
216
+ /** Keepalive = the ping query + everything the model says back until the next
217
+ * user turn — query-based, so a reply that adds more than "pong" still goes,
218
+ * and a backend that splits one reply across several records (CodeBuddy:
219
+ * mid-turn narration + final) loses all of them, not just the first. A window
220
+ * that opens on a bare "pong" lost its ping to the cut; that one goes too. */
221
+ export const withoutKeepalive = (turns, pingSigs) => turns.reduce((acc, t) => {
222
+ const ping = t.role === "user" ? isKeepalivePingText(t.text, pingSigs) : acc.ping;
223
+ if (!ping)
224
+ acc.kept.push(t);
225
+ return { kept: acc.kept, ping };
226
+ }, { kept: [], ping: turns[0]?.role === "assistant" && /^pong\W*$/i.test(turns[0].text.trim()) }).kept;
178
227
  /** The keepalive ping this session's newest words answer: the text of the LAST
179
228
  * user turn when that turn is a ping, else undefined. Read from the transcript
180
229
  * on purpose — "was a keepalive sent" must survive whatever forgot the
@@ -213,16 +262,10 @@ const parseToolEntries = (jsonlPath, raw) => {
213
262
  const role = row.message?.role;
214
263
  if (role !== "user" && role !== "assistant")
215
264
  return [];
216
- const text = unwrapPasted(blockTextWithTools(row.message?.content)).replace(META_RE, "").replace(/\s+/g, " ").trim();
265
+ const text = stripMeta(blockTextWithTools(row.message?.content)).replace(/\s+/g, " ").trim();
217
266
  return text ? [{ role, text }] : [];
218
267
  });
219
268
  };
220
- /** Keepalive = ping query + whatever the model replies to it (query-based,
221
- * same rule as keepaliveStamps). */
222
- const withoutPings = (all, pingSigs) => {
223
- const isPing = (e) => !!e && e.role === "user" && isKeepalivePingText(e.text, pingSigs);
224
- return all.filter((e, i) => !isPing(e) && !(e.role === "assistant" && isPing(all[i - 1])));
225
- };
226
269
  /** 逻辑轮次 = 角色交替的次数 (一条模型回复可能被后端拆成好几行记录)。 */
227
270
  const countTurns = (entries) => entries.reduce((acc, e, i) => acc + (i > 0 && entries[i - 1].role !== e.role ? 1 : 0), 0);
228
271
  /** 从尾部数 `n` 个逻辑轮次的切点; 不足 n 轮就从头给 (要多少给多少)。 */
@@ -235,7 +278,7 @@ const cutForTurns = (entries, n) => {
235
278
  return 0;
236
279
  };
237
280
  export const tailTurnsWithTools = (jsonlPath, n = 3, pingSigs = []) => {
238
- const entries = withoutPings(readTailUntil(jsonlPath, (raw) => parseToolEntries(jsonlPath, raw), (es) => countTurns(withoutPings(es, pingSigs)) >= n), pingSigs);
281
+ const entries = withoutKeepalive(readTailUntil(jsonlPath, (raw) => parseToolEntries(jsonlPath, raw), (es) => countTurns(withoutKeepalive(es, pingSigs)) >= n), pingSigs);
239
282
  return entries.slice(cutForTurns(entries, n)).map((e) => e.text).join("\n");
240
283
  };
241
284
  // Transcript prose is arbitrary text: backticks / asterisks / pipes lifted out of
@@ -243,22 +286,92 @@ export const tailTurnsWithTools = (jsonlPath, n = 3, pingSigs = []) => {
243
286
  // layout. A preview is plain text — flatten every markdown-active char.
244
287
  const stripMd = (s) => s.replace(/[`*_~|]/g, "").replace(/\s+/g, " ").trim();
245
288
  /** One-line "what is this session doing" preview, for list rendering. */
246
- export const summarizeTail = (jsonlPath, n = 3, per = 80) => {
289
+ export const summarizeTail = (jsonlPath, n = 3, per = 80, pingSigs = []) => {
247
290
  if (!existsSync(jsonlPath))
248
291
  return "(新会话 · 暂无对话)";
249
- const turns = tailTurns(jsonlPath, n);
292
+ const turns = talkTurns(jsonlPath, n, pingSigs);
250
293
  if (turns.length === 0)
251
294
  return "(暂无对话)";
252
- return turns.map((t) => `${t.role === "user" ? "你" : "AI"}: ${stripMd(t.text).slice(0, per)}`).join(" · ");
295
+ // 截了就得看得出截了: 裸 slice 出来的半句话, 读的人会当成它就说了这么多。
296
+ return turns.map((t) => `${t.role === "user" ? "你" : "AI"}: ${truncate(stripMd(t.text), per)}`).join(" · ");
297
+ };
298
+ /** 最近一个来回, 压成一行: `▸ 问话 ◂ 它最新的一句`。名册用它 —— 读名册的是另一个
299
+ * wizard, summarizeTail 的「你:」在它眼里指的是它自己; 这里用 peek_peer 同款的
300
+ * 箭头, 不指代任何人。没有对话 = ""。 */
301
+ export const lastExchange = (jsonlPath, per = 80, pingSigs = []) => {
302
+ const round = talkRounds(jsonlPath, 1, pingSigs).at(-1);
303
+ if (!round)
304
+ return "";
305
+ const line = (t) => truncate(stripMd(t.text), per);
306
+ return [`▸ ${line(round[0])}`, ...(round.length > 1 ? [`◂ ${line(round.at(-1))}`] : [])].join(" ");
307
+ };
308
+ /** 这个会话最近一次应答用的模型 —— transcript 里记的是真正跑的那个, 而绑定里的
309
+ * `model` 只在有人显式选过时才有 (用 CLI 默认模型的会话那里是空的)。 */
310
+ export const lastModel = (jsonlPath) => readTailUntil(jsonlPath, (raw) => pickModel(jsonlPath, raw), (v) => v !== "");
311
+ const pickModel = (jsonlPath, raw) => {
312
+ const normalize = backendForPath(jsonlPath).normalizeTranscriptLine;
313
+ const lines = raw.split("\n").filter((l) => l.trim());
314
+ for (let i = lines.length - 1; i >= 0; i--) {
315
+ let row;
316
+ try {
317
+ row = normalize(JSON.parse(lines[i]));
318
+ }
319
+ catch {
320
+ continue;
321
+ }
322
+ const model = row?.message?.role === "assistant" ? row.message.model ?? "" : "";
323
+ // `<synthetic>` 是 CLI 自己写的报错行 (限流 / 断连), 不是模型。
324
+ if (model && !model.startsWith("<"))
325
+ return model;
326
+ }
327
+ return "";
253
328
  };
254
329
  /** Readable multi-turn rendering of a transcript tail — "what has been said in
255
330
  * that session", for one agent reading another's conversation. Strictly better
256
331
  * than a pane capture for *reading*: whole messages (the viewport truncates),
257
332
  * no ANSI / TUI chrome, already role-tagged. The pane remains the only honest
258
- * source for `busy`. */
259
- export const renderDialog = (turns, per = 800) => turns
260
- .map((t) => `${t.role === "user" ? "▸" : "◂"} ${t.text.length > per ? `${t.text.slice(0, per)}…` : t.text}`)
333
+ * source for `busy`. The newest turn gets `lastPer` — it is the one a reader
334
+ * came for (the peer's latest answer), so it is clipped last and in the middle. */
335
+ export const renderDialog = (turns, per = 800, lastPer = per) => turns
336
+ .map((t, i) => `${t.role === "user" ? "▸" : "◂"} ${i === turns.length - 1 ? clipMiddle(t.text, Math.max(per, lastPer)) : truncateWithCount(t.text, per)}`)
261
337
  .join("\n");
338
+ /** 这个会话此刻悬着的工具调用 (发了 tool_use、还没等到 tool_result) 的名字。
339
+ *
340
+ * peek 从前靠刮终端回答「它卡在哪」; transcript 答得更准: 一个不在转圈、却悬着
341
+ * 工具调用的会话, 就是停在审批卡 / 本地弹窗上等人点。一句新的人话会让没收到结果
342
+ * 的调用作废 (被打断的那些), 所以遇到带正文的 user 行就清空。 */
343
+ export const openToolUses = (jsonlPath) => readTailUntil(jsonlPath, (raw) => parseOpenTools(jsonlPath, raw), (r) => r.rows > 0).names;
344
+ const parseOpenTools = (jsonlPath, raw) => {
345
+ const normalize = backendForPath(jsonlPath).normalizeTranscriptLine;
346
+ const open = new Map();
347
+ let rows = 0;
348
+ for (const line of raw.split("\n")) {
349
+ if (!line.trim())
350
+ continue;
351
+ let row;
352
+ try {
353
+ row = normalize(JSON.parse(line));
354
+ }
355
+ catch {
356
+ continue;
357
+ }
358
+ const content = row?.message?.content;
359
+ if (!row || row.isMeta || row.isSidechain || !content)
360
+ continue;
361
+ rows++;
362
+ if (row.message?.role === "user" && stripMeta(blockText(content)).trim())
363
+ open.clear();
364
+ if (!Array.isArray(content))
365
+ continue;
366
+ for (const b of content) {
367
+ if (b.type === "tool_use" && b.id)
368
+ open.set(b.id, b.name ?? "?");
369
+ if (b.type === "tool_result" && b.tool_use_id)
370
+ open.delete(b.tool_use_id);
371
+ }
372
+ }
373
+ return { names: [...open.values()], rows };
374
+ };
262
375
  /** 交付收口行。
263
376
  *
264
377
  * fan-out 之后 join 的载荷是「最后一条 assistant 文本」, 而一个分身的最后一句可能
@@ -276,11 +389,7 @@ export const extractResult = (text, max = 800) => {
276
389
  };
277
390
  /** The peer's most recent assistant message — the handoff payload when one
278
391
  * agent drives another ("take #fix's conclusion and review it"). */
279
- export const lastAssistantText = (jsonlPath, max = 4000) => {
280
- const turns = tailTurns(jsonlPath, 40).filter((t) => t.role === "assistant");
281
- const last = turns[turns.length - 1]?.text ?? "";
282
- return last.length > max ? `${last.slice(0, max)}…` : last;
283
- };
392
+ export const lastAssistantText = (jsonlPath, max = 4000, pingSigs = []) => truncate(talkTurns(jsonlPath, 40, pingSigs).filter((t) => t.role === "assistant").at(-1)?.text ?? "", max);
284
393
  /** 掐中间: 来龙去脉在头、结论在尾, 超长时丢的该是中段。(从尾巴截会把收口那一行
285
394
  * 截掉 —— 而那恰恰是对方最想读的。) */
286
395
  export const clipMiddle = (s, max = 4000, head = Math.floor(max / 4)) => s.length <= max ? s : `${s.slice(0, head)}\n…(略 ${s.length - max} 字)…\n${s.slice(head - max)}`;
@@ -289,18 +398,33 @@ export const clipMiddle = (s, max = 4000, head = Math.floor(max / 4)) => s.lengt
289
398
  * 「最后一条 assistant 文本」本身不带归属: 那句话没被接住、或者它停在一个等人点
290
399
  * 的弹窗上时, 最后一条是**上一件事**的答案, 原样交回去就是拿旧结论冒充新结论。
291
400
  * 发话时刻是最便宜的关联 id (A2A 的 taskId 在这里的等价物): 早于它的一律不算。
292
- * 没有时间戳的行 (ms=0) 无从判断, 放行 —— 退化成旧行为, 而不是把回复吞掉。 */
293
- export const lastReply = (jsonlPath, sinceMs = 0) => tailTurns(jsonlPath, 40, true)
401
+ * 没有时间戳的行 (ms=0) 无从判断, 放行 —— 退化成旧行为, 而不是把回复吞掉。
402
+ * 保温的 pong 不算回复: 它比真正的答案晚, 不剔掉的话等的人拿到的就是一个 "pong"。 */
403
+ export const lastReply = (jsonlPath, sinceMs = 0, pingSigs = []) => talkTurns(jsonlPath, 40, pingSigs, true)
294
404
  .filter((t) => t.role === "assistant" && (!t.ms || t.ms >= sinceMs))
295
405
  .at(-1)?.text ?? "";
296
- // ── wizard → wizard 的信封 ────────────────────────────────────────────
297
- // 同伴的话是原样落进输入框的, 而落进输入框的东西在模型眼里都是「用户说的」。没有
298
- // 信封, 收件方分不清这一轮是人说的还是 wizard 说的、回复给谁看、该不该回话 ——
299
- // 于是对着 wizard 寒暄、把过程 notify 进群、或者 send_peer 回去 (发话方正挂在
300
- // wait_peer 上, 这一回会给它多排一轮, 两边就此乒乓)。信封把这三件事写在每一轮
301
- // 自己身上: 宪章是出生时的快照, 正在跑的老 wizard 读不到新规矩, 这一段读得到。
302
- // 与 mention hint / 名册增量同一个 `<system-reminder>` 壳 —— mirror 的 meta 剥离器
303
- // 和 tailTurns 都会丢掉它, 不进气泡、不进 rolepage、不进 peek。
406
+ const REMINDER_RE = /<system-reminder>[\s\S]*?<\/system-reminder>/g;
407
+ const ENVELOPES = [
408
+ [/这一轮是 wizard `([^`]+)` 发来的\*\*私聊\*\*/, (m) => ({ kind: "peer", from: m[1], private: true, chat: "" })],
409
+ [/这一轮是 wizard `([^`]+)` 在群(?: \*\*([^*]*)\*\* )?里\*\*公开\*\*/, (m) => ({ kind: "peer", from: m[1], private: false, chat: m[2] ?? "" })],
410
+ [/这一轮是 `([^`]+)` 在群 \*\*([^*]*)\*\* 里说的/, (m) => ({ kind: "human", from: m[1], private: false, chat: m[2] ?? "" })],
411
+ [/这一轮是定时任务 `([^`]+)` 到点放进来的/, (m) => ({ kind: "task", from: `定时 ${m[1]}`, private: false, chat: "" })],
412
+ ];
413
+ /** 一句落盘的输入上挂着的信封。只在 `<system-reminder>` 里找 —— 正文里引用这句
414
+ * 措辞的人话不算。 */
415
+ export const parseEnvelope = (raw) => {
416
+ const reminders = raw.match(REMINDER_RE)?.join("\n") ?? "";
417
+ return reminders
418
+ ? ENVELOPES.reduce((hit, [re, make]) => hit ?? ((m) => (m ? make(m) : undefined))(reminders.match(re)), undefined)
419
+ : undefined;
420
+ };
421
+ const reminder = (...lines) => ["", "<system-reminder>", ...lines, "</system-reminder>"].join("\n");
422
+ /** 人说的那一轮的信封。只在 transcript 自己推不出来时才挂 (见 inbound.send): 一个
423
+ * wizard 被人从别的群叫到、或者住在多人的群里, 它和后来读记录的人都得知道这句是
424
+ * 谁、在哪说的; 住在与一个人的单聊里的, 默认值就是对的, 不为它每轮多付一段。 */
425
+ export const renderHumanEnvelope = (user, chat) => reminder(`这一轮是 \`${user}\` 在群 **${chat}** 里说的, 你的回复发回那个群。`);
426
+ /** 定时任务放的那一轮: 不标的话, 记录里它就成了「人说的」。 */
427
+ export const renderTaskEnvelope = (taskId) => reminder(`这一轮是定时任务 \`${taskId}\` 到点放进来的, 不是人此刻说的 —— 照常执行, 回复照常发进群。`);
304
428
  /** `from` = 发话方的称呼 (`.name`); `chat` 给了 = 公开轮 (那个群的名字, 可以是 ""),
305
429
  * 不给 = 私聊。 */
306
430
  export const renderPeerEnvelope = (from, chat) => [
@@ -363,6 +487,10 @@ const pickContextTokens = (jsonlPath, raw) => {
363
487
  * warmth clock; only a real model request actually re-warms the cache.
364
488
  * `lastRealMs` newest GENUINE turn (non-keepalive) — the real-idle cutoff; 0
365
489
  * when none sits in the read window ⇒ real work predates the tail.
490
+ * `streak` pings already sent since that last genuine turn — the round
491
+ * counter's seed. The budget is "N pings after real work", a fact
492
+ * of the transcript: a counter that lives only in memory restarts
493
+ * at 0 on every daemon reload and hands the session a fresh N.
366
494
  * `stamped` false when no turn carried a timestamp (backend without them), so
367
495
  * the caller can fall back to mtime instead of judging all idle. */
368
496
  export const keepaliveStamps = (jsonlPath, pingSigs) => {
@@ -372,34 +500,19 @@ export const keepaliveStamps = (jsonlPath, pingSigs) => {
372
500
  // prefixes of each) plus the bare "ping" that streak pings used to shrink to
373
501
  // (transcripts written before that changed still hold them) — otherwise a
374
502
  // keepalive user line reads as REAL activity and re-anchors lastRealMs /
375
- // resets the round counter before the model has even replied.
376
- const isPing = (t) => t.role === "user" && isKeepalivePingText(t.text, pingSigs);
377
- let lastMs = 0;
378
- let lastRealMs = 0;
379
- let stamped = false;
380
- // "After a ping" persists across EVERY assistant turn until the next user
381
- // turn: CodeBuddy splits one model reply into multiple independent message
382
- // records (mid-turn narration + final), so strict ping→assistant adjacency
383
- // would let the 2nd record of a pong read as REAL activity and reset the
384
- // round budget.
385
- let afterPing = false;
386
- for (let i = 0; i < turns.length; i++) {
387
- const t = turns[i];
388
- const ms = t.ms ?? 0;
389
- if (ms > 0)
390
- stamped = true;
391
- if (ms > lastMs)
392
- lastMs = ms;
393
- // Keepalive = ping query + whatever the model replies to it. Detection is
394
- // purely query-based: if the user turn is a ping, the assistant reply is
395
- // keepalive too — even when the model adds extra content beyond "pong".
396
- const isKeepalive = isPing(t) || (afterPing && t.role === "assistant");
397
- if (t.role === "user")
398
- afterPing = isPing(t);
399
- if (ms > lastRealMs && !isKeepalive)
400
- lastRealMs = ms;
401
- }
402
- return { lastMs, lastRealMs, stamped };
503
+ // resets the round counter before the model has even replied. What counts as
504
+ // keepalive (the ping AND every record of its reply) is `withoutKeepalive`'s
505
+ // rule — one definition for the clocks, the quote dedup and the peer readers.
506
+ const newest = (ts) => ts.reduce((m, t) => Math.max(m, t.ms ?? 0), 0);
507
+ const real = withoutKeepalive(turns, pingSigs);
508
+ // Everything past the last genuine turn is keepalive; its user turns are the pings.
509
+ const sinceReal = real.length ? turns.slice(turns.lastIndexOf(real[real.length - 1]) + 1) : turns;
510
+ return {
511
+ lastMs: newest(turns),
512
+ lastRealMs: newest(real),
513
+ streak: sinceReal.filter((t) => t.role === "user").length,
514
+ stamped: turns.some((t) => (t.ms ?? 0) > 0),
515
+ };
403
516
  };
404
517
  // ── Pane liveness ─────────────────────────────────────────────────────
405
518
  // "Is this agent still working?" answered from outside the process. The pane is
@@ -468,14 +581,6 @@ export const transcriptStalled = (jsonlPath) => {
468
581
  }
469
582
  return false;
470
583
  };
471
- /** Trim a captured pane to its last `rows` non-blank lines — the TUI pads the
472
- * viewport with empties that would otherwise dominate a WeCom bubble. */
473
- export const compactPane = (paneText, rows = 24) => stripAnsi(paneText)
474
- .split("\n")
475
- .map((l) => l.replace(/\s+$/, ""))
476
- .filter((l) => l.trim())
477
- .slice(-rows)
478
- .join("\n");
479
584
  /** Machinery, not conversation: the `<system-reminder>` wrapper is the same
480
585
  * marker the mirror's meta-stripper and `tailTurns` already drop, so the hint
481
586
  * reaches the agent's context without leaking into WeCom bubbles or peer
@@ -1 +1 @@
1
- {"version":3,"file":"peers.js","sourceRoot":"","sources":["../../daemon/peers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peers.js","sourceRoot":"","sources":["../../daemon/peers.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,EAAE;AACF,6DAA6D;AAC7D,gDAAgD;AAChD,kDAAkD;AAClD,mDAAmD;AACnD,eAAe;AACf,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAuB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,kFAAkF;AAClF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAC7C,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;AAE9E,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,gCAAgC;AAChC,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7B,4DAA4D;AAC5D,8DAA8D;AAC9D,oDAAoD;AACpD,0DAA0D;AAC1D,iDAAiD;AACjD,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvC,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAU,EAAE;IAC7C,IAAI,CAAC;QAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAU,EAAE;IAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,EAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC;AAEF;;sBAEsB;AACtB,MAAM,aAAa,GAAG,CACpB,SAAiB,EACjB,KAAyB,EACzB,MAA8B,EAC3B,EAAE;IACL,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,GAAW,EAAK,EAAE;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;AAaF,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,OAAO,GAAG,wFAAwF,CAAC;AAEzG,qEAAqE;AACrE,gFAAgF;AAChF,+CAA+C;AAC/C,+BAA+B;AAC/B,MAAM,aAAa,GAAG,yEAAyE,CAAC;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAChF,uDAAuD;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAErF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAyC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAK,CAAuB,CAAC,IAAI,KAAK,MAAM,CAAC;SACrG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;SACxB,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF;6EAC6E;AAC7E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,EAAU,EAAE,CAC/E,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7G;;;yDAGyD;AACzD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,CAAS,EAAE,WAA8B,EAAE,EAAE,SAAS,GAAG,KAAK,EAAU,EAAE;IACrH,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClI,CAAC,CAAC;AAEF;;;;;0CAK0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAiB,EACjB,MAAc,EACd,WAA8B,EAAE,EAChC,MAA0C,EAAE,EAClC,EAAE;IACZ,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,CAAC,EAAU,EAAW,EAAE;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1D,OAAO,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;SACtF,MAAM,CAAW,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YACpD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC;SACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;kBAEkB;AAClB,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,SAAS,GAAG,KAAK,EAAU,EAAE;IAC/E,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC;IACpE,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACvB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACvD,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACrD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;QAC/B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,0EAA0E;QAC1E,sEAAsE;QACtE,6DAA6D;QAC7D,sEAAsE;QACtE,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,KAAK,GAAI,MAAkC,CAAC,SAAS,CAAC;QAC5D,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAU,EAAE;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE;QACjB,MAAM,CAAC,GAAI,CAAuB,EAAE,IAAI,CAAC;QACzC,IAAI,CAAC,KAAK,MAAM;YAAE,OAAQ,CAAuB,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAuC,CAAC;YAClD,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACxB,MAAM,CAAC,GAAI,CAA2B,CAAC,OAAO,CAAC;YAC/C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,sBAAsB;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAE/D;4EAC4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAe,EAAY,EAAE,CAChE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEzE;6EAC6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,IAAuB,EAAW,EAAE,CACpF,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;IACvC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAErE;;;;+EAI+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAmB,EACnB,QAA2B,EACtB,EAAE,CACP,KAAK,CAAC,MAAM,CACV,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;IACT,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAClF,IAAI,CAAC,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAC9F,CAAC,IAAI,CAAC;AAET;;;;;;2BAM2B;AAC3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,QAA2B,EAAsB,EAAE;IACtG,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC,CAAC;AAYF,0DAA0D;AAC1D,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAe,EAAE;IACvE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC;IACpE,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAe,EAAE;QACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACvD,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QACrD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;QAC/B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,UAAU,GAAG,CAAC,OAA6B,EAAU,EAAE,CAC3D,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7F,8CAA8C;AAC9C,MAAM,WAAW,GAAG,CAAC,OAA6B,EAAE,CAAS,EAAU,EAAE;IACvE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,WAA8B,EAAE,EAAU,EAAE;IACvG,MAAM,OAAO,GAAG,gBAAgB,CAC9B,aAAa,CACX,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CACxD,EACD,QAAQ,CACT,CAAC;IACF,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,kFAAkF;AAClF,+EAA+E;AAC/E,wEAAwE;AACxE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAE7F,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,WAA8B,EAAE,EAAU,EAAE;IAC5G,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,cAAc,CAAC;IAClD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxC,4CAA4C;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9G,CAAC,CAAC;AAEF;;4BAE4B;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,GAAG,GAAG,EAAE,EAAE,WAA8B,EAAE,EAAU,EAAE;IACpG,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF;gDACgD;AAChD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAU,EAAE,CACrD,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAEhF,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAU,EAAE;IAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC;IACpE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,+CAA+C;QAC/C,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;;;;oFAKoF;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAAU,EAAE,CACvF,KAAK;KACF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;KACzJ,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB;;;;0CAI0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAY,EAAE,CAC1D,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAE7F,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAqC,EAAE;IAC3F,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO;YAAE,SAAS;QAChE,IAAI,EAAE,CAAC;QACP,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,WAAW;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;;;oDAMoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,GAAG,GAAG,GAAG,EAAU,EAAE;IAC/D,+CAA+C;IAC/C,2CAA2C;IAC3C,iBAAiB;IACjB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC,CAAC;AAEF;qEACqE;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,EAAE,WAA8B,EAAE,EAAU,EAAE,CAC3G,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAE7G;0BAC0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAU,EAAE,CACtF,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;AAEjG;;;;;;uDAMuD;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,OAAO,GAAG,CAAC,EAAE,WAA8B,EAAE,EAAU,EAAE,CACpG,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;KACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC;KACnE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AAyBxB,MAAM,WAAW,GAAG,+CAA+C,CAAC;AACpE,MAAM,SAAS,GAA+D;IAC5E,CAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxG,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpH,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;CACxG,CAAC;AAEF;eACe;AACf,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAwB,EAAE;IACjE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3D,OAAO,SAAS;QACd,CAAC,CAAC,SAAS,CAAC,MAAM,CAAuB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;QACxI,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAe,EAAU,EAAE,CAAC,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,KAAK,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEtH;;+CAE+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CACxE,QAAQ,CAAC,UAAU,IAAI,WAAW,IAAI,oBAAoB,CAAC,CAAC;AAE9D,qCAAqC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAU,EAAE,CAC3D,QAAQ,CAAC,cAAc,MAAM,sCAAsC,CAAC,CAAC;AAEvE;eACe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,IAAa,EAAU,EAAE,CACxE;IACE,EAAE;IACF,mBAAmB;IACnB,GAAG,CAAC,IAAI,KAAK,SAAS;QACpB,CAAC,CAAC;YACE,iBAAiB,IAAI,0CAA0C,IAAI,KAAK;YACxE,4FAA4F;YAC5F,mFAAmF;SACpF;QACH,CAAC,CAAC;YACE,iBAAiB,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,mCAAmC,IAAI,UAAU;YACzG,sCAAsC,IAAI,KAAK;SAChD,CAAC;IACN,oBAAoB;CACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEf;;;;mCAImC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC7D,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAErF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAU,EAAE;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC;IACpE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QACnE,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,uBAAuB,IAAI,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,2BAA2B,IAAI,CAAC,CAAC;QAC9C,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,qCAAqC;QACrC,OAAO,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;mFAemF;AACnF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,SAAiB,EACjB,QAAkB,EACwD,EAAE;IAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvC,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,MAAM,GAAG,CAAC,EAAmB,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,oFAAoF;IACpF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM;QACzD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC;AAEF,yEAAyE;AACzE,gFAAgF;AAChF,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,iFAAiF;AACjF,2DAA2D;AAC3D,2EAA2E;AAC3E,yEAAyE;AACzE,gFAAgF;AAChF,uEAAuE;AACvE,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,UAAU,GAAG,mDAAmD,CAAC;AACvE,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;AACvF,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAW,EAAE,CACtD,SAAS,CAAC,QAAQ,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACpB,MAAM,CAAC,OAAO,CAAC;KACf,KAAK,CAAC,CAAC,WAAW,CAAC;KACnB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExD,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,aAAa,GAAG;IACpB,YAAY,EAAE,8BAA8B,EAAE,aAAa,EAAE,eAAe;IAC5E,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,QAAQ;IAC9D,MAAM,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY;CACrF,CAAC;AACF,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAW,EAAE;IACzD,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,SAAS,CAAC,QAAQ,CAAC;SACvB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,UAAU,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,8EAA8E;AAC9E,kFAAkF;AAClF,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,kBAAkB,GAAG;IACzB,aAAa,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,cAAc;IAClF,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,wBAAwB;IAC7E,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY;CACjD,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAW,EAAE;IAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS,CAAC,uCAAuC;QAC7E,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA2BF;;;4EAG4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgC,EAAU,EAAE;IAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;QACvH,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,IAAI,CAClF,CAAC;IACF,OAAO;QACL,EAAE;QACF,mBAAmB;QACnB,4CAA4C;QAC5C,GAAG,KAAK;QACR,+CAA+C;QAC/C,yFAAyF;QACzF,6DAA6D;QAC7D,qDAAqD;QACrD,oBAAoB;KACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC"}
@@ -130,6 +130,36 @@ const rosterLines = (self, sibs) => {
130
130
  ...(bare.length ? [`同工作区、没写职责的: ${bare.map((b) => `\`${addr(b)}\``).join(" ")}`] : []),
131
131
  ];
132
132
  };
133
+ const agoOf = (ms, now) => {
134
+ if (!ms)
135
+ return "";
136
+ const min = Math.floor((now - ms) / 60_000);
137
+ if (min < 1)
138
+ return "刚刚";
139
+ if (min < 60)
140
+ return `${min} 分钟前`;
141
+ return min < 1440 ? `${Math.floor(min / 60)} 小时前` : `${Math.floor(min / 1440)} 天前`;
142
+ };
143
+ const rosterEntry = (r, now, home) => {
144
+ const state = r.busy ? "忙" : r.alive ? "闲" : "冷";
145
+ const head = [
146
+ `\`${addr(r)}\`${r.self ? " (你)" : ""} ${state}`,
147
+ r.chat ? `${r.solo ? "单聊" : "群"} ${r.chat}` : "",
148
+ r.cwd ? (home && r.cwd.startsWith(home) ? `~${r.cwd.slice(home.length)}` : r.cwd) : "",
149
+ r.model ?? "",
150
+ agoOf(r.lastActivity, now),
151
+ r.parent ? `父 ${addr(r.parent)}` : "",
152
+ r.clones.length ? `分身 ${r.clones.map(addr).join(" ")}` : "",
153
+ ].filter(Boolean).join(" · ");
154
+ return [
155
+ head,
156
+ ...(r.description ? [` 职责: ${r.description}`] : []),
157
+ // 冷会话的摘要是很久以前的话, 不值得占一行; 要读就 peek_peer。
158
+ ...(r.alive && !r.self && r.summary ? [` 最近: ${r.summary}`] : []),
159
+ ];
160
+ };
161
+ /** `home` = 用户主目录, 路径里的它缩成 `~`。 */
162
+ export const renderRoster = (rows, now, home = "") => rows.flatMap((r) => rosterEntry(r, now, home)).join("\n");
133
163
  /** 开局宪章 —— spawn 时作为 `--append-system-prompt` 压进进程。
134
164
  * 它回答四件事, 每一件都是"会话自己没法从对话里知道"的:
135
165
  * 我是谁 / 我住在哪、周围有谁 / 我有哪些能力 / 公开频道与私聊该怎么说话。 */
@@ -188,13 +218,14 @@ export const renderCharter = (a) => {
188
218
  parts.push("## 我能做什么 (MCP `wezard`)", bullet([
189
219
  "`wizard_whoami` 我是谁、上下文用了多少、我的分身有哪些",
190
220
  "`wizard_identity` 改名字 / 写职责 (名字全局唯一, 撞名会自动加 `-N` 后缀并告诉你最终名字)",
191
- "`wizard_roster` 全部 wizard 与 clone: 名字、home 群、工作区、职责、模型、忙闲、家谱",
221
+ "`wizard_roster` 全部 wizard 与 clone: 名字、home 群、工作区、职责、模型、忙闲、家谱、最近在说什么 —— 找人只用它 (`chat` / `cwd` / `query` 收窄)",
192
222
  "`clone_wizard` 克隆出一个分身 —— fork 我 (或 `from` 点名的某个 wizard) 此刻的上下文, 开局就带着读过的一切, 留在被克隆者的工作区 · `spawn_wizard` 从白板生一个子 wizard —— 不带上下文, 可以去别的目录; 两者都归我管, `name` 起名 (全局唯一), `model` 挑模型 (跑腿的活给 haiku, 要判断的给 opus), 它们还能再生",
193
223
  "`stop_wizard` 打断或终结一个分身/wizard (活干完了就收掉它)",
194
224
  "`open_job` / `close_job` / `list_jobs` 一次要派出两个以上分身时的**工单**: 群里只出开工/收工两条气泡, 收工时整批回收临时分身",
195
225
  "`wizard_remember` 写一条跨会话的记忆 —— `scope` 选 `self` (我自己的, 当场生效) / `chat` (本群共享) / `workspace` (本工作区共享); 后两者是**提议**, 由定时的记忆整理者去重、改写、合并后才生效",
196
226
  "`wizard_handoff_self` 上下文快满时自己原地交接重开",
197
- "`send_peer` 跟别的 wizard 说话, **默认私聊**; `public:true` 则在群里公开说 (见下) · 派活给一个正在忙的同伴用 `when:\"idle\"` · `peek_peer` 看它在干嘛 · `list_peers` 看同群有谁",
227
+ "`send_peer` 跟别的 wizard 说话, **默认私聊**; `public:true` 则在群里公开说 (见下) · 派活给一个正在忙的同伴用 `when:\"idle\"` · `peek_peer` 读它最近的对话、看它停在哪",
228
+ "`read_chat` 像人翻聊天记录那样读往来 —— 一行一句, 谁对谁说了什么; `role` (谁的视角) → `chat` (哪个群) → `target` (和谁) 三级收窄, 都不给就是你这一轮所在的群, `since` / `until` / `limit` 按时间翻页",
198
229
  "`wait_peer` 等它干完 —— 派了一**批**活就用 `names` 一次等一组 (`need` 决定满几个就返回), 别一个一个等",
199
230
  "`notify` 把一段话贴进某个群给**人**看 (省略 `to` 就是你这一轮所在的群) —— 和 send_peer 相反, 它不驱动任何 agent",
200
231
  "`schedule_task` 排一个到点自动执行的活 (「每个工作日晚上9:30 …」) —— 日程归在你名下; 默认到点**新起一个白板 wizard** 去干, 干完自动收掉; 只有明说「在 .foo 里继续」才用 `name` 点名已有的那个 · `list_tasks` / `cancel_task`",
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../daemon/wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../daemon/wizard.ts"],"names":[],"mappings":"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"}