ai_co_discuss 0.2.76 → 0.2.77

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
@@ -42528,10 +42528,54 @@ var hU = /*#__PURE__*/ XH({
42528
42528
  }, 8, ["open"])], 64);
42529
42529
  };
42530
42530
  }
42531
- }, [["__scopeId", "data-v-30715ff3"]]), CU = {
42531
+ }, [["__scopeId", "data-v-30715ff3"]]), CU = { class: "channel-answer-summary channel-execution-notes" }, wU = { class: "channel-message-text" }, TU = /*#__PURE__*/ XH({
42532
+ __name: "ExecutionNotes",
42533
+ props: {
42534
+ count: {
42535
+ type: Number,
42536
+ default: 0
42537
+ },
42538
+ notes: {
42539
+ type: Array,
42540
+ default: null
42541
+ },
42542
+ live: Boolean
42543
+ },
42544
+ emits: ["load"],
42545
+ setup(e, { emit: t }) {
42546
+ let n = e, r = t, i = /* @__PURE__ */ F(!1);
42547
+ function a() {
42548
+ i.value = !i.value, i.value && (n.notes?.length ?? -1) < n.count && r("load");
42549
+ }
42550
+ return (t, n) => {
42551
+ let r = MA;
42552
+ return U(), W("div", CU, [n[0] ||= K("small", null, "过程说明", -1), K("div", wU, [e.live || i.value ? (U(), W("ol", {
42553
+ key: 0,
42554
+ class: M({ "is-live": e.live })
42555
+ }, [(U(!0), W(H, null, B(e.notes || [], (e) => (U(), W("li", { key: e.seq }, P(e.text), 1))), 128))], 2)) : Y("", !0), e.live ? Y("", !0) : (U(), G(r, {
42556
+ key: 1,
42557
+ label: i.value ? "收起" : `${e.count} 段`,
42558
+ "trailing-icon": i.value ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
42559
+ variant: "link",
42560
+ color: "neutral",
42561
+ size: "xs",
42562
+ class: M(["channel-answer-toggle", { "is-folded": !i.value }]),
42563
+ "aria-expanded": i.value,
42564
+ "aria-label": i.value ? "收起过程说明" : `展开 ${e.count} 段过程说明`,
42565
+ onClick: a
42566
+ }, null, 8, [
42567
+ "label",
42568
+ "trailing-icon",
42569
+ "class",
42570
+ "aria-expanded",
42571
+ "aria-label"
42572
+ ]))])]);
42573
+ };
42574
+ }
42575
+ }, [["__scopeId", "data-v-bf481d93"]]), EU = {
42532
42576
  key: 0,
42533
42577
  class: "channel-filter-summary"
42534
- }, wU = ["onKeydown"], TU = { class: "channel-map-track" }, EU = [
42578
+ }, DU = ["onKeydown"], OU = { class: "channel-map-track" }, kU = [
42535
42579
  "data-author",
42536
42580
  "data-jump-id",
42537
42581
  "data-round-jump",
@@ -42545,125 +42589,121 @@ var hU = /*#__PURE__*/ XH({
42545
42589
  "onFocus",
42546
42590
  "onKeydown",
42547
42591
  "onClick"
42548
- ], DU = {
42592
+ ], AU = {
42549
42593
  key: 0,
42550
42594
  class: "channel-round-number",
42551
42595
  "aria-hidden": "true"
42552
- }, OU = {
42596
+ }, jU = {
42553
42597
  key: 0,
42554
42598
  class: "channel-nav-preview-round"
42555
- }, kU = { class: "channel-nav-preview-header" }, AU = { class: "channel-nav-preview-meta" }, jU = { key: 0 }, MU = { key: 1 }, NU = ["innerHTML"], PU = {
42599
+ }, MU = { class: "channel-nav-preview-header" }, NU = { class: "channel-nav-preview-meta" }, PU = { key: 0 }, FU = { key: 1 }, IU = ["innerHTML"], LU = {
42556
42600
  key: 0,
42557
42601
  class: "channel-message-group channel-topic-group"
42558
- }, FU = {
42602
+ }, RU = {
42559
42603
  key: 1,
42560
42604
  class: "channel-message-group"
42561
- }, IU = { class: "channel-message-byline" }, LU = { class: "channel-message-meta" }, RU = { class: "channel-message-author" }, zU = {
42605
+ }, zU = { class: "channel-message-byline" }, BU = { class: "channel-message-meta" }, VU = { class: "channel-message-author" }, HU = {
42562
42606
  key: 0,
42563
42607
  class: "channel-message-provenance"
42564
- }, BU = ["title"], VU = { class: "channel-message-provenance channel-message-elapsed" }, HU = ["aria-label", "title"], UU = { key: 0 }, WU = {
42608
+ }, UU = ["title"], WU = { class: "channel-message-provenance channel-message-elapsed" }, GU = ["aria-label", "title"], KU = { key: 0 }, qU = {
42565
42609
  key: 0,
42566
42610
  class: "channel-dots",
42567
42611
  "aria-hidden": "true"
42568
- }, GU = {
42569
- key: 0,
42570
- class: "channel-receipt",
42571
- "aria-label": "过程说明"
42572
- }, KU = { class: "channel-notes is-live" }, qU = [
42612
+ }, JU = [
42573
42613
  "id",
42574
42614
  "data-author",
42575
42615
  "aria-label"
42576
- ], JU = { class: "channel-message-byline" }, YU = { class: "channel-message-meta" }, XU = { class: "channel-message-author" }, ZU = {
42616
+ ], YU = { class: "channel-message-byline" }, XU = { class: "channel-message-meta" }, ZU = { class: "channel-message-author" }, QU = {
42577
42617
  key: 0,
42578
42618
  class: "channel-message-round"
42579
- }, QU = ["title"], $U = { key: 0 }, eW = {
42619
+ }, $U = ["title"], eW = { key: 0 }, tW = {
42580
42620
  key: 0,
42581
42621
  class: "channel-message-provenance channel-message-elapsed"
42582
- }, tW = { class: "channel-message-text channel-failure-reason" }, nW = ["onToggle"], rW = ["aria-label"], iW = { class: "channel-notes" }, aW = {
42622
+ }, nW = { class: "channel-message-text channel-failure-reason" }, rW = {
42583
42623
  key: 1,
42584
42624
  class: "channel-failure-actions"
42585
- }, oW = {
42625
+ }, iW = {
42586
42626
  key: 2,
42587
42627
  class: "channel-failure-actions"
42588
- }, sW = {
42628
+ }, aW = {
42589
42629
  key: 0,
42590
42630
  class: "channel-failure-error",
42591
42631
  role: "alert"
42592
- }, cW = { class: "channel-message-byline" }, lW = { class: "channel-message-meta" }, uW = { class: "channel-message-author" }, dW = { class: "channel-message-round" }, fW = { class: "channel-message-provenance" }, pW = ["title"], mW = { key: 0 }, hW = { key: 1 }, gW = {
42632
+ }, oW = { class: "channel-message-byline" }, sW = { class: "channel-message-meta" }, cW = { class: "channel-message-author" }, lW = { class: "channel-message-round" }, uW = { class: "channel-message-provenance" }, dW = ["title"], fW = { key: 0 }, pW = { key: 1 }, mW = {
42593
42633
  key: 0,
42594
42634
  class: "channel-message-provenance channel-message-elapsed"
42595
- }, _W = ["onToggle"], vW = ["aria-label"], yW = { class: "channel-notes" }, bW = {
42596
- key: 2,
42635
+ }, hW = {
42636
+ key: 1,
42597
42637
  class: "channel-receipt"
42598
- }, xW = ["aria-label"], SW = ["innerHTML"], CW = {
42599
- key: 3,
42638
+ }, gW = ["aria-label"], _W = ["innerHTML"], vW = {
42639
+ key: 2,
42600
42640
  class: "channel-answer"
42601
- }, wW = ["id", "innerHTML"], TW = {
42602
- key: 4,
42641
+ }, yW = ["id", "innerHTML"], bW = {
42642
+ key: 3,
42603
42643
  class: "channel-answer-summary"
42604
- }, EW = { key: 0 }, DW = ["innerHTML"], OW = ["innerHTML"], kW = { key: 0 }, AW = ["title"], jW = { key: 1 }, MW = { key: 2 }, NW = {
42644
+ }, xW = { key: 0 }, SW = ["innerHTML"], CW = ["innerHTML"], wW = { key: 0 }, TW = ["title"], EW = { key: 1 }, DW = { key: 2 }, OW = {
42605
42645
  key: 7,
42606
42646
  class: "channel-response-suggestions",
42607
42647
  "aria-label": "回应建议"
42608
- }, PW = { key: 0 }, FW = { key: 1 }, IW = ["aria-label"], LW = { key: 0 }, RW = { key: 1 }, zW = { class: "channel-message-actions" }, BW = { class: "channel-message-toolbar" }, VW = { key: 0 }, HW = { key: 1 }, UW = ["aria-pressed", "onClick"], WW = ["aria-pressed", "onClick"], GW = { key: 0 }, KW = ["onSubmit"], qW = ["value"], JW = { class: "channel-message-byline" }, YW = { class: "channel-message-meta" }, XW = { class: "channel-message-author" }, ZW = { class: "channel-message-provenance channel-message-elapsed" }, QW = {
42648
+ }, kW = { key: 0 }, AW = { key: 1 }, jW = ["aria-label"], MW = { key: 0 }, NW = { key: 1 }, PW = { class: "channel-message-actions" }, FW = { class: "channel-message-toolbar" }, IW = { key: 0 }, LW = { key: 1 }, RW = ["aria-pressed", "onClick"], zW = ["aria-pressed", "onClick"], BW = { key: 0 }, VW = ["onSubmit"], HW = ["value"], UW = { class: "channel-message-byline" }, WW = { class: "channel-message-meta" }, GW = { class: "channel-message-author" }, KW = { class: "channel-message-provenance channel-message-elapsed" }, qW = {
42609
42649
  key: 2,
42610
42650
  class: "channel-message-group"
42611
- }, $W = {
42651
+ }, JW = {
42612
42652
  key: 3,
42613
42653
  class: "channel-message-group"
42614
- }, eG = ["aria-label"], tG = { class: "channel-message-byline" }, nG = { class: "channel-message-meta" }, rG = { class: "channel-message-author" }, iG = {
42654
+ }, YW = ["aria-label"], XW = { class: "channel-message-byline" }, ZW = { class: "channel-message-meta" }, QW = { class: "channel-message-author" }, $W = {
42615
42655
  key: 0,
42616
42656
  class: "channel-message-round"
42617
- }, aG = { class: "channel-message-provenance channel-message-elapsed" }, oG = ["aria-label"], sG = { key: 0 }, cG = {
42657
+ }, eG = { class: "channel-message-provenance channel-message-elapsed" }, tG = ["aria-label"], nG = { key: 0 }, rG = {
42618
42658
  key: 4,
42619
42659
  class: "channel-empty"
42620
- }, lG = {
42660
+ }, iG = {
42621
42661
  key: 2,
42622
42662
  class: "channel-latest-dock"
42623
- }, uG = { class: "channel-composer-dock" }, dG = [
42663
+ }, aG = { class: "channel-composer-dock" }, oG = [
42624
42664
  "id",
42625
42665
  "aria-selected",
42626
42666
  "onClick",
42627
42667
  "onPointermove"
42628
- ], fG = {
42668
+ ], sG = {
42629
42669
  key: 0,
42630
42670
  class: "channel-mention-empty"
42631
- }, pG = {
42671
+ }, cG = {
42632
42672
  key: 0,
42633
42673
  class: "attachment-drafts"
42634
- }, mG = [
42674
+ }, lG = [
42635
42675
  "src",
42636
42676
  "alt",
42637
42677
  "title"
42638
- ], hG = ["innerHTML"], gG = { class: "attachment-name" }, _G = ["title"], vG = [
42678
+ ], uG = ["innerHTML"], dG = { class: "attachment-name" }, fG = ["title"], pG = [
42639
42679
  "aria-label",
42640
42680
  "disabled",
42641
42681
  "onClick"
42642
- ], yG = ["role"], bG = {
42682
+ ], mG = ["role"], hG = {
42643
42683
  key: 2,
42644
42684
  class: "channel-reply-draft channel-queue-hint"
42645
- }, xG = {
42685
+ }, gG = {
42646
42686
  key: 3,
42647
42687
  class: "channel-reply-draft channel-queue-hint"
42648
- }, SG = {
42688
+ }, _G = {
42649
42689
  key: 4,
42650
42690
  class: "channel-reply-draft"
42651
- }, CG = {
42691
+ }, vG = {
42652
42692
  key: 5,
42653
42693
  class: "channel-answer-editor"
42654
- }, wG = ["innerHTML"], TG = {
42694
+ }, yG = ["innerHTML"], bG = {
42655
42695
  key: 0,
42656
42696
  class: "channel-free-recipients",
42657
42697
  role: "group",
42658
42698
  "aria-label": "代发在线成员的回答"
42659
- }, EG = ["aria-pressed", "onClick"], DG = {
42699
+ }, xG = ["aria-pressed", "onClick"], SG = {
42660
42700
  key: 1,
42661
42701
  class: "channel-composer-identity"
42662
- }, OG = { class: "channel-composer-note" }, kG = { key: 0 }, AG = { key: 1 }, jG = { class: "channel-draft-length" }, MG = 6, NG = .9, PG = 160, FG = 100, IG = 4, LG = 3, RG = 320, zG = 34, BG = 12, VG = 16, HG = 14, UG = 8, WG = 28, GG = 18, KG = 1, qG = 1.5, JG = 3, YG = 6, XG = .62, ZG = .72, QG = .88, $G = .16, eK = 12, tK = 450, nK = 8, rK = 70, iK = 20, aK = 1, oK = 18.566573373612275, sK = 78.16726685662772 / 8, cK = 180, lK = 1e3, uK = "全体成员", dK = "全体依次", fK = 2e3, pK = /*#__PURE__*/ XH({
42702
+ }, CG = { class: "channel-composer-note" }, wG = { key: 0 }, TG = { key: 1 }, EG = { class: "channel-draft-length" }, DG = 6, OG = .9, kG = 160, AG = 100, jG = 4, MG = 3, NG = 320, PG = 34, FG = 12, IG = 16, LG = 14, RG = 8, zG = 28, BG = 18, VG = 1, HG = 1.5, UG = 3, WG = 6, GG = .62, KG = .72, qG = .88, JG = .16, YG = 12, XG = 450, ZG = 8, QG = 70, $G = 20, eK = 1, tK = 18.566573373612275, nK = 78.16726685662772 / 8, rK = 180, iK = 1e3, aK = "全体成员", oK = "全体依次", sK = 2e3, cK = /*#__PURE__*/ XH({
42663
42703
  __name: "ChannelDiscussion",
42664
42704
  emits: ["detail", "edit"],
42665
42705
  setup(e, { emit: t }) {
42666
- let n = t, r = null, { view: i, bridge: a, field: o, act: s, pending: c } = xr("discussion"), l = o("message-input"), u = Z(() => [...l.value].length), d = Z(() => u.value >= a.max_message_length * NG), f = o("author-select"), p = o("message-kind"), m = o("message-summary"), h = o("message-summary-source"), g = Z(() => ["opinion", "forward"].includes(p.value) && f.value !== "用户"), _ = [{
42706
+ let n = t, r = null, { view: i, bridge: a, field: o, act: s, pending: c } = xr("discussion"), l = o("message-input"), u = Z(() => [...l.value].length), d = Z(() => u.value >= a.max_message_length * OG), f = o("author-select"), p = o("message-kind"), m = o("message-summary"), h = o("message-summary-source"), g = Z(() => ["opinion", "forward"].includes(p.value) && f.value !== "用户"), _ = [{
42667
42707
  value: "author",
42668
42708
  label: "原作者摘要"
42669
42709
  }, {
@@ -42677,7 +42717,7 @@ var hU = /*#__PURE__*/ XH({
42677
42717
  }, ae = null, oe = !1, se = TV(0, j), ce = TV(0, j), le = TV(0, j), ue = CV(le, [0, 1], [.96, 1]), de = CV(le, [0, 1], [-8, 0]), pe = CV(le, [0, 1], [0, 1]), me = Z(() => i.value.messages.find((e) => e.id === D.value)), he = Z(() => rn.value.find((e) => e.messages.some((e) => e.id === D.value))), ge = Z(() => he.value?.label), N = Z(() => k.value ? cn.value.findIndex((e) => e.key === O.value) : -1), _e = /* @__PURE__ */ F(null), ve = /* @__PURE__ */ F(!0), ye = Z(() => i.value.room), be = /* @__PURE__ */ F(null);
42678
42718
  R(() => [].concat(be.value ?? []), (e, t, n) => {
42679
42719
  if (!e.length) return;
42680
- let r = aK / oK, i = sK / oK, a = 0, o = 0, s = performance.now(), c = 0;
42720
+ let r = eK / tK, i = nK / tK, a = 0, o = 0, s = performance.now(), c = 0;
42681
42721
  e.forEach((e) => e.classList.add("is-glowing"));
42682
42722
  function l(t) {
42683
42723
  let n = (t - s) / 1e3, u = Math.exp(-n / r);
@@ -42753,7 +42793,7 @@ var hU = /*#__PURE__*/ XH({
42753
42793
  }
42754
42794
  function Ne(e) {
42755
42795
  let t = Math.max(0, Oe.value - (e.activity_at || e.created_at));
42756
- return !e.working || qe.includes(e.adapter) || t < cK ? {
42796
+ return !e.working || qe.includes(e.adapter) || t < rK ? {
42757
42797
  text: e.text,
42758
42798
  live: e.working
42759
42799
  } : e.activity === "command" ? {
@@ -42968,8 +43008,8 @@ var hU = /*#__PURE__*/ XH({
42968
43008
  R([() => Ze.value?.id, () => Ze.value?.seconds], ([e, t], n, r) => {
42969
43009
  if (ht.value = t ?? null, ht.value === null) return;
42970
43010
  let i = performance.now(), a = setInterval(() => {
42971
- ht.value = t + Math.floor((performance.now() - i) / lK);
42972
- }, lK);
43011
+ ht.value = t + Math.floor((performance.now() - i) / iK);
43012
+ }, iK);
42973
43013
  r(() => clearInterval(a));
42974
43014
  }, { immediate: !0 });
42975
43015
  function gt(e) {
@@ -43039,7 +43079,7 @@ var hU = /*#__PURE__*/ XH({
43039
43079
  kt.value && _e.value?.textareaRef && (kt.value.scrollTop = _e.value.textareaRef.scrollTop);
43040
43080
  }
43041
43081
  Qi(() => R(Ot, () => Qn(At), { flush: "post" }));
43042
- let jt = /* @__PURE__ */ F(null), Mt = [uK, "all"], Nt = [dK, "all-seq"], Pt = { [uK]: {
43082
+ let jt = /* @__PURE__ */ F(null), Mt = [aK, "all"], Nt = [oK, "all-seq"], Pt = { [aK]: {
43043
43083
  search: "all 同时 依次",
43044
43084
  icon: "i-lucide-users"
43045
43085
  } }, Ft = (e) => {
@@ -43104,12 +43144,12 @@ var hU = /*#__PURE__*/ XH({
43104
43144
  for (let t of e.querySelectorAll("pre code, tbody")) {
43105
43145
  let n = e.ownerDocument.createRange();
43106
43146
  if (t.tagName === "TBODY") {
43107
- if (t.children.length <= LG) continue;
43147
+ if (t.children.length <= MG) continue;
43108
43148
  n.setStartAfter(t.children[2]);
43109
43149
  } else {
43110
43150
  let e = t.textContent.trimEnd().split("\n");
43111
- if (e.length <= IG) continue;
43112
- n.setStart(t.firstChild, e.slice(0, IG).join("\n").length);
43151
+ if (e.length <= jG) continue;
43152
+ n.setStart(t.firstChild, e.slice(0, jG).join("\n").length);
43113
43153
  }
43114
43154
  return n.setEnd(e, e.childNodes.length), n.deleteContents(), !0;
43115
43155
  }
@@ -43126,11 +43166,11 @@ var hU = /*#__PURE__*/ XH({
43126
43166
  let r = Jt(n.content), i = document.createTreeWalker(n.content, NodeFilter.SHOW_TEXT, { acceptNode: (e) => e.parentElement?.closest(".katex-mathml") ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT }), a = [];
43127
43167
  for (; i.nextNode();) a.push(i.currentNode);
43128
43168
  let o = [...a.map((e) => e.textContent).join("").trimEnd()];
43129
- if (o.length <= PG) return {
43169
+ if (o.length <= kG) return {
43130
43170
  truncated: r,
43131
43171
  html: n.innerHTML
43132
43172
  };
43133
- let s = o.slice(0, PG).join(""), c = [...s.matchAll(/[。!?;]\s*|[.!?;](?:\s|$)|\n/gu)].at(-1), l = c ? c.index + c[0].length : 0, u = [...s.slice(0, l)].length >= FG, d = u ? l : s.length;
43173
+ let s = o.slice(0, kG).join(""), c = [...s.matchAll(/[。!?;]\s*|[.!?;](?:\s|$)|\n/gu)].at(-1), l = c ? c.index + c[0].length : 0, u = [...s.slice(0, l)].length >= AG, d = u ? l : s.length;
43134
43174
  for (let e of a) {
43135
43175
  if (d > e.textContent.length) {
43136
43176
  d -= e.textContent.length;
@@ -43252,14 +43292,14 @@ var hU = /*#__PURE__*/ XH({
43252
43292
  function dn() {
43253
43293
  let e = y.value;
43254
43294
  if (!e || !e.clientHeight) return;
43255
- ve.value = e.scrollHeight - e.scrollTop - e.clientHeight < rK;
43295
+ ve.value = e.scrollHeight - e.scrollTop - e.clientHeight < QG;
43256
43296
  let t = e.getBoundingClientRect(), n = un(e), r = [...e.querySelectorAll("[data-message-id]")], i = r.find((e) => Number(e.dataset.messageId) === E.value);
43257
43297
  if (i && i.getBoundingClientRect().bottom > n && i.getBoundingClientRect().top < t.bottom) {
43258
43298
  T.value = E.value;
43259
43299
  return;
43260
43300
  }
43261
43301
  E.value = null;
43262
- let a = r.find((e) => e.getBoundingClientRect().bottom > n + iK);
43302
+ let a = r.find((e) => e.getBoundingClientRect().bottom > n + $G);
43263
43303
  T.value = a ? Number(a.dataset.messageId) : null;
43264
43304
  }
43265
43305
  async function fn() {
@@ -43281,11 +43321,11 @@ var hU = /*#__PURE__*/ XH({
43281
43321
  }), R(() => i.value.room?.id, () => b.value.clear());
43282
43322
  async function pn(e, t) {
43283
43323
  let n = t.currentTarget.closest("[data-message-id]"), r = b.value.has(e.id), i = y.value.scrollTop;
43284
- ve.value = !1, r ? b.value.delete(e.id) : b.value.add(e.id), An(), await Qn(), r || (y.value.scrollTop = i), r && n.getBoundingClientRect().top < un(y.value) && (y.value.scrollTop += n.getBoundingClientRect().top - un(y.value) - iK), dn();
43324
+ ve.value = !1, r ? b.value.delete(e.id) : b.value.add(e.id), An(), await Qn(), r || (y.value.scrollTop = i), r && n.getBoundingClientRect().top < un(y.value) && (y.value.scrollTop += n.getBoundingClientRect().top - un(y.value) - $G), dn();
43285
43325
  }
43286
43326
  function mn(e) {
43287
43327
  let t = y.value, n = t?.querySelector(`[data-message-id="${e}"]`);
43288
- n && (kn(), E.value = e, T.value = e, t.scrollTop += n.getBoundingClientRect().top - un(t) - iK, n.focus({ preventScroll: !0 }), dn());
43328
+ n && (kn(), E.value = e, T.value = e, t.scrollTop += n.getBoundingClientRect().top - un(t) - $G, n.focus({ preventScroll: !0 }), dn());
43289
43329
  }
43290
43330
  function hn(e) {
43291
43331
  (e.type !== "keydown" || [
@@ -43314,7 +43354,7 @@ var hU = /*#__PURE__*/ XH({
43314
43354
  let t = C.value;
43315
43355
  if (!t?.clientHeight || !e) return;
43316
43356
  let n = t.getBoundingClientRect(), r = e.getBoundingClientRect();
43317
- r.top < n.top + eK ? t.scrollTop += r.top - n.top - eK : r.bottom > n.bottom - eK && (t.scrollTop += r.bottom - n.bottom + eK);
43357
+ r.top < n.top + YG ? t.scrollTop += r.top - n.top - YG : r.bottom > n.bottom - YG && (t.scrollTop += r.bottom - n.bottom + YG);
43318
43358
  }
43319
43359
  async function vn() {
43320
43360
  await Qn(), _n(C.value?.querySelector(`[data-jump-id="${T.value}"]`));
@@ -43334,7 +43374,7 @@ var hU = /*#__PURE__*/ XH({
43334
43374
  };
43335
43375
  ae = n, n.timer = setTimeout(() => {
43336
43376
  ae === n && (oe = !0, On(e, { currentTarget: n.target }));
43337
- }, tK);
43377
+ }, XG);
43338
43378
  }
43339
43379
  function xn() {
43340
43380
  ae && clearTimeout(ae.timer), ae = null;
@@ -43343,7 +43383,7 @@ var hU = /*#__PURE__*/ XH({
43343
43383
  ae?.pointer === e.pointerId && (e.type === "pointercancel" && (oe = !0), kn());
43344
43384
  }
43345
43385
  function Cn(e, t) {
43346
- ["touch", "pen"].includes(t.pointerType) ? ae?.pointer === t.pointerId && Math.hypot(t.clientX - ae.x, t.clientY - ae.y) > nK && (oe = !0, kn()) : t.type === "pointerenter" && w.value || (w.value = !1, (O.value !== e.key || !k.value) && On(e, t));
43386
+ ["touch", "pen"].includes(t.pointerType) ? ae?.pointer === t.pointerId && Math.hypot(t.clientX - ae.x, t.clientY - ae.y) > ZG && (oe = !0, kn()) : t.type === "pointerenter" && w.value || (w.value = !1, (O.value !== e.key || !k.value) && On(e, t));
43347
43387
  }
43348
43388
  function wn(e, t) {
43349
43389
  oe && t.detail !== 0 ? (oe = !1, t.preventDefault()) : mn(e.message.id);
@@ -43358,11 +43398,11 @@ var hU = /*#__PURE__*/ XH({
43358
43398
  kn(), E.value = null, ve.value = !0, fn();
43359
43399
  }
43360
43400
  async function On(e, t) {
43361
- let n = e.message, r = t.currentTarget.getBoundingClientRect(), i = C.value.getBoundingClientRect(), a = Math.min(RG, innerWidth - 24), o = i.right + VG;
43362
- if (ne.value = Math.max(BG, Math.min(o, innerWidth - a - BG)), D.value = n.id, O.value = e.key, ee.value = e.round, k.value = !0, await Qn(), !k.value || O.value !== e.key) return;
43363
- ie.value = te.value.scrollHeight + zG;
43364
- let s = (Math.max(r.top, i.top + eK) + Math.min(r.bottom, i.bottom - eK)) / 2 - ie.value / 2;
43365
- re.value = Math.max(BG, Math.min(s, innerHeight - ie.value - BG));
43401
+ let n = e.message, r = t.currentTarget.getBoundingClientRect(), i = C.value.getBoundingClientRect(), a = Math.min(NG, innerWidth - 24), o = i.right + IG;
43402
+ if (ne.value = Math.max(FG, Math.min(o, innerWidth - a - FG)), D.value = n.id, O.value = e.key, ee.value = e.round, k.value = !0, await Qn(), !k.value || O.value !== e.key) return;
43403
+ ie.value = te.value.scrollHeight + PG;
43404
+ let s = (Math.max(r.top, i.top + YG) + Math.min(r.bottom, i.bottom - YG)) / 2 - ie.value / 2;
43405
+ re.value = Math.max(FG, Math.min(s, innerHeight - ie.value - FG));
43366
43406
  let c = A.value || le.get() === 0;
43367
43407
  se[c ? "jump" : "set"](re.value), ce[c ? "jump" : "set"](ie.value);
43368
43408
  }
@@ -43377,14 +43417,14 @@ var hU = /*#__PURE__*/ XH({
43377
43417
  }
43378
43418
  function Mn(e) {
43379
43419
  let t = e.entries.length - 1;
43380
- return Math.max(-3, Math.min(t + JG, N.value - e.entries[0].index));
43420
+ return Math.max(-3, Math.min(t + UG, N.value - e.entries[0].index));
43381
43421
  }
43382
43422
  function Nn(e, t) {
43383
- let n = N.value < 0 ? Infinity : Math.abs(t - N.value), r = Math.max(0, 1 - n / JG), i = T.value === e.message.id, a = n === 0 || i && N.value < 0, o = UG;
43423
+ let n = N.value < 0 ? Infinity : Math.abs(t - N.value), r = Math.max(0, 1 - n / UG), i = T.value === e.message.id, a = n === 0 || i && N.value < 0, o = RG;
43384
43424
  return {
43385
- scaleX: a ? WG / o : i ? GG / o : 1 + r * YG / o,
43386
- height: a ? qG : KG,
43387
- opacity: a ? QG : i ? ZG : XG + r * $G
43425
+ scaleX: a ? zG / o : i ? BG / o : 1 + r * WG / o,
43426
+ height: a ? HG : VG,
43427
+ opacity: a ? qG : i ? KG : GG + r * JG
43388
43428
  };
43389
43429
  }
43390
43430
  R([k, A], () => {
@@ -43396,7 +43436,7 @@ var hU = /*#__PURE__*/ XH({
43396
43436
  if (!e) return;
43397
43437
  e.rows = 1;
43398
43438
  let t = getComputedStyle(e), n = (e.scrollHeight - parseFloat(t.paddingTop) - parseFloat(t.paddingBottom)) / parseFloat(t.lineHeight);
43399
- e.rows = Math.min(Math.max(Math.floor(n), 1), MG);
43439
+ e.rows = Math.min(Math.max(Math.floor(n), 1), DG);
43400
43440
  }
43401
43441
  let Fn = 0, In = new ResizeObserver(([e]) => {
43402
43442
  Math.round(e.contentRect.width) !== Fn && (Fn = Math.round(e.contentRect.width), Pn());
@@ -43408,7 +43448,7 @@ var hU = /*#__PURE__*/ XH({
43408
43448
  }
43409
43449
  async function Bn(e) {
43410
43450
  let t = ye.value.id;
43411
- zn(), await s("copy_member_launch", e) && ye.value?.id === t && (Ln.value = e, Rn = setTimeout(zn, fK));
43451
+ zn(), await s("copy_member_launch", e) && ye.value?.id === t && (Ln.value = e, Rn = setTimeout(zn, sK));
43412
43452
  }
43413
43453
  R([() => ye.value?.id, () => xe.value?.id], zn), ta(zn);
43414
43454
  function Vn(e) {
@@ -43450,7 +43490,7 @@ var hU = /*#__PURE__*/ XH({
43450
43490
  role: "tabpanel",
43451
43491
  "aria-label": "消息"
43452
43492
  }, [
43453
- I(i).query || I(i).mention_only ? (U(), W("div", CU, [K("span", null, P(I(i).query ? `“${I(i).query}”` : `@${I(a).display_name(I(f))}`) + " · " + P(I(i).total) + " 条结果", 1), q(o, {
43493
+ I(i).query || I(i).mention_only ? (U(), W("div", EU, [K("span", null, P(I(i).query ? `“${I(i).query}”` : `@${I(a).display_name(I(f))}`) + " · " + P(I(i).total) + " 条结果", 1), q(o, {
43454
43494
  label: "清除筛选",
43455
43495
  size: "xs",
43456
43496
  variant: "link",
@@ -43467,14 +43507,14 @@ var hU = /*#__PURE__*/ XH({
43467
43507
  ref_key: "message_map",
43468
43508
  ref: C,
43469
43509
  class: "channel-message-map",
43470
- style: fe({ "--nav-entry-height": `${HG}px` }),
43510
+ style: fe({ "--nav-entry-height": `${LG}px` }),
43471
43511
  "aria-label": "发言快速导航",
43472
43512
  onWheelPassive: uu(En, ["stop"]),
43473
43513
  onPointerleave: kn,
43474
43514
  onFocusout: kn,
43475
43515
  onKeydown: fu(uu(kn, ["stop"]), ["esc"]),
43476
43516
  onContextmenu: Tn
43477
- }, [K("div", TU, [(U(!0), W(H, null, B(sn.value, (e, t, n, r) => {
43517
+ }, [K("div", OU, [(U(!0), W(H, null, B(sn.value, (e, t, n, r) => {
43478
43518
  let o = [
43479
43519
  e,
43480
43520
  I(A),
@@ -43506,7 +43546,7 @@ var hU = /*#__PURE__*/ XH({
43506
43546
  onFocus: (t) => yn(e, t),
43507
43547
  onKeydown: (t) => gn(t, e.index),
43508
43548
  onClick: (t) => wn(e, t)
43509
- }, [e.round ? (U(), W("span", DU, P(e.number || "–"), 1)) : (U(), G(I(bV).span, {
43549
+ }, [e.round ? (U(), W("span", AU, P(e.number || "–"), 1)) : (U(), G(I(bV).span, {
43510
43550
  key: 1,
43511
43551
  class: "channel-jump-tick",
43512
43552
  "aria-hidden": "true",
@@ -43514,9 +43554,9 @@ var hU = /*#__PURE__*/ XH({
43514
43554
  animate: I(A) ? void 0 : Nn(e, e.index),
43515
43555
  style: fe(I(A) ? Nn(e, e.index) : void 0),
43516
43556
  transition: j
43517
- }, null, 8, ["animate", "style"]))], 42, EU))), 128))], 4));
43557
+ }, null, 8, ["animate", "style"]))], 42, kU))), 128))], 4));
43518
43558
  return s.memo = o, s;
43519
- }, t, 1), 128))])], 44, wU)) : Y("", !0),
43559
+ }, t, 1), 128))])], 44, DU)) : Y("", !0),
43520
43560
  (U(), G(Hr, { to: "body" }, [me.value ? (U(), G(I(bV).div, {
43521
43561
  key: 0,
43522
43562
  id: "channel-navigation-preview",
@@ -43532,7 +43572,7 @@ var hU = /*#__PURE__*/ XH({
43532
43572
  opacity: I(pe),
43533
43573
  scale: I(ue),
43534
43574
  height: I(ce),
43535
- "--preview-gap": `${VG}px`
43575
+ "--preview-gap": `${IG}px`
43536
43576
  }),
43537
43577
  onPointerleave: kn,
43538
43578
  onFocusout: kn,
@@ -43543,8 +43583,8 @@ var hU = /*#__PURE__*/ XH({
43543
43583
  ref: te,
43544
43584
  class: "channel-nav-preview-content"
43545
43585
  }, [
43546
- ee.value ? (U(), W("h3", OU, P(ge.value), 1)) : Y("", !0),
43547
- K("div", kU, [
43586
+ ee.value ? (U(), W("h3", jU, P(ge.value), 1)) : Y("", !0),
43587
+ K("div", MU, [
43548
43588
  q(x, {
43549
43589
  src: I(a).identities[me.value.author]?.icon,
43550
43590
  text: I(a).identities[me.value.author]?.initials || "?",
@@ -43560,11 +43600,11 @@ var hU = /*#__PURE__*/ XH({
43560
43600
  K("strong", null, P(I(a).display_name(me.value.author)), 1),
43561
43601
  K("span", null, "#" + P(me.value.id), 1)
43562
43602
  ]),
43563
- K("div", AU, [J(P(ge.value) + " · " + P(I(a).sources[me.value.source]) + " · " + P(I(a).format_time(me.value.created_at)), 1), me.value.kind === "moderation" ? (U(), W("span", jU, " · 主持人")) : me.value.kind === "receipt" ? (U(), W("span", MU, " · 运行回执")) : Y("", !0)]),
43603
+ K("div", NU, [J(P(ge.value) + " · " + P(I(a).sources[me.value.source]) + " · " + P(I(a).format_time(me.value.created_at)), 1), me.value.kind === "moderation" ? (U(), W("span", PU, " · 主持人")) : me.value.kind === "receipt" ? (U(), W("span", FU, " · 运行回执")) : Y("", !0)]),
43564
43604
  K("div", {
43565
43605
  class: "channel-nav-preview-text markdown-body",
43566
43606
  innerHTML: me.value.summary ? me.value.rendered_summary : me.value.rendered_text
43567
- }, null, 8, NU)
43607
+ }, null, 8, IU)
43568
43608
  ], 512)]),
43569
43609
  _: 1
43570
43610
  }, 8, [
@@ -43606,11 +43646,11 @@ var hU = /*#__PURE__*/ XH({
43606
43646
  onTouchstartPassive: hn,
43607
43647
  onKeydown: hn
43608
43648
  }, [
43609
- !I(i).query && !I(i).mention_only && !Qt.value ? (U(), W("div", PU, [q(qH, {
43649
+ !I(i).query && !I(i).mention_only && !Qt.value ? (U(), W("div", LU, [q(qH, {
43610
43650
  ref: (e) => /* @__PURE__ */ ln(r) ? r.value = e : r = e,
43611
43651
  onEdit: t[3] ||= (e) => n("edit")
43612
43652
  }, null, 512)])) : Y("", !0),
43613
- lt.value.get(0)?.length ? (U(), W("div", FU, [(U(!0), W(H, null, B(lt.value.get(0), (e) => (U(), G(jH, {
43653
+ lt.value.get(0)?.length ? (U(), W("div", RU, [(U(!0), W(H, null, B(lt.value.get(0), (e) => (U(), G(jH, {
43614
43654
  key: `arrangement-${e.id}`,
43615
43655
  icon: "i-lucide-list-ordered",
43616
43656
  plain: "",
@@ -43653,7 +43693,7 @@ var hU = /*#__PURE__*/ XH({
43653
43693
  }
43654
43694
  }, {
43655
43695
  body: L(() => [
43656
- K("div", IU, [
43696
+ K("div", zU, [
43657
43697
  q(x, {
43658
43698
  src: I(a).identities[e.author]?.icon,
43659
43699
  text: I(a).identities[e.author]?.initials || "?",
@@ -43666,8 +43706,8 @@ var hU = /*#__PURE__*/ XH({
43666
43706
  "alt",
43667
43707
  "class"
43668
43708
  ]),
43669
- K("div", LU, [K("div", RU, [K("strong", null, P(I(a).display_name(e.author)), 1)]), e.created_at ? (U(), W("div", zU, [K("time", { title: (/* @__PURE__ */ new Date(e.created_at * 1e3)).toLocaleString("zh-CN") }, P(I(a).format_time(e.created_at * 1e3)), 9, BU)])) : Y("", !0)]),
43670
- K("span", VU, P(e.waiting ? `手动启动${e.created_at ? ` · 已等 ${gt(Math.max(0, Oe.value - e.created_at))}` : ""}` : `已用 ${gt(Math.max(0, Oe.value - e.created_at))}`), 1)
43709
+ K("div", BU, [K("div", VU, [K("strong", null, P(I(a).display_name(e.author)), 1)]), e.created_at ? (U(), W("div", HU, [K("time", { title: (/* @__PURE__ */ new Date(e.created_at * 1e3)).toLocaleString("zh-CN") }, P(I(a).format_time(e.created_at * 1e3)), 9, UU)])) : Y("", !0)]),
43710
+ K("span", WU, P(e.waiting ? `手动启动${e.created_at ? ` · 已等 ${gt(Math.max(0, Oe.value - e.created_at))}` : ""}` : `已用 ${gt(Math.max(0, Oe.value - e.created_at))}`), 1)
43671
43711
  ]),
43672
43712
  (U(!0), W(H, null, B([Ne(e)], (n) => (U(), W("div", {
43673
43713
  key: e.id,
@@ -43678,17 +43718,21 @@ var hU = /*#__PURE__*/ XH({
43678
43718
  role: "status",
43679
43719
  "aria-label": `${I(a).display_name(e.author)} ${n.text}`,
43680
43720
  title: qe.includes(e.adapter) ? "此接入方式看不到进度,可在原窗口查看" : void 0
43681
- }, [e.waiting ? (U(), W("span", UU, P(e.text), 1)) : (U(), W(H, { key: 1 }, [K("span", {
43721
+ }, [e.waiting ? (U(), W("span", KU, P(e.text), 1)) : (U(), W(H, { key: 1 }, [K("span", {
43682
43722
  ref_for: !0,
43683
43723
  ref_key: "reply_glow",
43684
43724
  ref: be,
43685
43725
  class: "channel-reply-glow"
43686
- }, P(n.text), 513), n.live ? (U(), W("span", WU, [...t[27] ||= [
43726
+ }, P(n.text), 513), n.live ? (U(), W("span", qU, [...t[27] ||= [
43687
43727
  K("i", null, ".", -1),
43688
43728
  K("i", null, ".", -1),
43689
43729
  K("i", null, ".", -1)
43690
- ]])) : Y("", !0)], 64))], 10, HU))), 128)),
43691
- Ae.value.get(e.execution_id)?.length ? (U(), W("div", GU, [K("ol", KU, [(U(!0), W(H, null, B(Ae.value.get(e.execution_id), (e) => (U(), W("li", { key: e.seq }, P(e.text), 1))), 128))])])) : Y("", !0)
43730
+ ]])) : Y("", !0)], 64))], 10, GU))), 128)),
43731
+ Ae.value.get(e.execution_id)?.length ? (U(), G(TU, {
43732
+ key: 0,
43733
+ live: "",
43734
+ notes: Ae.value.get(e.execution_id)
43735
+ }, null, 8, ["notes"])) : Y("", !0)
43692
43736
  ]),
43693
43737
  _: 2
43694
43738
  }, 1032, ["id", "data-author"])) : e.failure ? (U(), W("section", {
@@ -43698,7 +43742,7 @@ var hU = /*#__PURE__*/ XH({
43698
43742
  "data-author": I(a).identities[e.author]?.style,
43699
43743
  "aria-label": `${I(a).display_name(e.author)} 执行失败`
43700
43744
  }, [
43701
- K("div", JU, [
43745
+ K("div", YU, [
43702
43746
  q(x, {
43703
43747
  src: I(a).identities[e.author]?.icon,
43704
43748
  text: I(a).identities[e.author]?.initials || "?",
@@ -43711,9 +43755,9 @@ var hU = /*#__PURE__*/ XH({
43711
43755
  "alt",
43712
43756
  "class"
43713
43757
  ]),
43714
- K("div", YU, [K("div", XU, [
43758
+ K("div", XU, [K("div", ZU, [
43715
43759
  K("strong", null, P(I(a).display_name(e.author)), 1),
43716
- e.failure.role === "host" ? (U(), W("span", ZU, "主持工作")) : Y("", !0),
43760
+ e.failure.role === "host" ? (U(), W("span", QU, "主持工作")) : Y("", !0),
43717
43761
  q(D, {
43718
43762
  label: "执行失败",
43719
43763
  color: "error",
@@ -43724,19 +43768,24 @@ var hU = /*#__PURE__*/ XH({
43724
43768
  key: e.id,
43725
43769
  class: "channel-message-provenance"
43726
43770
  }, [
43727
- K("time", { title: new Date(t).toLocaleString("zh-CN") }, P(I(a).format_time(t)), 9, QU),
43771
+ K("time", { title: new Date(t).toLocaleString("zh-CN") }, P(I(a).format_time(t)), 9, $U),
43728
43772
  K("span", null, "执行 #" + P(e.failure.id), 1),
43729
- e.failure.turn_id ? (U(), W("span", $U, "安排 #" + P(e.failure.turn_id), 1)) : Y("", !0)
43773
+ e.failure.turn_id ? (U(), W("span", eW, "安排 #" + P(e.failure.turn_id), 1)) : Y("", !0)
43730
43774
  ]))), 128))]),
43731
- e.failure.elapsed_seconds == null ? Y("", !0) : (U(), W("span", eW, "耗时 " + P(gt(e.failure.elapsed_seconds)), 1))
43775
+ e.failure.elapsed_seconds == null ? Y("", !0) : (U(), W("span", tW, "耗时 " + P(gt(e.failure.elapsed_seconds)), 1))
43732
43776
  ]),
43733
- K("p", tW, P(e.failure.result || "执行失败,未提供原因"), 1),
43734
- e.failure.notes ? (U(), W("details", {
43777
+ K("p", nW, P(e.failure.result || "执行失败,未提供原因"), 1),
43778
+ e.failure.notes ? (U(), G(TU, {
43735
43779
  key: 0,
43736
- class: "channel-receipt",
43737
- onToggle: (t) => t.target.open && je(e.failure.id)
43738
- }, [K("summary", { "aria-label": `查看执行 #${e.failure.id} 的过程说明` }, "过程说明 · " + P(e.failure.notes) + " 段", 9, rW), K("ol", iW, [(U(!0), W(H, null, B(Ae.value.get(e.failure.id) || [], (e) => (U(), W("li", { key: e.seq }, P(e.text), 1))), 128))])], 40, nW)) : Y("", !0),
43739
- Ee.value && Vn(e.failure) ? (U(), W("div", aW, [q(o, {
43780
+ count: e.failure.notes,
43781
+ notes: Ae.value.get(e.failure.id),
43782
+ onLoad: (t) => je(e.failure.id)
43783
+ }, null, 8, [
43784
+ "count",
43785
+ "notes",
43786
+ "onLoad"
43787
+ ])) : Y("", !0),
43788
+ Ee.value && Vn(e.failure) ? (U(), W("div", rW, [q(o, {
43740
43789
  label: "重发",
43741
43790
  icon: "i-lucide-rotate-ccw",
43742
43791
  size: "sm",
@@ -43745,7 +43794,7 @@ var hU = /*#__PURE__*/ XH({
43745
43794
  "aria-label": `把执行 #${e.failure.id} 的原消息填回输入框重发`,
43746
43795
  onClick: (t) => Hn(e.failure)
43747
43796
  }, null, 8, ["aria-label", "onClick"])])) : Y("", !0),
43748
- e.can_retry ? (U(), W("div", oW, [q(o, {
43797
+ e.can_retry ? (U(), W("div", iW, [q(o, {
43749
43798
  label: "重试",
43750
43799
  icon: "i-lucide-rotate-ccw",
43751
43800
  size: "sm",
@@ -43760,8 +43809,8 @@ var hU = /*#__PURE__*/ XH({
43760
43809
  "loading",
43761
43810
  "disabled",
43762
43811
  "onClick"
43763
- ]), I(i).free_error ? (U(), W("p", sW, P(I(i).free_error), 1)) : Y("", !0)])) : Y("", !0)
43764
- ], 8, qU)) : (U(), W(H, { key: 4 }, [
43812
+ ]), I(i).free_error ? (U(), W("p", aW, P(I(i).free_error), 1)) : Y("", !0)])) : Y("", !0)
43813
+ ], 8, JU)) : (U(), W(H, { key: 4 }, [
43765
43814
  nc([
43766
43815
  e,
43767
43816
  I(i).admin?.identity_version,
@@ -43795,7 +43844,7 @@ var hU = /*#__PURE__*/ XH({
43795
43844
  }
43796
43845
  }, {
43797
43846
  body: L(() => [
43798
- K("div", cW, [
43847
+ K("div", oW, [
43799
43848
  q(x, {
43800
43849
  src: I(a).identities[e.author]?.icon,
43801
43850
  text: I(a).identities[e.author]?.initials || "?",
@@ -43808,9 +43857,9 @@ var hU = /*#__PURE__*/ XH({
43808
43857
  "alt",
43809
43858
  "class"
43810
43859
  ]),
43811
- K("div", lW, [K("div", uW, [
43860
+ K("div", sW, [K("div", cW, [
43812
43861
  K("strong", null, P(I(a).display_name(e.author)), 1),
43813
- K("span", dW, P(on.value.get(e.id)), 1),
43862
+ K("span", lW, P(on.value.get(e.id)), 1),
43814
43863
  q(D, {
43815
43864
  size: "xs",
43816
43865
  color: "neutral",
@@ -43862,8 +43911,8 @@ var hU = /*#__PURE__*/ XH({
43862
43911
  default: L(() => [J(P(e.label), 1)]),
43863
43912
  _: 2
43864
43913
  }, 1032, ["color", "title"]))), 128))
43865
- ]), K("div", fW, [
43866
- K("time", { title: new Date(e.created_at).toLocaleString("zh-CN") }, P(I(a).format_time(e.created_at)), 9, pW),
43914
+ ]), K("div", uW, [
43915
+ K("time", { title: new Date(e.created_at).toLocaleString("zh-CN") }, P(I(a).format_time(e.created_at)), 9, dW),
43867
43916
  q(o, {
43868
43917
  label: `#${e.id}`,
43869
43918
  color: "neutral",
@@ -43877,10 +43926,10 @@ var hU = /*#__PURE__*/ XH({
43877
43926
  "aria-label",
43878
43927
  "onClick"
43879
43928
  ]),
43880
- e.submitted_by && e.submitted_by !== e.author && (e.source !== "proxy" || e.submitted_by !== "用户") ? (U(), W("span", mW, P(I(a).display_name(e.submitted_by)) + " 代发", 1)) : Y("", !0),
43881
- e.turn_id ? (U(), W("span", hW, "回答安排 #" + P(e.turn_id), 1)) : Y("", !0)
43929
+ e.submitted_by && e.submitted_by !== e.author && (e.source !== "proxy" || e.submitted_by !== "用户") ? (U(), W("span", fW, P(I(a).display_name(e.submitted_by)) + " 代发", 1)) : Y("", !0),
43930
+ e.turn_id ? (U(), W("span", pW, "回答安排 #" + P(e.turn_id), 1)) : Y("", !0)
43882
43931
  ])]),
43883
- bt(e) === null ? Y("", !0) : (U(), W("span", gW, "耗时 " + P(gt(bt(e))), 1))
43932
+ bt(e) === null ? Y("", !0) : (U(), W("span", mW, "耗时 " + P(gt(bt(e))), 1))
43884
43933
  ]),
43885
43934
  e.reply_to ? (U(), G(o, {
43886
43935
  key: 0,
@@ -43897,19 +43946,14 @@ var hU = /*#__PURE__*/ XH({
43897
43946
  "aria-label",
43898
43947
  "onClick"
43899
43948
  ])) : Y("", !0),
43900
- Me(e)?.notes ? (U(), W("details", {
43901
- key: 1,
43902
- class: "channel-receipt",
43903
- onToggle: (t) => t.target.open && je(Me(e).id)
43904
- }, [K("summary", { "aria-label": `查看 #${e.id} 的过程说明` }, "过程说明 · " + P(Me(e).notes) + " 段", 9, vW), K("ol", yW, [(U(!0), W(H, null, B(Ae.value.get(Me(e).id) || [], (e) => (U(), W("li", { key: e.seq }, P(e.text), 1))), 128))])], 40, _W)) : Y("", !0),
43905
- e.kind === "receipt" ? (U(), W("details", bW, [K("summary", { "aria-label": `查看运行回执 #${e.id}` }, "运行回执详情", 8, xW), K("div", {
43949
+ e.kind === "receipt" ? (U(), W("details", hW, [K("summary", { "aria-label": `查看运行回执 #${e.id}` }, "运行回执详情", 8, gW), K("div", {
43906
43950
  class: "channel-message-text markdown-body",
43907
43951
  innerHTML: e.rendered_text
43908
- }, null, 8, SW)])) : (U(), W("div", CW, [K("div", {
43952
+ }, null, 8, _W)])) : (U(), W("div", vW, [K("div", {
43909
43953
  id: `channel-answer-${e.id}`,
43910
43954
  class: "channel-message-text markdown-body",
43911
43955
  innerHTML: b.value.has(e.id) ? e.rendered_text : S.value.get(e.id).html
43912
- }, null, 8, wW), S.value.get(e.id).truncated ? (U(), G(o, {
43956
+ }, null, 8, yW), S.value.get(e.id).truncated ? (U(), G(o, {
43913
43957
  key: 0,
43914
43958
  label: b.value.has(e.id) ? "收起" : "展开全文",
43915
43959
  "trailing-icon": b.value.has(e.id) ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
@@ -43929,14 +43973,24 @@ var hU = /*#__PURE__*/ XH({
43929
43973
  "aria-controls",
43930
43974
  "onClick"
43931
43975
  ])) : Y("", !0)])),
43932
- e.summary ? (U(), W("div", TW, [K("small", null, [t[31] ||= J("回答摘要", -1), e.summary_by && e.summary_by !== e.author ? (U(), W("span", EW, " · " + P(I(a).display_name(e.summary_by)) + " 整理", 1)) : Y("", !0)]), K("div", {
43976
+ e.summary ? (U(), W("div", bW, [K("small", null, [t[31] ||= J("回答摘要", -1), e.summary_by && e.summary_by !== e.author ? (U(), W("span", xW, " · " + P(I(a).display_name(e.summary_by)) + " 整理", 1)) : Y("", !0)]), K("div", {
43933
43977
  class: "channel-message-text markdown-body",
43934
43978
  innerHTML: e.rendered_summary
43935
- }, null, 8, DW)])) : Y("", !0),
43979
+ }, null, 8, SW)])) : Y("", !0),
43980
+ Me(e)?.notes ? (U(), G(TU, {
43981
+ key: 4,
43982
+ count: Me(e).notes,
43983
+ notes: Ae.value.get(Me(e).id),
43984
+ onLoad: (t) => je(Me(e).id)
43985
+ }, null, 8, [
43986
+ "count",
43987
+ "notes",
43988
+ "onLoad"
43989
+ ])) : Y("", !0),
43936
43990
  e.attachments?.length ? (U(), W("div", {
43937
43991
  key: 5,
43938
43992
  innerHTML: I(a).attachment_markup(e.attachments)
43939
- }, null, 8, OW)) : Y("", !0),
43993
+ }, null, 8, CW)) : Y("", !0),
43940
43994
  rt.value.get(e.id) ? (U(), W("div", {
43941
43995
  key: 6,
43942
43996
  class: M(["channel-recommendation", `is-${rt.value.get(e.id).status}`]),
@@ -43947,12 +44001,12 @@ var hU = /*#__PURE__*/ XH({
43947
44001
  name: "i-lucide-zap",
43948
44002
  class: "channel-recommendation-icon"
43949
44003
  }),
43950
- e.status === "open" ? (U(), W("span", kW, [
44004
+ e.status === "open" ? (U(), W("span", wW, [
43951
44005
  t[32] ||= J("智能调度建议让 ", -1),
43952
44006
  K("strong", null, P(I(a).display_name(e.member)), 1),
43953
44007
  t[33] ||= J(" 回答", -1),
43954
- K("small", { title: `${e.label},置信度 ${Number(e.confidence).toFixed(2)}` }, "置信度 " + P(Number(e.confidence).toFixed(2)) + " · " + P(e.remaining) + " 秒", 9, AW)
43955
- ])) : e.status === "waiting" ? (U(), W("span", jW, "智能调度:主持人答完后请 " + P(I(a).display_name(e.member)) + " 回答", 1)) : (U(), W("span", MW, "智能调度:" + P(e.mode === "interrupt" ? `已打断主持人,改由 ${I(a).display_name(e.member)} 回答` : `已请 ${I(a).display_name(e.member)} 回答`), 1)),
44008
+ K("small", { title: `${e.label},置信度 ${Number(e.confidence).toFixed(2)}` }, "置信度 " + P(Number(e.confidence).toFixed(2)) + " · " + P(e.remaining) + " 秒", 9, TW)
44009
+ ])) : e.status === "waiting" ? (U(), W("span", EW, "智能调度:主持人答完后请 " + P(I(a).display_name(e.member)) + " 回答", 1)) : (U(), W("span", DW, "智能调度:" + P(e.mode === "interrupt" ? `已打断主持人,改由 ${I(a).display_name(e.member)} 回答` : `已请 ${I(a).display_name(e.member)} 回答`), 1)),
43956
44010
  e.can_adopt ? (U(), W(H, { key: 3 }, [nt.value === e.message_id ? (U(), W(H, { key: 1 }, [
43957
44011
  q(o, {
43958
44012
  label: `打断主持人,改由 ${I(a).display_name(e.member)} 回答`,
@@ -43987,7 +44041,7 @@ var hU = /*#__PURE__*/ XH({
43987
44041
  onClick: (t) => e.host_busy ? nt.value = e.message_id : mt(e.message_id, "after")
43988
44042
  }, null, 8, ["aria-label", "onClick"]))], 64)) : Y("", !0)
43989
44043
  ], 64))), 128))], 2)) : Y("", !0),
43990
- Ee.value && e.suggestions?.length ? (U(), W("div", NW, [(U(!0), W(H, null, B(He.value.get(e.id) || [], (t) => (U(), W("div", { key: t.member_id }, [K("span", null, "建议请 " + P(I(a).display_name(t.member)) + " 回应", 1), t.request_id ? (U(), W("span", PW, "已转请求 #" + P(t.request_id), 1)) : t.status === "active" ? I(i).access?.can_manage && !ye.value.archived ? (U(), G(o, {
44044
+ Ee.value && e.suggestions?.length ? (U(), W("div", OW, [(U(!0), W(H, null, B(He.value.get(e.id) || [], (t) => (U(), W("div", { key: t.member_id }, [K("span", null, "建议请 " + P(I(a).display_name(t.member)) + " 回应", 1), t.request_id ? (U(), W("span", kW, "已转请求 #" + P(t.request_id), 1)) : t.status === "active" ? I(i).access?.can_manage && !ye.value.archived ? (U(), G(o, {
43991
44045
  key: 2,
43992
44046
  label: "转为请求",
43993
44047
  icon: "i-lucide-send",
@@ -44004,15 +44058,15 @@ var hU = /*#__PURE__*/ XH({
44004
44058
  "disabled",
44005
44059
  "aria-label",
44006
44060
  "onClick"
44007
- ])) : Y("", !0) : (U(), W("span", FW, "成员已离开"))]))), 128))])) : Y("", !0),
44061
+ ])) : Y("", !0) : (U(), W("span", AW, "成员已离开"))]))), 128))])) : Y("", !0),
44008
44062
  (U(!0), W(H, null, B(Xe.value.get(e.id) || [], (e) => (U(), W("section", {
44009
44063
  key: e.id,
44010
44064
  class: "channel-execution-report",
44011
44065
  "aria-label": `执行报告 #${e.id}`
44012
44066
  }, [
44013
44067
  K("div", null, [K("strong", null, "执行 #" + P(e.id) + " · " + P(e.label), 1)]),
44014
- e.changes?.length ? (U(), W("p", LW, "文件变化:" + P(e.changes.join("、")), 1)) : Y("", !0),
44015
- e.status !== "completed" && e.result ? (U(), W("p", RW, P(e.result), 1)) : Y("", !0),
44068
+ e.changes?.length ? (U(), W("p", MW, "文件变化:" + P(e.changes.join("、")), 1)) : Y("", !0),
44069
+ e.status !== "completed" && e.result ? (U(), W("p", NW, P(e.result), 1)) : Y("", !0),
44016
44070
  Vn(e) ? (U(), G(o, {
44017
44071
  key: 2,
44018
44072
  label: "重发",
@@ -44023,9 +44077,9 @@ var hU = /*#__PURE__*/ XH({
44023
44077
  "aria-label": `把执行 #${e.id} 的原消息填回输入框重发`,
44024
44078
  onClick: (t) => Hn(e)
44025
44079
  }, null, 8, ["aria-label", "onClick"])) : Y("", !0)
44026
- ], 8, IW))), 128))
44080
+ ], 8, jW))), 128))
44027
44081
  ]),
44028
- header: L(() => [K("div", zW, [K("div", BW, [q(ie, { text: "回复" }, {
44082
+ header: L(() => [K("div", PW, [K("div", FW, [q(ie, { text: "回复" }, {
44029
44083
  default: L(() => [q(o, {
44030
44084
  icon: "i-lucide-corner-up-left",
44031
44085
  size: "xs",
@@ -44088,8 +44142,8 @@ var hU = /*#__PURE__*/ XH({
44088
44142
  }, {
44089
44143
  text: L(() => [
44090
44144
  J("智能调度:" + P(e.label), 1),
44091
- e.confidence === null ? Y("", !0) : (U(), W("small", VW, "置信度 " + P(Number(e.confidence).toFixed(2)), 1)),
44092
- e.detail?.[0]?.duration_ms == null ? Y("", !0) : (U(), W("small", HW, "耗时 " + P(vt(e.detail[0].duration_ms)), 1))
44145
+ e.confidence === null ? Y("", !0) : (U(), W("small", IW, "置信度 " + P(Number(e.confidence).toFixed(2)), 1)),
44146
+ e.detail?.[0]?.duration_ms == null ? Y("", !0) : (U(), W("small", LW, "耗时 " + P(vt(e.detail[0].duration_ms)), 1))
44093
44147
  ]),
44094
44148
  actions: L(() => [I(i).access?.can_manage ? (U(), W("button", {
44095
44149
  key: 0,
@@ -44099,7 +44153,7 @@ var hU = /*#__PURE__*/ XH({
44099
44153
  "aria-label": "这次调度判断得好",
44100
44154
  title: "判断得好",
44101
44155
  onClick: (t) => dt(e, "good")
44102
- }, [q(re, { name: "i-lucide-thumbs-up" })], 10, UW)) : Y("", !0), I(i).access?.can_manage ? (U(), W("button", {
44156
+ }, [q(re, { name: "i-lucide-thumbs-up" })], 10, RW)) : Y("", !0), I(i).access?.can_manage ? (U(), W("button", {
44103
44157
  key: 1,
44104
44158
  type: "button",
44105
44159
  class: M(["channel-schedule-rate", { "is-on": e.feedback === "bad" }]),
@@ -44107,8 +44161,8 @@ var hU = /*#__PURE__*/ XH({
44107
44161
  "aria-label": "这次调度判断得不好",
44108
44162
  title: "判断得不好",
44109
44163
  onClick: (t) => dt(e, "bad")
44110
- }, [q(re, { name: "i-lucide-thumbs-down" })], 10, WW)) : Y("", !0)]),
44111
- default: L(() => [(U(!0), W(H, null, B(e.detail, (e, t) => (U(), W("p", { key: t }, [K("span", null, "问:" + P(e.question) + "(" + P(e.choices.map(ct).join(" / ")) + ")", 1), K("span", null, [J("答:" + P(e.choice ? ct(e.choice) : "无"), 1), e.probabilities[e.choice] === void 0 ? Y("", !0) : (U(), W("small", GW, "概率 " + P(Number(e.probabilities[e.choice]).toFixed(2)), 1))])]))), 128))]),
44164
+ }, [q(re, { name: "i-lucide-thumbs-down" })], 10, zW)) : Y("", !0)]),
44165
+ default: L(() => [(U(!0), W(H, null, B(e.detail, (e, t) => (U(), W("p", { key: t }, [K("span", null, "问:" + P(e.question) + "(" + P(e.choices.map(ct).join(" / ")) + ")", 1), K("span", null, [J("答:" + P(e.choice ? ct(e.choice) : "无"), 1), e.probabilities[e.choice] === void 0 ? Y("", !0) : (U(), W("small", BW, "概率 " + P(Number(e.probabilities[e.choice]).toFixed(2)), 1))])]))), 128))]),
44112
44166
  _: 2
44113
44167
  }, 1032, [
44114
44168
  "skipped",
@@ -44123,7 +44177,7 @@ var hU = /*#__PURE__*/ XH({
44123
44177
  K("label", null, [t[35] ||= J("应该由谁回答", -1), vr(K("select", { "onUpdate:modelValue": t[7] ||= (e) => ut.value.should_be = e }, [(U(!0), W(H, null, B(pt.value, (e) => (U(), W("option", {
44124
44178
  key: e.value,
44125
44179
  value: e.value
44126
- }, P(e.label), 9, qW))), 128))], 512), [[$l, ut.value.should_be]])]),
44180
+ }, P(e.label), 9, HW))), 128))], 512), [[$l, ut.value.should_be]])]),
44127
44181
  vr(K("input", {
44128
44182
  "onUpdate:modelValue": t[8] ||= (e) => ut.value.note = e,
44129
44183
  type: "text",
@@ -44149,7 +44203,7 @@ var hU = /*#__PURE__*/ XH({
44149
44203
  note: ""
44150
44204
  }
44151
44205
  })
44152
- ], 40, KW)) : Y("", !0)], 64))), 128)),
44206
+ ], 40, VW)) : Y("", !0)], 64))), 128)),
44153
44207
  (U(!0), W(H, null, B(lt.value.get(e.id) || [], (t) => (U(), G(jH, {
44154
44208
  key: `arrangement-${t.id}`,
44155
44209
  icon: "i-lucide-list-ordered",
@@ -44178,7 +44232,7 @@ var hU = /*#__PURE__*/ XH({
44178
44232
  body: "channel-message-body"
44179
44233
  }
44180
44234
  }, {
44181
- body: L(() => [K("div", JW, [
44235
+ body: L(() => [K("div", UW, [
44182
44236
  q(x, {
44183
44237
  src: I(a).identities[e.expert]?.icon,
44184
44238
  text: I(a).identities[e.expert]?.initials || "?",
@@ -44191,8 +44245,8 @@ var hU = /*#__PURE__*/ XH({
44191
44245
  "alt",
44192
44246
  "class"
44193
44247
  ]),
44194
- K("div", YW, [K("div", XW, [K("strong", null, P(I(a).display_name(e.expert)), 1)])]),
44195
- K("span", ZW, "已错过 · 安排 #" + P(e.id), 1)
44248
+ K("div", WW, [K("div", GW, [K("strong", null, P(I(a).display_name(e.expert)), 1)])]),
44249
+ K("span", KW, "已错过 · 安排 #" + P(e.id), 1)
44196
44250
  ]), t[36] ||= K("div", {
44197
44251
  class: "channel-message-text",
44198
44252
  role: "status"
@@ -44201,12 +44255,12 @@ var hU = /*#__PURE__*/ XH({
44201
44255
  }, 1032, ["id", "data-author"]))), 128))
44202
44256
  ], 64))
44203
44257
  ], 64))), 128))]))), 128)),
44204
- (Qt.value === "end" || $t.value === "end") && !I(i).query && !I(i).mention_only ? (U(), W("div", QW, [Qt.value === "end" ? (U(), G(qH, {
44258
+ (Qt.value === "end" || $t.value === "end") && !I(i).query && !I(i).mention_only ? (U(), W("div", qW, [Qt.value === "end" ? (U(), G(qH, {
44205
44259
  key: 0,
44206
44260
  ref: (e) => /* @__PURE__ */ ln(r) ? r.value = e : r = e,
44207
44261
  onEdit: t[10] ||= (e) => n("edit")
44208
44262
  }, null, 512)) : Y("", !0), $t.value === "end" ? (U(), G(SU, { key: 1 })) : Y("", !0)])) : Y("", !0),
44209
- Ze.value ? (U(), W("div", $W, [Ze.value.is_host ? (U(), G(jH, {
44263
+ Ze.value ? (U(), W("div", JW, [Ze.value.is_host ? (U(), G(jH, {
44210
44264
  key: 0,
44211
44265
  id: `execution-${Ze.value.id}`,
44212
44266
  icon: "i-lucide-list-ordered",
@@ -44221,7 +44275,7 @@ var hU = /*#__PURE__*/ XH({
44221
44275
  ref_key: "reply_glow",
44222
44276
  ref: be,
44223
44277
  class: "channel-reply-glow"
44224
- }, P(Ze.value.text), 513)], 8, eG), K("small", null, "已用 " + P(_t.value), 1)]),
44278
+ }, P(Ze.value.text), 513)], 8, YW), K("small", null, "已用 " + P(_t.value), 1)]),
44225
44279
  _: 1
44226
44280
  }, 8, ["id", "label"])) : (U(), G(E, {
44227
44281
  key: 1,
@@ -44239,7 +44293,7 @@ var hU = /*#__PURE__*/ XH({
44239
44293
  body: "channel-message-body"
44240
44294
  }
44241
44295
  }, {
44242
- body: L(() => [K("div", tG, [
44296
+ body: L(() => [K("div", XW, [
44243
44297
  q(x, {
44244
44298
  src: I(a).identities[Ze.value.author]?.icon,
44245
44299
  text: I(a).identities[Ze.value.author]?.initials || "?",
@@ -44252,27 +44306,27 @@ var hU = /*#__PURE__*/ XH({
44252
44306
  "alt",
44253
44307
  "class"
44254
44308
  ]),
44255
- K("div", nG, [K("div", rG, [K("strong", null, P(I(a).display_name(Ze.value.author)), 1), Ze.value.round ? (U(), W("span", iG, P(Ze.value.round), 1)) : Y("", !0)])]),
44256
- K("span", aG, P(Ze.value.manual ? "手动启动" : `已用 ${_t.value}`), 1)
44309
+ K("div", ZW, [K("div", QW, [K("strong", null, P(I(a).display_name(Ze.value.author)), 1), Ze.value.round ? (U(), W("span", $W, P(Ze.value.round), 1)) : Y("", !0)])]),
44310
+ K("span", eG, P(Ze.value.manual ? "手动启动" : `已用 ${_t.value}`), 1)
44257
44311
  ]), K("div", {
44258
44312
  class: "channel-message-text",
44259
44313
  role: "status",
44260
44314
  "aria-label": `${I(a).display_name(Ze.value.author)} ${Ze.value.text}`
44261
- }, [Ze.value.manual ? (U(), W("span", sG, P(Ze.value.text), 1)) : (U(), W("span", {
44315
+ }, [Ze.value.manual ? (U(), W("span", nG, P(Ze.value.text), 1)) : (U(), W("span", {
44262
44316
  key: 1,
44263
44317
  ref_key: "reply_glow",
44264
44318
  ref: be,
44265
44319
  class: "channel-reply-glow"
44266
- }, P(Ze.value.text), 513))], 8, oG)]),
44320
+ }, P(Ze.value.text), 513))], 8, tG)]),
44267
44321
  _: 1
44268
44322
  }, 8, ["id", "data-author"]))])) : Y("", !0),
44269
- !Zt.value.length && !Ze.value && !ke.value.length ? (U(), W("div", cG, [
44323
+ !Zt.value.length && !Ze.value && !ke.value.length ? (U(), W("div", rG, [
44270
44324
  q(re, { name: I(i).query || I(i).mention_only ? "i-lucide-search" : "i-lucide-hash" }, null, 8, ["name"]),
44271
44325
  K("h2", null, P(I(i).query || I(i).mention_only ? "没有找到消息" : ye.value.title), 1),
44272
44326
  K("p", null, P(I(i).query || I(i).mention_only ? "试试其他关键词,或清除筛选。" : I(a).empty_discussion_message(ye.value)), 1)
44273
44327
  ])) : Y("", !0)
44274
44328
  ], 544)), t, 11),
44275
- (Zt.value.length || Ze.value) && !ve.value ? (U(), W("div", lG, [q(o, {
44329
+ (Zt.value.length || Ze.value) && !ve.value ? (U(), W("div", iG, [q(o, {
44276
44330
  icon: "i-lucide-arrow-down",
44277
44331
  color: "neutral",
44278
44332
  variant: "outline",
@@ -44280,7 +44334,7 @@ var hU = /*#__PURE__*/ XH({
44280
44334
  class: "channel-latest-button",
44281
44335
  onClick: Dn
44282
44336
  })])) : Y("", !0),
44283
- K("div", uG, [K("div", {
44337
+ K("div", aG, [K("div", {
44284
44338
  class: "channel-composer-column",
44285
44339
  onDragover: t[23] ||= (...e) => I(a).drop_attachments && I(a).drop_attachments(...e),
44286
44340
  onDrop: t[24] ||= (...e) => I(a).drop_attachments && I(a).drop_attachments(...e),
@@ -44349,7 +44403,7 @@ var hU = /*#__PURE__*/ XH({
44349
44403
  ])),
44350
44404
  K("span", null, P(Pt[e] ? `全体成员(${Ie.value.length} 位)` : I(a).display_name(e)), 1),
44351
44405
  K("small", null, "@" + P(e), 1)
44352
- ], 40, dG))), 128)), Bt.value.length ? Y("", !0) : (U(), W("p", fG, "没有匹配的成员"))], 512)]),
44406
+ ], 40, oG))), 128)), Bt.value.length ? Y("", !0) : (U(), W("p", sG, "没有匹配的成员"))], 512)]),
44353
44407
  _: 1
44354
44408
  }, 8, [
44355
44409
  "open",
@@ -44365,7 +44419,7 @@ var hU = /*#__PURE__*/ XH({
44365
44419
  "submit-on-enter": !0,
44366
44420
  autofocus: !1,
44367
44421
  rows: 1,
44368
- maxrows: MG,
44422
+ maxrows: DG,
44369
44423
  placeholder: `发消息到 # ${ye.value.title}`,
44370
44424
  "aria-label": "留言正文",
44371
44425
  role: "combobox",
@@ -44385,7 +44439,7 @@ var hU = /*#__PURE__*/ XH({
44385
44439
  onSubmit: Gn
44386
44440
  }, {
44387
44441
  header: L(() => [
44388
- I(i).attachment_drafts.length ? (U(), W("div", pG, [(U(!0), W(H, null, B(I(i).attachment_drafts, (e) => (U(), W("div", {
44442
+ I(i).attachment_drafts.length ? (U(), W("div", cG, [(U(!0), W(H, null, B(I(i).attachment_drafts, (e) => (U(), W("div", {
44389
44443
  key: e.id,
44390
44444
  class: M(e.preview_url ? "attachment-draft-image" : "attachment-draft-file")
44391
44445
  }, [e.preview_url ? (U(), W("img", {
@@ -44393,19 +44447,19 @@ var hU = /*#__PURE__*/ XH({
44393
44447
  src: e.preview_url,
44394
44448
  alt: e.file_name,
44395
44449
  title: e.file_name
44396
- }, null, 8, mG)) : (U(), W(H, { key: 1 }, [K("span", { innerHTML: I(a).attachment_file_icon(e.file_name) }, null, 8, hG), K("span", gG, [K("span", { title: e.file_name }, P(e.file_name), 9, _G), K("small", null, P(I(a).attachment_size(e.size)), 1)])], 64)), K("button", {
44450
+ }, null, 8, lG)) : (U(), W(H, { key: 1 }, [K("span", { innerHTML: I(a).attachment_file_icon(e.file_name) }, null, 8, uG), K("span", dG, [K("span", { title: e.file_name }, P(e.file_name), 9, fG), K("small", null, P(I(a).attachment_size(e.size)), 1)])], 64)), K("button", {
44397
44451
  type: "button",
44398
44452
  class: "attachment-remove",
44399
44453
  "aria-label": `移除 ${e.file_name}`,
44400
44454
  disabled: I(i).sending_message,
44401
44455
  onClick: (t) => I(s)("remove_attachment", e.id)
44402
- }, [q(re, { name: "i-lucide-x" })], 8, vG)], 2))), 128))])) : Y("", !0),
44456
+ }, [q(re, { name: "i-lucide-x" })], 8, pG)], 2))), 128))])) : Y("", !0),
44403
44457
  I(i).composer_error || I(i).upload_status ? (U(), W("p", {
44404
44458
  key: 1,
44405
44459
  class: "attachment-status",
44406
44460
  role: I(i).composer_error ? "alert" : "status"
44407
- }, P(I(i).composer_error || I(i).upload_status), 9, yG)) : Y("", !0),
44408
- we.value ? (U(), W("div", bG, [
44461
+ }, P(I(i).composer_error || I(i).upload_status), 9, mG)) : Y("", !0),
44462
+ we.value ? (U(), W("div", hG, [
44409
44463
  q(re, { name: "i-lucide-user-round-x" }),
44410
44464
  K("span", null, P(I(a).display_name(we.value.name)) + " 待注册:在其会话中粘贴启动指令", 1),
44411
44465
  I(i).access?.can_manage ? (U(), G(o, {
@@ -44420,7 +44474,7 @@ var hU = /*#__PURE__*/ XH({
44420
44474
  onClick: t[14] ||= (e) => Bn(we.value.name)
44421
44475
  }, null, 8, ["icon", "label"])) : Y("", !0)
44422
44476
  ])) : Y("", !0),
44423
- Te.value ? (U(), W("div", xG, [
44477
+ Te.value ? (U(), W("div", gG, [
44424
44478
  q(re, { name: "i-lucide-clock" }),
44425
44479
  K("span", null, P(Te.value), 1),
44426
44480
  Se(Ce.value) && I(i).access?.can_manage ? (U(), G(o, {
@@ -44435,7 +44489,7 @@ var hU = /*#__PURE__*/ XH({
44435
44489
  onClick: t[15] ||= (e) => Bn(Ce.value.name)
44436
44490
  }, null, 8, ["icon", "label"])) : Y("", !0)
44437
44491
  ])) : Y("", !0),
44438
- I(i).reply_to || I(i).turn_reply_to ? (U(), W("div", SG, [
44492
+ I(i).reply_to || I(i).turn_reply_to ? (U(), W("div", _G, [
44439
44493
  q(re, { name: "i-lucide-corner-up-left" }),
44440
44494
  K("span", null, P(I(i).turn_reply_to ? `回答安排 #${I(i).turn_reply_to} · ${I(a).display_name(ye.value.host)} 代发` : `回复 #${I(i).reply_to}`), 1),
44441
44495
  q(o, {
@@ -44447,7 +44501,7 @@ var hU = /*#__PURE__*/ XH({
44447
44501
  onClick: t[16] ||= (e) => I(s)(I(i).turn_reply_to ? "cancel_answer" : "cancel_reply")
44448
44502
  }, null, 8, ["aria-label"])
44449
44503
  ])) : Y("", !0),
44450
- g.value ? (U(), W("div", CG, [q(le, {
44504
+ g.value ? (U(), W("div", vG, [q(le, {
44451
44505
  modelValue: I(m),
44452
44506
  "onUpdate:modelValue": t[17] ||= (e) => /* @__PURE__ */ ln(m) ? m.value = e : null,
44453
44507
  rows: 2,
@@ -44474,14 +44528,14 @@ var hU = /*#__PURE__*/ XH({
44474
44528
  disabled: I(i).sending_message,
44475
44529
  onClick: t[19] ||= (e) => I(s)("choose_attachments")
44476
44530
  }, null, 8, ["disabled"]),
44477
- Re.value.length ? (U(), W("div", TG, [t[38] ||= K("span", null, "代发", -1), (U(!0), W(H, null, B(Re.value, (e) => (U(), W("button", {
44531
+ Re.value.length ? (U(), W("div", bG, [t[38] ||= K("span", null, "代发", -1), (U(!0), W(H, null, B(Re.value, (e) => (U(), W("button", {
44478
44532
  key: e.id,
44479
44533
  type: "button",
44480
44534
  "aria-pressed": I(i).free_proxy === e.name,
44481
44535
  class: M({ "is-on": I(i).free_proxy === e.name }),
44482
44536
  onClick: (t) => I(s)("set_proxy", e.name)
44483
- }, P(I(a).display_name(e.name)), 11, EG))), 128))])) : Y("", !0),
44484
- Ee.value ? Y("", !0) : (U(), W("div", DG, [q(N, {
44537
+ }, P(I(a).display_name(e.name)), 11, xG))), 128))])) : Y("", !0),
44538
+ Ee.value ? Y("", !0) : (U(), W("div", SG, [q(N, {
44485
44539
  modelValue: I(f),
44486
44540
  "onUpdate:modelValue": t[20] ||= (e) => /* @__PURE__ */ ln(f) ? f.value = e : null,
44487
44541
  items: xt.value,
@@ -44546,7 +44600,7 @@ var hU = /*#__PURE__*/ XH({
44546
44600
  class: "channel-editor channel-editor-mirror",
44547
44601
  "aria-hidden": "true",
44548
44602
  innerHTML: Ot.value
44549
- }, null, 8, wG)) : Y("", !0)]),
44603
+ }, null, 8, yG)) : Y("", !0)]),
44550
44604
  _: 1
44551
44605
  }, 8, [
44552
44606
  "modelValue",
@@ -44557,16 +44611,16 @@ var hU = /*#__PURE__*/ XH({
44557
44611
  "aria-activedescendant",
44558
44612
  "class"
44559
44613
  ]),
44560
- K("div", OG, [Ee.value ? (U(), W("span", kG, [
44614
+ K("div", CG, [Ee.value ? (U(), W("span", wG, [
44561
44615
  J(P(Pe.value), 1),
44562
44616
  t[39] ||= K("span", { class: "channel-note-divider" }, "·", -1),
44563
44617
  t[40] ||= J("手动成员需在原会话触发", -1)
44564
- ])) : (U(), W("span", AG, [
44618
+ ])) : (U(), W("span", TG, [
44565
44619
  J(P(Tt.value), 1),
44566
44620
  Be.value.length ? (U(), W(H, { key: 0 }, [t[41] ||= K("span", { class: "channel-note-divider" }, "·", -1), J("直接提问 " + P(Be.value.join("、")) + ",不计轮次", 1)], 64)) : Y("", !0),
44567
44621
  t[42] ||= K("span", { class: "channel-note-divider" }, "·", -1),
44568
44622
  t[43] ||= J("在线 AI 的观点需代发", -1)
44569
- ])), K("span", jG, [u.value ? (U(), W("span", {
44623
+ ])), K("span", EG, [u.value ? (U(), W("span", {
44570
44624
  key: 0,
44571
44625
  class: M({ "is-near-limit": d.value })
44572
44626
  }, [J(P(u.value) + " / " + P(I(a).max_message_length), 1), t[44] ||= K("span", { class: "channel-note-divider" }, "·", -1)], 2)) : Y("", !0), t[45] ||= K("span", { class: "channel-key-hint" }, [
@@ -44582,7 +44636,7 @@ var hU = /*#__PURE__*/ XH({
44582
44636
  ], 2);
44583
44637
  };
44584
44638
  }
44585
- }, [["__scopeId", "data-v-aa960fd1"]]), mK = {
44639
+ }, [["__scopeId", "data-v-085c5e13"]]), lK = {
44586
44640
  slots: {
44587
44641
  root: "relative inline-flex items-center",
44588
44642
  base: ["rounded-md", "transition-colors"],
@@ -45010,7 +45064,7 @@ var hU = /*#__PURE__*/ XH({
45010
45064
  color: "primary",
45011
45065
  variant: "outline"
45012
45066
  }
45013
- }, hK = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
45067
+ }, uK = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
45014
45068
  __name: "InputMenu",
45015
45069
  props: /*@__PURE__*/ Fa({
45016
45070
  as: {
@@ -45290,7 +45344,7 @@ var hU = /*#__PURE__*/ XH({
45290
45344
  required: !1
45291
45345
  }
45292
45346
  } }), _e = Z(() => oA({
45293
- extend: mK,
45347
+ extend: lK,
45294
45348
  ...l.ui?.inputMenu || {}
45295
45349
  })({
45296
45350
  color: le.value,
@@ -45784,16 +45838,16 @@ var hU = /*#__PURE__*/ XH({
45784
45838
  ])
45785
45839
  ], 64));
45786
45840
  }
45787
- }), gK = { class: "api-settings" }, _K = {
45841
+ }), dK = { class: "api-settings" }, fK = {
45788
45842
  class: "api-field",
45789
45843
  title: "Base URL"
45790
- }, vK = {
45844
+ }, pK = {
45791
45845
  class: "api-field",
45792
45846
  title: "OpenRouter 等兼容服务可选 Chat Completions,并填写该服务的完整模型 ID。"
45793
- }, yK = { class: "api-field" }, bK = { class: "api-field" }, xK = { class: "api-inline" }, SK = {
45847
+ }, mK = { class: "api-field" }, hK = { class: "api-field" }, gK = { class: "api-inline" }, _K = {
45794
45848
  key: 0,
45795
45849
  role: "alert"
45796
- }, CK = "••••••••••••", wK = /*#__PURE__*/ XH({
45850
+ }, vK = "••••••••••••", yK = /*#__PURE__*/ XH({
45797
45851
  __name: "ApiSettings",
45798
45852
  props: { name: {
45799
45853
  type: String,
@@ -45835,9 +45889,9 @@ var hU = /*#__PURE__*/ XH({
45835
45889
  }
45836
45890
  }
45837
45891
  return (t, n) => {
45838
- let u = YV, m = bH, h = MA, g = hK;
45839
- return U(), W("div", gK, [
45840
- K("label", _K, [n[6] ||= K("span", null, "地址", -1), q(u, {
45892
+ let u = YV, m = bH, h = MA, g = uK;
45893
+ return U(), W("div", dK, [
45894
+ K("label", fK, [n[6] ||= K("span", null, "地址", -1), q(u, {
45841
45895
  "model-value": i.value.base_url || "",
45842
45896
  "aria-label": `${e.name} Base URL`,
45843
45897
  placeholder: "Base URL",
@@ -45845,7 +45899,7 @@ var hU = /*#__PURE__*/ XH({
45845
45899
  size: "xs",
45846
45900
  "onUpdate:modelValue": n[0] ||= (e) => f("base_url", e)
45847
45901
  }, null, 8, ["model-value", "aria-label"])]),
45848
- K("div", vK, [n[7] ||= K("span", null, "协议", -1), q(m, {
45902
+ K("div", pK, [n[7] ||= K("span", null, "协议", -1), q(m, {
45849
45903
  "model-value": i.value.api_protocol || "",
45850
45904
  items: d,
45851
45905
  "aria-label": `${e.name} API 请求协议`,
@@ -45853,7 +45907,7 @@ var hU = /*#__PURE__*/ XH({
45853
45907
  size: "xs",
45854
45908
  "onUpdate:modelValue": n[1] ||= (e) => f("api_protocol", e)
45855
45909
  }, null, 8, ["model-value", "aria-label"])]),
45856
- K("div", yK, [n[8] ||= K("span", null, "密钥", -1), q(u, {
45910
+ K("div", mK, [n[8] ||= K("span", null, "密钥", -1), q(u, {
45857
45911
  modelValue: o.value,
45858
45912
  "onUpdate:modelValue": n[3] ||= (e) => o.value = e,
45859
45913
  type: "text",
@@ -45861,7 +45915,7 @@ var hU = /*#__PURE__*/ XH({
45861
45915
  spellcheck: "false",
45862
45916
  "data-1p-ignore": "",
45863
45917
  "data-lpignore": "true",
45864
- placeholder: i.value.api_key_ref ? CK : "填写 API Key",
45918
+ placeholder: i.value.api_key_ref ? vK : "填写 API Key",
45865
45919
  title: i.value.api_key_ref && !o.value ? "已保存;本机不回传密钥,输入新 Key 可更换" : void 0,
45866
45920
  "aria-label": `${e.name} API Key`,
45867
45921
  size: "xs",
@@ -45897,7 +45951,7 @@ var hU = /*#__PURE__*/ XH({
45897
45951
  "loading",
45898
45952
  "ui"
45899
45953
  ])]),
45900
- K("div", bK, [n[9] ||= K("span", null, "模型", -1), K("div", xK, [q(g, {
45954
+ K("div", hK, [n[9] ||= K("span", null, "模型", -1), K("div", gK, [q(g, {
45901
45955
  mode: "autocomplete",
45902
45956
  "ignore-filter": "",
45903
45957
  "model-value": i.value.model || "",
@@ -45927,30 +45981,30 @@ var hU = /*#__PURE__*/ XH({
45927
45981
  "loading",
45928
45982
  "disabled"
45929
45983
  ])])]),
45930
- l.value || a.value.error ? (U(), W("p", SK, P(l.value || a.value.error), 1)) : Y("", !0)
45984
+ l.value || a.value.error ? (U(), W("p", _K, P(l.value || a.value.error), 1)) : Y("", !0)
45931
45985
  ]);
45932
45986
  };
45933
45987
  }
45934
- }, [["__scopeId", "data-v-9bf1d860"]]), TK = {
45988
+ }, [["__scopeId", "data-v-9bf1d860"]]), bK = {
45935
45989
  key: 0,
45936
45990
  class: "project-field"
45937
- }, EK = ["disabled"], DK = {
45991
+ }, xK = ["disabled"], SK = {
45938
45992
  key: 0,
45939
45993
  class: "project-note"
45940
- }, OK = ["title"], kK = { class: "project-box-actions" }, AK = {
45994
+ }, CK = ["title"], wK = { class: "project-box-actions" }, TK = {
45941
45995
  key: 0,
45942
45996
  class: "project-rows",
45943
45997
  "aria-label": "常用项目"
45944
- }, jK = { class: "project-tile" }, MK = { class: "project-edit" }, NK = { class: "project-text" }, PK = ["title"], FK = { class: "project-actions" }, IK = {
45998
+ }, EK = { class: "project-tile" }, DK = { class: "project-edit" }, OK = { class: "project-text" }, kK = ["title"], AK = { class: "project-actions" }, jK = {
45945
45999
  key: 1,
45946
46000
  class: "project-add",
45947
46001
  role: "group",
45948
46002
  "aria-label": "添加项目"
45949
- }, LK = { class: "project-add-actions" }, RK = {
46003
+ }, MK = { class: "project-add-actions" }, NK = {
45950
46004
  key: 3,
45951
46005
  role: "alert",
45952
46006
  class: "project-error"
45953
- }, zK = { class: "project-footer" }, BK = /*#__PURE__*/ XH({
46007
+ }, PK = { class: "project-footer" }, FK = /*#__PURE__*/ XH({
45954
46008
  __name: "ProjectDirectoryField",
45955
46009
  props: {
45956
46010
  placeholder: {
@@ -46043,7 +46097,7 @@ var hU = /*#__PURE__*/ XH({
46043
46097
  }
46044
46098
  return (e, n) => {
46045
46099
  let r = sA, i = CH, u = YV, f = MA, ne = zV, re = YH;
46046
- return U(), W(H, null, [a.value ? (U(), W("div", TK, [q(i, {
46100
+ return U(), W(H, null, [a.value ? (U(), W("div", bK, [q(i, {
46047
46101
  items: h.value,
46048
46102
  content: {
46049
46103
  align: "start",
@@ -46066,9 +46120,9 @@ var hU = /*#__PURE__*/ XH({
46066
46120
  name: "i-lucide-chevron-down",
46067
46121
  class: "project-select-chevron"
46068
46122
  })
46069
- ], 10, EK)]),
46123
+ ], 10, xK)]),
46070
46124
  _: 1
46071
- }, 8, ["items", "disabled"]), a.value.online ? Y("", !0) : (U(), W("p", DK, [q(r, { name: "i-lucide-moon" }), J("电脑「" + P(a.value.name) + "」当前离线,创建请求会等它上线后执行。", 1)]))])) : (U(), W("div", {
46125
+ }, 8, ["items", "disabled"]), a.value.online ? Y("", !0) : (U(), W("p", SK, [q(r, { name: "i-lucide-moon" }), J("电脑「" + P(a.value.name) + "」当前离线,创建请求会等它上线后执行。", 1)]))])) : (U(), W("div", {
46072
46126
  key: 1,
46073
46127
  class: M(["project-box", {
46074
46128
  "is-disabled": t.disabled,
@@ -46079,7 +46133,7 @@ var hU = /*#__PURE__*/ XH({
46079
46133
  key: 0,
46080
46134
  class: "project-chip",
46081
46135
  title: l.value.path
46082
- }, [q(r, { name: "i-lucide-folder" }), J(P(l.value.name), 1)], 8, OK)) : Y("", !0),
46136
+ }, [q(r, { name: "i-lucide-folder" }), J(P(l.value.name), 1)], 8, CK)) : Y("", !0),
46083
46137
  q(u, {
46084
46138
  "model-value": c.value,
46085
46139
  placeholder: t.placeholder,
@@ -46093,7 +46147,7 @@ var hU = /*#__PURE__*/ XH({
46093
46147
  "placeholder",
46094
46148
  "disabled"
46095
46149
  ]),
46096
- K("div", kK, [o.value.length ? (U(), G(i, {
46150
+ K("div", wK, [o.value.length ? (U(), G(i, {
46097
46151
  key: 0,
46098
46152
  items: h.value,
46099
46153
  content: {
@@ -46158,10 +46212,10 @@ var hU = /*#__PURE__*/ XH({
46158
46212
  class: "project-manager dialog-form",
46159
46213
  onSubmit: uu(te, ["prevent"])
46160
46214
  }, [
46161
- _.value.length ? (U(), W("ul", AK, [(U(!0), W(H, null, B(_.value, (e, t) => (U(), W("li", {
46215
+ _.value.length ? (U(), W("ul", TK, [(U(!0), W(H, null, B(_.value, (e, t) => (U(), W("li", {
46162
46216
  key: t,
46163
46217
  class: M(["project-row", { "is-editing": v.value === t }])
46164
- }, [K("span", jK, [q(r, { name: "i-lucide-folder" })]), v.value === t ? (U(), W(H, { key: 0 }, [K("div", MK, [q(u, {
46218
+ }, [K("span", EK, [q(r, { name: "i-lucide-folder" })]), v.value === t ? (U(), W(H, { key: 0 }, [K("div", DK, [q(u, {
46165
46219
  modelValue: e.name,
46166
46220
  "onUpdate:modelValue": (t) => e.name = t,
46167
46221
  placeholder: "项目名称",
@@ -46196,7 +46250,7 @@ var hU = /*#__PURE__*/ XH({
46196
46250
  "aria-label": "完成编辑",
46197
46251
  disabled: !O(e),
46198
46252
  onClick: n[0] ||= (e) => v.value = -1
46199
- }, null, 8, ["disabled"])], 64)) : (U(), W(H, { key: 1 }, [K("div", NK, [K("strong", null, P(e.name), 1), K("small", { title: e.path }, P(e.path), 9, PK)]), K("div", FK, [q(f, {
46253
+ }, null, 8, ["disabled"])], 64)) : (U(), W(H, { key: 1 }, [K("div", OK, [K("strong", null, P(e.name), 1), K("small", { title: e.path }, P(e.path), 9, kK)]), K("div", AK, [q(f, {
46200
46254
  icon: "i-lucide-pencil",
46201
46255
  color: "neutral",
46202
46256
  variant: "ghost",
@@ -46213,7 +46267,7 @@ var hU = /*#__PURE__*/ XH({
46213
46267
  "aria-label": `移除 ${e.name}`,
46214
46268
  onClick: (e) => k(t)
46215
46269
  }, null, 8, ["aria-label", "onClick"])])], 64))], 2))), 128))])) : Y("", !0),
46216
- y.value ? (U(), W("div", IK, [
46270
+ y.value ? (U(), W("div", jK, [
46217
46271
  q(ne, {
46218
46272
  label: "文件夹",
46219
46273
  description: s.value ? "" : "运行 codiscuss 的电脑上的完整路径"
@@ -46253,7 +46307,7 @@ var hU = /*#__PURE__*/ XH({
46253
46307
  }, null, 8, ["modelValue", "onKeydown"])]),
46254
46308
  _: 1
46255
46309
  }),
46256
- K("div", LK, [_.value.length ? (U(), G(f, {
46310
+ K("div", MK, [_.value.length ? (U(), G(f, {
46257
46311
  key: 0,
46258
46312
  label: "取消",
46259
46313
  color: "neutral",
@@ -46275,8 +46329,8 @@ var hU = /*#__PURE__*/ XH({
46275
46329
  class: "project-add-trigger",
46276
46330
  onClick: T
46277
46331
  }, [q(r, { name: "i-lucide-plus" }), n[9] ||= J("添加项目", -1)])),
46278
- S.value ? (U(), W("p", RK, [q(r, { name: "i-lucide-circle-alert" }), J(P(S.value), 1)])) : Y("", !0),
46279
- K("div", zK, [q(f, {
46332
+ S.value ? (U(), W("p", NK, [q(r, { name: "i-lucide-circle-alert" }), J(P(S.value), 1)])) : Y("", !0),
46333
+ K("div", PK, [q(f, {
46280
46334
  label: "取消",
46281
46335
  color: "neutral",
46282
46336
  variant: "ghost",
@@ -46292,22 +46346,22 @@ var hU = /*#__PURE__*/ XH({
46292
46346
  }, 8, ["open"])], 64);
46293
46347
  };
46294
46348
  }
46295
- }, [["__scopeId", "data-v-db76a0df"]]), VK = {
46349
+ }, [["__scopeId", "data-v-db76a0df"]]), IK = {
46296
46350
  class: "launch-settings",
46297
46351
  "aria-label": "启动配置"
46298
- }, HK = { class: "launch-connect-command" }, UK = {
46352
+ }, LK = { class: "launch-connect-command" }, RK = {
46299
46353
  key: 0,
46300
46354
  role: "alert",
46301
46355
  class: "fine-print"
46302
- }, WK = { class: "launch-effective" }, GK = { class: "launch-client-fields" }, KK = ["onClick"], qK = { key: 7 }, JK = { class: "launch-client-fields" }, YK = { class: "form-two-columns" }, XK = {
46356
+ }, zK = { class: "launch-effective" }, BK = { class: "launch-client-fields" }, VK = ["onClick"], HK = { key: 7 }, UK = { class: "launch-client-fields" }, WK = { class: "form-two-columns" }, GK = {
46303
46357
  key: 0,
46304
46358
  role: "alert",
46305
46359
  class: "fine-print"
46306
- }, ZK = {
46360
+ }, KK = {
46307
46361
  key: 1,
46308
46362
  role: "status",
46309
46363
  class: "fine-print"
46310
- }, QK = /*#__PURE__*/ XH({
46364
+ }, qK = /*#__PURE__*/ XH({
46311
46365
  __name: "LaunchSettings",
46312
46366
  props: {
46313
46367
  participants: {
@@ -46348,7 +46402,7 @@ var hU = /*#__PURE__*/ XH({
46348
46402
  e && t && o.value.forEach((e) => r.load_launch_models(e));
46349
46403
  }, { immediate: !0 }), (e, m) => {
46350
46404
  let h = MA, g = bH, _ = zV, v = YV, y = HV;
46351
- return U(), W("section", VK, [I(n).launch.available ? (U(), W(H, { key: 1 }, [
46405
+ return U(), W("section", IK, [I(n).launch.available ? (U(), W(H, { key: 1 }, [
46352
46406
  m[9] ||= K("h3", null, "启动配置", -1),
46353
46407
  m[10] ||= K("p", { class: "fine-print" }, "接入配置可保存供后续讨论复用。API 不需要安装 AI 软件;App 需要保持运行;CLI 按需启动。", -1),
46354
46408
  (U(!0), W(H, null, B(o.value, (e) => (U(), W("details", {
@@ -46357,12 +46411,12 @@ var hU = /*#__PURE__*/ XH({
46357
46411
  class: "launch-client"
46358
46412
  }, [
46359
46413
  K("summary", null, P(e) + " · " + P(I(r).launch_summary(e).client) + " · " + P(I(r).launch_summary(e).session), 1),
46360
- K("p", WK, [
46414
+ K("p", zK, [
46361
46415
  J("工作目录:" + P(I(r).launch_summary(e).cwd) + "(" + P(I(r).launch_summary(e).access) + ")", 1),
46362
46416
  m[7] ||= K("br", null, null, -1),
46363
46417
  J("项目:" + P(I(r).launch_summary(e).project), 1)
46364
46418
  ]),
46365
- K("div", GK, [
46419
+ K("div", BK, [
46366
46420
  q(_, { label: `${e} 执行客户端` }, {
46367
46421
  default: L(() => [q(g, {
46368
46422
  "model-value": s(e).adapter || "",
@@ -46405,7 +46459,7 @@ var hU = /*#__PURE__*/ XH({
46405
46459
  ])]),
46406
46460
  _: 2
46407
46461
  }, 1024)),
46408
- s(e).adapter === "api" ? (U(), G(wK, {
46462
+ s(e).adapter === "api" ? (U(), G(yK, {
46409
46463
  key: 2,
46410
46464
  name: e
46411
46465
  }, null, 8, ["name"])) : t.modelSelection && f(e).supported ? (U(), G(_, {
@@ -46429,7 +46483,7 @@ var hU = /*#__PURE__*/ XH({
46429
46483
  type: "button",
46430
46484
  class: "model-retry",
46431
46485
  onClick: (t) => I(r).load_launch_models(e, !0)
46432
- }, "重新读取模型列表", 8, KK)) : Y("", !0)]),
46486
+ }, "重新读取模型列表", 8, VK)) : Y("", !0)]),
46433
46487
  _: 2
46434
46488
  }, 1032, ["help"])) : Y("", !0),
46435
46489
  t.modelSelection && f(e).efforts?.length ? (U(), G(_, {
@@ -46473,7 +46527,7 @@ var hU = /*#__PURE__*/ XH({
46473
46527
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
46474
46528
  _: 2
46475
46529
  }, 1024)) : Y("", !0),
46476
- s(e).adapter === "api" ? Y("", !0) : (U(), W("details", qK, [m[8] ||= K("summary", null, "会话与目录覆盖(可选)", -1), K("div", JK, [
46530
+ s(e).adapter === "api" ? Y("", !0) : (U(), W("details", HK, [m[8] ||= K("summary", null, "会话与目录覆盖(可选)", -1), K("div", UK, [
46477
46531
  q(_, { label: "复用会话 ID(仅本次)" }, {
46478
46532
  default: L(() => [q(v, {
46479
46533
  "model-value": s(e).session_id || "",
@@ -46532,13 +46586,13 @@ var hU = /*#__PURE__*/ XH({
46532
46586
  ])]))
46533
46587
  ])
46534
46588
  ]))), 128)),
46535
- K("div", YK, [
46589
+ K("div", WK, [
46536
46590
  t.workspace ? (U(), G(_, {
46537
46591
  key: 0,
46538
46592
  label: "本次工作目录(可选)",
46539
46593
  help: "要一起查看的项目目录;留空时 AI 只在讨论私有目录工作"
46540
46594
  }, {
46541
- default: L(() => [q(BK, { placeholder: "已有目录的完整路径" })]),
46595
+ default: L(() => [q(FK, { placeholder: "已有目录的完整路径" })]),
46542
46596
  _: 1
46543
46597
  })) : Y("", !0),
46544
46598
  q(_, { label: "本次 AI 项目(可选)" }, {
@@ -46571,11 +46625,11 @@ var hU = /*#__PURE__*/ XH({
46571
46625
  loading: I(a) === "save_launch_defaults",
46572
46626
  onClick: m[4] ||= (e) => I(i)("save_launch_defaults")
46573
46627
  }, null, 8, ["loading"]),
46574
- I(n).launch.error ? (U(), W("p", XK, P(I(n).launch.error), 1)) : I(n).launch.notice ? (U(), W("p", ZK, P(I(n).launch.notice), 1)) : Y("", !0)
46628
+ I(n).launch.error ? (U(), W("p", GK, P(I(n).launch.error), 1)) : I(n).launch.notice ? (U(), W("p", KK, P(I(n).launch.notice), 1)) : Y("", !0)
46575
46629
  ], 64)) : (U(), W(H, { key: 0 }, [
46576
46630
  m[5] ||= K("h3", null, "连接这台电脑", -1),
46577
46631
  m[6] ||= K("p", { class: "fine-print" }, "先安装并配置 codiscuss,在运行 AI 的这台电脑上执行以下命令,使用命令打开的网页完成连接。浏览器询问时允许访问本机网络。", -1),
46578
- K("div", HK, [K("code", null, P(I(n).launch.connect_command), 1), q(h, {
46632
+ K("div", LK, [K("code", null, P(I(n).launch.connect_command), 1), q(h, {
46579
46633
  icon: "i-lucide-copy",
46580
46634
  "aria-label": "复制本机连接命令",
46581
46635
  variant: "ghost",
@@ -46589,93 +46643,93 @@ var hU = /*#__PURE__*/ XH({
46589
46643
  loading: I(a) === "retry_launch_connection",
46590
46644
  onClick: m[1] ||= (e) => I(i)("retry_launch_connection")
46591
46645
  }, null, 8, ["loading"]),
46592
- I(n).launch.error ? (U(), W("p", UK, P(I(n).launch.error), 1)) : Y("", !0)
46646
+ I(n).launch.error ? (U(), W("p", RK, P(I(n).launch.error), 1)) : Y("", !0)
46593
46647
  ], 64))]);
46594
46648
  };
46595
46649
  }
46596
- }, [["__scopeId", "data-v-ac191f08"]]), $K = { class: "page-heading" }, eq = { class: "topic-brief" }, tq = { class: "host-status" }, nq = {
46650
+ }, [["__scopeId", "data-v-ac191f08"]]), JK = { class: "page-heading" }, YK = { class: "topic-brief" }, XK = { class: "host-status" }, ZK = {
46597
46651
  key: 0,
46598
46652
  class: "turn-panel"
46599
- }, rq = { class: "turn-header" }, iq = { class: "turn-panel host-turn" }, aq = { class: "turn-header" }, oq = { class: "turn-expert" }, sq = { class: "turn-question" }, cq = {
46653
+ }, QK = { class: "turn-header" }, $K = { class: "turn-panel host-turn" }, eq = { class: "turn-header" }, tq = { class: "turn-expert" }, nq = { class: "turn-question" }, rq = {
46600
46654
  key: 0,
46601
46655
  class: "button-row turn-actions"
46602
- }, lq = {
46656
+ }, iq = {
46603
46657
  key: 1,
46604
46658
  class: "turn-empty"
46605
- }, uq = {
46659
+ }, aq = {
46606
46660
  key: 2,
46607
46661
  class: "fine-print"
46608
- }, dq = { class: "form-footer" }, fq = ["href"], pq = {
46662
+ }, oq = { class: "form-footer" }, sq = ["href"], cq = {
46609
46663
  key: 0,
46610
46664
  class: "fine-print host-schedule-hint"
46611
- }, mq = { class: "page-heading access-heading" }, hq = {
46665
+ }, lq = { class: "page-heading access-heading" }, uq = {
46612
46666
  key: 0,
46613
46667
  class: "access-evidence",
46614
46668
  "aria-label": "实际执行进展",
46615
46669
  role: "status"
46616
- }, gq = {
46670
+ }, dq = {
46617
46671
  key: 0,
46618
46672
  class: "fine-print"
46619
- }, _q = {
46673
+ }, fq = {
46620
46674
  key: 1,
46621
46675
  class: "access-setup",
46622
46676
  "aria-label": "网页启动入口"
46623
- }, vq = {
46677
+ }, pq = {
46624
46678
  key: 1,
46625
46679
  class: "access-repair"
46626
- }, yq = { class: "access-repair-heading" }, bq = {
46680
+ }, mq = { class: "access-repair-heading" }, hq = {
46627
46681
  key: 0,
46628
46682
  class: "access-repair-fields"
46629
- }, xq = {
46683
+ }, gq = {
46630
46684
  key: 0,
46631
46685
  role: "status",
46632
46686
  class: "fine-print"
46633
- }, Sq = {
46687
+ }, _q = {
46634
46688
  key: 1,
46635
46689
  role: "alert",
46636
46690
  class: "fine-print"
46637
- }, Cq = {
46691
+ }, vq = {
46638
46692
  key: 2,
46639
46693
  class: "fine-print"
46640
- }, wq = {
46694
+ }, yq = {
46641
46695
  key: 3,
46642
46696
  class: "fine-print"
46643
- }, Tq = {
46697
+ }, bq = {
46644
46698
  key: 4,
46645
46699
  class: "fine-print"
46646
- }, Eq = {
46700
+ }, xq = {
46647
46701
  key: 2,
46648
46702
  class: "access-setup",
46649
46703
  "aria-label": "全自动接入步骤"
46650
- }, Dq = { class: "access-section-title" }, Oq = {
46704
+ }, Sq = { class: "access-section-title" }, Cq = {
46651
46705
  href: "https://github.com/huyan1458/ai_co_discuss/blob/main/docs/runner.md#常驻讨论服务",
46652
46706
  target: "_blank",
46653
46707
  rel: "noopener",
46654
46708
  class: "subtle-link"
46655
- }, kq = { class: "access-steps" }, Aq = { class: "access-command" }, jq = { class: "access-command" }, Mq = {
46709
+ }, wq = { class: "access-steps" }, Tq = { class: "access-command" }, Eq = { class: "access-command" }, Dq = {
46656
46710
  key: 3,
46657
46711
  class: "access-disclosure access-workspace"
46658
- }, Nq = { class: "access-disclosure-body" }, Pq = { class: "form-two-columns" }, Fq = ["open"], Iq = { class: "access-disclosure-body" }, Lq = {
46712
+ }, Oq = { class: "access-disclosure-body" }, kq = { class: "form-two-columns" }, Aq = ["open"], jq = { class: "access-disclosure-body" }, Mq = {
46659
46713
  key: 0,
46660
46714
  class: "fine-print"
46661
- }, Rq = {
46715
+ }, Nq = {
46662
46716
  class: "access-member-list",
46663
46717
  "aria-label": "成员接入"
46664
- }, zq = { class: "access-member-copy" }, Bq = { key: 1 }, Vq = { class: "button-row" }, Hq = {
46718
+ }, Pq = { class: "access-member-copy" }, Fq = { key: 1 }, Iq = { class: "button-row" }, Lq = {
46665
46719
  key: 1,
46666
46720
  role: "alert",
46667
46721
  class: "access-member-error"
46668
- }, Uq = {
46722
+ }, Rq = {
46669
46723
  key: 2,
46670
46724
  role: "status",
46671
46725
  class: "fine-print"
46672
- }, Wq = { class: "access-reading" }, Gq = { class: "access-address" }, Kq = {
46726
+ }, zq = { class: "access-reading" }, Bq = { class: "access-address" }, Vq = {
46673
46727
  key: 3,
46674
46728
  class: "fine-print"
46675
- }, qq = {
46729
+ }, Hq = {
46676
46730
  key: 4,
46677
46731
  class: "access-disclosure access-limits"
46678
- }, Jq = { class: "access-limit-summary" }, Yq = { class: "access-disclosure-body" }, Xq = { class: "button-row" }, Zq = /*#__PURE__*/ XH({
46732
+ }, Uq = { class: "access-limit-summary" }, Wq = { class: "access-disclosure-body" }, Gq = { class: "button-row" }, Kq = /*#__PURE__*/ XH({
46679
46733
  __name: "TopicPanel",
46680
46734
  emits: ["open", "detail"],
46681
46735
  setup(e) {
@@ -46727,7 +46781,7 @@ var hU = /*#__PURE__*/ XH({
46727
46781
  transition: { duration: .16 }
46728
46782
  }, {
46729
46783
  default: L(() => [I(t).tab === "topic" ? (U(), W(H, { key: 0 }, [
46730
- K("div", $K, [K("div", null, [
46784
+ K("div", JK, [K("div", null, [
46731
46785
  C[19] ||= K("span", { class: "eyebrow" }, "讨论进程", -1),
46732
46786
  C[20] ||= K("h2", null, "主持与安排", -1),
46733
46787
  K("p", null, "当前由 " + P(I(n).display_name(o.value.host)) + " 主持,围绕具体问题组织下一轮发言。", 1)
@@ -46739,9 +46793,9 @@ var hU = /*#__PURE__*/ XH({
46739
46793
  class: "channel-surface-button",
46740
46794
  onClick: C[0] ||= (t) => e.$emit("open", "edit")
46741
46795
  })]),
46742
- K("div", eq, [K("div", null, [C[21] ||= K("h3", null, "讨论目标", -1), K("p", null, P(o.value.goal || "待主持人根据用户原文补全"), 1)]), K("div", null, [C[22] ||= K("h3", null, "当前焦点", -1), K("p", null, P(o.value.focus || "尚未设置当前焦点"), 1)])]),
46743
- K("div", tq, [o.value.limits ? (U(), W("section", nq, [
46744
- K("div", rq, [C[23] ||= K("h3", null, "讨论上限与进度", -1), q(T, {
46796
+ K("div", YK, [K("div", null, [C[21] ||= K("h3", null, "讨论目标", -1), K("p", null, P(o.value.goal || "待主持人根据用户原文补全"), 1)]), K("div", null, [C[22] ||= K("h3", null, "当前焦点", -1), K("p", null, P(o.value.focus || "尚未设置当前焦点"), 1)])]),
46797
+ K("div", XK, [o.value.limits ? (U(), W("section", ZK, [
46798
+ K("div", QK, [C[23] ||= K("h3", null, "讨论上限与进度", -1), q(T, {
46745
46799
  color: o.value.limits.reached && o.value.phase !== "concluded" ? "warning" : "neutral",
46746
46800
  variant: "subtle"
46747
46801
  }, {
@@ -46759,8 +46813,8 @@ var hU = /*#__PURE__*/ XH({
46759
46813
  }, null, 8, ["loading"])) : Y("", !0),
46760
46814
  C[24] ||= K("p", { class: "fine-print" }, "在“编辑议题”中调整参数。自动模式由接入程序检查;手动模式由主持人或此按钮执行到限处理。", -1)
46761
46815
  ])) : Y("", !0)]),
46762
- K("section", iq, [
46763
- K("div", aq, [C[25] ||= K("h3", null, "当前发言安排", -1), q(T, {
46816
+ K("section", $K, [
46817
+ K("div", eq, [C[25] ||= K("h3", null, "当前发言安排", -1), q(T, {
46764
46818
  color: c.value ? "primary" : "neutral",
46765
46819
  variant: "subtle"
46766
46820
  }, {
@@ -46768,7 +46822,7 @@ var hU = /*#__PURE__*/ XH({
46768
46822
  _: 1
46769
46823
  }, 8, ["color"])]),
46770
46824
  s.value ? (U(), W(H, { key: 0 }, [
46771
- K("div", oq, [q(E, {
46825
+ K("div", tq, [q(E, {
46772
46826
  src: I(n).identities[s.value.expert]?.icon,
46773
46827
  text: I(n).identities[s.value.expert]?.initials,
46774
46828
  alt: s.value.expert,
@@ -46779,8 +46833,8 @@ var hU = /*#__PURE__*/ XH({
46779
46833
  "alt",
46780
46834
  "class"
46781
46835
  ]), K("div", null, [K("strong", null, P(s.value.expert), 1), K("small", null, "发言安排 #" + P(s.value.id), 1)])]),
46782
- K("p", sq, P(s.value.question), 1),
46783
- c.value ? (U(), W("div", cq, [
46836
+ K("p", nq, P(s.value.question), 1),
46837
+ c.value ? (U(), W("div", rq, [
46784
46838
  q(w, {
46785
46839
  icon: "i-lucide-copy",
46786
46840
  label: "复制通知",
@@ -46824,24 +46878,24 @@ var hU = /*#__PURE__*/ XH({
46824
46878
  class: "channel-surface-button",
46825
46879
  onClick: C[6] ||= (t) => e.$emit("detail", s.value.answer_id)
46826
46880
  })) : Y("", !0)
46827
- ], 64)) : (U(), W("p", lq, "把下一轮需要回答的问题,交给一位参与者。")),
46828
- c.value ? (U(), W("p", uq, P(I(n).turn_guidance(s.value, o.value)), 1)) : Y("", !0)
46881
+ ], 64)) : (U(), W("p", iq, "把下一轮需要回答的问题,交给一位参与者。")),
46882
+ c.value ? (U(), W("p", aq, P(I(n).turn_guidance(s.value, o.value)), 1)) : Y("", !0)
46829
46883
  ]),
46830
- K("div", dq, [K("a", {
46884
+ K("div", oq, [K("a", {
46831
46885
  href: `${d.value}/turns`,
46832
46886
  target: "_blank",
46833
46887
  rel: "noopener",
46834
46888
  class: "subtle-link"
46835
- }, [C[26] ||= J("发言安排历史 ", -1), q(D, { name: "i-lucide-arrow-up-right" })], 8, fq), q(w, {
46889
+ }, [C[26] ||= J("发言安排历史 ", -1), q(D, { name: "i-lucide-arrow-up-right" })], 8, sq), q(w, {
46836
46890
  icon: "i-lucide-plus",
46837
46891
  label: "安排下一位专家",
46838
46892
  class: "channel-primary-button",
46839
46893
  disabled: !u.value,
46840
46894
  onClick: C[7] ||= (t) => e.$emit("open", "schedule")
46841
46895
  }, null, 8, ["disabled"])]),
46842
- u.value ? Y("", !0) : (U(), W("p", pq, P(l.value ? "话题已暂停或收束,修改阶段后可以继续安排。" : c.value ? "先完成或取消当前安排,再安排下一位。" : o.value.limits?.reached ? "已达到讨论上限,请检查到限处理;需要继续时先暂停并调整参数。" : "请先在议题资料中配置参与专家。"), 1))
46896
+ u.value ? Y("", !0) : (U(), W("p", cq, P(l.value ? "话题已暂停或收束,修改阶段后可以继续安排。" : c.value ? "先完成或取消当前安排,再安排下一位。" : o.value.limits?.reached ? "已达到讨论上限,请检查到限处理;需要继续时先暂停并调整参数。" : "请先在议题资料中配置参与专家。"), 1))
46843
46897
  ], 64)) : (U(), W(H, { key: 1 }, [
46844
- K("div", mq, [C[27] ||= K("div", null, [K("h2", null, "接入 AI"), K("p", null, "讨论由本机服务唤醒 AI:在这里启动、修正软件连接或查看参与说明;成员进出在进度看板操作。")], -1), f.value ? (U(), G(T, {
46898
+ K("div", lq, [C[27] ||= K("div", null, [K("h2", null, "接入 AI"), K("p", null, "讨论由本机服务唤醒 AI:在这里启动、修正软件连接或查看参与说明;成员进出在进度看板操作。")], -1), f.value ? (U(), G(T, {
46845
46899
  key: 0,
46846
46900
  color: o.value.runtime?.status === "running" ? "primary" : "neutral",
46847
46901
  variant: "subtle"
@@ -46849,21 +46903,21 @@ var hU = /*#__PURE__*/ XH({
46849
46903
  default: L(() => [J(P(g.value), 1)]),
46850
46904
  _: 1
46851
46905
  }, 8, ["color"])) : Y("", !0)]),
46852
- f.value ? (U(), W("section", hq, [
46906
+ f.value ? (U(), W("section", uq, [
46853
46907
  C[28] ||= K("strong", null, "实际执行进展", -1),
46854
46908
  K("p", null, P(I(n).execution_label(m.value)), 1),
46855
- o.value.runtime?.status === "running" && (!m.value || ["pending", "dispatched"].includes(m.value.status)) ? (U(), W("p", gq, "尚无 AI 进入记录。请核对本机服务及对应软件的登录和工具权限。")) : Y("", !0)
46909
+ o.value.runtime?.status === "running" && (!m.value || ["pending", "dispatched"].includes(m.value.status)) ? (U(), W("p", dq, "尚无 AI 进入记录。请核对本机服务及对应软件的登录和工具权限。")) : Y("", !0)
46856
46910
  ])) : Y("", !0),
46857
- f.value && I(t).launch.available ? (U(), W("section", _q, [
46911
+ f.value && I(t).launch.available ? (U(), W("section", fq, [
46858
46912
  C[31] ||= K("div", { class: "access-section-title" }, [K("h3", null, "从网页启动"), K("span", { class: "fine-print" }, "本机执行")], -1),
46859
- o.value.runtime?.status === "ready" ? (U(), W(H, { key: 0 }, [q(QK, { participants: v.value }, null, 8, ["participants"]), q(w, {
46913
+ o.value.runtime?.status === "ready" ? (U(), W(H, { key: 0 }, [q(qK, { participants: v.value }, null, 8, ["participants"]), q(w, {
46860
46914
  label: "启动讨论",
46861
46915
  icon: "i-lucide-play",
46862
46916
  class: "channel-primary-button",
46863
46917
  loading: I(i) === "launch_current_room",
46864
46918
  onClick: C[8] ||= (e) => I(r)("launch_current_room")
46865
- }, null, 8, ["loading"])], 64)) : o.value.runtime?.status === "paused" && !o.value.archived && !I(t).launch.remote ? (U(), W("div", vq, [
46866
- K("div", yq, [C[29] ||= K("h3", null, "修正本场软件连接", -1), q(w, {
46919
+ }, null, 8, ["loading"])], 64)) : o.value.runtime?.status === "paused" && !o.value.archived && !I(t).launch.remote ? (U(), W("div", pq, [
46920
+ K("div", mq, [C[29] ||= K("h3", null, "修正本场软件连接", -1), q(w, {
46867
46921
  label: "读取本场配置",
46868
46922
  variant: "outline",
46869
46923
  color: "neutral",
@@ -46872,7 +46926,7 @@ var hU = /*#__PURE__*/ XH({
46872
46926
  onClick: C[9] ||= (e) => I(r)("load_room_configuration")
46873
46927
  }, null, 8, ["loading"])]),
46874
46928
  C[30] ||= K("div", { class: "access-repair-description" }, [K("p", null, "修正软件路径,或切换 Codex 的 App / CLI 接入。保留原房间、发言进度和会话,保存后到进度看板重启。"), K("p", { class: "fine-print" }, "App 需保持运行,模型与文件权限在 App 内设置。切回 CLI 前须让 App 释放原聊天;未释放时执行仍会暂停。")], -1),
46875
- h.value ? (U(), W("div", bq, [
46929
+ h.value ? (U(), W("div", hq, [
46876
46930
  (U(!0), W(H, null, B(h.value.participants, (e, t) => (U(), W("div", {
46877
46931
  key: t,
46878
46932
  class: "form-two-columns"
@@ -46907,19 +46961,19 @@ var hU = /*#__PURE__*/ XH({
46907
46961
  loading: I(i) === "save_room_configuration",
46908
46962
  onClick: C[10] ||= (e) => I(r)("save_room_configuration")
46909
46963
  }, null, 8, ["loading"]),
46910
- h.value.notice ? (U(), W("p", xq, P(h.value.notice), 1)) : Y("", !0)
46964
+ h.value.notice ? (U(), W("p", gq, P(h.value.notice), 1)) : Y("", !0)
46911
46965
  ])) : Y("", !0),
46912
- I(t).launch.repair_error ? (U(), W("p", Sq, P(I(t).launch.repair_error), 1)) : Y("", !0)
46913
- ])) : o.value.runtime?.status === "paused" && I(t).launch.remote ? (U(), W("p", Cq, "讨论已暂停,可在进度看板重启。线上连接暂不提供已登记房间的软件路径修正。")) : o.value.runtime?.status === "running" ? (U(), W("p", wq, "讨论正在运行。")) : (U(), W("p", Tq, "本场讨论已停止或结束,已有记录保留。")),
46966
+ I(t).launch.repair_error ? (U(), W("p", _q, P(I(t).launch.repair_error), 1)) : Y("", !0)
46967
+ ])) : o.value.runtime?.status === "paused" && I(t).launch.remote ? (U(), W("p", vq, "讨论已暂停,可在进度看板重启。线上连接暂不提供已登记房间的软件路径修正。")) : o.value.runtime?.status === "running" ? (U(), W("p", yq, "讨论正在运行。")) : (U(), W("p", bq, "本场讨论已停止或结束,已有记录保留。")),
46914
46968
  C[32] ||= K("p", { class: "access-host-entry" }, [
46915
46969
  J("另一种入口:在 AI 工具对话中调用 "),
46916
46970
  K("code", null, "discuss-host"),
46917
46971
  J(",由当前会话主持。")
46918
46972
  ], -1)
46919
- ])) : f.value ? (U(), W("section", Eq, [q(QK, { participants: v.value }, null, 8, ["participants"]), K("details", null, [
46973
+ ])) : f.value ? (U(), W("section", xq, [q(qK, { participants: v.value }, null, 8, ["participants"]), K("details", null, [
46920
46974
  C[44] ||= K("summary", null, "手动下载与登记配置", -1),
46921
- K("div", Dq, [C[34] ||= K("h3", null, "首次接入", -1), K("a", Oq, [C[33] ||= J("配置说明 ", -1), q(D, { name: "i-lucide-arrow-up-right" })])]),
46922
- K("ol", kq, [
46975
+ K("div", Sq, [C[34] ||= K("h3", null, "首次接入", -1), K("a", Cq, [C[33] ||= J("配置说明 ", -1), q(D, { name: "i-lucide-arrow-up-right" })])]),
46976
+ K("ol", wq, [
46923
46977
  K("li", null, [
46924
46978
  C[35] ||= K("span", { class: "access-step-number" }, "1", -1),
46925
46979
  C[36] ||= K("div", null, [K("h4", null, "下载接入配置"), K("p", null, "包含当前房间信息。下载后,补齐本机软件路径与会话配置。")], -1),
@@ -46935,7 +46989,7 @@ var hU = /*#__PURE__*/ XH({
46935
46989
  K("li", null, [C[39] ||= K("span", { class: "access-step-number" }, "2", -1), K("div", null, [
46936
46990
  C[37] ||= K("h4", null, "登记到本机服务", -1),
46937
46991
  C[38] ||= K("p", null, "在下载文件所在目录执行;也可以将文件名换成完整路径。", -1),
46938
- K("div", Aq, [K("code", null, P(_.value), 1), q(w, {
46992
+ K("div", Tq, [K("code", null, P(_.value), 1), q(w, {
46939
46993
  icon: "i-lucide-copy",
46940
46994
  color: "neutral",
46941
46995
  variant: "ghost",
@@ -46946,7 +47000,7 @@ var hU = /*#__PURE__*/ XH({
46946
47000
  K("li", null, [C[43] ||= K("span", { class: "access-step-number" }, "3", -1), K("div", null, [
46947
47001
  C[41] ||= K("h4", null, "启动服务,保持终端打开", -1),
46948
47002
  C[42] ||= K("p", null, "启动服务不会自动开始讨论。已暂停的讨论可在进度看板点“重启”。", -1),
46949
- K("div", jq, [C[40] ||= K("code", null, "codiscuss", -1), q(w, {
47003
+ K("div", Eq, [C[40] ||= K("code", null, "codiscuss", -1), q(w, {
46950
47004
  icon: "i-lucide-copy",
46951
47005
  color: "neutral",
46952
47006
  variant: "ghost",
@@ -46956,10 +47010,10 @@ var hU = /*#__PURE__*/ XH({
46956
47010
  ])])
46957
47011
  ])
46958
47012
  ])])) : Y("", !0),
46959
- !f.value || !I(t).launch.available ? (U(), W("details", Mq, [K("summary", null, [C[45] ||= K("span", null, [J("项目与工作目录 "), K("small", null, "可选")], -1), q(D, {
47013
+ !f.value || !I(t).launch.available ? (U(), W("details", Dq, [K("summary", null, [C[45] ||= K("span", null, [J("项目与工作目录 "), K("small", null, "可选")], -1), q(D, {
46960
47014
  name: "i-lucide-chevron-down",
46961
47015
  class: "disclosure-icon"
46962
- })]), K("div", Nq, [C[46] ||= K("p", null, "指定 AI 使用的本机项目和目录,留空使用默认位置。仅保存在本机配置中。", -1), K("div", Pq, [q(ee, { label: "AI 软件中的项目" }, {
47016
+ })]), K("div", Oq, [C[46] ||= K("p", null, "指定 AI 使用的本机项目和目录,留空使用默认位置。仅保存在本机配置中。", -1), K("div", kq, [q(ee, { label: "AI 软件中的项目" }, {
46963
47017
  default: L(() => [q(k, {
46964
47018
  "model-value": I(t).fields["runtime-project"],
46965
47019
  placeholder: "项目名称",
@@ -46982,9 +47036,9 @@ var hU = /*#__PURE__*/ XH({
46982
47036
  }, [K("summary", null, [K("span", null, P(f.value ? "成员参与说明与阅读地址" : "复制指令,交给对应的 AI"), 1), q(D, {
46983
47037
  name: "i-lucide-chevron-down",
46984
47038
  class: "disclosure-icon"
46985
- })]), K("div", Iq, [
46986
- y.value || b.value ? (U(), W("p", Lq, P([y.value && "手动成员:复制启动指令,交给你自己的 AI 会话。", b.value && "网页成员只读,回答由你或授权主持人代发。"].filter(Boolean).join("")), 1)) : Y("", !0),
46987
- K("ul", Rq, [(U(!0), W(H, null, B(p.value.members || [], (e) => (U(), W("li", { key: e.name }, [
47039
+ })]), K("div", jq, [
47040
+ y.value || b.value ? (U(), W("p", Mq, P([y.value && "手动成员:复制启动指令,交给你自己的 AI 会话。", b.value && "网页成员只读,回答由你或授权主持人代发。"].filter(Boolean).join("")), 1)) : Y("", !0),
47041
+ K("ul", Nq, [(U(!0), W(H, null, B(p.value.members || [], (e) => (U(), W("li", { key: e.name }, [
46988
47042
  q(E, {
46989
47043
  src: I(n).identities[e.name]?.icon,
46990
47044
  text: I(n).identities[e.name]?.initials,
@@ -46997,16 +47051,16 @@ var hU = /*#__PURE__*/ XH({
46997
47051
  "alt",
46998
47052
  "class"
46999
47053
  ]),
47000
- K("div", zq, [
47054
+ K("div", Pq, [
47001
47055
  K("strong", null, P(e.name), 1),
47002
47056
  K("span", null, P(e.access === "online" ? "网页代发" : e.access === "runner" ? "本机唤醒 · 自行发言" : "手动接入 · 自行发言"), 1),
47003
47057
  e.access === "manual" ? (U(), W("small", {
47004
47058
  key: 0,
47005
47059
  class: M({ "is-registered": (o.value.members || []).find((t) => t.name === e.name)?.registered_at })
47006
47060
  }, P((o.value.members || []).find((t) => t.name === e.name)?.registered_at ? "已注册" : "待注册"), 3)) : Y("", !0),
47007
- e.access !== "online" && !e.available ? (U(), W("small", Bq, "当前浏览器没有此成员的私有配置")) : Y("", !0)
47061
+ e.access !== "online" && !e.available ? (U(), W("small", Fq, "当前浏览器没有此成员的私有配置")) : Y("", !0)
47008
47062
  ]),
47009
- K("div", Vq, [e.access === "manual" ? (U(), W(H, { key: 0 }, [q(w, {
47063
+ K("div", Iq, [e.access === "manual" ? (U(), W(H, { key: 0 }, [q(w, {
47010
47064
  icon: "i-lucide-rocket",
47011
47065
  label: "复制启动指令",
47012
47066
  "aria-label": `复制 ${e.name} 含凭证的启动指令`,
@@ -47060,25 +47114,25 @@ var hU = /*#__PURE__*/ XH({
47060
47114
  "onClick"
47061
47115
  ])], 64))])
47062
47116
  ]))), 128))]),
47063
- p.value.error ? (U(), W("p", Hq, P(p.value.error), 1)) : p.value.notice ? (U(), W("p", Uq, P(p.value.notice), 1)) : Y("", !0),
47117
+ p.value.error ? (U(), W("p", Lq, P(p.value.error), 1)) : p.value.notice ? (U(), W("p", Rq, P(p.value.notice), 1)) : Y("", !0),
47064
47118
  C[48] ||= K("p", { class: "fine-print" }, "复制说明或下载配置不代表 AI 已接入,请以实际回答和运行记录为准。", -1),
47065
- K("details", Wq, [C[47] ||= K("summary", null, "查看房间阅读地址", -1), K("div", Gq, [K("code", null, P(d.value), 1), q(w, {
47119
+ K("details", zq, [C[47] ||= K("summary", null, "查看房间阅读地址", -1), K("div", Bq, [K("code", null, P(d.value), 1), q(w, {
47066
47120
  icon: "i-lucide-copy",
47067
47121
  color: "neutral",
47068
47122
  variant: "ghost",
47069
47123
  "aria-label": "复制阅读地址",
47070
47124
  onClick: C[16] ||= (e) => I(r)("copy", d.value)
47071
47125
  })])]),
47072
- d.value.includes("127.0.0.1") || d.value.includes("localhost") ? (U(), W("p", Kq, "本机地址仅本机可访问。在线 AI 需要公网阅读地址,或由用户提供材料。")) : Y("", !0)
47073
- ])], 8, Fq),
47074
- o.value.limits ? (U(), W("details", qq, [K("summary", null, [
47126
+ d.value.includes("127.0.0.1") || d.value.includes("localhost") ? (U(), W("p", Vq, "本机地址仅本机可访问。在线 AI 需要公网阅读地址,或由用户提供材料。")) : Y("", !0)
47127
+ ])], 8, Aq),
47128
+ o.value.limits ? (U(), W("details", Hq, [K("summary", null, [
47075
47129
  C[49] ||= K("span", null, "讨论上限与进度", -1),
47076
- K("span", Jq, P(S.value), 1),
47130
+ K("span", Uq, P(S.value), 1),
47077
47131
  q(D, {
47078
47132
  name: "i-lucide-chevron-down",
47079
47133
  class: "disclosure-icon"
47080
47134
  })
47081
- ]), K("div", Yq, [K("p", null, P(I(n).limits_label(o.value.limits)), 1), K("div", Xq, [q(w, {
47135
+ ]), K("div", Wq, [K("p", null, P(I(n).limits_label(o.value.limits)), 1), K("div", Gq, [q(w, {
47082
47136
  icon: "i-lucide-pencil",
47083
47137
  label: "编辑讨论上限",
47084
47138
  variant: "outline",
@@ -47103,10 +47157,10 @@ var hU = /*#__PURE__*/ XH({
47103
47157
  ]);
47104
47158
  };
47105
47159
  }
47106
- }, [["__scopeId", "data-v-9f594065"]]), Qq = { slots: {
47160
+ }, [["__scopeId", "data-v-9f594065"]]), qq = { slots: {
47107
47161
  root: "",
47108
47162
  content: "data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden"
47109
- } }, $q = {
47163
+ } }, Jq = {
47110
47164
  __name: "Collapsible",
47111
47165
  props: {
47112
47166
  as: {
@@ -47142,7 +47196,7 @@ var hU = /*#__PURE__*/ XH({
47142
47196
  emits: ["update:open"],
47143
47197
  setup(e, { emit: t }) {
47144
47198
  let n = e, r = t, i = Aa(), a = AE("collapsible", n), o = Cm(), s = jE(om(a, "as", "defaultOpen", "open", "disabled", "unmountOnHide"), r), c = Z(() => oA({
47145
- extend: Qq,
47199
+ extend: qq,
47146
47200
  ...o.ui?.collapsible || {}
47147
47201
  })());
47148
47202
  return (e, t) => (U(), G(I(Kg), X(I(s), {
@@ -47165,7 +47219,7 @@ var hU = /*#__PURE__*/ XH({
47165
47219
  _: 3
47166
47220
  }, 16, ["class"]));
47167
47221
  }
47168
- }, eJ = {
47222
+ }, Yq = {
47169
47223
  slots: {
47170
47224
  root: "relative flex items-start",
47171
47225
  container: "flex items-center",
@@ -47553,7 +47607,7 @@ var hU = /*#__PURE__*/ XH({
47553
47607
  variant: "list",
47554
47608
  indicator: "start"
47555
47609
  }
47556
- }, tJ = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
47610
+ }, Xq = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
47557
47611
  __name: "Checkbox",
47558
47612
  props: {
47559
47613
  as: {
@@ -47647,7 +47701,7 @@ var hU = /*#__PURE__*/ XH({
47647
47701
  let { "data-state": e, ...t } = C;
47648
47702
  return t;
47649
47703
  }), T = Z(() => oA({
47650
- extend: eJ,
47704
+ extend: Yq,
47651
47705
  ...o.ui?.checkbox || {}
47652
47706
  })({
47653
47707
  size: b.value,
@@ -47738,16 +47792,16 @@ var hU = /*#__PURE__*/ XH({
47738
47792
  "class"
47739
47793
  ]));
47740
47794
  }
47741
- }), nJ = { class: "effort-field" }, rJ = {
47795
+ }), Zq = { class: "effort-field" }, Qq = {
47742
47796
  key: 0,
47743
47797
  class: "effort-caption",
47744
47798
  "aria-hidden": "true"
47745
- }, iJ = [
47799
+ }, $q = [
47746
47800
  "aria-label",
47747
47801
  "aria-valuemax",
47748
47802
  "aria-valuenow",
47749
47803
  "aria-valuetext"
47750
- ], aJ = ["title"], oJ = 4.5, sJ = 6, cJ = 8, lJ = 1 / 240, uJ = .001, dJ = .01, fJ = .05, pJ = 10, mJ = 4, hJ = /*#__PURE__*/ XH({
47804
+ ], eJ = ["title"], tJ = 4.5, nJ = 6, rJ = 8, iJ = 1 / 240, aJ = .001, oJ = .01, sJ = .05, cJ = 10, lJ = 4, uJ = /*#__PURE__*/ XH({
47751
47805
  __name: "EffortSlider",
47752
47806
  props: {
47753
47807
  items: {
@@ -47777,18 +47831,18 @@ var hU = /*#__PURE__*/ XH({
47777
47831
  pointer: null
47778
47832
  }), l = Z(() => Math.min(o.value, Math.max(0, c.x)) / o.value), u = Z(() => Math.round(Math.min(o.value, Math.max(0, c.x)))), d = 0, f = 0, p = 0, m = 0, h = !1, g = (e) => Math.min(o.value, Math.max(0, e)), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
47779
47833
  function v(e) {
47780
- let t = c.hand ?? c.target, n = c.hand === null ? oJ : sJ, r = (e, r) => _(e - t, r, n) + (e < 0 || e > o.value ? _(e - g(e), r, cJ) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
47834
+ let t = c.hand ?? c.target, n = c.hand === null ? tJ : nJ, r = (e, r) => _(e - t, r, n) + (e < 0 || e > o.value ? _(e - g(e), r, rJ) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
47781
47835
  c.x += e * (a + 2 * l + 2 * d + p) / 6, c.v += e * (s + 2 * u + 2 * f + m) / 6;
47782
47836
  }
47783
47837
  function y(e) {
47784
47838
  d = 0;
47785
- let t = Math.min(fJ, (e - f) / 1e3);
47839
+ let t = Math.min(sJ, (e - f) / 1e3);
47786
47840
  for (f = e; t > 0;) {
47787
- let e = Math.min(lJ, t);
47841
+ let e = Math.min(iJ, t);
47788
47842
  v(e), t -= e;
47789
47843
  }
47790
47844
  let n = c.hand ?? c.target;
47791
- Math.abs(c.x - n) < uJ && Math.abs(c.v) < dJ ? (c.x = n, c.v = 0) : d = requestAnimationFrame(y);
47845
+ Math.abs(c.x - n) < aJ && Math.abs(c.v) < oJ ? (c.x = n, c.v = 0) : d = requestAnimationFrame(y);
47792
47846
  }
47793
47847
  function b() {
47794
47848
  i.value ? (cancelAnimationFrame(d), d = 0, c.x = c.hand ?? c.target, c.v = 0) : d ||= (f = performance.now(), requestAnimationFrame(y));
@@ -47798,17 +47852,17 @@ var hU = /*#__PURE__*/ XH({
47798
47852
  }
47799
47853
  function S(e) {
47800
47854
  let t = a.value.getBoundingClientRect();
47801
- return g((e.clientX - t.left - pJ) / Math.max(1, t.width - 20) * o.value);
47855
+ return g((e.clientX - t.left - cJ) / Math.max(1, t.width - 20) * o.value);
47802
47856
  }
47803
47857
  function C(e) {
47804
47858
  e.isPrimary && e.button === 0 && c.pointer === null && (e.preventDefault(), a.value.focus(), a.value.setPointerCapture(e.pointerId), c.pointer = e.pointerId, p = e.clientX, h = !1, m = e.target.closest(".effort-slider-thumb") ? c.x - S(e) : 0, c.hand = g(S(e) + m), b());
47805
47859
  }
47806
47860
  function w(e) {
47807
- c.pointer === e.pointerId && (h ||= Math.abs(e.clientX - p) > mJ, c.hand = g(S(e) + m), b());
47861
+ c.pointer === e.pointerId && (h ||= Math.abs(e.clientX - p) > lJ, c.hand = g(S(e) + m), b());
47808
47862
  }
47809
47863
  function T(e) {
47810
47864
  if (c.pointer !== e.pointerId) return;
47811
- let t = h ? c.x + c.v / (4 * Math.PI * oJ) : c.hand;
47865
+ let t = h ? c.x + c.v / (4 * Math.PI * tJ) : c.hand;
47812
47866
  c.hand = null, c.pointer = null, x(t);
47813
47867
  }
47814
47868
  function E(e) {
@@ -47831,7 +47885,7 @@ var hU = /*#__PURE__*/ XH({
47831
47885
  i
47832
47886
  ], () => {
47833
47887
  c.target = s.value, b();
47834
- }), ta(() => cancelAnimationFrame(d)), (t, n) => (U(), W("div", nJ, [e.caption ? (U(), W("div", rJ, [K("span", null, P(e.caption), 1), q(Cc, {
47888
+ }), ta(() => cancelAnimationFrame(d)), (t, n) => (U(), W("div", Zq, [e.caption ? (U(), W("div", Qq, [K("span", null, P(e.caption), 1), q(Cc, {
47835
47889
  name: I(i) ? "" : "effort-value",
47836
47890
  mode: "out-in"
47837
47891
  }, {
@@ -47869,59 +47923,59 @@ var hU = /*#__PURE__*/ XH({
47869
47923
  "aria-hidden": "true",
47870
47924
  style: fe({ "--at": t / o.value }),
47871
47925
  title: e.label
47872
- }, null, 14, aJ))), 128)),
47926
+ }, null, 14, eJ))), 128)),
47873
47927
  n[1] ||= K("span", {
47874
47928
  class: "effort-slider-thumb",
47875
47929
  "aria-hidden": "true"
47876
47930
  }, null, -1)
47877
- ], 46, iJ)]));
47931
+ ], 46, $q)]));
47878
47932
  }
47879
- }, [["__scopeId", "data-v-f27db748"]]), gJ = ["data-identity", "data-face"], _J = ["inert", "aria-hidden"], vJ = { class: "expert-card-identity" }, yJ = {
47933
+ }, [["__scopeId", "data-v-f27db748"]]), dJ = ["data-identity", "data-face"], fJ = ["inert", "aria-hidden"], pJ = { class: "expert-card-identity" }, mJ = {
47880
47934
  key: 0,
47881
47935
  class: "expert-card-badge"
47882
- }, bJ = { class: "expert-card-facts" }, xJ = ["title"], SJ = {
47936
+ }, hJ = { class: "expert-card-facts" }, gJ = ["title"], _J = {
47883
47937
  key: 0,
47884
47938
  "aria-hidden": "true"
47885
- }, CJ = {
47939
+ }, vJ = {
47886
47940
  key: 0,
47887
47941
  class: "expert-card-manual"
47888
- }, wJ = { key: 0 }, TJ = {
47942
+ }, yJ = { key: 0 }, bJ = {
47889
47943
  key: 1,
47890
47944
  class: "expert-card-flip"
47891
- }, EJ = ["aria-label"], DJ = [
47945
+ }, xJ = ["aria-label"], SJ = [
47892
47946
  "aria-checked",
47893
47947
  "tabindex",
47894
47948
  "data-mode",
47895
47949
  "onClick"
47896
- ], OJ = { class: "expert-card-tools" }, kJ = [
47950
+ ], CJ = { class: "expert-card-tools" }, wJ = [
47897
47951
  "aria-pressed",
47898
47952
  "aria-label",
47899
47953
  "title"
47900
- ], AJ = ["aria-label"], jJ = ["inert", "aria-hidden"], MJ = { class: "expert-card-back-body" }, NJ = { class: "expert-card-heading" }, PJ = ["role"], FJ = {
47954
+ ], TJ = ["aria-label"], EJ = ["inert", "aria-hidden"], DJ = { class: "expert-card-back-body" }, OJ = { class: "expert-card-heading" }, kJ = ["role"], AJ = {
47901
47955
  key: 1,
47902
47956
  class: "expert-card-field"
47903
- }, IJ = {
47957
+ }, jJ = {
47904
47958
  key: 2,
47905
47959
  class: "expert-card-field"
47906
- }, LJ = {
47960
+ }, MJ = {
47907
47961
  key: 3,
47908
47962
  class: "expert-card-check"
47909
- }, RJ = {
47963
+ }, NJ = {
47910
47964
  key: 4,
47911
47965
  class: "expert-card-field"
47912
- }, zJ = ["aria-label"], BJ = ["aria-checked", "onClick"], VJ = { class: "expert-card-field" }, HJ = {
47966
+ }, PJ = ["aria-label"], FJ = ["aria-checked", "onClick"], IJ = { class: "expert-card-field" }, LJ = {
47913
47967
  key: 0,
47914
47968
  class: "expert-card-catalog"
47915
- }, UJ = {
47969
+ }, RJ = {
47916
47970
  key: 1,
47917
47971
  class: "expert-card-effort"
47918
- }, WJ = {
47972
+ }, zJ = {
47919
47973
  key: 2,
47920
47974
  class: "expert-card-note"
47921
- }, GJ = ["aria-label", "disabled"], KJ = {
47975
+ }, BJ = ["aria-label", "disabled"], VJ = {
47922
47976
  key: 7,
47923
47977
  class: "expert-card-note"
47924
- }, qJ = { class: "expert-card-flip-actions" }, JJ = ["aria-label"], YJ = ["aria-label"], XJ = 180, ZJ = "[role='listbox'], [role='menu'], [data-reka-popper-content-wrapper]", QJ = /*#__PURE__*/ XH({
47978
+ }, HJ = { class: "expert-card-flip-actions" }, UJ = ["aria-label"], WJ = ["aria-label"], GJ = 180, KJ = "[role='listbox'], [role='menu'], [data-reka-popper-content-wrapper]", qJ = /*#__PURE__*/ XH({
47925
47979
  __name: "ExpertCard",
47926
47980
  props: {
47927
47981
  name: {
@@ -48074,7 +48128,7 @@ var hU = /*#__PURE__*/ XH({
48074
48128
  });
48075
48129
  }
48076
48130
  function ge(e) {
48077
- let t = e >= XJ / 2;
48131
+ let t = e >= GJ / 2;
48078
48132
  f.value !== t && (f.value = t, he());
48079
48133
  }
48080
48134
  let N = o.on("change", ge), _e = o.on("animationComplete", he), ve = null, ye = "";
@@ -48106,12 +48160,12 @@ var hU = /*#__PURE__*/ XH({
48106
48160
  d.value && (e.stopPropagation(), e.preventDefault(), xe());
48107
48161
  }
48108
48162
  function Te(e) {
48109
- c.value?.contains(e.target) || e.target.closest?.(ZJ) || be(!1);
48163
+ c.value?.contains(e.target) || e.target.closest?.(KJ) || be(!1);
48110
48164
  }
48111
48165
  return R(d, (e) => {
48112
48166
  e ? document.addEventListener("pointerdown", Te, !0) : document.removeEventListener("pointerdown", Te, !0);
48113
48167
  }), R([d, s], ([e, t]) => {
48114
- let n = e ? XJ : 0;
48168
+ let n = e ? GJ : 0;
48115
48169
  t ? (o.jump(n), he()) : o.set(n);
48116
48170
  }), R(() => [
48117
48171
  te.value,
@@ -48157,7 +48211,7 @@ var hU = /*#__PURE__*/ XH({
48157
48211
  onClick: n[0] ||= (e) => be(!0)
48158
48212
  }, {
48159
48213
  default: L(() => [
48160
- K("span", vJ, [
48214
+ K("span", pJ, [
48161
48215
  q(s, {
48162
48216
  src: I(a).identities[e.name]?.icon,
48163
48217
  text: I(a).identities[e.name]?.initials,
@@ -48171,14 +48225,14 @@ var hU = /*#__PURE__*/ XH({
48171
48225
  "class"
48172
48226
  ]),
48173
48227
  K("strong", null, P(e.name), 1),
48174
- e.host ? (U(), W("span", yJ, "主持")) : Y("", !0)
48228
+ e.host ? (U(), W("span", mJ, "主持")) : Y("", !0)
48175
48229
  ]),
48176
- K("dl", bJ, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", {
48230
+ K("dl", hJ, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", {
48177
48231
  class: M(e.tone ? ["expert-card-status", `is-${e.tone}`] : ""),
48178
48232
  title: e.value
48179
- }, [e.tone ? (U(), W("i", SJ)) : Y("", !0), J(P(e.value), 1)], 10, xJ)]))), 128))]),
48180
- C.value ? (U(), W("div", CJ, [n[9] ||= K("p", null, "会话自行注册后才算到场。", -1), T.value ? (U(), W("p", wJ, P(T.value), 1)) : Y("", !0)])) : Y("", !0),
48181
- O.value ? (U(), W("span", TJ, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
48233
+ }, [e.tone ? (U(), W("i", _J)) : Y("", !0), J(P(e.value), 1)], 10, gJ)]))), 128))]),
48234
+ C.value ? (U(), W("div", vJ, [n[9] ||= K("p", null, "会话自行注册后才算到场。", -1), T.value ? (U(), W("p", yJ, P(T.value), 1)) : Y("", !0)])) : Y("", !0),
48235
+ O.value ? (U(), W("span", bJ, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
48182
48236
  ]),
48183
48237
  _: 1
48184
48238
  }, 8, [
@@ -48201,8 +48255,8 @@ var hU = /*#__PURE__*/ XH({
48201
48255
  tabindex: e.mode === t ? 0 : -1,
48202
48256
  "data-mode": t,
48203
48257
  onClick: (e) => r("mode", t)
48204
- }, P(_[t]), 9, DJ))), 128))], 40, EJ)) : Y("", !0),
48205
- K("span", OJ, [e.hostable ? (U(), W("button", {
48258
+ }, P(_[t]), 9, SJ))), 128))], 40, xJ)) : Y("", !0),
48259
+ K("span", CJ, [e.hostable ? (U(), W("button", {
48206
48260
  key: 0,
48207
48261
  type: "button",
48208
48262
  class: "expert-card-host",
@@ -48210,19 +48264,19 @@ var hU = /*#__PURE__*/ XH({
48210
48264
  "aria-label": e.host ? `${e.name} 是主持人` : `设 ${e.name} 为主持人`,
48211
48265
  title: e.host ? "主持人" : "设为主持人",
48212
48266
  onClick: n[1] ||= (e) => r("host")
48213
- }, [q(d, { name: "i-lucide-crown" })], 8, kJ)) : Y("", !0), K("button", {
48267
+ }, [q(d, { name: "i-lucide-crown" })], 8, wJ)) : Y("", !0), K("button", {
48214
48268
  type: "button",
48215
48269
  "aria-label": `移出 ${e.name}`,
48216
48270
  title: "移出",
48217
48271
  onClick: n[2] ||= (e) => r("remove")
48218
- }, [q(d, { name: "i-lucide-x" })], 8, AJ)])
48219
- ], 8, _J), O.value ? (U(), W("div", {
48272
+ }, [q(d, { name: "i-lucide-x" })], 8, TJ)])
48273
+ ], 8, fJ), O.value ? (U(), W("div", {
48220
48274
  key: 0,
48221
48275
  class: "expert-card-face expert-card-back",
48222
48276
  inert: !f.value,
48223
48277
  "aria-hidden": !f.value
48224
- }, [K("div", MJ, [
48225
- K("div", NJ, [K("strong", null, [J(P(e.name), 1), K("span", null, "设置" + P(j.value ? " · 不访问项目" : ""), 1)]), v.value ? (U(), G(x, {
48278
+ }, [K("div", DJ, [
48279
+ K("div", OJ, [K("strong", null, [J(P(e.name), 1), K("span", null, "设置" + P(j.value ? " · 不访问项目" : ""), 1)]), v.value ? (U(), G(x, {
48226
48280
  key: 0,
48227
48281
  icon: "i-lucide-zap",
48228
48282
  "aria-label": `检查 ${e.name} 的 API 配置`,
@@ -48243,8 +48297,8 @@ var hU = /*#__PURE__*/ XH({
48243
48297
  key: 0,
48244
48298
  role: y.value.state === "error" ? "alert" : "status",
48245
48299
  class: "expert-card-check"
48246
- }, P(y.value.message), 9, PJ)) : Y("", !0),
48247
- g.value && m.value.length > 1 ? (U(), W("div", FJ, [n[11] ||= K("span", null, "接入", -1), q(S, {
48300
+ }, P(y.value.message), 9, kJ)) : Y("", !0),
48301
+ g.value && m.value.length > 1 ? (U(), W("div", AJ, [n[11] ||= K("span", null, "接入", -1), q(S, {
48248
48302
  "model-value": p.value.adapter || "",
48249
48303
  items: m.value,
48250
48304
  placeholder: "选择 API / App / CLI",
@@ -48273,7 +48327,7 @@ var hU = /*#__PURE__*/ XH({
48273
48327
  "aria-label",
48274
48328
  "onUpdate:modelValue"
48275
48329
  ])]))), 128)),
48276
- E.value ? (U(), W("div", IJ, [n[12] ||= K("span", null, "会话", -1), q(w, {
48330
+ E.value ? (U(), W("div", jJ, [n[12] ||= K("span", null, "会话", -1), q(w, {
48277
48331
  "model-value": e.session,
48278
48332
  placeholder: "续接已有会话 ID,留空则新建",
48279
48333
  "aria-label": `${e.name} 要续接的已有会话 ID`,
@@ -48281,8 +48335,8 @@ var hU = /*#__PURE__*/ XH({
48281
48335
  class: "w-full",
48282
48336
  "onUpdate:modelValue": n[4] ||= (e) => r("session", e)
48283
48337
  }, null, 8, ["model-value", "aria-label"])])) : Y("", !0),
48284
- E.value && e.session.trim() && T.value ? (U(), W("p", LJ, P(T.value), 1)) : Y("", !0),
48285
- A.value ? (U(), W("div", RJ, [n[13] ||= K("span", null, "项目", -1), K("div", {
48338
+ E.value && e.session.trim() && T.value ? (U(), W("p", MJ, P(T.value), 1)) : Y("", !0),
48339
+ A.value ? (U(), W("div", NJ, [n[13] ||= K("span", null, "项目", -1), K("div", {
48286
48340
  class: "expert-card-modes",
48287
48341
  role: "radiogroup",
48288
48342
  "aria-label": `${e.name} 的项目文件权限`
@@ -48298,12 +48352,12 @@ var hU = /*#__PURE__*/ XH({
48298
48352
  role: "radio",
48299
48353
  "aria-checked": oe.value === t.value,
48300
48354
  onClick: (n) => I(a).write_launch(e.name, "project_access", t.value)
48301
- }, P(t.label), 9, BJ)), 64))], 8, zJ)])) : Y("", !0),
48302
- v.value ? (U(), G(wK, {
48355
+ }, P(t.label), 9, FJ)), 64))], 8, PJ)])) : Y("", !0),
48356
+ v.value ? (U(), G(yK, {
48303
48357
  key: 5,
48304
48358
  name: e.name
48305
48359
  }, null, 8, ["name"])) : te.value && !me.value.length ? (U(), W(H, { key: 6 }, [
48306
- K("div", VJ, [n[14] ||= K("span", null, "模型", -1), q(S, {
48360
+ K("div", IJ, [n[14] ||= K("span", null, "模型", -1), q(S, {
48307
48361
  "model-value": p.value.model || "__default__",
48308
48362
  items: k.value.items,
48309
48363
  title: k.value.source,
@@ -48317,12 +48371,12 @@ var hU = /*#__PURE__*/ XH({
48317
48371
  "title",
48318
48372
  "aria-label"
48319
48373
  ])]),
48320
- k.value.loading || k.value.error ? (U(), W("div", HJ, [K("span", null, P(k.value.loading ? "正在读取软件模型列表…" : k.value.error), 1), !k.value.loading && k.value.error && I(i).launch.available ? (U(), W("button", {
48374
+ k.value.loading || k.value.error ? (U(), W("div", LJ, [K("span", null, P(k.value.loading ? "正在读取软件模型列表…" : k.value.error), 1), !k.value.loading && k.value.error && I(i).launch.available ? (U(), W("button", {
48321
48375
  key: 0,
48322
48376
  type: "button",
48323
48377
  onClick: n[6] ||= (t) => I(a).load_launch_models(e.name, !0)
48324
48378
  }, "重试")) : Y("", !0)])) : Y("", !0),
48325
- re.value ? (U(), W("div", UJ, [q(hJ, {
48379
+ re.value ? (U(), W("div", RJ, [q(uJ, {
48326
48380
  caption: "强度",
48327
48381
  items: re.value,
48328
48382
  "model-value": p.value.effort || "",
@@ -48332,7 +48386,7 @@ var hU = /*#__PURE__*/ XH({
48332
48386
  "items",
48333
48387
  "model-value",
48334
48388
  "label"
48335
- ])])) : (U(), W("p", WJ, P(k.value.effort_note), 1)),
48389
+ ])])) : (U(), W("p", zJ, P(k.value.effort_note), 1)),
48336
48390
  K("button", {
48337
48391
  type: "button",
48338
48392
  class: "expert-card-defaults",
@@ -48340,31 +48394,31 @@ var hU = /*#__PURE__*/ XH({
48340
48394
  "aria-label": `恢复 ${e.name} 的默认模型与强度`,
48341
48395
  disabled: !p.value.model && !p.value.effort,
48342
48396
  onClick: Se
48343
- }, "恢复默认", 8, GJ)
48344
- ], 64)) : (U(), W("p", KJ, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(ne.value), 1)]))
48345
- ]), K("span", qJ, [K("button", {
48397
+ }, "恢复默认", 8, BJ)
48398
+ ], 64)) : (U(), W("p", VJ, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(ne.value), 1)]))
48399
+ ]), K("span", HJ, [K("button", {
48346
48400
  type: "button",
48347
48401
  class: "expert-card-flip is-cancel",
48348
48402
  "aria-label": `放弃 ${e.name} 的修改`,
48349
48403
  onClick: xe
48350
- }, "取消", 8, JJ), K("button", {
48404
+ }, "取消", 8, UJ), K("button", {
48351
48405
  ref_key: "back_button",
48352
48406
  ref: u,
48353
48407
  type: "button",
48354
48408
  class: "expert-card-flip is-done",
48355
48409
  "aria-label": `保存并返回 ${e.name} 角色卡片`,
48356
48410
  onClick: n[8] ||= (e) => be(!1)
48357
- }, [q(d, { name: "i-lucide-check" }), n[15] ||= J("完成", -1)], 8, YJ)])], 8, jJ)) : Y("", !0)]),
48411
+ }, [q(d, { name: "i-lucide-check" }), n[15] ||= J("完成", -1)], 8, WJ)])], 8, EJ)) : Y("", !0)]),
48358
48412
  _: 1
48359
- }, 8, ["style"])], 42, gJ);
48413
+ }, 8, ["style"])], 42, dJ);
48360
48414
  };
48361
48415
  }
48362
- }, [["__scopeId", "data-v-efe0a27a"]]), $J = ["aria-label"], eY = [
48416
+ }, [["__scopeId", "data-v-efe0a27a"]]), JJ = ["aria-label"], YJ = [
48363
48417
  "disabled",
48364
48418
  "title",
48365
48419
  "aria-label",
48366
48420
  "onClick"
48367
- ], tY = /*#__PURE__*/ XH({
48421
+ ], XJ = /*#__PURE__*/ XH({
48368
48422
  __name: "RosterAdd",
48369
48423
  props: {
48370
48424
  label: {
@@ -48412,17 +48466,17 @@ var hU = /*#__PURE__*/ XH({
48412
48466
  ]),
48413
48467
  J(P(e.name), 1),
48414
48468
  q(o, { name: "i-lucide-plus" })
48415
- ], 8, eY))), 128))], 8, $J);
48469
+ ], 8, YJ))), 128))], 8, JJ);
48416
48470
  };
48417
48471
  }
48418
- }, [["__scopeId", "data-v-155b366c"]]), nY = { class: "scheduler-settings" }, rY = { class: "scheduler-title" }, iY = { class: "scheduler-description" }, aY = {
48472
+ }, [["__scopeId", "data-v-155b366c"]]), ZJ = { class: "scheduler-settings" }, QJ = { class: "scheduler-title" }, $J = { class: "scheduler-description" }, eY = {
48419
48473
  key: 0,
48420
48474
  class: "scheduler-cards"
48421
- }, oY = { class: "scheduler-identity" }, sY = { class: "scheduler-facts" }, cY = ["title"], lY = { class: "scheduler-flip" }, uY = { class: "scheduler-tools" }, dY = ["aria-label"], fY = { class: "scheduler-back" }, pY = { class: "scheduler-heading" }, mY = { class: "scheduler-field" }, hY = { class: "scheduler-field" }, gY = {
48475
+ }, tY = { class: "scheduler-identity" }, nY = { class: "scheduler-facts" }, rY = ["title"], iY = { class: "scheduler-flip" }, aY = { class: "scheduler-tools" }, oY = ["aria-label"], sY = { class: "scheduler-back" }, cY = { class: "scheduler-heading" }, lY = { class: "scheduler-field" }, uY = { class: "scheduler-field" }, dY = {
48422
48476
  key: 0,
48423
48477
  role: "alert",
48424
48478
  class: "scheduler-error"
48425
- }, _Y = ["role"], vY = { class: "scheduler-flip-actions" }, yY = "••••••••••••", bY = /*#__PURE__*/ XH({
48479
+ }, fY = ["role"], pY = { class: "scheduler-flip-actions" }, mY = "••••••••••••", hY = /*#__PURE__*/ XH({
48426
48480
  __name: "SchedulerSettings",
48427
48481
  props: {
48428
48482
  free: {
@@ -48533,9 +48587,9 @@ var hU = /*#__PURE__*/ XH({
48533
48587
  }
48534
48588
  }
48535
48589
  return (t, a) => {
48536
- let g = WV, D = pA, O = sA, ee = MA, k = hK, te = YV;
48537
- return U(), W("div", nY, [
48538
- K("div", null, [K("p", rY, [
48590
+ let g = WV, D = pA, O = sA, ee = MA, k = uK, te = YV;
48591
+ return U(), W("div", ZJ, [
48592
+ K("div", null, [K("p", QJ, [
48539
48593
  a[5] ||= J("智能调度", -1),
48540
48594
  q(g, {
48541
48595
  size: "xs",
@@ -48546,16 +48600,16 @@ var hU = /*#__PURE__*/ XH({
48546
48600
  _: 1
48547
48601
  }),
48548
48602
  a[6] ||= K("small", null, "可选", -1)
48549
- ]), K("p", iY, P(e.blocker ? `${T.value}(${e.blocker})` : T.value), 1)]),
48550
- q(tY, {
48603
+ ]), K("p", $J, P(e.blocker ? `${T.value}(${e.blocker})` : T.value), 1)]),
48604
+ q(XJ, {
48551
48605
  ref_key: "add_row",
48552
48606
  ref: l,
48553
48607
  label: "添加决策模型",
48554
48608
  items: u.value,
48555
48609
  onAdd: y
48556
48610
  }, null, 8, ["items"]),
48557
- c.value ? (U(), W("div", aY, [K("div", { class: M(["scheduler-card", { "is-editing": h.value }]) }, [h.value ? (U(), W(H, { key: 1 }, [K("div", fY, [
48558
- K("div", pY, [K("strong", null, [J(P(x.value), 1), a[11] ||= K("span", null, "设置", -1)]), q(ee, {
48611
+ c.value ? (U(), W("div", eY, [K("div", { class: M(["scheduler-card", { "is-editing": h.value }]) }, [h.value ? (U(), W(H, { key: 1 }, [K("div", sY, [
48612
+ K("div", cY, [K("strong", null, [J(P(x.value), 1), a[11] ||= K("span", null, "设置", -1)]), q(ee, {
48559
48613
  icon: "i-lucide-zap",
48560
48614
  "aria-label": "检查智能调度配置",
48561
48615
  title: "检查配置:向决策模型发送一道极短的是非题,核对供应商、模型与密钥",
@@ -48570,7 +48624,7 @@ var hU = /*#__PURE__*/ XH({
48570
48624
  "loading",
48571
48625
  "disabled"
48572
48626
  ])]),
48573
- K("div", mY, [a[12] ||= K("span", null, "模型", -1), q(k, {
48627
+ K("div", lY, [a[12] ||= K("span", null, "模型", -1), q(k, {
48574
48628
  mode: "autocomplete",
48575
48629
  "ignore-filter": "",
48576
48630
  "model-value": i.value.model || "",
@@ -48582,7 +48636,7 @@ var hU = /*#__PURE__*/ XH({
48582
48636
  class: "w-full",
48583
48637
  "onUpdate:modelValue": a[0] ||= (e) => I(r).write_scheduler("model", e)
48584
48638
  }, null, 8, ["model-value", "items"])]),
48585
- K("div", hY, [a[13] ||= K("span", null, "密钥", -1), q(te, {
48639
+ K("div", uY, [a[13] ||= K("span", null, "密钥", -1), q(te, {
48586
48640
  modelValue: d.value,
48587
48641
  "onUpdate:modelValue": a[2] ||= (e) => d.value = e,
48588
48642
  type: "text",
@@ -48590,7 +48644,7 @@ var hU = /*#__PURE__*/ XH({
48590
48644
  spellcheck: "false",
48591
48645
  "data-1p-ignore": "",
48592
48646
  "data-lpignore": "true",
48593
- placeholder: i.value.api_key_ref ? yY : "填写所选供应商的 API Key",
48647
+ placeholder: i.value.api_key_ref ? mY : "填写所选供应商的 API Key",
48594
48648
  title: i.value.api_key_ref && !d.value ? "已保存;本机不回传密钥,输入新 Key 可更换" : void 0,
48595
48649
  "aria-label": "智能调度 API Key",
48596
48650
  size: "xs",
@@ -48625,14 +48679,14 @@ var hU = /*#__PURE__*/ XH({
48625
48679
  "loading",
48626
48680
  "ui"
48627
48681
  ])]),
48628
- m.value ? (U(), W("p", gY, P(m.value), 1)) : Y("", !0),
48682
+ m.value ? (U(), W("p", dY, P(m.value), 1)) : Y("", !0),
48629
48683
  C.value.message ? (U(), W("p", {
48630
48684
  key: 1,
48631
48685
  role: C.value.state === "error" ? "alert" : "status",
48632
48686
  class: M(C.value.state === "error" ? "scheduler-error" : "scheduler-ok")
48633
- }, P(C.value.message), 11, _Y)) : Y("", !0),
48687
+ }, P(C.value.message), 11, fY)) : Y("", !0),
48634
48688
  a[14] ||= K("p", { class: "scheduler-note" }, "决策模型只做选择、不生成文本,只按输入计费。判断时会把房间标题和最近 10 条消息发给所选供应商;密钥只存本机。", -1)
48635
- ]), K("span", vY, [K("button", {
48689
+ ]), K("span", pY, [K("button", {
48636
48690
  type: "button",
48637
48691
  class: "scheduler-flip is-cancel",
48638
48692
  "aria-label": "放弃决策模型的修改",
@@ -48649,7 +48703,7 @@ var hU = /*#__PURE__*/ XH({
48649
48703
  title: "点击设置",
48650
48704
  onClick: _
48651
48705
  }, [
48652
- K("span", oY, [q(D, {
48706
+ K("span", tY, [q(D, {
48653
48707
  src: s[i.value.provider]?.icon,
48654
48708
  text: x.value.slice(0, 2),
48655
48709
  alt: x.value,
@@ -48661,40 +48715,40 @@ var hU = /*#__PURE__*/ XH({
48661
48715
  "alt",
48662
48716
  "class"
48663
48717
  ]), K("strong", null, P(x.value), 1)]),
48664
- K("dl", sY, [K("div", null, [a[8] ||= K("dt", null, "状态", -1), K("dd", { class: M(`is-${S.value.tone}`) }, [a[7] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(S.value.text), 1)], 2)]), K("div", null, [a[9] ||= K("dt", null, "模型", -1), K("dd", { title: i.value.model }, P(i.value.model || "未选择"), 9, cY)])]),
48665
- K("span", lY, [q(O, { name: "i-lucide-settings-2" }), a[10] ||= J("设置", -1)])
48666
- ]), K("span", uY, [K("button", {
48718
+ K("dl", nY, [K("div", null, [a[8] ||= K("dt", null, "状态", -1), K("dd", { class: M(`is-${S.value.tone}`) }, [a[7] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(S.value.text), 1)], 2)]), K("div", null, [a[9] ||= K("dt", null, "模型", -1), K("dd", { title: i.value.model }, P(i.value.model || "未选择"), 9, rY)])]),
48719
+ K("span", iY, [q(O, { name: "i-lucide-settings-2" }), a[10] ||= J("设置", -1)])
48720
+ ]), K("span", aY, [K("button", {
48667
48721
  type: "button",
48668
48722
  "aria-label": `移出决策模型 ${x.value}`,
48669
48723
  title: "移出",
48670
48724
  onClick: b
48671
- }, [q(O, { name: "i-lucide-x" })], 8, dY)])], 64))], 2)])) : Y("", !0)
48725
+ }, [q(O, { name: "i-lucide-x" })], 8, oY)])], 64))], 2)])) : Y("", !0)
48672
48726
  ]);
48673
48727
  };
48674
48728
  }
48675
- }, [["__scopeId", "data-v-3e1049d5"]]), xY = { class: "create-discussion" }, SY = {
48729
+ }, [["__scopeId", "data-v-3e1049d5"]]), gY = { class: "create-discussion" }, _Y = {
48676
48730
  key: 0,
48677
48731
  class: "create-connect",
48678
48732
  role: "status"
48679
- }, CY = { class: "create-connect-command" }, wY = {
48733
+ }, vY = { class: "create-connect-command" }, yY = {
48680
48734
  key: 1,
48681
48735
  class: "channel-create-location"
48682
- }, TY = { class: "create-section" }, EY = { class: "create-section" }, DY = {
48736
+ }, bY = { class: "create-section" }, xY = { class: "create-section" }, SY = {
48683
48737
  key: 0,
48684
48738
  class: "create-experts",
48685
48739
  role: "group",
48686
48740
  "aria-label": "参与的 AI"
48687
- }, OY = {
48741
+ }, CY = {
48688
48742
  key: 1,
48689
48743
  class: "create-experts-empty"
48690
- }, kY = {
48744
+ }, wY = {
48691
48745
  key: 2,
48692
48746
  class: "fine-print create-hint create-host-hint"
48693
- }, AY = { class: "create-section" }, jY = { class: "create-footer" }, MY = {
48747
+ }, TY = { class: "create-section" }, EY = { class: "create-footer" }, DY = {
48694
48748
  key: 0,
48695
48749
  role: "alert",
48696
48750
  class: "create-error"
48697
- }, NY = { class: "create-footer-row" }, PY = ["title"], FY = "new-expert-modes", IY = 3e3, LY = /*#__PURE__*/ XH({
48751
+ }, OY = { class: "create-footer-row" }, kY = ["title"], AY = "new-expert-modes", jY = 3e3, MY = /*#__PURE__*/ XH({
48698
48752
  __name: "CreateDiscussion",
48699
48753
  props: { targetFolder: {
48700
48754
  type: Object,
@@ -48702,7 +48756,7 @@ var hU = /*#__PURE__*/ XH({
48702
48756
  } },
48703
48757
  emits: ["submit", "cancel"],
48704
48758
  setup(e, { emit: t }) {
48705
- let n = t, { view: r, bridge: i, pending: a, act: o } = xr("discussion"), s = Object.keys(i.identities).filter((e) => e !== "用户"), c = (e) => `new-room-${e}`, l = (e) => r.value.fields[c(e)] ?? "", u = (e, t) => i.write_field(c(e), t), d = Z(() => !!r.value.create_discussion), f = Z(() => r.value.experts[FY] || {}), p = /* @__PURE__ */ F([]), m = Z(() => Object.keys(f.value).filter((e) => f.value[e]));
48759
+ let n = t, { view: r, bridge: i, pending: a, act: o } = xr("discussion"), s = Object.keys(i.identities).filter((e) => e !== "用户"), c = (e) => `new-room-${e}`, l = (e) => r.value.fields[c(e)] ?? "", u = (e, t) => i.write_field(c(e), t), d = Z(() => !!r.value.create_discussion), f = Z(() => r.value.experts[AY] || {}), p = /* @__PURE__ */ F([]), m = Z(() => Object.keys(f.value).filter((e) => f.value[e]));
48706
48760
  R(m, (e) => {
48707
48761
  p.value = [...p.value.filter((t) => e.includes(t)), ...e.filter((e) => !p.value.includes(e))];
48708
48762
  }, { immediate: !0 });
@@ -48726,14 +48780,14 @@ var hU = /*#__PURE__*/ XH({
48726
48780
  Qi(() => {
48727
48781
  ae(), ie = window.setInterval(() => {
48728
48782
  re.value && !document.hidden && o("check_launch_connection");
48729
- }, IY);
48783
+ }, jY);
48730
48784
  }), ta(() => window.clearInterval(ie));
48731
48785
  function oe(e) {
48732
48786
  i.write_create_discussion(e), Qn(ae);
48733
48787
  }
48734
48788
  let se = (e) => i.launch_clients[e]?.some((e) => e.value !== "api"), ce = (e) => d.value && e === v.value ? [] : ["cli", "manual"];
48735
48789
  function le(e, t) {
48736
- t === "cli" && !se(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), i.write_expert(FY, e, t), ae();
48790
+ t === "cli" && !se(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), i.write_expert(AY, e, t), ae();
48737
48791
  }
48738
48792
  function ue(e) {
48739
48793
  if (f.value[e] === "online") return {
@@ -48772,7 +48826,7 @@ var hU = /*#__PURE__*/ XH({
48772
48826
  aria_label: `添加 ${e} 实例`
48773
48827
  })));
48774
48828
  function pe(e) {
48775
- i.launch_clients[e] && (!se(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), g(e) ? i.add_instance(FY, e, "cli") : le(e, "cli"), ae());
48829
+ i.launch_clients[e] && (!se(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), g(e) ? i.add_instance(AY, e, "cli") : le(e, "cli"), ae());
48776
48830
  }
48777
48831
  function me(e) {
48778
48832
  le(e, ""), Qn(() => _.value?.focus_first());
@@ -48793,21 +48847,21 @@ var hU = /*#__PURE__*/ XH({
48793
48847
  return t.join(" · ");
48794
48848
  });
48795
48849
  return (t, s) => {
48796
- let c = sA, p = MA, m = YV, g = zV, x = tJ, T = HV;
48797
- return U(), W("div", xY, [K("form", {
48850
+ let c = sA, p = MA, m = YV, g = zV, x = Xq, T = HV;
48851
+ return U(), W("div", gY, [K("form", {
48798
48852
  id: "create-discussion-form",
48799
48853
  class: "create-scroll dialog-form",
48800
48854
  onSubmit: uu(he, ["prevent"])
48801
48855
  }, [
48802
- re.value ? (U(), W("div", SY, [K("p", null, [q(c, { name: "i-lucide-plug-zap" }), s[9] ||= J("本机服务未连接,连接后才能唤醒本机 AI。在运行 AI 的电脑上执行下面的命令并完成网页授权,连上后自动检测。", -1)]), K("div", CY, [K("code", null, P(I(r).launch.connect_command), 1), q(p, {
48856
+ re.value ? (U(), W("div", _Y, [K("p", null, [q(c, { name: "i-lucide-plug-zap" }), s[9] ||= J("本机服务未连接,连接后才能唤醒本机 AI。在运行 AI 的电脑上执行下面的命令并完成网页授权,连上后自动检测。", -1)]), K("div", vY, [K("code", null, P(I(r).launch.connect_command), 1), q(p, {
48803
48857
  icon: "i-lucide-copy",
48804
48858
  "aria-label": "复制本机连接命令",
48805
48859
  variant: "ghost",
48806
48860
  color: "neutral",
48807
48861
  onClick: s[0] ||= (e) => I(o)("copy", I(r).launch.connect_command)
48808
48862
  })])])) : Y("", !0),
48809
- e.targetFolder?.id ? (U(), W("p", wY, [q(c, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
48810
- K("section", TY, [
48863
+ e.targetFolder?.id ? (U(), W("p", yY, [q(c, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
48864
+ K("section", bY, [
48811
48865
  s[10] ||= K("h3", null, [K("span", null, "1"), J("这次做什么")], -1),
48812
48866
  q(g, {
48813
48867
  label: "话题名称",
@@ -48829,20 +48883,20 @@ var hU = /*#__PURE__*/ XH({
48829
48883
  label: "项目目录(可选)",
48830
48884
  description: I(r).launch.available ? "本机唤醒的成员在此目录读写文件;不填则各用软件默认目录。" : C.value ? `由电脑「${C.value.name}」唤醒的成员在所选项目中读写文件;不选则各用软件默认目录。` : "连接本机服务后可指定:本机唤醒的成员将在此目录读写文件。"
48831
48885
  }, {
48832
- default: L(() => [q(BK, { disabled: !w.value }, null, 8, ["disabled"])]),
48886
+ default: L(() => [q(FK, { disabled: !w.value }, null, 8, ["disabled"])]),
48833
48887
  _: 1
48834
48888
  }, 8, ["description"])
48835
48889
  ]),
48836
- K("section", EY, [
48890
+ K("section", xY, [
48837
48891
  s[11] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1),
48838
- q(tY, {
48892
+ q(XJ, {
48839
48893
  ref_key: "library",
48840
48894
  ref: _,
48841
48895
  label: "添加 AI",
48842
48896
  items: fe.value,
48843
48897
  onAdd: pe
48844
48898
  }, null, 8, ["items"]),
48845
- h.value.length ? (U(), W("div", DY, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(QJ, {
48899
+ h.value.length ? (U(), W("div", SY, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(qJ, {
48846
48900
  key: e,
48847
48901
  name: e,
48848
48902
  mode: f.value[e],
@@ -48864,14 +48918,14 @@ var hU = /*#__PURE__*/ XH({
48864
48918
  "onHost",
48865
48919
  "onRemove",
48866
48920
  "onMode"
48867
- ]))), 128))])) : (U(), W("p", OY, "请至少添加一位成员。同一平台可添加多位,各自独立会话。")),
48868
- h.value.length ? (U(), W("div", kY, [q(c, { name: "i-lucide-crown" }), K("span", null, P(y.value.length ? "点卡片上的皇冠指定主持人:没 @ 任何人的消息由它分配;其他成员只在被你或主持人点名时发言。" : "需要一位本地 AI 做主持人,没 @ 的消息才有人接。"), 1)])) : Y("", !0),
48869
- q(bY, {
48921
+ ]))), 128))])) : (U(), W("p", CY, "请至少添加一位成员。同一平台可添加多位,各自独立会话。")),
48922
+ h.value.length ? (U(), W("div", wY, [q(c, { name: "i-lucide-crown" }), K("span", null, P(y.value.length ? "点卡片上的皇冠指定主持人:没 @ 任何人的消息由它分配;其他成员只在被你或主持人点名时发言。" : "需要一位本地 AI 做主持人,没 @ 的消息才有人接。"), 1)])) : Y("", !0),
48923
+ q(hY, {
48870
48924
  free: !0,
48871
48925
  blocker: te.value
48872
48926
  }, null, 8, ["blocker"])
48873
48927
  ]),
48874
- K("section", AY, [
48928
+ K("section", TY, [
48875
48929
  s[12] ||= K("h3", null, [K("span", null, "3"), J("推进方式(可选)")], -1),
48876
48930
  q(x, {
48877
48931
  "model-value": d.value,
@@ -48917,7 +48971,7 @@ var hU = /*#__PURE__*/ XH({
48917
48971
  "execution_minutes"
48918
48972
  ])], 64)) : Y("", !0)
48919
48973
  ])
48920
- ], 32), K("footer", jY, [D.value && I(r).launch.error ? (U(), W("p", MY, P(I(r).launch.error), 1)) : Y("", !0), K("div", NY, [
48974
+ ], 32), K("footer", EY, [D.value && I(r).launch.error ? (U(), W("p", DY, P(I(r).launch.error), 1)) : Y("", !0), K("div", OY, [
48921
48975
  K("span", {
48922
48976
  class: M(["create-summary", { "is-blocked": A.value }]),
48923
48977
  title: A.value || ge.value,
@@ -48925,7 +48979,7 @@ var hU = /*#__PURE__*/ XH({
48925
48979
  }, [A.value ? (U(), G(c, {
48926
48980
  key: 0,
48927
48981
  name: "i-lucide-circle-alert"
48928
- })) : Y("", !0), J(P(A.value ? `还差:${A.value}` : h.value.length || d.value ? ge.value : ""), 1)], 10, PY),
48982
+ })) : Y("", !0), J(P(A.value ? `还差:${A.value}` : h.value.length || d.value ? ge.value : ""), 1)], 10, kY),
48929
48983
  q(p, {
48930
48984
  label: "取消",
48931
48985
  color: "neutral",
@@ -48949,46 +49003,46 @@ var hU = /*#__PURE__*/ XH({
48949
49003
  ])])]);
48950
49004
  };
48951
49005
  }
48952
- }, [["__scopeId", "data-v-61eb0b0c"]]), RY = {
49006
+ }, [["__scopeId", "data-v-61eb0b0c"]]), NY = {
48953
49007
  class: "account-settings",
48954
49008
  "aria-labelledby": "account-heading"
48955
- }, zY = {
49009
+ }, PY = {
48956
49010
  key: 0,
48957
49011
  class: "fine-print",
48958
49012
  role: "status"
48959
- }, BY = ["aria-label"], VY = { class: "fine-print account-intro" }, HY = {
49013
+ }, FY = ["aria-label"], IY = { class: "fine-print account-intro" }, LY = {
48960
49014
  key: 0,
48961
49015
  class: "account-message is-error",
48962
49016
  role: "status"
48963
- }, UY = {
49017
+ }, RY = {
48964
49018
  key: 1,
48965
49019
  class: "fine-print"
48966
- }, WY = {
49020
+ }, zY = {
48967
49021
  key: 1,
48968
49022
  class: "fine-print"
48969
- }, GY = {
49023
+ }, BY = {
48970
49024
  key: 2,
48971
49025
  class: "account-message is-error",
48972
49026
  role: "alert"
48973
- }, KY = {
49027
+ }, VY = {
48974
49028
  key: 3,
48975
49029
  class: "account-message",
48976
49030
  role: "status"
48977
- }, qY = { class: "account-actions" }, JY = {
49031
+ }, HY = { class: "account-actions" }, UY = {
48978
49032
  key: 2,
48979
49033
  class: "account-profile"
48980
- }, YY = { class: "account-identity" }, XY = { class: "account-avatar-actions" }, ZY = { class: "account-name-row" }, QY = {
49034
+ }, WY = { class: "account-identity" }, GY = { class: "account-avatar-actions" }, KY = { class: "account-name-row" }, qY = {
48981
49035
  key: 0,
48982
49036
  class: "account-message is-error",
48983
49037
  role: "alert"
48984
- }, $Y = {
49038
+ }, JY = {
48985
49039
  key: 1,
48986
49040
  class: "account-message",
48987
49041
  role: "status"
48988
- }, eX = {
49042
+ }, YY = {
48989
49043
  key: 2,
48990
49044
  class: "account-signout account-actions"
48991
- }, tX = {
49045
+ }, XY = {
48992
49046
  __name: "AccountSettings",
48993
49047
  setup(e) {
48994
49048
  let { view: t, bridge: n } = xr("discussion"), r = Z(() => t.value.admin), i = Z(() => r.value.profile), a = Z(() => r.value.loaded ? r.value.registered ? r.value.logged_in ? "profile" : "login" : "register" : "loading"), o = /* @__PURE__ */ F(""), s = /* @__PURE__ */ Yt({
@@ -49056,13 +49110,13 @@ var hU = /*#__PURE__*/ XH({
49056
49110
  }
49057
49111
  return (e, t) => {
49058
49112
  let p = YV, y = zV, b = MA, x = pA;
49059
- return U(), W("section", RY, [t[8] ||= K("h3", { id: "account-heading" }, "账号", -1), a.value === "loading" ? (U(), W("p", zY, "正在读取账号状态…")) : a.value === "register" || a.value === "login" ? (U(), W("form", {
49113
+ return U(), W("section", NY, [t[8] ||= K("h3", { id: "account-heading" }, "账号", -1), a.value === "loading" ? (U(), W("p", PY, "正在读取账号状态…")) : a.value === "register" || a.value === "login" ? (U(), W("form", {
49060
49114
  key: 1,
49061
49115
  class: "dialog-form account-form",
49062
49116
  "aria-label": a.value === "register" ? "设置管理员账号" : "登录管理员账号",
49063
49117
  onSubmit: uu(m, ["prevent"])
49064
49118
  }, [
49065
- K("p", VY, [a.value === "register" ? (U(), W(H, { key: 0 }, [J("设置站点管理员账号:名称和头像对所有访客可见,登录后可在没有房间凭据的浏览器中存档、恢复、删除房间。")], 64)) : (U(), W(H, { key: 1 }, [J("登录后可管理房间;未登录时仍可阅读并使用本浏览器创建的房间。")], 64))]),
49119
+ K("p", IY, [a.value === "register" ? (U(), W(H, { key: 0 }, [J("设置站点管理员账号:名称和头像对所有访客可见,登录后可在没有房间凭据的浏览器中存档、恢复、删除房间。")], 64)) : (U(), W(H, { key: 1 }, [J("登录后可管理房间;未登录时仍可阅读并使用本浏览器创建的房间。")], 64))]),
49066
49120
  q(y, {
49067
49121
  label: "用户名",
49068
49122
  description: a.value === "register" ? "1–30 个字符,也是公开显示的名称" : void 0,
@@ -49129,18 +49183,18 @@ var hU = /*#__PURE__*/ XH({
49129
49183
  }, null, 8, ["modelValue", "disabled"])]),
49130
49184
  _: 1
49131
49185
  }),
49132
- f.value ? (U(), W("p", HY, "服务端未配置安装令牌,暂时无法注册。本地版请设置环境变量 DISCUSS_ADMIN_SETUP_KEY 后重启;Cloudflare 版请配置部署机密 ADMIN_SETUP_KEY。")) : (U(), W("p", UY, [...t[6] ||= [
49186
+ f.value ? (U(), W("p", LY, "服务端未配置安装令牌,暂时无法注册。本地版请设置环境变量 DISCUSS_ADMIN_SETUP_KEY 后重启;Cloudflare 版请配置部署机密 ADMIN_SETUP_KEY。")) : (U(), W("p", RY, [...t[6] ||= [
49133
49187
  J("首个注册者需要安装令牌,防止他人抢注。本地版见服务端启动日志;Cloudflare 版为部署机密 ADMIN_SETUP_KEY。忘记密码:本地版运行 ", -1),
49134
49188
  K("code", null, "python server.py --reset-admin", -1),
49135
49189
  J(" 后重新注册;Cloudflare 版需清空管理员表(见部署文档)。", -1)
49136
49190
  ]]))
49137
- ], 64)) : (U(), W("p", WY, [...t[7] ||= [
49191
+ ], 64)) : (U(), W("p", zY, [...t[7] ||= [
49138
49192
  J("忘记密码:本地版运行 ", -1),
49139
49193
  K("code", null, "python server.py --reset-admin", -1),
49140
49194
  J(" 后重新注册;Cloudflare 版需清空管理员表(见部署文档)。", -1)
49141
49195
  ]])),
49142
- s.auth.error ? (U(), W("p", GY, P(s.auth.error), 1)) : s.auth.notice ? (U(), W("p", KY, P(s.auth.notice), 1)) : Y("", !0),
49143
- K("div", qY, [q(b, {
49196
+ s.auth.error ? (U(), W("p", BY, P(s.auth.error), 1)) : s.auth.notice ? (U(), W("p", VY, P(s.auth.notice), 1)) : Y("", !0),
49197
+ K("div", HY, [q(b, {
49144
49198
  type: "submit",
49145
49199
  class: "channel-primary-button",
49146
49200
  label: a.value === "register" ? "创建并登录" : "登录",
@@ -49151,13 +49205,13 @@ var hU = /*#__PURE__*/ XH({
49151
49205
  "loading",
49152
49206
  "disabled"
49153
49207
  ])])
49154
- ], 40, BY)) : (U(), W("div", JY, [
49155
- K("div", YY, [q(x, {
49208
+ ], 40, FY)) : (U(), W("div", UY, [
49209
+ K("div", WY, [q(x, {
49156
49210
  src: I(n).identities.用户.icon,
49157
49211
  alt: `${I(n).display_name("用户")} 的头像`,
49158
49212
  size: "lg",
49159
49213
  class: "channel-avatar user account-avatar"
49160
- }, null, 8, ["src", "alt"]), K("div", XY, [
49214
+ }, null, 8, ["src", "alt"]), K("div", GY, [
49161
49215
  K("input", {
49162
49216
  ref_key: "avatar_input",
49163
49217
  ref: u,
@@ -49195,7 +49249,7 @@ var hU = /*#__PURE__*/ XH({
49195
49249
  label: "显示名称",
49196
49250
  description: "即用户名,对所有访客可见"
49197
49251
  }, {
49198
- default: L(() => [K("div", ZY, [q(p, {
49252
+ default: L(() => [K("div", KY, [q(p, {
49199
49253
  modelValue: l.value,
49200
49254
  "onUpdate:modelValue": t[5] ||= (e) => l.value = e,
49201
49255
  autocomplete: "username",
@@ -49213,8 +49267,8 @@ var hU = /*#__PURE__*/ XH({
49213
49267
  }, null, 8, ["loading", "disabled"])])]),
49214
49268
  _: 1
49215
49269
  })], 32),
49216
- s.profile.error ? (U(), W("p", QY, P(s.profile.error), 1)) : s.profile.notice ? (U(), W("p", $Y, P(s.profile.notice), 1)) : Y("", !0),
49217
- r.value.local ? Y("", !0) : (U(), W("div", eX, [q(b, {
49270
+ s.profile.error ? (U(), W("p", qY, P(s.profile.error), 1)) : s.profile.notice ? (U(), W("p", JY, P(s.profile.notice), 1)) : Y("", !0),
49271
+ r.value.local ? Y("", !0) : (U(), W("div", YY, [q(b, {
49218
49272
  label: "退出登录",
49219
49273
  icon: "i-lucide-log-out",
49220
49274
  color: "neutral",
@@ -49227,65 +49281,65 @@ var hU = /*#__PURE__*/ XH({
49227
49281
  ]))]);
49228
49282
  };
49229
49283
  }
49230
- }, nX = {
49284
+ }, ZY = {
49231
49285
  key: 0,
49232
49286
  class: "channel-archive-manager"
49233
- }, rX = { class: "channel-archive-toolbar" }, iX = {
49287
+ }, QY = { class: "channel-archive-toolbar" }, $Y = {
49234
49288
  key: 0,
49235
49289
  class: "channel-archive-confirm channel-archive-bulk",
49236
49290
  role: "alert"
49237
- }, aX = {
49291
+ }, eX = {
49238
49292
  key: 1,
49239
49293
  role: "alert",
49240
49294
  class: "channel-directory-error"
49241
- }, oX = { class: "channel-archive-results" }, sX = {
49295
+ }, tX = { class: "channel-archive-results" }, nX = {
49242
49296
  key: 0,
49243
49297
  class: "channel-archive-list",
49244
49298
  "aria-label": "已存档房间列表"
49245
- }, cX = { class: "channel-archive-row" }, lX = { class: "channel-archive-info" }, uX = [
49299
+ }, rX = { class: "channel-archive-row" }, iX = { class: "channel-archive-info" }, aX = [
49246
49300
  "title",
49247
49301
  "disabled",
49248
49302
  "onClick"
49249
- ], dX = { key: 0 }, fX = ["datetime"], pX = { class: "channel-archive-actions" }, mX = {
49303
+ ], oX = { key: 0 }, sX = ["datetime"], cX = { class: "channel-archive-actions" }, lX = {
49250
49304
  key: 0,
49251
49305
  class: "channel-archive-confirm channel-archive-bulk",
49252
49306
  role: "alert"
49253
- }, hX = {
49307
+ }, uX = {
49254
49308
  key: 1,
49255
49309
  class: "channel-archive-empty"
49256
- }, gX = { class: "fine-print" }, _X = { class: "dialog-actions" }, vX = { class: "dialog-actions" }, yX = { class: "channel-management-target" }, bX = {
49310
+ }, dX = { class: "fine-print" }, fX = { class: "dialog-actions" }, pX = { class: "dialog-actions" }, mX = { class: "channel-management-target" }, hX = {
49257
49311
  key: 0,
49258
49312
  class: "fine-print"
49259
- }, xX = {
49313
+ }, gX = {
49260
49314
  key: 1,
49261
49315
  class: "fine-print"
49262
- }, SX = {
49316
+ }, _X = {
49263
49317
  key: 2,
49264
49318
  class: "fine-print"
49265
- }, CX = { class: "dialog-actions" }, wX = { key: 4 }, TX = { class: "theme-choices" }, EX = ["aria-pressed", "onClick"], DX = { class: "theme-check" }, OX = { class: "channel-reading-setting" }, kX = {
49319
+ }, vX = { class: "dialog-actions" }, yX = { key: 4 }, bX = { class: "theme-choices" }, xX = ["aria-pressed", "onClick"], SX = { class: "theme-check" }, CX = { class: "channel-reading-setting" }, wX = {
49266
49320
  class: "channel-reading-options",
49267
49321
  role: "group",
49268
49322
  "aria-labelledby": "channel-reading-label"
49269
- }, AX = { class: "channel-reading-setting" }, jX = {
49323
+ }, TX = { class: "channel-reading-setting" }, EX = {
49270
49324
  class: "channel-reading-options channel-effect-options",
49271
49325
  role: "group",
49272
49326
  "aria-labelledby": "channel-effects-label"
49273
- }, MX = { class: "form-two-columns" }, NX = { class: "advanced-content" }, PX = {
49327
+ }, DX = { class: "form-two-columns" }, OX = { class: "advanced-content" }, kX = {
49274
49328
  key: 0,
49275
49329
  class: "fine-print"
49276
- }, FX = { class: "advanced-content" }, IX = { class: "expert-fields" }, LX = { class: "dialog-actions" }, RX = { class: "dialog-actions" }, zX = {
49330
+ }, AX = { class: "advanced-content" }, jX = { class: "expert-fields" }, MX = { class: "dialog-actions" }, NX = { class: "dialog-actions" }, PX = {
49277
49331
  key: 8,
49278
49332
  class: "original-message"
49279
- }, BX = {
49333
+ }, FX = {
49280
49334
  key: 0,
49281
49335
  role: "alert"
49282
- }, VX = { class: "original-meta" }, HX = { class: "fine-print" }, UX = {
49336
+ }, IX = { class: "original-meta" }, LX = { class: "fine-print" }, RX = {
49283
49337
  key: 0,
49284
49338
  class: "channel-answer-summary"
49285
- }, WX = { class: "message-prose" }, GX = { class: "message-prose" }, KX = ["innerHTML"], qX = {
49339
+ }, zX = { class: "message-prose" }, BX = { class: "message-prose" }, VX = ["innerHTML"], HX = {
49286
49340
  key: 2,
49287
49341
  class: "fine-print"
49288
- }, JX = "topic-expert-modes", YX = {
49342
+ }, UX = "topic-expert-modes", WX = {
49289
49343
  __name: "WorkspaceDialogs",
49290
49344
  props: /*@__PURE__*/ Fa({
49291
49345
  detailId: {
@@ -49535,7 +49589,7 @@ var hU = /*#__PURE__*/ XH({
49535
49589
  }
49536
49590
  let Se = (e) => e.preventDefault();
49537
49591
  return (t, c) => {
49538
- let x = YV, S = bH, le = MA, ue = zV, ve = sA, Ce = HV, we = $q, Te = WV, Ee = YH;
49592
+ let x = YV, S = bH, le = MA, ue = zV, ve = sA, Ce = HV, we = Jq, Te = WV, Ee = YH;
49539
49593
  return U(), G(Ee, {
49540
49594
  open: d.value,
49541
49595
  "onUpdate:open": c[25] ||= (e) => d.value = e,
@@ -49563,8 +49617,8 @@ var hU = /*#__PURE__*/ XH({
49563
49617
  } : void 0,
49564
49618
  "onAfter:leave": be
49565
49619
  }, {
49566
- body: L(() => [a.value === "archives" ? (U(), W("section", nX, [
49567
- K("div", rX, [
49620
+ body: L(() => [a.value === "archives" ? (U(), W("section", ZY, [
49621
+ K("div", QY, [
49568
49622
  q(x, {
49569
49623
  modelValue: h.value,
49570
49624
  "onUpdate:modelValue": c[0] ||= (e) => h.value = e,
@@ -49593,7 +49647,7 @@ var hU = /*#__PURE__*/ XH({
49593
49647
  }
49594
49648
  }, null, 8, ["label", "disabled"])
49595
49649
  ]),
49596
- b.value && v.value.length ? (U(), W("div", iX, [
49650
+ b.value && v.value.length ? (U(), W("div", $Y, [
49597
49651
  K("span", null, "将永久删除当前列表中的 " + P(v.value.length) + " 个房间及其全部记录,无法撤销。", 1),
49598
49652
  q(le, {
49599
49653
  label: "取消",
@@ -49609,20 +49663,20 @@ var hU = /*#__PURE__*/ XH({
49609
49663
  onClick: D
49610
49664
  })
49611
49665
  ])) : Y("", !0),
49612
- I(o).directory_error ? (U(), W("p", aX, P(I(o).directory_error), 1)) : Y("", !0),
49613
- K("div", oX, [v.value.length ? (U(), W("ul", sX, [(U(!0), W(H, null, B(v.value, (e) => (U(), W("li", {
49666
+ I(o).directory_error ? (U(), W("p", eX, P(I(o).directory_error), 1)) : Y("", !0),
49667
+ K("div", tX, [v.value.length ? (U(), W("ul", nX, [(U(!0), W(H, null, B(v.value, (e) => (U(), W("li", {
49614
49668
  key: e.id,
49615
49669
  class: "channel-archive-item"
49616
- }, [K("div", cX, [K("div", lX, [K("button", {
49670
+ }, [K("div", rX, [K("div", iX, [K("button", {
49617
49671
  class: "channel-archive-title",
49618
49672
  title: e.title,
49619
49673
  disabled: !!I(u),
49620
49674
  onClick: (t) => T(e)
49621
- }, P(e.title), 9, uX), K("small", null, [e.created_at ? (U(), W("span", dX, [
49675
+ }, P(e.title), 9, aX), K("small", null, [e.created_at ? (U(), W("span", oX, [
49622
49676
  c[26] ||= J("创建于 ", -1),
49623
- K("time", { datetime: e.created_at }, P(C(e.created_at)), 9, fX),
49677
+ K("time", { datetime: e.created_at }, P(C(e.created_at)), 9, sX),
49624
49678
  c[27] ||= J(" · ", -1)
49625
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", pX, [q(le, {
49679
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", cX, [q(le, {
49626
49680
  "aria-label": `彻底删除 ${e.title}`,
49627
49681
  title: "彻底删除",
49628
49682
  icon: "i-lucide-trash-2",
@@ -49654,7 +49708,7 @@ var hU = /*#__PURE__*/ XH({
49654
49708
  "aria-label",
49655
49709
  "disabled",
49656
49710
  "onClick"
49657
- ])])]), y.value === e.id ? (U(), W("div", mX, [
49711
+ ])])]), y.value === e.id ? (U(), W("div", lX, [
49658
49712
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
49659
49713
  q(le, {
49660
49714
  label: "取消",
@@ -49670,12 +49724,12 @@ var hU = /*#__PURE__*/ XH({
49670
49724
  disabled: w(e),
49671
49725
  onClick: E
49672
49726
  }, null, 8, ["disabled"])
49673
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", hX, P(m.value.length ? "没有匹配的存档房间" : "暂无已存档房间"), 1))])
49727
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", uX, P(m.value.length ? "没有匹配的存档房间" : "暂无已存档房间"), 1))])
49674
49728
  ])) : a.value === "delete-folder" ? (U(), W("form", {
49675
49729
  key: 1,
49676
49730
  class: "dialog-form",
49677
49731
  onSubmit: uu(re, ["prevent"])
49678
- }, [K("p", gX, "移除「" + P(e.targetFolder?.name) + "」后,房间不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", _X, [q(le, {
49732
+ }, [K("p", dX, "移除「" + P(e.targetFolder?.name) + "」后,房间不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", fX, [q(le, {
49679
49733
  label: "取消",
49680
49734
  color: "neutral",
49681
49735
  variant: "ghost",
@@ -49706,7 +49760,7 @@ var hU = /*#__PURE__*/ XH({
49706
49760
  "modelValue",
49707
49761
  "aria-label",
49708
49762
  "readonly"
49709
- ]), K("div", vX, [q(le, {
49763
+ ]), K("div", pX, [q(le, {
49710
49764
  label: "取消",
49711
49765
  color: "neutral",
49712
49766
  variant: "ghost",
@@ -49731,10 +49785,10 @@ var hU = /*#__PURE__*/ XH({
49731
49785
  class: "dialog-form",
49732
49786
  onSubmit: uu(te, ["prevent"])
49733
49787
  }, [
49734
- K("p", yX, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
49735
- a.value === "archive" ? (U(), W("p", bX, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
49736
- a.value === "restore" ? (U(), W("p", xX, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
49737
- a.value === "delete" ? (U(), W("p", SX, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
49788
+ K("p", mX, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
49789
+ a.value === "archive" ? (U(), W("p", hX, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
49790
+ a.value === "restore" ? (U(), W("p", gX, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
49791
+ a.value === "delete" ? (U(), W("p", _X, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
49738
49792
  a.value === "rename" ? (U(), G(ue, {
49739
49793
  key: 3,
49740
49794
  label: "房间名称",
@@ -49751,7 +49805,7 @@ var hU = /*#__PURE__*/ XH({
49751
49805
  }, null, 8, ["modelValue"])]),
49752
49806
  _: 1
49753
49807
  })) : Y("", !0),
49754
- K("div", CX, [q(le, {
49808
+ K("div", vX, [q(le, {
49755
49809
  label: "取消",
49756
49810
  color: "neutral",
49757
49811
  variant: "ghost",
@@ -49768,10 +49822,10 @@ var hU = /*#__PURE__*/ XH({
49768
49822
  "loading",
49769
49823
  "disabled"
49770
49824
  ])])
49771
- ], 32)) : a.value === "settings" ? (U(), W("div", wX, [
49772
- q(tX),
49825
+ ], 32)) : a.value === "settings" ? (U(), W("div", yX, [
49826
+ q(XY),
49773
49827
  c[32] ||= K("h3", { class: "account-appearance-heading" }, "外观", -1),
49774
- K("div", TX, [(U(), W(H, null, B(he, (e) => K("button", {
49828
+ K("div", bX, [(U(), W(H, null, B(he, (e) => K("button", {
49775
49829
  key: e.value,
49776
49830
  class: M({ chosen: I(o).theme === e.value }),
49777
49831
  "aria-pressed": I(o).theme === e.value,
@@ -49786,12 +49840,12 @@ var hU = /*#__PURE__*/ XH({
49786
49840
  K("b")
49787
49841
  ], -1)]], 2),
49788
49842
  K("span", null, [K("strong", null, P(e.title), 1), K("small", null, P(e.description), 1)]),
49789
- K("span", DX, [I(o).theme === e.value ? (U(), G(ve, {
49843
+ K("span", SX, [I(o).theme === e.value ? (U(), G(ve, {
49790
49844
  key: 0,
49791
49845
  name: "i-lucide-check"
49792
49846
  })) : Y("", !0)])
49793
- ], 10, EX)), 64))]),
49794
- K("section", OX, [c[29] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", kX, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(le, {
49847
+ ], 10, xX)), 64))]),
49848
+ K("section", CX, [c[29] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", wX, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(le, {
49795
49849
  key: e.value,
49796
49850
  label: e.label,
49797
49851
  color: "neutral",
@@ -49805,9 +49859,9 @@ var hU = /*#__PURE__*/ XH({
49805
49859
  "aria-pressed",
49806
49860
  "onClick"
49807
49861
  ]))), 128))])]),
49808
- K("section", AX, [
49862
+ K("section", TX, [
49809
49863
  c[30] ||= K("h3", { id: "channel-effects-label" }, "视觉效果", -1),
49810
- K("div", jX, [(U(!0), W(H, null, B(e.effectOptions, (e) => (U(), G(le, {
49864
+ K("div", EX, [(U(!0), W(H, null, B(e.effectOptions, (e) => (U(), G(le, {
49811
49865
  key: e.value,
49812
49866
  label: e.label,
49813
49867
  color: "neutral",
@@ -49823,7 +49877,7 @@ var hU = /*#__PURE__*/ XH({
49823
49877
  ]))), 128))]),
49824
49878
  c[31] ||= K("p", { class: "fine-print" }, "精简模式关闭毛玻璃模糊与多层阴影,适合配置较低或需要更流畅滚动的设备。", -1)
49825
49879
  ])
49826
- ])) : a.value === "create" ? (U(), G(LY, {
49880
+ ])) : a.value === "create" ? (U(), G(MY, {
49827
49881
  key: 5,
49828
49882
  "target-folder": e.targetFolder,
49829
49883
  onSubmit: N,
@@ -49858,7 +49912,7 @@ var hU = /*#__PURE__*/ XH({
49858
49912
  }, null, 8, ["model-value"])]),
49859
49913
  _: 1
49860
49914
  }),
49861
- K("div", MX, [q(ue, { label: "主持人" }, {
49915
+ K("div", DX, [q(ue, { label: "主持人" }, {
49862
49916
  default: L(() => [q(S, {
49863
49917
  "model-value": I(o).fields[ge("host")],
49864
49918
  items: I(A),
@@ -49892,7 +49946,7 @@ var hU = /*#__PURE__*/ XH({
49892
49946
  }, null, 8, ["model-value"])]),
49893
49947
  _: 1
49894
49948
  })) : Y("", !0),
49895
- K("section", NX, [
49949
+ K("section", OX, [
49896
49950
  c[33] ||= K("h3", null, "讨论上限", -1),
49897
49951
  q(bU, {
49898
49952
  ref_key: "topic_limits",
@@ -49912,14 +49966,14 @@ var hU = /*#__PURE__*/ XH({
49912
49966
  "execution",
49913
49967
  "disabled"
49914
49968
  ]),
49915
- ce.value ? (U(), W("p", PX, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
49969
+ ce.value ? (U(), W("p", kX, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
49916
49970
  ]),
49917
49971
  q(we, {
49918
49972
  open: oe.value,
49919
49973
  "onUpdate:open": c[20] ||= (e) => oe.value = e,
49920
49974
  class: "advanced-fields"
49921
49975
  }, {
49922
- content: L(() => [K("div", FX, [
49976
+ content: L(() => [K("div", AX, [
49923
49977
  (U(), W(H, null, B([
49924
49978
  {
49925
49979
  key: "user_request",
@@ -49946,11 +50000,11 @@ var hU = /*#__PURE__*/ XH({
49946
50000
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
49947
50001
  _: 2
49948
50002
  }, 1032, ["label"])), 64)),
49949
- K("div", IX, [(U(!0), W(H, null, B(I(ie), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(S, {
49950
- "model-value": I(o).experts[JX]?.[e] || "none",
50003
+ K("div", jX, [(U(!0), W(H, null, B(I(ie), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(S, {
50004
+ "model-value": I(o).experts[UX]?.[e] || "none",
49951
50005
  items: ae,
49952
50006
  "aria-label": `${e} 参与方式`,
49953
- "onUpdate:modelValue": (t) => I(s).write_expert(JX, e, t === "none" ? "" : t)
50007
+ "onUpdate:modelValue": (t) => I(s).write_expert(UX, e, t === "none" ? "" : t)
49954
50008
  }, null, 8, [
49955
50009
  "model-value",
49956
50010
  "aria-label",
@@ -49968,7 +50022,7 @@ var hU = /*#__PURE__*/ XH({
49968
50022
  }, null, 8, ["trailing-icon"])]),
49969
50023
  _: 1
49970
50024
  }, 8, ["open"]),
49971
- K("div", LX, [q(le, {
50025
+ K("div", MX, [q(le, {
49972
50026
  label: "取消",
49973
50027
  color: "neutral",
49974
50028
  variant: "ghost",
@@ -50012,7 +50066,7 @@ var hU = /*#__PURE__*/ XH({
50012
50066
  _: 1
50013
50067
  }),
50014
50068
  c[35] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
50015
- K("div", RX, [q(le, {
50069
+ K("div", NX, [q(le, {
50016
50070
  label: "取消",
50017
50071
  variant: "ghost",
50018
50072
  color: "neutral",
@@ -50023,8 +50077,8 @@ var hU = /*#__PURE__*/ XH({
50023
50077
  label: "创建发言安排",
50024
50078
  loading: I(u) === "schedule"
50025
50079
  }, null, 8, ["loading"])])
50026
- ], 32)) : a.value === "message" ? (U(), W("div", zX, [fe.value ? (U(), W("p", BX, P(fe.value), 1)) : de.value ? (U(), W(H, { key: 1 }, [
50027
- K("div", VX, [
50080
+ ], 32)) : a.value === "message" ? (U(), W("div", PX, [fe.value ? (U(), W("p", FX, P(fe.value), 1)) : de.value ? (U(), W(H, { key: 1 }, [
50081
+ K("div", IX, [
50028
50082
  K("strong", null, P(I(s).display_name(de.value.author)), 1),
50029
50083
  K("span", null, "#" + P(de.value.id), 1),
50030
50084
  q(Te, {
@@ -50035,14 +50089,14 @@ var hU = /*#__PURE__*/ XH({
50035
50089
  _: 1
50036
50090
  })
50037
50091
  ]),
50038
- K("p", HX, P(I(s).provenance(de.value)) + " · " + P(new Date(de.value.created_at).toLocaleString("zh-CN")), 1),
50039
- de.value.summary ? (U(), W("section", UX, [K("small", null, "回答摘要 · " + P(I(s).display_name(de.value.summary_by)), 1), K("p", WX, P(de.value.summary), 1)])) : Y("", !0),
50040
- K("p", GX, P(de.value.text), 1),
50092
+ K("p", LX, P(I(s).provenance(de.value)) + " · " + P(new Date(de.value.created_at).toLocaleString("zh-CN")), 1),
50093
+ de.value.summary ? (U(), W("section", RX, [K("small", null, "回答摘要 · " + P(I(s).display_name(de.value.summary_by)), 1), K("p", zX, P(de.value.summary), 1)])) : Y("", !0),
50094
+ K("p", BX, P(de.value.text), 1),
50041
50095
  de.value.attachments?.length ? (U(), W("div", {
50042
50096
  key: 1,
50043
50097
  onClick: ye,
50044
50098
  innerHTML: I(s).attachment_markup(de.value.attachments)
50045
- }, null, 8, KX)) : Y("", !0),
50099
+ }, null, 8, VX)) : Y("", !0),
50046
50100
  de.value.reply_to ? (U(), G(le, {
50047
50101
  key: 2,
50048
50102
  label: `查看被回复的原文 #${de.value.reply_to}`,
@@ -50052,7 +50106,7 @@ var hU = /*#__PURE__*/ XH({
50052
50106
  class: "channel-surface-button",
50053
50107
  onClick: xe
50054
50108
  }, null, 8, ["label"])) : Y("", !0)
50055
- ], 64)) : (U(), W("p", qX, "正在读取原文…"))])) : Y("", !0)]),
50109
+ ], 64)) : (U(), W("p", HX, "正在读取原文…"))])) : Y("", !0)]),
50056
50110
  _: 1
50057
50111
  }, 8, [
50058
50112
  "open",
@@ -50063,7 +50117,7 @@ var hU = /*#__PURE__*/ XH({
50063
50117
  ]);
50064
50118
  };
50065
50119
  }
50066
- }, XX = {
50120
+ }, GX = {
50067
50121
  __name: "ContextMenuContent",
50068
50122
  props: {
50069
50123
  items: {
@@ -50358,7 +50412,7 @@ var hU = /*#__PURE__*/ XH({
50358
50412
  "disabled",
50359
50413
  "text-value",
50360
50414
  "class"
50361
- ]), q(XX, X({
50415
+ ]), q(GX, X({
50362
50416
  sub: "",
50363
50417
  class: r.ui?.content,
50364
50418
  ui: e.ui,
@@ -50469,7 +50523,7 @@ var hU = /*#__PURE__*/ XH({
50469
50523
  _: 3
50470
50524
  }, 16)], 64));
50471
50525
  }
50472
- }, ZX = {
50526
+ }, KX = {
50473
50527
  slots: {
50474
50528
  content: "min-w-32 max-h-(--reka-context-menu-content-available-height) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-context-menu-content-transform-origin) flex flex-col",
50475
50529
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -50657,7 +50711,7 @@ var hU = /*#__PURE__*/ XH({
50657
50711
  }
50658
50712
  ],
50659
50713
  defaultVariants: { size: "md" }
50660
- }, QX = {
50714
+ }, qX = {
50661
50715
  __name: "ContextMenu",
50662
50716
  props: {
50663
50717
  size: {
@@ -50727,7 +50781,7 @@ var hU = /*#__PURE__*/ XH({
50727
50781
  emits: ["update:open"],
50728
50782
  setup(e, { emit: t }) {
50729
50783
  let n = e, r = t, i = Aa(), a = AE("contextMenu", n), o = Cm(), s = jE(om(a, "modal"), r), c = /* @__PURE__ */ Sn(() => a.content), l = () => Vm(i, ["default"]), u = Z(() => oA({
50730
- extend: ZX,
50784
+ extend: KX,
50731
50785
  ...o.ui?.contextMenu || {}
50732
50786
  })({ size: a.size }));
50733
50787
  return (e, t) => (U(), G(I(iC), N(Ss(I(s))), {
@@ -50739,7 +50793,7 @@ var hU = /*#__PURE__*/ XH({
50739
50793
  }, {
50740
50794
  default: L(() => [V(e.$slots, "default")]),
50741
50795
  _: 3
50742
- }, 8, ["disabled", "class"])) : Y("", !0), q(XX, X({
50796
+ }, 8, ["disabled", "class"])) : Y("", !0), q(GX, X({
50743
50797
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
50744
50798
  ui: u.value,
50745
50799
  "ui-override": I(a).ui
@@ -50769,47 +50823,47 @@ var hU = /*#__PURE__*/ XH({
50769
50823
  _: 3
50770
50824
  }, 16));
50771
50825
  }
50772
- }, $X = { class: "channel-directory-manager" }, eZ = { class: "channel-directory-heading" }, tZ = ["aria-expanded"], nZ = { class: "channel-directory-actions" }, rZ = {
50826
+ }, JX = { class: "channel-directory-manager" }, YX = { class: "channel-directory-heading" }, XX = ["aria-expanded"], ZX = { class: "channel-directory-actions" }, QX = {
50773
50827
  "aria-label": "协作房间列表",
50774
50828
  class: "channel-room-list",
50775
50829
  "data-room-directory": ""
50776
- }, iZ = ["data-room-folder", "data-drag-folder"], aZ = [
50830
+ }, $X = ["data-room-folder", "data-drag-folder"], eZ = [
50777
50831
  "disabled",
50778
50832
  "aria-label",
50779
50833
  "aria-expanded",
50780
50834
  "onKeydown",
50781
50835
  "onClick"
50782
- ], oZ = { class: "channel-folder-name" }, sZ = { class: "channel-folder-actions" }, cZ = {
50836
+ ], tZ = { class: "channel-folder-name" }, nZ = { class: "channel-folder-actions" }, rZ = {
50783
50837
  class: "channel-directory-count",
50784
50838
  "aria-hidden": "true"
50785
- }, lZ = ["data-drop-folder"], uZ = {
50839
+ }, iZ = ["data-drop-folder"], aZ = {
50786
50840
  key: 0,
50787
50841
  class: "channel-directory-empty",
50788
50842
  role: "status"
50789
- }, dZ = ["data-drag-room"], fZ = [
50843
+ }, oZ = ["data-drag-room"], sZ = [
50790
50844
  "aria-label",
50791
50845
  "disabled",
50792
50846
  "onKeydown"
50793
- ], pZ = [
50847
+ ], cZ = [
50794
50848
  "title",
50795
50849
  "aria-label",
50796
50850
  "aria-current",
50797
50851
  "onClick"
50798
- ], mZ = { class: "channel-room-actions" }, hZ = {
50852
+ ], lZ = { class: "channel-room-actions" }, uZ = {
50799
50853
  key: 0,
50800
50854
  class: "channel-directory-empty"
50801
- }, gZ = {
50855
+ }, dZ = {
50802
50856
  key: 0,
50803
50857
  class: "channel-archive-count"
50804
- }, _Z = {
50858
+ }, fZ = {
50805
50859
  key: 0,
50806
50860
  role: "status",
50807
50861
  class: "channel-directory-notice"
50808
- }, vZ = {
50862
+ }, pZ = {
50809
50863
  key: 1,
50810
50864
  role: "alert",
50811
50865
  class: "channel-directory-error"
50812
- }, yZ = {
50866
+ }, mZ = {
50813
50867
  __name: "ChannelDirectory",
50814
50868
  emits: [
50815
50869
  "select",
@@ -51023,8 +51077,8 @@ var hU = /*#__PURE__*/ XH({
51023
51077
  ];
51024
51078
  }
51025
51079
  return (e, t) => {
51026
- let u = MA, _ = sA, v = CH, x = $V, S = QX;
51027
- return U(), W("div", $X, [
51080
+ let u = MA, _ = sA, v = CH, x = $V, S = qX;
51081
+ return U(), W("div", JX, [
51028
51082
  q(u, {
51029
51083
  label: "新建对话",
51030
51084
  icon: "i-lucide-plus",
@@ -51033,12 +51087,12 @@ var hU = /*#__PURE__*/ XH({
51033
51087
  disabled: I(r).directory_pending.includes("create-room"),
51034
51088
  onClick: t[0] ||= (e) => n("create", null)
51035
51089
  }, null, 8, ["disabled"]),
51036
- K("div", eZ, [K("button", {
51090
+ K("div", YX, [K("button", {
51037
51091
  type: "button",
51038
51092
  class: "channel-section-toggle",
51039
51093
  "aria-expanded": m.value,
51040
51094
  onClick: t[1] ||= (e) => m.value = !m.value
51041
- }, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("协作房间", -1)], 8, tZ), K("div", nZ, [
51095
+ }, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("协作房间", -1)], 8, XX), K("div", ZX, [
51042
51096
  q(v, {
51043
51097
  items: d.value,
51044
51098
  content: {
@@ -51080,7 +51134,7 @@ var hU = /*#__PURE__*/ XH({
51080
51134
  onChange: p
51081
51135
  }, null, 544)
51082
51136
  ])]),
51083
- vr(K("nav", rZ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
51137
+ vr(K("nav", QX, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
51084
51138
  key: e.order_id,
51085
51139
  class: "channel-folder-section",
51086
51140
  "data-room-folder": e.id,
@@ -51110,9 +51164,9 @@ var hU = /*#__PURE__*/ XH({
51110
51164
  }, [
51111
51165
  q(_, { name: h.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
51112
51166
  q(_, { name: "i-lucide-folder" }),
51113
- K("span", oZ, P(e.name), 1)
51114
- ], 40, aZ),
51115
- K("div", sZ, [q(v, {
51167
+ K("span", tZ, P(e.name), 1)
51168
+ ], 40, eZ),
51169
+ K("div", nZ, [q(v, {
51116
51170
  items: g(e, s),
51117
51171
  content: {
51118
51172
  align: "start",
@@ -51146,12 +51200,12 @@ var hU = /*#__PURE__*/ XH({
51146
51200
  ])]),
51147
51201
  _: 2
51148
51202
  }, 1032, ["text"])]),
51149
- K("small", cZ, P(e.pending ? "保存中" : e.rooms.length), 1)
51203
+ K("small", rZ, P(e.pending ? "保存中" : e.rooms.length), 1)
51150
51204
  ], 2)) : Y("", !0), !e.id || !h.value.has(e.id) ? (U(), W("div", {
51151
51205
  key: 1,
51152
51206
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
51153
51207
  "data-drop-folder": e.id ? void 0 : ""
51154
- }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", uZ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(S, {
51208
+ }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", aZ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(S, {
51155
51209
  key: s.id,
51156
51210
  items: b(s, c, s.folder_id || null, e.rooms.length),
51157
51211
  ui: { content: "channel-menu channel-topic-menu" }
@@ -51176,7 +51230,7 @@ var hU = /*#__PURE__*/ XH({
51176
51230
  direction: 1,
51177
51231
  folder_id: s.folder_id || null
51178
51232
  }), ["prevent"]), ["down"])]
51179
- }, [q(_, { name: "i-lucide-grip-vertical" })], 40, fZ),
51233
+ }, [q(_, { name: "i-lucide-grip-vertical" })], 40, sZ),
51180
51234
  K("button", {
51181
51235
  class: "channel-room-select",
51182
51236
  "data-drag-title": "",
@@ -51185,8 +51239,8 @@ var hU = /*#__PURE__*/ XH({
51185
51239
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
51186
51240
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
51187
51241
  onClick: (e) => n("select", s.id)
51188
- }, [K("span", null, P(s.title), 1)], 40, pZ),
51189
- K("div", mZ, [q(x, {
51242
+ }, [K("span", null, P(s.title), 1)], 40, cZ),
51243
+ K("div", lZ, [q(x, {
51190
51244
  text: s.archived ? "恢复房间" : "存档房间",
51191
51245
  ui: { content: "channel-topic-tooltip" }
51192
51246
  }, {
@@ -51227,9 +51281,9 @@ var hU = /*#__PURE__*/ XH({
51227
51281
  }, null, 8, ["aria-label"])]),
51228
51282
  _: 2
51229
51283
  }, 1032, ["items"])])
51230
- ], 10, dZ)]),
51284
+ ], 10, oZ)]),
51231
51285
  _: 2
51232
- }, 1032, ["items"]))), 128))], 10, lZ)) : Y("", !0)], 8, iZ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", hZ, "暂无协作房间"))], 512), [[Vc, m.value]]),
51286
+ }, 1032, ["items"]))), 128))], 10, iZ)) : Y("", !0)], 8, $X))), 128)), s.value.length ? Y("", !0) : (U(), W("p", uZ, "暂无协作房间"))], 512), [[Vc, m.value]]),
51233
51287
  vr(q(u, {
51234
51288
  icon: "i-lucide-archive",
51235
51289
  color: "neutral",
@@ -51238,48 +51292,48 @@ var hU = /*#__PURE__*/ XH({
51238
51292
  "aria-haspopup": "dialog",
51239
51293
  onClick: t[6] ||= (e) => n("archives")
51240
51294
  }, {
51241
- default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), c.value ? (U(), W("small", gZ, P(c.value), 1)) : Y("", !0)]),
51295
+ default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), c.value ? (U(), W("small", dZ, P(c.value), 1)) : Y("", !0)]),
51242
51296
  _: 1
51243
51297
  }, 512), [[Vc, m.value]]),
51244
- I(r).directory_notice ? (U(), W("p", _Z, P(I(r).directory_notice), 1)) : Y("", !0),
51245
- I(r).directory_error ? (U(), W("p", vZ, P(I(r).directory_error), 1)) : Y("", !0)
51298
+ I(r).directory_notice ? (U(), W("p", fZ, P(I(r).directory_notice), 1)) : Y("", !0),
51299
+ I(r).directory_error ? (U(), W("p", pZ, P(I(r).directory_error), 1)) : Y("", !0)
51246
51300
  ]);
51247
51301
  };
51248
51302
  }
51249
- }, bZ = {
51303
+ }, hZ = {
51250
51304
  key: 0,
51251
51305
  class: "pb-invite",
51252
51306
  "aria-label": "启动手动成员"
51253
- }, xZ = { class: "pb-invite-lead" }, SZ = {
51307
+ }, gZ = { class: "pb-invite-lead" }, _Z = {
51254
51308
  key: 0,
51255
51309
  role: "alert",
51256
51310
  class: "pb-free-note is-error"
51257
- }, CZ = { class: "pb-invite-launches" }, wZ = { class: "pb-invite-footer" }, TZ = {
51311
+ }, vZ = { class: "pb-invite-launches" }, yZ = { class: "pb-invite-footer" }, bZ = {
51258
51312
  class: "pb-invite-library",
51259
51313
  role: "group",
51260
51314
  "aria-label": "选择 AI(可多选)"
51261
- }, EZ = [
51315
+ }, xZ = [
51262
51316
  "aria-pressed",
51263
51317
  "title",
51264
51318
  "onClick"
51265
- ], DZ = {
51319
+ ], SZ = {
51266
51320
  key: 0,
51267
51321
  class: "pb-invite-cards"
51268
- }, OZ = {
51322
+ }, CZ = {
51269
51323
  key: 0,
51270
51324
  class: "fine-print"
51271
- }, kZ = ["aria-hidden"], AZ = {
51325
+ }, wZ = ["aria-hidden"], TZ = {
51272
51326
  key: 2,
51273
51327
  class: "pb-invite-empty"
51274
- }, jZ = {
51328
+ }, EZ = {
51275
51329
  key: 3,
51276
51330
  role: "alert",
51277
51331
  class: "fine-print"
51278
- }, MZ = {
51332
+ }, DZ = {
51279
51333
  key: 4,
51280
51334
  role: "alert",
51281
51335
  class: "pb-free-note is-error"
51282
- }, NZ = { class: "pb-invite-footer" }, PZ = 2e3, FZ = /*#__PURE__*/ XH({
51336
+ }, OZ = { class: "pb-invite-footer" }, kZ = 2e3, AZ = /*#__PURE__*/ XH({
51283
51337
  __name: "InviteDialog",
51284
51338
  props: /*@__PURE__*/ Fa({ description: {
51285
51339
  type: String,
@@ -51297,7 +51351,7 @@ var hU = /*#__PURE__*/ XH({
51297
51351
  async function u(e) {
51298
51352
  clearTimeout(l), c.value = "", await i("copy_member_launch", e) && (c.value = e, l = setTimeout(() => {
51299
51353
  c.value = "";
51300
- }, PZ));
51354
+ }, kZ));
51301
51355
  }
51302
51356
  let d = /* @__PURE__ */ F([]), f = 0, p = /* @__PURE__ */ F([]), m = /* @__PURE__ */ F(!1), h = Z(() => Object.keys(r.launch_clients)), g = Z(() => (o.value.members || []).map((e) => e.name)), _ = (e) => g.value.filter((t) => r.platform_of(t) === e).length, v = Z(() => [...d.value.filter((e) => e.mode !== "manual"), ...d.value.filter((e) => e.mode === "manual")]), y = Z(() => {
51303
51357
  let e = [...g.value];
@@ -51361,10 +51415,10 @@ var hU = /*#__PURE__*/ XH({
51361
51415
  body: "dialog-body"
51362
51416
  }
51363
51417
  }, {
51364
- body: L(() => [p.value.length && !d.value.length ? (U(), W("div", bZ, [
51365
- K("p", xZ, P(p.value.length > 1 ? `${p.value.length} 位手动成员已加入` : "手动成员已加入") + ",把启动指令交给各自的 AI 会话,注册后才算到场。", 1),
51366
- I(n).access?.error ? (U(), W("p", SZ, P(I(n).access.error), 1)) : Y("", !0),
51367
- K("ul", CZ, [(U(!0), W(H, null, B(p.value, (e) => (U(), W("li", { key: e }, [
51418
+ body: L(() => [p.value.length && !d.value.length ? (U(), W("div", hZ, [
51419
+ K("p", gZ, P(p.value.length > 1 ? `${p.value.length} 位手动成员已加入` : "手动成员已加入") + ",把启动指令交给各自的 AI 会话,注册后才算到场。", 1),
51420
+ I(n).access?.error ? (U(), W("p", _Z, P(I(n).access.error), 1)) : Y("", !0),
51421
+ K("ul", vZ, [(U(!0), W(H, null, B(p.value, (e) => (U(), W("li", { key: e }, [
51368
51422
  q(l, {
51369
51423
  src: I(r).identities[I(r).platform_of(e)]?.icon,
51370
51424
  text: I(r).identities[I(r).platform_of(e)]?.initials,
@@ -51399,7 +51453,7 @@ var hU = /*#__PURE__*/ XH({
51399
51453
  ])
51400
51454
  ]))), 128))]),
51401
51455
  o[3] ||= K("p", { class: "fine-print" }, "指令含该成员的凭证,只交给对应的会话;关闭后仍可在参与者列表中复制。", -1),
51402
- K("div", wZ, [q(f, {
51456
+ K("div", yZ, [q(f, {
51403
51457
  label: "完成",
51404
51458
  class: "channel-primary-button",
51405
51459
  onClick: o[0] ||= (e) => t.value = !1
@@ -51410,7 +51464,7 @@ var hU = /*#__PURE__*/ XH({
51410
51464
  "aria-label": "邀请专家",
51411
51465
  onSubmit: uu(w, ["prevent"])
51412
51466
  }, [
51413
- K("div", TZ, [(U(!0), W(H, null, B(h.value, (e) => (U(), W("button", {
51467
+ K("div", bZ, [(U(!0), W(H, null, B(h.value, (e) => (U(), W("button", {
51414
51468
  key: e,
51415
51469
  type: "button",
51416
51470
  "aria-pressed": d.value.some((t) => t.name === e),
@@ -51427,11 +51481,11 @@ var hU = /*#__PURE__*/ XH({
51427
51481
  "text",
51428
51482
  "alt",
51429
51483
  "class"
51430
- ]), J(P(e), 1)], 8, EZ))), 128))]),
51431
- d.value.length ? (U(), W("div", DZ, [(U(!0), W(H, null, B(d.value, (e) => (U(), W("div", {
51484
+ ]), J(P(e), 1)], 8, xZ))), 128))]),
51485
+ d.value.length ? (U(), W("div", SZ, [(U(!0), W(H, null, B(d.value, (e) => (U(), W("div", {
51432
51486
  key: e.id,
51433
51487
  class: "pb-invite-pick"
51434
- }, [q(QJ, {
51488
+ }, [q(qJ, {
51435
51489
  name: e.name,
51436
51490
  mode: e.mode,
51437
51491
  choices: ["cli", "manual"],
@@ -51448,15 +51502,15 @@ var hU = /*#__PURE__*/ XH({
51448
51502
  "onMode",
51449
51503
  "onSession",
51450
51504
  "onRemove"
51451
- ]), y.value.get(e) === e.name ? Y("", !0) : (U(), W("p", OZ, "同一 AI 已有实例,将以 " + P(y.value.get(e)) + " 加入,使用独立会话。", 1))]))), 128))])) : Y("", !0),
51505
+ ]), y.value.get(e) === e.name ? Y("", !0) : (U(), W("p", CZ, "同一 AI 已有实例,将以 " + P(y.value.get(e)) + " 加入,使用独立会话。", 1))]))), 128))])) : Y("", !0),
51452
51506
  d.value.length ? (U(), W("p", {
51453
51507
  key: 1,
51454
51508
  class: M(["fine-print", { "pb-invite-reserved": !(d.value.some((e) => e.mode === "manual") && d.value.some((e) => e.mode !== "manual")) }]),
51455
51509
  "aria-hidden": !(d.value.some((e) => e.mode === "manual") && d.value.some((e) => e.mode !== "manual"))
51456
- }, "手动启动的成员排在程序启动的成员之后加入队列。", 10, kZ)) : (U(), W("p", AZ, "选择一位或多位 AI(同一 AI 可重复添加),点卡片翻面设置软件、模型与项目权限。")),
51457
- d.value.some((e) => e.mode === "cli") && !I(n).launch.available ? (U(), W("p", jZ, "邀请需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0),
51458
- m.value && I(n).free_error ? (U(), W("p", MZ, P(I(n).free_error), 1)) : Y("", !0),
51459
- K("div", NZ, [q(f, {
51510
+ }, "手动启动的成员排在程序启动的成员之后加入队列。", 10, wZ)) : (U(), W("p", TZ, "选择一位或多位 AI(同一 AI 可重复添加),点卡片翻面设置软件、模型与项目权限。")),
51511
+ d.value.some((e) => e.mode === "cli") && !I(n).launch.available ? (U(), W("p", EZ, "邀请需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0),
51512
+ m.value && I(n).free_error ? (U(), W("p", DZ, P(I(n).free_error), 1)) : Y("", !0),
51513
+ K("div", OZ, [q(f, {
51460
51514
  label: "取消",
51461
51515
  color: "neutral",
51462
51516
  variant: "ghost",
@@ -51478,40 +51532,40 @@ var hU = /*#__PURE__*/ XH({
51478
51532
  }, 8, ["open", "description"]);
51479
51533
  };
51480
51534
  }
51481
- }, [["__scopeId", "data-v-3ca69064"]]), IZ = { class: "speaking-order" }, LZ = {
51535
+ }, [["__scopeId", "data-v-3ca69064"]]), jZ = { class: "speaking-order" }, MZ = {
51482
51536
  key: 0,
51483
51537
  class: "speaking-order-divider",
51484
51538
  "aria-hidden": "true"
51485
- }, RZ = ["data-key", "data-movable"], zZ = [
51539
+ }, NZ = ["data-key", "data-movable"], PZ = [
51486
51540
  "aria-disabled",
51487
51541
  "aria-label",
51488
51542
  "title",
51489
51543
  "onPointerdown",
51490
51544
  "onKeydown"
51491
- ], BZ = { class: "speaking-order-number" }, VZ = {
51545
+ ], FZ = { class: "speaking-order-number" }, IZ = {
51492
51546
  key: 1,
51493
51547
  class: "speaking-order-place",
51494
51548
  title: "已发言",
51495
51549
  "aria-label": "已发言"
51496
- }, HZ = ["title"], UZ = {
51550
+ }, LZ = ["title"], RZ = {
51497
51551
  key: 0,
51498
51552
  class: "speaking-order-later"
51499
- }, WZ = {
51553
+ }, zZ = {
51500
51554
  key: 1,
51501
51555
  class: "speaking-order-divider",
51502
51556
  "aria-hidden": "true"
51503
- }, GZ = {
51557
+ }, BZ = {
51504
51558
  key: 0,
51505
51559
  role: "status",
51506
51560
  class: "pb-free-note"
51507
- }, KZ = {
51561
+ }, VZ = {
51508
51562
  key: 1,
51509
51563
  role: "alert",
51510
51564
  class: "pb-free-note is-error"
51511
- }, qZ = {
51565
+ }, HZ = {
51512
51566
  class: "speaking-order-live",
51513
51567
  "aria-live": "polite"
51514
- }, JZ = "发言顺序刚有变化,已更新为最新顺序,请重新调整", YZ = /*#__PURE__*/ XH({
51568
+ }, UZ = "发言顺序刚有变化,已更新为最新顺序,请重新调整", WZ = /*#__PURE__*/ XH({
51515
51569
  __name: "SpeakingOrder",
51516
51570
  props: {
51517
51571
  away: {
@@ -51531,7 +51585,7 @@ var hU = /*#__PURE__*/ XH({
51531
51585
  }), c = Z(() => s.value.kind === "default" ? "idle" : "queued"), l = Z(() => !!n.value.access?.can_manage && !o.value.archived && s.value.movable.length > 1), u = {
51532
51586
  queue: "不在本次依次回答中",
51533
51587
  turns: "本轮未安排"
51534
- }, d = Z(() => s.value.kind === "default" ? "拖动设置默认发言顺序,@全体依次 按此顺序;聚焦后可用上下方向键" : "拖动调整还没发言的顺序,立即生效;聚焦后可用上下方向键"), f = /* @__PURE__ */ F(!1), p = Z(() => f.value ? JZ : n.value.order_error?.room_id === o.value.id ? n.value.order_error.message : ""), m = /* @__PURE__ */ F(null), h = /* @__PURE__ */ F(null), g = /* @__PURE__ */ F(null), _ = /* @__PURE__ */ F("");
51588
+ }, d = Z(() => s.value.kind === "default" ? "拖动设置默认发言顺序,@全体依次 按此顺序;聚焦后可用上下方向键" : "拖动调整还没发言的顺序,立即生效;聚焦后可用上下方向键"), f = /* @__PURE__ */ F(!1), p = Z(() => f.value ? UZ : n.value.order_error?.room_id === o.value.id ? n.value.order_error.message : ""), m = /* @__PURE__ */ F(null), h = /* @__PURE__ */ F(null), g = /* @__PURE__ */ F(null), _ = /* @__PURE__ */ F("");
51535
51589
  R(() => s.value.revision, () => {
51536
51590
  g.value = null;
51537
51591
  }), R(() => o.value.id, () => {
@@ -51618,13 +51672,13 @@ var hU = /*#__PURE__*/ XH({
51618
51672
  }
51619
51673
  return (e, n) => {
51620
51674
  let i = sA;
51621
- return U(), W("div", IZ, [
51675
+ return U(), W("div", jZ, [
51622
51676
  K("ul", {
51623
51677
  ref_key: "list",
51624
51678
  ref: m,
51625
51679
  class: M(["pb-members", { "is-dragging": h.value }])
51626
51680
  }, [
51627
- (U(!0), W(H, null, B(y.value, (t, r) => (U(), W(H, { key: t.key }, [t.outside ? (U(), W("li", LZ, [K("span", null, P(u[s.value.kind]), 1)])) : Y("", !0), K("li", {
51681
+ (U(!0), W(H, null, B(y.value, (t, r) => (U(), W(H, { key: t.key }, [t.outside ? (U(), W("li", MZ, [K("span", null, P(u[s.value.kind]), 1)])) : Y("", !0), K("li", {
51628
51682
  class: M(["pb-member speaking-order-row", [
51629
51683
  `is-${t.state}`,
51630
51684
  E(r),
@@ -51645,19 +51699,19 @@ var hU = /*#__PURE__*/ XH({
51645
51699
  onPointercancel: n[0] ||= (e) => w(e, !0),
51646
51700
  onLostpointercapture: n[1] ||= (e) => w(e, !0),
51647
51701
  onKeydown: [fu((e) => D(e, b(r), -1), ["up"]), fu((e) => D(e, b(r), 1), ["down"])]
51648
- }, [K("span", BZ, P(t.place), 1), q(i, {
51702
+ }, [K("span", FZ, P(t.place), 1), q(i, {
51649
51703
  name: "i-lucide-grip-vertical",
51650
51704
  class: "speaking-order-handle"
51651
- })], 40, zZ)) : t.state === "done" ? (U(), W("span", VZ, [q(i, { name: "i-lucide-check" })])) : (U(), W("span", {
51705
+ })], 40, PZ)) : t.state === "done" ? (U(), W("span", IZ, [q(i, { name: "i-lucide-check" })])) : (U(), W("span", {
51652
51706
  key: 2,
51653
51707
  class: "speaking-order-place",
51654
51708
  title: t.state === "speaking" ? "正在发言" : void 0
51655
- }, P(t.place || ""), 9, HZ)), V(e.$slots, "default", {
51709
+ }, P(t.place || ""), 9, LZ)), V(e.$slots, "default", {
51656
51710
  item: t,
51657
51711
  place: t.place
51658
- }, void 0, !0)], 10, RZ)], 64))), 128)),
51659
- s.value.later?.length ? (U(), W("li", UZ, [K("details", null, [K("summary", null, "后续已排 " + P(s.value.later.length) + " 轮", 1), K("ol", null, [(U(!0), W(H, null, B(s.value.later, (e, n) => (U(), W("li", { key: n }, [K("span", null, P(t.round ? `第 ${t.round + n + 1} 轮` : `后续第 ${n + 1} 轮`), 1), J(P(e.map((e) => I(r).display_name(e)).join(" → ")), 1)]))), 128))])])])) : Y("", !0),
51660
- t.away.length ? (U(), W("li", WZ, [...n[2] ||= [K("span", null, "已离开", -1)]])) : Y("", !0),
51712
+ }, void 0, !0)], 10, NZ)], 64))), 128)),
51713
+ s.value.later?.length ? (U(), W("li", RZ, [K("details", null, [K("summary", null, "后续已排 " + P(s.value.later.length) + " 轮", 1), K("ol", null, [(U(!0), W(H, null, B(s.value.later, (e, n) => (U(), W("li", { key: n }, [K("span", null, P(t.round ? `第 ${t.round + n + 1} 轮` : `后续第 ${n + 1} 轮`), 1), J(P(e.map((e) => I(r).display_name(e)).join(" → ")), 1)]))), 128))])])])) : Y("", !0),
51714
+ t.away.length ? (U(), W("li", zZ, [...n[2] ||= [K("span", null, "已离开", -1)]])) : Y("", !0),
51661
51715
  (U(!0), W(H, null, B(t.away, (t) => (U(), W("li", {
51662
51716
  key: `away-${t}`,
51663
51717
  class: "pb-member speaking-order-row is-away"
@@ -51669,78 +51723,78 @@ var hU = /*#__PURE__*/ XH({
51669
51723
  place: 0
51670
51724
  }, void 0, !0)]))), 128))
51671
51725
  ], 2),
51672
- p.value === JZ ? (U(), W("p", GZ, P(p.value), 1)) : p.value ? (U(), W("p", KZ, P(p.value), 1)) : Y("", !0),
51673
- K("p", qZ, P(_.value), 1)
51726
+ p.value === UZ ? (U(), W("p", BZ, P(p.value), 1)) : p.value ? (U(), W("p", VZ, P(p.value), 1)) : Y("", !0),
51727
+ K("p", HZ, P(_.value), 1)
51674
51728
  ]);
51675
51729
  };
51676
51730
  }
51677
- }, [["__scopeId", "data-v-dc33a051"]]), XZ = {
51731
+ }, [["__scopeId", "data-v-dc33a051"]]), GZ = {
51678
51732
  key: 0,
51679
51733
  class: "pb-header"
51680
- }, ZZ = { class: "pb-mode" }, QZ = { class: "pb-status-line" }, $Z = { role: "status" }, eQ = {
51734
+ }, KZ = { class: "pb-mode" }, qZ = { class: "pb-status-line" }, JZ = { role: "status" }, YZ = {
51681
51735
  key: 0,
51682
51736
  class: "pb-mode"
51683
- }, tQ = {
51737
+ }, XZ = {
51684
51738
  key: 0,
51685
51739
  class: "pb-status-detail"
51686
- }, nQ = {
51740
+ }, ZZ = {
51687
51741
  key: 1,
51688
51742
  class: "pb-status-detail"
51689
- }, rQ = { class: "pb-error-detail" }, iQ = {
51743
+ }, QZ = { class: "pb-error-detail" }, $Z = {
51690
51744
  key: 3,
51691
51745
  class: "pb-meters"
51692
- }, aQ = { class: "pb-meter-label" }, oQ = {
51746
+ }, eQ = { class: "pb-meter-label" }, tQ = {
51693
51747
  key: 0,
51694
51748
  class: "pb-bar"
51695
- }, sQ = {
51749
+ }, nQ = {
51696
51750
  key: 1,
51697
51751
  class: "pb-section",
51698
51752
  "aria-label": "当前焦点"
51699
- }, cQ = {
51753
+ }, rQ = {
51700
51754
  class: "pb-section",
51701
51755
  "aria-label": "发言顺序"
51702
- }, lQ = { class: "pb-heading" }, uQ = {
51756
+ }, iQ = { class: "pb-heading" }, aQ = {
51703
51757
  key: 0,
51704
51758
  class: "pb-status-detail pb-held"
51705
- }, dQ = { class: "pb-member-body" }, fQ = { class: "pb-member-name" }, pQ = { class: "pb-member-body" }, mQ = { class: "pb-member-name" }, hQ = {
51759
+ }, oQ = { class: "pb-member-body" }, sQ = { class: "pb-member-name" }, cQ = { class: "pb-member-body" }, lQ = { class: "pb-member-name" }, uQ = {
51706
51760
  key: 0,
51707
51761
  class: "pb-member-model",
51708
51762
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
51709
- }, gQ = {
51763
+ }, dQ = {
51710
51764
  key: 1,
51711
51765
  class: "pb-member-model",
51712
51766
  title: "续接你已有的会话;它工作时请不要在原窗口继续操作"
51713
- }, _Q = { key: 0 }, vQ = {
51767
+ }, fQ = { key: 0 }, pQ = {
51714
51768
  key: 3,
51715
51769
  class: "pb-member-manual"
51716
- }, yQ = { key: 0 }, bQ = ["onClick"], xQ = {
51770
+ }, mQ = { key: 0 }, hQ = ["onClick"], gQ = {
51717
51771
  key: 1,
51718
51772
  role: "alert",
51719
51773
  class: "pb-free-note is-error"
51720
- }, SQ = {
51774
+ }, _Q = {
51721
51775
  key: 2,
51722
51776
  role: "status",
51723
51777
  class: "pb-free-note"
51724
- }, CQ = {
51778
+ }, vQ = {
51725
51779
  key: 2,
51726
51780
  class: "pb-actions",
51727
51781
  "aria-label": "操作"
51728
- }, wQ = {
51782
+ }, yQ = {
51729
51783
  key: 3,
51730
51784
  class: "pb-section",
51731
51785
  "aria-label": "阶段耗时"
51732
- }, TQ = { class: "pb-timing-heading" }, EQ = ["aria-label"], DQ = { class: "pb-timing-totals" }, OQ = ["title"], kQ = { class: "pb-timings" }, AQ = { class: "pb-timing-who" }, jQ = { class: "pb-timing-stages" }, MQ = ["title"], NQ = {
51786
+ }, bQ = { class: "pb-timing-heading" }, xQ = ["aria-label"], SQ = { class: "pb-timing-totals" }, CQ = ["title"], wQ = { class: "pb-timings" }, TQ = { class: "pb-timing-who" }, EQ = { class: "pb-timing-stages" }, DQ = ["title"], OQ = {
51733
51787
  key: 0,
51734
51788
  class: "pb-note"
51735
- }, PQ = { class: "pb-connection" }, FQ = { class: "fine-print" }, IQ = {
51789
+ }, kQ = { class: "pb-connection" }, AQ = { class: "fine-print" }, jQ = {
51736
51790
  key: 0,
51737
51791
  role: "status",
51738
51792
  class: "fine-print"
51739
- }, LQ = {
51793
+ }, MQ = {
51740
51794
  key: 2,
51741
51795
  role: "alert",
51742
51796
  class: "fine-print"
51743
- }, RQ = { key: 2 }, zQ = { class: "pb-invite-footer" }, BQ = { class: "progress-ending" }, VQ = ["disabled"], HQ = 2e3, UQ = 90, WQ = 100, GQ = /*#__PURE__*/ XH({
51797
+ }, NQ = { key: 2 }, PQ = { class: "pb-invite-footer" }, FQ = { class: "progress-ending" }, IQ = ["disabled"], LQ = 2e3, RQ = 90, zQ = 100, BQ = /*#__PURE__*/ XH({
51744
51798
  __name: "ProgressBoard",
51745
51799
  props: { docked: {
51746
51800
  type: Boolean,
@@ -51751,7 +51805,7 @@ var hU = /*#__PURE__*/ XH({
51751
51805
  async function l(e) {
51752
51806
  clearTimeout(c), s.value = "", await i("copy_member_launch", e) && (s.value = e, c = setTimeout(() => {
51753
51807
  s.value = "";
51754
- }, HQ));
51808
+ }, LQ));
51755
51809
  }
51756
51810
  let u = /* @__PURE__ */ F(!1), d = /* @__PURE__ */ F(null), f = /* @__PURE__ */ F(!1), p = ["pending", "notified"], m = {
51757
51811
  dispatched: "已交付,等待开始",
@@ -51783,7 +51837,7 @@ var hU = /*#__PURE__*/ XH({
51783
51837
  R(() => _.value.id, () => {
51784
51838
  he.value = !1;
51785
51839
  });
51786
- let ge = Z(() => x.value?.question || _.value.focus || _.value.goal || ""), N = Z(() => ge.value.length > UQ), _e = Z(() => y.value.timings || {
51840
+ let ge = Z(() => x.value?.question || _.value.focus || _.value.goal || ""), N = Z(() => ge.value.length > RQ), _e = Z(() => y.value.timings || {
51787
51841
  items: [],
51788
51842
  totals: {},
51789
51843
  count: 0
@@ -51817,7 +51871,7 @@ var hU = /*#__PURE__*/ XH({
51817
51871
  };
51818
51872
  let e = ce.value;
51819
51873
  if (e) {
51820
- let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > WQ ? `${n.slice(0, WQ)}…` : n;
51874
+ let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > zQ ? `${n.slice(0, zQ)}…` : n;
51821
51875
  return {
51822
51876
  tone: "error",
51823
51877
  title: "已暂停",
@@ -51962,18 +52016,18 @@ var hU = /*#__PURE__*/ XH({
51962
52016
  return (e, c) => {
51963
52017
  let f = MA, p = sA, m = pA, v = CH, T = bH, k = zV, se = YH;
51964
52018
  return U(), W("div", { class: M(["progress-board", { "is-docked": t.docked }]) }, [
51965
- t.docked ? (U(), W("header", XZ, [c[18] ||= K("strong", null, "讨论进度", -1), K("span", ZZ, P(b.value ? "全自动" : "手动"), 1)])) : Y("", !0),
52019
+ t.docked ? (U(), W("header", GZ, [c[18] ||= K("strong", null, "讨论进度", -1), K("span", KZ, P(b.value ? "全自动" : "手动"), 1)])) : Y("", !0),
51966
52020
  K("section", {
51967
52021
  class: M(["pb-status", `is-${be.value.tone}`]),
51968
52022
  "aria-label": "讨论状态"
51969
52023
  }, [
51970
- K("div", QZ, [
52024
+ K("div", qZ, [
51971
52025
  c[19] ||= K("span", { class: "pb-dot" }, null, -1),
51972
- K("strong", $Z, P(be.value.title), 1),
51973
- t.docked ? Y("", !0) : (U(), W("span", eQ, P(b.value ? "全自动" : "手动"), 1))
52026
+ K("strong", JZ, P(be.value.title), 1),
52027
+ t.docked ? Y("", !0) : (U(), W("span", YZ, P(b.value ? "全自动" : "手动"), 1))
51974
52028
  ]),
51975
- be.value.detail ? (U(), W("p", tQ, P(be.value.detail), 1)) : Y("", !0),
51976
- be.value.full_detail ? (U(), W("details", nQ, [c[20] ||= K("summary", null, "查看错误详情", -1), K("pre", rQ, P(be.value.full_detail), 1)])) : Y("", !0),
52029
+ be.value.detail ? (U(), W("p", XZ, P(be.value.detail), 1)) : Y("", !0),
52030
+ be.value.full_detail ? (U(), W("details", ZZ, [c[20] ||= K("summary", null, "查看错误详情", -1), K("pre", QZ, P(be.value.full_detail), 1)])) : Y("", !0),
51977
52031
  ue.value && I(n).launch.available && !I(n).launch.remote ? (U(), G(f, {
51978
52032
  key: 2,
51979
52033
  icon: "i-lucide-arrow-left-right",
@@ -51985,12 +52039,12 @@ var hU = /*#__PURE__*/ XH({
51985
52039
  disabled: !!I(a),
51986
52040
  onClick: c[0] ||= (e) => Ee(ue.value, "codex")
51987
52041
  }, null, 8, ["disabled"])) : Y("", !0),
51988
- xe.value.length ? (U(), W("div", iQ, [(U(!0), W(H, null, B(xe.value, (e) => (U(), W("div", {
52042
+ xe.value.length ? (U(), W("div", $Z, [(U(!0), W(H, null, B(xe.value, (e) => (U(), W("div", {
51989
52043
  key: e.label,
51990
52044
  class: "pb-meter"
51991
- }, [K("div", aQ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", oQ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
52045
+ }, [K("div", eQ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", tQ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
51992
52046
  ], 2),
51993
- ge.value ? (U(), W("section", sQ, [
52047
+ ge.value ? (U(), W("section", nQ, [
51994
52048
  c[21] ||= K("h4", null, "当前焦点", -1),
51995
52049
  K("p", { class: M(["pb-focus", { "is-expanded": u.value }]) }, P(ge.value), 3),
51996
52050
  N.value ? (U(), W("button", {
@@ -52000,15 +52054,15 @@ var hU = /*#__PURE__*/ XH({
52000
52054
  onClick: c[1] ||= (e) => u.value = !u.value
52001
52055
  }, P(u.value ? "收起" : "展开"), 1)) : Y("", !0)
52002
52056
  ])) : Y("", !0),
52003
- K("section", cQ, [
52004
- K("div", lQ, [c[23] ||= K("h4", null, "发言顺序", -1), me.value ? (U(), W("button", {
52057
+ K("section", rQ, [
52058
+ K("div", iQ, [c[23] ||= K("h4", null, "发言顺序", -1), me.value ? (U(), W("button", {
52005
52059
  key: 0,
52006
52060
  type: "button",
52007
52061
  class: "pb-link",
52008
52062
  onClick: Te
52009
52063
  }, [q(p, { name: "i-lucide-plus" }), c[22] ||= J("邀请", -1)])) : Y("", !0)]),
52010
- _.value.held_since && x.value && !S.value ? (U(), W("p", uQ, "用户有新操作," + P(I(r).display_name(x.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
52011
- q(YZ, {
52064
+ _.value.held_since && x.value && !S.value ? (U(), W("p", aQ, "用户有新操作," + P(I(r).display_name(x.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
52065
+ q(WZ, {
52012
52066
  away: de.value.map((e) => e.name),
52013
52067
  round: Se.value
52014
52068
  }, {
@@ -52025,7 +52079,7 @@ var hU = /*#__PURE__*/ XH({
52025
52079
  "alt",
52026
52080
  "class"
52027
52081
  ]),
52028
- K("div", dQ, [K("div", fQ, [J(P(I(r).display_name(e.name)), 1), c[24] ||= K("small", null, "暂离", -1)]), c[25] ||= K("div", { class: "pb-member-status is-neutral" }, [K("span", { class: "pb-dot" }), J("保留位置和会话,不参与安排")], -1)]),
52082
+ K("div", oQ, [K("div", sQ, [J(P(I(r).display_name(e.name)), 1), c[24] ||= K("small", null, "暂离", -1)]), c[25] ||= K("div", { class: "pb-member-status is-neutral" }, [K("span", { class: "pb-dot" }), J("保留位置和会话,不参与安排")], -1)]),
52029
52083
  we({ name: e.name }).length ? (U(), G(v, {
52030
52084
  key: 0,
52031
52085
  items: we({ name: e.name }),
@@ -52055,8 +52109,8 @@ var hU = /*#__PURE__*/ XH({
52055
52109
  "alt",
52056
52110
  "class"
52057
52111
  ]),
52058
- K("div", pQ, [
52059
- K("div", mQ, [
52112
+ K("div", cQ, [
52113
+ K("div", lQ, [
52060
52114
  J(P(I(r).display_name(e.name)), 1),
52061
52115
  e.is_host ? (U(), G(p, {
52062
52116
  key: 0,
@@ -52065,22 +52119,22 @@ var hU = /*#__PURE__*/ XH({
52065
52119
  })) : Y("", !0),
52066
52120
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
52067
52121
  ]),
52068
- e.model ? (U(), W("div", hQ, P(e.model), 1)) : Y("", !0),
52069
- pe(e.name)?.session_mode === "borrowed" ? (U(), W("div", gQ, "借用已有会话")) : Y("", !0),
52122
+ e.model ? (U(), W("div", uQ, P(e.model), 1)) : Y("", !0),
52123
+ pe(e.name)?.session_mode === "borrowed" ? (U(), W("div", dQ, "借用已有会话")) : Y("", !0),
52070
52124
  w.value ? Y("", !0) : (U(), W("div", {
52071
52125
  key: 2,
52072
52126
  class: M(["pb-member-status", `is-${e.tone}`])
52073
52127
  }, [
52074
52128
  c[26] ||= K("span", { class: "pb-dot" }, null, -1),
52075
52129
  J(P(e.text), 1),
52076
- e.failures ? (U(), W("small", _Q, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
52130
+ e.failures ? (U(), W("small", fQ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
52077
52131
  ], 2)),
52078
- e.manual && !w.value ? (U(), W("div", vQ, [!pe(e.name)?.registered_at && !e.is_host ? (U(), W("span", yQ, "需在它的会话中注册,才算到场")) : Y("", !0), A.value ? (U(), W("button", {
52132
+ e.manual && !w.value ? (U(), W("div", pQ, [!pe(e.name)?.registered_at && !e.is_host ? (U(), W("span", mQ, "需在它的会话中注册,才算到场")) : Y("", !0), A.value ? (U(), W("button", {
52079
52133
  key: 1,
52080
52134
  type: "button",
52081
52135
  class: "pb-link",
52082
52136
  onClick: (t) => l(e.name)
52083
- }, [q(p, { name: s.value === e.name ? "i-lucide-check" : "i-lucide-rocket" }, null, 8, ["name"]), J(P(s.value === e.name ? "已复制" : "复制启动指令"), 1)], 8, bQ)) : Y("", !0)])) : Y("", !0)
52137
+ }, [q(p, { name: s.value === e.name ? "i-lucide-check" : "i-lucide-rocket" }, null, 8, ["name"]), J(P(s.value === e.name ? "已复制" : "复制启动指令"), 1)], 8, hQ)) : Y("", !0)])) : Y("", !0)
52084
52138
  ]),
52085
52139
  we(e).length ? (U(), G(v, {
52086
52140
  key: 0,
@@ -52101,9 +52155,9 @@ var hU = /*#__PURE__*/ XH({
52101
52155
  ], 64))), 128))]),
52102
52156
  _: 1
52103
52157
  }, 8, ["away", "round"]),
52104
- !he.value && I(n).free_error && _.value.phase !== "paused" ? (U(), W("p", xQ, P(I(n).free_error), 1)) : I(n).free_notice ? (U(), W("p", SQ, P(I(n).free_notice), 1)) : Y("", !0)
52158
+ !he.value && I(n).free_error && _.value.phase !== "paused" ? (U(), W("p", gQ, P(I(n).free_error), 1)) : I(n).free_notice ? (U(), W("p", _Q, P(I(n).free_notice), 1)) : Y("", !0)
52105
52159
  ]),
52106
- oe.value ? (U(), W("section", CQ, [
52160
+ oe.value ? (U(), W("section", vQ, [
52107
52161
  ne.value ? (U(), G(f, {
52108
52162
  key: 0,
52109
52163
  icon: "i-lucide-rotate-ccw",
@@ -52185,8 +52239,8 @@ var hU = /*#__PURE__*/ XH({
52185
52239
  onClick: c[6] ||= (e) => o.value = !0
52186
52240
  }, null, 8, ["disabled"])) : Y("", !0)
52187
52241
  ])) : Y("", !0),
52188
- b.value && _e.value.count ? (U(), W("section", wQ, [
52189
- K("div", TQ, [c[27] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(_e.value.count) + " 次执行", 1)]),
52242
+ b.value && _e.value.count ? (U(), W("section", yQ, [
52243
+ K("div", bQ, [c[27] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(_e.value.count) + " 次执行", 1)]),
52190
52244
  K("div", {
52191
52245
  class: "pb-timing-bar",
52192
52246
  role: "img",
@@ -52195,18 +52249,18 @@ var hU = /*#__PURE__*/ XH({
52195
52249
  key: e.key,
52196
52250
  class: M(`is-${e.key}`),
52197
52251
  style: fe({ width: `${e.percent}%` })
52198
- }, null, 6))), 128))], 8, EQ),
52199
- K("dl", DQ, [(U(!0), W(H, null, B(Oe.value, (e) => (U(), W("div", {
52252
+ }, null, 6))), 128))], 8, xQ),
52253
+ K("dl", SQ, [(U(!0), W(H, null, B(Oe.value, (e) => (U(), W("div", {
52200
52254
  key: e.key,
52201
52255
  title: e.hint
52202
- }, [K("dt", null, [K("span", { class: M(`pb-timing-dot is-${e.key}`) }, null, 2), J(P(e.label), 1)]), K("dd", null, [J(P(ke(e.seconds)), 1), K("small", null, P(e.percent) + "%", 1)])], 8, OQ))), 128))]),
52203
- K("details", kQ, [
52256
+ }, [K("dt", null, [K("span", { class: M(`pb-timing-dot is-${e.key}`) }, null, 2), J(P(e.label), 1)]), K("dd", null, [J(P(ke(e.seconds)), 1), K("small", null, P(e.percent) + "%", 1)])], 8, CQ))), 128))]),
52257
+ K("details", wQ, [
52204
52258
  c[28] ||= K("summary", null, "查看每次执行", -1),
52205
- K("ol", null, [(U(!0), W(H, null, B(_e.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", AQ, [J("#" + P(e.id) + " " + P(I(r).display_name(e.participant)), 1), K("small", null, P(e.role === "host" ? "主持" : "专家") + " · " + P(g[e.status] || e.status), 1)]), K("span", jQ, [(U(), W(H, null, B(h, (t) => K("span", {
52259
+ K("ol", null, [(U(!0), W(H, null, B(_e.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", TQ, [J("#" + P(e.id) + " " + P(I(r).display_name(e.participant)), 1), K("small", null, P(e.role === "host" ? "主持" : "专家") + " · " + P(g[e.status] || e.status), 1)]), K("span", EQ, [(U(), W(H, null, B(h, (t) => K("span", {
52206
52260
  key: t.key,
52207
52261
  title: t.hint
52208
- }, P(t.label) + " " + P(ke(e[t.key])), 9, MQ)), 64))])]))), 128))]),
52209
- _e.value.count > _e.value.items.length ? (U(), W("p", NQ, "只列出最近 " + P(_e.value.items.length) + " 次,共 " + P(_e.value.count) + " 次执行。", 1)) : Y("", !0)
52262
+ }, P(t.label) + " " + P(ke(e[t.key])), 9, DQ)), 64))])]))), 128))]),
52263
+ _e.value.count > _e.value.items.length ? (U(), W("p", OQ, "只列出最近 " + P(_e.value.items.length) + " 次,共 " + P(_e.value.count) + " 次执行。", 1)) : Y("", !0)
52210
52264
  ])
52211
52265
  ])) : Y("", !0),
52212
52266
  q(se, {
@@ -52219,7 +52273,7 @@ var hU = /*#__PURE__*/ XH({
52219
52273
  body: "dialog-body"
52220
52274
  }
52221
52275
  }, {
52222
- body: L(() => [K("div", PQ, [y.value.status === "running" ? (U(), W(H, { key: 0 }, [c[29] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(f, {
52276
+ body: L(() => [K("div", kQ, [y.value.status === "running" ? (U(), W(H, { key: 0 }, [c[29] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(f, {
52223
52277
  label: "暂停并读取配置",
52224
52278
  icon: "i-lucide-pause",
52225
52279
  class: "channel-primary-button",
@@ -52242,7 +52296,7 @@ var hU = /*#__PURE__*/ XH({
52242
52296
  }, null, 8, ["model-value", "disabled"])]),
52243
52297
  _: 1
52244
52298
  }),
52245
- K("p", FQ, P(ye.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
52299
+ K("p", AQ, P(ye.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
52246
52300
  q(f, {
52247
52301
  label: "保存接入方式",
52248
52302
  class: "channel-primary-button",
@@ -52250,7 +52304,7 @@ var hU = /*#__PURE__*/ XH({
52250
52304
  disabled: !!I(a),
52251
52305
  onClick: c[8] ||= (e) => I(i)("save_room_configuration")
52252
52306
  }, null, 8, ["loading", "disabled"]),
52253
- I(n).launch.repair?.notice ? (U(), W("p", IQ, P(I(n).launch.repair.notice), 1)) : Y("", !0),
52307
+ I(n).launch.repair?.notice ? (U(), W("p", jQ, P(I(n).launch.repair.notice), 1)) : Y("", !0),
52254
52308
  I(n).launch.repair?.applied && ne.value ? (U(), G(f, {
52255
52309
  key: 1,
52256
52310
  label: "重启讨论",
@@ -52270,10 +52324,10 @@ var hU = /*#__PURE__*/ XH({
52270
52324
  color: "neutral",
52271
52325
  loading: !!I(a),
52272
52326
  onClick: De
52273
- }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", LQ, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", RQ, "本场状态已变化,请关闭后重新核对。"))])]),
52327
+ }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", MQ, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", NQ, "本场状态已变化,请关闭后重新核对。"))])]),
52274
52328
  _: 1
52275
52329
  }, 8, ["open"]),
52276
- q(FZ, {
52330
+ q(AZ, {
52277
52331
  open: he.value,
52278
52332
  "onUpdate:open": c[11] ||= (e) => he.value = e,
52279
52333
  description: "新专家由程序按本机软件配置启动,或由你手动启动,加入本轮发言队列。"
@@ -52299,7 +52353,7 @@ var hU = /*#__PURE__*/ XH({
52299
52353
  minutes: ee.value,
52300
52354
  "onUpdate:minutes": c[13] ||= (e) => ee.value = e,
52301
52355
  execution: !1
52302
- }, null, 8, ["rounds", "minutes"]), K("div", zQ, [q(f, {
52356
+ }, null, 8, ["rounds", "minutes"]), K("div", PQ, [q(f, {
52303
52357
  label: "取消",
52304
52358
  color: "neutral",
52305
52359
  variant: "ghost",
@@ -52324,18 +52378,18 @@ var hU = /*#__PURE__*/ XH({
52324
52378
  body: "dialog-body"
52325
52379
  }
52326
52380
  }, {
52327
- body: L(() => [K("div", BQ, [K("button", {
52381
+ body: L(() => [K("div", FQ, [K("button", {
52328
52382
  type: "button",
52329
52383
  class: "progress-ending-option",
52330
52384
  disabled: C.value || !!I(a),
52331
52385
  onClick: c[16] ||= (e) => Me("end_room_discussion")
52332
- }, [...c[30] ||= [K("strong", null, "结束讨论", -1), K("span", null, "保留全部记录,自动运行随之停止,房间回到自由协作;需要总结时可直接请主持人写一份。", -1)]], 8, VQ)])]),
52386
+ }, [...c[30] ||= [K("strong", null, "结束讨论", -1), K("span", null, "保留全部记录,自动运行随之停止,房间回到自由协作;需要总结时可直接请主持人写一份。", -1)]], 8, IQ)])]),
52333
52387
  _: 1
52334
52388
  }, 8, ["open"])
52335
52389
  ], 2);
52336
52390
  };
52337
52391
  }
52338
- }, [["__scopeId", "data-v-a5185122"]]), KQ = { class: "progress-panel-anchor" }, qQ = ["aria-expanded", "aria-label"], JQ = { class: "progress-chip-text" }, YQ = { class: "progress-chip-rounds" }, XQ = {
52392
+ }, [["__scopeId", "data-v-a5185122"]]), VQ = { class: "progress-panel-anchor" }, HQ = ["aria-expanded", "aria-label"], UQ = { class: "progress-chip-text" }, WQ = { class: "progress-chip-rounds" }, GQ = {
52339
52393
  __name: "ProgressPanel",
52340
52394
  setup(e) {
52341
52395
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -52362,7 +52416,7 @@ var hU = /*#__PURE__*/ XH({
52362
52416
  }), s = Z(() => a.value.round_cap || a.value.max_rounds ? n.limit_rounds(a.value).text.replace(" / ", "/") : n.progress_round(i.value)), c = Z(() => `${o.value.title} · ${s.value}`);
52363
52417
  return (e, t) => {
52364
52418
  let n = $V, a = NV;
52365
- return U(), W("div", KQ, [q(n, { text: "查看讨论进度" }, {
52419
+ return U(), W("div", VQ, [q(n, { text: "查看讨论进度" }, {
52366
52420
  default: L(() => [K("button", {
52367
52421
  type: "button",
52368
52422
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -52370,7 +52424,7 @@ var hU = /*#__PURE__*/ XH({
52370
52424
  "aria-expanded": r.value,
52371
52425
  "aria-label": `查看讨论进度:${c.value}`,
52372
52426
  onClick: t[0] ||= (e) => r.value = !0
52373
- }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", JQ, [J(P(o.value.title), 1), K("span", YQ, " · " + P(s.value), 1)])], 10, qQ)]),
52427
+ }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", UQ, [J(P(o.value.title), 1), K("span", WQ, " · " + P(s.value), 1)])], 10, HQ)]),
52374
52428
  _: 1
52375
52429
  }), q(a, {
52376
52430
  open: r.value,
@@ -52383,12 +52437,12 @@ var hU = /*#__PURE__*/ XH({
52383
52437
  body: "progress-drawer-body"
52384
52438
  }
52385
52439
  }, {
52386
- body: L(() => [q(GQ)]),
52440
+ body: L(() => [q(BQ)]),
52387
52441
  _: 1
52388
52442
  }, 8, ["open", "description"])]);
52389
52443
  };
52390
52444
  }
52391
- }, ZQ = { class: "start-discussion-footer" }, QQ = 3, $Q = /*#__PURE__*/ XH({
52445
+ }, KQ = { class: "start-discussion-footer" }, qQ = 3, JQ = /*#__PURE__*/ XH({
52392
52446
  __name: "StartDiscussionDialog",
52393
52447
  props: {
52394
52448
  open: {
@@ -52399,9 +52453,9 @@ var hU = /*#__PURE__*/ XH({
52399
52453
  },
52400
52454
  emits: ["update:open"],
52401
52455
  setup(e) {
52402
- let t = ro(e, "open"), { view: n, act: r, pending: i } = xr("discussion"), a = /* @__PURE__ */ F(""), o = /* @__PURE__ */ F(QQ), s = /* @__PURE__ */ F(0), c = /* @__PURE__ */ F(""), l = /* @__PURE__ */ F(!1), u = /* @__PURE__ */ F(null);
52456
+ let t = ro(e, "open"), { view: n, act: r, pending: i } = xr("discussion"), a = /* @__PURE__ */ F(""), o = /* @__PURE__ */ F(qQ), s = /* @__PURE__ */ F(0), c = /* @__PURE__ */ F(""), l = /* @__PURE__ */ F(!1), u = /* @__PURE__ */ F(null);
52403
52457
  R(t, (e) => {
52404
- e && (a.value = "", o.value = QQ, s.value = 0, c.value = "", l.value = !1);
52458
+ e && (a.value = "", o.value = qQ, s.value = 0, c.value = "", l.value = !1);
52405
52459
  });
52406
52460
  async function d() {
52407
52461
  u.value?.settle();
@@ -52415,7 +52469,7 @@ var hU = /*#__PURE__*/ XH({
52415
52469
  }) && (t.value = !1);
52416
52470
  }
52417
52471
  return (e, r) => {
52418
- let f = HV, p = zV, m = tJ, h = MA, g = YH;
52472
+ let f = HV, p = zV, m = Xq, h = MA, g = YH;
52419
52473
  return U(), G(g, {
52420
52474
  open: t.value,
52421
52475
  "onUpdate:open": r[6] ||= (e) => t.value = e,
@@ -52469,7 +52523,7 @@ var hU = /*#__PURE__*/ XH({
52469
52523
  "minutes",
52470
52524
  "execution_minutes"
52471
52525
  ]),
52472
- K("div", ZQ, [q(h, {
52526
+ K("div", KQ, [q(h, {
52473
52527
  label: "取消",
52474
52528
  color: "neutral",
52475
52529
  variant: "ghost",
@@ -52487,58 +52541,58 @@ var hU = /*#__PURE__*/ XH({
52487
52541
  }, 8, ["open"]);
52488
52542
  };
52489
52543
  }
52490
- }, [["__scopeId", "data-v-dee972d6"]]), e$ = { class: "progress-board is-docked" }, t$ = { class: "pb-header" }, n$ = { class: "pb-mode" }, r$ = { class: "pb-status-line" }, i$ = { role: "status" }, a$ = {
52544
+ }, [["__scopeId", "data-v-dee972d6"]]), YQ = { class: "progress-board is-docked" }, XQ = { class: "pb-header" }, ZQ = { class: "pb-mode" }, QQ = { class: "pb-status-line" }, $Q = { role: "status" }, e$ = {
52491
52545
  key: 0,
52492
52546
  class: "pb-status-detail"
52493
- }, o$ = { class: "pb-meters" }, s$ = { class: "pb-meter-label" }, c$ = {
52547
+ }, t$ = { class: "pb-meters" }, n$ = { class: "pb-meter-label" }, r$ = {
52494
52548
  key: 0,
52495
52549
  class: "pb-bar"
52496
- }, l$ = {
52550
+ }, i$ = {
52497
52551
  key: 0,
52498
52552
  class: "pb-section",
52499
52553
  "aria-label": "当前任务"
52500
- }, u$ = {
52554
+ }, a$ = {
52501
52555
  class: "pb-section",
52502
52556
  "aria-label": "发言顺序"
52503
- }, d$ = { class: "pb-member-body" }, f$ = { class: "pb-member-name" }, p$ = {
52557
+ }, o$ = { class: "pb-member-body" }, s$ = { class: "pb-member-name" }, c$ = {
52504
52558
  key: 0,
52505
52559
  class: "pb-member-model"
52506
- }, m$ = {
52560
+ }, l$ = {
52507
52561
  key: 1,
52508
52562
  class: "pb-member-model",
52509
52563
  title: "它工作时请不要在原窗口继续操作"
52510
- }, h$ = {
52564
+ }, u$ = ["title"], d$ = {
52511
52565
  key: 0,
52512
52566
  role: "alert",
52513
52567
  class: "pb-free-note is-error"
52514
- }, g$ = {
52568
+ }, f$ = {
52515
52569
  key: 1,
52516
52570
  role: "status",
52517
52571
  class: "pb-free-note"
52518
- }, _$ = {
52572
+ }, p$ = {
52519
52573
  key: 2,
52520
52574
  role: "alert",
52521
52575
  class: "pb-free-note is-error"
52522
- }, v$ = {
52576
+ }, m$ = {
52523
52577
  key: 3,
52524
52578
  role: "status",
52525
52579
  class: "pb-free-note"
52526
- }, y$ = {
52580
+ }, h$ = {
52527
52581
  key: 1,
52528
52582
  class: "pb-section",
52529
52583
  "aria-label": "头脑风暴"
52530
- }, b$ = ["onClick"], x$ = {
52584
+ }, g$ = ["onClick"], _$ = {
52531
52585
  key: 2,
52532
52586
  class: "pb-actions",
52533
52587
  "aria-label": "操作"
52534
- }, S$ = {
52588
+ }, v$ = {
52535
52589
  key: 0,
52536
52590
  class: "pb-free-note"
52537
- }, C$ = {
52591
+ }, y$ = {
52538
52592
  key: 3,
52539
52593
  class: "pb-section",
52540
52594
  "aria-label": "执行耗时"
52541
- }, w$ = { class: "pb-timing-heading" }, T$ = { class: "pb-timings" }, E$ = { class: "pb-timing-who" }, D$ = { class: "pb-timing-stages" }, O$ = 90, k$ = /*#__PURE__*/ XH({
52595
+ }, b$ = { class: "pb-timing-heading" }, x$ = { class: "pb-timings" }, S$ = { class: "pb-timing-who" }, C$ = { class: "pb-timing-stages" }, w$ = 90, T$ = /*#__PURE__*/ XH({
52542
52596
  __name: "FreeBoard",
52543
52597
  setup(e) {
52544
52598
  let { view: t, bridge: n, act: r, pending: i } = xr("discussion"), a = ["dispatched", "started"], o = {
@@ -52559,7 +52613,7 @@ var hU = /*#__PURE__*/ XH({
52559
52613
  if (e.status === "away") return "已离开:不会被唤醒,可请回";
52560
52614
  if (h(e)) return "待注册";
52561
52615
  let n = e.execution;
52562
- return n && a.includes(n.status) ? n.stale ? "执行失联,停止未确认" : "正在处理" : e.pending ? `待投递 ${e.pending} 条` : t === "queued" ? "等待依次发言" : n?.status === "failed" ? `上次失败:${n.result}` : !n && e.access === "manual" ? "已注册" : "空闲";
52616
+ return n && a.includes(n.status) ? n.stale ? "执行失联,停止未确认" : "正在处理" : e.pending ? `待投递 ${e.pending} 条` : t === "queued" ? "等待依次发言" : n?.status === "failed" ? "执行失败" : !n && e.access === "manual" ? "已注册" : "空闲";
52563
52617
  }
52564
52618
  function v(e) {
52565
52619
  return e.access === "runner" ? n.participant_model(e.name, c.value, t.value.launch.room_models) : "";
@@ -52694,32 +52748,32 @@ var hU = /*#__PURE__*/ XH({
52694
52748
  D.value = !1;
52695
52749
  }), (e, i) => {
52696
52750
  let a = pA, p = sA, h = MA, ee = CH;
52697
- return U(), W("div", e$, [
52698
- K("header", t$, [i[5] ||= K("strong", null, "自由协作", -1), K("span", n$, P(u.value ? `${I(n).display_name(u.value.name)} 主持` : "无主持人"), 1)]),
52751
+ return U(), W("div", YQ, [
52752
+ K("header", XQ, [i[5] ||= K("strong", null, "自由协作", -1), K("span", ZQ, P(u.value ? `${I(n).display_name(u.value.name)} 主持` : "无主持人"), 1)]),
52699
52753
  K("section", {
52700
52754
  class: M(["pb-status", `is-${y.value.tone}`]),
52701
52755
  "aria-label": "房间状态"
52702
52756
  }, [
52703
- K("div", r$, [i[6] ||= K("span", { class: "pb-dot" }, null, -1), K("strong", i$, P(y.value.title), 1)]),
52704
- y.value.detail ? (U(), W("p", a$, P(y.value.detail), 1)) : Y("", !0),
52705
- K("div", o$, [(U(!0), W(H, null, B(b.value, (e) => (U(), W("div", {
52757
+ K("div", QQ, [i[6] ||= K("span", { class: "pb-dot" }, null, -1), K("strong", $Q, P(y.value.title), 1)]),
52758
+ y.value.detail ? (U(), W("p", e$, P(y.value.detail), 1)) : Y("", !0),
52759
+ K("div", t$, [(U(!0), W(H, null, B(b.value, (e) => (U(), W("div", {
52706
52760
  key: e.label,
52707
52761
  class: "pb-meter"
52708
- }, [K("div", s$, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", c$, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])
52762
+ }, [K("div", n$, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", r$, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])
52709
52763
  ], 2),
52710
- x.value ? (U(), W("section", l$, [
52764
+ x.value ? (U(), W("section", i$, [
52711
52765
  i[7] ||= K("h4", null, "当前任务", -1),
52712
52766
  K("p", { class: M(["pb-focus", { "is-expanded": S.value }]) }, P(x.value), 3),
52713
- x.value.length > O$ ? (U(), W("button", {
52767
+ x.value.length > w$ ? (U(), W("button", {
52714
52768
  key: 0,
52715
52769
  type: "button",
52716
52770
  class: "pb-link",
52717
52771
  onClick: i[0] ||= (e) => S.value = !S.value
52718
52772
  }, P(S.value ? "收起" : "展开"), 1)) : Y("", !0)
52719
52773
  ])) : Y("", !0),
52720
- K("section", u$, [
52774
+ K("section", a$, [
52721
52775
  i[9] ||= K("h4", null, "发言顺序", -1),
52722
- q(YZ, { away: f.value }, {
52776
+ q(WZ, { away: f.value }, {
52723
52777
  default: L(({ item: e }) => [(U(!0), W(H, null, B([d(e.name)].filter(Boolean), (t) => (U(), W(H, { key: t.id }, [
52724
52778
  q(a, {
52725
52779
  src: I(n).identities[t.name]?.icon,
@@ -52733,8 +52787,8 @@ var hU = /*#__PURE__*/ XH({
52733
52787
  "alt",
52734
52788
  "class"
52735
52789
  ]),
52736
- K("div", d$, [
52737
- K("div", f$, [
52790
+ K("div", o$, [
52791
+ K("div", s$, [
52738
52792
  J(P(I(n).display_name(t.name)), 1),
52739
52793
  t.role === "host" ? (U(), G(p, {
52740
52794
  key: 0,
@@ -52743,9 +52797,12 @@ var hU = /*#__PURE__*/ XH({
52743
52797
  })) : Y("", !0),
52744
52798
  K("small", null, P(t.role === "host" ? `主持 · ${s[t.access]}` : s[t.access]), 1)
52745
52799
  ]),
52746
- v(t) ? (U(), W("div", p$, P(v(t)), 1)) : Y("", !0),
52747
- t.session_mode === "borrowed" ? (U(), W("div", m$, "借用已有会话")) : Y("", !0),
52748
- K("div", { class: M(["pb-member-status", `is-${g(t)}`]) }, [i[8] ||= K("span", { class: "pb-dot" }, null, -1), J(P(_(t, e.state)), 1)], 2)
52800
+ v(t) ? (U(), W("div", c$, P(v(t)), 1)) : Y("", !0),
52801
+ t.session_mode === "borrowed" ? (U(), W("div", l$, "借用已有会话")) : Y("", !0),
52802
+ K("div", { class: M(["pb-member-status", `is-${g(t)}`]) }, [i[8] ||= K("span", { class: "pb-dot" }, null, -1), K("span", {
52803
+ class: "pb-member-status-text",
52804
+ title: t.execution?.status === "failed" ? t.execution.result : void 0
52805
+ }, P(_(t, e.state)), 9, u$)], 2)
52749
52806
  ]),
52750
52807
  q(ee, {
52751
52808
  items: T(t),
@@ -52769,8 +52826,8 @@ var hU = /*#__PURE__*/ XH({
52769
52826
  key: e.executions.join("-"),
52770
52827
  class: "pb-free-note is-warning"
52771
52828
  }, "可能冲突:" + P(e.members.map((e) => I(n).display_name(e)).join(" 与 ")) + " 的重叠执行观察到 " + P(e.files.join("、")) + " 变化;修改者未确认。", 1))), 128)),
52772
- I(t).free_error ? (U(), W("p", h$, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", g$, P(I(t).free_notice), 1)) : Y("", !0),
52773
- I(t).access?.error ? (U(), W("p", _$, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", v$, P(I(t).access.notice), 1)) : Y("", !0),
52829
+ I(t).free_error ? (U(), W("p", d$, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", f$, P(I(t).free_notice), 1)) : Y("", !0),
52830
+ I(t).access?.error ? (U(), W("p", p$, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", m$, P(I(t).access.notice), 1)) : Y("", !0),
52774
52831
  c.value.archived ? Y("", !0) : (U(), G(h, {
52775
52832
  key: 4,
52776
52833
  icon: "i-lucide-plus",
@@ -52782,13 +52839,13 @@ var hU = /*#__PURE__*/ XH({
52782
52839
  onClick: i[1] ||= (e) => E.value = !0
52783
52840
  }))
52784
52841
  ]),
52785
- c.value.linked_rooms?.length ? (U(), W("section", y$, [i[10] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(c.value.linked_rooms, (e) => (U(), W("button", {
52842
+ c.value.linked_rooms?.length ? (U(), W("section", h$, [i[10] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(c.value.linked_rooms, (e) => (U(), W("button", {
52786
52843
  key: e.id,
52787
52844
  type: "button",
52788
52845
  class: "pb-link pb-free-linked",
52789
52846
  onClick: (t) => I(r)("room", e.id)
52790
- }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, b$))), 128))])) : Y("", !0),
52791
- c.value.archived ? Y("", !0) : (U(), W("section", x$, [q(h, {
52847
+ }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, g$))), 128))])) : Y("", !0),
52848
+ c.value.archived ? Y("", !0) : (U(), W("section", _$, [q(h, {
52792
52849
  icon: "i-lucide-messages-square",
52793
52850
  label: "开启讨论",
52794
52851
  size: "sm",
@@ -52798,13 +52855,13 @@ var hU = /*#__PURE__*/ XH({
52798
52855
  title: "由主持人推进成员轮流发言,到上限或结束后房间回到自由协作",
52799
52856
  disabled: !O.value,
52800
52857
  onClick: i[2] ||= (e) => D.value = !0
52801
- }, null, 8, ["disabled"]), O.value ? Y("", !0) : (U(), W("p", S$, "开启讨论需要一位由本机唤醒的 AI 主持人。"))])),
52802
- C.value.items.length ? (U(), W("section", C$, [K("div", w$, [i[11] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(C.value.items.length) + " 次执行 · " + P(w(C.value.total)), 1)]), K("details", T$, [i[12] ||= K("summary", null, "查看每次执行", -1), K("ol", null, [(U(!0), W(H, null, B(C.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", E$, [J("#" + P(e.id) + " " + P(m(e.member_id)), 1), K("small", null, P(o[e.status] || e.status), 1)]), K("span", D$, [K("span", null, "用时 " + P(w(e.seconds)), 1)])]))), 128))])])])) : Y("", !0),
52803
- q($Q, {
52858
+ }, null, 8, ["disabled"]), O.value ? Y("", !0) : (U(), W("p", v$, "开启讨论需要一位由本机唤醒的 AI 主持人。"))])),
52859
+ C.value.items.length ? (U(), W("section", y$, [K("div", b$, [i[11] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(C.value.items.length) + " 次执行 · " + P(w(C.value.total)), 1)]), K("details", x$, [i[12] ||= K("summary", null, "查看每次执行", -1), K("ol", null, [(U(!0), W(H, null, B(C.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", S$, [J("#" + P(e.id) + " " + P(m(e.member_id)), 1), K("small", null, P(o[e.status] || e.status), 1)]), K("span", C$, [K("span", null, "用时 " + P(w(e.seconds)), 1)])]))), 128))])])])) : Y("", !0),
52860
+ q(JQ, {
52804
52861
  open: D.value,
52805
52862
  "onUpdate:open": i[3] ||= (e) => D.value = e
52806
52863
  }, null, 8, ["open"]),
52807
- q(FZ, {
52864
+ q(AZ, {
52808
52865
  open: E.value,
52809
52866
  "onUpdate:open": i[4] ||= (e) => E.value = e,
52810
52867
  description: "新成员加入后不打断其他成员;点卡片翻面可设置软件、模型、项目权限和要续接的已有会话。"
@@ -52812,47 +52869,47 @@ var hU = /*#__PURE__*/ XH({
52812
52869
  ]);
52813
52870
  };
52814
52871
  }
52815
- }, [["__scopeId", "data-v-11a4b3fe"]]), A$ = {
52872
+ }, [["__scopeId", "data-v-4ca5a032"]]), E$ = {
52816
52873
  id: "channel-sidebar",
52817
52874
  class: "channel-sidebar",
52818
52875
  "aria-label": "房间导航"
52819
- }, j$ = { class: "channel-sidebar-content" }, M$ = { class: "channel-directory-heading channel-tools-heading" }, N$ = ["aria-expanded"], P$ = { class: "channel-sidebar-footer" }, F$ = ["aria-label"], I$ = { class: "channel-self" }, L$ = ["title"], R$ = [
52876
+ }, D$ = { class: "channel-sidebar-content" }, O$ = { class: "channel-directory-heading channel-tools-heading" }, k$ = ["aria-expanded"], A$ = { class: "channel-sidebar-footer" }, j$ = ["aria-label"], M$ = { class: "channel-self" }, N$ = ["title"], P$ = [
52820
52877
  "aria-valuemax",
52821
52878
  "aria-valuenow",
52822
52879
  "aria-valuetext"
52823
- ], z$ = { class: "channel-main" }, B$ = { class: "channel-header" }, V$ = { class: "channel-title-icon" }, H$ = { class: "channel-title" }, U$ = { class: "channel-title-copy" }, W$ = ["title"], G$ = {
52880
+ ], F$ = { class: "channel-main" }, I$ = { class: "channel-header" }, L$ = { class: "channel-title-icon" }, R$ = { class: "channel-title" }, z$ = { class: "channel-title-copy" }, B$ = ["title"], V$ = {
52824
52881
  key: 0,
52825
52882
  class: "channel-header-context"
52826
- }, K$ = { class: "channel-header-actions" }, q$ = {
52883
+ }, H$ = { class: "channel-header-actions" }, U$ = {
52827
52884
  key: 0,
52828
52885
  class: "channel-launch-recovery",
52829
52886
  "aria-label": "未完成的创建或启动请求"
52830
- }, J$ = { role: "status" }, Y$ = { class: "button-row" }, X$ = {
52887
+ }, W$ = { role: "status" }, G$ = { class: "button-row" }, K$ = {
52831
52888
  key: 1,
52832
52889
  class: "channel-tabbar"
52833
- }, Z$ = { class: "channel-brief-inner" }, Q$ = { class: "channel-brief-heading" }, $$ = ["aria-label", "aria-expanded"], e1 = {
52890
+ }, q$ = { class: "channel-brief-inner" }, J$ = { class: "channel-brief-heading" }, Y$ = ["aria-label", "aria-expanded"], X$ = {
52834
52891
  key: 0,
52835
52892
  class: "channel-brief-preview"
52836
- }, t1 = {
52893
+ }, Z$ = {
52837
52894
  id: "channel-brief-content",
52838
52895
  class: "channel-brief-content"
52839
- }, n1 = ["innerHTML"], r1 = { class: "channel-brief-footer" }, i1 = { class: "channel-brief-status" }, a1 = { class: "channel-content" }, o1 = {
52896
+ }, Q$ = ["innerHTML"], $$ = { class: "channel-brief-footer" }, e1 = { class: "channel-brief-status" }, t1 = { class: "channel-content" }, n1 = {
52840
52897
  key: 0,
52841
52898
  class: "content-page channel-summary",
52842
52899
  role: "tabpanel",
52843
52900
  "aria-label": "共识"
52844
- }, s1 = { class: "page-heading" }, c1 = { class: "form-footer" }, l1 = {
52901
+ }, r1 = { class: "page-heading" }, i1 = { class: "form-footer" }, a1 = {
52845
52902
  key: 1,
52846
52903
  class: "channel-empty"
52847
- }, u1 = ["aria-valuenow", "aria-valuetext"], d1 = {
52904
+ }, o1 = ["aria-valuenow", "aria-valuetext"], s1 = {
52848
52905
  key: 2,
52849
52906
  id: "channel-member-rail",
52850
52907
  class: "channel-member-rail",
52851
52908
  "aria-label": "当前焦点与讨论进度"
52852
- }, f1 = { class: "channel-rail-board" }, p1 = {
52909
+ }, c1 = { class: "channel-rail-board" }, l1 = {
52853
52910
  key: 2,
52854
52911
  class: "progress-board is-docked"
52855
- }, m1 = { class: "channel-detail-title" }, h1 = { class: "info-section" }, g1 = "ai-codiscuss-channel-layout", _1 = 220, v1 = 440, y1 = 280, b1 = 16, x1 = 180, S1 = 400, C1 = 248, w1 = 16, T1 = 480, E1 = 1200, D1 = 0, O1 = {
52912
+ }, u1 = { class: "channel-detail-title" }, d1 = { class: "info-section" }, f1 = "ai-codiscuss-channel-layout", p1 = 220, m1 = 440, h1 = 280, g1 = 16, _1 = 180, v1 = 400, y1 = 248, b1 = 16, x1 = 480, S1 = 1200, C1 = 0, w1 = {
52856
52913
  __name: "ChannelWorkspace",
52857
52914
  setup(e) {
52858
52915
  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 = [{
@@ -52874,14 +52931,14 @@ var hU = /*#__PURE__*/ XH({
52874
52931
  label: "宽",
52875
52932
  width: 1240
52876
52933
  }
52877
- }, b = Te(), 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 >= E1), k = Z(() => t.value.tab === "discussion" && !O.value), te = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), ne = Z(() => {
52934
+ }, b = Te(), 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 >= S1), k = Z(() => t.value.tab === "discussion" && !O.value), te = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), ne = Z(() => {
52878
52935
  let e = document.createElement("template");
52879
52936
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
52880
- }), re = /* @__PURE__ */ F(null), ie = /* @__PURE__ */ F(0), A = null, j = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(null), oe = Z(() => Math.min(S1, Math.max(x1, T.value - T1 - D1))), se = Z(() => Math.min(w.value, oe.value)), ce = Z(() => ({
52937
+ }), re = /* @__PURE__ */ F(null), ie = /* @__PURE__ */ F(0), A = null, j = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(null), oe = Z(() => Math.min(v1, Math.max(_1, T.value - x1 - C1))), se = Z(() => Math.min(w.value, oe.value)), ce = Z(() => ({
52881
52938
  "--channel-reading-width": `${y[x.value].width}px`,
52882
52939
  "--channel-rail-width": `${C.value}px`,
52883
52940
  "--channel-topbar-height": `${ie.value}px`,
52884
- "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${se.value}px ${D1}px minmax(0, 1fr)`
52941
+ "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${se.value}px ${C1}px minmax(0, 1fr)`
52885
52942
  })), le = Object.entries(y).map(([e, t]) => ({
52886
52943
  value: e,
52887
52944
  label: t.label
@@ -52964,12 +53021,12 @@ var hU = /*#__PURE__*/ XH({
52964
53021
  }
52965
53022
  function Te() {
52966
53023
  try {
52967
- let e = JSON.parse(localStorage.getItem(g1)) || {};
53024
+ let e = JSON.parse(localStorage.getItem(f1)) || {};
52968
53025
  return {
52969
53026
  reading: Object.hasOwn(y, e.reading) ? e.reading : "default",
52970
53027
  effects: e.effects === "reduced" ? "reduced" : "full",
52971
- rail: Number.isFinite(e.rail) ? Math.min(v1, Math.max(_1, e.rail)) : y1,
52972
- nav: Number.isFinite(e.nav) ? Math.min(S1, Math.max(x1, e.nav)) : Ee(),
53028
+ rail: Number.isFinite(e.rail) ? Math.min(m1, Math.max(p1, e.rail)) : h1,
53029
+ nav: Number.isFinite(e.nav) ? Math.min(v1, Math.max(_1, e.nav)) : Ee(),
52973
53030
  collapsed: e.collapsed === !0,
52974
53031
  brief_collapsed: e.brief_collapsed === !0,
52975
53032
  rail_collapsed: e.rail_collapsed === !0
@@ -52978,7 +53035,7 @@ var hU = /*#__PURE__*/ XH({
52978
53035
  return {
52979
53036
  reading: "default",
52980
53037
  effects: "full",
52981
- rail: y1,
53038
+ rail: h1,
52982
53039
  nav: Ee(),
52983
53040
  collapsed: !1,
52984
53041
  brief_collapsed: !1,
@@ -52987,11 +53044,11 @@ var hU = /*#__PURE__*/ XH({
52987
53044
  }
52988
53045
  }
52989
53046
  function Ee() {
52990
- return typeof window > "u" ? C1 : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : C1;
53047
+ return typeof window > "u" ? y1 : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : y1;
52991
53048
  }
52992
53049
  function De() {
52993
53050
  try {
52994
- localStorage.setItem(g1, JSON.stringify({
53051
+ localStorage.setItem(f1, JSON.stringify({
52995
53052
  reading: x.value,
52996
53053
  effects: S.value,
52997
53054
  rail: C.value,
@@ -53022,19 +53079,19 @@ var hU = /*#__PURE__*/ XH({
53022
53079
  }, e.currentTarget.setPointerCapture(e.pointerId));
53023
53080
  }
53024
53081
  function Ne(e) {
53025
- j.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(v1, Math.max(_1, j.value.width + j.value.x - e.clientX))));
53082
+ j.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(m1, Math.max(p1, j.value.width + j.value.x - e.clientX))));
53026
53083
  }
53027
53084
  function Pe(e) {
53028
53085
  j.value?.pointer === e.pointerId && (j.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), De());
53029
53086
  }
53030
53087
  function Fe(e) {
53031
53088
  let t = {
53032
- ArrowLeft: C.value + b1,
53033
- ArrowRight: C.value - b1,
53034
- Home: _1,
53035
- End: v1
53089
+ ArrowLeft: C.value + g1,
53090
+ ArrowRight: C.value - g1,
53091
+ Home: p1,
53092
+ End: m1
53036
53093
  };
53037
- Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(v1, Math.max(_1, t[e.key])), De());
53094
+ Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(m1, Math.max(p1, t[e.key])), De());
53038
53095
  }
53039
53096
  function Ie(e) {
53040
53097
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ae.value = {
@@ -53044,19 +53101,19 @@ var hU = /*#__PURE__*/ XH({
53044
53101
  }, e.currentTarget.setPointerCapture(e.pointerId));
53045
53102
  }
53046
53103
  function Le(e) {
53047
- ae.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(oe.value, Math.max(x1, ae.value.width + e.clientX - ae.value.x))));
53104
+ ae.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(oe.value, Math.max(_1, ae.value.width + e.clientX - ae.value.x))));
53048
53105
  }
53049
53106
  function Re(e) {
53050
53107
  ae.value?.pointer === e.pointerId && (ae.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), De());
53051
53108
  }
53052
53109
  function ze(e) {
53053
53110
  let t = {
53054
- ArrowLeft: se.value - w1,
53055
- ArrowRight: se.value + w1,
53056
- Home: x1,
53111
+ ArrowLeft: se.value - b1,
53112
+ ArrowRight: se.value + b1,
53113
+ Home: _1,
53057
53114
  End: oe.value
53058
53115
  };
53059
- Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(oe.value, Math.max(x1, t[e.key])), De());
53116
+ Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(oe.value, Math.max(_1, t[e.key])), De());
53060
53117
  }
53061
53118
  return (e, r) => {
53062
53119
  let y = sA, b = lH, w = pA, T = MA, O = $V, ie = WV, A = YV, de = KV, Te = HV, Ee = zV, De = NV, ke = AV;
@@ -53068,10 +53125,10 @@ var hU = /*#__PURE__*/ XH({
53068
53125
  }]),
53069
53126
  style: fe(ce.value)
53070
53127
  }, [
53071
- K("aside", A$, [
53128
+ K("aside", E$, [
53072
53129
  r[25] ||= 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),
53073
- K("div", j$, [
53074
- q(yZ, {
53130
+ K("div", D$, [
53131
+ q(mZ, {
53075
53132
  onSelect: ye,
53076
53133
  onManage: _e,
53077
53134
  onCreate: xe,
@@ -53080,12 +53137,12 @@ var hU = /*#__PURE__*/ XH({
53080
53137
  onDeleteFolder: we,
53081
53138
  onArchives: ve
53082
53139
  }),
53083
- K("div", M$, [K("button", {
53140
+ K("div", O$, [K("button", {
53084
53141
  type: "button",
53085
53142
  class: "channel-section-toggle",
53086
53143
  "aria-expanded": f.value,
53087
53144
  onClick: r[0] ||= (e) => f.value = !f.value
53088
- }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[24] ||= J("频道工具", -1)], 8, N$)]),
53145
+ }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[24] ||= J("频道工具", -1)], 8, k$)]),
53089
53146
  f.value ? (U(), G(b, {
53090
53147
  key: 0,
53091
53148
  items: he.value,
@@ -53101,7 +53158,7 @@ var hU = /*#__PURE__*/ XH({
53101
53158
  }
53102
53159
  }, null, 8, ["items"])) : Y("", !0)
53103
53160
  ]),
53104
- K("footer", P$, [K("button", {
53161
+ K("footer", A$, [K("button", {
53105
53162
  type: "button",
53106
53163
  class: "channel-self-button",
53107
53164
  "aria-label": `账号与设置:${I(n).display_name(I(_))}${ge.value ? "," + ge.value : ""}`,
@@ -53117,10 +53174,10 @@ var hU = /*#__PURE__*/ XH({
53117
53174
  "text",
53118
53175
  "alt",
53119
53176
  "class"
53120
- ]), K("span", I$, [K("strong", null, P(I(n).display_name(I(_))), 1), K("span", { class: M(["channel-connection", { "is-action": ge.value }]) }, [K("span", {
53177
+ ]), K("span", M$, [K("strong", null, P(I(n).display_name(I(_))), 1), K("span", { class: M(["channel-connection", { "is-action": ge.value }]) }, [K("span", {
53121
53178
  class: M({ connected: I(t).connected }),
53122
53179
  title: I(t).connected ? "网站已连接" : "网站未连接"
53123
- }, null, 10, L$), J(P(ge.value || (I(t).connected ? "网站已连接" : "网站未连接")), 1)], 2)])], 8, F$), q(O, { text: "设置" }, {
53180
+ }, null, 10, N$), J(P(ge.value || (I(t).connected ? "网站已连接" : "网站未连接")), 1)], 2)])], 8, j$), q(O, { text: "设置" }, {
53124
53181
  default: L(() => [q(T, {
53125
53182
  icon: "i-lucide-settings-2",
53126
53183
  color: "neutral",
@@ -53141,7 +53198,7 @@ var hU = /*#__PURE__*/ XH({
53141
53198
  "aria-label": "调整房间栏宽度",
53142
53199
  "aria-orientation": "vertical",
53143
53200
  "aria-controls": "channel-sidebar",
53144
- "aria-valuemin": x1,
53201
+ "aria-valuemin": _1,
53145
53202
  "aria-valuemax": oe.value,
53146
53203
  "aria-valuenow": se.value,
53147
53204
  "aria-valuetext": `${se.value} 像素`,
@@ -53152,13 +53209,13 @@ var hU = /*#__PURE__*/ XH({
53152
53209
  onPointercancel: Re,
53153
53210
  onLostpointercapture: Re,
53154
53211
  onKeydown: ze
53155
- }, null, 40, R$)),
53156
- K("main", z$, [K("div", {
53212
+ }, null, 40, P$)),
53213
+ K("main", F$, [K("div", {
53157
53214
  ref_key: "topbar",
53158
53215
  ref: re,
53159
53216
  class: M(["channel-topbar", { "is-overlay": o.value && I(t).tab === "discussion" }])
53160
53217
  }, [
53161
- K("header", B$, [
53218
+ K("header", I$, [
53162
53219
  q(O, { text: E.value ? "展开房间栏" : "收起房间栏" }, {
53163
53220
  default: L(() => [q(T, {
53164
53221
  icon: "i-lucide-panel-left",
@@ -53183,8 +53240,8 @@ var hU = /*#__PURE__*/ XH({
53183
53240
  "aria-expanded": d.value,
53184
53241
  onClick: r[4] ||= (e) => d.value = !0
53185
53242
  }, null, 8, ["aria-expanded"]),
53186
- K("span", V$, [q(y, { name: "i-lucide-hash" })]),
53187
- K("div", H$, [K("div", U$, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, W$)]), o.value?.archived ? (U(), G(ie, {
53243
+ K("span", L$, [q(y, { name: "i-lucide-hash" })]),
53244
+ K("div", R$, [K("div", z$, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, B$)]), o.value?.archived ? (U(), G(ie, {
53188
53245
  key: 0,
53189
53246
  color: "neutral",
53190
53247
  variant: "subtle",
@@ -53193,12 +53250,12 @@ var hU = /*#__PURE__*/ XH({
53193
53250
  default: L(() => [...r[26] ||= [J("已存档", -1)]]),
53194
53251
  _: 1
53195
53252
  })) : Y("", !0)]),
53196
- o.value ? (U(), W("span", G$, [
53253
+ o.value ? (U(), W("span", V$, [
53197
53254
  J(P(me.value.find((e) => e.value === I(t).tab)?.label), 1),
53198
53255
  r[27] ||= K("span", null, "·", -1),
53199
53256
  J(P(o.value.message_count) + " 条记录", 1)
53200
53257
  ])) : Y("", !0),
53201
- K("div", K$, [
53258
+ K("div", H$, [
53202
53259
  I(t).tab === "discussion" ? (U(), W("form", {
53203
53260
  key: 0,
53204
53261
  class: "channel-search",
@@ -53256,7 +53313,7 @@ var hU = /*#__PURE__*/ XH({
53256
53313
  ])]),
53257
53314
  _: 1
53258
53315
  })) : Y("", !0),
53259
- o.value && !(k.value && ee.value) ? (U(), G(XQ, { key: 2 })) : Y("", !0)
53316
+ o.value && !(k.value && ee.value) ? (U(), G(GQ, { key: 2 })) : Y("", !0)
53260
53317
  ]),
53261
53318
  q(O, { text: te.value }, {
53262
53319
  default: L(() => [q(T, {
@@ -53277,12 +53334,12 @@ var hU = /*#__PURE__*/ XH({
53277
53334
  _: 1
53278
53335
  }, 8, ["text"])
53279
53336
  ]),
53280
- I(t).launch.recoveries.length ? (U(), W("section", q$, [
53337
+ I(t).launch.recoveries.length ? (U(), W("section", U$, [
53281
53338
  r[28] ||= K("h2", null, "继续未完成的请求", -1),
53282
53339
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
53283
53340
  K("strong", null, P(e.title), 1),
53284
- K("p", J$, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
53285
- K("div", Y$, [
53341
+ K("p", W$, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
53342
+ K("div", G$, [
53286
53343
  q(T, {
53287
53344
  label: e.direct ? "继续创建房间" : "继续本次启动",
53288
53345
  size: "sm",
@@ -53315,7 +53372,7 @@ var hU = /*#__PURE__*/ XH({
53315
53372
  ]))), 128)),
53316
53373
  r[29] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
53317
53374
  ])) : Y("", !0),
53318
- o.value ? (U(), W("div", X$, [q(de, {
53375
+ o.value ? (U(), W("div", K$, [q(de, {
53319
53376
  modelValue: ue.value,
53320
53377
  "onUpdate:modelValue": r[9] ||= (e) => ue.value = e,
53321
53378
  items: me.value,
@@ -53330,7 +53387,7 @@ var hU = /*#__PURE__*/ XH({
53330
53387
  key: 2,
53331
53388
  class: M(["channel-host-brief", { "is-collapsed": D.value }]),
53332
53389
  "aria-label": "主持简报"
53333
- }, [K("div", Z$, [K("div", Q$, [K("button", {
53390
+ }, [K("div", q$, [K("div", J$, [K("button", {
53334
53391
  type: "button",
53335
53392
  class: "channel-brief-toggle",
53336
53393
  "aria-label": D.value ? "展开主持简报" : "收起主持简报",
@@ -53340,8 +53397,8 @@ var hU = /*#__PURE__*/ XH({
53340
53397
  }, [
53341
53398
  q(y, { name: D.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
53342
53399
  K("strong", null, "主持简报" + P(D.value ? ":" : ""), 1),
53343
- D.value ? (U(), W("span", e1, P(ne.value), 1)) : Y("", !0)
53344
- ], 8, $$), D.value ? Y("", !0) : (U(), G(T, {
53400
+ D.value ? (U(), W("span", X$, P(ne.value), 1)) : Y("", !0)
53401
+ ], 8, Y$), D.value ? Y("", !0) : (U(), G(T, {
53345
53402
  key: 0,
53346
53403
  label: "更新简报",
53347
53404
  color: "neutral",
@@ -53349,19 +53406,19 @@ var hU = /*#__PURE__*/ XH({
53349
53406
  size: "xs",
53350
53407
  class: "channel-brief-update",
53351
53408
  onClick: r[10] ||= (e) => I(i)("tab", "context")
53352
- }))]), vr(K("div", t1, [K("div", {
53409
+ }))]), vr(K("div", Z$, [K("div", {
53353
53410
  class: "channel-brief-text markdown-body",
53354
53411
  innerHTML: o.value.rendered_brief
53355
- }, null, 8, n1), K("div", r1, [K("span", i1, 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)
53412
+ }, null, 8, Q$), K("div", $$, [K("span", e1, 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)
53356
53413
  ], 2), o.value ? (U(), W("div", {
53357
53414
  key: 0,
53358
53415
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
53359
- }, [K("div", a1, [
53360
- vr(q(pK, {
53416
+ }, [K("div", t1, [
53417
+ vr(q(cK, {
53361
53418
  onDetail: be,
53362
53419
  onEdit: r[11] ||= (e) => s.value = "edit"
53363
53420
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
53364
- I(t).tab === "context" ? (U(), W("section", o1, [K("div", s1, [r[30] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(ie, {
53421
+ I(t).tab === "context" ? (U(), W("section", n1, [K("div", r1, [r[30] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(ie, {
53365
53422
  color: "neutral",
53366
53423
  variant: "outline"
53367
53424
  }, {
@@ -53402,7 +53459,7 @@ var hU = /*#__PURE__*/ XH({
53402
53459
  }, null, 8, ["modelValue"])]),
53403
53460
  _: 1
53404
53461
  }),
53405
- K("div", c1, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(T, {
53462
+ K("div", i1, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(T, {
53406
53463
  type: "submit",
53407
53464
  color: "neutral",
53408
53465
  icon: "i-lucide-check",
@@ -53411,12 +53468,12 @@ var hU = /*#__PURE__*/ XH({
53411
53468
  loading: I(a) === "save_context"
53412
53469
  }, null, 8, ["loading"])])
53413
53470
  ], 32)])) : Y("", !0),
53414
- I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(Zq, {
53471
+ I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(Kq, {
53415
53472
  key: I(t).tab,
53416
53473
  onOpen: r[15] ||= (e) => s.value = e,
53417
53474
  onDetail: be
53418
53475
  })) : Y("", !0)
53419
- ])], 2)) : (U(), W("div", l1, [
53476
+ ])], 2)) : (U(), W("div", a1, [
53420
53477
  q(y, { name: "i-lucide-hash" }),
53421
53478
  r[31] ||= K("h2", null, "新建一个协作房间", -1),
53422
53479
  r[32] ||= K("p", null, "邀请 AI 一起协作,随时 @ 提问;需要时开启讨论,保留所有人的观点。", -1),
@@ -53435,8 +53492,8 @@ var hU = /*#__PURE__*/ XH({
53435
53492
  "aria-label": "调整右侧栏宽度",
53436
53493
  "aria-orientation": "vertical",
53437
53494
  "aria-controls": "channel-member-rail",
53438
- "aria-valuemin": _1,
53439
- "aria-valuemax": v1,
53495
+ "aria-valuemin": p1,
53496
+ "aria-valuemax": m1,
53440
53497
  "aria-valuenow": C.value,
53441
53498
  "aria-valuetext": `${C.value} 像素`,
53442
53499
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -53446,11 +53503,11 @@ var hU = /*#__PURE__*/ XH({
53446
53503
  onPointercancel: Pe,
53447
53504
  onLostpointercapture: Pe,
53448
53505
  onKeydown: Fe
53449
- }, null, 40, u1)) : Y("", !0),
53450
- k.value ? (U(), W("aside", d1, [K("section", f1, [o.value && pe.value ? (U(), G(k$, { key: 0 })) : o.value ? (U(), G(GQ, {
53506
+ }, null, 40, o1)) : Y("", !0),
53507
+ k.value ? (U(), W("aside", s1, [K("section", c1, [o.value && pe.value ? (U(), G(T$, { key: 0 })) : o.value ? (U(), G(BQ, {
53451
53508
  key: 1,
53452
53509
  docked: ""
53453
- })) : (U(), W("div", p1, [...r[33] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
53510
+ })) : (U(), W("div", l1, [...r[33] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
53454
53511
  q(De, {
53455
53512
  open: d.value,
53456
53513
  "onUpdate:open": r[18] ||= (e) => d.value = e,
@@ -53462,7 +53519,7 @@ var hU = /*#__PURE__*/ XH({
53462
53519
  body: "channel-drawer-body"
53463
53520
  }
53464
53521
  }, {
53465
- body: L(() => [q(yZ, {
53522
+ body: L(() => [q(mZ, {
53466
53523
  onSelect: ye,
53467
53524
  onManage: _e,
53468
53525
  onCreate: xe,
@@ -53493,7 +53550,7 @@ var hU = /*#__PURE__*/ XH({
53493
53550
  }
53494
53551
  }, {
53495
53552
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
53496
- K("div", m1, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
53553
+ K("div", u1, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
53497
53554
  (U(), W(H, null, B([
53498
53555
  {
53499
53556
  key: "goal",
@@ -53520,7 +53577,7 @@ var hU = /*#__PURE__*/ XH({
53520
53577
  class: "info-section"
53521
53578
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
53522
53579
  q(ke),
53523
- K("section", h1, [r[34] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(N.value, (e) => (U(), W("div", {
53580
+ K("section", d1, [r[34] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(N.value, (e) => (U(), W("div", {
53524
53581
  key: e.name,
53525
53582
  class: "expert-row"
53526
53583
  }, [
@@ -53553,7 +53610,7 @@ var hU = /*#__PURE__*/ XH({
53553
53610
  ], 64)) : Y("", !0)]),
53554
53611
  _: 1
53555
53612
  }, 8, ["open"]),
53556
- q(YX, {
53613
+ q(WX, {
53557
53614
  modelValue: s.value,
53558
53615
  "onUpdate:modelValue": r[21] ||= (e) => s.value = e,
53559
53616
  "reading-width": x.value,
@@ -53577,7 +53634,7 @@ var hU = /*#__PURE__*/ XH({
53577
53634
  ], 6);
53578
53635
  };
53579
53636
  }
53580
- }, k1 = {
53637
+ }, T1 = {
53581
53638
  __name: "App",
53582
53639
  setup(e) {
53583
53640
  return br("discussion", OV()), (e, t) => {
@@ -53588,7 +53645,7 @@ var hU = /*#__PURE__*/ XH({
53588
53645
  toaster: null
53589
53646
  }, {
53590
53647
  default: L(() => [q(I(Qz), { "reduced-motion": "user" }, {
53591
- default: L(() => [q(O1)]),
53648
+ default: L(() => [q(w1)]),
53592
53649
  _: 1
53593
53650
  })]),
53594
53651
  _: 1
@@ -53598,8 +53655,8 @@ var hU = /*#__PURE__*/ XH({
53598
53655
  };
53599
53656
  //#endregion
53600
53657
  //#region frontend/main.js
53601
- function A1() {
53602
- bu(k1).use(ph).mount("#modern-root");
53658
+ function E1() {
53659
+ bu(T1).use(ph).mount("#modern-root");
53603
53660
  }
53604
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", A1) : A1();
53661
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", E1) : E1();
53605
53662
  //#endregion