wezard 2.4.1 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +113 -57
  3. package/cli/wezard.sh +6 -1
  4. package/config.example.jsonc +7 -4
  5. package/dist/cli/wx.js +78 -0
  6. package/dist/cli/wx.js.map +1 -0
  7. package/dist/daemon/aibot-media.js +62 -0
  8. package/dist/daemon/aibot-media.js.map +1 -0
  9. package/dist/daemon/approval.js +11 -7
  10. package/dist/daemon/approval.js.map +1 -1
  11. package/dist/daemon/ask.js +3 -2
  12. package/dist/daemon/ask.js.map +1 -1
  13. package/dist/daemon/cc-session.js +27 -4
  14. package/dist/daemon/cc-session.js.map +1 -1
  15. package/dist/daemon/chat-log.js +2 -2
  16. package/dist/daemon/chat-log.js.map +1 -1
  17. package/dist/daemon/chat-name.js +6 -2
  18. package/dist/daemon/chat-name.js.map +1 -1
  19. package/dist/daemon/config-api.js +5 -6
  20. package/dist/daemon/config-api.js.map +1 -1
  21. package/dist/daemon/direction.js +53 -0
  22. package/dist/daemon/direction.js.map +1 -0
  23. package/dist/daemon/ilink.js +162 -0
  24. package/dist/daemon/ilink.js.map +1 -0
  25. package/dist/daemon/inbound.js +57 -14
  26. package/dist/daemon/inbound.js.map +1 -1
  27. package/dist/daemon/index.js +297 -65
  28. package/dist/daemon/index.js.map +1 -1
  29. package/dist/daemon/jobs.js +4 -3
  30. package/dist/daemon/jobs.js.map +1 -1
  31. package/dist/daemon/last-response.js +6 -3
  32. package/dist/daemon/last-response.js.map +1 -1
  33. package/dist/daemon/media.js +108 -0
  34. package/dist/daemon/media.js.map +1 -0
  35. package/dist/daemon/mirror-bridge.js +109 -92
  36. package/dist/daemon/mirror-bridge.js.map +1 -1
  37. package/dist/daemon/model-select.js +159 -54
  38. package/dist/daemon/model-select.js.map +1 -1
  39. package/dist/daemon/notices.js +35 -15
  40. package/dist/daemon/notices.js.map +1 -1
  41. package/dist/daemon/outbound.js +2 -1
  42. package/dist/daemon/outbound.js.map +1 -1
  43. package/dist/daemon/peers.js +29 -23
  44. package/dist/daemon/peers.js.map +1 -1
  45. package/dist/daemon/pending-items.js +1 -1
  46. package/dist/daemon/pending-items.js.map +1 -1
  47. package/dist/daemon/reach.js +6 -0
  48. package/dist/daemon/reach.js.map +1 -0
  49. package/dist/daemon/receipts.js +145 -3
  50. package/dist/daemon/receipts.js.map +1 -1
  51. package/dist/daemon/route.js +11 -4
  52. package/dist/daemon/route.js.map +1 -1
  53. package/dist/daemon/session-scan.js +3 -3
  54. package/dist/daemon/session-scan.js.map +1 -1
  55. package/dist/daemon/spawn-tmux.js +170 -62
  56. package/dist/daemon/spawn-tmux.js.map +1 -1
  57. package/dist/daemon/steward-guard.js +48 -7
  58. package/dist/daemon/steward-guard.js.map +1 -1
  59. package/dist/daemon/weixin-cmd.js +268 -0
  60. package/dist/daemon/weixin-cmd.js.map +1 -0
  61. package/dist/daemon/weixin-port.js +226 -0
  62. package/dist/daemon/weixin-port.js.map +1 -0
  63. package/dist/daemon/weixin.js +772 -0
  64. package/dist/daemon/weixin.js.map +1 -0
  65. package/dist/daemon/wizard.js +47 -19
  66. package/dist/daemon/wizard.js.map +1 -1
  67. package/dist/mcp/server.js +43 -23
  68. package/dist/mcp/server.js.map +1 -1
  69. package/dist/shared/chat-http.js +59 -28
  70. package/dist/shared/chat-http.js.map +1 -1
  71. package/dist/shared/chat-render.js +9 -1
  72. package/dist/shared/chat-render.js.map +1 -1
  73. package/dist/shared/chat-view.js +16 -2
  74. package/dist/shared/chat-view.js.map +1 -1
  75. package/dist/shared/cli-backends.js +3 -0
  76. package/dist/shared/cli-backends.js.map +1 -1
  77. package/dist/shared/config.js +35 -10
  78. package/dist/shared/config.js.map +1 -1
  79. package/dist/shared/exec-path.js +12 -0
  80. package/dist/shared/exec-path.js.map +1 -1
  81. package/dist/shared/json-map-store.js +1 -0
  82. package/dist/shared/json-map-store.js.map +1 -1
  83. package/dist/shared/reminder.js +1 -0
  84. package/dist/shared/reminder.js.map +1 -1
  85. package/dist/shared/role-render.js +4 -3
  86. package/dist/shared/role-render.js.map +1 -1
  87. package/dist/shared/role-view.js +97 -62
  88. package/dist/shared/role-view.js.map +1 -1
  89. package/dist/shared/seen-log.js +26 -0
  90. package/dist/shared/seen-log.js.map +1 -0
  91. package/dist/shared/session-label.js +84 -31
  92. package/dist/shared/session-label.js.map +1 -1
  93. package/dist/shared/turn-state.js +1 -1
  94. package/dist/shared/turn-state.js.map +1 -1
  95. package/dist/shared/world.js.map +1 -1
  96. package/dist/shared/wx-text.js +101 -0
  97. package/dist/shared/wx-text.js.map +1 -0
  98. package/dist/svr/index.js +5 -2
  99. package/dist/svr/index.js.map +1 -1
  100. package/package.json +6 -2
  101. package/web/chat.css +26 -5
  102. package/web/chat.js +128 -63
@@ -8,20 +8,40 @@ const SETTLE_TIMEOUT_MS = 8000;
8
8
  const CLOSE_TIMEOUT_MS = 3000;
9
9
  const ARROW_STEP_MS = 350; // faster repeats get dropped/coalesced by the TUI — this is the empirically-verified floor
10
10
  const MAX_STEPS = 60; // > any plausible catalog size, even with a few dropped arrows
11
- const HEADER_RE = /^\s*Select model\s*$/u;
12
- const FOOTER_RE = /Esc to cancel/u;
11
+ // Two renders of the same picker have to be read: the older one titles itself
12
+ // with a bare "Select model" and numbers its rows; the current one carries the
13
+ // scope tabs in the title ("Select Model Global Session (Tab/←→ to switch)")
14
+ // and prints each row's id with no numbers:
15
+ // " ❯ Hy4 preview 【hy4-preview-ioa】 (x0.00 credits) ✔"
16
+ // A render we can't parse is a render we never select from — and the caller is
17
+ // told nothing changed while the pane silently keeps the wrong model.
18
+ const HEADER_RE = /^\s*Select Model\b/iu;
19
+ const FOOTER_RE = /Esc to (?:cancel|exit)/u;
13
20
  const SESSION_ONLY_RE = /\bs to use this session only/u;
14
21
  // " ❯ 2. Opus 5.5 ✔ For complex work and everyday tasks" and its
15
22
  // scrolled-window siblings ("↑ 3. …" / "↓ 10. …"): mark, number, label,
16
23
  // current-model tick, description.
17
24
  const ROW_RE = /^\s*([❯>↑↓])?\s*(\d+)\.\s+(.+?)(?:\s+(✔))?(?:\s{2,}(.*))?$/u;
25
+ // The current render: mark, label, 【id】, credits, current-model tick.
26
+ const ID_ROW_RE = /^\s*([❯>↑↓])?\s*(.+?)\s+【([^】]+)】(?:[ \t]*\([^)]*\))?[ \t]*(✔)?\s*$/u;
27
+ // The line under the title says which tab the picker is on: "Switch model for
28
+ // this session only (won't persist)." / "Select a model for all future sessions."
29
+ // Enter applies to THAT tab — applying the wrong one rewrites the machine-wide
30
+ // default, so a caller asking for "session" must never Enter on "Global".
31
+ const SCOPE_SESSION_RE = /for this session only/u;
32
+ const SCOPE_GLOBAL_RE = /for all future sessions/u;
18
33
  const MORE_RE = /^\s*…\s*\+\d+\s+models?\b/u;
19
34
  // Switching away from a model the conversation is cached on asks once more:
20
35
  // "Switch model? … ❯ 1. Yes, switch to X / 2. No, go back".
21
36
  const CONFIRM_RE = /^\s*Switch model\?\s*$/u;
22
37
  const CONFIRM_LAST_RE = /^\s*[❯>]?\s*2\.\s+No\b/u;
23
- const READBACK_RE = /(?:Set model to|Kept model as) .+/u;
24
- const SESSION_RECEIPT_RE = /for this session only/u;
38
+ // Receipts seen so far: "Set model to X" / "Kept model as X" (numbered render),
39
+ // "Switch model to X (this session only)" and "Switched this session to X."
40
+ // (2.143, the latter right after a fresh launch).
41
+ const READBACK_RE = /(?:Set model to|Kept model as|Switch model to|Switched (?:this session )?to) .+/u;
42
+ const APPLIED_RE = /^(?:Set model to|Switch model to|Switched\b)/u;
43
+ // "… (this session only)" / "… for this session only" / "Switched this session to …".
44
+ const SESSION_RECEIPT_RE = /\bthis session\b/u;
25
45
  const linesOf = (screen) => screen.split("\n").map((l) => l.trimEnd()).filter(Boolean);
26
46
  /** The picker as it stands on screen, or undefined when it isn't open. A real
27
47
  * picker always hugs the bottom of the screen — its footer is the last line.
@@ -35,12 +55,30 @@ export const parseFrame = (screen) => {
35
55
  if (head < 0 || !FOOTER_RE.test(foot))
36
56
  return undefined;
37
57
  const body = lines.slice(head + 1);
58
+ const idHits = body.map((l) => ID_ROW_RE.exec(l)).filter((m) => !!m);
59
+ if (idHits.length) {
60
+ const at = idHits.findIndex((m) => m[1] === "❯" || m[1] === ">");
61
+ return {
62
+ rows: idHits.map((m, i) => ({ n: i + 1, label: m[2].trim(), id: m[3].trim(), desc: "", current: !!m[4] })),
63
+ cursor: at < 0 ? 0 : at + 1,
64
+ // No "… +N models" marker and no ↓ edge on this render, so there is no
65
+ // "last row" to read — navigation doesn't need one.
66
+ bottom: true,
67
+ sessionOnly: false,
68
+ byId: true,
69
+ scope: body.some((l) => SCOPE_SESSION_RE.test(l))
70
+ ? "session"
71
+ : body.some((l) => SCOPE_GLOBAL_RE.test(l)) ? "default" : undefined,
72
+ };
73
+ }
38
74
  const hits = body.map((l) => ROW_RE.exec(l)).filter((m) => !!m);
39
75
  return {
40
76
  rows: hits.map((m) => ({ n: Number(m[2]), label: m[3].trim(), desc: (m[5] ?? "").trim(), current: !!m[4] })),
41
77
  cursor: Number(hits.find((m) => m[1] === "❯" || m[1] === ">")?.[2] ?? 0),
42
78
  bottom: !body.some((l) => MORE_RE.test(l)) && !hits.some((m) => m[1] === "↓"),
43
79
  sessionOnly: SESSION_ONLY_RE.test(foot),
80
+ byId: false,
81
+ scope: SESSION_ONLY_RE.test(foot) ? "session" : undefined,
44
82
  };
45
83
  };
46
84
  const isConfirm = (screen) => {
@@ -70,9 +108,14 @@ export const closestModel = (rows, wanted) => {
70
108
  const want = wanted.toLowerCase();
71
109
  const words = new Set([...(want.match(/[a-z]+/gu) ?? []), ...(/默认/u.test(want) ? ["default"] : [])]);
72
110
  const ver = versionOf(want);
73
- const fit = (r) => versionFit(ver, versionOf(r.label));
111
+ // An id is the strongest evidence there is: "deepseek-v4.1-flash" names one
112
+ // row outright. Anything else is a family word ("sonnet") that only narrows
113
+ // the field — the id is part of what it is matched against, since a bare
114
+ // family name is often nowhere in the label ("claude-sonnet-5.5").
115
+ const fit = (r) => (r.id?.toLowerCase() === want ? 100 : versionFit(ver, versionOf(r.label)));
116
+ const named = (r) => `${r.label} ${r.id ?? ""}`.toLowerCase();
74
117
  return rows
75
- .filter((r) => words.has(familyOf(r.label)))
118
+ .filter((r) => words.has(familyOf(r.label)) || [...words].some((w) => named(r).includes(w)))
76
119
  .reduce((best, r) => (!best || fit(r) > fit(best) ? r : best), undefined);
77
120
  };
78
121
  const screen = async (pane) => {
@@ -125,6 +168,74 @@ const closePicker = async (pane) => {
125
168
  await key(pane, "Escape");
126
169
  await until(async () => (parseFrame(await screen(pane)) ? undefined : true), CLOSE_TIMEOUT_MS);
127
170
  };
171
+ /** Escape out of a picker even when its rows can't be read. Giving up on a
172
+ * selection HAS to leave the pane back at its prompt: left open, the picker
173
+ * swallows whatever is typed into the pane next — the wizard's first task
174
+ * never arrives, and it reads as a dead wizard rather than a mis-modelled one.
175
+ * Only ever Escs on a screen that is showing a picker footer. */
176
+ const dismissPicker = async (pane) => {
177
+ const footer = async () => FOOTER_RE.test(linesOf(await screen(pane)).at(-1) ?? "");
178
+ if (!(await footer()))
179
+ return;
180
+ await key(pane, "Escape");
181
+ await until(async () => ((await footer()) ? undefined : true), CLOSE_TIMEOUT_MS);
182
+ };
183
+ const cursorRow = (f) => f.rows.find((r) => r.n === f.cursor);
184
+ const byIdMerge = (seen, rows) => [...seen, ...rows.filter((r) => !seen.some((s) => s.id === r.id))];
185
+ /** The whole catalog of the 【id】 render. It normally fits on one screen (32
186
+ * rows here) and is read off the first frame; only when nothing on it fits the
187
+ * ask is the cursor walked one full lap — in case the list is windowed on a
188
+ * short pane — stopping the moment it wraps back onto the row it started on.
189
+ * (The old walk had no wrap check: a miss always burned all 60 steps, ~21s,
190
+ * and threw away what it had read.) */
191
+ const lapCatalog = async (pane, startId, seen, left = MAX_STEPS) => {
192
+ if (left <= 0)
193
+ return seen;
194
+ await key(pane, "Down");
195
+ await sleep(ARROW_STEP_MS);
196
+ const f = parseFrame(await screen(pane));
197
+ if (!f)
198
+ return seen;
199
+ const all = byIdMerge(seen, f.rows);
200
+ const at = cursorRow(f)?.id;
201
+ return startId && at === startId ? all : lapCatalog(pane, startId ?? at, all, left - 1);
202
+ };
203
+ /** Arrow the cursor onto the row carrying `id`, re-reading after every key (a
204
+ * dropped arrow costs a step, not a wrong model). Direction comes from the
205
+ * frame when both rows are on it; otherwise keep going down — the list wraps. */
206
+ const moveToId = async (pane, id, left = MAX_STEPS) => {
207
+ const f = parseFrame(await screen(pane));
208
+ if (!f)
209
+ return undefined;
210
+ if (cursorRow(f)?.id === id)
211
+ return f;
212
+ if (left <= 0)
213
+ return undefined;
214
+ const to = f.rows.find((r) => r.id === id)?.n ?? 0;
215
+ await key(pane, to && f.cursor && to < f.cursor ? "Up" : "Down");
216
+ await sleep(ARROW_STEP_MS);
217
+ return moveToId(pane, id, left - 1);
218
+ };
219
+ /** Why `want` matched no row — the words it was matched by, against what was there. */
220
+ const missReason = (want, catalog) => {
221
+ const words = [...new Set(want.toLowerCase().match(/[a-z]+/gu) ?? [])];
222
+ return `'${want}' 不在列表里: 读到 ${catalog.length} 项, 没有 id 与它相同, 也没有一项含 ${words.map((w) => `'${w}'`).join(" / ") || "可比的词"} (列表: ${catalog.join(" / ")})`;
223
+ };
224
+ /** Puts the picker on the tab a caller asked for. Enter applies to the tab that
225
+ * is showing, and the other one rewrites the model every new session starts
226
+ * on — so a caller asking for "session" must never Enter on "Global". */
227
+ const ensureScope = async (pane, scope, left = 4) => {
228
+ const f = parseFrame(await screen(pane));
229
+ if (!f)
230
+ return undefined;
231
+ if (!f.scope || f.scope === scope)
232
+ return f.scope;
233
+ if (left <= 0)
234
+ return undefined;
235
+ await key(pane, "Tab");
236
+ await sleep(400);
237
+ return ensureScope(pane, scope, left - 1);
238
+ };
128
239
  // After the select key: answer the cache-warning confirm if it comes up, then
129
240
  // wait for the picker to be gone and a receipt that wasn't there before.
130
241
  const settle = (pane, before) => until(async () => {
@@ -154,64 +265,58 @@ export const selectModel = async (pane, wanted, log, scope = "session") => {
154
265
  await runTmux(["send-keys", "-t", pane, "-l", "/model"]);
155
266
  await sleep(150);
156
267
  await key(pane, "Enter");
157
- if (!(await until(async () => parseFrame(await screen(pane)), OPEN_TIMEOUT_MS))) {
268
+ const opened = await until(async () => parseFrame(await screen(pane)), OPEN_TIMEOUT_MS);
269
+ if (!opened) {
158
270
  log.warn({ pane, wanted: want, tail: (await screen(pane)).slice(-300) }, "model-select: picker never opened");
159
- return { ok: false, reason: "/model 的模型列表没有出现" };
271
+ // A picker we couldn't read is still a modal: Esc out of it, or the very
272
+ // next thing sent to this pane lands in the picker instead of the prompt.
273
+ await dismissPicker(pane);
274
+ return { ok: false, reason: "/model 的模型列表没有出现, 目录没读到" };
160
275
  }
161
- const rows = await readCatalog(pane);
162
- const catalog = rows.map((r) => r.label);
276
+ // Two renders, one goal: the best row for `want` over the WHOLE catalog (not
277
+ // the first row that merely shares a word with it), sitting under the cursor.
278
+ const firstRows = opened.byId && closestModel(opened.rows, want) ? opened.rows : undefined;
279
+ const rows = opened.byId
280
+ ? firstRows ?? (await lapCatalog(pane, cursorRow(opened)?.id, opened.rows))
281
+ : await readCatalog(pane);
163
282
  const row = closestModel(rows, want);
164
- log.info({ pane, wanted: want, scope, catalog, match: row?.label }, "model-select: read live catalog");
165
- if (!row) {
166
- await closePicker(pane);
167
- return { ok: false, catalog, reason: `'${want}' 对不上列表里的任何模型 (${catalog.join(" / ") || "读取失败"})` };
168
- }
283
+ const catalog = rows.map((r) => r.id ?? r.label);
284
+ const current = rows.find((r) => r.current);
285
+ const currentKey = current ? current.id ?? current.label : undefined;
286
+ log.info({ pane, wanted: want, scope, rows: rows.length, catalog, current: currentKey, match: row?.id ?? row?.label }, "model-select: read live catalog");
287
+ const frame = !row ? undefined : opened.byId ? await moveToId(pane, row.id) : (await moveTo(pane, row.n)) ?? undefined;
288
+ const miss = async (reason) => {
289
+ await dismissPicker(pane);
290
+ log.warn({ pane, wanted: want, rows: rows.length, current: currentKey, reason }, "model-select: no selection");
291
+ return { ok: false, catalog, ...(currentKey ? { current: currentKey } : {}), reason };
292
+ };
293
+ if (!rows.length)
294
+ return miss("选择器开了, 但一行也没认出来 —— 渲染多半又变了");
295
+ if (!row)
296
+ return miss(missReason(want, catalog));
297
+ if (!frame)
298
+ return miss(`列表 ${rows.length} 项里匹配到 '${row.id ?? row.label}', 但光标走了 ${MAX_STEPS} 步没停上去`);
299
+ const applied = row.id ?? row.label;
169
300
  // Already on it: nothing to do for this session — but making it the default
170
301
  // still takes the Enter.
171
302
  if (row.current && scope === "session") {
172
303
  await closePicker(pane);
173
- return { ok: true, applied: row.label, scope, catalog };
304
+ return { ok: true, applied, scope, catalog };
174
305
  }
175
- const at = await moveTo(pane, row.n);
176
- if (!at) {
177
- await closePicker(pane);
178
- return { ok: false, catalog, reason: `光标没能停到 '${row.label}' 上` };
306
+ // The tabbed render applies Enter to whichever tab is showing, and the other
307
+ // one rewrites the default every new session starts on — so an ask for
308
+ // "session" never Enters on "Global".
309
+ if (frame.byId) {
310
+ const on = frame.scope === scope ? frame.scope : await ensureScope(pane, scope);
311
+ if (on !== scope)
312
+ return miss(`选择器停在「${on ?? "未知"}」这一档, 按 Enter 会写到别处, 没按`);
179
313
  }
180
- await key(pane, scope === "session" && at.sessionOnly ? "s" : "Enter");
314
+ await key(pane, !frame.byId && scope === "session" && frame.sessionOnly ? "s" : "Enter");
181
315
  const receipt = await settle(pane, readbacks(start).join("\n"));
182
- if (receipt?.startsWith("Set model to"))
183
- return { ok: true, applied: row.label, scope: SESSION_RECEIPT_RE.test(receipt) ? "session" : "default", catalog };
184
- log.warn({ pane, wanted: want, match: row.label, receipt, tail: (await screen(pane)).slice(-300) }, "model-select: selection did not land");
185
- return { ok: false, catalog, reason: receipt ? `选中 '${row.label}' 后没有切换: ${receipt}` : `选中 '${row.label}' 后没等到回执` };
186
- };
187
- // ── Exact ids: when the picker round trip can be skipped ─────────────────────
188
- // `--model <id>` at launch saves the whole picker dance, but the flag is not
189
- // validated — so it only ever gets an id the API has already answered under:
190
- // one read back from a transcript's `message.model`. Those sightings are also
191
- // what pairs a picker label with its id ("Haiku 4.5" ↔ claude-haiku-4-5-…):
192
- // no table to keep, the evidence is already on disk.
193
- // A label naming exactly one model: "Opus 5.5" — not "Default (recommended)",
194
- // and not "Opus 4.6 (1M context)", whose transcript id drops the context tier.
195
- const PLAIN_LABEL_RE = /^([a-z]+)\s+(\d+(?:\.\d+)*)$/iu;
196
- /** `id` is the model `label` names: same family word, same version. */
197
- export const labelFitsId = (label, id) => {
198
- const m = PLAIN_LABEL_RE.exec(label.trim());
199
- return !!m && (id.toLowerCase().match(/[a-z]+/gu) ?? []).includes(m[1].toLowerCase()) && versionOf(id) === m[2];
200
- };
201
- /** Claude Code's own `--model` aliases: valid launch args as-is, so a tier's
202
- * "haiku" needs no `/model` picker (whose "Kept model as …" echo is chat noise). */
203
- export const isLaunchAlias = (wanted) => /^(?:haiku|sonnet|opus)$/i.test(wanted.trim());
204
- /** The exact id to launch with, or undefined when `wanted` is colloquial
205
- * ("opus", "最新的 opus") or names nothing ever seen. `seen` is consumed
206
- * lazily, likeliest first — the first hit ends the scan. */
207
- export const exactModelId = (wanted, seen) => {
208
- const want = wanted.trim();
209
- if (!want)
210
- return undefined;
211
- for (const id of seen)
212
- if (id === want || labelFitsId(want, id))
213
- return id;
214
- return undefined;
316
+ if (receipt && APPLIED_RE.test(receipt))
317
+ return { ok: true, applied, scope: SESSION_RECEIPT_RE.test(receipt) ? "session" : "default", catalog };
318
+ log.warn({ pane, wanted: want, match: applied, receipt, tail: (await screen(pane)).slice(-300) }, "model-select: selection did not land");
319
+ return { ok: false, catalog, ...(currentKey ? { current: currentKey } : {}), reason: receipt ? `选中 '${applied}' 后没有切换: ${receipt}` : `选中 '${applied}' 后没等到回执` };
215
320
  };
216
321
  // ── Effort: the `/effort` slider ─────────────────────────────────────────────
217
322
  // `/effort <level>` is NOT session-scoped: it also rewrites the user's default
@@ -1 +1 @@
1
- {"version":3,"file":"model-select.js","sourceRoot":"","sources":["../../daemon/model-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-select.js","sourceRoot":"","sources":["../../daemon/model-select.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,11 @@ import { homedir } from "node:os";
24
24
  import { baseOfKey } from "../shared/session-label.js";
25
25
  import { renderReminder } from "../shared/reminder.js";
26
26
  import { clipLine } from "../shared/std.js";
27
+ /** 按注入先后排好的键 → Seen。 */
28
+ export const seenOf = (ordered) => {
29
+ const ks = new Set(ordered);
30
+ return Object.assign((k) => ks.has(k), { latest: (pre) => [...ordered].reverse().find((k) => k.startsWith(pre)) });
31
+ };
27
32
  const none = { text: "", keys: [] };
28
33
  // ── 近 N 次注入的窗口 ────────────────────────────────────────────────
29
34
  export const SEEN_DEPTH = 10;
@@ -48,10 +53,7 @@ export const createSeenRing = (store, sidOf, depth = SEEN_DEPTH) => {
48
53
  store?.drop(t);
49
54
  };
50
55
  return {
51
- of: (t) => {
52
- const ks = new Set((live(t)?.ring ?? []).flat());
53
- return (k) => ks.has(k);
54
- },
56
+ of: (t) => seenOf((live(t)?.ring ?? []).flat()),
55
57
  push: (t, keys) => {
56
58
  const prev = live(t)?.ring ?? [];
57
59
  // 一路空着的窗口不必为又一次空注入写盘。
@@ -110,42 +112,60 @@ export const groupRows = (ns, cwd) => {
110
112
  export const SNAP_MAX = 16;
111
113
  /** CSV 的值: 有逗号 / 引号才加引号 (内部引号双写)。 */
112
114
  const csv = (s) => (/[",]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s);
113
- /** 快照 → `name,state,job` 表; 太多就截断并指路 wizard_roster。 */
115
+ const kTok = (n) => (n === undefined ? "" : `${Math.round(n / 1000)}k`);
116
+ const cacheOf = (cold) => (cold === undefined ? "" : cold ? "cold" : "warm");
117
+ /** 快照 → `name,state,ctx,cache,job` 表; 太多就截断并指路 wizard_roster。 */
114
118
  export const renderSnapshot = (rows) => [
115
- "name,state,job",
116
- ...rows.slice(0, SNAP_MAX).map((r) => [r.name, r.state, csv(clip(r.job))].join(",")),
119
+ "name,state,ctx,cache,job",
120
+ ...rows.slice(0, SNAP_MAX).map(snapRow),
117
121
  ...(rows.length > SNAP_MAX ? [`…(+${rows.length - SNAP_MAX}) wizard_roster`] : []),
118
122
  ];
123
+ /** 一行快照「变没变」的口径: ctx 按 CTX_STEP 分档 —— 每轮涨几 k 不值得再说一遍, 跨档 (含 COLD_GATE 100k) 才说。 */
124
+ export const CTX_STEP = 50_000;
125
+ const sigOf = (r) => [r.state, r.ctx === undefined ? "" : Math.floor(r.ctx / CTX_STEP), cacheOf(r.cold), r.job].join("|");
126
+ /** 记「上次告诉它的这一行」的键。 */
127
+ const valKey = (r) => `v:${r.name}=${sigOf(r)}`;
128
+ const snapRow = (r) => [r.name, r.state, kTok(r.ctx), cacheOf(r.cold), csv(clip(r.job))].join(",");
119
129
  /** 生 / 收 / 改职责 / 改名 —— 快照的表里已经是它们之后的样子。 */
120
130
  const subsumed = (n) => n.op === "born" || n.op === "ended" || n.op === "job" || n.op === "renamed";
121
131
  /** 名册那一段。去重按单条 (`r:<那一行>`) 记, 渲染时再并行; 规矩只在窗口里没给过时给。
122
132
  * `snap` 给了 (长住的收件人) 且窗口里没给过整表: 给一份此刻的群况表 (mode=full) ——
123
133
  * 会话一换窗口就清零, 所以交接 / /clear 后的头一条注入必带; 表里已是变动之后的样子,
124
- * 生收改名那几行一并记作给过, 只剩 note 照挂。 */
134
+ * 生收改名那几行一并记作给过, 只剩 note 照挂。
135
+ * 整表之后每次注入现算一遍表, 只挂与「上次告诉它的那一行」(`v:` 键, 按 sigOf 比) 不同的行 ——
136
+ * state / 冷热 / ctx 跨档随时间变, 不挂的话它手里那份能旧到窗口那头; 挂在注入上正是它要做决定的那一刻。
137
+ * 按「最新一个 v: 键」比而不按「窗口里有没有」: A→B→A 时窗口里还躺着 A, 但它上次听到的是 B。
138
+ * 整表把每行的 v: 键一起记下, 窗口里只要还有整表, 表里每个名字就都有基线。 */
125
139
  export const rosterPart = (ns, cwd, snap) => (seen) => {
126
140
  const fresh = [...new Map(netNotices(ns).map((n) => [renderNotice(n, cwd), n]))].filter(([r]) => !seen(`r:${r}`));
127
- const table = snap && !seen("roster:full") ? snap() : undefined;
141
+ const full = !seen("roster:full");
142
+ const now = snap?.().slice(0, SNAP_MAX);
143
+ const table = full ? now : undefined;
144
+ const moved = full ? [] : (now ?? []).filter((r) => seen.latest(`v:${r.name}=`) !== valKey(r));
128
145
  if (table?.length) {
129
146
  const notes = fresh.filter(([, n]) => !subsumed(n));
130
147
  return {
131
148
  text: renderReminder({ wezard: "roster", mode: "full" }, [
132
- "Wizards in this chat now (state as of this message; truth: wizard_roster). FYI only — don't reply.",
149
+ "Wizards in this chat now (as of this message; truth: wizard_roster). FYI only — don't reply.",
150
+ // 列义只随整表给 (每个窗口一次), 变动行不重复。dispatch 不点名时自己算冷热, 这几列只在点名 `to` / tell_peer 时要看。
151
+ "state: busy=mid-turn (a new task queues behind it) · parked=waiting on an approval click · idle=free · -=no live session (waking respawns it). cache cold = waking it rewrites its whole ctx (≈ctx/25k × a fresh spawn); only weigh this when you name `to` — dispatch already does.",
133
152
  ...renderSnapshot(table),
134
153
  ...groupRows(notes.map(([, n]) => n), cwd).map((r) => `- ${r}`),
135
154
  ]),
136
- keys: ["roster:full", ...fresh.map(([r]) => `r:${r}`)],
155
+ keys: ["roster:full", ...table.map(valKey), ...fresh.map(([r]) => `r:${r}`)],
137
156
  };
138
157
  }
139
- if (!fresh.length)
158
+ if (!fresh.length && !moved.length)
140
159
  return none;
141
160
  const rows = groupRows(fresh.map(([, n]) => n), cwd);
142
161
  const rule = !seen("rule:roster");
143
162
  return {
144
- text: renderReminder({ wezard: "roster" }, [
163
+ text: renderReminder({ wezard: "roster", ...(moved.length ? { mode: "delta" } : {}) }, [
145
164
  ...(rule ? ["Roster changes since your charter snapshot (truth: wizard_roster). FYI only — don't reply or relay; skip if irrelevant."] : []),
165
+ ...(moved.length ? ["Rows changed since the last table (name,state,ctx,cache,job; as of this message):", ...moved.map(snapRow)] : []),
146
166
  ...rows.map((r) => `- ${r}`),
147
167
  ]),
148
- keys: [...(rule ? ["rule:roster"] : []), ...fresh.map(([r]) => `r:${r}`)],
168
+ keys: [...(rule ? ["rule:roster"] : []), ...moved.map(valKey), ...fresh.map(([r]) => `r:${r}`)],
149
169
  };
150
170
  };
151
171
  /** `max`: 每个信箱最多攒几条 —— 一个挂了很久的 wizard 不该在醒来时读一部编年史,
@@ -194,7 +214,7 @@ export const noticeSuffixFor = (target, text, via = {}, lead = []) => {
194
214
  if (text.trimStart().startsWith("/"))
195
215
  return "";
196
216
  const box = noticeBox();
197
- return box ? box.suffix(target, via, lead) : lead.map((p) => p(() => false).text).join("");
217
+ return box ? box.suffix(target, via, lead) : lead.map((p) => p(seenOf([])).text).join("");
198
218
  };
199
219
  /** 收件人 `t` 该不该听到关于 `who` 的变动 —— 只有会改变它接下来怎么做的才算:
200
220
  * - 长住且有职责的 (没有 parent、写了 description): 同群都该知道, 别人照它的职责派活、按名字找它。
@@ -1 +1 @@
1
- {"version":3,"file":"notices.js","sourceRoot":"","sources":["../../daemon/notices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notices.js","sourceRoot":"","sources":["../../daemon/notices.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,EAAE;AACF,wDAAwD;AACxD,+CAA+C;AAC/C,qCAAqC;AACrC,EAAE;AACF,+CAA+C;AAC/C,4CAA4C;AAC5C,oDAAoD;AACpD,wDAAwD;AACxD,4CAA4C;AAC5C,EAAE;AACF,4CAA4C;AAC5C,EAAE;AACF,yDAAyD;AACzD,kDAAkD;AAClD,oDAAoD;AACpD,mDAAmD;AACnD,EAAE;AACF,yCAAyC;AACzC,sDAAsD;AACtD,8CAA8C;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAc5C,wBAAwB;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAA0B,EAAQ,EAAE;IACzD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrI,CAAC,CAAC;AAIF,MAAM,IAAI,GAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAiB7C,iEAAiE;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAU7B,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;AACnC,wBAAwB;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAA2B,EAAE,CACjG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AAEpF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAmC,EAAE,KAA4B,EAAE,KAAK,GAAG,UAAU,EAAY,EAAE;IAChI,MAAM,GAAG,GAAG,IAAI,GAAG,CAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAuB,EAAE;QAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,iDAAiD;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAsB,EAAQ,EAAE;QACtD,IAAI,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YACjC,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO;YACxD,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,GAAG,CAAC,CAAS,EAAsB,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAExG;4BAC4B;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAqB,EAAY,EAAE;IAC5D,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAU,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1H,sCAAsC;AACtC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,CAAqB,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACtF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEpD,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,GAAG,GAAG,EAAE,EAAU,EAAE;IAC1D,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3L,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACvE,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,MAAM;YACT,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,2DAA2D,CAAC;QACxF,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,QAAQ,CAAC;AACtB,mDAAmD;AACnD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,GAAW,EAAU,EAAE,CACpD,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvG,MAAM,SAAS,GAAG,CAAC,EAAqB,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1I,iDAAiD;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAqB,EAAE,GAAW,EAAY,EAAE;IACxE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CACtB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAC3G,IAAI,GAAG,EAAoB,CAC5B,CAAC;IACF,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B,qCAAqC;AACrC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,MAAM,IAAI,GAAG,CAAC,CAAqB,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACpG,MAAM,OAAO,GAAG,CAAC,IAAyB,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1G,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAY,EAAE,CAAC;IACpE,0BAA0B;IAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,QAAQ,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CACnF,CAAC;AACF,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,KAAK,GAAG,CAAC,CAAU,EAAU,EAAE,CACnC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvG,sBAAsB;AACtB,MAAM,MAAM,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,MAAM,OAAO,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpH,2CAA2C;AAC3C,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC;AAErH;;;;;;;+CAO+C;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAqB,EAAE,GAAW,EAAE,IAA+B,EAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;IAChH,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3H,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBACvD,8FAA8F;gBAC9F,6EAA6E;gBAC7E,sRAAsR;gBACtR,GAAG,cAAc,CAAC,KAAK,CAAC;gBACxB,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAChE,CAAC;YACF,IAAI,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC7E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yHAAyH,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5I,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mFAAmF,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC7B,CAAC;QACF,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAChG,CAAC;AACJ,CAAC,CAAC;AAEF;;;;mEAImE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAQ5B,EAAE,EAAa,EAAE;IACnB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,CAAC,MAAc,EAAY,EAAE;QACzC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtH,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,GAAG,GAAW,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO;YAClD,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK;QACL,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChJ,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAEF,wDAAwD;AACxD,4CAA4C;AAC5C,8CAA8C;AAC9C,IAAI,KAA4B,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAc,EAAa,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,SAAS,GAAG,GAA0B,EAAE,CAAC,KAAK,CAAC;AAE5D;;mDAEmD;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,MAAW,EAAE,EAAE,OAAwB,EAAE,EAAU,EAAE;IACjH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC,CAAC;AAKF;;;;;gCAKgC;AAChC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAW,EAAE,CAC5D,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE1F;oDACoD;AACpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAA8B,EAC9B,IAAY,EACZ,MAAyB,EACf,EAAE,CACZ,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { json, readBody } from "./http.js";
2
+ import { reachable } from "./reach.js";
2
3
  import { withTagHeader } from "../shared/session-label.js";
3
4
  // Strip principal prefix (`user:` / `chat:`) AND `#tag` suffix so callers
4
5
  // can pass daemon-internal target keys (`user:xxx#foo`) verbatim; the WeCom
@@ -18,7 +19,7 @@ export const makeMessageHandler = (client, log) => {
18
19
  json(res, 400, { ok: false, error: "missing chat or text" });
19
20
  return;
20
21
  }
21
- if (!client.isConnected) {
22
+ if (!reachable(client, chat)) {
22
23
  json(res, 503, { ok: false, error: "ws_disconnected" });
23
24
  return;
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../daemon/outbound.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,0EAA0E;AAC1E,4EAA4E;AAC5E,uCAAuC;AACvC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAE,GAAW,EAAW,EAAE;IAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAoB,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,0EAA0E;YAC1E,wEAAwE;YACxE,gEAAgE;YAChE,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC1C,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../daemon/outbound.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,0EAA0E;AAC1E,4EAA4E;AAC5E,uCAAuC;AACvC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAE,GAAW,EAAW,EAAE;IAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAoB,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,0EAA0E;YAC1E,wEAAwE;YACxE,gEAAgE;YAChE,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC1C,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}