ai_co_discuss 0.2.89 → 0.2.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web/modern.js CHANGED
@@ -54013,179 +54013,218 @@ var B1 = {
54013
54013
  }, K1 = { class: "wf-summary" }, q1 = ["title"], J1 = ["title"], Y1 = { title: "连续调用同一工具合并为一段" }, X1 = {
54014
54014
  class: "wf-legend",
54015
54015
  "aria-label": "图例"
54016
- }, Z1 = { class: "wf-axis-label" }, Q1 = {
54016
+ }, Z1 = {
54017
+ key: 0,
54018
+ class: "wf-legend-note"
54019
+ }, Q1 = { class: "wf-axis-label" }, $1 = {
54017
54020
  key: 0,
54018
54021
  class: "wf-branch"
54019
- }, $1 = {
54020
- class: "wf-axis",
54021
- "aria-hidden": "true"
54022
- }, e0 = {
54022
+ }, e0 = ["title"], t0 = {
54023
54023
  key: 0,
54024
54024
  class: "wf-now"
54025
- }, t0 = {
54025
+ }, n0 = {
54026
54026
  key: 0,
54027
54027
  class: "wf-guides",
54028
54028
  "aria-hidden": "true"
54029
- }, n0 = [
54029
+ }, r0 = [
54030
54030
  "aria-expanded",
54031
54031
  "aria-label",
54032
54032
  "onClick"
54033
- ], r0 = {
54033
+ ], i0 = {
54034
54034
  key: 2,
54035
54035
  class: "wf-toggle-space"
54036
- }, i0 = [
54036
+ }, a0 = [
54037
54037
  "aria-expanded",
54038
54038
  "title",
54039
54039
  "onClick"
54040
- ], a0 = { class: "wf-name-line" }, o0 = {
54040
+ ], o0 = { class: "wf-name-line" }, s0 = {
54041
54041
  key: 0,
54042
54042
  class: "wf-pill is-slowest"
54043
- }, s0 = {
54043
+ }, c0 = {
54044
54044
  key: 0,
54045
54045
  class: "wf-live-dot",
54046
54046
  "aria-hidden": "true"
54047
- }, c0 = ["aria-label", "onMouseleave"], l0 = { class: "wf-track" }, u0 = ["onMouseenter"], d0 = ["onMouseenter"], f0 = ["onMouseenter"], p0 = ["onMouseenter"], m0 = ["onMouseenter"], h0 = [
54047
+ }, l0 = ["aria-label", "onMouseleave"], u0 = { class: "wf-track" }, d0 = ["onMouseenter", "onClick"], f0 = ["onMouseenter", "onClick"], p0 = [
54048
+ "data-tone",
54049
+ "onMouseenter",
54050
+ "onClick"
54051
+ ], m0 = ["onMouseenter", "onClick"], h0 = ["onMouseenter", "onClick"], g0 = [
54048
54052
  "aria-label",
54049
54053
  "onMouseenter",
54054
+ "onClick",
54050
54055
  "onFocus",
54051
54056
  "onBlur"
54052
- ], g0 = { class: "wf-end" }, _0 = { key: 1 }, v0 = { key: 0 }, y0 = ["onClick"], b0 = { key: 1 }, x0 = { class: "is-failed" }, S0 = { key: 2 }, C0 = ["onClick"], w0 = { key: 3 }, T0 = {
54057
+ ], _0 = { class: "wf-end" }, v0 = { key: 1 }, y0 = { key: 0 }, b0 = ["onClick"], x0 = { key: 1 }, S0 = { class: "is-failed" }, C0 = { key: 2 }, w0 = ["onClick"], T0 = { key: 3 }, E0 = {
54053
54058
  key: 0,
54054
54059
  class: "wf-log",
54055
54060
  "aria-label": "过程"
54056
- }, E0 = {
54061
+ }, D0 = {
54057
54062
  key: 1,
54058
54063
  class: "wf-log-note"
54059
- }, D0 = {
54064
+ }, O0 = {
54060
54065
  key: 1,
54061
54066
  class: "fine-print"
54062
- }, O0 = {
54067
+ }, k0 = {
54063
54068
  key: 0,
54064
54069
  class: "wf-foot"
54065
- }, k0 = { key: 0 }, A0 = { key: 1 }, j0 = {
54066
- key: 0,
54070
+ }, A0 = { key: 0 }, j0 = { key: 1 }, M0 = ["role"], N0 = {
54071
+ key: 1,
54067
54072
  class: "wf-card-reason"
54068
- }, M0 = { class: "wf-card-label" }, N0 = 2e3, P0 = 6e4, F0 = 100, I0 = 5, L0 = 16, R0 = /*#__PURE__*/ XH({
54073
+ }, P0 = { class: "wf-card-label" }, F0 = 2e3, I0 = 6e4, L0 = 100, R0 = 5, z0 = 16, B0 = 90, V0 = 2, H0 = 8, U0 = 5, W0 = 52, G0 = /*#__PURE__*/ XH({
54069
54074
  __name: "ExecutionTimeline",
54070
54075
  emits: ["detail"],
54071
54076
  setup(e, { emit: t }) {
54072
- let n = t, { view: r, bridge: i } = xr("discussion"), a = A1 / 6e4, o = Z(() => r.value.room?.id), s = /* @__PURE__ */ F(/* @__PURE__ */ new Map()), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(""), u = /* @__PURE__ */ F(Date.now()), d = /* @__PURE__ */ F(/* @__PURE__ */ new Set()), f = /* @__PURE__ */ F(/* @__PURE__ */ new Map()), p = /* @__PURE__ */ F(null), m = /* @__PURE__ */ F(""), h = 0, g = 0, _ = !1, v = 0, y = 0;
54073
- async function b(e = !1) {
54074
- let t = o.value;
54075
- if (!t || _) return;
54076
- _ = !0;
54077
- let n = e || !h || Date.now() - g >= P0 ? 0 : h - I0;
54077
+ let n = t, { view: r, bridge: i } = xr("discussion"), a = A1 / 6e4, o = typeof window < "u" && window.matchMedia?.("(hover: hover)").matches !== !1, s = /* @__PURE__ */ F(null), c = /* @__PURE__ */ F(0), l = null, u = Z(() => r.value.room?.id), d = /* @__PURE__ */ F(/* @__PURE__ */ new Map()), f = /* @__PURE__ */ F(null), p = /* @__PURE__ */ F(""), m = /* @__PURE__ */ F(Date.now()), h = /* @__PURE__ */ F(/* @__PURE__ */ new Set()), g = /* @__PURE__ */ F(/* @__PURE__ */ new Map()), _ = /* @__PURE__ */ F(null), v = /* @__PURE__ */ F(""), y = 0, b = 0, x = !1, S = 0, C = 0;
54078
+ async function w(e = !1) {
54079
+ let t = u.value;
54080
+ if (!t || x) return;
54081
+ x = !0;
54082
+ let n = e || !y || Date.now() - b >= I0 ? 0 : y - R0;
54078
54083
  try {
54079
54084
  let e = await i.request(`/api/rooms/${t}/timeline${n ? `?after=${n}` : ""}`);
54080
- if (t !== o.value) return;
54081
- let r = n ? new Map(s.value) : /* @__PURE__ */ new Map();
54085
+ if (t !== u.value) return;
54086
+ let r = n ? new Map(d.value) : /* @__PURE__ */ new Map();
54082
54087
  for (let t of e.executions) r.set(`${t.source}:${t.id}`, t);
54083
- s.value = r, c.value = {
54088
+ d.value = r, f.value = {
54084
54089
  execution_limit: e.execution_limit,
54085
54090
  segment_limit: e.segment_limit
54086
- }, h = e.now, n || (g = Date.now()), l.value = "";
54091
+ }, y = e.now, n || (b = Date.now()), p.value = "";
54087
54092
  } catch (e) {
54088
- l.value = `读取执行记录失败:${e.message}`;
54093
+ p.value = `读取执行记录失败:${e.message}`;
54089
54094
  } finally {
54090
- _ = !1;
54091
- }
54092
- }
54093
- let x = Z(() => c.value && {
54094
- ...c.value,
54095
- executions: [...s.value.values()]
54096
- }), S = Z(() => x.value?.executions.some((e) => e.state === "running"));
54097
- R(S, (e) => {
54098
- clearInterval(v), clearInterval(y), e && (v = setInterval(() => {
54099
- document.hidden || b();
54100
- }, N0), y = setInterval(() => {
54101
- u.value = Date.now();
54102
- }, F0));
54103
- }, { immediate: !0 }), R(o, () => {
54104
- s.value = /* @__PURE__ */ new Map(), c.value = null, d.value = /* @__PURE__ */ new Set(), f.value = /* @__PURE__ */ new Map(), p.value = null, m.value = "", h = 0, b(!0);
54095
+ x = !1;
54096
+ }
54097
+ }
54098
+ let T = Z(() => f.value && {
54099
+ ...f.value,
54100
+ executions: [...d.value.values()]
54101
+ }), E = Z(() => T.value?.executions.some((e) => e.state === "running"));
54102
+ R(E, (e) => {
54103
+ clearInterval(S), clearInterval(C), e && (S = setInterval(() => {
54104
+ document.hidden || w();
54105
+ }, F0), C = setInterval(() => {
54106
+ m.value = Date.now();
54107
+ }, L0));
54108
+ }, { immediate: !0 }), R(u, () => {
54109
+ d.value = /* @__PURE__ */ new Map(), f.value = null, h.value = /* @__PURE__ */ new Set(), g.value = /* @__PURE__ */ new Map(), _.value = null, v.value = "", y = 0, w(!0);
54105
54110
  }, { immediate: !0 }), R(() => r.value.room, (e, t) => {
54106
- e?.id && e.id === t?.id && b();
54111
+ e?.id && e.id === t?.id && w();
54112
+ });
54113
+ function D(e) {
54114
+ _.value && !e.target.closest?.(".wf-card, .wf-bar, .wf-note") && (_.value = null);
54115
+ }
54116
+ Qi(() => {
54117
+ document.addEventListener("pointerdown", D), l = new ResizeObserver(([e]) => {
54118
+ c.value = e.contentRect.width;
54119
+ });
54120
+ }), R(s, (e, t) => {
54121
+ t && l?.unobserve(t), e && l?.observe(e);
54107
54122
  }), ta(() => {
54108
- clearInterval(v), clearInterval(y);
54123
+ clearInterval(S), clearInterval(C), document.removeEventListener("pointerdown", D), l?.disconnect();
54109
54124
  });
54110
- let C = Z(() => x.value ? P1(x.value, u.value) : []), w = Z(() => C.value.filter((e) => !e.ancestors.some((e) => d.value.has(e)))), T = Z(() => F1(C.value)), E = Z(() => R1(T.value)), D = Z(() => z1(C.value, u.value)), O = Z(() => C.value.filter((e) => e.has_children).map((e) => e.key)), ee = Z(() => C.value.find((e) => e.key === m.value)), k = Z(() => ee.value ? M1(ee.value, f.value.get(ee.value.item.id)) : []), te = [
54111
- ["queue", "排队"],
54112
- ["wake", "唤醒"],
54113
- ["work", "执行(无阶段明细)"],
54114
- ...Object.entries(w1)
54115
- ];
54116
- function ne(e) {
54117
- m.value = m.value === e.key ? "" : e.key, m.value && oe(e);
54125
+ let O = Z(() => T.value ? P1(T.value, m.value) : []), ee = Z(() => O.value.filter((e) => !e.ancestors.some((e) => h.value.has(e)))), k = Z(() => F1(O.value)), te = Z(() => R1(k.value, Math.min(H0, Math.max(V0, Math.round((c.value || 540) / B0))))), ne = Z(() => z1(O.value, m.value)), re = Z(() => O.value.filter((e) => e.has_children).map((e) => e.key)), ie = Z(() => O.value.find((e) => e.key === v.value)), A = Z(() => ie.value ? M1(ie.value, g.value.get(ie.value.item.id)) : []), j = Z(() => {
54126
+ let e = O.value, t = new Set(e.flatMap((e) => e.segments.map((e) => e.phase)));
54127
+ return [
54128
+ ...e.some((e) => e.queue[1] > e.queue[0]) ? [["queue", "排队"]] : [],
54129
+ ...e.some((e) => e.wake) ? [["wake", "唤醒"]] : [],
54130
+ ...e.some((e) => e.work && !e.segments.length) ? [["work", "执行(无阶段明细,按成员着色)"]] : [],
54131
+ ...Object.entries(w1).filter(([e]) => t.has(e)),
54132
+ ...e.some((e) => e.notes.length) ? [["note-mark", "过程说明"]] : [],
54133
+ ...e.some((e) => e.item.state === "failed") ? [["failed-mark", "失败"]] : []
54134
+ ];
54135
+ }), ae = Z(() => O.value.length > 0 && O.value.every((e) => !e.segments.length)), oe = Z(() => {
54136
+ let e = /* @__PURE__ */ new Map();
54137
+ for (let t of [...O.value].sort((e, t) => e.start - t.start)) e.has(t.item.member) || e.set(t.item.member, e.size % U0 + 1);
54138
+ return e;
54139
+ }), se = Z(() => {
54140
+ let e = W0 / (c.value || 800);
54141
+ return te.value.filter((t) => !k.value.folds.some((n) => Math.abs(t.x - (n.from + n.width / 2)) < e));
54142
+ });
54143
+ function ce(e) {
54144
+ v.value = v.value === e.key ? "" : e.key, v.value && ge(e);
54118
54145
  }
54119
- R(() => ee.value?.notes.length, () => {
54120
- ee.value && oe(ee.value);
54146
+ R(() => ie.value?.notes.length, () => {
54147
+ ie.value && ge(ie.value);
54121
54148
  });
54122
- function re(e) {
54123
- let t = new Set(d.value);
54124
- t.has(e) ? t.delete(e) : t.add(e), d.value = t;
54149
+ function le(e) {
54150
+ let t = new Set(h.value);
54151
+ t.has(e) ? t.delete(e) : t.add(e), h.value = t;
54125
54152
  }
54126
- function ie(e, t, n = !1) {
54127
- let r = T.value.x(e), i = Math.max(0, T.value.x(t) - r) * 100;
54153
+ function ue(e, t, n = !1) {
54154
+ let r = k.value.x(e), i = Math.max(0, k.value.x(t) - r) * 100;
54128
54155
  return {
54129
54156
  left: `${r * 100}%`,
54130
54157
  width: n ? `max(2px, calc(${i}% - 1px))` : `${i}%`
54131
54158
  };
54132
54159
  }
54133
- function A(e) {
54160
+ function de(e) {
54134
54161
  let t = e.item.role === "host";
54135
54162
  return e.item.source === "discussion" ? t ? "讨论 · 主持" : "讨论 · 专家" : t ? "协作 · 主持" : "协作";
54136
54163
  }
54137
- let j = (e) => j1(e, u.value);
54138
- function ae(e) {
54164
+ function pe(e) {
54165
+ return [...e.item.source === "discussion" ? ["讨论"] : [], ...e.item.role === "host" ? ["主持"] : []];
54166
+ }
54167
+ let me = (e) => j1(e, m.value);
54168
+ function he(e) {
54139
54169
  let t = [
54140
54170
  i.display_name(e.item.member),
54141
- A(e),
54171
+ de(e),
54142
54172
  T1[e.item.state],
54143
54173
  `用时 ${O1(e.end - e.start)}`
54144
54174
  ];
54145
54175
  return e.wake && t.push(`唤醒 ${O1(e.wake[1] - e.wake[0])}${e.wake_approx ? "(约)" : ""}`), !e.segments.length && e.work && t.push("无阶段明细"), e.notes.length && t.push(`${e.notes.length} 段过程说明`), t.join(",");
54146
54176
  }
54147
- async function oe(e) {
54177
+ async function ge(e) {
54148
54178
  let t = e.item.id;
54149
- if (!(e.item.source !== "free" || !e.notes.length || (f.value.get(t)?.length || 0) >= e.notes.length)) try {
54150
- let { notes: e } = await i.request(`/api/rooms/${o.value}/executions/${t}/notes`);
54151
- f.value = new Map(f.value).set(t, e.map((e) => e.text));
54179
+ if (!(e.item.source !== "free" || !e.notes.length || (g.value.get(t)?.length || 0) >= e.notes.length)) try {
54180
+ let { notes: e } = await i.request(`/api/rooms/${u.value}/executions/${t}/notes`);
54181
+ g.value = new Map(g.value).set(t, e.map((e) => e.text));
54152
54182
  } catch {}
54153
54183
  }
54154
- let se = (e) => new Date(e).toLocaleTimeString("zh-CN", {
54184
+ let N = (e) => new Date(e).toLocaleTimeString("zh-CN", {
54155
54185
  hour: "2-digit",
54156
54186
  minute: "2-digit",
54157
54187
  second: "2-digit",
54158
54188
  hour12: !1
54159
- }), ce = (e) => new Date(e.at).toLocaleTimeString("zh-CN", {
54189
+ }), _e = (e) => new Date(e.at).toLocaleTimeString("zh-CN", {
54160
54190
  hour: "2-digit",
54161
54191
  minute: "2-digit",
54162
54192
  ...e.seconds ? { second: "2-digit" } : {},
54163
54193
  hour12: !1
54164
54194
  });
54165
- function le(e, t, n) {
54166
- let r = e.currentTarget.getBoundingClientRect(), i = n.note ? {
54195
+ function ve(e, t, n, r = !1) {
54196
+ let i = e.currentTarget.getBoundingClientRect(), a = n.note ? {
54167
54197
  notes: [n.note],
54168
54198
  earlier: !1
54169
- } : N1(t.notes, n.start, n.end);
54170
- p.value = {
54199
+ } : N1(t.notes, n.start, n.end), o = Math.min(360, window.innerWidth - 16), s = i.bottom + 6, c = s + 160 > window.innerHeight && i.top > 200 ? Math.max(8, i.top - 6 - 200) : s;
54200
+ _.value = {
54171
54201
  key: t.key,
54202
+ id: ye(t, n),
54172
54203
  row: t,
54173
54204
  piece: n,
54174
- related: i,
54175
- left: Math.max(8, Math.min(r.left, window.innerWidth - 380)),
54176
- top: r.bottom + 6
54177
- }, oe(t);
54205
+ related: a,
54206
+ pinned: r,
54207
+ left: Math.max(8, Math.min(i.left, window.innerWidth - o - 8)),
54208
+ top: c
54209
+ }, ge(t);
54178
54210
  }
54179
- function ue(e) {
54180
- p.value?.key === e.key && (p.value = null);
54181
- }
54182
- let de = Z(() => {
54183
- let e = p.value?.piece;
54184
- return e ? e.note ? `过程说明 · ${se(e.note.at)}` : `${e.kind === "segment" ? `${w1[e.phase]}${e.tool ? ` · ${e.tool}` : ""}` : e.label} · ${O1(e.end - e.start)}${e.live ? " · 进行中" : ""}` : "";
54185
- }), pe = Z(() => {
54186
- if (!p.value) return [];
54187
- let e = f.value.get(p.value.row.item.id);
54188
- return p.value.related.notes.map((t) => ({
54211
+ let ye = (e, t) => `${e.key}:${t.kind || t.label || "note"}:${t.start}`;
54212
+ function be(e, t, n) {
54213
+ o && ve(e, t, n);
54214
+ }
54215
+ function xe(e, t, n) {
54216
+ o || (_.value?.id === ye(t, n) ? _.value = null : ve(e, t, n, !0));
54217
+ }
54218
+ function Se(e) {
54219
+ _.value?.key === e.key && !_.value.pinned && (_.value = null);
54220
+ }
54221
+ let Ce = Z(() => {
54222
+ let e = _.value?.piece;
54223
+ return e ? e.note ? `过程说明 · ${N(e.note.at)}` : `${e.kind === "segment" ? `${w1[e.phase]}${e.tool ? ` · ${e.tool}` : ""}` : e.label} · ${O1(e.end - e.start)}${e.live ? " · 进行中" : ""}` : "";
54224
+ }), we = Z(() => {
54225
+ if (!_.value) return [];
54226
+ let e = g.value.get(_.value.row.item.id);
54227
+ return _.value.related.notes.map((t) => ({
54189
54228
  at: t.at,
54190
54229
  text: e?.[t.index] ?? (e ? "(未能读取)" : "读取中…")
54191
54230
  }));
@@ -54193,70 +54232,80 @@ var B1 = {
54193
54232
  return (e, t) => {
54194
54233
  let r = sA, o = pA;
54195
54234
  return U(), W("section", B1, [
54196
- t[19] ||= K("div", { class: "page-heading" }, [K("div", null, [K("h2", null, "执行时间线"), K("p", null, "本机接入程序唤醒的每次执行,按时间排在同一条轴上;由主持人派出的执行缩进在主持人之下。阶段由接入程序从软件输出中识别,手动接入、在线 AI 与 Codex App 没有阶段明细;点名字展开详情,悬停条形或刻度看当时的过程说明(目前只有协作执行记录过程说明)。")])], -1),
54197
- l.value ? (U(), W("p", V1, P(l.value), 1)) : Y("", !0),
54198
- x.value && !C.value.length ? (U(), W("p", H1, "还没有执行记录。")) : Y("", !0),
54199
- C.value.length ? (U(), W("div", U1, [
54235
+ t[18] ||= K("div", { class: "page-heading" }, [K("div", null, [K("h2", null, "执行时间线"), K("p", null, "本机接入程序唤醒的每次执行;点名字看详情,悬停条形看当时的过程说明。")])], -1),
54236
+ p.value ? (U(), W("p", V1, P(p.value), 1)) : Y("", !0),
54237
+ T.value && !O.value.length ? (U(), W("p", H1, "还没有执行记录。")) : Y("", !0),
54238
+ O.value.length ? (U(), W("div", U1, [
54200
54239
  K("header", W1, [
54201
- t[3] ||= K("span", { class: "wf-title" }, "执行瀑布", -1),
54202
- K("span", { class: M(["wf-state", { "is-live": D.value.running }]) }, P(D.value.running ? `${D.value.running} 个进行中` : "均已结束"), 3),
54203
- D.value.slowest ? (U(), W("span", G1, [
54204
- t[2] ||= J("最慢一步 ", -1),
54205
- K("b", null, [J(P(I(i).display_name(D.value.slowest.member)) + " · " + P(I(w1)[D.value.slowest.phase]), 1), D.value.slowest.tool ? (U(), W(H, { key: 0 }, [J(P(D.value.slowest.tool), 1)], 64)) : Y("", !0)]),
54206
- J(" · " + P(I(O1)(D.value.slowest.end - D.value.slowest.start)), 1)
54240
+ t[4] ||= K("span", { class: "wf-title" }, "执行瀑布", -1),
54241
+ K("span", { class: M(["wf-state", { "is-live": ne.value.running }]) }, P(ne.value.running ? `${ne.value.running} 个进行中` : "均已结束"), 3),
54242
+ ne.value.slowest ? (U(), W("span", G1, [
54243
+ t[3] ||= J("最慢一步 ", -1),
54244
+ K("b", null, [J(P(I(i).display_name(ne.value.slowest.member)) + " · " + P(I(w1)[ne.value.slowest.phase]), 1), ne.value.slowest.tool ? (U(), W(H, { key: 0 }, [J(P(ne.value.slowest.tool), 1)], 64)) : Y("", !0)]),
54245
+ J(" · " + P(I(O1)(ne.value.slowest.end - ne.value.slowest.start)), 1)
54207
54246
  ])) : Y("", !0)
54208
54247
  ]),
54209
54248
  K("dl", K1, [
54210
- K("div", null, [t[4] ||= K("dt", null, "执行", -1), K("dd", null, P(D.value.executions), 1)]),
54211
- K("div", null, [t[5] ||= K("dt", null, "进行中", -1), K("dd", { class: M({ "is-live": D.value.running }) }, P(D.value.running), 3)]),
54212
- K("div", null, [t[6] ||= K("dt", null, "失败", -1), K("dd", { class: M({ "is-failed": D.value.failed }) }, P(D.value.failed), 3)]),
54213
- K("div", { title: `超过 ${a} 分钟没有输出` }, [t[7] ||= K("dt", null, "可能卡住", -1), K("dd", { class: M({ "is-warn": D.value.stalled }) }, P(D.value.stalled), 3)], 8, q1),
54214
- K("div", { title: T.value.folds.length ? `已折叠 ${T.value.folds.length} 段超过 ${I(E1) / 6e4} 分钟的空闲` : void 0 }, [t[8] ||= K("dt", null, "有效时长", -1), K("dd", null, P(I(O1)(T.value.busy_ms)), 1)], 8, J1),
54215
- K("div", Y1, [t[9] ||= K("dt", null, "工具与命令", -1), K("dd", null, P(D.value.tool_segments) + " 段", 1)])
54216
- ]),
54217
- K("ul", X1, [
54218
- (U(), W(H, null, B(te, ([e, t]) => K("li", { key: e }, [K("i", { class: M(["wf-swatch", `is-${e}`]) }, null, 2), J(P(t), 1)])), 64)),
54219
- t[10] ||= K("li", null, [K("i", { class: "wf-swatch is-note-mark" }), J("过程说明")], -1),
54220
- t[11] ||= K("li", null, [K("i", { class: "wf-swatch is-failed-mark" }), J("失败")], -1)
54249
+ K("div", null, [t[5] ||= K("dt", null, "执行", -1), K("dd", null, P(ne.value.executions), 1)]),
54250
+ K("div", null, [t[6] ||= K("dt", null, "进行中", -1), K("dd", { class: M(ne.value.running ? "is-live" : "is-zero") }, P(ne.value.running), 3)]),
54251
+ K("div", null, [t[7] ||= K("dt", null, "失败", -1), K("dd", { class: M(ne.value.failed ? "is-failed" : "is-zero") }, P(ne.value.failed), 3)]),
54252
+ K("div", { title: `超过 ${a} 分钟没有输出` }, [t[8] ||= K("dt", null, "可能卡住", -1), K("dd", { class: M(ne.value.stalled ? "is-warn" : "is-zero") }, P(ne.value.stalled), 3)], 8, q1),
54253
+ K("div", { title: k.value.folds.length ? `已折叠 ${k.value.folds.length} 段超过 ${I(E1) / 6e4} 分钟的空闲` : void 0 }, [t[9] ||= K("dt", null, "有效时长", -1), K("dd", null, P(I(O1)(k.value.busy_ms)), 1)], 8, J1),
54254
+ K("div", Y1, [t[10] ||= K("dt", null, "工具与命令", -1), K("dd", { class: M({ "is-zero": !ne.value.tool_segments }) }, P(ne.value.tool_segments) + " 段", 3)])
54221
54255
  ]),
54256
+ K("ul", X1, [(U(!0), W(H, null, B(j.value, ([e, t]) => (U(), W("li", { key: e }, [K("i", { class: M(["wf-swatch", `is-${e}`]) }, null, 2), J(P(t), 1)]))), 128)), ae.value ? (U(), W("li", Z1, "这些执行都没有阶段明细:发生在接入程序上报阶段之前,或来自手动接入、在线 AI、Codex App")) : Y("", !0)]),
54222
54257
  K("div", {
54223
54258
  class: "wf-grid",
54224
54259
  role: "list",
54225
- style: fe({ "--wf-depth-px": `${L0}px` })
54260
+ style: fe({ "--wf-depth-px": `${z0}px` })
54226
54261
  }, [
54227
- K("div", Z1, [K("span", null, "执行 · " + P(w.value.length) + "/" + P(C.value.length), 1), O.value.length ? (U(), W("span", Q1, [K("button", {
54262
+ K("div", Q1, [K("span", null, "执行 · " + P(ee.value.length) + "/" + P(O.value.length), 1), re.value.length ? (U(), W("span", $1, [K("button", {
54228
54263
  type: "button",
54229
54264
  class: "wf-text-button",
54230
- onClick: t[0] ||= (e) => d.value = /* @__PURE__ */ new Set()
54265
+ onClick: t[0] ||= (e) => h.value = /* @__PURE__ */ new Set()
54231
54266
  }, "展开全部"), K("button", {
54232
54267
  type: "button",
54233
54268
  class: "wf-text-button",
54234
- onClick: t[1] ||= (e) => d.value = new Set(O.value)
54269
+ onClick: t[1] ||= (e) => h.value = new Set(re.value)
54235
54270
  }, "收起全部")])) : Y("", !0)]),
54236
- K("div", $1, [(U(!0), W(H, null, B(E.value, (e) => (U(), W("span", {
54237
- key: e.at,
54238
- class: "wf-tick",
54239
- style: fe({ left: `${e.x * 100}%` })
54240
- }, P(ce(e)), 5))), 128)), S.value ? (U(), W("span", e0, "现在")) : Y("", !0)]),
54241
- t[17] ||= K("span", { class: "wf-axis-end" }, "用时", -1),
54242
- (U(!0), W(H, null, B(w.value, (e) => (U(), W("div", {
54271
+ K("div", {
54272
+ ref_key: "axis_element",
54273
+ ref: s,
54274
+ class: "wf-axis",
54275
+ "aria-hidden": "true"
54276
+ }, [
54277
+ (U(!0), W(H, null, B(se.value, (e) => (U(), W("span", {
54278
+ key: e.at,
54279
+ class: "wf-tick",
54280
+ style: fe({ left: `${e.x * 100}%` })
54281
+ }, P(_e(e)), 5))), 128)),
54282
+ (U(!0), W(H, null, B(k.value.folds, (e) => (U(), W("span", {
54283
+ key: `fold-${e.start}`,
54284
+ class: "wf-fold-label",
54285
+ style: fe({ left: `${(e.from + e.width / 2) * 100}%` }),
54286
+ title: `${N(e.start)} – ${N(e.end)} 没有执行,已折叠`
54287
+ }, "⋯ " + P(I(O1)(e.end - e.start)), 13, e0))), 128)),
54288
+ E.value ? (U(), W("span", t0, "现在")) : Y("", !0)
54289
+ ], 512),
54290
+ t[16] ||= K("span", { class: "wf-axis-end" }, "用时", -1),
54291
+ (U(!0), W(H, null, B(ee.value, (e) => (U(), W("div", {
54243
54292
  key: e.key,
54244
54293
  role: "listitem",
54245
- class: M(["wf-row", [`is-${e.item.state}`, { "is-open": m.value === e.key }]])
54294
+ class: M(["wf-row", [`is-${e.item.state}`, { "is-open": v.value === e.key }]])
54246
54295
  }, [
54247
54296
  K("div", {
54248
54297
  class: "wf-label",
54249
54298
  style: fe({ "--depth": e.depth })
54250
54299
  }, [
54251
- e.depth ? (U(), W("span", t0)) : Y("", !0),
54300
+ e.depth ? (U(), W("span", n0)) : Y("", !0),
54252
54301
  e.has_children ? (U(), W("button", {
54253
54302
  key: 1,
54254
54303
  type: "button",
54255
- class: M(["wf-toggle", { "is-open": !d.value.has(e.key) }]),
54256
- "aria-expanded": !d.value.has(e.key),
54257
- "aria-label": `${d.value.has(e.key) ? "展开" : "收起"} ${I(i).display_name(e.item.member)} 派出的执行`,
54258
- onClick: (t) => re(e.key)
54259
- }, [q(r, { name: "i-lucide-chevron-right" })], 10, n0)) : (U(), W("span", r0)),
54304
+ class: M(["wf-toggle", { "is-open": !h.value.has(e.key) }]),
54305
+ "aria-expanded": !h.value.has(e.key),
54306
+ "aria-label": `${h.value.has(e.key) ? "展开" : "收起"} ${I(i).display_name(e.item.member)} 派出的执行`,
54307
+ onClick: (t) => le(e.key)
54308
+ }, [q(r, { name: "i-lucide-chevron-right" })], 10, r0)) : (U(), W("span", i0)),
54260
54309
  q(o, {
54261
54310
  src: I(i).identities[e.item.member]?.icon,
54262
54311
  text: I(i).identities[e.item.member]?.initials,
@@ -54272,27 +54321,30 @@ var B1 = {
54272
54321
  K("button", {
54273
54322
  type: "button",
54274
54323
  class: "wf-names",
54275
- "aria-expanded": m.value === e.key,
54276
- title: j(e).text,
54277
- onClick: (t) => ne(e)
54278
- }, [K("span", a0, [
54324
+ "aria-expanded": v.value === e.key,
54325
+ title: me(e).text,
54326
+ onClick: (t) => ce(e)
54327
+ }, [K("span", o0, [
54279
54328
  K("strong", null, P(I(i).display_name(e.item.member)), 1),
54280
- K("small", null, P(A(e)), 1),
54281
- D.value.slowest?.row === e.key ? (U(), W("em", o0, "最慢")) : Y("", !0)
54282
- ]), K("span", { class: M(["wf-status", `is-${j(e).tone}`]) }, [j(e).tone === "live" ? (U(), W("i", s0)) : Y("", !0), J(P(j(e).text), 1)], 2)], 8, i0)
54329
+ (U(!0), W(H, null, B(pe(e), (e) => (U(), W("em", {
54330
+ key: e,
54331
+ class: "wf-pill is-role"
54332
+ }, P(e), 1))), 128)),
54333
+ ne.value.slowest?.row === e.key ? (U(), W("em", s0, "最慢")) : Y("", !0)
54334
+ ]), K("span", { class: M(["wf-status", `is-${me(e).tone}`]) }, [me(e).tone === "live" ? (U(), W("i", c0)) : Y("", !0), J(P(me(e).text), 1)], 2)], 8, a0)
54283
54335
  ], 4),
54284
54336
  K("div", {
54285
54337
  class: "wf-lane",
54286
54338
  role: "img",
54287
- "aria-label": ae(e),
54288
- onMouseleave: (t) => ue(e)
54289
- }, [K("div", l0, [
54290
- (U(!0), W(H, null, B(E.value, (e) => (U(), W("i", {
54339
+ "aria-label": he(e),
54340
+ onMouseleave: (t) => Se(e)
54341
+ }, [K("div", u0, [
54342
+ (U(!0), W(H, null, B(se.value, (e) => (U(), W("i", {
54291
54343
  key: e.at,
54292
54344
  class: "wf-gridline",
54293
54345
  style: fe({ left: `${e.x * 100}%` })
54294
54346
  }, null, 4))), 128)),
54295
- (U(!0), W(H, null, B(T.value.folds, (e) => (U(), W("i", {
54347
+ (U(!0), W(H, null, B(k.value.folds, (e) => (U(), W("i", {
54296
54348
  key: e.start,
54297
54349
  class: "wf-fold",
54298
54350
  style: fe({
@@ -54300,200 +54352,237 @@ var B1 = {
54300
54352
  width: `${e.width * 100}%`
54301
54353
  })
54302
54354
  }, null, 4))), 128)),
54303
- t[12] ||= K("i", { class: "wf-well" }, null, -1),
54355
+ t[11] ||= K("i", { class: "wf-well" }, null, -1),
54304
54356
  K("i", {
54305
54357
  class: "wf-bar is-queue",
54306
- style: fe(ie(...e.queue)),
54307
- onMouseenter: (t) => le(t, e, {
54358
+ style: fe(ue(...e.queue)),
54359
+ onMouseenter: (t) => be(t, e, {
54360
+ label: "排队",
54361
+ start: e.queue[0],
54362
+ end: e.queue[1]
54363
+ }),
54364
+ onClick: (t) => xe(t, e, {
54308
54365
  label: "排队",
54309
54366
  start: e.queue[0],
54310
54367
  end: e.queue[1]
54311
54368
  })
54312
- }, null, 44, u0),
54369
+ }, null, 44, d0),
54313
54370
  e.wake ? (U(), W("i", {
54314
54371
  key: 0,
54315
54372
  class: "wf-bar is-wake",
54316
- style: fe(ie(...e.wake)),
54317
- onMouseenter: (t) => le(t, e, {
54373
+ style: fe(ue(...e.wake)),
54374
+ onMouseenter: (t) => be(t, e, {
54375
+ label: e.wake_approx ? "唤醒(约)" : "唤醒",
54376
+ start: e.wake[0],
54377
+ end: e.wake[1]
54378
+ }),
54379
+ onClick: (t) => xe(t, e, {
54318
54380
  label: e.wake_approx ? "唤醒(约)" : "唤醒",
54319
54381
  start: e.wake[0],
54320
54382
  end: e.wake[1]
54321
54383
  })
54322
- }, null, 44, d0)) : Y("", !0),
54384
+ }, null, 44, f0)) : Y("", !0),
54323
54385
  e.work ? (U(), W("i", {
54324
54386
  key: 1,
54325
54387
  class: M(["wf-bar is-work", { "has-detail": e.segments.length }]),
54326
- style: fe(ie(...e.work)),
54327
- onMouseenter: (t) => le(t, e, {
54388
+ "data-tone": e.segments.length ? void 0 : oe.value.get(e.item.member),
54389
+ style: fe(ue(...e.work)),
54390
+ onMouseenter: (t) => be(t, e, {
54391
+ label: e.segments.length ? "执行" : "执行 · 无阶段明细",
54392
+ start: e.work[0],
54393
+ end: e.work[1],
54394
+ live: e.item.state === "running"
54395
+ }),
54396
+ onClick: (t) => xe(t, e, {
54328
54397
  label: e.segments.length ? "执行" : "执行 · 无阶段明细",
54329
54398
  start: e.work[0],
54330
54399
  end: e.work[1],
54331
54400
  live: e.item.state === "running"
54332
54401
  })
54333
- }, null, 46, f0)) : Y("", !0),
54402
+ }, null, 46, p0)) : Y("", !0),
54334
54403
  (U(!0), W(H, null, B(e.segments, (t) => (U(), W(H, { key: t.start + t.phase }, [K("i", {
54335
54404
  class: M(["wf-bar wf-seg", [`is-${t.phase}`, { "is-live": t.live }]]),
54336
- style: fe(ie(t.start, t.seen, !0)),
54337
- onMouseenter: (n) => le(n, e, {
54405
+ style: fe(ue(t.start, t.seen, !0)),
54406
+ onMouseenter: (n) => be(n, e, {
54407
+ kind: "segment",
54408
+ ...t
54409
+ }),
54410
+ onClick: (n) => xe(n, e, {
54338
54411
  kind: "segment",
54339
54412
  ...t
54340
54413
  })
54341
- }, null, 46, p0), t.end > t.seen ? (U(), W("i", {
54414
+ }, null, 46, m0), t.end > t.seen ? (U(), W("i", {
54342
54415
  key: 0,
54343
54416
  class: M(["wf-bar wf-seg is-tail", `is-${t.phase}`]),
54344
- style: fe(ie(t.seen, t.end)),
54345
- onMouseenter: (n) => le(n, e, {
54417
+ style: fe(ue(t.seen, t.end)),
54418
+ onMouseenter: (n) => be(n, e, {
54419
+ kind: "segment",
54420
+ ...t
54421
+ }),
54422
+ onClick: (n) => xe(n, e, {
54346
54423
  kind: "segment",
54347
54424
  ...t
54348
54425
  })
54349
- }, null, 46, m0)) : Y("", !0)], 64))), 128)),
54426
+ }, null, 46, h0)) : Y("", !0)], 64))), 128)),
54350
54427
  (U(!0), W(H, null, B(e.notes, (t) => (U(), W("button", {
54351
54428
  key: `note-${t.index}`,
54352
54429
  type: "button",
54353
54430
  class: "wf-note",
54354
- style: fe({ left: `${T.value.x(t.at) * 100}%` }),
54355
- "aria-label": `${I(i).display_name(e.item.member)} 的第 ${t.index + 1} 段过程说明,${se(t.at)}`,
54356
- onMouseenter: (n) => le(n, e, {
54431
+ style: fe({ left: `${k.value.x(t.at) * 100}%` }),
54432
+ "aria-label": `${I(i).display_name(e.item.member)} 的第 ${t.index + 1} 段过程说明,${N(t.at)}`,
54433
+ onMouseenter: (n) => be(n, e, {
54434
+ note: t,
54435
+ start: t.at,
54436
+ end: t.at
54437
+ }),
54438
+ onClick: (n) => xe(n, e, {
54357
54439
  note: t,
54358
54440
  start: t.at,
54359
54441
  end: t.at
54360
54442
  }),
54361
- onFocus: (n) => le(n, e, {
54443
+ onFocus: (n) => be(n, e, {
54362
54444
  note: t,
54363
54445
  start: t.at,
54364
54446
  end: t.at
54365
54447
  }),
54366
- onBlur: (t) => ue(e)
54367
- }, null, 44, h0))), 128))
54368
- ])], 40, c0),
54369
- K("span", g0, [
54448
+ onBlur: (t) => Se(e)
54449
+ }, null, 44, g0))), 128))
54450
+ ])], 40, l0),
54451
+ K("span", _0, [
54370
54452
  J(P(I(O1)(e.end - e.start)) + P(e.wake_approx && e.wake ? "~" : ""), 1),
54371
54453
  e.item.state === "done" ? Y("", !0) : (U(), W("small", {
54372
54454
  key: 0,
54373
54455
  class: M(`is-${e.item.state}`)
54374
54456
  }, P(I(T1)[e.item.state]), 3)),
54375
- e.truncated ? (U(), W("small", _0, "明细已截断")) : Y("", !0)
54457
+ e.truncated ? (U(), W("small", v0, "明细已截断")) : Y("", !0)
54376
54458
  ]),
54377
- m.value === e.key ? (U(), W("div", {
54459
+ v.value === e.key ? (U(), W("div", {
54378
54460
  key: 0,
54379
54461
  class: "wf-detail",
54380
- style: fe({ marginLeft: `${e.depth * L0 + 44}px` })
54462
+ style: fe({ "--wf-indent": `${e.depth * z0 + 44}px` })
54381
54463
  }, [K("dl", null, [
54382
- e.item.task ? (U(), W("div", v0, [t[13] ||= K("dt", null, "任务", -1), K("dd", null, [J(P(e.item.task), 1), e.item.task_id ? (U(), W("button", {
54464
+ e.item.task ? (U(), W("div", y0, [t[12] ||= K("dt", null, "任务", -1), K("dd", null, [J(P(e.item.task), 1), e.item.task_id ? (U(), W("button", {
54383
54465
  key: 0,
54384
54466
  type: "button",
54385
54467
  class: "subtle-link",
54386
54468
  onClick: (t) => n("detail", e.item.task_id)
54387
- }, "#" + P(e.item.task_id), 9, y0)) : Y("", !0)])])) : Y("", !0),
54388
- e.item.state === "failed" ? (U(), W("div", b0, [t[14] ||= K("dt", null, "失败原因", -1), K("dd", x0, P(e.item.reason || "执行失败"), 1)])) : e.item.result || e.item.answer_id ? (U(), W("div", S0, [t[15] ||= K("dt", null, "结果", -1), K("dd", null, [J(P(e.item.result), 1), e.item.answer_id ? (U(), W("button", {
54469
+ }, "#" + P(e.item.task_id), 9, b0)) : Y("", !0)])])) : Y("", !0),
54470
+ e.item.state === "failed" ? (U(), W("div", x0, [t[13] ||= K("dt", null, "失败原因", -1), K("dd", S0, P(e.item.reason || "执行失败"), 1)])) : e.item.result || e.item.answer_id ? (U(), W("div", C0, [t[14] ||= K("dt", null, "结果", -1), K("dd", null, [J(P(e.item.result), 1), e.item.answer_id ? (U(), W("button", {
54389
54471
  key: 0,
54390
54472
  type: "button",
54391
54473
  class: "subtle-link",
54392
54474
  onClick: (t) => n("detail", e.item.answer_id)
54393
- }, "在消息中查看 #" + P(e.item.answer_id), 9, C0)) : Y("", !0)])])) : Y("", !0),
54394
- e.item.changes ? (U(), W("div", w0, [t[16] ||= K("dt", null, "改动", -1), K("dd", null, P(e.item.changes) + " 个文件", 1)])) : Y("", !0)
54395
- ]), k.value.length ? (U(), W("ol", T0, [(U(!0), W(H, null, B(k.value, (e) => (U(), W("li", {
54475
+ }, "在消息中查看 #" + P(e.item.answer_id), 9, w0)) : Y("", !0)])])) : Y("", !0),
54476
+ e.item.changes ? (U(), W("div", T0, [t[15] ||= K("dt", null, "改动", -1), K("dd", null, P(e.item.changes) + " 个文件", 1)])) : Y("", !0)
54477
+ ]), A.value.length ? (U(), W("ol", E0, [(U(!0), W(H, null, B(A.value, (e) => (U(), W("li", {
54396
54478
  key: `${e.kind}-${e.at}-${e.phase || ""}`,
54397
54479
  class: M(`log-${e.kind}`)
54398
- }, [K("time", null, P(se(e.at)), 1), e.kind === "phase" ? (U(), W(H, { key: 0 }, [K("i", {
54480
+ }, [K("time", null, P(N(e.at)), 1), e.kind === "phase" ? (U(), W(H, { key: 0 }, [K("i", {
54399
54481
  class: M(["wf-swatch", `is-${e.phase}`]),
54400
54482
  "aria-hidden": "true"
54401
54483
  }, null, 2), K("span", null, [
54402
54484
  J(P(I(w1)[e.phase]), 1),
54403
54485
  e.tool ? (U(), W(H, { key: 0 }, [J(" · " + P(e.tool), 1)], 64)) : Y("", !0),
54404
54486
  J(" · " + P(e.live ? "进行中" : I(O1)(e.duration)), 1)
54405
- ])], 64)) : (U(), W("span", E0, P(e.text), 1))], 2))), 128))])) : (U(), W("p", D0, "这次执行没有阶段明细或过程说明。"))], 4)) : Y("", !0)
54487
+ ])], 64)) : (U(), W("span", D0, P(e.text), 1))], 2))), 128))])) : (U(), W("p", O0, "这次执行没有阶段明细或过程说明。"))], 4)) : Y("", !0)
54406
54488
  ], 2))), 128))
54407
54489
  ], 4),
54408
- T.value.folds.length || x.value.executions.length >= x.value.execution_limit ? (U(), W("footer", O0, [T.value.folds.length ? (U(), W("span", k0, [t[18] ||= K("i", {
54490
+ k.value.folds.length || T.value.executions.length >= T.value.execution_limit ? (U(), W("footer", k0, [k.value.folds.length ? (U(), W("span", A0, [t[17] ||= K("i", {
54409
54491
  class: "wf-swatch is-fold",
54410
54492
  "aria-hidden": "true"
54411
- }, null, -1), J("已折叠 " + P(T.value.folds.length) + " 段超过 " + P(I(E1) / 6e4) + " 分钟的空闲", 1)])) : Y("", !0), x.value.executions.length >= x.value.execution_limit ? (U(), W("span", A0, "只列出最近 " + P(x.value.execution_limit) + " 次讨论执行与 " + P(x.value.execution_limit) + " 次协作执行", 1)) : Y("", !0)])) : Y("", !0)
54493
+ }, null, -1), J("已折叠 " + P(k.value.folds.length) + " 段超过 " + P(I(E1) / 6e4) + " 分钟的空闲", 1)])) : Y("", !0), T.value.executions.length >= T.value.execution_limit ? (U(), W("span", j0, "只列出最近 " + P(T.value.execution_limit) + " 次讨论执行与 " + P(T.value.execution_limit) + " 次协作执行", 1)) : Y("", !0)])) : Y("", !0)
54412
54494
  ])) : Y("", !0),
54413
- p.value ? (U(), W("div", {
54495
+ _.value ? (U(), W("div", {
54414
54496
  key: 3,
54415
- class: "wf-card",
54416
- role: "tooltip",
54497
+ class: M(["wf-card", { "is-pinned": _.value.pinned }]),
54498
+ role: _.value.pinned ? "dialog" : "tooltip",
54417
54499
  style: fe({
54418
- left: `${p.value.left}px`,
54419
- top: `${p.value.top}px`
54500
+ left: `${_.value.left}px`,
54501
+ top: `${_.value.top}px`
54420
54502
  })
54421
54503
  }, [
54422
- K("strong", null, P(I(i).display_name(p.value.row.item.member)) + " · " + P(de.value), 1),
54423
- K("small", null, [J(P(se(p.value.piece.start)), 1), p.value.piece.end > p.value.piece.start ? (U(), W(H, { key: 0 }, [J(" – " + P(p.value.piece.live ? "现在" : se(p.value.piece.end)), 1)], 64)) : Y("", !0)]),
54424
- p.value.row.item.reason ? (U(), W("p", j0, P(p.value.row.item.reason), 1)) : Y("", !0),
54425
- pe.value.length ? (U(), W(H, { key: 1 }, [K("small", M0, P(p.value.related.earlier ? "此前的过程说明" : "过程说明"), 1), K("ol", null, [(U(!0), W(H, null, B(pe.value, (e) => (U(), W("li", { key: e.at + e.text }, [K("time", null, P(se(e.at)), 1), J(P(e.text), 1)]))), 128))])], 64)) : Y("", !0)
54426
- ], 4)) : Y("", !0)
54504
+ K("strong", null, P(I(i).display_name(_.value.row.item.member)) + " · " + P(Ce.value), 1),
54505
+ _.value.pinned ? (U(), W("button", {
54506
+ key: 0,
54507
+ type: "button",
54508
+ class: "wf-card-close",
54509
+ "aria-label": "关闭",
54510
+ onClick: t[2] ||= (e) => _.value = null
54511
+ }, [q(r, { name: "i-lucide-x" })])) : Y("", !0),
54512
+ K("small", null, [J(P(N(_.value.piece.start)), 1), _.value.piece.end > _.value.piece.start ? (U(), W(H, { key: 0 }, [J(" – " + P(_.value.piece.live ? "现在" : N(_.value.piece.end)), 1)], 64)) : Y("", !0)]),
54513
+ _.value.row.item.reason ? (U(), W("p", N0, P(_.value.row.item.reason), 1)) : Y("", !0),
54514
+ we.value.length ? (U(), W(H, { key: 2 }, [K("small", P0, P(_.value.related.earlier ? "此前的过程说明" : "过程说明"), 1), K("ol", null, [(U(!0), W(H, null, B(we.value, (e) => (U(), W("li", { key: e.at + e.text }, [K("time", null, P(N(e.at)), 1), J(P(e.text), 1)]))), 128))])], 64)) : Y("", !0)
54515
+ ], 14, M0)) : Y("", !0)
54427
54516
  ]);
54428
54517
  };
54429
54518
  }
54430
- }, [["__scopeId", "data-v-da1dcc16"]]), z0 = {
54519
+ }, [["__scopeId", "data-v-0ceb3415"]]), K0 = {
54431
54520
  id: "channel-sidebar",
54432
54521
  class: "channel-sidebar",
54433
54522
  "aria-label": "房间导航"
54434
- }, B0 = { class: "channel-sidebar-content" }, V0 = { class: "channel-directory-heading channel-tools-heading" }, H0 = ["aria-expanded"], U0 = { class: "channel-sidebar-footer" }, W0 = ["aria-label"], G0 = { class: "channel-self" }, K0 = ["title"], q0 = [
54523
+ }, q0 = { class: "channel-sidebar-content" }, J0 = { class: "channel-directory-heading channel-tools-heading" }, Y0 = ["aria-expanded"], X0 = { class: "channel-sidebar-footer" }, Z0 = ["aria-label"], Q0 = { class: "channel-self" }, $0 = ["title"], e2 = [
54435
54524
  "aria-valuemax",
54436
54525
  "aria-valuenow",
54437
54526
  "aria-valuetext"
54438
- ], J0 = { class: "channel-main" }, Y0 = { class: "channel-header" }, X0 = { class: "channel-title-icon" }, Z0 = { class: "channel-title" }, Q0 = { class: "channel-title-copy" }, $0 = ["title"], e2 = {
54527
+ ], t2 = { class: "channel-main" }, n2 = { class: "channel-header" }, r2 = { class: "channel-title-icon" }, i2 = { class: "channel-title" }, a2 = { class: "channel-title-copy" }, o2 = ["title"], s2 = {
54439
54528
  key: 0,
54440
54529
  class: "channel-header-context"
54441
- }, t2 = { class: "channel-header-actions" }, n2 = {
54530
+ }, c2 = { class: "channel-header-actions" }, l2 = {
54442
54531
  key: 0,
54443
54532
  class: "channel-launch-recovery",
54444
54533
  "aria-label": "未完成的创建或启动请求"
54445
- }, r2 = { role: "status" }, i2 = { class: "button-row" }, a2 = {
54534
+ }, u2 = { role: "status" }, d2 = { class: "button-row" }, f2 = {
54446
54535
  key: 1,
54447
54536
  class: "channel-tabbar"
54448
- }, o2 = { class: "channel-brief-inner" }, s2 = { class: "channel-brief-heading" }, c2 = ["aria-label", "aria-expanded"], l2 = {
54537
+ }, p2 = { class: "channel-brief-inner" }, m2 = { class: "channel-brief-heading" }, h2 = ["aria-label", "aria-expanded"], g2 = {
54449
54538
  key: 0,
54450
54539
  class: "channel-brief-preview"
54451
- }, u2 = {
54540
+ }, _2 = {
54452
54541
  id: "channel-brief-content",
54453
54542
  class: "channel-brief-content"
54454
- }, d2 = ["innerHTML"], f2 = { class: "channel-brief-footer" }, p2 = { class: "channel-brief-status" }, m2 = { class: "channel-content" }, h2 = {
54543
+ }, v2 = ["innerHTML"], y2 = { class: "channel-brief-footer" }, b2 = { class: "channel-brief-status" }, x2 = { class: "channel-content" }, S2 = {
54455
54544
  key: 0,
54456
54545
  class: "content-page merged-page",
54457
54546
  role: "tabpanel",
54458
54547
  "aria-label": "讨论"
54459
- }, g2 = {
54548
+ }, C2 = {
54460
54549
  key: 1,
54461
54550
  class: "merged-section",
54462
54551
  "aria-label": "当前讨论"
54463
- }, _2 = { class: "page-heading" }, v2 = {
54552
+ }, w2 = { class: "page-heading" }, T2 = {
54464
54553
  key: 0,
54465
54554
  class: "fine-print"
54466
- }, y2 = {
54555
+ }, E2 = {
54467
54556
  class: "merged-section channel-summary",
54468
54557
  "aria-label": "当前共识"
54469
- }, b2 = { class: "page-heading" }, x2 = { class: "form-footer" }, S2 = { class: "button-row" }, C2 = { class: "consensus-card is-brief" }, w2 = ["innerHTML"], T2 = {
54558
+ }, D2 = { class: "page-heading" }, O2 = { class: "form-footer" }, k2 = { class: "button-row" }, A2 = { class: "consensus-card is-brief" }, j2 = ["innerHTML"], M2 = {
54470
54559
  key: 0,
54471
54560
  class: "consensus-card"
54472
- }, E2 = ["innerHTML"], D2 = {
54561
+ }, N2 = ["innerHTML"], P2 = {
54473
54562
  key: 2,
54474
54563
  class: "fine-print"
54475
- }, O2 = {
54564
+ }, F2 = {
54476
54565
  key: 1,
54477
54566
  class: "content-page merged-page",
54478
54567
  role: "tabpanel",
54479
54568
  "aria-label": "房间"
54480
- }, k2 = {
54569
+ }, I2 = {
54481
54570
  key: 2,
54482
54571
  class: "content-page merged-page",
54483
54572
  role: "tabpanel",
54484
54573
  "aria-label": "执行"
54485
- }, A2 = {
54574
+ }, L2 = {
54486
54575
  key: 1,
54487
54576
  class: "channel-empty"
54488
- }, j2 = ["aria-valuenow", "aria-valuetext"], M2 = {
54577
+ }, R2 = ["aria-valuenow", "aria-valuetext"], z2 = {
54489
54578
  key: 2,
54490
54579
  id: "channel-member-rail",
54491
54580
  class: "channel-member-rail",
54492
54581
  "aria-label": "当前焦点与讨论进度"
54493
- }, N2 = { class: "channel-rail-board" }, P2 = {
54582
+ }, B2 = { class: "channel-rail-board" }, V2 = {
54494
54583
  key: 2,
54495
54584
  class: "progress-board is-docked"
54496
- }, F2 = { class: "channel-detail-title" }, I2 = { class: "info-section" }, L2 = "ai-codiscuss-channel-layout", R2 = 220, z2 = 440, B2 = 280, V2 = 16, H2 = 180, U2 = 400, W2 = 248, G2 = 16, K2 = 480, q2 = 1200, J2 = 0, Y2 = {
54585
+ }, H2 = { class: "channel-detail-title" }, U2 = { class: "info-section" }, W2 = "ai-codiscuss-channel-layout", G2 = 220, K2 = 440, q2 = 280, J2 = 16, Y2 = 180, X2 = 400, Z2 = 248, Q2 = 16, $2 = 480, e4 = 1200, t4 = 0, n4 = {
54497
54586
  __name: "ChannelWorkspace",
54498
54587
  setup(e) {
54499
54588
  let { view: t, bridge: n, field: r, act: i, pending: a } = xr("discussion"), o = Z(() => t.value.room), s = /* @__PURE__ */ F(""), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(null), u = /* @__PURE__ */ F(null), d = /* @__PURE__ */ F(!1), f = /* @__PURE__ */ F(!0), p = /* @__PURE__ */ F(!1), m = r("state-input"), h = r("brief-input"), g = r("search-input"), _ = r("author-select"), v = [{
@@ -54515,14 +54604,14 @@ var B1 = {
54515
54604
  label: "宽",
54516
54605
  width: 1240
54517
54606
  }
54518
- }, b = je(), x = /* @__PURE__ */ F(b.reading), S = /* @__PURE__ */ F(b.effects), C = /* @__PURE__ */ F(b.rail), w = /* @__PURE__ */ F(b.nav), T = /* @__PURE__ */ F(typeof window > "u" ? 728 : window.innerWidth), E = /* @__PURE__ */ F(b.collapsed), D = /* @__PURE__ */ F(!0), O = /* @__PURE__ */ F(b.rail_collapsed), ee = Z(() => T.value >= q2), k = Z(() => t.value.tab === "discussion" && !O.value), te = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), ne = Z(() => {
54607
+ }, b = je(), x = /* @__PURE__ */ F(b.reading), S = /* @__PURE__ */ F(b.effects), C = /* @__PURE__ */ F(b.rail), w = /* @__PURE__ */ F(b.nav), T = /* @__PURE__ */ F(typeof window > "u" ? 728 : window.innerWidth), E = /* @__PURE__ */ F(b.collapsed), D = /* @__PURE__ */ F(!0), O = /* @__PURE__ */ F(b.rail_collapsed), ee = Z(() => T.value >= e4), k = Z(() => t.value.tab === "discussion" && !O.value), te = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), ne = Z(() => {
54519
54608
  let e = document.createElement("template");
54520
54609
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
54521
- }), re = /* @__PURE__ */ F(null), ie = /* @__PURE__ */ F(0), A = null, j = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(null), oe = Z(() => Math.min(U2, Math.max(H2, T.value - K2 - J2))), se = Z(() => Math.min(w.value, oe.value)), ce = Z(() => ({
54610
+ }), re = /* @__PURE__ */ F(null), ie = /* @__PURE__ */ F(0), A = null, j = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(null), oe = Z(() => Math.min(X2, Math.max(Y2, T.value - $2 - t4))), se = Z(() => Math.min(w.value, oe.value)), ce = Z(() => ({
54522
54611
  "--channel-reading-width": `${y[x.value].width}px`,
54523
54612
  "--channel-rail-width": `${C.value}px`,
54524
54613
  "--channel-topbar-height": `${ie.value}px`,
54525
- "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${se.value}px ${J2}px minmax(0, 1fr)`
54614
+ "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${se.value}px ${t4}px minmax(0, 1fr)`
54526
54615
  })), le = Object.entries(y).map(([e, t]) => ({
54527
54616
  value: e,
54528
54617
  label: t.label
@@ -54543,6 +54632,11 @@ var B1 = {
54543
54632
  label: "消息",
54544
54633
  icon: "i-lucide-message-square"
54545
54634
  },
54635
+ {
54636
+ value: "timeline",
54637
+ label: "执行",
54638
+ icon: "i-lucide-chart-gantt"
54639
+ },
54546
54640
  {
54547
54641
  value: "history",
54548
54642
  label: "讨论",
@@ -54552,11 +54646,6 @@ var B1 = {
54552
54646
  value: "overview",
54553
54647
  label: "房间",
54554
54648
  icon: "i-lucide-sliders-horizontal"
54555
- },
54556
- {
54557
- value: "timeline",
54558
- label: "执行",
54559
- icon: "i-lucide-chart-gantt"
54560
54649
  }
54561
54650
  ], pe = {
54562
54651
  context: "history",
@@ -54616,12 +54705,12 @@ var B1 = {
54616
54705
  }
54617
54706
  function je() {
54618
54707
  try {
54619
- let e = JSON.parse(localStorage.getItem(L2)) || {};
54708
+ let e = JSON.parse(localStorage.getItem(W2)) || {};
54620
54709
  return {
54621
54710
  reading: Object.hasOwn(y, e.reading) ? e.reading : "default",
54622
54711
  effects: e.effects === "reduced" ? "reduced" : "full",
54623
- rail: Number.isFinite(e.rail) ? Math.min(z2, Math.max(R2, e.rail)) : B2,
54624
- nav: Number.isFinite(e.nav) ? Math.min(U2, Math.max(H2, e.nav)) : Me(),
54712
+ rail: Number.isFinite(e.rail) ? Math.min(K2, Math.max(G2, e.rail)) : q2,
54713
+ nav: Number.isFinite(e.nav) ? Math.min(X2, Math.max(Y2, e.nav)) : Me(),
54625
54714
  collapsed: e.collapsed === !0,
54626
54715
  brief_collapsed: e.brief_collapsed === !0,
54627
54716
  rail_collapsed: e.rail_collapsed === !0
@@ -54630,7 +54719,7 @@ var B1 = {
54630
54719
  return {
54631
54720
  reading: "default",
54632
54721
  effects: "full",
54633
- rail: B2,
54722
+ rail: q2,
54634
54723
  nav: Me(),
54635
54724
  collapsed: !1,
54636
54725
  brief_collapsed: !1,
@@ -54639,11 +54728,11 @@ var B1 = {
54639
54728
  }
54640
54729
  }
54641
54730
  function Me() {
54642
- return typeof window > "u" ? W2 : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : W2;
54731
+ return typeof window > "u" ? Z2 : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : Z2;
54643
54732
  }
54644
54733
  function Ne() {
54645
54734
  try {
54646
- localStorage.setItem(L2, JSON.stringify({
54735
+ localStorage.setItem(W2, JSON.stringify({
54647
54736
  reading: x.value,
54648
54737
  effects: S.value,
54649
54738
  rail: C.value,
@@ -54674,19 +54763,19 @@ var B1 = {
54674
54763
  }, e.currentTarget.setPointerCapture(e.pointerId));
54675
54764
  }
54676
54765
  function ze(e) {
54677
- j.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(z2, Math.max(R2, j.value.width + j.value.x - e.clientX))));
54766
+ j.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(K2, Math.max(G2, j.value.width + j.value.x - e.clientX))));
54678
54767
  }
54679
54768
  function Be(e) {
54680
54769
  j.value?.pointer === e.pointerId && (j.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ne());
54681
54770
  }
54682
54771
  function Ve(e) {
54683
54772
  let t = {
54684
- ArrowLeft: C.value + V2,
54685
- ArrowRight: C.value - V2,
54686
- Home: R2,
54687
- End: z2
54773
+ ArrowLeft: C.value + J2,
54774
+ ArrowRight: C.value - J2,
54775
+ Home: G2,
54776
+ End: K2
54688
54777
  };
54689
- Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(z2, Math.max(R2, t[e.key])), Ne());
54778
+ Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(K2, Math.max(G2, t[e.key])), Ne());
54690
54779
  }
54691
54780
  function He(e) {
54692
54781
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ae.value = {
@@ -54696,19 +54785,19 @@ var B1 = {
54696
54785
  }, e.currentTarget.setPointerCapture(e.pointerId));
54697
54786
  }
54698
54787
  function Ue(e) {
54699
- ae.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(oe.value, Math.max(H2, ae.value.width + e.clientX - ae.value.x))));
54788
+ ae.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(oe.value, Math.max(Y2, ae.value.width + e.clientX - ae.value.x))));
54700
54789
  }
54701
54790
  function We(e) {
54702
54791
  ae.value?.pointer === e.pointerId && (ae.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ne());
54703
54792
  }
54704
54793
  function Ge(e) {
54705
54794
  let t = {
54706
- ArrowLeft: se.value - G2,
54707
- ArrowRight: se.value + G2,
54708
- Home: H2,
54795
+ ArrowLeft: se.value - Q2,
54796
+ ArrowRight: se.value + Q2,
54797
+ Home: Y2,
54709
54798
  End: oe.value
54710
54799
  };
54711
- Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(oe.value, Math.max(H2, t[e.key])), Ne());
54800
+ Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(oe.value, Math.max(Y2, t[e.key])), Ne());
54712
54801
  }
54713
54802
  return (e, r) => {
54714
54803
  let y = sA, b = lH, w = pA, T = MA, O = $V, ie = WV, A = YV, pe = KV, N = HV, je = zV, Me = NV, Ne = AV;
@@ -54720,9 +54809,9 @@ var B1 = {
54720
54809
  }]),
54721
54810
  style: fe(ce.value)
54722
54811
  }, [
54723
- K("aside", z0, [
54812
+ K("aside", K0, [
54724
54813
  r[30] ||= ws("<header class=\"channel-workspace-heading\"><span class=\"channel-brand-icon\" aria-hidden=\"true\"><svg class=\"channel-brand-dark\" viewBox=\"0 0 100 100\"><defs><linearGradient id=\"brand-d0\" gradientUnits=\"userSpaceOnUse\" x1=\"4.5\" y1=\"64\" x2=\"95.5\" y2=\"64\"><stop offset=\"0.0%\" stop-color=\"#e9ebed\"></stop><stop offset=\"6.3%\" stop-color=\"#e2e5e7\"></stop><stop offset=\"12.5%\" stop-color=\"#dcdee1\"></stop><stop offset=\"18.8%\" stop-color=\"#d5d8db\"></stop><stop offset=\"25.0%\" stop-color=\"#ced2d5\"></stop><stop offset=\"31.3%\" stop-color=\"#c8cbcf\"></stop><stop offset=\"37.5%\" stop-color=\"#c1c5ca\"></stop><stop offset=\"43.8%\" stop-color=\"#babfc4\"></stop><stop offset=\"50.0%\" stop-color=\"#b4b9be\"></stop><stop offset=\"56.3%\" stop-color=\"#a9aeb3\"></stop><stop offset=\"62.5%\" stop-color=\"#9ea3a9\"></stop><stop offset=\"68.8%\" stop-color=\"#93999f\"></stop><stop offset=\"75.0%\" stop-color=\"#888e95\"></stop><stop offset=\"81.3%\" stop-color=\"#7e848a\"></stop><stop offset=\"87.5%\" stop-color=\"#737a80\"></stop><stop offset=\"93.8%\" stop-color=\"#697077\"></stop><stop offset=\"100.0%\" stop-color=\"#5f666d\"></stop></linearGradient><linearGradient id=\"brand-d1\" gradientUnits=\"userSpaceOnUse\" x1=\"8.5\" y1=\"36\" x2=\"91.5\" y2=\"36\"><stop offset=\"0.0%\" stop-color=\"#3f86ff\"></stop><stop offset=\"6.3%\" stop-color=\"#5588ff\"></stop><stop offset=\"12.5%\" stop-color=\"#6889ff\"></stop><stop offset=\"18.8%\" stop-color=\"#788aff\"></stop><stop offset=\"25.0%\" stop-color=\"#878bff\"></stop><stop offset=\"31.3%\" stop-color=\"#958cff\"></stop><stop offset=\"37.5%\" stop-color=\"#a78aef\"></stop><stop offset=\"43.8%\" stop-color=\"#b986d7\"></stop><stop offset=\"50.0%\" stop-color=\"#ca80bf\"></stop><stop offset=\"56.3%\" stop-color=\"#da78a6\"></stop><stop offset=\"62.5%\" stop-color=\"#ea6e8c\"></stop><stop offset=\"68.8%\" stop-color=\"#f56d78\"></stop><stop offset=\"75.0%\" stop-color=\"#f77f72\"></stop><stop offset=\"81.3%\" stop-color=\"#f8906b\"></stop><stop offset=\"87.5%\" stop-color=\"#f9a163\"></stop><stop offset=\"93.8%\" stop-color=\"#fab058\"></stop><stop offset=\"100.0%\" stop-color=\"#fac04a\"></stop></linearGradient><linearGradient id=\"brand-d2\" gradientUnits=\"userSpaceOnUse\" x1=\"28.021\" y1=\"95.435\" x2=\"39.978\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#d06a49\"></stop><stop offset=\"6.3%\" stop-color=\"#d36f4f\"></stop><stop offset=\"12.5%\" stop-color=\"#d67456\"></stop><stop offset=\"18.8%\" stop-color=\"#d97a5c\"></stop><stop offset=\"25.0%\" stop-color=\"#dc7f62\"></stop><stop offset=\"31.3%\" stop-color=\"#df8468\"></stop><stop offset=\"37.5%\" stop-color=\"#e2896e\"></stop><stop offset=\"43.8%\" stop-color=\"#e58e74\"></stop><stop offset=\"50.0%\" stop-color=\"#e8937a\"></stop><stop offset=\"56.3%\" stop-color=\"#eb9d85\"></stop><stop offset=\"62.5%\" stop-color=\"#eea68f\"></stop><stop offset=\"68.8%\" stop-color=\"#f1b09a\"></stop><stop offset=\"75.0%\" stop-color=\"#f4baa4\"></stop><stop offset=\"81.3%\" stop-color=\"#f6c3af\"></stop><stop offset=\"87.5%\" stop-color=\"#f9cdb9\"></stop><stop offset=\"93.8%\" stop-color=\"#fbd6c4\"></stop><stop offset=\"100.0%\" stop-color=\"#fde0cf\"></stop></linearGradient><linearGradient id=\"brand-d3\" gradientUnits=\"userSpaceOnUse\" x1=\"71.978\" y1=\"95.435\" x2=\"60.021\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#4a5cff\"></stop><stop offset=\"6.3%\" stop-color=\"#5062ff\"></stop><stop offset=\"12.5%\" stop-color=\"#5768ff\"></stop><stop offset=\"18.8%\" stop-color=\"#5d6dff\"></stop><stop offset=\"25.0%\" stop-color=\"#6472ff\"></stop><stop offset=\"31.3%\" stop-color=\"#6b77ff\"></stop><stop offset=\"37.5%\" stop-color=\"#717cff\"></stop><stop offset=\"43.8%\" stop-color=\"#7881ff\"></stop><stop offset=\"50.0%\" stop-color=\"#7f86ff\"></stop><stop offset=\"56.3%\" stop-color=\"#8990ff\"></stop><stop offset=\"62.5%\" stop-color=\"#9399ff\"></stop><stop offset=\"68.8%\" stop-color=\"#9da2ff\"></stop><stop offset=\"75.0%\" stop-color=\"#a8abff\"></stop><stop offset=\"81.3%\" stop-color=\"#b3b4ff\"></stop><stop offset=\"87.5%\" stop-color=\"#bebdff\"></stop><stop offset=\"93.8%\" stop-color=\"#c9c5ff\"></stop><stop offset=\"100.0%\" stop-color=\"#d4ceff\"></stop></linearGradient><clipPath id=\"brand-d4\"><polygon points=\"16,46.5 84,46.5 84,25.5 16,25.5\"></polygon></clipPath><clipPath id=\"brand-d5\"><polygon points=\"16,48.5 84,48.5 84,23.5 16,23.5\"></polygon></clipPath><clipPath id=\"brand-d6\"><polygon points=\"81.410,86.630 71.410,10.630 50.589,13.369 60.589,89.369\"></polygon></clipPath><clipPath id=\"brand-d7\"><polygon points=\"83.393,86.369 73.393,10.369 48.606,13.630 58.606,89.630\"></polygon></clipPath><clipPath id=\"brand-d8\"><polygon points=\"12,74.5 88,74.5 88,53.5 12,53.5\"></polygon></clipPath><clipPath id=\"brand-d9\"><polygon points=\"12,76.5 88,76.5 88,51.5 12,51.5\"></polygon></clipPath><clipPath id=\"brand-d10\"><polygon points=\"39.410,89.369 49.410,13.369 28.589,10.630 18.589,86.630\"></polygon></clipPath><clipPath id=\"brand-d11\"><polygon points=\"41.393,89.630 51.393,13.630 26.606,10.369 16.606,86.369\"></polygon></clipPath></defs><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-d0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-d1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-d2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-d3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><g clip-path=\"url(#brand-d4)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d5)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-d2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d6)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d7)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-d1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d8)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d9)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-d3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d10)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d11)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-d0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g></svg><svg class=\"channel-brand-light\" viewBox=\"0 0 100 100\"><defs><linearGradient id=\"brand-l0\" gradientUnits=\"userSpaceOnUse\" x1=\"4.5\" y1=\"64\" x2=\"95.5\" y2=\"64\"><stop offset=\"0.0%\" stop-color=\"#0b0d0f\"></stop><stop offset=\"6.3%\" stop-color=\"#101315\"></stop><stop offset=\"12.5%\" stop-color=\"#16191b\"></stop><stop offset=\"18.8%\" stop-color=\"#1c1f22\"></stop><stop offset=\"25.0%\" stop-color=\"#222529\"></stop><stop offset=\"31.3%\" stop-color=\"#282c2f\"></stop><stop offset=\"37.5%\" stop-color=\"#2e3237\"></stop><stop offset=\"43.8%\" stop-color=\"#34393e\"></stop><stop offset=\"50.0%\" stop-color=\"#3b4045\"></stop><stop offset=\"56.3%\" stop-color=\"#484d52\"></stop><stop offset=\"62.5%\" stop-color=\"#555a5f\"></stop><stop offset=\"68.8%\" stop-color=\"#62676d\"></stop><stop offset=\"75.0%\" stop-color=\"#70757b\"></stop><stop offset=\"81.3%\" stop-color=\"#7e8389\"></stop><stop offset=\"87.5%\" stop-color=\"#8c9297\"></stop><stop offset=\"93.8%\" stop-color=\"#9aa0a6\"></stop><stop offset=\"100.0%\" stop-color=\"#a9afb5\"></stop></linearGradient><linearGradient id=\"brand-l1\" gradientUnits=\"userSpaceOnUse\" x1=\"8.5\" y1=\"36\" x2=\"91.5\" y2=\"36\"><stop offset=\"0.0%\" stop-color=\"#2f7bff\"></stop><stop offset=\"6.3%\" stop-color=\"#487cff\"></stop><stop offset=\"12.5%\" stop-color=\"#5a7cff\"></stop><stop offset=\"18.8%\" stop-color=\"#6a7dff\"></stop><stop offset=\"25.0%\" stop-color=\"#797dff\"></stop><stop offset=\"31.3%\" stop-color=\"#877dff\"></stop><stop offset=\"37.5%\" stop-color=\"#997cee\"></stop><stop offset=\"43.8%\" stop-color=\"#ae79d3\"></stop><stop offset=\"50.0%\" stop-color=\"#c174b8\"></stop><stop offset=\"56.3%\" stop-color=\"#d36b9d\"></stop><stop offset=\"62.5%\" stop-color=\"#e56080\"></stop><stop offset=\"68.8%\" stop-color=\"#f15d69\"></stop><stop offset=\"75.0%\" stop-color=\"#f37162\"></stop><stop offset=\"81.3%\" stop-color=\"#f5835a\"></stop><stop offset=\"87.5%\" stop-color=\"#f79550\"></stop><stop offset=\"93.8%\" stop-color=\"#f8a542\"></stop><stop offset=\"100.0%\" stop-color=\"#f8b52c\"></stop></linearGradient><linearGradient id=\"brand-l2\" gradientUnits=\"userSpaceOnUse\" x1=\"28.021\" y1=\"95.435\" x2=\"39.978\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#b9502f\"></stop><stop offset=\"6.3%\" stop-color=\"#bd5534\"></stop><stop offset=\"12.5%\" stop-color=\"#c15a39\"></stop><stop offset=\"18.8%\" stop-color=\"#c55f3e\"></stop><stop offset=\"25.0%\" stop-color=\"#c96443\"></stop><stop offset=\"31.3%\" stop-color=\"#cd6848\"></stop><stop offset=\"37.5%\" stop-color=\"#d16d4d\"></stop><stop offset=\"43.8%\" stop-color=\"#d57252\"></stop><stop offset=\"50.0%\" stop-color=\"#d97757\"></stop><stop offset=\"56.3%\" stop-color=\"#dd8060\"></stop><stop offset=\"62.5%\" stop-color=\"#e08a69\"></stop><stop offset=\"68.8%\" stop-color=\"#e49372\"></stop><stop offset=\"75.0%\" stop-color=\"#e79c7b\"></stop><stop offset=\"81.3%\" stop-color=\"#eaa584\"></stop><stop offset=\"87.5%\" stop-color=\"#edae8d\"></stop><stop offset=\"93.8%\" stop-color=\"#f0b796\"></stop><stop offset=\"100.0%\" stop-color=\"#f3c09f\"></stop></linearGradient><linearGradient id=\"brand-l3\" gradientUnits=\"userSpaceOnUse\" x1=\"71.978\" y1=\"95.435\" x2=\"60.021\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#2b33e6\"></stop><stop offset=\"6.3%\" stop-color=\"#3139e9\"></stop><stop offset=\"12.5%\" stop-color=\"#363fec\"></stop><stop offset=\"18.8%\" stop-color=\"#3c44ef\"></stop><stop offset=\"25.0%\" stop-color=\"#4249f3\"></stop><stop offset=\"31.3%\" stop-color=\"#484ef6\"></stop><stop offset=\"37.5%\" stop-color=\"#4e53f9\"></stop><stop offset=\"43.8%\" stop-color=\"#5457fc\"></stop><stop offset=\"50.0%\" stop-color=\"#5a5cff\"></stop><stop offset=\"56.3%\" stop-color=\"#6569ff\"></stop><stop offset=\"62.5%\" stop-color=\"#7075ff\"></stop><stop offset=\"68.8%\" stop-color=\"#7c80ff\"></stop><stop offset=\"75.0%\" stop-color=\"#888bff\"></stop><stop offset=\"81.3%\" stop-color=\"#9595ff\"></stop><stop offset=\"87.5%\" stop-color=\"#a29fff\"></stop><stop offset=\"93.8%\" stop-color=\"#afa9ff\"></stop><stop offset=\"100.0%\" stop-color=\"#bdb3ff\"></stop></linearGradient><clipPath id=\"brand-l4\"><polygon points=\"16,46.5 84,46.5 84,25.5 16,25.5\"></polygon></clipPath><clipPath id=\"brand-l5\"><polygon points=\"16,48.5 84,48.5 84,23.5 16,23.5\"></polygon></clipPath><clipPath id=\"brand-l6\"><polygon points=\"81.410,86.630 71.410,10.630 50.589,13.369 60.589,89.369\"></polygon></clipPath><clipPath id=\"brand-l7\"><polygon points=\"83.393,86.369 73.393,10.369 48.606,13.630 58.606,89.630\"></polygon></clipPath><clipPath id=\"brand-l8\"><polygon points=\"12,74.5 88,74.5 88,53.5 12,53.5\"></polygon></clipPath><clipPath id=\"brand-l9\"><polygon points=\"12,76.5 88,76.5 88,51.5 12,51.5\"></polygon></clipPath><clipPath id=\"brand-l10\"><polygon points=\"39.410,89.369 49.410,13.369 28.589,10.630 18.589,86.630\"></polygon></clipPath><clipPath id=\"brand-l11\"><polygon points=\"41.393,89.630 51.393,13.630 26.606,10.369 16.606,86.369\"></polygon></clipPath></defs><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-l0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-l1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-l2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-l3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><g clip-path=\"url(#brand-l4)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l5)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-l2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l6)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l7)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-l1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l8)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l9)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-l3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l10)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l11)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-l0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g></svg></span><span class=\"channel-brand-text\"><strong>共议</strong><span>AI CoDiscuss</span></span></header>", 1),
54725
- K("div", B0, [
54814
+ K("div", q0, [
54726
54815
  q(gZ, {
54727
54816
  onSelect: Te,
54728
54817
  onManage: Ce,
@@ -54732,12 +54821,12 @@ var B1 = {
54732
54821
  onDeleteFolder: Ae,
54733
54822
  onArchives: we
54734
54823
  }),
54735
- K("div", V0, [K("button", {
54824
+ K("div", J0, [K("button", {
54736
54825
  type: "button",
54737
54826
  class: "channel-section-toggle",
54738
54827
  "aria-expanded": f.value,
54739
54828
  onClick: r[0] ||= (e) => f.value = !f.value
54740
- }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[29] ||= J("频道工具", -1)], 8, H0)]),
54829
+ }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[29] ||= J("频道工具", -1)], 8, Y0)]),
54741
54830
  f.value ? (U(), G(b, {
54742
54831
  key: 0,
54743
54832
  items: be.value,
@@ -54753,7 +54842,7 @@ var B1 = {
54753
54842
  }
54754
54843
  }, null, 8, ["items"])) : Y("", !0)
54755
54844
  ]),
54756
- K("footer", U0, [K("button", {
54845
+ K("footer", X0, [K("button", {
54757
54846
  type: "button",
54758
54847
  class: "channel-self-button",
54759
54848
  "aria-label": `账号与设置:${I(n).display_name(I(_))}${xe.value ? "," + xe.value : ""}`,
@@ -54769,10 +54858,10 @@ var B1 = {
54769
54858
  "text",
54770
54859
  "alt",
54771
54860
  "class"
54772
- ]), K("span", G0, [K("strong", null, P(I(n).display_name(I(_))), 1), K("span", { class: M(["channel-connection", { "is-action": xe.value }]) }, [K("span", {
54861
+ ]), K("span", Q0, [K("strong", null, P(I(n).display_name(I(_))), 1), K("span", { class: M(["channel-connection", { "is-action": xe.value }]) }, [K("span", {
54773
54862
  class: M({ connected: I(t).connected }),
54774
54863
  title: I(t).connected ? "网站已连接" : "网站未连接"
54775
- }, null, 10, K0), J(P(xe.value || (I(t).connected ? "网站已连接" : "网站未连接")), 1)], 2)])], 8, W0), q(O, { text: "设置" }, {
54864
+ }, null, 10, $0), J(P(xe.value || (I(t).connected ? "网站已连接" : "网站未连接")), 1)], 2)])], 8, Z0), q(O, { text: "设置" }, {
54776
54865
  default: L(() => [q(T, {
54777
54866
  icon: "i-lucide-settings-2",
54778
54867
  color: "neutral",
@@ -54793,7 +54882,7 @@ var B1 = {
54793
54882
  "aria-label": "调整房间栏宽度",
54794
54883
  "aria-orientation": "vertical",
54795
54884
  "aria-controls": "channel-sidebar",
54796
- "aria-valuemin": H2,
54885
+ "aria-valuemin": Y2,
54797
54886
  "aria-valuemax": oe.value,
54798
54887
  "aria-valuenow": se.value,
54799
54888
  "aria-valuetext": `${se.value} 像素`,
@@ -54804,13 +54893,13 @@ var B1 = {
54804
54893
  onPointercancel: We,
54805
54894
  onLostpointercapture: We,
54806
54895
  onKeydown: Ge
54807
- }, null, 40, q0)),
54808
- K("main", J0, [K("div", {
54896
+ }, null, 40, e2)),
54897
+ K("main", t2, [K("div", {
54809
54898
  ref_key: "topbar",
54810
54899
  ref: re,
54811
54900
  class: M(["channel-topbar", { "is-overlay": o.value && I(t).tab === "discussion" }])
54812
54901
  }, [
54813
- K("header", Y0, [
54902
+ K("header", n2, [
54814
54903
  q(O, { text: E.value ? "展开房间栏" : "收起房间栏" }, {
54815
54904
  default: L(() => [q(T, {
54816
54905
  icon: "i-lucide-panel-left",
@@ -54835,8 +54924,8 @@ var B1 = {
54835
54924
  "aria-expanded": d.value,
54836
54925
  onClick: r[4] ||= (e) => d.value = !0
54837
54926
  }, null, 8, ["aria-expanded"]),
54838
- K("span", X0, [q(y, { name: "i-lucide-hash" })]),
54839
- K("div", Z0, [K("div", Q0, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, $0)]), o.value?.archived ? (U(), G(ie, {
54927
+ K("span", r2, [q(y, { name: "i-lucide-hash" })]),
54928
+ K("div", i2, [K("div", a2, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, o2)]), o.value?.archived ? (U(), G(ie, {
54840
54929
  key: 0,
54841
54930
  color: "neutral",
54842
54931
  variant: "subtle",
@@ -54845,12 +54934,12 @@ var B1 = {
54845
54934
  default: L(() => [...r[31] ||= [J("已存档", -1)]]),
54846
54935
  _: 1
54847
54936
  })) : Y("", !0)]),
54848
- o.value ? (U(), W("span", e2, [
54937
+ o.value ? (U(), W("span", s2, [
54849
54938
  J(P(de.find((e) => e.value === I(t).tab)?.label), 1),
54850
54939
  r[32] ||= K("span", null, "·", -1),
54851
54940
  J(P(o.value.message_count) + " 条记录", 1)
54852
54941
  ])) : Y("", !0),
54853
- K("div", t2, [
54942
+ K("div", c2, [
54854
54943
  I(t).tab === "discussion" ? (U(), W("form", {
54855
54944
  key: 0,
54856
54945
  class: "channel-search",
@@ -54929,12 +55018,12 @@ var B1 = {
54929
55018
  _: 1
54930
55019
  }, 8, ["text"])
54931
55020
  ]),
54932
- I(t).launch.recoveries.length ? (U(), W("section", n2, [
55021
+ I(t).launch.recoveries.length ? (U(), W("section", l2, [
54933
55022
  r[33] ||= K("h2", null, "继续未完成的请求", -1),
54934
55023
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
54935
55024
  K("strong", null, P(e.title), 1),
54936
- K("p", r2, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
54937
- K("div", i2, [
55025
+ K("p", u2, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
55026
+ K("div", d2, [
54938
55027
  q(T, {
54939
55028
  label: e.direct ? "继续创建房间" : "继续本次启动",
54940
55029
  size: "sm",
@@ -54967,7 +55056,7 @@ var B1 = {
54967
55056
  ]))), 128)),
54968
55057
  r[34] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
54969
55058
  ])) : Y("", !0),
54970
- o.value ? (U(), W("div", a2, [q(pe, {
55059
+ o.value ? (U(), W("div", f2, [q(pe, {
54971
55060
  modelValue: ue.value,
54972
55061
  "onUpdate:modelValue": r[9] ||= (e) => ue.value = e,
54973
55062
  items: de,
@@ -54982,7 +55071,7 @@ var B1 = {
54982
55071
  key: 2,
54983
55072
  class: M(["channel-host-brief", { "is-collapsed": D.value }]),
54984
55073
  "aria-label": "主持简报"
54985
- }, [K("div", o2, [K("div", s2, [K("button", {
55074
+ }, [K("div", p2, [K("div", m2, [K("button", {
54986
55075
  type: "button",
54987
55076
  class: "channel-brief-toggle",
54988
55077
  "aria-label": D.value ? "展开主持简报" : "收起主持简报",
@@ -54992,8 +55081,8 @@ var B1 = {
54992
55081
  }, [
54993
55082
  q(y, { name: D.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
54994
55083
  K("strong", null, "主持简报" + P(D.value ? ":" : ""), 1),
54995
- D.value ? (U(), W("span", l2, P(ne.value), 1)) : Y("", !0)
54996
- ], 8, c2), D.value ? Y("", !0) : (U(), G(T, {
55084
+ D.value ? (U(), W("span", g2, P(ne.value), 1)) : Y("", !0)
55085
+ ], 8, h2), D.value ? Y("", !0) : (U(), G(T, {
54997
55086
  key: 0,
54998
55087
  label: "更新简报",
54999
55088
  color: "neutral",
@@ -55001,20 +55090,20 @@ var B1 = {
55001
55090
  size: "xs",
55002
55091
  class: "channel-brief-update",
55003
55092
  onClick: r[10] ||= (e) => I(i)("tab", "context")
55004
- }))]), vr(K("div", u2, [K("div", {
55093
+ }))]), vr(K("div", _2, [K("div", {
55005
55094
  class: "channel-brief-text markdown-body",
55006
55095
  innerHTML: o.value.rendered_brief
55007
- }, null, 8, d2), K("div", f2, [K("span", p2, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !D.value]])])], 2)) : Y("", !0)
55096
+ }, null, 8, v2), K("div", y2, [K("span", b2, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !D.value]])])], 2)) : Y("", !0)
55008
55097
  ], 2), o.value ? (U(), W("div", {
55009
55098
  key: 0,
55010
55099
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
55011
- }, [K("div", m2, [
55100
+ }, [K("div", x2, [
55012
55101
  vr(q(lK, {
55013
55102
  onDetail: Ee,
55014
55103
  onEdit: r[11] ||= (e) => s.value = "edit"
55015
55104
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
55016
- I(t).tab === "history" ? (U(), W("div", h2, [
55017
- me.value ? (U(), W("section", g2, [K("div", _2, [r[35] ||= K("div", null, [K("h2", null, "当前讨论"), K("p", null, "没有进行中的讨论。开启后由主持人推进成员轮流发言,到上限或结束后房间回到自由协作,记录与结论保留。")], -1), q(T, {
55105
+ I(t).tab === "history" ? (U(), W("div", S2, [
55106
+ me.value ? (U(), W("section", C2, [K("div", w2, [r[35] ||= K("div", null, [K("h2", null, "当前讨论"), K("p", null, "没有进行中的讨论。开启后由主持人推进成员轮流发言,到上限或结束后房间回到自由协作,记录与结论保留。")], -1), q(T, {
55018
55107
  icon: "i-lucide-messages-square",
55019
55108
  label: "开启讨论",
55020
55109
  variant: "outline",
@@ -55022,13 +55111,13 @@ var B1 = {
55022
55111
  class: "channel-surface-button",
55023
55112
  disabled: !_e.value,
55024
55113
  onClick: r[13] ||= (e) => he.value = !0
55025
- }, null, 8, ["disabled"])]), !_e.value && !o.value.archived ? (U(), W("p", v2, "开启讨论需要一位由本机唤醒的 AI 主持人,且本机服务在线。")) : Y("", !0)])) : (U(), G(kq, {
55114
+ }, null, 8, ["disabled"])]), !_e.value && !o.value.archived ? (U(), W("p", T2, "开启讨论需要一位由本机唤醒的 AI 主持人,且本机服务在线。")) : Y("", !0)])) : (U(), G(kq, {
55026
55115
  key: 0,
55027
55116
  section: "host",
55028
55117
  onOpen: r[12] ||= (e) => s.value = e,
55029
55118
  onDetail: Ee
55030
55119
  })),
55031
- K("section", y2, [K("div", b2, [r[36] ||= K("div", null, [K("h2", null, "当前共识"), K("p", null, "主持人整理的结论、共识与分歧,用 #消息编号 保留依据;讨论结束时保存进下方记录。")], -1), ge.value ? Y("", !0) : (U(), G(T, {
55120
+ K("section", E2, [K("div", D2, [r[36] ||= K("div", null, [K("h2", null, "当前共识"), K("p", null, "主持人整理的结论、共识与分歧,用 #消息编号 保留依据;讨论结束时保存进下方记录。")], -1), ge.value ? Y("", !0) : (U(), G(T, {
55032
55121
  key: 0,
55033
55122
  icon: "i-lucide-pencil",
55034
55123
  label: "编辑",
@@ -55072,7 +55161,7 @@ var B1 = {
55072
55161
  }, null, 8, ["modelValue"])]),
55073
55162
  _: 1
55074
55163
  }),
55075
- K("div", x2, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), K("div", S2, [q(T, {
55164
+ K("div", O2, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), K("div", k2, [q(T, {
55076
55165
  label: "取消",
55077
55166
  color: "neutral",
55078
55167
  variant: "ghost",
@@ -55085,7 +55174,7 @@ var B1 = {
55085
55174
  class: "channel-primary-button",
55086
55175
  loading: I(a) === "save_context"
55087
55176
  }, null, 8, ["loading"])])])
55088
- ], 32)) : o.value.host_brief?.text || o.value.state_text ? (U(), W(H, { key: 1 }, [K("div", C2, [K("h3", null, [r[37] ||= J("主持简报", -1), o.value.state_until ? (U(), W("button", {
55177
+ ], 32)) : o.value.host_brief?.text || o.value.state_text ? (U(), W(H, { key: 1 }, [K("div", A2, [K("h3", null, [r[37] ||= J("主持简报", -1), o.value.state_until ? (U(), W("button", {
55089
55178
  key: 0,
55090
55179
  type: "button",
55091
55180
  class: "subtle-link",
@@ -55093,7 +55182,7 @@ var B1 = {
55093
55182
  }, "整理至 #" + P(o.value.state_until), 1)) : Y("", !0)]), K("div", {
55094
55183
  class: "markdown-body",
55095
55184
  innerHTML: o.value.rendered_brief
55096
- }, null, 8, w2)]), ve.value ? (U(), W("details", T2, [K("summary", null, [
55185
+ }, null, 8, j2)]), ve.value ? (U(), W("details", M2, [K("summary", null, [
55097
55186
  r[38] ||= K("h3", null, "详细共识与进度", -1),
55098
55187
  r[39] ||= K("span", null, "依据、已处理内容、未决问题与下一步", -1),
55099
55188
  q(y, {
@@ -55103,21 +55192,21 @@ var B1 = {
55103
55192
  ]), K("div", {
55104
55193
  class: "markdown-body consensus-state",
55105
55194
  innerHTML: ve.value
55106
- }, null, 8, E2)])) : Y("", !0)], 64)) : (U(), W("p", D2, "还没有共识。主持人会在讨论中整理,也可以点“编辑”自己写。"))]),
55195
+ }, null, 8, N2)])) : Y("", !0)], 64)) : (U(), W("p", P2, "还没有共识。主持人会在讨论中整理,也可以点“编辑”自己写。"))]),
55107
55196
  q(J$, { onDetail: Ee }),
55108
55197
  q($Q, {
55109
55198
  open: he.value,
55110
55199
  "onUpdate:open": r[19] ||= (e) => he.value = e
55111
55200
  }, null, 8, ["open"])
55112
55201
  ])) : Y("", !0),
55113
- I(t).tab === "overview" ? (U(), W("div", O2, [q(C1), me.value ? Y("", !0) : (U(), G(kq, {
55202
+ I(t).tab === "overview" ? (U(), W("div", F2, [q(C1), me.value ? Y("", !0) : (U(), G(kq, {
55114
55203
  key: 0,
55115
55204
  section: "access",
55116
55205
  onOpen: r[20] ||= (e) => s.value = e,
55117
55206
  onDetail: Ee
55118
55207
  }))])) : Y("", !0),
55119
- I(t).tab === "timeline" ? (U(), W("div", k2, [q(R0, { onDetail: Ee })])) : Y("", !0)
55120
- ])], 2)) : (U(), W("div", A2, [
55208
+ I(t).tab === "timeline" ? (U(), W("div", I2, [q(G0, { onDetail: Ee })])) : Y("", !0)
55209
+ ])], 2)) : (U(), W("div", L2, [
55121
55210
  q(y, { name: "i-lucide-hash" }),
55122
55211
  r[40] ||= K("h2", null, "新建一个协作房间", -1),
55123
55212
  r[41] ||= K("p", null, "邀请 AI 一起协作,随时 @ 提问;需要时开启讨论,保留所有人的观点。", -1),
@@ -55136,8 +55225,8 @@ var B1 = {
55136
55225
  "aria-label": "调整右侧栏宽度",
55137
55226
  "aria-orientation": "vertical",
55138
55227
  "aria-controls": "channel-member-rail",
55139
- "aria-valuemin": R2,
55140
- "aria-valuemax": z2,
55228
+ "aria-valuemin": G2,
55229
+ "aria-valuemax": K2,
55141
55230
  "aria-valuenow": C.value,
55142
55231
  "aria-valuetext": `${C.value} 像素`,
55143
55232
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -55147,11 +55236,11 @@ var B1 = {
55147
55236
  onPointercancel: Be,
55148
55237
  onLostpointercapture: Be,
55149
55238
  onKeydown: Ve
55150
- }, null, 40, j2)) : Y("", !0),
55151
- k.value ? (U(), W("aside", M2, [K("section", N2, [o.value && me.value ? (U(), G(N$, { key: 0 })) : o.value ? (U(), G(GQ, {
55239
+ }, null, 40, R2)) : Y("", !0),
55240
+ k.value ? (U(), W("aside", z2, [K("section", B2, [o.value && me.value ? (U(), G(N$, { key: 0 })) : o.value ? (U(), G(GQ, {
55152
55241
  key: 1,
55153
55242
  docked: ""
55154
- })) : (U(), W("div", P2, [...r[42] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
55243
+ })) : (U(), W("div", V2, [...r[42] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
55155
55244
  q(Me, {
55156
55245
  open: d.value,
55157
55246
  "onUpdate:open": r[23] ||= (e) => d.value = e,
@@ -55194,7 +55283,7 @@ var B1 = {
55194
55283
  }
55195
55284
  }, {
55196
55285
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
55197
- K("div", F2, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
55286
+ K("div", H2, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
55198
55287
  (U(), W(H, null, B([
55199
55288
  {
55200
55289
  key: "goal",
@@ -55221,7 +55310,7 @@ var B1 = {
55221
55310
  class: "info-section"
55222
55311
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
55223
55312
  q(Ne),
55224
- K("section", I2, [r[43] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(Se.value, (e) => (U(), W("div", {
55313
+ K("section", U2, [r[43] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(Se.value, (e) => (U(), W("div", {
55225
55314
  key: e.name,
55226
55315
  class: "expert-row"
55227
55316
  }, [
@@ -55278,7 +55367,7 @@ var B1 = {
55278
55367
  ], 6);
55279
55368
  };
55280
55369
  }
55281
- }, X2 = {
55370
+ }, r4 = {
55282
55371
  __name: "App",
55283
55372
  setup(e) {
55284
55373
  return br("discussion", OV()), (e, t) => {
@@ -55289,7 +55378,7 @@ var B1 = {
55289
55378
  toaster: null
55290
55379
  }, {
55291
55380
  default: L(() => [q(I(Qz), { "reduced-motion": "user" }, {
55292
- default: L(() => [q(Y2)]),
55381
+ default: L(() => [q(n4)]),
55293
55382
  _: 1
55294
55383
  })]),
55295
55384
  _: 1
@@ -55299,8 +55388,8 @@ var B1 = {
55299
55388
  };
55300
55389
  //#endregion
55301
55390
  //#region frontend/main.js
55302
- function Z2() {
55303
- bu(X2).use(ph).mount("#modern-root");
55391
+ function i4() {
55392
+ bu(r4).use(ph).mount("#modern-root");
55304
55393
  }
55305
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", Z2) : Z2();
55394
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", i4) : i4();
55306
55395
  //#endregion