wezard 2.5.1 → 2.6.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.
Files changed (113) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CLAUDE.md +3 -0
  3. package/README.md +43 -1
  4. package/cli/wezard.sh +5 -0
  5. package/config.example.jsonc +22 -5
  6. package/dist/cli/codex-hook.js +91 -0
  7. package/dist/cli/codex-hook.js.map +1 -0
  8. package/dist/cli/codex-sync.js +64 -0
  9. package/dist/cli/codex-sync.js.map +1 -0
  10. package/dist/cli/init.js +7 -3
  11. package/dist/cli/init.js.map +1 -1
  12. package/dist/cli/sync.js +16 -5
  13. package/dist/cli/sync.js.map +1 -1
  14. package/dist/daemon/aibot-media.js +6 -2
  15. package/dist/daemon/aibot-media.js.map +1 -1
  16. package/dist/daemon/approval.js +44 -21
  17. package/dist/daemon/approval.js.map +1 -1
  18. package/dist/daemon/bot-mux.js +157 -0
  19. package/dist/daemon/bot-mux.js.map +1 -0
  20. package/dist/daemon/cc-session.js +8 -1
  21. package/dist/daemon/cc-session.js.map +1 -1
  22. package/dist/daemon/cfg-sync.js +1 -0
  23. package/dist/daemon/cfg-sync.js.map +1 -1
  24. package/dist/daemon/claim.js +45 -1
  25. package/dist/daemon/claim.js.map +1 -1
  26. package/dist/daemon/config-api.js +59 -23
  27. package/dist/daemon/config-api.js.map +1 -1
  28. package/dist/daemon/detail.js +4 -0
  29. package/dist/daemon/detail.js.map +1 -1
  30. package/dist/daemon/http.js +9 -0
  31. package/dist/daemon/http.js.map +1 -1
  32. package/dist/daemon/inbound.js +54 -28
  33. package/dist/daemon/inbound.js.map +1 -1
  34. package/dist/daemon/index.js +181 -139
  35. package/dist/daemon/index.js.map +1 -1
  36. package/dist/daemon/jobs.js +1 -1
  37. package/dist/daemon/jobs.js.map +1 -1
  38. package/dist/daemon/last-response.js +12 -6
  39. package/dist/daemon/last-response.js.map +1 -1
  40. package/dist/daemon/mirror-bridge.js +351 -144
  41. package/dist/daemon/mirror-bridge.js.map +1 -1
  42. package/dist/daemon/peers.js +12 -16
  43. package/dist/daemon/peers.js.map +1 -1
  44. package/dist/daemon/picker-policy.js +46 -0
  45. package/dist/daemon/picker-policy.js.map +1 -0
  46. package/dist/daemon/quota.js +10 -7
  47. package/dist/daemon/quota.js.map +1 -1
  48. package/dist/daemon/reach.js +5 -1
  49. package/dist/daemon/reach.js.map +1 -1
  50. package/dist/daemon/receipts.js +1 -1
  51. package/dist/daemon/receipts.js.map +1 -1
  52. package/dist/daemon/route.js +67 -26
  53. package/dist/daemon/route.js.map +1 -1
  54. package/dist/daemon/session-scan.js +31 -7
  55. package/dist/daemon/session-scan.js.map +1 -1
  56. package/dist/daemon/spawn-tmux.js +167 -73
  57. package/dist/daemon/spawn-tmux.js.map +1 -1
  58. package/dist/daemon/steward-model.js +24 -0
  59. package/dist/daemon/steward-model.js.map +1 -0
  60. package/dist/daemon/subagent-tail.js +5 -0
  61. package/dist/daemon/subagent-tail.js.map +1 -1
  62. package/dist/daemon/task-registry.js +6 -1
  63. package/dist/daemon/task-registry.js.map +1 -1
  64. package/dist/daemon/tasks.js +1 -1
  65. package/dist/daemon/tasks.js.map +1 -1
  66. package/dist/daemon/tips.js +1 -1
  67. package/dist/daemon/tips.js.map +1 -1
  68. package/dist/daemon/wizard-memory.js +12 -6
  69. package/dist/daemon/wizard-memory.js.map +1 -1
  70. package/dist/daemon/wizard.js +7 -5
  71. package/dist/daemon/wizard.js.map +1 -1
  72. package/dist/daemon/ws.js +79 -10
  73. package/dist/daemon/ws.js.map +1 -1
  74. package/dist/mcp/server.js +19 -18
  75. package/dist/mcp/server.js.map +1 -1
  76. package/dist/shared/chat-http.js +63 -29
  77. package/dist/shared/chat-http.js.map +1 -1
  78. package/dist/shared/chat-view.js +10 -3
  79. package/dist/shared/chat-view.js.map +1 -1
  80. package/dist/shared/cli-backends.js +11 -0
  81. package/dist/shared/cli-backends.js.map +1 -1
  82. package/dist/shared/codex-approval.js +57 -0
  83. package/dist/shared/codex-approval.js.map +1 -0
  84. package/dist/shared/codex-hooks.js +134 -0
  85. package/dist/shared/codex-hooks.js.map +1 -0
  86. package/dist/shared/codex.js +125 -0
  87. package/dist/shared/codex.js.map +1 -0
  88. package/dist/shared/config.js +85 -21
  89. package/dist/shared/config.js.map +1 -1
  90. package/dist/shared/detail-render.js +24 -16
  91. package/dist/shared/detail-render.js.map +1 -1
  92. package/dist/shared/detail-store.js +11 -10
  93. package/dist/shared/detail-store.js.map +1 -1
  94. package/dist/shared/modal-pane.js +19 -1
  95. package/dist/shared/modal-pane.js.map +1 -1
  96. package/dist/shared/model-tier-migration.js +43 -0
  97. package/dist/shared/model-tier-migration.js.map +1 -0
  98. package/dist/shared/model-tiers.js +35 -0
  99. package/dist/shared/model-tiers.js.map +1 -0
  100. package/dist/shared/reminder.js +19 -4
  101. package/dist/shared/reminder.js.map +1 -1
  102. package/dist/shared/session-label.js +27 -2
  103. package/dist/shared/session-label.js.map +1 -1
  104. package/dist/shared/tool-hints.js +144 -0
  105. package/dist/shared/tool-hints.js.map +1 -0
  106. package/dist/shared/workspace-trust.js +69 -0
  107. package/dist/shared/workspace-trust.js.map +1 -0
  108. package/dist/shared/world.js +5 -4
  109. package/dist/shared/world.js.map +1 -1
  110. package/dist/svr/index.js +3 -0
  111. package/dist/svr/index.js.map +1 -1
  112. package/hooks/pre-tool-use.sh +1 -1
  113. package/package.json +6 -1
@@ -13,6 +13,7 @@
13
13
  // 打上「不划算」—— 默认偏向省钱, 但仍只是标记, 拍板的还是管家。
14
14
  //
15
15
  // 全是纯函数: 候选的原料 (文件集 / 最近的话 / ctx) 由调用方从 transcript 读好送进来。
16
+ import { resolve, basename } from "node:path";
16
17
  import { addr, agoOf, ctxOf } from "./wizard.js";
17
18
  // 这类词两边都常见, 撞上了也说明不了是同一件事。
18
19
  const STOP = new Set([
@@ -30,7 +31,31 @@ export const termsOf = (text) => {
30
31
  const han = (text.match(/[一-鿿]{2,}/g) ?? []).flatMap((run) => Array.from({ length: run.length - 1 }, (_, i) => run.slice(i, i + 2)));
31
32
  return new Set([...ascii, ...han].filter((t) => t.length >= 2 && !STOP.has(t) && !/^\d+$/.test(t)));
32
33
  };
33
- const shared = (task, text) => [...termsOf(text)].filter((t) => task.has(t));
34
+ // 项目指引不因候选池小、职责或最近问话里又提到而升级成强证据。
35
+ const GUIDANCE = new Set(["agents", "claude", "readme", "contributing", "code_of_conduct", "changelog", "license", "copilot-instructions", "gemini"]);
36
+ const withoutGuidance = (text) => text.replace(/[A-Za-z0-9_][A-Za-z0-9_.\-/]{2,}/g, (w) => GUIDANCE.has(stemOf(w).toLowerCase()) ? " " : w);
37
+ const fileRefs = (text) => text.match(/(?:\/|\.\/|\.\.\/)?[A-Za-z0-9_][A-Za-z0-9_.\/-]*\.[A-Za-z][A-Za-z0-9]*(?![A-Za-z0-9_.\/-])/g) ?? [];
38
+ const CONTINUE_RE = /继续|接着|续篇|上一轮|上次|刚才|此前|follow[ -]?up|continue|previous (?:task|change)|your (?:change|patch)/i;
39
+ // 独立验收与否定续篇优先; 历史背景里提到「刚才」不能把新活变成续篇。
40
+ const SEPARATE_RE = /(?:不要|别|无需|不再|不是|并非|不用|不能|不应).{0,8}(?:继续|接着|续篇|上一轮|上次)|独立(?:的)?(?:新)?(?:任务|问题|事项|核查|核实|检查)|新(?:的)?(?:任务|问题)|(?:do not|don't|never|not)\s+(?:continue|resume|follow[ -]?up)|(?:independent|unrelated|separate|new)\s+(?:task|question|check)/i;
41
+ const UNSETTLED = new Set(["working", "blocked", "needs-input", "deferred", "errored", "queued"]);
42
+ /** 没开工单的任务也占用: 接入的欠着, 派出的在等; spinner 闲不代表已交差。 */
43
+ export const routeReceiptDutiesOf = (inflight, target) => inflight
44
+ .filter((x) => UNSETTLED.has(x.state))
45
+ .flatMap((x) => [
46
+ ...(x.to === target ? [`${x.turn} 欠着 ${x.from}: ${x.state}`] : []),
47
+ ...(x.from === target ? [`${x.turn} 在等 ${x.to}: ${x.state}`] : []),
48
+ ]);
49
+ /** 只读全表占用: 自己开的、跨群的单同样占用; 落定成员可释放, owner 要等关单。 */
50
+ export const routeDutiesOf = (jobs, target, inflight = []) => [
51
+ ...jobs.filter((j) => j.status === "open").flatMap((j) => [
52
+ ...(j.owner === target ? [`${j.id} 开单者: ${j.title}`] : []),
53
+ ...j.members.filter((m) => m.target === target && !m.outcome)
54
+ .map((m) => `${j.id} ${m.role ?? "exec"}: ${m.task || j.title}`),
55
+ ]),
56
+ ...routeReceiptDutiesOf(inflight, target),
57
+ ];
58
+ const shared = (task, text) => [...termsOf(withoutGuidance(text))].filter((t) => task.has(t));
34
59
  const relTo = (cwd, p) => (cwd && p.startsWith(`${cwd}/`) ? p.slice(cwd.length + 1) : p);
35
60
  /** `daemon/mirror-bridge.ts` → `mirror-bridge`。 */
36
61
  const stemOf = (p) => (p.split("/").pop() ?? "").replace(/\.[^.]+$/, "");
@@ -38,40 +63,46 @@ const near = (a, b) => !!a && !!b && (a === b || a.startsWith(`${b}/`) || b.star
38
63
  /** 这件活点到的文件名: 每个英文词取最后一段去扩展名 —— `daemon/wizard.ts` 只贡献
39
64
  * `wizard`, 不贡献目录 `daemon` (否则 daemon.log 也算命中)。 */
40
65
  const stemsOf = (text) => new Set((text.match(/[A-Za-z0-9_][A-Za-z0-9_.\-/]{2,}/g) ?? []).map((w) => stemOf(w).toLowerCase()).filter((w) => w.length >= 3 && !STOP.has(w)));
41
- /** 同一个文件名只留最后碰的那一次 (`./wizard.js` 与 `daemon/wizard.ts` 是一回事)。 */
42
- const byStem = (files) => files.filter((f, i) => !files.slice(i + 1).some((g) => stemOf(g) === stemOf(f)));
66
+ /** 同名文件可能是不同任务的材料, 只去除重复路径。 */
67
+ const uniqueFiles = (files) => [...new Set(files)];
43
68
  /** 公共文件: 池子里不少候选都读过的文件名 (web/chat.js、shared/role-view.ts 这类) —— 谁都读过, 不构成选人理由。
44
- * 至少 3 个候选读过且占到池子的三成才算; 池子太小 (<3) 没有统计意义, 不判。 */
69
+ * 统计类至少 3 个候选读过且占到池子的三成; 项目指引在任何池子里固定降权。 */
45
70
  export const commonStems = (rows) => {
46
71
  const need = Math.max(3, Math.ceil(rows.length * 0.3));
47
72
  const tally = rows.flatMap((r) => [...new Set(r.files.map((f) => stemOf(f).toLowerCase()))])
48
73
  .reduce((m, s) => m.set(s, (m.get(s) ?? 0) + 1), new Map());
49
- return new Set([...tally].filter(([, n]) => n >= need).map(([s]) => s));
74
+ return new Set([...GUIDANCE, ...[...tally].filter(([, n]) => n >= need).map(([s]) => s)]);
50
75
  };
51
- const evidenceOf = (task, stems, common, taskCwd) => (row) => {
76
+ const evidenceOf = (text, task, stems, common, taskCwd) => (row) => {
52
77
  // 文件只认整个文件名被点到: 目录名 (daemon/、web/) 几乎每个文件都带, 文件名里的
53
78
  // 半截词 (role-render 的 render) 又太常见 —— 撞上它们说明不了读过这一个。
54
- const hit = byStem(row.files.filter((f) => stems.has(stemOf(f).toLowerCase())));
79
+ const hit = uniqueFiles(row.files.map((f) => resolve(row.cwd, f)).filter((f) => stems.has(stemOf(f).toLowerCase())));
55
80
  const isCommon = (f) => common.has(stemOf(f).toLowerCase());
81
+ // 词面/同名文件只供人看。连续性还要有明确续篇、精确路径和近期任务里的同一文件。
82
+ const paths = new Set(fileRefs(text).map((f) => resolve(taskCwd, f)));
83
+ const files = hit.filter((f) => !isCommon(f) && !!taskCwd && paths.has(resolve(f)));
84
+ const recent = new Set(row.asks.flatMap(fileRefs).map((f) => resolve(row.cwd, f)));
56
85
  return {
57
86
  row,
87
+ continuity: !SEPARATE_RE.test(text) && CONTINUE_RE.test(text) && files.some((f) => recent.has(resolve(f))),
88
+ clues: hit.filter((f) => !isCommon(f) && !files.includes(f)),
58
89
  desc: shared(task, row.description),
59
90
  exp: shared(task, row.expertise ?? ""),
60
91
  asks: [...new Set(row.asks.flatMap((a) => shared(task, a)))],
61
- files: hit.filter((f) => !isCommon(f)),
92
+ files,
62
93
  common: hit.filter(isCommon),
63
94
  sameCwd: near(row.cwd, taskCwd),
64
95
  };
65
96
  };
66
97
  // 排序只是让最有证据的先被看到: 文件命中 (它真读过) > 职责 > 最近的话; 同工作区只用来打破平手。
67
98
  // 专长是它自己声明的「熟哪块」, 与职责同权。
68
- const weight = (e) => e.files.length * 3 + (e.desc.length + e.exp.length) * 2 + e.asks.length;
99
+ const weight = (e) => e.files.length * 3 + e.clues.length + (e.desc.length + e.exp.length) * 2 + e.asks.length;
69
100
  /** 有交集的候选, 证据最强的在前。 */
70
101
  export const rankCandidates = (task, taskCwd, rows, hot) => {
71
102
  // 平手时缓存热的优先 (同一把尺 wakeCostOf: 没冷 = 唤醒只读缓存); 不给 hot 就不分。
72
103
  const warm = (r) => (hot && !wakeCostOf(r.contextTokens, touchOf(r), hot.now, r.cacheTtlMs ?? hot.ttlMs).cold ? 1 : 0);
73
104
  return rows
74
- .map(evidenceOf(termsOf(task), stemsOf(task), commonStems(rows), taskCwd))
105
+ .map(evidenceOf(task, termsOf(withoutGuidance(task)), stemsOf(task), commonStems(rows), taskCwd))
75
106
  .filter((e) => weight(e) > 0 || e.common.length > 0)
76
107
  .sort((x, y) => weight(y) - weight(x) || Number(y.sameCwd) - Number(x.sameCwd) || warm(y.row) - warm(x.row) || y.row.lastActivity - x.row.lastActivity);
77
108
  };
@@ -107,9 +138,13 @@ export const coldGateOf = (name, ctx, touchedAt, now, ttlMs) => {
107
138
  ? `${name} 冷 · ctx ${k(ctx)} · 唤醒约等于白板 spawn 的 ${w.times} 倍; 真依赖它的上下文就带 \`force:true\` 重发, 否则白板 spawn`
108
139
  : "";
109
140
  };
110
- /** 一句话就说得清的小活: 改样式 / 文案 / 单点修改 / 简单查询 —— 用不上谁的长上下文。 */
111
- const SMALL_RE = /样式|css|border|颜色|字号|字体|间距|边距|圆角|阴影|对齐|图标|文案|措辞|改名|重命名|typo|错别字|拼写|一行|单点|查一下|看一下|问一下|是多少|在哪/i;
112
- export const isSmallTask = (task) => task.length <= 40 || (task.length <= 160 && SMALL_RE.test(task));
141
+ /** 短句不等于简单: 先排除需要判断的任务, 再认明确的跑腿/单点动作。 */
142
+ const COMPLEX_RE = /架构|疑难|排障|诊断|根因|设计|审查|评审|重构|竞态|死锁|性能|安全|architecture|design|review|debug|diagnos|root cause|refactor|race condition|deadlock/i;
143
+ const SMALL_RE = /改(?:名|文案|颜色|字号|字体|间距|边距|圆角)|重命名|typo|错别字|拼写|(?:修改|调整).*(?:css|border|颜色|字号|字体|间距|边距|圆角)|(?:核实|确认|检查|查一下|查看|check|verify).*(?:文件.*(?:存在|加载|路径)|加载路径|file.*(?:exist|load|path))|(?:文件.*(?:存在|加载路径)).*(?:核实|确认|检查)|rename|fix (?:a )?typo/i;
144
+ const FILE_CHECK_RE = /(?:核实|确认|检查|查一下|查看|check|verify).*(?:存在|加载|路径|exists?|load|path)/i;
145
+ export const isSmallTask = (task) => task.length <= 160 && !COMPLEX_RE.test(withoutGuidance(task))
146
+ && (SMALL_RE.test(task) || (fileRefs(task).length > 0 && FILE_CHECK_RE.test(task)));
147
+ const smallFor = (task, tier) => tier ? tier === "mini" || tier === "light" : isSmallTask(task);
113
148
  /** 证据弱 (没碰过这件活点到的文件; 小活则少于 3 个) 又贵 (冷且 ≥60k, 或热但 ≥150k) → 不划算。 */
114
149
  const notWorth = (e, w, small, ctx) => (e.files.length === 0 || (small && e.files.length < 3)) && ctx >= (w.cold ? BIG_COLD : BIG_WARM);
115
150
  const quoted = (ts, max = 6) => ts.slice(0, max).map((t) => `「${t}」`).join("") + (ts.length > max ? ` +${ts.length - max}` : "");
@@ -148,7 +183,7 @@ const renderOne = (e, c) => {
148
183
  e.desc.length ? `职责${quoted(e.desc)}` : "",
149
184
  e.exp.length ? `专长${quoted(e.exp)}` : "",
150
185
  e.asks.length ? `最近的话${quoted(e.asks)}` : "",
151
- e.common.length ? `降权的公共文件 ${e.common.slice(-4).map((f) => relTo(r.cwd, f)).join(" ")}${e.common.length > 4 ? ` +${e.common.length - 4}` : ""} (不少人都读过, 不计证据)` : "",
186
+ e.common.length ? `降权的公共文件 ${e.common.slice(-4).map((f) => relTo(r.cwd, f)).join(" ")}${e.common.length > 4 ? ` +${e.common.length - 4}` : ""} (公共指引或多人读过, 不计证据)` : "",
152
187
  ].filter(Boolean);
153
188
  return [
154
189
  [`\`${addr(r)}\` ${r.busy ? "忙" : r.alive ? "闲" : "冷"}`, where, ctxOf(r.contextTokens) || "ctx ?", agoOf(r.lastActivity, now)]
@@ -156,6 +191,11 @@ const renderOne = (e, c) => {
156
191
  ...(r.description ? [` 职责: ${r.description}`] : []),
157
192
  ...(r.expertise ? [` 专长: ${r.expertise}`] : []),
158
193
  ` 命中: ${hits.join(" · ")}`,
194
+ ...(e.clues.length ? [` 同名文件线索: ${e.clues.map((f) => basename(f)).join(" ")} (路径未对上, 不证明连续性)`] : []),
195
+ ...(r.lead ? [" 占用: lead 身份"] : []),
196
+ ...(r.duties?.length ? [` 占用: ${r.duties.join(" · ")}`] : []),
197
+ ` 连续性: ${e.continuity ? "续篇点到近期任务的同一文件" : "未证实; 文件/职责/问话的词面匹配仅是线索"}`,
198
+ ` 自动复用: ${vetoOf(e, now, c.ttlMs, c.small, false) || "可选; 真实续篇优先 tell_peer re"}`,
159
199
  ...(r.files.length ? [` 上下文: 读过 ${r.files.length} 个文件 (${spread(r.cwd, r.files)})`] : []),
160
200
  ...costLines(e, c),
161
201
  ...(r.summary ? [` 最近: ${r.summary}`] : []),
@@ -168,25 +208,26 @@ export const renderCandidates = (task, cands, now, ttlMs, home = "") => {
168
208
  cands.length
169
209
  ? `和这件活有交集的已有 wizard ${cands.length} 个, 证据强的在前 (文件命中 = 它真读过; 词面重叠只是线索):`
170
210
  : "没有哪个已有 wizard 的职责、最近的话或读过的文件和这件活有交集。",
171
- ...(c.small ? ["体量: 看着是小活 (一句话 / 样式 / 单点修改 / 简单查询) —— 默认白板 spawn 或交给 ctx 小的, 除非它真依赖某段上下文。"] : []),
211
+ ...(c.small ? ["体量: 看着是小活 (明确简单动作) —— 默认白板 spawn 或交给 ctx 小的, 除非它真依赖某段上下文。"] : []),
172
212
  ...cands.flatMap((e) => renderOne(e, c)),
173
213
  "",
174
214
  `· 新 spawn —— 白板起步, 不背任何历史 (起步 ctx 约 ${k(FRESH_CTX)})。`,
175
215
  "由你判断: 交集是不是同一件事; 接着用它那段上下文省下的重读, 值不值得唤醒时的缓存重写和往后每一轮背着的 ctx。标了 ⚠ 的默认不转, 除非你看得出这件活确实离不开它那段上下文。",
176
216
  ].join("\n");
177
217
  };
178
- /** 「真的是同一件事」的最低证据: 它读过这件活点到的文件, 或职责撞上两个以上的词。 */
179
- const strong = (e) => e.files.length > 0 || e.desc.length + e.exp.length >= 2;
180
218
  /** 一个候选为什么不转给它; "" = 可以转。 */
181
219
  const vetoOf = (e, now, ttlMs, small, force) => {
182
220
  const r = e.row;
183
221
  const ctx = r.contextTokens;
184
222
  const w = wakeCostOf(ctx, touchOf(r), now, r.cacheTtlMs ?? ttlMs);
185
- return !strong(e) ? "证据弱 (只有词面重叠)"
186
- : r.busy ? "正忙"
187
- : notWorth(e, w, small, ctx) ? `不划算 (${small ? "小活" : "证据弱"}却要${w.cold ? "整段重写" : "一直背着"} ${k(ctx)})`
188
- : w.cold && ctx >= BIG_COLD && !force ? `缓存冷且 ctx ${k(ctx)} (大 ctx 已冷默认不转; 活真依赖它的上下文就 to+force)`
189
- : "";
223
+ return r.lead ? "lead 身份, 独立任务不自动复用 (续篇用 tell_peer re)"
224
+ : r.duties?.length ? `任务占用 (${r.duties.join(" · ")})`
225
+ : !r.alive ? "不在线"
226
+ : r.busy ? "正忙"
227
+ : !e.continuity ? "未证实实质上下文连续性 (词面/文件交集只是线索; 续篇用 tell_peer re)"
228
+ : notWorth(e, w, small, ctx) ? `不划算 (${small ? "小活" : "证据弱"}却要${w.cold ? "整段重写" : "一直背着"} ${k(ctx)})`
229
+ : w.cold && ctx >= BIG_COLD && !force ? `缓存冷且 ctx ${k(ctx)} (大 ctx 已冷默认不转; 活真依赖它的上下文就 to+force)`
230
+ : "";
190
231
  };
191
232
  const evidenceLine = (e) => [
192
233
  e.files.length ? `读过点到的 ${e.files.length} 个文件` : "",
@@ -195,8 +236,8 @@ const evidenceLine = (e) => [
195
236
  e.row.contextTokens ? ctxOf(e.row.contextTokens) : "",
196
237
  ].filter(Boolean).join(" · ");
197
238
  /** 默认决定: 候选按证据排好 (rankCandidates), 取头一个没被否决的; 一个都没有 → spawn, 理由写前几个为什么不行。 */
198
- export const decide = (task, cands, now, ttlMs, force = false) => {
199
- const small = isSmallTask(task);
239
+ export const decide = (task, cands, now, ttlMs, force = false, tier) => {
240
+ const small = smallFor(task, tier);
200
241
  const vetoes = cands.map((e) => ({ e, veto: vetoOf(e, now, ttlMs, small, force) }));
201
242
  const hit = vetoes.find((v) => !v.veto);
202
243
  if (hit)
@@ -208,6 +249,6 @@ export const decide = (task, cands, now, ttlMs, force = false) => {
208
249
  : "白板 spawn —— 没有哪个已有 wizard 和这件活有交集",
209
250
  };
210
251
  };
211
- /** spawn 时的默认档: lead 要判断 → hard; 一句话的小活 → light; 其余 standard。两头的 mini / ultra 只由调用方显式给。 */
212
- export const tierFor = (task, lead) => lead ? "hard" : isSmallTask(task) ? "light" : "standard";
252
+ /** spawn 时的默认档: lead/架构排障设计评审 → hard; 明确简单动作 → light; 其余 standard。两头的 mini / ultra 只由调用方显式给。 */
253
+ export const tierFor = (task, lead) => lead || COMPLEX_RE.test(withoutGuidance(task)) ? "hard" : isSmallTask(task) ? "light" : "standard";
213
254
  //# sourceMappingURL=route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../daemon/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../daemon/route.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,YAAY;AACZ,EAAE;AACF,4CAA4C;AAC5C,2CAA2C;AAC3C,0CAA0C;AAC1C,4CAA4C;AAC5C,2CAA2C;AAC3C,EAAE;AACF,wDAAwD;AACxD,sDAAsD;AACtD,2CAA2C;AAC3C,qCAAqC;AACrC,EAAE;AACF,0DAA0D;AAC1D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAoB,MAAM,aAAa,CAAC;AAqCnE,2BAA2B;AAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;IACnB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;IAClF,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACjE,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAe,EAAE;IACnD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnF,CAAC,CAAC,WAAW,EAAE;QACf,GAAG,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC;AAEF,iCAAiC;AACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtJ,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAChG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,6FAA6F,CAAC,IAAI,EAAE,CAAC;AAC7J,MAAM,WAAW,GAAG,8FAA8F,CAAC;AACnH,qCAAqC;AACrC,MAAM,WAAW,GAAG,8OAA8O,CAAC;AAEnQ,MAAM,SAAS,GAAG,IAAI,GAAG,CAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGrH,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAkC,EAAE,MAAc,EAAY,EAAE,CAAC,QAAQ;KAC3G,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;KACrC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACd,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CACnE,CAAC,CAAC;AAEL,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAA0B,EAAE,MAAc,EAAE,WAAqC,EAAE,EAAY,EAAE,CAAC;IAC9H,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxD,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;aAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;KACnE,CAAC;IACF,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAiB,EAAE,IAAY,EAAY,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7H,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjH,mDAAmD;AACnD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAEzF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1H;qDACqD;AACrD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAe,EAAE,CAC5C,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpJ,+BAA+B;AAC/B,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhF;6CAC6C;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAyB,EAAe,EAAE;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;SACzF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC9E,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,KAAkB,EAAE,MAAmB,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC,GAAa,EAAY,EAAE;IAC5I,mDAAmD;IACnD,oDAAoD;IACpD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,0CAA0C;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,OAAO;QACL,GAAG;QACH,UAAU,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC;QACnC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,KAAK;QACL,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF,wDAAwD;AACxD,yBAAyB;AACzB,MAAM,MAAM,GAAG,CAAC,CAAW,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAEjI,uBAAuB;AACvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,IAAyB,EAAE,GAAoC,EAAc,EAAE;IAC3I,wDAAwD;IACxD,MAAM,IAAI,GAAG,CAAC,CAAW,EAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzI,OAAO,IAAI;SACR,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;SAChG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5J,CAAC,CAAC;AAEF,0EAA0E;AAC1E,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,+CAA+C;AAC/C,wCAAwC;AACxC,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEzB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAW5D,uCAAuC;AACvC,MAAM,OAAO,GAAG,CAAC,CAAW,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,CAAC;AAErE,yEAAyE;AACzE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,GAAW,EAAE,KAAa,EAAY,EAAE;IACjG,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,SAAS,GAAG,KAAK,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;AACzF,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,GAAW,EAAE,KAAa,EAAU,EAAE;IAC/F,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,QAAQ;QAC9B,CAAC,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,kCAAkC;QACtI,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,mDAAmD;AACnD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AAEjC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,SAAiB,EAAE,GAAW,EAAE,KAAa,EAAU,EAAE;IAC7G,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,SAAS;QAC/B,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,8CAA8C;QACtG,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,UAAU,GAAG,8HAA8H,CAAC;AAClJ,MAAM,QAAQ,GAAG,yOAAyO,CAAC;AAC3P,MAAM,aAAa,GAAG,mEAAmE,CAAC;AAC1F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;OAC9G,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,IAAe,EAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAE5H,kEAAkE;AAClE,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,CAAW,EAAE,KAAc,EAAE,GAAW,EAAW,EAAE,CAClF,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEnG,MAAM,MAAM,GAAG,CAAC,EAAqB,EAAE,GAAG,GAAG,CAAC,EAAU,EAAE,CACxD,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEnG,0CAA0C;AAC1C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,KAAwB,EAAU,EAAE;IAC/D,MAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5F,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC,CAAC;AAIF,MAAM,SAAS,GAAG,CAAC,CAAW,EAAE,CAAM,EAAY,EAAE;IAClD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;QACjB,CAAC,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE;QACxH,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM;QACzB,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,MAAM;QACzD,CAAC,CAAC,yBAAyB,CAAC;IAC9B,OAAO;QACL,SAAS,IAAI,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;QAChD,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrI,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAW,EAAE,CAAM,EAAY,EAAE;IAClD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAChB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3G,MAAM,IAAI,GAAG;QACX,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QAC9I,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC1C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE;KACvK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO;QACL,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;aAC3H,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,wBAAwB,EAAE;QACrE,WAAW,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,yBAAyB,EAAE;QACjF,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAA0B,EAAE,GAAW,EAAE,KAAa,EAAE,IAAI,GAAG,EAAE,EAAU,EAAE;IAC1H,MAAM,CAAC,GAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9D,OAAO;QACL,KAAK,CAAC,MAAM;YACV,CAAC,CAAC,qBAAqB,KAAK,CAAC,MAAM,qCAAqC;YACxE,CAAC,CAAC,sCAAsC;QAC1C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,EAAE;QACF,uCAAuC,CAAC,CAAC,SAAS,CAAC,IAAI;QACvD,8FAA8F;KAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAWF,6BAA6B;AAC7B,MAAM,MAAM,GAAG,CAAC,CAAW,EAAE,GAAW,EAAE,KAAa,EAAE,KAAc,EAAE,KAAc,EAAU,EAAE;IACjG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAChB,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC;IAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC;QACrD,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;YACnD,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;gBAChB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBACb,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,6CAA6C;wBAC7D,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG;4BACnG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,sCAAsC;gCAC9F,CAAC,CAAC,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAW,EAAU,EAAE,CAC3C;IACE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE;IACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC7C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC3C,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;CACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAA0B,EAAE,GAAW,EAAE,KAAa,EAAE,KAAK,GAAG,KAAK,EAAE,IAAe,EAAY,EAAE;IACvI,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3G,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,MAAM,CAAC,MAAM;YAChB,CAAC,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzF,CAAC,CAAC,mCAAmC;KACxC,CAAC;AACJ,CAAC,CAAC;AAEF,gGAAgG;AAChG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAa,EAAY,EAAE,CAC/D,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { codexSessions, codexSessionForPane } from "../shared/codex.js";
1
2
  // Scan the host for live `claude` sessions running inside tmux, and summarize
2
3
  // what each is doing from its transcript tail. Used by the /sessions/* routes
3
4
  // so a WeCom-side Claude can list / switch / describe sibling sessions.
@@ -138,7 +139,7 @@ const cwdMapFor = async (pids) => {
138
139
  // Pull a `--session-id <uuid>` out of a cmdline. Returns "" when absent
139
140
  // (e.g. claude launched with bare `-r`/`--resume` — no explicit id to bind).
140
141
  const sessionIdFromCmd = (cmd) => {
141
- const m = cmd.match(/--session-id[= ]+([0-9a-fA-F-]{36})/);
142
+ const m = cmd.match(/(?:--session-id[= ]+|\bresume\s+)([0-9a-fA-F-]{36})/);
142
143
  return m?.[1] ?? "";
143
144
  };
144
145
  // A process belongs to an agent CLI if its cmdline mentions any active
@@ -147,7 +148,7 @@ const sessionIdFromCmd = (cmd) => {
147
148
  // panes were invisible to the scan and could never be listed or switched to.
148
149
  const looksLikeAgentCli = (cmd) => activeBackends().some((b) => cmd.toLowerCase().includes(basename(b.bin).toLowerCase()));
149
150
  // Transcript roots of every active backend, in registry order (primary first).
150
- const projectRoots = () => activeBackends().map((b) => expandHome(b.projectsDir));
151
+ const projectRoots = () => activeBackends().filter((b) => b.name !== "codex").map((b) => expandHome(b.projectsDir));
151
152
  // Locate `<sessionId>.jsonl` (UUID is globally unique, so we don't have to
152
153
  // reverse the cwd→dir encoding). Skips subagent transcripts (they live under a
153
154
  // `<sid>/subagents/` subdir, never directly under a project dir).
@@ -183,7 +184,7 @@ const findJsonl = (sessionId) => {
183
184
  const expectedJsonl = (cwd, sessionId) => {
184
185
  if (!cwd || !sessionId)
185
186
  return "";
186
- const cands = projectDirsFor(cwd);
187
+ const cands = projectDirsFor(cwd).filter(({ backend }) => backend.name !== "codex");
187
188
  const hit = cands.find(({ dir }) => existsSync(dir)) ?? cands[0];
188
189
  return hit ? join(hit.dir, `${sessionId}.jsonl`) : "";
189
190
  };
@@ -195,7 +196,10 @@ const expectedJsonl = (cwd, sessionId) => {
195
196
  const inferByCwd = (cwd, taken) => {
196
197
  if (!cwd)
197
198
  return null;
198
- for (const { dir } of projectDirsFor(cwd)) {
199
+ for (const { backend, dir } of projectDirsFor(cwd)) {
200
+ // Codex identity comes from SessionStart or an explicit native thread id.
201
+ if (backend.name === "codex")
202
+ continue;
199
203
  if (!existsSync(dir))
200
204
  continue;
201
205
  let files;
@@ -276,12 +280,18 @@ export const scanClaudeSessions = async () => {
276
280
  const explicitSid = sessionIdFromCmd(e.cmd);
277
281
  const prev = byPane.get(owner.paneId);
278
282
  if (!prev || (!prev.explicitSid && explicitSid)) {
279
- byPane.set(owner.paneId, { pid, owner, explicitSid });
283
+ byPane.set(owner.paneId, { pid, owner, explicitSid, cmd: e.cmd });
280
284
  }
281
285
  }
282
286
  // Resolve cwd only for the chosen worker per pane (a handful of pids).
283
287
  const cwds = await cwdMapFor(Array.from(byPane.values()).map((w) => w.pid));
284
- const panes = Array.from(byPane.values()).map((w) => ({ ...w, cwd: cwds.get(w.pid) ?? "" }));
288
+ const codexBackend = activeBackends().find((b) => b.name === "codex");
289
+ // Read date-partitioned rollouts at most once, and only for unregistered panes.
290
+ let codexPaths;
291
+ const panes = Array.from(byPane.values()).map((w) => ({
292
+ ...w, cwd: cwds.get(w.pid) ?? "",
293
+ isCodex: Boolean(codexBackend && w.cmd.toLowerCase().includes(basename(codexBackend.bin).toLowerCase())),
294
+ }));
285
295
  const seen = new Set();
286
296
  const out = [];
287
297
  const emit = (sessionId, jsonlPath, cwd, owner) => {
@@ -312,6 +322,20 @@ export const scanClaudeSessions = async () => {
312
322
  // session may not have written its jsonl yet — fall back to the expected
313
323
  // path so it still appears (summary reads as a new/empty session).
314
324
  for (const w of panes) {
325
+ if (w.isCodex) {
326
+ // Native /new and /resume leave the process argv pointing at the old id.
327
+ const registered = codexSessionForPane(w.owner.paneId);
328
+ if (registered && registered.cwd === w.cwd && backendForPath(registered.jsonlPath).name === "codex") {
329
+ emit(registered.sessionId, registered.jsonlPath, registered.cwd, w.owner);
330
+ }
331
+ else if (w.explicitSid) {
332
+ codexPaths ??= new Map(codexSessions(expandHome(codexBackend.projectsDir)).map((s) => [s.sessionId, s.jsonlPath]));
333
+ const path = codexPaths.get(w.explicitSid);
334
+ if (path)
335
+ emit(w.explicitSid, path, w.cwd, w.owner);
336
+ }
337
+ continue;
338
+ }
315
339
  if (!w.explicitSid)
316
340
  continue;
317
341
  const jsonlPath = findJsonl(w.explicitSid) || expectedJsonl(w.cwd, w.explicitSid);
@@ -321,7 +345,7 @@ export const scanClaudeSessions = async () => {
321
345
  // Pass 2: resume-mode (`-r`/`--resume`, no id) — infer via cwd→newest jsonl,
322
346
  // skipping any session already claimed in pass 1.
323
347
  for (const w of panes) {
324
- if (w.explicitSid)
348
+ if (w.explicitSid || w.isCodex)
325
349
  continue;
326
350
  const inf = inferByCwd(w.cwd, seen);
327
351
  if (inf)
@@ -1 +1 @@
1
- {"version":3,"file":"session-scan.js","sourceRoot":"","sources":["../../daemon/session-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-scan.js","sourceRoot":"","sources":["../../daemon/session-scan.ts"],"names":[],"mappings":"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"}