wezard 1.2.12 → 1.2.16

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 (54) hide show
  1. package/README.md +2 -3
  2. package/config.example.jsonc +32 -0
  3. package/dist/cli/init.js +53 -2
  4. package/dist/cli/init.js.map +1 -1
  5. package/dist/daemon/approval.js +463 -105
  6. package/dist/daemon/approval.js.map +1 -1
  7. package/dist/daemon/danger.js +23 -0
  8. package/dist/daemon/danger.js.map +1 -1
  9. package/dist/daemon/graph.js +22 -4
  10. package/dist/daemon/graph.js.map +1 -1
  11. package/dist/daemon/inbound.js +112 -71
  12. package/dist/daemon/inbound.js.map +1 -1
  13. package/dist/daemon/index.js +67 -17
  14. package/dist/daemon/index.js.map +1 -1
  15. package/dist/daemon/mirror-bridge.js +561 -133
  16. package/dist/daemon/mirror-bridge.js.map +1 -1
  17. package/dist/daemon/peers.js +67 -6
  18. package/dist/daemon/peers.js.map +1 -1
  19. package/dist/daemon/pending.js +4 -3
  20. package/dist/daemon/pending.js.map +1 -1
  21. package/dist/daemon/session-name.js +133 -0
  22. package/dist/daemon/session-name.js.map +1 -0
  23. package/dist/daemon/session-scan.js +18 -2
  24. package/dist/daemon/session-scan.js.map +1 -1
  25. package/dist/daemon/spawn-tmux.js +103 -16
  26. package/dist/daemon/spawn-tmux.js.map +1 -1
  27. package/dist/daemon/ws.js +8 -1
  28. package/dist/daemon/ws.js.map +1 -1
  29. package/dist/mcp/server.js +4 -4
  30. package/dist/mcp/server.js.map +1 -1
  31. package/dist/shared/allow-rules.js +391 -0
  32. package/dist/shared/allow-rules.js.map +1 -0
  33. package/dist/shared/chat-render.js +2 -0
  34. package/dist/shared/chat-render.js.map +1 -1
  35. package/dist/shared/chat-view.js +37 -2
  36. package/dist/shared/chat-view.js.map +1 -1
  37. package/dist/shared/claude-config-path.js +132 -0
  38. package/dist/shared/claude-config-path.js.map +1 -0
  39. package/dist/shared/claude-permissions.js +63 -0
  40. package/dist/shared/claude-permissions.js.map +1 -0
  41. package/dist/shared/cli-backends.js +15 -2
  42. package/dist/shared/cli-backends.js.map +1 -1
  43. package/dist/shared/config.js +42 -2
  44. package/dist/shared/config.js.map +1 -1
  45. package/dist/shared/detail-render.js +22 -1
  46. package/dist/shared/detail-render.js.map +1 -1
  47. package/dist/shared/detail-store.js.map +1 -1
  48. package/dist/shared/modal-pane.js +101 -0
  49. package/dist/shared/modal-pane.js.map +1 -0
  50. package/dist/shared/session-label.js +26 -3
  51. package/dist/shared/session-label.js.map +1 -1
  52. package/package.json +1 -1
  53. package/web/chat.css +30 -0
  54. package/web/chat.js +60 -6
@@ -39,8 +39,10 @@ export const renderChatPage = () => `<!doctype html><html lang="zh-CN"><head><me
39
39
  <span class="back" id="tb-back">‹</span>
40
40
  <span class="em" id="tb-em">💬</span>
41
41
  <span class="h" id="tb-h"></span>
42
+ <span class="cwd" id="tb-cwd" hidden></span>
42
43
  <span class="sub" id="tb-sub"></span>
43
44
  </div>
45
+ <div class="gbar" id="gbar" hidden></div>
44
46
  <div class="thread" id="thread"><div class="thread-in" id="thread-in"></div></div>
45
47
  <div class="statusbar">
46
48
  <span id="sb" style="display:contents"></span>
@@ -1 +1 @@
1
- {"version":3,"file":"chat-render.js","sourceRoot":"","sources":["../../shared/chat-render.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,qEAAqE;AACrE,sDAAsD;AACtD,wDAAwD;AACxD,+CAA+C;AAC/C,EAAE;AACF,2DAA2D;AAC3D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAExD,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAU,EAAE;IACpC,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,GAAG,UAAU,GAAG,QAAQ,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE;QAClD,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,WAAW;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAU,EAAE,CACpC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAEjG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+Ba,CAAC"}
1
+ {"version":3,"file":"chat-render.js","sourceRoot":"","sources":["../../shared/chat-render.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,qEAAqE;AACrE,sDAAsD;AACtD,wDAAwD;AACxD,+CAA+C;AAC/C,EAAE;AACF,2DAA2D;AAC3D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAExD,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAU,EAAE;IACpC,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,GAAG,UAAU,GAAG,QAAQ,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE;QAClD,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,WAAW;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAU,EAAE,CACpC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAEjG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiCa,CAAC"}
@@ -89,17 +89,52 @@ const summarizeTag = (target, turns, now) => {
89
89
  return {
90
90
  target,
91
91
  tag,
92
- label: labelFor(tag || target),
92
+ label: tag ? labelFor(tag) : "🧙",
93
93
  sessionId: last?.sessionId,
94
+ cwd: [...turns].reverse().find((r) => r.cwd)?.cwd,
94
95
  model: [...turns].reverse().find((r) => r.model)?.model,
95
96
  turns: turns.length,
96
97
  lastTs: turns.reduce((m, r) => Math.max(m, r.updatedAt), 0),
97
98
  running: until > now,
98
99
  runningUntil: until > now ? until : 0,
99
100
  preview: last ? previewOf(last) : "",
101
+ origin: [...turns].reverse().find((r) => r.origin)?.origin,
100
102
  usage: aggregate(turns, now),
101
103
  };
102
104
  };
105
+ // ── Graph runs ────────────────────────────────────────────────────────
106
+ // 一个 run 的 pipeline 不存在任何一条记录里 —— 它散在这个 run 派出的每条 turn 的
107
+ // origin 上 (各自带着 round/step/tag)。按 step 归并就把步骤序列还原了出来, 无需
108
+ // 把整张 spec 逐轮冗余进 detail 存储。
109
+ const summarizeRun = (turns, now) => {
110
+ const os = turns.map((r) => ({ o: r.origin, r }));
111
+ const head = os[os.length - 1];
112
+ const until = turns.reduce((m, r) => Math.max(m, staleAt(r)), 0);
113
+ const byStep = os.reduce((m, { o, r }) => {
114
+ const cur = m.get(o.step);
115
+ return cur && cur.ts >= r.createdAt ? m : m.set(o.step, { step: o.step, tag: tagOfKey(r.target), ts: r.createdAt });
116
+ }, new Map());
117
+ return {
118
+ runId: head.o.runId,
119
+ rounds: head.o.rounds,
120
+ steps: head.o.steps,
121
+ round: head.o.round,
122
+ step: head.o.step,
123
+ pipeline: [...byStep.values()].sort((a, b) => a.step - b.step),
124
+ startedAt: os[0].r.createdAt,
125
+ lastTs: turns.reduce((m, r) => Math.max(m, r.updatedAt), 0),
126
+ running: until > now,
127
+ runningUntil: until > now ? until : 0,
128
+ };
129
+ };
130
+ /** Group this chat's graph-stamped turns by runId → one summary per run. */
131
+ export const graphSummaries = (turns, now) => {
132
+ const byRun = turns
133
+ .filter((r) => r.origin)
134
+ .sort((a, b) => a.createdAt - b.createdAt)
135
+ .reduce((m, r) => m.set(r.origin.runId, [...(m.get(r.origin.runId) ?? []), r]), new Map());
136
+ return [...byRun.values()].map((rs) => summarizeRun(rs, now)).sort((a, b) => b.lastTs - a.lastTs);
137
+ };
103
138
  /** Group every turn of one chat by session key → the chat list. Most recently
104
139
  * active tag first; the running ones naturally float up. */
105
140
  export const chatSummary = (records, base, now) => {
@@ -111,6 +146,6 @@ export const chatSummary = (records, base, now) => {
111
146
  const tags = [...byTarget.entries()]
112
147
  .map(([target, turns]) => summarizeTag(target, [...turns].sort((a, b) => a.createdAt - b.createdAt), now))
113
148
  .sort((a, b) => b.lastTs - a.lastTs);
114
- return { base, at: now, tags, usage: aggregate(mine, now) };
149
+ return { base, at: now, tags, graphs: graphSummaries(mine, now), usage: aggregate(mine, now) };
115
150
  };
116
151
  //# sourceMappingURL=chat-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-view.js","sourceRoot":"","sources":["../../shared/chat-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-view.js","sourceRoot":"","sources":["../../shared/chat-view.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,gFAAgF;AAChF,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,gFAAgF;AAChF,iEAAiE;AACjE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnE,MAAM,IAAI,GAAa;IACrB,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAC1D,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;CAC9C,CAAC;AAgEF,qEAAqE;AACrE,4DAA4D;AAC5D,iDAAiD;AACjD,mDAAmD;AACnD,yCAAyC;AACzC,EAAE;AACF,mCAAmC;AACnC,2CAA2C;AAC3C,4DAA4D;AAC5D,2CAA2C;AAC3C,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,MAAM,UAAU,GAAG,CAAC,CAAmB,EAAiD,EAAE,CACxF,CAAC,CAAC,KAAK,CAAC,MAAM,CACZ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACzC,SAAS,CACV,CAAC;AAEJ,8CAA8C;AAC9C,MAAM,aAAa,GAAG,CAAC,CAAmB,EAAW,EAAE;IACrD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,CAAC,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC9D,IAAI,IAAI,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,IAAI,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAU,EAAE,CACrD,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,GAAW,EAAW,EAAE;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC;AACpC,CAAC,CAAC;AAEF;;2CAE2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,GAAW,EAAW,EAAE,CACvE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC;AAElE,MAAM,QAAQ,GAAG,CAAC,CAAmB,EAAE,GAAW,EAAU,EAAE,CAC5D,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;AAEvD,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,CAAmB,EAAE,GAAW,EAAY,EAAE;IAC3E,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;QACnC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAChC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,WAAW;QAC5C,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC;QACtC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAC3C,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,MAAM;KACpE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAkC,EAAE,GAAW,EAAY,EAAE,CACrF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAEpD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAE/F,qEAAqE;AACrE,MAAM,SAAS,GAAG,CAAC,CAAmB,EAAU,EAAE;IAChD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAA2C,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAe,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;AAEpF;uEACuE;AACvE,MAAM,SAAS,GAAG,CAAC,OAAgC,EAAE,GAAW,EAAsB,EAAE,CACtF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAE7D,iEAAiE;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAgC,EAAE,MAAc,EAAE,GAAW,EAAsB,EAAE,CAC5G,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvG,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,KAAkC,EAAE,GAAW,EAAc,EAAE;IACnG,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO;QACL,MAAM;QACN,GAAG;QACH,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACjC,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG;QACjD,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK;QACvD,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,KAAK,GAAG,GAAG;QACpB,YAAY,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACpC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM;QAC1D,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,yEAAyE;AACzE,yDAAyD;AACzD,0DAA0D;AAC1D,4BAA4B;AAC5B,MAAM,YAAY,GAAG,CAAC,KAAkC,EAAE,GAAW,EAAgB,EAAE;IACrF,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtH,CAAC,EAAE,IAAI,GAAG,EAAyB,CAAC,CAAC;IACrC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK;QACnB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM;QACrB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK;QACnB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK;QACnB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI;QACjB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QAC9D,SAAS,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS;QAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,KAAK,GAAG,GAAG;QACpB,YAAY,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtC,CAAC;AACJ,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAkC,EAAE,GAAW,EAAkB,EAAE;IAChG,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAA8B,CAAC,CAAC;IAC3H,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF;6DAC6D;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAgC,EAAE,IAAY,EAAE,GAAW,EAAe,EAAE;IACtG,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAO,CAAC;QACpB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,EAAE,IAAI,GAAG,EAA8B,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;SACzG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AACjG,CAAC,CAAC"}
@@ -0,0 +1,132 @@
1
+ // 判定一次工具调用会不会**写到 `.claude/` 配置面**。
2
+ //
3
+ // 为什么需要: 改动 `.claude/**`(settings.json / hooks / skills / commands /
4
+ // agents …) 会让 Claude Code 立起它自己的「允许 Claude 改自己的配置」原生确认框。
5
+ // 那个框**不经过 PreToolUse hook** —— hook 返回 allow 豁免不掉, `permissions.allow`
6
+ // 也覆盖不到(设计如此: hook 与 settings 本身就是权限边界, 若能被 hook 放行,
7
+ // 一次 prompt injection 改写它们就等于提权闭环)。对 weclaude 的后果是致命的:
8
+ // 规则判 allow → 不发卡 → 企微侧零感知 → pane 无限期阻塞。
9
+ //
10
+ // 2026-07-28 实测(daemon.log:5840 + transcript e1bad394):
11
+ // `mkdir -p x/.claude/skills && ls -a x` 被 `Bash(mkdir *) + Bash(ls *)` 放行、
12
+ // 没发卡, pane 上照样立起 "Do you want to proceed?", 卡死 3 分钟直到 /stop。
13
+ //
14
+ // 已知盲点: 解释器间接写入(`python3 gen.py` 内部往 `.claude/` 写文件)看不出来 ——
15
+ // 字面判定拿不到运行时行为。那类调用退回旧行为(可能死锁), 不做猜测式拦截。
16
+ // 字面变量间接(`f=~/.claude/x; rm $f`)不在盲点内: 值就在命令里, 展开一层再判。
17
+ //
18
+ // 纯函数, 无 IO —— daemon 决策与单测共用。
19
+ import { splitSegments } from "./allow-rules.js";
20
+ /** 文件类工具: 直接看 file_path / notebook_path。 */
21
+ const FILE_TOOLS = new Set(["Edit", "Write", "MultiEdit", "NotebookEdit"]);
22
+ // 会落地改动的命令头(basename 比较, 覆盖 `/bin/mkdir` 这类绝对路径写法)。
23
+ // 只读命令(cat/ls/grep/readlink…)故意不在列: 读 `.claude/` 不触发那个框, 拦了纯属误伤。
24
+ const WRITE_HEADS = new Set([
25
+ "mkdir", "rmdir", "rm", "ln", "cp", "mv", "touch", "tee", "install",
26
+ "rsync", "truncate", "chmod", "chown", "dd", "unzip", "tar", "mktemp",
27
+ ]);
28
+ const unquote = (tok) => tok.replace(/^['"]|['"]$/g, "");
29
+ // 变量间接: `f=~/.claude/settings.json; rm $f` —— 写命令那一段没有字面 `.claude`,
30
+ // 纯字面逐段判定看不见它。但赋值的值就摆在同一条命令里, 展开一次就能看见。
31
+ // (允许规则侧的纯赋值段是"无害段跳过"的, 所以这条命令能被 `Bash(rm *)` 放行 ——
32
+ // 不在这里展开, 就正好是本文件开头说的那种"不发卡 + pane 阻塞"静默死锁。)
33
+ // 只收「段首赋值」(可带 export/local 等声明头), 且值必须是字面量: `f=$(…)`
34
+ // 这类动态值收不到, 仍属开头记录的解释器/运行时盲点, 不做猜测。
35
+ const ASSIGN_RE = /^([A-Za-z_][A-Za-z0-9_]*)=(.*)$/u;
36
+ const DECL_HEADS = new Set(["export", "local", "declare", "readonly", "typeset"]);
37
+ const VAR_REF_RE = /\$\{([A-Za-z_][A-Za-z0-9_]*)\}|\$([A-Za-z_][A-Za-z0-9_]*)/gu;
38
+ /** 把段首赋值记进变量表 (就地写入 —— 逐段推进时后面的段才能用上前面的赋值)。 */
39
+ const recordAssignments = (toks, vars) => {
40
+ const start = DECL_HEADS.has(unquote(toks[0] ?? "")) ? 1 : 0;
41
+ for (let i = start; i < toks.length; i++) {
42
+ const m = ASSIGN_RE.exec(toks[i]);
43
+ if (!m)
44
+ break; // 段首赋值前缀到此为止, 后面是命令本体
45
+ vars.set(m[1], unquote(m[2]));
46
+ }
47
+ };
48
+ /** `$f` / `${f}` 展开一层; 表里没有的变量 (如 $HOME) 原样留着继续参与路径判定。 */
49
+ const expandVars = (tok, vars) => vars.size === 0 ? tok : tok.replace(VAR_REF_RE, (whole, braced, bare) => vars.get(braced ?? bare) ?? whole);
50
+ /** 路径里是否有 `.claude` 这一段 —— `~/.claude/x`、`a/.claude`、裸 `.claude` 都算。 */
51
+ export const isClaudeConfigPath = (raw) => {
52
+ const p = unquote(raw.trim());
53
+ if (!p)
54
+ return false;
55
+ return p.split("/").some((seg) => seg === ".claude");
56
+ };
57
+ // 段内所有「写重定向」的目标: `>f` `>>f` `2>f` `&>f` `>|f`, 以及 `>` 单独成 token
58
+ // 后跟目标的写法。`2>&1` `>&2` `2>&-` 是 fd 复制, 不落地文件, 跳过; `<` 只读不算。
59
+ //
60
+ // 为什么必须看目标, 而不是"段里出现过 >": 住在 `.claude/skills/**` 里的 skill 脚本,
61
+ // 调用时带任何重定向(哪怕只是 `2>/dev/null`)都会让"段内有 .claude token"和"段内有
62
+ // 重定向"这两个不相干的事实凑成误判。执行脚本不写配置面, CC 不会立原生框, 拦了纯属
63
+ // 白发卡 —— 2026-08-03 现场: 一条 ylog-query 命令在同一会话连发 13 张。
64
+ const redirectTargets = (toks) => {
65
+ const targets = [];
66
+ for (let i = 0; i < toks.length; i++) {
67
+ const idx = toks[i].indexOf(">");
68
+ if (idx < 0)
69
+ continue;
70
+ const rest = toks[i].slice(idx).replace(/^>{1,2}\|?/u, "");
71
+ if (rest.startsWith("&"))
72
+ continue; // fd 复制, 目标不是路径
73
+ if (rest) {
74
+ targets.push(rest);
75
+ continue;
76
+ }
77
+ const next = toks[i + 1]; // `> file` 分开写
78
+ if (next !== undefined) {
79
+ targets.push(next);
80
+ i++;
81
+ }
82
+ }
83
+ return targets;
84
+ };
85
+ const bashHit = (command) => {
86
+ // 引号感知切分失败(未闭合引号/孤立 &) → 整条当一段看, fail-closed 宁可多发卡。
87
+ const segments = splitSegments(command) ?? [command];
88
+ const vars = new Map();
89
+ for (const seg of segments) {
90
+ const rawToks = seg.trim().split(/\s+/u).filter(Boolean);
91
+ if (rawToks.length === 0)
92
+ continue;
93
+ recordAssignments(rawToks, vars);
94
+ const toks = rawToks.map((t) => expandVars(t, vars));
95
+ // 重定向写入(`echo x > ~/.claude/y`)与写命令同等对待; 命令头本身不必是写命令。
96
+ const redirHit = redirectTargets(toks).find((t) => isClaudeConfigPath(t));
97
+ if (redirHit)
98
+ return { path: unquote(redirHit), why: "bash-write" };
99
+ const hitTok = toks.find((t) => isClaudeConfigPath(t));
100
+ if (!hitTok)
101
+ continue;
102
+ const head = (unquote(toks[0]).split("/").pop() ?? "").trim();
103
+ if (WRITE_HEADS.has(head))
104
+ return { path: unquote(hitTok), why: "bash-write" };
105
+ // `sed -i` 原地改写; 不带 -i 的 sed 只是读。
106
+ if (head === "sed" && toks.some((t) => t === "-i" || t.startsWith("-i"))) {
107
+ return { path: unquote(hitTok), why: "bash-write" };
108
+ }
109
+ }
110
+ return undefined;
111
+ };
112
+ /**
113
+ * 命中返回 hit 详情, 未命中返回 undefined。
114
+ * Bash 逐段判定(复合命令里任一段写 `.claude/` 就算), 文件类工具看 file_path。
115
+ */
116
+ export const claudeConfigWrite = (toolName, toolInput) => {
117
+ const input = toolInput && typeof toolInput === "object" ? toolInput : undefined;
118
+ if (!input)
119
+ return undefined;
120
+ if (FILE_TOOLS.has(toolName)) {
121
+ const p = [input.file_path, input.notebook_path].find((v) => typeof v === "string" && v.trim() !== "");
122
+ return p && isClaudeConfigPath(p) ? { path: p, why: "file" } : undefined;
123
+ }
124
+ if (toolName === "Bash" || toolName === "Shell") {
125
+ const cmd = input.command;
126
+ if (typeof cmd !== "string" || !cmd.trim())
127
+ return undefined;
128
+ return bashHit(cmd);
129
+ }
130
+ return undefined;
131
+ };
132
+ //# sourceMappingURL=claude-config-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-config-path.js","sourceRoot":"","sources":["../../shared/claude-config-path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ // 从 Claude Code 的 settings.json 一次性导入 permissions → approval 三层规则。
2
+ //
3
+ // 设计取向: 只在 `wezard init`(或手动 --import-claude-permissions) 时读一次,
4
+ // 不做运行时耦合 —— Claude 配置格式演进不影响 daemon; 导入后规则由 wezard
5
+ // 自管(审批卡的「✅总是」按钮继续生长 allowRules)。
6
+ //
7
+ // 映射: permissions.allow → approval.allowRules
8
+ // permissions.ask → approval.askRules
9
+ // permissions.deny → approval.denyRules
10
+ // 兼容过滤: 引擎不支持的条目跳过并汇报 —— 非 Bash 工具带 specifier 的规则
11
+ // (如 "WebFetch(domain:…)" "Read(/etc/*)"), 以及 allow 侧的交互卡工具
12
+ // (AskUserQuestion 等, 放行会让企微远端失去问答能力)。
13
+ import { existsSync, readFileSync } from "node:fs";
14
+ import { NEVER_RULE_ALLOW, parseRule } from "./allow-rules.js";
15
+ import { expandHome } from "./paths.js";
16
+ const compatible = (raw, forAllow) => {
17
+ const r = parseRule(raw);
18
+ if (!r)
19
+ return false;
20
+ if (r.tool !== "Bash" && r.spec !== undefined)
21
+ return false;
22
+ if (forAllow && NEVER_RULE_ALLOW.has(r.tool))
23
+ return false;
24
+ return true;
25
+ };
26
+ /** 纯映射 (无 IO), 供测试与调用方复用。 */
27
+ export const mapClaudePermissions = (perms) => {
28
+ const out = { allow: [], ask: [], deny: [], skipped: [] };
29
+ const take = (list, into, forAllow) => {
30
+ if (!Array.isArray(list))
31
+ return;
32
+ for (const e of list) {
33
+ if (typeof e !== "string" || !e.trim())
34
+ continue;
35
+ const v = e.trim();
36
+ if (compatible(v, forAllow)) {
37
+ if (!into.includes(v))
38
+ into.push(v);
39
+ }
40
+ else {
41
+ out.skipped.push(v);
42
+ }
43
+ }
44
+ };
45
+ take(perms.allow, out.allow, true);
46
+ take(perms.ask, out.ask, false);
47
+ take(perms.deny, out.deny, false);
48
+ return out;
49
+ };
50
+ /** 读取 Claude settings.json 的 permissions 段; 文件缺失/解析失败返回 undefined。 */
51
+ export const readClaudePermissions = (settingsPath = "~/.claude/settings.json") => {
52
+ const abs = expandHome(settingsPath);
53
+ if (!existsSync(abs))
54
+ return undefined;
55
+ try {
56
+ const parsed = JSON.parse(readFileSync(abs, "utf8"));
57
+ return parsed?.permissions;
58
+ }
59
+ catch {
60
+ return undefined;
61
+ }
62
+ };
63
+ //# sourceMappingURL=claude-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-permissions.js","sourceRoot":"","sources":["../../shared/claude-permissions.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,gEAAgE;AAChE,oDAAoD;AACpD,kCAAkC;AAClC,EAAE;AACF,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,kDAAkD;AAClD,4DAA4D;AAC5D,uCAAuC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgBxC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,QAAiB,EAAW,EAAE;IAC7D,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAwB,EAAe,EAAE;IAC5E,MAAM,GAAG,GAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,IAAc,EAAE,QAAiB,EAAQ,EAAE;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO;QACjC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;gBAAE,SAAS;YACjD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAY,GAAG,yBAAyB,EACT,EAAE;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAElD,CAAC;QACF,OAAO,MAAM,EAAE,WAAW,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
@@ -65,6 +65,19 @@ const makeClaude = (name, bin) => {
65
65
  // fallback path in renderLine (goalStartOf on string content) should
66
66
  // catch it if codebuddy uses the same marker text, but this needs
67
67
  // confirmation from a real /goal session.
68
+ // CodeBuddy usage → snake_case shape that lastContextTokens / extractTokens expect.
69
+ const normalizeCbUsage = (pd) => {
70
+ const u = pd.usage;
71
+ if (!u)
72
+ return undefined;
73
+ const details = (u.inputTokensDetails ?? []);
74
+ return {
75
+ input_tokens: Number(u.inputTokens ?? 0),
76
+ output_tokens: Number(u.outputTokens ?? 0),
77
+ cache_read_input_tokens: details[0]?.cached_tokens ?? 0,
78
+ cache_creation_input_tokens: 0,
79
+ };
80
+ };
68
81
  const normalizeCodebuddy = (raw) => {
69
82
  if (!raw || typeof raw !== "object")
70
83
  return null;
@@ -94,7 +107,7 @@ const normalizeCodebuddy = (raw) => {
94
107
  content: blocks,
95
108
  id: providerData.messageId,
96
109
  model: providerData.model,
97
- usage: providerData.usage,
110
+ usage: normalizeCbUsage(providerData),
98
111
  };
99
112
  // status:"completed" 只说明这条记录写完了 —— codebuddy 把中途叙述和最终答复
100
113
  // 写成同形的独立 message, 映射成 stop_reason:"end_turn" 会让"中间说一句"就把
@@ -119,7 +132,7 @@ const normalizeCodebuddy = (raw) => {
119
132
  return {
120
133
  type: "assistant",
121
134
  ...uuids,
122
- message: { role: "assistant", content: [{ type: "tool_use", id: callId, name, input }] },
135
+ message: { role: "assistant", content: [{ type: "tool_use", id: callId, name, input }], usage: normalizeCbUsage(providerData) },
123
136
  };
124
137
  }
125
138
  if (type === "function_call_result") {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-backends.js","sourceRoot":"","sources":["../../shared/cli-backends.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-backends.js","sourceRoot":"","sources":["../../shared/cli-backends.ts"],"names":[],"mappings":"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"}
@@ -124,8 +124,15 @@ const Mirror = z.object({
124
124
  // human glancing at the pane sees why it's there. The reply is swallowed —
125
125
  // never mirrored to chat, the detail store, or usage accounting.
126
126
  ping: z.string().default('keepalive — reply with just "pong", take no other action'),
127
- // Push a one-line "KeepAlive · ~Nk" note to chat on each ping.
128
- notify: z.boolean().default(true),
127
+ // Stall recovery, gated PURELY by rule — never by the model's own judgment.
128
+ // When the newest transcript turn is a synthetic API-error/limit line
129
+ // ("API Error: Connection closed mid-response", "You've hit your session
130
+ // limit"), or the idle pane footer shows an error banner, a turn died
131
+ // mid-work — so the ping carries `resumePing` (a plain "continue") INSTEAD
132
+ // of `ping`. Any non-"pong" reply to a ping is treated as a real turn
133
+ // (un-swallowed to chat, clocks re-anchored) — so a resumed session shows.
134
+ resumeOnStall: z.boolean().default(true),
135
+ resumePing: z.string().default('continue'),
129
136
  })
130
137
  .default({}),
131
138
  });
@@ -229,6 +236,39 @@ const Approval = z.object({
229
236
  // 不过 hook)。默认 true。设 false 恢复原行为(允许模型自动进 plan mode)。
230
237
  blockAutoPlanMode: z.boolean().default(true),
231
238
  danger: Danger.default({}),
239
+ // Claude-Code 风格的放行规则 (语法子集见 shared/allow-rules.ts): 命中的调用
240
+ // 跳过发卡直接 allow。例:
241
+ // "Bash(git log *)" "Bash(python3 .claude/skills/*)" "mcp__server__tool"
242
+ // matcher 决定哪些工具进入审批, allowRules 在其中再挖细粒度豁免 (对 Bash 可
243
+ // 按命令前缀区分, matcher 只认工具名做不到)。默认空 = 不豁免。
244
+ allowRules: z.array(z.string()).default([]),
245
+ // 同语法的拒绝规则: 命中直接 deny (不发卡, reason 回传给 model)。
246
+ // Bash 复合命令任一段命中即拒。优先级最高: deny > ask > allow。
247
+ denyRules: z.array(z.string()).default([]),
248
+ // 同语法的强制审批规则: 命中必发卡, 压过 allowRules / 自动放行窗口 / 会话缓存。
249
+ // 用于给危险前缀 (如 "Bash(rm *)", "Bash(git push *)") 兜底 — 即使 ⏱ 窗口开着
250
+ // 也逐条确认, 语义对齐 Claude Code 的 permissions.ask。
251
+ askRules: z.array(z.string()).default([]),
252
+ // `.claude/**` 写守卫 (见 shared/claude-config-path.ts): 这类改动会触发 Claude Code
253
+ // 自己的原生确认框, 而那个框**不经过 PreToolUse hook** —— 规则一放行就是"不发卡 +
254
+ // pane 无限期阻塞"的静默死锁。开启后: 命中的调用必发卡 (压过 allowRules / ⏱窗口 /
255
+ // 会话缓存), 用户点「允许」后 daemon 去 pane 上把那个框按掉 (只按一次性 Yes);
256
+ // 按不掉则 Esc 取消并把原因注入会话, 让模型改走实体路径。
257
+ // 仅对有活 tmux pane 的镜像会话生效 —— 本地会话用户自己按掉即可。
258
+ claudeConfigGuard: z.boolean().default(true),
259
+ // 批准后等原生确认框出现的最长时间 (ms)。CC 在 hook 返回后才渲染它, 轮询步进 200ms。
260
+ // 太短会误判成 no_modal (框随后才出现, 于是没人按, 退回死锁), 4s 覆盖实测抖动。
261
+ claudeConfigModalWaitMs: z.number().int().nonnegative().default(4000),
262
+ // 审批卡 quote_area 里命令/参数体的最大字符数。WeCom 未公开该字段上限, 发送
263
+ // 失败会自动缩到 600 重试一次 (见 approval.ts), 所以可以放心调大。
264
+ // 注意手机端客户端只渲染 quote 区前 2~3 行 (实测), 看全命令靠「展开完整命令」。
265
+ cardQuoteMaxChars: z.number().int().positive().default(1200),
266
+ // Bash 命令超过 ~200 字 (卡片手机端可见极限) 时, 发卡前**无条件**先推一条含完整
267
+ // 命令的 markdown 消息。默认 0 = 关闭 —— 长命令由卡片自己承载: 引用区可点进详情
268
+ // 页, 右上角「⋯」菜单有「📄 展开完整命令」按需在群里发全文。设成正数可恢复旧
269
+ // 行为 (客户端不渲染 action_menu、或就是要全文无条件落在群里时用)。
270
+ // 此值为前置消息的总字数上限 (超出截断并注明; 按 1800 字/条分块发送)。
271
+ fullCommandPreludeChars: z.number().int().nonnegative().default(0),
232
272
  });
233
273
  // sync.targets[].kind 的合法值。claude-internal / custom 等旧值自动 collapse
234
274
  // 为 "claude" (preprocess) — settingsPath 已经表达了具体 fork, kind 只表达家族。
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../shared/config.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7E,kDAAkD;IAClD,2CAA2C;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,0DAA0D;IAC1D,iCAAiC;IACjC,kEAAkE;IAClE,wEAAwE;IACxE,kDAAkD;IAClD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,oDAAoD;IACpD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,2EAA2E;IAC3E,sDAAsD;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,yEAAyE;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,kFAAkF;IAClF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,yDAAyD;IACzD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,6DAA6D;IAC7D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,yEAAyE;IACzE,wDAAwD;IACxD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/D,2EAA2E;IAC3E,oEAAoE;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;IACxE,mEAAmE;IACnE,wDAAwD;IACxD,kDAAkD;IAClD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,6CAA6C;IAC7C,sEAAsE;IACtE,mEAAmE;IACnE,mEAAmE;IACnE,oCAAoC;IACpC,wCAAwC;IACxC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7D,4DAA4D;IAC5D,mEAAmE;IACnE,iDAAiD;IACjD,sBAAsB;IACtB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAClE,gEAAgE;IAChE,0DAA0D;IAC1D,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,oDAAoD;IACpD,kEAAkE;IAClE,kDAAkD;IAClD,4DAA4D;IAC5D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,6CAA6C;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,qEAAqE;IACrE,sCAAsC;IACtC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,yEAAyE;IACzE,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,oDAAoD;QACpD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,yDAAyD;QACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QAChD,0EAA0E;QAC1E,2DAA2D;QAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,oEAAoE;QACpE,iEAAiE;QACjE,sEAAsE;QACtE,kEAAkE;QAClE,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,mBAAmB;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,yEAAyE;QACzE,2EAA2E;QAC3E,iEAAiE;QACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC;QACpF,+DAA+D;QAC/D,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KAClC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACxD,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,0EAA0E;IAC1E,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzE,yEAAyE;IACzE,4CAA4C;IAC5C,oEAAoE;IACpE,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3D,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC/D,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,sEAAsE;IACtE,4EAA4E;IAC5E,kEAAkE;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;CACzC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,UAAU;QAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,4DAA4D;IAC5D,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1B,wEAAwE;IACxE,4EAA4E;IAC5E,iEAAiE;IACjE,8DAA8D;IAC9D,0DAA0D;IAC1D,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,uDAAuD;AACvD,+CAA+C;AAC/C,qDAAqD;AACrD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,iDAAiD;IACjD,uDAAuD;IACvD,kBAAkB;IAClB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ;IACR,+CAA+C;IAC/C,8DAA8D;IAC9D,iEAAiE;IACjE,4DAA4D;IAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChE,qDAAqD;IACrD,2CAA2C;IAC3C,qCAAqC;IACrC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,8DAA8D;IAC9D,sDAAsD;IACtD,qDAAqD;IACrD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3B,CAAC,CAAC;AAEH,mEAAmE;AACnE,mEAAmE;AACnE,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAW,EAAE,CAChD,OAAO,CAAC,KAAK,QAAQ,IAAI,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,wCAAwC;IACxC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC5D,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,mEAAmE;AACnE,kEAAkE;AAClE,mBAAmB;AACnB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC9E,CAAC,CAAC;AAEH,6DAA6D;AAC7D,2DAA2D;AAC3D,gFAAgF;AAChF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,GAAG;IACR,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;CACpD,CAAC,CAAC;AAIH,uEAAuE;AACvE,MAAM,oBAAoB,GAAG;IAC3B,wBAAwB;IACxB,uBAAuB;CACxB,CAAC;AACF,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAuB,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAoC,CAAI,EAAE,CAAa,EAAK,EAAE;IAC9E,MAAM,GAAG,GAA4B,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1G,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAA6B,EAAE,CAA4B,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAsB,EAAE;IAClE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAqB,EAAc,EAAE;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC9E,MAAM,OAAO,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,CAA4B,CAAC;IACnF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,OAAO,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACrE,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../shared/config.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7E,kDAAkD;IAClD,2CAA2C;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,0DAA0D;IAC1D,iCAAiC;IACjC,kEAAkE;IAClE,wEAAwE;IACxE,kDAAkD;IAClD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,oDAAoD;IACpD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,2EAA2E;IAC3E,sDAAsD;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,yEAAyE;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,kFAAkF;IAClF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,yDAAyD;IACzD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,6DAA6D;IAC7D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,yEAAyE;IACzE,wDAAwD;IACxD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/D,2EAA2E;IAC3E,oEAAoE;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;IACxE,mEAAmE;IACnE,wDAAwD;IACxD,kDAAkD;IAClD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,6CAA6C;IAC7C,sEAAsE;IACtE,mEAAmE;IACnE,mEAAmE;IACnE,oCAAoC;IACpC,wCAAwC;IACxC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7D,4DAA4D;IAC5D,mEAAmE;IACnE,iDAAiD;IACjD,sBAAsB;IACtB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAClE,gEAAgE;IAChE,0DAA0D;IAC1D,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,oDAAoD;IACpD,kEAAkE;IAClE,kDAAkD;IAClD,4DAA4D;IAC5D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,6CAA6C;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,qEAAqE;IACrE,sCAAsC;IACtC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,yEAAyE;IACzE,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,oDAAoD;QACpD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,yDAAyD;QACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QAChD,0EAA0E;QAC1E,2DAA2D;QAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,oEAAoE;QACpE,iEAAiE;QACjE,sEAAsE;QACtE,kEAAkE;QAClE,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,mBAAmB;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,yEAAyE;QACzE,2EAA2E;QAC3E,iEAAiE;QACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC;QACpF,4EAA4E;QAC5E,sEAAsE;QACtE,yEAAyE;QACzE,sEAAsE;QACtE,2EAA2E;QAC3E,sEAAsE;QACtE,2EAA2E;QAC3E,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;KAC3C,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACxD,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,0EAA0E;IAC1E,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzE,yEAAyE;IACzE,4CAA4C;IAC5C,oEAAoE;IACpE,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3D,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC/D,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC7D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,sEAAsE;IACtE,4EAA4E;IAC5E,kEAAkE;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;CACzC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,UAAU;QAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,4DAA4D;IAC5D,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1B,wEAAwE;IACxE,4EAA4E;IAC5E,iEAAiE;IACjE,8DAA8D;IAC9D,0DAA0D;IAC1D,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,uDAAuD;AACvD,+CAA+C;AAC/C,qDAAqD;AACrD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,iDAAiD;IACjD,uDAAuD;IACvD,kBAAkB;IAClB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,QAAQ;IACR,+CAA+C;IAC/C,8DAA8D;IAC9D,iEAAiE;IACjE,4DAA4D;IAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChE,qDAAqD;IACrD,2CAA2C;IAC3C,qCAAqC;IACrC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D,8DAA8D;IAC9D,sDAAsD;IACtD,qDAAqD;IACrD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,2DAA2D;IAC3D,kBAAkB;IAClB,6EAA6E;IAC7E,sDAAsD;IACtD,wCAAwC;IACxC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,+CAA+C;IAC/C,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,oDAAoD;IACpD,8DAA8D;IAC9D,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,yEAAyE;IACzE,yDAAyD;IACzD,wDAAwD;IACxD,qDAAqD;IACrD,kCAAkC;IAClC,0CAA0C;IAC1C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,uDAAuD;IACvD,oDAAoD;IACpD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrE,kDAAkD;IAClD,8CAA8C;IAC9C,kDAAkD;IAClD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,oDAAoD;IACpD,oDAAoD;IACpD,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACnE,CAAC,CAAC;AAEH,mEAAmE;AACnE,mEAAmE;AACnE,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAW,EAAE,CAChD,OAAO,CAAC,KAAK,QAAQ,IAAI,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,wCAAwC;IACxC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC5D,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,mEAAmE;AACnE,kEAAkE;AAClE,mBAAmB;AACnB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAC9E,CAAC,CAAC;AAEH,6DAA6D;AAC7D,2DAA2D;AAC3D,gFAAgF;AAChF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,GAAG;IACR,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;CACpD,CAAC,CAAC;AAIH,uEAAuE;AACvE,MAAM,oBAAoB,GAAG;IAC3B,wBAAwB;IACxB,uBAAuB;CACxB,CAAC;AACF,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAuB,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAoC,CAAI,EAAE,CAAa,EAAK,EAAE;IAC9E,MAAM,GAAG,GAA4B,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1G,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAA6B,EAAE,CAA4B,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAsB,EAAE;IAClE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAqB,EAAc,EAAE;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC9E,MAAM,OAAO,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,CAA4B,CAAC;IACnF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,OAAO,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACrE,CAAC,CAAC"}
@@ -50,6 +50,8 @@ const decisionBadge = (d) => {
50
50
  return { label: "通过 · 窗口", cls: "allow" };
51
51
  if (d === "allow_session")
52
52
  return { label: "通过 · 会话", cls: "allow" };
53
+ if (d === "allow_always")
54
+ return { label: "通过 · 已存规则", cls: "allow" };
53
55
  if (d === "swept")
54
56
  return { label: "通过 · 批量", cls: "allow" };
55
57
  if (d === "allow")
@@ -442,6 +444,14 @@ const TURN_CSS = `
442
444
  .tg-cut .s{opacity:.6}
443
445
  .tg-cut.switch{color:#8c959f}
444
446
  .tg-cut.switch::before,.tg-cut.switch::after{border-top-color:#d0d7de}
447
+ /* ── graph 归因条 ── 与断点条同一视觉语法 (贯穿细线), 换成紫色: 断点讲"上下文",
448
+ 归因讲"谁派的", 两者可以同时出现在一张卡片上, 必须一眼分得开。 */
449
+ .tg-graph{display:flex;align-items:center;gap:8px;font-size:11px;color:#6639ba;
450
+ font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.3px}
451
+ .tg-graph::after{content:"";flex:1;border-top:1px dashed #8250df66}
452
+ .tg-graph code{background:#8250df14;border-radius:4px;padding:0 4px}
453
+ .tg-graph .s{color:#8250df;opacity:.85}
454
+ .tg-graph .f{color:#8c959f}
445
455
  `;
446
456
  const renderJsonSection = (input) => `<details><summary>input</summary><pre><code>${highlightJson(toJson(input))}</code></pre></details>`;
447
457
  // 结果行数 (末尾换行不计)。
@@ -671,6 +681,16 @@ const CUT_TEXT = {
671
681
  const renderCut = (r) => r.cut
672
682
  ? `<div class="tg-cut ${r.cut}"><span class="l">${escHtml(CUT_TEXT[r.cut])}</span>${r.sessionId ? `<span class="s">${escHtml(r.sessionId.slice(0, 8))}</span>` : ""}</div>`
673
683
  : "";
684
+ // 归因条: 这一轮不是人打的字。userQuery 长得和真人消息一模一样, 没有这一条就分不出
685
+ // 「有人在跟 #fix 说话」和「graph 第 3 轮把 #review 的回复喂了过来」。
686
+ const renderOrigin = (r) => {
687
+ const o = r.origin;
688
+ if (!o)
689
+ return "";
690
+ const from = o.fromTag ? ` <span class="f">← ${escHtml(`#${o.fromTag}`)}</span>` : "";
691
+ return `<div class="tg-graph"><span class="l">🕸 graph <code>${escHtml(o.runId)}</code></span>` +
692
+ `<span class="s">轮 ${o.round}/${o.rounds} · 步 ${o.step}/${o.steps}</span>${from}</div>`;
693
+ };
674
694
  const renderTurnPage = (r) => {
675
695
  const { items, bodies, done, ageMs } = turnParts(r);
676
696
  const statusBadge = done
@@ -801,6 +821,7 @@ const renderTurnPage = (r) => {
801
821
  </head><body data-closed="${done ? "1" : "0"}"><div class="wrap">
802
822
  <header><h1><span class="accent">Turn Details</span></h1>${statusBadge}</header>
803
823
  ${renderCut(r)}
824
+ ${renderOrigin(r)}
804
825
  ${turnInfo}
805
826
  <div class="meta">${metaParts.map(escHtml).join('<span class="sep">·</span>')}</div>
806
827
  ${statsCard}
@@ -837,7 +858,7 @@ export const renderTurnGroup = (r, now = Date.now()) => {
837
858
  </div>`;
838
859
  // staleAt 只走 JSON, 绝不进 HTML —— 它跟着 updatedAt 变, 一旦计入 sig, SSE 的
839
860
  // "内容没变就不重发" 会彻底失效 (一个 turn 的 HTML 可以是几十 KB)。
840
- const body = `<section class="turn-group${r.cut ? ` cut cut-${r.cut}` : ""}" data-key="t:${escHtml(r.id)}">${renderCut(r)}${head}<div class="bubbles">${inner}</div></section>`;
861
+ const body = `<section class="turn-group${r.cut ? ` cut cut-${r.cut}` : ""}${r.origin ? " graph" : ""}" data-key="t:${escHtml(r.id)}">${renderCut(r)}${renderOrigin(r)}${head}<div class="bubbles">${inner}</div></section>`;
841
862
  return {
842
863
  id: r.id, html: tagSig(body), sig: hashStr(body),
843
864
  createdAt: r.createdAt, updatedAt: r.updatedAt,