ai_co_discuss 0.2.73 → 0.2.74

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
@@ -48653,23 +48653,20 @@ var hU = /*#__PURE__*/ XH({
48653
48653
  class: "channel-create-location"
48654
48654
  }, SY = { class: "create-section" }, CY = { class: "create-section" }, wY = {
48655
48655
  key: 0,
48656
- class: "fine-print create-hint"
48657
- }, TY = {
48658
- key: 1,
48659
48656
  class: "create-experts",
48660
48657
  role: "group",
48661
48658
  "aria-label": "参与的 AI"
48659
+ }, TY = {
48660
+ key: 1,
48661
+ class: "create-experts-empty"
48662
48662
  }, EY = {
48663
48663
  key: 2,
48664
- class: "create-experts-empty"
48665
- }, DY = {
48666
- key: 3,
48667
48664
  class: "fine-print create-hint create-host-hint"
48668
- }, OY = { class: "create-section" }, kY = { class: "create-footer" }, AY = {
48665
+ }, DY = { class: "create-section" }, OY = { class: "create-footer" }, kY = {
48669
48666
  key: 0,
48670
48667
  role: "alert",
48671
48668
  class: "create-error"
48672
- }, jY = { class: "create-footer-row" }, MY = ["title"], NY = "new-expert-modes", PY = 3e3, FY = /*#__PURE__*/ XH({
48669
+ }, AY = { class: "create-footer-row" }, jY = ["title"], MY = "new-expert-modes", NY = 3e3, PY = /*#__PURE__*/ XH({
48673
48670
  __name: "CreateDiscussion",
48674
48671
  props: { targetFolder: {
48675
48672
  type: Object,
@@ -48677,7 +48674,7 @@ var hU = /*#__PURE__*/ XH({
48677
48674
  } },
48678
48675
  emits: ["submit", "cancel"],
48679
48676
  setup(e, { emit: t }) {
48680
- 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[NY] || {}), p = /* @__PURE__ */ F([]), m = Z(() => Object.keys(f.value).filter((e) => f.value[e]));
48677
+ 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[MY] || {}), p = /* @__PURE__ */ F([]), m = Z(() => Object.keys(f.value).filter((e) => f.value[e]));
48681
48678
  R(m, (e) => {
48682
48679
  p.value = [...p.value.filter((t) => e.includes(t)), ...e.filter((e) => !p.value.includes(e))];
48683
48680
  }, { immediate: !0 });
@@ -48685,7 +48682,7 @@ var hU = /*#__PURE__*/ XH({
48685
48682
  if (C.value) return !!C.value.clients[i.platform_of(e)];
48686
48683
  let t = r.value.launch.profiles[e] || {};
48687
48684
  return t.adapter === "api" ? !!(t.base_url && t.api_protocol && t.api_key_ref && t.model) : !!(t.adapter && (t.adapter === "antigravity" ? t.ipc_directory : t.executable));
48688
- }, D = Z(() => S.value && w.value), O = Z(() => x.value.every(E) && (!x.value.length || w.value)), ee = Z(() => r.value.launch.available), k = Z(() => ee.value && !!r.value.launch.scheduler?.enabled), te = Z(() => r.value.launch.available ? "" : "连接本机服务后可开启"), ne = Z(() => {
48685
+ }, D = Z(() => S.value && w.value), O = Z(() => h.value.length > 0 && x.value.every(E) && (!x.value.length || w.value)), ee = Z(() => r.value.launch.available), k = Z(() => ee.value && !!r.value.launch.scheduler?.enabled), te = Z(() => r.value.launch.available ? "" : "连接本机服务后可开启"), ne = Z(() => {
48689
48686
  let e = r.value.launch.scheduler || {};
48690
48687
  return ee.value && e.enabled && !(e.provider && e.model && e.api_key_ref);
48691
48688
  }), re = Z(() => S.value && !w.value), ie = 0, A = Z(() => {
@@ -48694,23 +48691,23 @@ var hU = /*#__PURE__*/ XH({
48694
48691
  if (d.value && !w.value) return "先连接本机服务";
48695
48692
  let e = x.value.filter((e) => !E(e));
48696
48693
  return e.length && C.value ? `在电脑「${C.value.name}」上配置 ${e.join("、")}` : e.length ? `补齐 ${e.join("、")} 的接入配置` : ne.value ? "补齐决策模型配置,或移出决策模型" : "";
48697
- });
48698
- function j() {
48694
+ }), j = Z(() => !O.value || !!A.value || ne.value || a.value === "create");
48695
+ function ae() {
48699
48696
  y.value.includes(v.value) || u("host", y.value[0] || "");
48700
48697
  }
48701
48698
  Qi(() => {
48702
- j(), ie = window.setInterval(() => {
48699
+ ae(), ie = window.setInterval(() => {
48703
48700
  re.value && !document.hidden && o("check_launch_connection");
48704
- }, PY);
48701
+ }, NY);
48705
48702
  }), ta(() => window.clearInterval(ie));
48706
- function ae(e) {
48707
- i.write_create_discussion(e), Qn(j);
48703
+ function oe(e) {
48704
+ i.write_create_discussion(e), Qn(ae);
48708
48705
  }
48709
- let oe = (e) => i.launch_clients[e]?.some((e) => e.value !== "api"), se = (e) => d.value && e === v.value ? [] : ["cli", "manual"];
48710
- function ce(e, t) {
48711
- t === "cli" && !oe(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), i.write_expert(NY, e, t), j();
48706
+ let se = (e) => i.launch_clients[e]?.some((e) => e.value !== "api"), ce = (e) => d.value && e === v.value ? [] : ["cli", "manual"];
48707
+ function le(e, t) {
48708
+ t === "cli" && !se(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), i.write_expert(MY, e, t), ae();
48712
48709
  }
48713
- function le(e) {
48710
+ function ue(e) {
48714
48711
  if (f.value[e] === "online") return {
48715
48712
  text: "网页代发,由你转发回答",
48716
48713
  tone: "muted"
@@ -48735,27 +48732,27 @@ var hU = /*#__PURE__*/ XH({
48735
48732
  tone: "warn"
48736
48733
  };
48737
48734
  }
48738
- function ue(e) {
48739
- return g(e) ? `已加入 ${g(e)} 位 · 可继续添加` : oe(e) ? "API / 本地 App / CLI / 手动启动" : "API / 手动启动";
48735
+ function de(e) {
48736
+ return g(e) ? `已加入 ${g(e)} 位 · 可继续添加` : se(e) ? "API / 本地 App / CLI / 手动启动" : "API / 手动启动";
48740
48737
  }
48741
- let de = Z(() => s.map((e) => ({
48738
+ let fe = Z(() => s.map((e) => ({
48742
48739
  value: e,
48743
48740
  name: e,
48744
48741
  ...i.identities[e],
48745
48742
  disabled: !i.launch_clients[e],
48746
- title: ue(e),
48743
+ title: de(e),
48747
48744
  aria_label: `添加 ${e} 实例`
48748
48745
  })));
48749
- function fe(e) {
48750
- i.launch_clients[e] && (!oe(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), g(e) ? i.add_instance(NY, e, "cli") : ce(e, "cli"), j());
48751
- }
48752
48746
  function pe(e) {
48753
- ce(e, ""), Qn(() => _.value?.focus_first());
48747
+ i.launch_clients[e] && (!se(e) && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), g(e) ? i.add_instance(MY, e, "cli") : le(e, "cli"), ae());
48754
48748
  }
48755
- function me() {
48756
- b.value?.settle(), n("submit");
48749
+ function me(e) {
48750
+ le(e, ""), Qn(() => _.value?.focus_first());
48751
+ }
48752
+ function he() {
48753
+ j.value || (b.value?.settle(), n("submit"));
48757
48754
  }
48758
- let he = Z(() => {
48755
+ let ge = Z(() => {
48759
48756
  let e = Object.keys(f.value), t = [
48760
48757
  "协作房间",
48761
48758
  e.length ? `${e.length} 位 AI` : "暂无成员",
@@ -48772,7 +48769,7 @@ var hU = /*#__PURE__*/ XH({
48772
48769
  return U(), W("div", vY, [K("form", {
48773
48770
  id: "create-discussion-form",
48774
48771
  class: "create-scroll dialog-form",
48775
- onSubmit: uu(me, ["prevent"])
48772
+ onSubmit: uu(he, ["prevent"])
48776
48773
  }, [
48777
48774
  re.value ? (U(), W("div", yY, [K("p", null, [q(c, { name: "i-lucide-plug-zap" }), s[9] ||= J("本机服务未连接,连接后才能唤醒本机 AI。在运行 AI 的电脑上执行下面的命令并完成网页授权,连上后自动检测。", -1)]), K("div", bY, [K("code", null, P(I(r).launch.connect_command), 1), q(p, {
48778
48775
  icon: "i-lucide-copy",
@@ -48810,26 +48807,25 @@ var hU = /*#__PURE__*/ XH({
48810
48807
  ]),
48811
48808
  K("section", CY, [
48812
48809
  s[11] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1),
48813
- h.value.length ? (U(), W("p", wY, "每位成员可选本机唤醒,或手动(你来启动或代发,网页 AI 选手动)。")) : Y("", !0),
48814
48810
  q(QJ, {
48815
48811
  ref_key: "library",
48816
48812
  ref: _,
48817
48813
  label: "添加 AI",
48818
- items: de.value,
48819
- onAdd: fe
48814
+ items: fe.value,
48815
+ onAdd: pe
48820
48816
  }, null, 8, ["items"]),
48821
- h.value.length ? (U(), W("div", TY, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(YJ, {
48817
+ h.value.length ? (U(), W("div", wY, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(YJ, {
48822
48818
  key: e,
48823
48819
  name: e,
48824
48820
  mode: f.value[e],
48825
- choices: se(e),
48826
- status: le(e),
48821
+ choices: ce(e),
48822
+ status: ue(e),
48827
48823
  host: v.value === e,
48828
48824
  hostable: y.value.includes(e),
48829
48825
  hosting: "",
48830
48826
  onHost: (t) => u("host", e),
48831
- onRemove: (t) => pe(e),
48832
- onMode: (t) => ce(e, t)
48827
+ onRemove: (t) => me(e),
48828
+ onMode: (t) => le(e, t)
48833
48829
  }, null, 8, [
48834
48830
  "name",
48835
48831
  "mode",
@@ -48840,20 +48836,20 @@ var hU = /*#__PURE__*/ XH({
48840
48836
  "onHost",
48841
48837
  "onRemove",
48842
48838
  "onMode"
48843
- ]))), 128))])) : (U(), W("p", EY, "可以先不添加成员,建房后再邀请。同一平台可添加多位,各自独立会话。")),
48844
- h.value.length ? (U(), W("div", DY, [q(c, { name: "i-lucide-crown" }), K("span", null, P(y.value.length ? "点卡片上的皇冠指定主持人:没 @ 任何人的消息由它分配;其他成员只在被你或主持人点名时发言。" : "需要一位本地 AI 做主持人,没 @ 的消息才有人接。"), 1)])) : Y("", !0),
48839
+ ]))), 128))])) : (U(), W("p", TY, "请至少添加一位成员。同一平台可添加多位,各自独立会话。")),
48840
+ h.value.length ? (U(), W("div", EY, [q(c, { name: "i-lucide-crown" }), K("span", null, P(y.value.length ? "点卡片上的皇冠指定主持人:没 @ 任何人的消息由它分配;其他成员只在被你或主持人点名时发言。" : "需要一位本地 AI 做主持人,没 @ 的消息才有人接。"), 1)])) : Y("", !0),
48845
48841
  q(_Y, {
48846
48842
  free: !0,
48847
48843
  blocker: te.value
48848
48844
  }, null, 8, ["blocker"])
48849
48845
  ]),
48850
- K("section", OY, [
48846
+ K("section", DY, [
48851
48847
  s[12] ||= K("h3", null, [K("span", null, "3"), J("推进方式(可选)")], -1),
48852
48848
  q(x, {
48853
48849
  "model-value": d.value,
48854
48850
  label: "创建后开启讨论",
48855
48851
  description: "主持人安排成员轮流发言,到上限或结束后回到自由协作。也可以建房后再开启。",
48856
- "onUpdate:modelValue": s[2] ||= (e) => ae(e)
48852
+ "onUpdate:modelValue": s[2] ||= (e) => oe(e)
48857
48853
  }, null, 8, ["model-value"]),
48858
48854
  d.value ? (U(), W(H, { key: 0 }, [q(g, {
48859
48855
  label: "讨论目标",
@@ -48893,15 +48889,15 @@ var hU = /*#__PURE__*/ XH({
48893
48889
  "execution_minutes"
48894
48890
  ])], 64)) : Y("", !0)
48895
48891
  ])
48896
- ], 32), K("footer", kY, [D.value && I(r).launch.error ? (U(), W("p", AY, P(I(r).launch.error), 1)) : Y("", !0), K("div", jY, [
48892
+ ], 32), K("footer", OY, [D.value && I(r).launch.error ? (U(), W("p", kY, P(I(r).launch.error), 1)) : Y("", !0), K("div", AY, [
48897
48893
  K("span", {
48898
48894
  class: M(["create-summary", { "is-blocked": A.value }]),
48899
- title: A.value || he.value,
48895
+ title: A.value || ge.value,
48900
48896
  role: "status"
48901
48897
  }, [A.value ? (U(), G(c, {
48902
48898
  key: 0,
48903
48899
  name: "i-lucide-circle-alert"
48904
- })) : Y("", !0), J(P(A.value ? `还差:${A.value}` : h.value.length || d.value ? he.value : ""), 1)], 10, MY),
48900
+ })) : Y("", !0), J(P(A.value ? `还差:${A.value}` : h.value.length || d.value ? ge.value : ""), 1)], 10, jY),
48905
48901
  q(p, {
48906
48902
  label: "取消",
48907
48903
  color: "neutral",
@@ -48914,7 +48910,7 @@ var hU = /*#__PURE__*/ XH({
48914
48910
  class: "channel-primary-button",
48915
48911
  icon: D.value ? "i-lucide-play" : "i-lucide-plus",
48916
48912
  label: d.value ? "创建并开启讨论" : S.value ? "创建并连接" : "创建协作房间",
48917
- disabled: !O.value || !!A.value || ne.value,
48913
+ disabled: j.value,
48918
48914
  loading: I(a) === "create"
48919
48915
  }, null, 8, [
48920
48916
  "icon",
@@ -48925,46 +48921,46 @@ var hU = /*#__PURE__*/ XH({
48925
48921
  ])])]);
48926
48922
  };
48927
48923
  }
48928
- }, [["__scopeId", "data-v-60de23d5"]]), IY = {
48924
+ }, [["__scopeId", "data-v-61eb0b0c"]]), FY = {
48929
48925
  class: "account-settings",
48930
48926
  "aria-labelledby": "account-heading"
48931
- }, LY = {
48927
+ }, IY = {
48932
48928
  key: 0,
48933
48929
  class: "fine-print",
48934
48930
  role: "status"
48935
- }, RY = ["aria-label"], zY = { class: "fine-print account-intro" }, BY = {
48931
+ }, LY = ["aria-label"], RY = { class: "fine-print account-intro" }, zY = {
48936
48932
  key: 0,
48937
48933
  class: "account-message is-error",
48938
48934
  role: "status"
48939
- }, VY = {
48935
+ }, BY = {
48940
48936
  key: 1,
48941
48937
  class: "fine-print"
48942
- }, HY = {
48938
+ }, VY = {
48943
48939
  key: 1,
48944
48940
  class: "fine-print"
48945
- }, UY = {
48941
+ }, HY = {
48946
48942
  key: 2,
48947
48943
  class: "account-message is-error",
48948
48944
  role: "alert"
48949
- }, WY = {
48945
+ }, UY = {
48950
48946
  key: 3,
48951
48947
  class: "account-message",
48952
48948
  role: "status"
48953
- }, GY = { class: "account-actions" }, KY = {
48949
+ }, WY = { class: "account-actions" }, GY = {
48954
48950
  key: 2,
48955
48951
  class: "account-profile"
48956
- }, qY = { class: "account-identity" }, JY = { class: "account-avatar-actions" }, YY = { class: "account-name-row" }, XY = {
48952
+ }, KY = { class: "account-identity" }, qY = { class: "account-avatar-actions" }, JY = { class: "account-name-row" }, YY = {
48957
48953
  key: 0,
48958
48954
  class: "account-message is-error",
48959
48955
  role: "alert"
48960
- }, ZY = {
48956
+ }, XY = {
48961
48957
  key: 1,
48962
48958
  class: "account-message",
48963
48959
  role: "status"
48964
- }, QY = {
48960
+ }, ZY = {
48965
48961
  key: 2,
48966
48962
  class: "account-signout account-actions"
48967
- }, $Y = {
48963
+ }, QY = {
48968
48964
  __name: "AccountSettings",
48969
48965
  setup(e) {
48970
48966
  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({
@@ -49032,13 +49028,13 @@ var hU = /*#__PURE__*/ XH({
49032
49028
  }
49033
49029
  return (e, t) => {
49034
49030
  let p = YV, y = zV, b = MA, x = pA;
49035
- return U(), W("section", IY, [t[8] ||= K("h3", { id: "account-heading" }, "账号", -1), a.value === "loading" ? (U(), W("p", LY, "正在读取账号状态…")) : a.value === "register" || a.value === "login" ? (U(), W("form", {
49031
+ return U(), W("section", FY, [t[8] ||= K("h3", { id: "account-heading" }, "账号", -1), a.value === "loading" ? (U(), W("p", IY, "正在读取账号状态…")) : a.value === "register" || a.value === "login" ? (U(), W("form", {
49036
49032
  key: 1,
49037
49033
  class: "dialog-form account-form",
49038
49034
  "aria-label": a.value === "register" ? "设置管理员账号" : "登录管理员账号",
49039
49035
  onSubmit: uu(m, ["prevent"])
49040
49036
  }, [
49041
- K("p", zY, [a.value === "register" ? (U(), W(H, { key: 0 }, [J("设置站点管理员账号:名称和头像对所有访客可见,登录后可在没有房间凭据的浏览器中存档、恢复、删除房间。")], 64)) : (U(), W(H, { key: 1 }, [J("登录后可管理房间;未登录时仍可阅读并使用本浏览器创建的房间。")], 64))]),
49037
+ K("p", RY, [a.value === "register" ? (U(), W(H, { key: 0 }, [J("设置站点管理员账号:名称和头像对所有访客可见,登录后可在没有房间凭据的浏览器中存档、恢复、删除房间。")], 64)) : (U(), W(H, { key: 1 }, [J("登录后可管理房间;未登录时仍可阅读并使用本浏览器创建的房间。")], 64))]),
49042
49038
  q(y, {
49043
49039
  label: "用户名",
49044
49040
  description: a.value === "register" ? "1–30 个字符,也是公开显示的名称" : void 0,
@@ -49105,18 +49101,18 @@ var hU = /*#__PURE__*/ XH({
49105
49101
  }, null, 8, ["modelValue", "disabled"])]),
49106
49102
  _: 1
49107
49103
  }),
49108
- f.value ? (U(), W("p", BY, "服务端未配置安装令牌,暂时无法注册。本地版请设置环境变量 DISCUSS_ADMIN_SETUP_KEY 后重启;Cloudflare 版请配置部署机密 ADMIN_SETUP_KEY。")) : (U(), W("p", VY, [...t[6] ||= [
49104
+ f.value ? (U(), W("p", zY, "服务端未配置安装令牌,暂时无法注册。本地版请设置环境变量 DISCUSS_ADMIN_SETUP_KEY 后重启;Cloudflare 版请配置部署机密 ADMIN_SETUP_KEY。")) : (U(), W("p", BY, [...t[6] ||= [
49109
49105
  J("首个注册者需要安装令牌,防止他人抢注。本地版见服务端启动日志;Cloudflare 版为部署机密 ADMIN_SETUP_KEY。忘记密码:本地版运行 ", -1),
49110
49106
  K("code", null, "python server.py --reset-admin", -1),
49111
49107
  J(" 后重新注册;Cloudflare 版需清空管理员表(见部署文档)。", -1)
49112
49108
  ]]))
49113
- ], 64)) : (U(), W("p", HY, [...t[7] ||= [
49109
+ ], 64)) : (U(), W("p", VY, [...t[7] ||= [
49114
49110
  J("忘记密码:本地版运行 ", -1),
49115
49111
  K("code", null, "python server.py --reset-admin", -1),
49116
49112
  J(" 后重新注册;Cloudflare 版需清空管理员表(见部署文档)。", -1)
49117
49113
  ]])),
49118
- s.auth.error ? (U(), W("p", UY, P(s.auth.error), 1)) : s.auth.notice ? (U(), W("p", WY, P(s.auth.notice), 1)) : Y("", !0),
49119
- K("div", GY, [q(b, {
49114
+ s.auth.error ? (U(), W("p", HY, P(s.auth.error), 1)) : s.auth.notice ? (U(), W("p", UY, P(s.auth.notice), 1)) : Y("", !0),
49115
+ K("div", WY, [q(b, {
49120
49116
  type: "submit",
49121
49117
  class: "channel-primary-button",
49122
49118
  label: a.value === "register" ? "创建并登录" : "登录",
@@ -49127,13 +49123,13 @@ var hU = /*#__PURE__*/ XH({
49127
49123
  "loading",
49128
49124
  "disabled"
49129
49125
  ])])
49130
- ], 40, RY)) : (U(), W("div", KY, [
49131
- K("div", qY, [q(x, {
49126
+ ], 40, LY)) : (U(), W("div", GY, [
49127
+ K("div", KY, [q(x, {
49132
49128
  src: I(n).identities.用户.icon,
49133
49129
  alt: `${I(n).display_name("用户")} 的头像`,
49134
49130
  size: "lg",
49135
49131
  class: "channel-avatar user account-avatar"
49136
- }, null, 8, ["src", "alt"]), K("div", JY, [
49132
+ }, null, 8, ["src", "alt"]), K("div", qY, [
49137
49133
  K("input", {
49138
49134
  ref_key: "avatar_input",
49139
49135
  ref: u,
@@ -49171,7 +49167,7 @@ var hU = /*#__PURE__*/ XH({
49171
49167
  label: "显示名称",
49172
49168
  description: "即用户名,对所有访客可见"
49173
49169
  }, {
49174
- default: L(() => [K("div", YY, [q(p, {
49170
+ default: L(() => [K("div", JY, [q(p, {
49175
49171
  modelValue: l.value,
49176
49172
  "onUpdate:modelValue": t[5] ||= (e) => l.value = e,
49177
49173
  autocomplete: "username",
@@ -49189,8 +49185,8 @@ var hU = /*#__PURE__*/ XH({
49189
49185
  }, null, 8, ["loading", "disabled"])])]),
49190
49186
  _: 1
49191
49187
  })], 32),
49192
- s.profile.error ? (U(), W("p", XY, P(s.profile.error), 1)) : s.profile.notice ? (U(), W("p", ZY, P(s.profile.notice), 1)) : Y("", !0),
49193
- r.value.local ? Y("", !0) : (U(), W("div", QY, [q(b, {
49188
+ s.profile.error ? (U(), W("p", YY, P(s.profile.error), 1)) : s.profile.notice ? (U(), W("p", XY, P(s.profile.notice), 1)) : Y("", !0),
49189
+ r.value.local ? Y("", !0) : (U(), W("div", ZY, [q(b, {
49194
49190
  label: "退出登录",
49195
49191
  icon: "i-lucide-log-out",
49196
49192
  color: "neutral",
@@ -49203,65 +49199,65 @@ var hU = /*#__PURE__*/ XH({
49203
49199
  ]))]);
49204
49200
  };
49205
49201
  }
49206
- }, eX = {
49202
+ }, $Y = {
49207
49203
  key: 0,
49208
49204
  class: "channel-archive-manager"
49209
- }, tX = { class: "channel-archive-toolbar" }, nX = {
49205
+ }, eX = { class: "channel-archive-toolbar" }, tX = {
49210
49206
  key: 0,
49211
49207
  class: "channel-archive-confirm channel-archive-bulk",
49212
49208
  role: "alert"
49213
- }, rX = {
49209
+ }, nX = {
49214
49210
  key: 1,
49215
49211
  role: "alert",
49216
49212
  class: "channel-directory-error"
49217
- }, iX = { class: "channel-archive-results" }, aX = {
49213
+ }, rX = { class: "channel-archive-results" }, iX = {
49218
49214
  key: 0,
49219
49215
  class: "channel-archive-list",
49220
49216
  "aria-label": "已存档房间列表"
49221
- }, oX = { class: "channel-archive-row" }, sX = { class: "channel-archive-info" }, cX = [
49217
+ }, aX = { class: "channel-archive-row" }, oX = { class: "channel-archive-info" }, sX = [
49222
49218
  "title",
49223
49219
  "disabled",
49224
49220
  "onClick"
49225
- ], lX = { key: 0 }, uX = ["datetime"], dX = { class: "channel-archive-actions" }, fX = {
49221
+ ], cX = { key: 0 }, lX = ["datetime"], uX = { class: "channel-archive-actions" }, dX = {
49226
49222
  key: 0,
49227
49223
  class: "channel-archive-confirm channel-archive-bulk",
49228
49224
  role: "alert"
49229
- }, pX = {
49225
+ }, fX = {
49230
49226
  key: 1,
49231
49227
  class: "channel-archive-empty"
49232
- }, mX = { class: "fine-print" }, hX = { class: "dialog-actions" }, gX = { class: "dialog-actions" }, _X = { class: "channel-management-target" }, vX = {
49228
+ }, pX = { class: "fine-print" }, mX = { class: "dialog-actions" }, hX = { class: "dialog-actions" }, gX = { class: "channel-management-target" }, _X = {
49233
49229
  key: 0,
49234
49230
  class: "fine-print"
49235
- }, yX = {
49231
+ }, vX = {
49236
49232
  key: 1,
49237
49233
  class: "fine-print"
49238
- }, bX = {
49234
+ }, yX = {
49239
49235
  key: 2,
49240
49236
  class: "fine-print"
49241
- }, xX = { class: "dialog-actions" }, SX = { key: 4 }, CX = { class: "theme-choices" }, wX = ["aria-pressed", "onClick"], TX = { class: "theme-check" }, EX = { class: "channel-reading-setting" }, DX = {
49237
+ }, bX = { class: "dialog-actions" }, xX = { key: 4 }, SX = { class: "theme-choices" }, CX = ["aria-pressed", "onClick"], wX = { class: "theme-check" }, TX = { class: "channel-reading-setting" }, EX = {
49242
49238
  class: "channel-reading-options",
49243
49239
  role: "group",
49244
49240
  "aria-labelledby": "channel-reading-label"
49245
- }, OX = { class: "channel-reading-setting" }, kX = {
49241
+ }, DX = { class: "channel-reading-setting" }, OX = {
49246
49242
  class: "channel-reading-options channel-effect-options",
49247
49243
  role: "group",
49248
49244
  "aria-labelledby": "channel-effects-label"
49249
- }, AX = { class: "form-two-columns" }, jX = { class: "advanced-content" }, MX = {
49245
+ }, kX = { class: "form-two-columns" }, AX = { class: "advanced-content" }, jX = {
49250
49246
  key: 0,
49251
49247
  class: "fine-print"
49252
- }, NX = { class: "advanced-content" }, PX = { class: "expert-fields" }, FX = { class: "dialog-actions" }, IX = { class: "dialog-actions" }, LX = {
49248
+ }, MX = { class: "advanced-content" }, NX = { class: "expert-fields" }, PX = { class: "dialog-actions" }, FX = { class: "dialog-actions" }, IX = {
49253
49249
  key: 8,
49254
49250
  class: "original-message"
49255
- }, RX = {
49251
+ }, LX = {
49256
49252
  key: 0,
49257
49253
  role: "alert"
49258
- }, zX = { class: "original-meta" }, BX = { class: "fine-print" }, VX = {
49254
+ }, RX = { class: "original-meta" }, zX = { class: "fine-print" }, BX = {
49259
49255
  key: 0,
49260
49256
  class: "channel-answer-summary"
49261
- }, HX = { class: "message-prose" }, UX = { class: "message-prose" }, WX = ["innerHTML"], GX = {
49257
+ }, VX = { class: "message-prose" }, HX = { class: "message-prose" }, UX = ["innerHTML"], WX = {
49262
49258
  key: 2,
49263
49259
  class: "fine-print"
49264
- }, KX = "topic-expert-modes", qX = {
49260
+ }, GX = "topic-expert-modes", KX = {
49265
49261
  __name: "WorkspaceDialogs",
49266
49262
  props: /*@__PURE__*/ Fa({
49267
49263
  detailId: {
@@ -49539,8 +49535,8 @@ var hU = /*#__PURE__*/ XH({
49539
49535
  } : void 0,
49540
49536
  "onAfter:leave": be
49541
49537
  }, {
49542
- body: L(() => [a.value === "archives" ? (U(), W("section", eX, [
49543
- K("div", tX, [
49538
+ body: L(() => [a.value === "archives" ? (U(), W("section", $Y, [
49539
+ K("div", eX, [
49544
49540
  q(x, {
49545
49541
  modelValue: h.value,
49546
49542
  "onUpdate:modelValue": c[0] ||= (e) => h.value = e,
@@ -49569,7 +49565,7 @@ var hU = /*#__PURE__*/ XH({
49569
49565
  }
49570
49566
  }, null, 8, ["label", "disabled"])
49571
49567
  ]),
49572
- b.value && v.value.length ? (U(), W("div", nX, [
49568
+ b.value && v.value.length ? (U(), W("div", tX, [
49573
49569
  K("span", null, "将永久删除当前列表中的 " + P(v.value.length) + " 个房间及其全部记录,无法撤销。", 1),
49574
49570
  q(le, {
49575
49571
  label: "取消",
@@ -49585,20 +49581,20 @@ var hU = /*#__PURE__*/ XH({
49585
49581
  onClick: D
49586
49582
  })
49587
49583
  ])) : Y("", !0),
49588
- I(o).directory_error ? (U(), W("p", rX, P(I(o).directory_error), 1)) : Y("", !0),
49589
- K("div", iX, [v.value.length ? (U(), W("ul", aX, [(U(!0), W(H, null, B(v.value, (e) => (U(), W("li", {
49584
+ I(o).directory_error ? (U(), W("p", nX, P(I(o).directory_error), 1)) : Y("", !0),
49585
+ K("div", rX, [v.value.length ? (U(), W("ul", iX, [(U(!0), W(H, null, B(v.value, (e) => (U(), W("li", {
49590
49586
  key: e.id,
49591
49587
  class: "channel-archive-item"
49592
- }, [K("div", oX, [K("div", sX, [K("button", {
49588
+ }, [K("div", aX, [K("div", oX, [K("button", {
49593
49589
  class: "channel-archive-title",
49594
49590
  title: e.title,
49595
49591
  disabled: !!I(u),
49596
49592
  onClick: (t) => T(e)
49597
- }, P(e.title), 9, cX), K("small", null, [e.created_at ? (U(), W("span", lX, [
49593
+ }, P(e.title), 9, sX), K("small", null, [e.created_at ? (U(), W("span", cX, [
49598
49594
  c[26] ||= J("创建于 ", -1),
49599
- K("time", { datetime: e.created_at }, P(C(e.created_at)), 9, uX),
49595
+ K("time", { datetime: e.created_at }, P(C(e.created_at)), 9, lX),
49600
49596
  c[27] ||= J(" · ", -1)
49601
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", dX, [q(le, {
49597
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", uX, [q(le, {
49602
49598
  "aria-label": `彻底删除 ${e.title}`,
49603
49599
  title: "彻底删除",
49604
49600
  icon: "i-lucide-trash-2",
@@ -49630,7 +49626,7 @@ var hU = /*#__PURE__*/ XH({
49630
49626
  "aria-label",
49631
49627
  "disabled",
49632
49628
  "onClick"
49633
- ])])]), y.value === e.id ? (U(), W("div", fX, [
49629
+ ])])]), y.value === e.id ? (U(), W("div", dX, [
49634
49630
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
49635
49631
  q(le, {
49636
49632
  label: "取消",
@@ -49646,12 +49642,12 @@ var hU = /*#__PURE__*/ XH({
49646
49642
  disabled: w(e),
49647
49643
  onClick: E
49648
49644
  }, null, 8, ["disabled"])
49649
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", pX, P(m.value.length ? "没有匹配的存档房间" : "暂无已存档房间"), 1))])
49645
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", fX, P(m.value.length ? "没有匹配的存档房间" : "暂无已存档房间"), 1))])
49650
49646
  ])) : a.value === "delete-folder" ? (U(), W("form", {
49651
49647
  key: 1,
49652
49648
  class: "dialog-form",
49653
49649
  onSubmit: uu(re, ["prevent"])
49654
- }, [K("p", mX, "移除「" + P(e.targetFolder?.name) + "」后,房间不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", hX, [q(le, {
49650
+ }, [K("p", pX, "移除「" + P(e.targetFolder?.name) + "」后,房间不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", mX, [q(le, {
49655
49651
  label: "取消",
49656
49652
  color: "neutral",
49657
49653
  variant: "ghost",
@@ -49682,7 +49678,7 @@ var hU = /*#__PURE__*/ XH({
49682
49678
  "modelValue",
49683
49679
  "aria-label",
49684
49680
  "readonly"
49685
- ]), K("div", gX, [q(le, {
49681
+ ]), K("div", hX, [q(le, {
49686
49682
  label: "取消",
49687
49683
  color: "neutral",
49688
49684
  variant: "ghost",
@@ -49707,10 +49703,10 @@ var hU = /*#__PURE__*/ XH({
49707
49703
  class: "dialog-form",
49708
49704
  onSubmit: uu(te, ["prevent"])
49709
49705
  }, [
49710
- K("p", _X, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
49711
- a.value === "archive" ? (U(), W("p", vX, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
49712
- a.value === "restore" ? (U(), W("p", yX, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
49713
- a.value === "delete" ? (U(), W("p", bX, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
49706
+ K("p", gX, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
49707
+ a.value === "archive" ? (U(), W("p", _X, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
49708
+ a.value === "restore" ? (U(), W("p", vX, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
49709
+ a.value === "delete" ? (U(), W("p", yX, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
49714
49710
  a.value === "rename" ? (U(), G(ue, {
49715
49711
  key: 3,
49716
49712
  label: "房间名称",
@@ -49727,7 +49723,7 @@ var hU = /*#__PURE__*/ XH({
49727
49723
  }, null, 8, ["modelValue"])]),
49728
49724
  _: 1
49729
49725
  })) : Y("", !0),
49730
- K("div", xX, [q(le, {
49726
+ K("div", bX, [q(le, {
49731
49727
  label: "取消",
49732
49728
  color: "neutral",
49733
49729
  variant: "ghost",
@@ -49744,10 +49740,10 @@ var hU = /*#__PURE__*/ XH({
49744
49740
  "loading",
49745
49741
  "disabled"
49746
49742
  ])])
49747
- ], 32)) : a.value === "settings" ? (U(), W("div", SX, [
49748
- q($Y),
49743
+ ], 32)) : a.value === "settings" ? (U(), W("div", xX, [
49744
+ q(QY),
49749
49745
  c[32] ||= K("h3", { class: "account-appearance-heading" }, "外观", -1),
49750
- K("div", CX, [(U(), W(H, null, B(he, (e) => K("button", {
49746
+ K("div", SX, [(U(), W(H, null, B(he, (e) => K("button", {
49751
49747
  key: e.value,
49752
49748
  class: M({ chosen: I(o).theme === e.value }),
49753
49749
  "aria-pressed": I(o).theme === e.value,
@@ -49762,12 +49758,12 @@ var hU = /*#__PURE__*/ XH({
49762
49758
  K("b")
49763
49759
  ], -1)]], 2),
49764
49760
  K("span", null, [K("strong", null, P(e.title), 1), K("small", null, P(e.description), 1)]),
49765
- K("span", TX, [I(o).theme === e.value ? (U(), G(ve, {
49761
+ K("span", wX, [I(o).theme === e.value ? (U(), G(ve, {
49766
49762
  key: 0,
49767
49763
  name: "i-lucide-check"
49768
49764
  })) : Y("", !0)])
49769
- ], 10, wX)), 64))]),
49770
- K("section", EX, [c[29] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", DX, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(le, {
49765
+ ], 10, CX)), 64))]),
49766
+ K("section", TX, [c[29] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", EX, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(le, {
49771
49767
  key: e.value,
49772
49768
  label: e.label,
49773
49769
  color: "neutral",
@@ -49781,9 +49777,9 @@ var hU = /*#__PURE__*/ XH({
49781
49777
  "aria-pressed",
49782
49778
  "onClick"
49783
49779
  ]))), 128))])]),
49784
- K("section", OX, [
49780
+ K("section", DX, [
49785
49781
  c[30] ||= K("h3", { id: "channel-effects-label" }, "视觉效果", -1),
49786
- K("div", kX, [(U(!0), W(H, null, B(e.effectOptions, (e) => (U(), G(le, {
49782
+ K("div", OX, [(U(!0), W(H, null, B(e.effectOptions, (e) => (U(), G(le, {
49787
49783
  key: e.value,
49788
49784
  label: e.label,
49789
49785
  color: "neutral",
@@ -49799,7 +49795,7 @@ var hU = /*#__PURE__*/ XH({
49799
49795
  ]))), 128))]),
49800
49796
  c[31] ||= K("p", { class: "fine-print" }, "精简模式关闭毛玻璃模糊与多层阴影,适合配置较低或需要更流畅滚动的设备。", -1)
49801
49797
  ])
49802
- ])) : a.value === "create" ? (U(), G(FY, {
49798
+ ])) : a.value === "create" ? (U(), G(PY, {
49803
49799
  key: 5,
49804
49800
  "target-folder": e.targetFolder,
49805
49801
  onSubmit: N,
@@ -49834,7 +49830,7 @@ var hU = /*#__PURE__*/ XH({
49834
49830
  }, null, 8, ["model-value"])]),
49835
49831
  _: 1
49836
49832
  }),
49837
- K("div", AX, [q(ue, { label: "主持人" }, {
49833
+ K("div", kX, [q(ue, { label: "主持人" }, {
49838
49834
  default: L(() => [q(S, {
49839
49835
  "model-value": I(o).fields[ge("host")],
49840
49836
  items: I(A),
@@ -49868,7 +49864,7 @@ var hU = /*#__PURE__*/ XH({
49868
49864
  }, null, 8, ["model-value"])]),
49869
49865
  _: 1
49870
49866
  })) : Y("", !0),
49871
- K("section", jX, [
49867
+ K("section", AX, [
49872
49868
  c[33] ||= K("h3", null, "讨论上限", -1),
49873
49869
  q(bU, {
49874
49870
  ref_key: "topic_limits",
@@ -49888,14 +49884,14 @@ var hU = /*#__PURE__*/ XH({
49888
49884
  "execution",
49889
49885
  "disabled"
49890
49886
  ]),
49891
- ce.value ? (U(), W("p", MX, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
49887
+ ce.value ? (U(), W("p", jX, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
49892
49888
  ]),
49893
49889
  q(we, {
49894
49890
  open: oe.value,
49895
49891
  "onUpdate:open": c[20] ||= (e) => oe.value = e,
49896
49892
  class: "advanced-fields"
49897
49893
  }, {
49898
- content: L(() => [K("div", NX, [
49894
+ content: L(() => [K("div", MX, [
49899
49895
  (U(), W(H, null, B([
49900
49896
  {
49901
49897
  key: "user_request",
@@ -49922,11 +49918,11 @@ var hU = /*#__PURE__*/ XH({
49922
49918
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
49923
49919
  _: 2
49924
49920
  }, 1032, ["label"])), 64)),
49925
- K("div", PX, [(U(!0), W(H, null, B(I(ie), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(S, {
49926
- "model-value": I(o).experts[KX]?.[e] || "none",
49921
+ K("div", NX, [(U(!0), W(H, null, B(I(ie), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(S, {
49922
+ "model-value": I(o).experts[GX]?.[e] || "none",
49927
49923
  items: ae,
49928
49924
  "aria-label": `${e} 参与方式`,
49929
- "onUpdate:modelValue": (t) => I(s).write_expert(KX, e, t === "none" ? "" : t)
49925
+ "onUpdate:modelValue": (t) => I(s).write_expert(GX, e, t === "none" ? "" : t)
49930
49926
  }, null, 8, [
49931
49927
  "model-value",
49932
49928
  "aria-label",
@@ -49944,7 +49940,7 @@ var hU = /*#__PURE__*/ XH({
49944
49940
  }, null, 8, ["trailing-icon"])]),
49945
49941
  _: 1
49946
49942
  }, 8, ["open"]),
49947
- K("div", FX, [q(le, {
49943
+ K("div", PX, [q(le, {
49948
49944
  label: "取消",
49949
49945
  color: "neutral",
49950
49946
  variant: "ghost",
@@ -49988,7 +49984,7 @@ var hU = /*#__PURE__*/ XH({
49988
49984
  _: 1
49989
49985
  }),
49990
49986
  c[35] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
49991
- K("div", IX, [q(le, {
49987
+ K("div", FX, [q(le, {
49992
49988
  label: "取消",
49993
49989
  variant: "ghost",
49994
49990
  color: "neutral",
@@ -49999,8 +49995,8 @@ var hU = /*#__PURE__*/ XH({
49999
49995
  label: "创建发言安排",
50000
49996
  loading: I(u) === "schedule"
50001
49997
  }, null, 8, ["loading"])])
50002
- ], 32)) : a.value === "message" ? (U(), W("div", LX, [fe.value ? (U(), W("p", RX, P(fe.value), 1)) : de.value ? (U(), W(H, { key: 1 }, [
50003
- K("div", zX, [
49998
+ ], 32)) : a.value === "message" ? (U(), W("div", IX, [fe.value ? (U(), W("p", LX, P(fe.value), 1)) : de.value ? (U(), W(H, { key: 1 }, [
49999
+ K("div", RX, [
50004
50000
  K("strong", null, P(I(s).display_name(de.value.author)), 1),
50005
50001
  K("span", null, "#" + P(de.value.id), 1),
50006
50002
  q(Te, {
@@ -50011,14 +50007,14 @@ var hU = /*#__PURE__*/ XH({
50011
50007
  _: 1
50012
50008
  })
50013
50009
  ]),
50014
- K("p", BX, P(I(s).provenance(de.value)) + " · " + P(new Date(de.value.created_at).toLocaleString("zh-CN")), 1),
50015
- de.value.summary ? (U(), W("section", VX, [K("small", null, "回答摘要 · " + P(I(s).display_name(de.value.summary_by)), 1), K("p", HX, P(de.value.summary), 1)])) : Y("", !0),
50016
- K("p", UX, P(de.value.text), 1),
50010
+ K("p", zX, P(I(s).provenance(de.value)) + " · " + P(new Date(de.value.created_at).toLocaleString("zh-CN")), 1),
50011
+ de.value.summary ? (U(), W("section", BX, [K("small", null, "回答摘要 · " + P(I(s).display_name(de.value.summary_by)), 1), K("p", VX, P(de.value.summary), 1)])) : Y("", !0),
50012
+ K("p", HX, P(de.value.text), 1),
50017
50013
  de.value.attachments?.length ? (U(), W("div", {
50018
50014
  key: 1,
50019
50015
  onClick: ye,
50020
50016
  innerHTML: I(s).attachment_markup(de.value.attachments)
50021
- }, null, 8, WX)) : Y("", !0),
50017
+ }, null, 8, UX)) : Y("", !0),
50022
50018
  de.value.reply_to ? (U(), G(le, {
50023
50019
  key: 2,
50024
50020
  label: `查看被回复的原文 #${de.value.reply_to}`,
@@ -50028,7 +50024,7 @@ var hU = /*#__PURE__*/ XH({
50028
50024
  class: "channel-surface-button",
50029
50025
  onClick: xe
50030
50026
  }, null, 8, ["label"])) : Y("", !0)
50031
- ], 64)) : (U(), W("p", GX, "正在读取原文…"))])) : Y("", !0)]),
50027
+ ], 64)) : (U(), W("p", WX, "正在读取原文…"))])) : Y("", !0)]),
50032
50028
  _: 1
50033
50029
  }, 8, [
50034
50030
  "open",
@@ -50039,7 +50035,7 @@ var hU = /*#__PURE__*/ XH({
50039
50035
  ]);
50040
50036
  };
50041
50037
  }
50042
- }, JX = {
50038
+ }, qX = {
50043
50039
  __name: "ContextMenuContent",
50044
50040
  props: {
50045
50041
  items: {
@@ -50334,7 +50330,7 @@ var hU = /*#__PURE__*/ XH({
50334
50330
  "disabled",
50335
50331
  "text-value",
50336
50332
  "class"
50337
- ]), q(JX, X({
50333
+ ]), q(qX, X({
50338
50334
  sub: "",
50339
50335
  class: r.ui?.content,
50340
50336
  ui: e.ui,
@@ -50445,7 +50441,7 @@ var hU = /*#__PURE__*/ XH({
50445
50441
  _: 3
50446
50442
  }, 16)], 64));
50447
50443
  }
50448
- }, YX = {
50444
+ }, JX = {
50449
50445
  slots: {
50450
50446
  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",
50451
50447
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -50633,7 +50629,7 @@ var hU = /*#__PURE__*/ XH({
50633
50629
  }
50634
50630
  ],
50635
50631
  defaultVariants: { size: "md" }
50636
- }, XX = {
50632
+ }, YX = {
50637
50633
  __name: "ContextMenu",
50638
50634
  props: {
50639
50635
  size: {
@@ -50703,7 +50699,7 @@ var hU = /*#__PURE__*/ XH({
50703
50699
  emits: ["update:open"],
50704
50700
  setup(e, { emit: t }) {
50705
50701
  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({
50706
- extend: YX,
50702
+ extend: JX,
50707
50703
  ...o.ui?.contextMenu || {}
50708
50704
  })({ size: a.size }));
50709
50705
  return (e, t) => (U(), G(I(iC), N(Ss(I(s))), {
@@ -50715,7 +50711,7 @@ var hU = /*#__PURE__*/ XH({
50715
50711
  }, {
50716
50712
  default: L(() => [V(e.$slots, "default")]),
50717
50713
  _: 3
50718
- }, 8, ["disabled", "class"])) : Y("", !0), q(JX, X({
50714
+ }, 8, ["disabled", "class"])) : Y("", !0), q(qX, X({
50719
50715
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
50720
50716
  ui: u.value,
50721
50717
  "ui-override": I(a).ui
@@ -50745,47 +50741,47 @@ var hU = /*#__PURE__*/ XH({
50745
50741
  _: 3
50746
50742
  }, 16));
50747
50743
  }
50748
- }, ZX = { class: "channel-directory-manager" }, QX = { class: "channel-directory-heading" }, $X = ["aria-expanded"], eZ = { class: "channel-directory-actions" }, tZ = {
50744
+ }, XX = { class: "channel-directory-manager" }, ZX = { class: "channel-directory-heading" }, QX = ["aria-expanded"], $X = { class: "channel-directory-actions" }, eZ = {
50749
50745
  "aria-label": "协作房间列表",
50750
50746
  class: "channel-room-list",
50751
50747
  "data-room-directory": ""
50752
- }, nZ = ["data-room-folder", "data-drag-folder"], rZ = [
50748
+ }, tZ = ["data-room-folder", "data-drag-folder"], nZ = [
50753
50749
  "disabled",
50754
50750
  "aria-label",
50755
50751
  "aria-expanded",
50756
50752
  "onKeydown",
50757
50753
  "onClick"
50758
- ], iZ = { class: "channel-folder-name" }, aZ = { class: "channel-folder-actions" }, oZ = {
50754
+ ], rZ = { class: "channel-folder-name" }, iZ = { class: "channel-folder-actions" }, aZ = {
50759
50755
  class: "channel-directory-count",
50760
50756
  "aria-hidden": "true"
50761
- }, sZ = ["data-drop-folder"], cZ = {
50757
+ }, oZ = ["data-drop-folder"], sZ = {
50762
50758
  key: 0,
50763
50759
  class: "channel-directory-empty",
50764
50760
  role: "status"
50765
- }, lZ = ["data-drag-room"], uZ = [
50761
+ }, cZ = ["data-drag-room"], lZ = [
50766
50762
  "aria-label",
50767
50763
  "disabled",
50768
50764
  "onKeydown"
50769
- ], dZ = [
50765
+ ], uZ = [
50770
50766
  "title",
50771
50767
  "aria-label",
50772
50768
  "aria-current",
50773
50769
  "onClick"
50774
- ], fZ = { class: "channel-room-actions" }, pZ = {
50770
+ ], dZ = { class: "channel-room-actions" }, fZ = {
50775
50771
  key: 0,
50776
50772
  class: "channel-directory-empty"
50777
- }, mZ = {
50773
+ }, pZ = {
50778
50774
  key: 0,
50779
50775
  class: "channel-archive-count"
50780
- }, hZ = {
50776
+ }, mZ = {
50781
50777
  key: 0,
50782
50778
  role: "status",
50783
50779
  class: "channel-directory-notice"
50784
- }, gZ = {
50780
+ }, hZ = {
50785
50781
  key: 1,
50786
50782
  role: "alert",
50787
50783
  class: "channel-directory-error"
50788
- }, _Z = {
50784
+ }, gZ = {
50789
50785
  __name: "ChannelDirectory",
50790
50786
  emits: [
50791
50787
  "select",
@@ -50999,8 +50995,8 @@ var hU = /*#__PURE__*/ XH({
50999
50995
  ];
51000
50996
  }
51001
50997
  return (e, t) => {
51002
- let u = MA, _ = sA, v = CH, x = $V, S = XX;
51003
- return U(), W("div", ZX, [
50998
+ let u = MA, _ = sA, v = CH, x = $V, S = YX;
50999
+ return U(), W("div", XX, [
51004
51000
  q(u, {
51005
51001
  label: "新建对话",
51006
51002
  icon: "i-lucide-plus",
@@ -51009,12 +51005,12 @@ var hU = /*#__PURE__*/ XH({
51009
51005
  disabled: I(r).directory_pending.includes("create-room"),
51010
51006
  onClick: t[0] ||= (e) => n("create", null)
51011
51007
  }, null, 8, ["disabled"]),
51012
- K("div", QX, [K("button", {
51008
+ K("div", ZX, [K("button", {
51013
51009
  type: "button",
51014
51010
  class: "channel-section-toggle",
51015
51011
  "aria-expanded": m.value,
51016
51012
  onClick: t[1] ||= (e) => m.value = !m.value
51017
- }, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("协作房间", -1)], 8, $X), K("div", eZ, [
51013
+ }, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("协作房间", -1)], 8, QX), K("div", $X, [
51018
51014
  q(v, {
51019
51015
  items: d.value,
51020
51016
  content: {
@@ -51056,7 +51052,7 @@ var hU = /*#__PURE__*/ XH({
51056
51052
  onChange: p
51057
51053
  }, null, 544)
51058
51054
  ])]),
51059
- vr(K("nav", tZ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
51055
+ vr(K("nav", eZ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
51060
51056
  key: e.order_id,
51061
51057
  class: "channel-folder-section",
51062
51058
  "data-room-folder": e.id,
@@ -51086,9 +51082,9 @@ var hU = /*#__PURE__*/ XH({
51086
51082
  }, [
51087
51083
  q(_, { name: h.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
51088
51084
  q(_, { name: "i-lucide-folder" }),
51089
- K("span", iZ, P(e.name), 1)
51090
- ], 40, rZ),
51091
- K("div", aZ, [q(v, {
51085
+ K("span", rZ, P(e.name), 1)
51086
+ ], 40, nZ),
51087
+ K("div", iZ, [q(v, {
51092
51088
  items: g(e, s),
51093
51089
  content: {
51094
51090
  align: "start",
@@ -51122,12 +51118,12 @@ var hU = /*#__PURE__*/ XH({
51122
51118
  ])]),
51123
51119
  _: 2
51124
51120
  }, 1032, ["text"])]),
51125
- K("small", oZ, P(e.pending ? "保存中" : e.rooms.length), 1)
51121
+ K("small", aZ, P(e.pending ? "保存中" : e.rooms.length), 1)
51126
51122
  ], 2)) : Y("", !0), !e.id || !h.value.has(e.id) ? (U(), W("div", {
51127
51123
  key: 1,
51128
51124
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
51129
51125
  "data-drop-folder": e.id ? void 0 : ""
51130
- }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", cZ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(S, {
51126
+ }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", sZ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(S, {
51131
51127
  key: s.id,
51132
51128
  items: b(s, c, s.folder_id || null, e.rooms.length),
51133
51129
  ui: { content: "channel-menu channel-topic-menu" }
@@ -51152,7 +51148,7 @@ var hU = /*#__PURE__*/ XH({
51152
51148
  direction: 1,
51153
51149
  folder_id: s.folder_id || null
51154
51150
  }), ["prevent"]), ["down"])]
51155
- }, [q(_, { name: "i-lucide-grip-vertical" })], 40, uZ),
51151
+ }, [q(_, { name: "i-lucide-grip-vertical" })], 40, lZ),
51156
51152
  K("button", {
51157
51153
  class: "channel-room-select",
51158
51154
  "data-drag-title": "",
@@ -51161,8 +51157,8 @@ var hU = /*#__PURE__*/ XH({
51161
51157
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
51162
51158
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
51163
51159
  onClick: (e) => n("select", s.id)
51164
- }, [K("span", null, P(s.title), 1)], 40, dZ),
51165
- K("div", fZ, [q(x, {
51160
+ }, [K("span", null, P(s.title), 1)], 40, uZ),
51161
+ K("div", dZ, [q(x, {
51166
51162
  text: s.archived ? "恢复房间" : "存档房间",
51167
51163
  ui: { content: "channel-topic-tooltip" }
51168
51164
  }, {
@@ -51203,9 +51199,9 @@ var hU = /*#__PURE__*/ XH({
51203
51199
  }, null, 8, ["aria-label"])]),
51204
51200
  _: 2
51205
51201
  }, 1032, ["items"])])
51206
- ], 10, lZ)]),
51202
+ ], 10, cZ)]),
51207
51203
  _: 2
51208
- }, 1032, ["items"]))), 128))], 10, sZ)) : Y("", !0)], 8, nZ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", pZ, "暂无协作房间"))], 512), [[Vc, m.value]]),
51204
+ }, 1032, ["items"]))), 128))], 10, oZ)) : Y("", !0)], 8, tZ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", fZ, "暂无协作房间"))], 512), [[Vc, m.value]]),
51209
51205
  vr(q(u, {
51210
51206
  icon: "i-lucide-archive",
51211
51207
  color: "neutral",
@@ -51214,48 +51210,48 @@ var hU = /*#__PURE__*/ XH({
51214
51210
  "aria-haspopup": "dialog",
51215
51211
  onClick: t[6] ||= (e) => n("archives")
51216
51212
  }, {
51217
- default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), c.value ? (U(), W("small", mZ, P(c.value), 1)) : Y("", !0)]),
51213
+ default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), c.value ? (U(), W("small", pZ, P(c.value), 1)) : Y("", !0)]),
51218
51214
  _: 1
51219
51215
  }, 512), [[Vc, m.value]]),
51220
- I(r).directory_notice ? (U(), W("p", hZ, P(I(r).directory_notice), 1)) : Y("", !0),
51221
- I(r).directory_error ? (U(), W("p", gZ, P(I(r).directory_error), 1)) : Y("", !0)
51216
+ I(r).directory_notice ? (U(), W("p", mZ, P(I(r).directory_notice), 1)) : Y("", !0),
51217
+ I(r).directory_error ? (U(), W("p", hZ, P(I(r).directory_error), 1)) : Y("", !0)
51222
51218
  ]);
51223
51219
  };
51224
51220
  }
51225
- }, vZ = {
51221
+ }, _Z = {
51226
51222
  key: 0,
51227
51223
  class: "pb-invite",
51228
51224
  "aria-label": "启动手动成员"
51229
- }, yZ = { class: "pb-invite-lead" }, bZ = {
51225
+ }, vZ = { class: "pb-invite-lead" }, yZ = {
51230
51226
  key: 0,
51231
51227
  role: "alert",
51232
51228
  class: "pb-free-note is-error"
51233
- }, xZ = { class: "pb-invite-launches" }, SZ = { class: "pb-invite-footer" }, CZ = {
51229
+ }, bZ = { class: "pb-invite-launches" }, xZ = { class: "pb-invite-footer" }, SZ = {
51234
51230
  class: "pb-invite-library",
51235
51231
  role: "group",
51236
51232
  "aria-label": "选择 AI(可多选)"
51237
- }, wZ = [
51233
+ }, CZ = [
51238
51234
  "aria-pressed",
51239
51235
  "title",
51240
51236
  "onClick"
51241
- ], TZ = {
51237
+ ], wZ = {
51242
51238
  key: 0,
51243
51239
  class: "pb-invite-cards"
51244
- }, EZ = {
51240
+ }, TZ = {
51245
51241
  key: 0,
51246
51242
  class: "fine-print"
51247
- }, DZ = ["aria-hidden"], OZ = {
51243
+ }, EZ = ["aria-hidden"], DZ = {
51248
51244
  key: 2,
51249
51245
  class: "pb-invite-empty"
51250
- }, kZ = {
51246
+ }, OZ = {
51251
51247
  key: 3,
51252
51248
  role: "alert",
51253
51249
  class: "fine-print"
51254
- }, AZ = {
51250
+ }, kZ = {
51255
51251
  key: 4,
51256
51252
  role: "alert",
51257
51253
  class: "pb-free-note is-error"
51258
- }, jZ = { class: "pb-invite-footer" }, MZ = 2e3, NZ = /*#__PURE__*/ XH({
51254
+ }, AZ = { class: "pb-invite-footer" }, jZ = 2e3, MZ = /*#__PURE__*/ XH({
51259
51255
  __name: "InviteDialog",
51260
51256
  props: /*@__PURE__*/ Fa({ description: {
51261
51257
  type: String,
@@ -51273,7 +51269,7 @@ var hU = /*#__PURE__*/ XH({
51273
51269
  async function u(e) {
51274
51270
  clearTimeout(l), c.value = "", await i("copy_member_launch", e) && (c.value = e, l = setTimeout(() => {
51275
51271
  c.value = "";
51276
- }, MZ));
51272
+ }, jZ));
51277
51273
  }
51278
51274
  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(() => {
51279
51275
  let e = [...g.value];
@@ -51337,10 +51333,10 @@ var hU = /*#__PURE__*/ XH({
51337
51333
  body: "dialog-body"
51338
51334
  }
51339
51335
  }, {
51340
- body: L(() => [p.value.length && !d.value.length ? (U(), W("div", vZ, [
51341
- K("p", yZ, P(p.value.length > 1 ? `${p.value.length} 位手动成员已加入` : "手动成员已加入") + ",把启动指令交给各自的 AI 会话,注册后才算到场。", 1),
51342
- I(n).access?.error ? (U(), W("p", bZ, P(I(n).access.error), 1)) : Y("", !0),
51343
- K("ul", xZ, [(U(!0), W(H, null, B(p.value, (e) => (U(), W("li", { key: e }, [
51336
+ body: L(() => [p.value.length && !d.value.length ? (U(), W("div", _Z, [
51337
+ K("p", vZ, P(p.value.length > 1 ? `${p.value.length} 位手动成员已加入` : "手动成员已加入") + ",把启动指令交给各自的 AI 会话,注册后才算到场。", 1),
51338
+ I(n).access?.error ? (U(), W("p", yZ, P(I(n).access.error), 1)) : Y("", !0),
51339
+ K("ul", bZ, [(U(!0), W(H, null, B(p.value, (e) => (U(), W("li", { key: e }, [
51344
51340
  q(l, {
51345
51341
  src: I(r).identities[I(r).platform_of(e)]?.icon,
51346
51342
  text: I(r).identities[I(r).platform_of(e)]?.initials,
@@ -51375,7 +51371,7 @@ var hU = /*#__PURE__*/ XH({
51375
51371
  ])
51376
51372
  ]))), 128))]),
51377
51373
  o[3] ||= K("p", { class: "fine-print" }, "指令含该成员的凭证,只交给对应的会话;关闭后仍可在参与者列表中复制。", -1),
51378
- K("div", SZ, [q(f, {
51374
+ K("div", xZ, [q(f, {
51379
51375
  label: "完成",
51380
51376
  class: "channel-primary-button",
51381
51377
  onClick: o[0] ||= (e) => t.value = !1
@@ -51386,7 +51382,7 @@ var hU = /*#__PURE__*/ XH({
51386
51382
  "aria-label": "邀请专家",
51387
51383
  onSubmit: uu(w, ["prevent"])
51388
51384
  }, [
51389
- K("div", CZ, [(U(!0), W(H, null, B(h.value, (e) => (U(), W("button", {
51385
+ K("div", SZ, [(U(!0), W(H, null, B(h.value, (e) => (U(), W("button", {
51390
51386
  key: e,
51391
51387
  type: "button",
51392
51388
  "aria-pressed": d.value.some((t) => t.name === e),
@@ -51403,8 +51399,8 @@ var hU = /*#__PURE__*/ XH({
51403
51399
  "text",
51404
51400
  "alt",
51405
51401
  "class"
51406
- ]), J(P(e), 1)], 8, wZ))), 128))]),
51407
- d.value.length ? (U(), W("div", TZ, [(U(!0), W(H, null, B(d.value, (e) => (U(), W("div", {
51402
+ ]), J(P(e), 1)], 8, CZ))), 128))]),
51403
+ d.value.length ? (U(), W("div", wZ, [(U(!0), W(H, null, B(d.value, (e) => (U(), W("div", {
51408
51404
  key: e.id,
51409
51405
  class: "pb-invite-pick"
51410
51406
  }, [q(YJ, {
@@ -51424,15 +51420,15 @@ var hU = /*#__PURE__*/ XH({
51424
51420
  "onMode",
51425
51421
  "onSession",
51426
51422
  "onRemove"
51427
- ]), y.value.get(e) === e.name ? Y("", !0) : (U(), W("p", EZ, "同一 AI 已有实例,将以 " + P(y.value.get(e)) + " 加入,使用独立会话。", 1))]))), 128))])) : Y("", !0),
51423
+ ]), y.value.get(e) === e.name ? Y("", !0) : (U(), W("p", TZ, "同一 AI 已有实例,将以 " + P(y.value.get(e)) + " 加入,使用独立会话。", 1))]))), 128))])) : Y("", !0),
51428
51424
  d.value.length ? (U(), W("p", {
51429
51425
  key: 1,
51430
51426
  class: M(["fine-print", { "pb-invite-reserved": !(d.value.some((e) => e.mode === "manual") && d.value.some((e) => e.mode !== "manual")) }]),
51431
51427
  "aria-hidden": !(d.value.some((e) => e.mode === "manual") && d.value.some((e) => e.mode !== "manual"))
51432
- }, "手动启动的成员排在程序启动的成员之后加入队列。", 10, DZ)) : (U(), W("p", OZ, "选择一位或多位 AI(同一 AI 可重复添加),点卡片翻面设置软件、模型与项目权限。")),
51433
- d.value.some((e) => e.mode === "cli") && !I(n).launch.available ? (U(), W("p", kZ, "邀请需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0),
51434
- m.value && I(n).free_error ? (U(), W("p", AZ, P(I(n).free_error), 1)) : Y("", !0),
51435
- K("div", jZ, [q(f, {
51428
+ }, "手动启动的成员排在程序启动的成员之后加入队列。", 10, EZ)) : (U(), W("p", DZ, "选择一位或多位 AI(同一 AI 可重复添加),点卡片翻面设置软件、模型与项目权限。")),
51429
+ d.value.some((e) => e.mode === "cli") && !I(n).launch.available ? (U(), W("p", OZ, "邀请需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0),
51430
+ m.value && I(n).free_error ? (U(), W("p", kZ, P(I(n).free_error), 1)) : Y("", !0),
51431
+ K("div", AZ, [q(f, {
51436
51432
  label: "取消",
51437
51433
  color: "neutral",
51438
51434
  variant: "ghost",
@@ -51454,40 +51450,40 @@ var hU = /*#__PURE__*/ XH({
51454
51450
  }, 8, ["open", "description"]);
51455
51451
  };
51456
51452
  }
51457
- }, [["__scopeId", "data-v-3ca69064"]]), PZ = { class: "speaking-order" }, FZ = {
51453
+ }, [["__scopeId", "data-v-3ca69064"]]), NZ = { class: "speaking-order" }, PZ = {
51458
51454
  key: 0,
51459
51455
  class: "speaking-order-divider",
51460
51456
  "aria-hidden": "true"
51461
- }, IZ = ["data-key", "data-movable"], LZ = [
51457
+ }, FZ = ["data-key", "data-movable"], IZ = [
51462
51458
  "aria-disabled",
51463
51459
  "aria-label",
51464
51460
  "title",
51465
51461
  "onPointerdown",
51466
51462
  "onKeydown"
51467
- ], RZ = { class: "speaking-order-number" }, zZ = {
51463
+ ], LZ = { class: "speaking-order-number" }, RZ = {
51468
51464
  key: 1,
51469
51465
  class: "speaking-order-place",
51470
51466
  title: "已发言",
51471
51467
  "aria-label": "已发言"
51472
- }, BZ = ["title"], VZ = {
51468
+ }, zZ = ["title"], BZ = {
51473
51469
  key: 0,
51474
51470
  class: "speaking-order-later"
51475
- }, HZ = {
51471
+ }, VZ = {
51476
51472
  key: 1,
51477
51473
  class: "speaking-order-divider",
51478
51474
  "aria-hidden": "true"
51479
- }, UZ = {
51475
+ }, HZ = {
51480
51476
  key: 0,
51481
51477
  role: "status",
51482
51478
  class: "pb-free-note"
51483
- }, WZ = {
51479
+ }, UZ = {
51484
51480
  key: 1,
51485
51481
  role: "alert",
51486
51482
  class: "pb-free-note is-error"
51487
- }, GZ = {
51483
+ }, WZ = {
51488
51484
  class: "speaking-order-live",
51489
51485
  "aria-live": "polite"
51490
- }, KZ = "发言顺序刚有变化,已更新为最新顺序,请重新调整", qZ = /*#__PURE__*/ XH({
51486
+ }, GZ = "发言顺序刚有变化,已更新为最新顺序,请重新调整", KZ = /*#__PURE__*/ XH({
51491
51487
  __name: "SpeakingOrder",
51492
51488
  props: {
51493
51489
  away: {
@@ -51507,7 +51503,7 @@ var hU = /*#__PURE__*/ XH({
51507
51503
  }), c = Z(() => s.value.kind === "default" ? "idle" : "queued"), l = Z(() => !!n.value.access?.can_manage && !o.value.archived && s.value.movable.length > 1), u = {
51508
51504
  queue: "不在本次依次回答中",
51509
51505
  turns: "本轮未安排"
51510
- }, d = Z(() => s.value.kind === "default" ? "拖动设置默认发言顺序,@全体依次 按此顺序;聚焦后可用上下方向键" : "拖动调整还没发言的顺序,立即生效;聚焦后可用上下方向键"), f = /* @__PURE__ */ F(!1), p = Z(() => f.value ? KZ : 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("");
51506
+ }, d = Z(() => s.value.kind === "default" ? "拖动设置默认发言顺序,@全体依次 按此顺序;聚焦后可用上下方向键" : "拖动调整还没发言的顺序,立即生效;聚焦后可用上下方向键"), f = /* @__PURE__ */ F(!1), p = Z(() => f.value ? GZ : 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("");
51511
51507
  R(() => s.value.revision, () => {
51512
51508
  g.value = null;
51513
51509
  }), R(() => o.value.id, () => {
@@ -51594,13 +51590,13 @@ var hU = /*#__PURE__*/ XH({
51594
51590
  }
51595
51591
  return (e, n) => {
51596
51592
  let i = sA;
51597
- return U(), W("div", PZ, [
51593
+ return U(), W("div", NZ, [
51598
51594
  K("ul", {
51599
51595
  ref_key: "list",
51600
51596
  ref: m,
51601
51597
  class: M(["pb-members", { "is-dragging": h.value }])
51602
51598
  }, [
51603
- (U(!0), W(H, null, B(y.value, (t, r) => (U(), W(H, { key: t.key }, [t.outside ? (U(), W("li", FZ, [K("span", null, P(u[s.value.kind]), 1)])) : Y("", !0), K("li", {
51599
+ (U(!0), W(H, null, B(y.value, (t, r) => (U(), W(H, { key: t.key }, [t.outside ? (U(), W("li", PZ, [K("span", null, P(u[s.value.kind]), 1)])) : Y("", !0), K("li", {
51604
51600
  class: M(["pb-member speaking-order-row", [
51605
51601
  `is-${t.state}`,
51606
51602
  E(r),
@@ -51621,19 +51617,19 @@ var hU = /*#__PURE__*/ XH({
51621
51617
  onPointercancel: n[0] ||= (e) => w(e, !0),
51622
51618
  onLostpointercapture: n[1] ||= (e) => w(e, !0),
51623
51619
  onKeydown: [fu((e) => D(e, b(r), -1), ["up"]), fu((e) => D(e, b(r), 1), ["down"])]
51624
- }, [K("span", RZ, P(t.place), 1), q(i, {
51620
+ }, [K("span", LZ, P(t.place), 1), q(i, {
51625
51621
  name: "i-lucide-grip-vertical",
51626
51622
  class: "speaking-order-handle"
51627
- })], 40, LZ)) : t.state === "done" ? (U(), W("span", zZ, [q(i, { name: "i-lucide-check" })])) : (U(), W("span", {
51623
+ })], 40, IZ)) : t.state === "done" ? (U(), W("span", RZ, [q(i, { name: "i-lucide-check" })])) : (U(), W("span", {
51628
51624
  key: 2,
51629
51625
  class: "speaking-order-place",
51630
51626
  title: t.state === "speaking" ? "正在发言" : void 0
51631
- }, P(t.place || ""), 9, BZ)), V(e.$slots, "default", {
51627
+ }, P(t.place || ""), 9, zZ)), V(e.$slots, "default", {
51632
51628
  item: t,
51633
51629
  place: t.place
51634
- }, void 0, !0)], 10, IZ)], 64))), 128)),
51635
- s.value.later?.length ? (U(), W("li", VZ, [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),
51636
- t.away.length ? (U(), W("li", HZ, [...n[2] ||= [K("span", null, "已离开", -1)]])) : Y("", !0),
51630
+ }, void 0, !0)], 10, FZ)], 64))), 128)),
51631
+ s.value.later?.length ? (U(), W("li", BZ, [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),
51632
+ t.away.length ? (U(), W("li", VZ, [...n[2] ||= [K("span", null, "已离开", -1)]])) : Y("", !0),
51637
51633
  (U(!0), W(H, null, B(t.away, (t) => (U(), W("li", {
51638
51634
  key: `away-${t}`,
51639
51635
  class: "pb-member speaking-order-row is-away"
@@ -51645,78 +51641,78 @@ var hU = /*#__PURE__*/ XH({
51645
51641
  place: 0
51646
51642
  }, void 0, !0)]))), 128))
51647
51643
  ], 2),
51648
- p.value === KZ ? (U(), W("p", UZ, P(p.value), 1)) : p.value ? (U(), W("p", WZ, P(p.value), 1)) : Y("", !0),
51649
- K("p", GZ, P(_.value), 1)
51644
+ p.value === GZ ? (U(), W("p", HZ, P(p.value), 1)) : p.value ? (U(), W("p", UZ, P(p.value), 1)) : Y("", !0),
51645
+ K("p", WZ, P(_.value), 1)
51650
51646
  ]);
51651
51647
  };
51652
51648
  }
51653
- }, [["__scopeId", "data-v-dc33a051"]]), JZ = {
51649
+ }, [["__scopeId", "data-v-dc33a051"]]), qZ = {
51654
51650
  key: 0,
51655
51651
  class: "pb-header"
51656
- }, YZ = { class: "pb-mode" }, XZ = { class: "pb-status-line" }, ZZ = { role: "status" }, QZ = {
51652
+ }, JZ = { class: "pb-mode" }, YZ = { class: "pb-status-line" }, XZ = { role: "status" }, ZZ = {
51657
51653
  key: 0,
51658
51654
  class: "pb-mode"
51659
- }, $Z = {
51655
+ }, QZ = {
51660
51656
  key: 0,
51661
51657
  class: "pb-status-detail"
51662
- }, eQ = {
51658
+ }, $Z = {
51663
51659
  key: 1,
51664
51660
  class: "pb-status-detail"
51665
- }, tQ = { class: "pb-error-detail" }, nQ = {
51661
+ }, eQ = { class: "pb-error-detail" }, tQ = {
51666
51662
  key: 3,
51667
51663
  class: "pb-meters"
51668
- }, rQ = { class: "pb-meter-label" }, iQ = {
51664
+ }, nQ = { class: "pb-meter-label" }, rQ = {
51669
51665
  key: 0,
51670
51666
  class: "pb-bar"
51671
- }, aQ = {
51667
+ }, iQ = {
51672
51668
  key: 1,
51673
51669
  class: "pb-section",
51674
51670
  "aria-label": "当前焦点"
51675
- }, oQ = {
51671
+ }, aQ = {
51676
51672
  class: "pb-section",
51677
51673
  "aria-label": "发言顺序"
51678
- }, sQ = { class: "pb-heading" }, cQ = {
51674
+ }, oQ = { class: "pb-heading" }, sQ = {
51679
51675
  key: 0,
51680
51676
  class: "pb-status-detail pb-held"
51681
- }, lQ = { class: "pb-member-body" }, uQ = { class: "pb-member-name" }, dQ = { class: "pb-member-body" }, fQ = { class: "pb-member-name" }, pQ = {
51677
+ }, cQ = { class: "pb-member-body" }, lQ = { class: "pb-member-name" }, uQ = { class: "pb-member-body" }, dQ = { class: "pb-member-name" }, fQ = {
51682
51678
  key: 0,
51683
51679
  class: "pb-member-model",
51684
51680
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
51685
- }, mQ = {
51681
+ }, pQ = {
51686
51682
  key: 1,
51687
51683
  class: "pb-member-model",
51688
51684
  title: "续接你已有的会话;它工作时请不要在原窗口继续操作"
51689
- }, hQ = { key: 0 }, gQ = {
51685
+ }, mQ = { key: 0 }, hQ = {
51690
51686
  key: 3,
51691
51687
  class: "pb-member-manual"
51692
- }, _Q = { key: 0 }, vQ = ["onClick"], yQ = {
51688
+ }, gQ = { key: 0 }, _Q = ["onClick"], vQ = {
51693
51689
  key: 1,
51694
51690
  role: "alert",
51695
51691
  class: "pb-free-note is-error"
51696
- }, bQ = {
51692
+ }, yQ = {
51697
51693
  key: 2,
51698
51694
  role: "status",
51699
51695
  class: "pb-free-note"
51700
- }, xQ = {
51696
+ }, bQ = {
51701
51697
  key: 2,
51702
51698
  class: "pb-actions",
51703
51699
  "aria-label": "操作"
51704
- }, SQ = {
51700
+ }, xQ = {
51705
51701
  key: 3,
51706
51702
  class: "pb-section",
51707
51703
  "aria-label": "阶段耗时"
51708
- }, CQ = { class: "pb-timing-heading" }, wQ = ["aria-label"], TQ = { class: "pb-timing-totals" }, EQ = ["title"], DQ = { class: "pb-timings" }, OQ = { class: "pb-timing-who" }, kQ = { class: "pb-timing-stages" }, AQ = ["title"], jQ = {
51704
+ }, SQ = { class: "pb-timing-heading" }, CQ = ["aria-label"], wQ = { class: "pb-timing-totals" }, TQ = ["title"], EQ = { class: "pb-timings" }, DQ = { class: "pb-timing-who" }, OQ = { class: "pb-timing-stages" }, kQ = ["title"], AQ = {
51709
51705
  key: 0,
51710
51706
  class: "pb-note"
51711
- }, MQ = { class: "pb-connection" }, NQ = { class: "fine-print" }, PQ = {
51707
+ }, jQ = { class: "pb-connection" }, MQ = { class: "fine-print" }, NQ = {
51712
51708
  key: 0,
51713
51709
  role: "status",
51714
51710
  class: "fine-print"
51715
- }, FQ = {
51711
+ }, PQ = {
51716
51712
  key: 2,
51717
51713
  role: "alert",
51718
51714
  class: "fine-print"
51719
- }, IQ = { key: 2 }, LQ = { class: "pb-invite-footer" }, RQ = { class: "progress-ending" }, zQ = ["disabled"], BQ = 2e3, VQ = 90, HQ = 100, UQ = /*#__PURE__*/ XH({
51715
+ }, FQ = { key: 2 }, IQ = { class: "pb-invite-footer" }, LQ = { class: "progress-ending" }, RQ = ["disabled"], zQ = 2e3, BQ = 90, VQ = 100, HQ = /*#__PURE__*/ XH({
51720
51716
  __name: "ProgressBoard",
51721
51717
  props: { docked: {
51722
51718
  type: Boolean,
@@ -51727,7 +51723,7 @@ var hU = /*#__PURE__*/ XH({
51727
51723
  async function l(e) {
51728
51724
  clearTimeout(c), s.value = "", await i("copy_member_launch", e) && (s.value = e, c = setTimeout(() => {
51729
51725
  s.value = "";
51730
- }, BQ));
51726
+ }, zQ));
51731
51727
  }
51732
51728
  let u = /* @__PURE__ */ F(!1), d = /* @__PURE__ */ F(null), f = /* @__PURE__ */ F(!1), p = ["pending", "notified"], m = {
51733
51729
  dispatched: "已交付,等待开始",
@@ -51759,7 +51755,7 @@ var hU = /*#__PURE__*/ XH({
51759
51755
  R(() => _.value.id, () => {
51760
51756
  he.value = !1;
51761
51757
  });
51762
- let ge = Z(() => x.value?.question || _.value.focus || _.value.goal || ""), N = Z(() => ge.value.length > VQ), _e = Z(() => y.value.timings || {
51758
+ let ge = Z(() => x.value?.question || _.value.focus || _.value.goal || ""), N = Z(() => ge.value.length > BQ), _e = Z(() => y.value.timings || {
51763
51759
  items: [],
51764
51760
  totals: {},
51765
51761
  count: 0
@@ -51793,7 +51789,7 @@ var hU = /*#__PURE__*/ XH({
51793
51789
  };
51794
51790
  let e = ce.value;
51795
51791
  if (e) {
51796
- let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > HQ ? `${n.slice(0, HQ)}…` : n;
51792
+ let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > VQ ? `${n.slice(0, VQ)}…` : n;
51797
51793
  return {
51798
51794
  tone: "error",
51799
51795
  title: "已暂停",
@@ -51938,18 +51934,18 @@ var hU = /*#__PURE__*/ XH({
51938
51934
  return (e, c) => {
51939
51935
  let f = MA, p = sA, m = pA, v = CH, T = bH, k = zV, se = YH;
51940
51936
  return U(), W("div", { class: M(["progress-board", { "is-docked": t.docked }]) }, [
51941
- t.docked ? (U(), W("header", JZ, [c[18] ||= K("strong", null, "讨论进度", -1), K("span", YZ, P(b.value ? "全自动" : "手动"), 1)])) : Y("", !0),
51937
+ t.docked ? (U(), W("header", qZ, [c[18] ||= K("strong", null, "讨论进度", -1), K("span", JZ, P(b.value ? "全自动" : "手动"), 1)])) : Y("", !0),
51942
51938
  K("section", {
51943
51939
  class: M(["pb-status", `is-${be.value.tone}`]),
51944
51940
  "aria-label": "讨论状态"
51945
51941
  }, [
51946
- K("div", XZ, [
51942
+ K("div", YZ, [
51947
51943
  c[19] ||= K("span", { class: "pb-dot" }, null, -1),
51948
- K("strong", ZZ, P(be.value.title), 1),
51949
- t.docked ? Y("", !0) : (U(), W("span", QZ, P(b.value ? "全自动" : "手动"), 1))
51944
+ K("strong", XZ, P(be.value.title), 1),
51945
+ t.docked ? Y("", !0) : (U(), W("span", ZZ, P(b.value ? "全自动" : "手动"), 1))
51950
51946
  ]),
51951
- be.value.detail ? (U(), W("p", $Z, P(be.value.detail), 1)) : Y("", !0),
51952
- be.value.full_detail ? (U(), W("details", eQ, [c[20] ||= K("summary", null, "查看错误详情", -1), K("pre", tQ, P(be.value.full_detail), 1)])) : Y("", !0),
51947
+ be.value.detail ? (U(), W("p", QZ, P(be.value.detail), 1)) : Y("", !0),
51948
+ be.value.full_detail ? (U(), W("details", $Z, [c[20] ||= K("summary", null, "查看错误详情", -1), K("pre", eQ, P(be.value.full_detail), 1)])) : Y("", !0),
51953
51949
  ue.value && I(n).launch.available && !I(n).launch.remote ? (U(), G(f, {
51954
51950
  key: 2,
51955
51951
  icon: "i-lucide-arrow-left-right",
@@ -51961,12 +51957,12 @@ var hU = /*#__PURE__*/ XH({
51961
51957
  disabled: !!I(a),
51962
51958
  onClick: c[0] ||= (e) => Ee(ue.value, "codex")
51963
51959
  }, null, 8, ["disabled"])) : Y("", !0),
51964
- xe.value.length ? (U(), W("div", nQ, [(U(!0), W(H, null, B(xe.value, (e) => (U(), W("div", {
51960
+ xe.value.length ? (U(), W("div", tQ, [(U(!0), W(H, null, B(xe.value, (e) => (U(), W("div", {
51965
51961
  key: e.label,
51966
51962
  class: "pb-meter"
51967
- }, [K("div", rQ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", iQ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
51963
+ }, [K("div", nQ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", rQ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
51968
51964
  ], 2),
51969
- ge.value ? (U(), W("section", aQ, [
51965
+ ge.value ? (U(), W("section", iQ, [
51970
51966
  c[21] ||= K("h4", null, "当前焦点", -1),
51971
51967
  K("p", { class: M(["pb-focus", { "is-expanded": u.value }]) }, P(ge.value), 3),
51972
51968
  N.value ? (U(), W("button", {
@@ -51976,15 +51972,15 @@ var hU = /*#__PURE__*/ XH({
51976
51972
  onClick: c[1] ||= (e) => u.value = !u.value
51977
51973
  }, P(u.value ? "收起" : "展开"), 1)) : Y("", !0)
51978
51974
  ])) : Y("", !0),
51979
- K("section", oQ, [
51980
- K("div", sQ, [c[23] ||= K("h4", null, "发言顺序", -1), me.value ? (U(), W("button", {
51975
+ K("section", aQ, [
51976
+ K("div", oQ, [c[23] ||= K("h4", null, "发言顺序", -1), me.value ? (U(), W("button", {
51981
51977
  key: 0,
51982
51978
  type: "button",
51983
51979
  class: "pb-link",
51984
51980
  onClick: Te
51985
51981
  }, [q(p, { name: "i-lucide-plus" }), c[22] ||= J("邀请", -1)])) : Y("", !0)]),
51986
- _.value.held_since && x.value && !S.value ? (U(), W("p", cQ, "用户有新操作," + P(I(r).display_name(x.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
51987
- q(qZ, {
51982
+ _.value.held_since && x.value && !S.value ? (U(), W("p", sQ, "用户有新操作," + P(I(r).display_name(x.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
51983
+ q(KZ, {
51988
51984
  away: de.value.map((e) => e.name),
51989
51985
  round: Se.value
51990
51986
  }, {
@@ -52001,7 +51997,7 @@ var hU = /*#__PURE__*/ XH({
52001
51997
  "alt",
52002
51998
  "class"
52003
51999
  ]),
52004
- K("div", lQ, [K("div", uQ, [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)]),
52000
+ K("div", cQ, [K("div", lQ, [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)]),
52005
52001
  we({ name: e.name }).length ? (U(), G(v, {
52006
52002
  key: 0,
52007
52003
  items: we({ name: e.name }),
@@ -52031,8 +52027,8 @@ var hU = /*#__PURE__*/ XH({
52031
52027
  "alt",
52032
52028
  "class"
52033
52029
  ]),
52034
- K("div", dQ, [
52035
- K("div", fQ, [
52030
+ K("div", uQ, [
52031
+ K("div", dQ, [
52036
52032
  J(P(I(r).display_name(e.name)), 1),
52037
52033
  e.is_host ? (U(), G(p, {
52038
52034
  key: 0,
@@ -52041,22 +52037,22 @@ var hU = /*#__PURE__*/ XH({
52041
52037
  })) : Y("", !0),
52042
52038
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
52043
52039
  ]),
52044
- e.model ? (U(), W("div", pQ, P(e.model), 1)) : Y("", !0),
52045
- pe(e.name)?.session_mode === "borrowed" ? (U(), W("div", mQ, "借用已有会话")) : Y("", !0),
52040
+ e.model ? (U(), W("div", fQ, P(e.model), 1)) : Y("", !0),
52041
+ pe(e.name)?.session_mode === "borrowed" ? (U(), W("div", pQ, "借用已有会话")) : Y("", !0),
52046
52042
  w.value ? Y("", !0) : (U(), W("div", {
52047
52043
  key: 2,
52048
52044
  class: M(["pb-member-status", `is-${e.tone}`])
52049
52045
  }, [
52050
52046
  c[26] ||= K("span", { class: "pb-dot" }, null, -1),
52051
52047
  J(P(e.text), 1),
52052
- e.failures ? (U(), W("small", hQ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
52048
+ e.failures ? (U(), W("small", mQ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
52053
52049
  ], 2)),
52054
- e.manual && !w.value ? (U(), W("div", gQ, [!pe(e.name)?.registered_at && !e.is_host ? (U(), W("span", _Q, "需在它的会话中注册,才算到场")) : Y("", !0), A.value ? (U(), W("button", {
52050
+ e.manual && !w.value ? (U(), W("div", hQ, [!pe(e.name)?.registered_at && !e.is_host ? (U(), W("span", gQ, "需在它的会话中注册,才算到场")) : Y("", !0), A.value ? (U(), W("button", {
52055
52051
  key: 1,
52056
52052
  type: "button",
52057
52053
  class: "pb-link",
52058
52054
  onClick: (t) => l(e.name)
52059
- }, [q(p, { name: s.value === e.name ? "i-lucide-check" : "i-lucide-rocket" }, null, 8, ["name"]), J(P(s.value === e.name ? "已复制" : "复制启动指令"), 1)], 8, vQ)) : Y("", !0)])) : Y("", !0)
52055
+ }, [q(p, { name: s.value === e.name ? "i-lucide-check" : "i-lucide-rocket" }, null, 8, ["name"]), J(P(s.value === e.name ? "已复制" : "复制启动指令"), 1)], 8, _Q)) : Y("", !0)])) : Y("", !0)
52060
52056
  ]),
52061
52057
  we(e).length ? (U(), G(v, {
52062
52058
  key: 0,
@@ -52077,9 +52073,9 @@ var hU = /*#__PURE__*/ XH({
52077
52073
  ], 64))), 128))]),
52078
52074
  _: 1
52079
52075
  }, 8, ["away", "round"]),
52080
- !he.value && I(n).free_error && _.value.phase !== "paused" ? (U(), W("p", yQ, P(I(n).free_error), 1)) : I(n).free_notice ? (U(), W("p", bQ, P(I(n).free_notice), 1)) : Y("", !0)
52076
+ !he.value && I(n).free_error && _.value.phase !== "paused" ? (U(), W("p", vQ, P(I(n).free_error), 1)) : I(n).free_notice ? (U(), W("p", yQ, P(I(n).free_notice), 1)) : Y("", !0)
52081
52077
  ]),
52082
- oe.value ? (U(), W("section", xQ, [
52078
+ oe.value ? (U(), W("section", bQ, [
52083
52079
  ne.value ? (U(), G(f, {
52084
52080
  key: 0,
52085
52081
  icon: "i-lucide-rotate-ccw",
@@ -52161,8 +52157,8 @@ var hU = /*#__PURE__*/ XH({
52161
52157
  onClick: c[6] ||= (e) => o.value = !0
52162
52158
  }, null, 8, ["disabled"])) : Y("", !0)
52163
52159
  ])) : Y("", !0),
52164
- b.value && _e.value.count ? (U(), W("section", SQ, [
52165
- K("div", CQ, [c[27] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(_e.value.count) + " 次执行", 1)]),
52160
+ b.value && _e.value.count ? (U(), W("section", xQ, [
52161
+ K("div", SQ, [c[27] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(_e.value.count) + " 次执行", 1)]),
52166
52162
  K("div", {
52167
52163
  class: "pb-timing-bar",
52168
52164
  role: "img",
@@ -52171,18 +52167,18 @@ var hU = /*#__PURE__*/ XH({
52171
52167
  key: e.key,
52172
52168
  class: M(`is-${e.key}`),
52173
52169
  style: fe({ width: `${e.percent}%` })
52174
- }, null, 6))), 128))], 8, wQ),
52175
- K("dl", TQ, [(U(!0), W(H, null, B(Oe.value, (e) => (U(), W("div", {
52170
+ }, null, 6))), 128))], 8, CQ),
52171
+ K("dl", wQ, [(U(!0), W(H, null, B(Oe.value, (e) => (U(), W("div", {
52176
52172
  key: e.key,
52177
52173
  title: e.hint
52178
- }, [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, EQ))), 128))]),
52179
- K("details", DQ, [
52174
+ }, [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, TQ))), 128))]),
52175
+ K("details", EQ, [
52180
52176
  c[28] ||= K("summary", null, "查看每次执行", -1),
52181
- K("ol", null, [(U(!0), W(H, null, B(_e.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", OQ, [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", kQ, [(U(), W(H, null, B(h, (t) => K("span", {
52177
+ K("ol", null, [(U(!0), W(H, null, B(_e.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", DQ, [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", OQ, [(U(), W(H, null, B(h, (t) => K("span", {
52182
52178
  key: t.key,
52183
52179
  title: t.hint
52184
- }, P(t.label) + " " + P(ke(e[t.key])), 9, AQ)), 64))])]))), 128))]),
52185
- _e.value.count > _e.value.items.length ? (U(), W("p", jQ, "只列出最近 " + P(_e.value.items.length) + " 次,共 " + P(_e.value.count) + " 次执行。", 1)) : Y("", !0)
52180
+ }, P(t.label) + " " + P(ke(e[t.key])), 9, kQ)), 64))])]))), 128))]),
52181
+ _e.value.count > _e.value.items.length ? (U(), W("p", AQ, "只列出最近 " + P(_e.value.items.length) + " 次,共 " + P(_e.value.count) + " 次执行。", 1)) : Y("", !0)
52186
52182
  ])
52187
52183
  ])) : Y("", !0),
52188
52184
  q(se, {
@@ -52195,7 +52191,7 @@ var hU = /*#__PURE__*/ XH({
52195
52191
  body: "dialog-body"
52196
52192
  }
52197
52193
  }, {
52198
- body: L(() => [K("div", MQ, [y.value.status === "running" ? (U(), W(H, { key: 0 }, [c[29] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(f, {
52194
+ body: L(() => [K("div", jQ, [y.value.status === "running" ? (U(), W(H, { key: 0 }, [c[29] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(f, {
52199
52195
  label: "暂停并读取配置",
52200
52196
  icon: "i-lucide-pause",
52201
52197
  class: "channel-primary-button",
@@ -52218,7 +52214,7 @@ var hU = /*#__PURE__*/ XH({
52218
52214
  }, null, 8, ["model-value", "disabled"])]),
52219
52215
  _: 1
52220
52216
  }),
52221
- K("p", NQ, P(ye.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
52217
+ K("p", MQ, P(ye.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
52222
52218
  q(f, {
52223
52219
  label: "保存接入方式",
52224
52220
  class: "channel-primary-button",
@@ -52226,7 +52222,7 @@ var hU = /*#__PURE__*/ XH({
52226
52222
  disabled: !!I(a),
52227
52223
  onClick: c[8] ||= (e) => I(i)("save_room_configuration")
52228
52224
  }, null, 8, ["loading", "disabled"]),
52229
- I(n).launch.repair?.notice ? (U(), W("p", PQ, P(I(n).launch.repair.notice), 1)) : Y("", !0),
52225
+ I(n).launch.repair?.notice ? (U(), W("p", NQ, P(I(n).launch.repair.notice), 1)) : Y("", !0),
52230
52226
  I(n).launch.repair?.applied && ne.value ? (U(), G(f, {
52231
52227
  key: 1,
52232
52228
  label: "重启讨论",
@@ -52246,10 +52242,10 @@ var hU = /*#__PURE__*/ XH({
52246
52242
  color: "neutral",
52247
52243
  loading: !!I(a),
52248
52244
  onClick: De
52249
- }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", FQ, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", IQ, "本场状态已变化,请关闭后重新核对。"))])]),
52245
+ }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", PQ, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", FQ, "本场状态已变化,请关闭后重新核对。"))])]),
52250
52246
  _: 1
52251
52247
  }, 8, ["open"]),
52252
- q(NZ, {
52248
+ q(MZ, {
52253
52249
  open: he.value,
52254
52250
  "onUpdate:open": c[11] ||= (e) => he.value = e,
52255
52251
  description: "新专家由程序按本机软件配置启动,或由你手动启动,加入本轮发言队列。"
@@ -52275,7 +52271,7 @@ var hU = /*#__PURE__*/ XH({
52275
52271
  minutes: ee.value,
52276
52272
  "onUpdate:minutes": c[13] ||= (e) => ee.value = e,
52277
52273
  execution: !1
52278
- }, null, 8, ["rounds", "minutes"]), K("div", LQ, [q(f, {
52274
+ }, null, 8, ["rounds", "minutes"]), K("div", IQ, [q(f, {
52279
52275
  label: "取消",
52280
52276
  color: "neutral",
52281
52277
  variant: "ghost",
@@ -52300,18 +52296,18 @@ var hU = /*#__PURE__*/ XH({
52300
52296
  body: "dialog-body"
52301
52297
  }
52302
52298
  }, {
52303
- body: L(() => [K("div", RQ, [K("button", {
52299
+ body: L(() => [K("div", LQ, [K("button", {
52304
52300
  type: "button",
52305
52301
  class: "progress-ending-option",
52306
52302
  disabled: C.value || !!I(a),
52307
52303
  onClick: c[16] ||= (e) => Me("end_room_discussion")
52308
- }, [...c[30] ||= [K("strong", null, "结束讨论", -1), K("span", null, "保留全部记录,自动运行随之停止,房间回到自由协作;需要总结时可直接请主持人写一份。", -1)]], 8, zQ)])]),
52304
+ }, [...c[30] ||= [K("strong", null, "结束讨论", -1), K("span", null, "保留全部记录,自动运行随之停止,房间回到自由协作;需要总结时可直接请主持人写一份。", -1)]], 8, RQ)])]),
52309
52305
  _: 1
52310
52306
  }, 8, ["open"])
52311
52307
  ], 2);
52312
52308
  };
52313
52309
  }
52314
- }, [["__scopeId", "data-v-a5185122"]]), WQ = { class: "progress-panel-anchor" }, GQ = ["aria-expanded", "aria-label"], KQ = { class: "progress-chip-text" }, qQ = { class: "progress-chip-rounds" }, JQ = {
52310
+ }, [["__scopeId", "data-v-a5185122"]]), UQ = { class: "progress-panel-anchor" }, WQ = ["aria-expanded", "aria-label"], GQ = { class: "progress-chip-text" }, KQ = { class: "progress-chip-rounds" }, qQ = {
52315
52311
  __name: "ProgressPanel",
52316
52312
  setup(e) {
52317
52313
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -52338,7 +52334,7 @@ var hU = /*#__PURE__*/ XH({
52338
52334
  }), 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}`);
52339
52335
  return (e, t) => {
52340
52336
  let n = $V, a = NV;
52341
- return U(), W("div", WQ, [q(n, { text: "查看讨论进度" }, {
52337
+ return U(), W("div", UQ, [q(n, { text: "查看讨论进度" }, {
52342
52338
  default: L(() => [K("button", {
52343
52339
  type: "button",
52344
52340
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -52346,7 +52342,7 @@ var hU = /*#__PURE__*/ XH({
52346
52342
  "aria-expanded": r.value,
52347
52343
  "aria-label": `查看讨论进度:${c.value}`,
52348
52344
  onClick: t[0] ||= (e) => r.value = !0
52349
- }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", KQ, [J(P(o.value.title), 1), K("span", qQ, " · " + P(s.value), 1)])], 10, GQ)]),
52345
+ }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", GQ, [J(P(o.value.title), 1), K("span", KQ, " · " + P(s.value), 1)])], 10, WQ)]),
52350
52346
  _: 1
52351
52347
  }), q(a, {
52352
52348
  open: r.value,
@@ -52359,12 +52355,12 @@ var hU = /*#__PURE__*/ XH({
52359
52355
  body: "progress-drawer-body"
52360
52356
  }
52361
52357
  }, {
52362
- body: L(() => [q(UQ)]),
52358
+ body: L(() => [q(HQ)]),
52363
52359
  _: 1
52364
52360
  }, 8, ["open", "description"])]);
52365
52361
  };
52366
52362
  }
52367
- }, YQ = { class: "start-discussion-footer" }, XQ = 3, ZQ = /*#__PURE__*/ XH({
52363
+ }, JQ = { class: "start-discussion-footer" }, YQ = 3, XQ = /*#__PURE__*/ XH({
52368
52364
  __name: "StartDiscussionDialog",
52369
52365
  props: {
52370
52366
  open: {
@@ -52375,9 +52371,9 @@ var hU = /*#__PURE__*/ XH({
52375
52371
  },
52376
52372
  emits: ["update:open"],
52377
52373
  setup(e) {
52378
- let t = ro(e, "open"), { view: n, act: r, pending: i } = xr("discussion"), a = /* @__PURE__ */ F(""), o = /* @__PURE__ */ F(XQ), s = /* @__PURE__ */ F(0), c = /* @__PURE__ */ F(""), l = /* @__PURE__ */ F(!1), u = /* @__PURE__ */ F(null);
52374
+ let t = ro(e, "open"), { view: n, act: r, pending: i } = xr("discussion"), a = /* @__PURE__ */ F(""), o = /* @__PURE__ */ F(YQ), s = /* @__PURE__ */ F(0), c = /* @__PURE__ */ F(""), l = /* @__PURE__ */ F(!1), u = /* @__PURE__ */ F(null);
52379
52375
  R(t, (e) => {
52380
- e && (a.value = "", o.value = XQ, s.value = 0, c.value = "", l.value = !1);
52376
+ e && (a.value = "", o.value = YQ, s.value = 0, c.value = "", l.value = !1);
52381
52377
  });
52382
52378
  async function d() {
52383
52379
  u.value?.settle();
@@ -52445,7 +52441,7 @@ var hU = /*#__PURE__*/ XH({
52445
52441
  "minutes",
52446
52442
  "execution_minutes"
52447
52443
  ]),
52448
- K("div", YQ, [q(h, {
52444
+ K("div", JQ, [q(h, {
52449
52445
  label: "取消",
52450
52446
  color: "neutral",
52451
52447
  variant: "ghost",
@@ -52463,58 +52459,58 @@ var hU = /*#__PURE__*/ XH({
52463
52459
  }, 8, ["open"]);
52464
52460
  };
52465
52461
  }
52466
- }, [["__scopeId", "data-v-dee972d6"]]), QQ = { class: "progress-board is-docked" }, $Q = { class: "pb-header" }, e$ = { class: "pb-mode" }, t$ = { class: "pb-status-line" }, n$ = { role: "status" }, r$ = {
52462
+ }, [["__scopeId", "data-v-dee972d6"]]), ZQ = { class: "progress-board is-docked" }, QQ = { class: "pb-header" }, $Q = { class: "pb-mode" }, e$ = { class: "pb-status-line" }, t$ = { role: "status" }, n$ = {
52467
52463
  key: 0,
52468
52464
  class: "pb-status-detail"
52469
- }, i$ = { class: "pb-meters" }, a$ = { class: "pb-meter-label" }, o$ = {
52465
+ }, r$ = { class: "pb-meters" }, i$ = { class: "pb-meter-label" }, a$ = {
52470
52466
  key: 0,
52471
52467
  class: "pb-bar"
52472
- }, s$ = {
52468
+ }, o$ = {
52473
52469
  key: 0,
52474
52470
  class: "pb-section",
52475
52471
  "aria-label": "当前任务"
52476
- }, c$ = {
52472
+ }, s$ = {
52477
52473
  class: "pb-section",
52478
52474
  "aria-label": "发言顺序"
52479
- }, l$ = { class: "pb-member-body" }, u$ = { class: "pb-member-name" }, d$ = {
52475
+ }, c$ = { class: "pb-member-body" }, l$ = { class: "pb-member-name" }, u$ = {
52480
52476
  key: 0,
52481
52477
  class: "pb-member-model"
52482
- }, f$ = {
52478
+ }, d$ = {
52483
52479
  key: 1,
52484
52480
  class: "pb-member-model",
52485
52481
  title: "它工作时请不要在原窗口继续操作"
52486
- }, p$ = {
52482
+ }, f$ = {
52487
52483
  key: 0,
52488
52484
  role: "alert",
52489
52485
  class: "pb-free-note is-error"
52490
- }, m$ = {
52486
+ }, p$ = {
52491
52487
  key: 1,
52492
52488
  role: "status",
52493
52489
  class: "pb-free-note"
52494
- }, h$ = {
52490
+ }, m$ = {
52495
52491
  key: 2,
52496
52492
  role: "alert",
52497
52493
  class: "pb-free-note is-error"
52498
- }, g$ = {
52494
+ }, h$ = {
52499
52495
  key: 3,
52500
52496
  role: "status",
52501
52497
  class: "pb-free-note"
52502
- }, _$ = {
52498
+ }, g$ = {
52503
52499
  key: 1,
52504
52500
  class: "pb-section",
52505
52501
  "aria-label": "头脑风暴"
52506
- }, v$ = ["onClick"], y$ = {
52502
+ }, _$ = ["onClick"], v$ = {
52507
52503
  key: 2,
52508
52504
  class: "pb-actions",
52509
52505
  "aria-label": "操作"
52510
- }, b$ = {
52506
+ }, y$ = {
52511
52507
  key: 0,
52512
52508
  class: "pb-free-note"
52513
- }, x$ = {
52509
+ }, b$ = {
52514
52510
  key: 3,
52515
52511
  class: "pb-section",
52516
52512
  "aria-label": "执行耗时"
52517
- }, S$ = { class: "pb-timing-heading" }, C$ = { class: "pb-timings" }, w$ = { class: "pb-timing-who" }, T$ = { class: "pb-timing-stages" }, E$ = 90, D$ = /*#__PURE__*/ XH({
52513
+ }, x$ = { class: "pb-timing-heading" }, S$ = { class: "pb-timings" }, C$ = { class: "pb-timing-who" }, w$ = { class: "pb-timing-stages" }, T$ = 90, E$ = /*#__PURE__*/ XH({
52518
52514
  __name: "FreeBoard",
52519
52515
  setup(e) {
52520
52516
  let { view: t, bridge: n, act: r, pending: i } = xr("discussion"), a = ["dispatched", "started"], o = {
@@ -52670,32 +52666,32 @@ var hU = /*#__PURE__*/ XH({
52670
52666
  D.value = !1;
52671
52667
  }), (e, i) => {
52672
52668
  let a = pA, p = sA, h = MA, ee = CH;
52673
- return U(), W("div", QQ, [
52674
- K("header", $Q, [i[5] ||= K("strong", null, "自由协作", -1), K("span", e$, P(u.value ? `${I(n).display_name(u.value.name)} 主持` : "无主持人"), 1)]),
52669
+ return U(), W("div", ZQ, [
52670
+ K("header", QQ, [i[5] ||= K("strong", null, "自由协作", -1), K("span", $Q, P(u.value ? `${I(n).display_name(u.value.name)} 主持` : "无主持人"), 1)]),
52675
52671
  K("section", {
52676
52672
  class: M(["pb-status", `is-${y.value.tone}`]),
52677
52673
  "aria-label": "房间状态"
52678
52674
  }, [
52679
- K("div", t$, [i[6] ||= K("span", { class: "pb-dot" }, null, -1), K("strong", n$, P(y.value.title), 1)]),
52680
- y.value.detail ? (U(), W("p", r$, P(y.value.detail), 1)) : Y("", !0),
52681
- K("div", i$, [(U(!0), W(H, null, B(b.value, (e) => (U(), W("div", {
52675
+ K("div", e$, [i[6] ||= K("span", { class: "pb-dot" }, null, -1), K("strong", t$, P(y.value.title), 1)]),
52676
+ y.value.detail ? (U(), W("p", n$, P(y.value.detail), 1)) : Y("", !0),
52677
+ K("div", r$, [(U(!0), W(H, null, B(b.value, (e) => (U(), W("div", {
52682
52678
  key: e.label,
52683
52679
  class: "pb-meter"
52684
- }, [K("div", a$, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", o$, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])
52680
+ }, [K("div", i$, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", a$, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])
52685
52681
  ], 2),
52686
- x.value ? (U(), W("section", s$, [
52682
+ x.value ? (U(), W("section", o$, [
52687
52683
  i[7] ||= K("h4", null, "当前任务", -1),
52688
52684
  K("p", { class: M(["pb-focus", { "is-expanded": S.value }]) }, P(x.value), 3),
52689
- x.value.length > E$ ? (U(), W("button", {
52685
+ x.value.length > T$ ? (U(), W("button", {
52690
52686
  key: 0,
52691
52687
  type: "button",
52692
52688
  class: "pb-link",
52693
52689
  onClick: i[0] ||= (e) => S.value = !S.value
52694
52690
  }, P(S.value ? "收起" : "展开"), 1)) : Y("", !0)
52695
52691
  ])) : Y("", !0),
52696
- K("section", c$, [
52692
+ K("section", s$, [
52697
52693
  i[9] ||= K("h4", null, "发言顺序", -1),
52698
- q(qZ, { away: f.value }, {
52694
+ q(KZ, { away: f.value }, {
52699
52695
  default: L(({ item: e }) => [(U(!0), W(H, null, B([d(e.name)].filter(Boolean), (t) => (U(), W(H, { key: t.id }, [
52700
52696
  q(a, {
52701
52697
  src: I(n).identities[t.name]?.icon,
@@ -52709,8 +52705,8 @@ var hU = /*#__PURE__*/ XH({
52709
52705
  "alt",
52710
52706
  "class"
52711
52707
  ]),
52712
- K("div", l$, [
52713
- K("div", u$, [
52708
+ K("div", c$, [
52709
+ K("div", l$, [
52714
52710
  J(P(I(n).display_name(t.name)), 1),
52715
52711
  t.role === "host" ? (U(), G(p, {
52716
52712
  key: 0,
@@ -52719,8 +52715,8 @@ var hU = /*#__PURE__*/ XH({
52719
52715
  })) : Y("", !0),
52720
52716
  K("small", null, P(t.role === "host" ? `主持 · ${s[t.access]}` : s[t.access]), 1)
52721
52717
  ]),
52722
- v(t) ? (U(), W("div", d$, P(v(t)), 1)) : Y("", !0),
52723
- t.session_mode === "borrowed" ? (U(), W("div", f$, "借用已有会话")) : Y("", !0),
52718
+ v(t) ? (U(), W("div", u$, P(v(t)), 1)) : Y("", !0),
52719
+ t.session_mode === "borrowed" ? (U(), W("div", d$, "借用已有会话")) : Y("", !0),
52724
52720
  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)
52725
52721
  ]),
52726
52722
  q(ee, {
@@ -52745,8 +52741,8 @@ var hU = /*#__PURE__*/ XH({
52745
52741
  key: e.executions.join("-"),
52746
52742
  class: "pb-free-note is-warning"
52747
52743
  }, "可能冲突:" + P(e.members.map((e) => I(n).display_name(e)).join(" 与 ")) + " 的重叠执行观察到 " + P(e.files.join("、")) + " 变化;修改者未确认。", 1))), 128)),
52748
- I(t).free_error ? (U(), W("p", p$, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", m$, P(I(t).free_notice), 1)) : Y("", !0),
52749
- I(t).access?.error ? (U(), W("p", h$, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", g$, P(I(t).access.notice), 1)) : Y("", !0),
52744
+ I(t).free_error ? (U(), W("p", f$, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", p$, P(I(t).free_notice), 1)) : Y("", !0),
52745
+ I(t).access?.error ? (U(), W("p", m$, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", h$, P(I(t).access.notice), 1)) : Y("", !0),
52750
52746
  c.value.archived ? Y("", !0) : (U(), G(h, {
52751
52747
  key: 4,
52752
52748
  icon: "i-lucide-plus",
@@ -52758,13 +52754,13 @@ var hU = /*#__PURE__*/ XH({
52758
52754
  onClick: i[1] ||= (e) => E.value = !0
52759
52755
  }))
52760
52756
  ]),
52761
- c.value.linked_rooms?.length ? (U(), W("section", _$, [i[10] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(c.value.linked_rooms, (e) => (U(), W("button", {
52757
+ c.value.linked_rooms?.length ? (U(), W("section", g$, [i[10] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(c.value.linked_rooms, (e) => (U(), W("button", {
52762
52758
  key: e.id,
52763
52759
  type: "button",
52764
52760
  class: "pb-link pb-free-linked",
52765
52761
  onClick: (t) => I(r)("room", e.id)
52766
- }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, v$))), 128))])) : Y("", !0),
52767
- c.value.archived ? Y("", !0) : (U(), W("section", y$, [q(h, {
52762
+ }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, _$))), 128))])) : Y("", !0),
52763
+ c.value.archived ? Y("", !0) : (U(), W("section", v$, [q(h, {
52768
52764
  icon: "i-lucide-messages-square",
52769
52765
  label: "开启讨论",
52770
52766
  size: "sm",
@@ -52774,13 +52770,13 @@ var hU = /*#__PURE__*/ XH({
52774
52770
  title: "由主持人推进成员轮流发言,到上限或结束后房间回到自由协作",
52775
52771
  disabled: !O.value,
52776
52772
  onClick: i[2] ||= (e) => D.value = !0
52777
- }, null, 8, ["disabled"]), O.value ? Y("", !0) : (U(), W("p", b$, "开启讨论需要一位由本机唤醒的 AI 主持人。"))])),
52778
- C.value.items.length ? (U(), W("section", x$, [K("div", S$, [i[11] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(C.value.items.length) + " 次执行 · " + P(w(C.value.total)), 1)]), K("details", C$, [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", w$, [J("#" + P(e.id) + " " + P(m(e.member_id)), 1), K("small", null, P(o[e.status] || e.status), 1)]), K("span", T$, [K("span", null, "用时 " + P(w(e.seconds)), 1)])]))), 128))])])])) : Y("", !0),
52779
- q(ZQ, {
52773
+ }, null, 8, ["disabled"]), O.value ? Y("", !0) : (U(), W("p", y$, "开启讨论需要一位由本机唤醒的 AI 主持人。"))])),
52774
+ C.value.items.length ? (U(), W("section", b$, [K("div", x$, [i[11] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(C.value.items.length) + " 次执行 · " + P(w(C.value.total)), 1)]), K("details", S$, [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", C$, [J("#" + P(e.id) + " " + P(m(e.member_id)), 1), K("small", null, P(o[e.status] || e.status), 1)]), K("span", w$, [K("span", null, "用时 " + P(w(e.seconds)), 1)])]))), 128))])])])) : Y("", !0),
52775
+ q(XQ, {
52780
52776
  open: D.value,
52781
52777
  "onUpdate:open": i[3] ||= (e) => D.value = e
52782
52778
  }, null, 8, ["open"]),
52783
- q(NZ, {
52779
+ q(MZ, {
52784
52780
  open: E.value,
52785
52781
  "onUpdate:open": i[4] ||= (e) => E.value = e,
52786
52782
  description: "新成员加入后不打断其他成员;点卡片翻面可设置软件、模型、项目权限和要续接的已有会话。"
@@ -52788,47 +52784,47 @@ var hU = /*#__PURE__*/ XH({
52788
52784
  ]);
52789
52785
  };
52790
52786
  }
52791
- }, [["__scopeId", "data-v-11a4b3fe"]]), O$ = {
52787
+ }, [["__scopeId", "data-v-11a4b3fe"]]), D$ = {
52792
52788
  id: "channel-sidebar",
52793
52789
  class: "channel-sidebar",
52794
52790
  "aria-label": "房间导航"
52795
- }, k$ = { class: "channel-sidebar-content" }, A$ = { class: "channel-directory-heading channel-tools-heading" }, j$ = ["aria-expanded"], M$ = { class: "channel-sidebar-footer" }, N$ = ["aria-label"], P$ = { class: "channel-self" }, F$ = ["title"], I$ = [
52791
+ }, O$ = { class: "channel-sidebar-content" }, k$ = { class: "channel-directory-heading channel-tools-heading" }, A$ = ["aria-expanded"], j$ = { class: "channel-sidebar-footer" }, M$ = ["aria-label"], N$ = { class: "channel-self" }, P$ = ["title"], F$ = [
52796
52792
  "aria-valuemax",
52797
52793
  "aria-valuenow",
52798
52794
  "aria-valuetext"
52799
- ], L$ = { class: "channel-main" }, R$ = { class: "channel-header" }, z$ = { class: "channel-title-icon" }, B$ = { class: "channel-title" }, V$ = { class: "channel-title-copy" }, H$ = ["title"], U$ = {
52795
+ ], I$ = { class: "channel-main" }, L$ = { class: "channel-header" }, R$ = { class: "channel-title-icon" }, z$ = { class: "channel-title" }, B$ = { class: "channel-title-copy" }, V$ = ["title"], H$ = {
52800
52796
  key: 0,
52801
52797
  class: "channel-header-context"
52802
- }, W$ = { class: "channel-header-actions" }, G$ = {
52798
+ }, U$ = { class: "channel-header-actions" }, W$ = {
52803
52799
  key: 0,
52804
52800
  class: "channel-launch-recovery",
52805
52801
  "aria-label": "未完成的创建或启动请求"
52806
- }, K$ = { role: "status" }, q$ = { class: "button-row" }, J$ = {
52802
+ }, G$ = { role: "status" }, K$ = { class: "button-row" }, q$ = {
52807
52803
  key: 1,
52808
52804
  class: "channel-tabbar"
52809
- }, Y$ = { class: "channel-brief-inner" }, X$ = { class: "channel-brief-heading" }, Z$ = ["aria-label", "aria-expanded"], Q$ = {
52805
+ }, J$ = { class: "channel-brief-inner" }, Y$ = { class: "channel-brief-heading" }, X$ = ["aria-label", "aria-expanded"], Z$ = {
52810
52806
  key: 0,
52811
52807
  class: "channel-brief-preview"
52812
- }, $$ = {
52808
+ }, Q$ = {
52813
52809
  id: "channel-brief-content",
52814
52810
  class: "channel-brief-content"
52815
- }, e1 = ["innerHTML"], t1 = { class: "channel-brief-footer" }, n1 = { class: "channel-brief-status" }, r1 = { class: "channel-content" }, i1 = {
52811
+ }, $$ = ["innerHTML"], e1 = { class: "channel-brief-footer" }, t1 = { class: "channel-brief-status" }, n1 = { class: "channel-content" }, r1 = {
52816
52812
  key: 0,
52817
52813
  class: "content-page channel-summary",
52818
52814
  role: "tabpanel",
52819
52815
  "aria-label": "共识"
52820
- }, a1 = { class: "page-heading" }, o1 = { class: "form-footer" }, s1 = {
52816
+ }, i1 = { class: "page-heading" }, a1 = { class: "form-footer" }, o1 = {
52821
52817
  key: 1,
52822
52818
  class: "channel-empty"
52823
- }, c1 = ["aria-valuenow", "aria-valuetext"], l1 = {
52819
+ }, s1 = ["aria-valuenow", "aria-valuetext"], c1 = {
52824
52820
  key: 2,
52825
52821
  id: "channel-member-rail",
52826
52822
  class: "channel-member-rail",
52827
52823
  "aria-label": "当前焦点与讨论进度"
52828
- }, u1 = { class: "channel-rail-board" }, d1 = {
52824
+ }, l1 = { class: "channel-rail-board" }, u1 = {
52829
52825
  key: 2,
52830
52826
  class: "progress-board is-docked"
52831
- }, f1 = { class: "channel-detail-title" }, p1 = { class: "info-section" }, m1 = "ai-codiscuss-channel-layout", h1 = 220, g1 = 440, _1 = 280, v1 = 16, y1 = 180, b1 = 400, x1 = 248, S1 = 16, C1 = 480, w1 = 1200, T1 = 0, E1 = {
52827
+ }, d1 = { class: "channel-detail-title" }, f1 = { class: "info-section" }, p1 = "ai-codiscuss-channel-layout", m1 = 220, h1 = 440, g1 = 280, _1 = 16, v1 = 180, y1 = 400, b1 = 248, x1 = 16, S1 = 480, C1 = 1200, w1 = 0, T1 = {
52832
52828
  __name: "ChannelWorkspace",
52833
52829
  setup(e) {
52834
52830
  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 = [{
@@ -52850,14 +52846,14 @@ var hU = /*#__PURE__*/ XH({
52850
52846
  label: "宽",
52851
52847
  width: 1240
52852
52848
  }
52853
- }, 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 >= w1), k = Z(() => t.value.tab === "discussion" && !O.value), te = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), ne = Z(() => {
52849
+ }, 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 >= C1), k = Z(() => t.value.tab === "discussion" && !O.value), te = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), ne = Z(() => {
52854
52850
  let e = document.createElement("template");
52855
52851
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
52856
- }), re = /* @__PURE__ */ F(null), ie = /* @__PURE__ */ F(0), A = null, j = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(null), oe = Z(() => Math.min(b1, Math.max(y1, T.value - C1 - T1))), se = Z(() => Math.min(w.value, oe.value)), ce = Z(() => ({
52852
+ }), re = /* @__PURE__ */ F(null), ie = /* @__PURE__ */ F(0), A = null, j = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(null), oe = Z(() => Math.min(y1, Math.max(v1, T.value - S1 - w1))), se = Z(() => Math.min(w.value, oe.value)), ce = Z(() => ({
52857
52853
  "--channel-reading-width": `${y[x.value].width}px`,
52858
52854
  "--channel-rail-width": `${C.value}px`,
52859
52855
  "--channel-topbar-height": `${ie.value}px`,
52860
- "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${se.value}px ${T1}px minmax(0, 1fr)`
52856
+ "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${se.value}px ${w1}px minmax(0, 1fr)`
52861
52857
  })), le = Object.entries(y).map(([e, t]) => ({
52862
52858
  value: e,
52863
52859
  label: t.label
@@ -52940,12 +52936,12 @@ var hU = /*#__PURE__*/ XH({
52940
52936
  }
52941
52937
  function Te() {
52942
52938
  try {
52943
- let e = JSON.parse(localStorage.getItem(m1)) || {};
52939
+ let e = JSON.parse(localStorage.getItem(p1)) || {};
52944
52940
  return {
52945
52941
  reading: Object.hasOwn(y, e.reading) ? e.reading : "default",
52946
52942
  effects: e.effects === "reduced" ? "reduced" : "full",
52947
- rail: Number.isFinite(e.rail) ? Math.min(g1, Math.max(h1, e.rail)) : _1,
52948
- nav: Number.isFinite(e.nav) ? Math.min(b1, Math.max(y1, e.nav)) : Ee(),
52943
+ rail: Number.isFinite(e.rail) ? Math.min(h1, Math.max(m1, e.rail)) : g1,
52944
+ nav: Number.isFinite(e.nav) ? Math.min(y1, Math.max(v1, e.nav)) : Ee(),
52949
52945
  collapsed: e.collapsed === !0,
52950
52946
  brief_collapsed: e.brief_collapsed === !0,
52951
52947
  rail_collapsed: e.rail_collapsed === !0
@@ -52954,7 +52950,7 @@ var hU = /*#__PURE__*/ XH({
52954
52950
  return {
52955
52951
  reading: "default",
52956
52952
  effects: "full",
52957
- rail: _1,
52953
+ rail: g1,
52958
52954
  nav: Ee(),
52959
52955
  collapsed: !1,
52960
52956
  brief_collapsed: !1,
@@ -52963,11 +52959,11 @@ var hU = /*#__PURE__*/ XH({
52963
52959
  }
52964
52960
  }
52965
52961
  function Ee() {
52966
- return typeof window > "u" ? x1 : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : x1;
52962
+ return typeof window > "u" ? b1 : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : b1;
52967
52963
  }
52968
52964
  function De() {
52969
52965
  try {
52970
- localStorage.setItem(m1, JSON.stringify({
52966
+ localStorage.setItem(p1, JSON.stringify({
52971
52967
  reading: x.value,
52972
52968
  effects: S.value,
52973
52969
  rail: C.value,
@@ -52998,19 +52994,19 @@ var hU = /*#__PURE__*/ XH({
52998
52994
  }, e.currentTarget.setPointerCapture(e.pointerId));
52999
52995
  }
53000
52996
  function Ne(e) {
53001
- j.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(g1, Math.max(h1, j.value.width + j.value.x - e.clientX))));
52997
+ j.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(h1, Math.max(m1, j.value.width + j.value.x - e.clientX))));
53002
52998
  }
53003
52999
  function Pe(e) {
53004
53000
  j.value?.pointer === e.pointerId && (j.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), De());
53005
53001
  }
53006
53002
  function Fe(e) {
53007
53003
  let t = {
53008
- ArrowLeft: C.value + v1,
53009
- ArrowRight: C.value - v1,
53010
- Home: h1,
53011
- End: g1
53004
+ ArrowLeft: C.value + _1,
53005
+ ArrowRight: C.value - _1,
53006
+ Home: m1,
53007
+ End: h1
53012
53008
  };
53013
- Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(g1, Math.max(h1, t[e.key])), De());
53009
+ Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(h1, Math.max(m1, t[e.key])), De());
53014
53010
  }
53015
53011
  function Ie(e) {
53016
53012
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ae.value = {
@@ -53020,19 +53016,19 @@ var hU = /*#__PURE__*/ XH({
53020
53016
  }, e.currentTarget.setPointerCapture(e.pointerId));
53021
53017
  }
53022
53018
  function Le(e) {
53023
- ae.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(oe.value, Math.max(y1, ae.value.width + e.clientX - ae.value.x))));
53019
+ ae.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(oe.value, Math.max(v1, ae.value.width + e.clientX - ae.value.x))));
53024
53020
  }
53025
53021
  function Re(e) {
53026
53022
  ae.value?.pointer === e.pointerId && (ae.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), De());
53027
53023
  }
53028
53024
  function ze(e) {
53029
53025
  let t = {
53030
- ArrowLeft: se.value - S1,
53031
- ArrowRight: se.value + S1,
53032
- Home: y1,
53026
+ ArrowLeft: se.value - x1,
53027
+ ArrowRight: se.value + x1,
53028
+ Home: v1,
53033
53029
  End: oe.value
53034
53030
  };
53035
- Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(oe.value, Math.max(y1, t[e.key])), De());
53031
+ Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(oe.value, Math.max(v1, t[e.key])), De());
53036
53032
  }
53037
53033
  return (e, r) => {
53038
53034
  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;
@@ -53044,10 +53040,10 @@ var hU = /*#__PURE__*/ XH({
53044
53040
  }]),
53045
53041
  style: fe(ce.value)
53046
53042
  }, [
53047
- K("aside", O$, [
53043
+ K("aside", D$, [
53048
53044
  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),
53049
- K("div", k$, [
53050
- q(_Z, {
53045
+ K("div", O$, [
53046
+ q(gZ, {
53051
53047
  onSelect: ye,
53052
53048
  onManage: _e,
53053
53049
  onCreate: xe,
@@ -53056,12 +53052,12 @@ var hU = /*#__PURE__*/ XH({
53056
53052
  onDeleteFolder: we,
53057
53053
  onArchives: ve
53058
53054
  }),
53059
- K("div", A$, [K("button", {
53055
+ K("div", k$, [K("button", {
53060
53056
  type: "button",
53061
53057
  class: "channel-section-toggle",
53062
53058
  "aria-expanded": f.value,
53063
53059
  onClick: r[0] ||= (e) => f.value = !f.value
53064
- }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[24] ||= J("频道工具", -1)], 8, j$)]),
53060
+ }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[24] ||= J("频道工具", -1)], 8, A$)]),
53065
53061
  f.value ? (U(), G(b, {
53066
53062
  key: 0,
53067
53063
  items: he.value,
@@ -53077,7 +53073,7 @@ var hU = /*#__PURE__*/ XH({
53077
53073
  }
53078
53074
  }, null, 8, ["items"])) : Y("", !0)
53079
53075
  ]),
53080
- K("footer", M$, [K("button", {
53076
+ K("footer", j$, [K("button", {
53081
53077
  type: "button",
53082
53078
  class: "channel-self-button",
53083
53079
  "aria-label": `账号与设置:${I(n).display_name(I(_))}${ge.value ? "," + ge.value : ""}`,
@@ -53093,10 +53089,10 @@ var hU = /*#__PURE__*/ XH({
53093
53089
  "text",
53094
53090
  "alt",
53095
53091
  "class"
53096
- ]), K("span", P$, [K("strong", null, P(I(n).display_name(I(_))), 1), K("span", { class: M(["channel-connection", { "is-action": ge.value }]) }, [K("span", {
53092
+ ]), K("span", N$, [K("strong", null, P(I(n).display_name(I(_))), 1), K("span", { class: M(["channel-connection", { "is-action": ge.value }]) }, [K("span", {
53097
53093
  class: M({ connected: I(t).connected }),
53098
53094
  title: I(t).connected ? "网站已连接" : "网站未连接"
53099
- }, null, 10, F$), J(P(ge.value || (I(t).connected ? "网站已连接" : "网站未连接")), 1)], 2)])], 8, N$), q(O, { text: "设置" }, {
53095
+ }, null, 10, P$), J(P(ge.value || (I(t).connected ? "网站已连接" : "网站未连接")), 1)], 2)])], 8, M$), q(O, { text: "设置" }, {
53100
53096
  default: L(() => [q(T, {
53101
53097
  icon: "i-lucide-settings-2",
53102
53098
  color: "neutral",
@@ -53117,7 +53113,7 @@ var hU = /*#__PURE__*/ XH({
53117
53113
  "aria-label": "调整房间栏宽度",
53118
53114
  "aria-orientation": "vertical",
53119
53115
  "aria-controls": "channel-sidebar",
53120
- "aria-valuemin": y1,
53116
+ "aria-valuemin": v1,
53121
53117
  "aria-valuemax": oe.value,
53122
53118
  "aria-valuenow": se.value,
53123
53119
  "aria-valuetext": `${se.value} 像素`,
@@ -53128,13 +53124,13 @@ var hU = /*#__PURE__*/ XH({
53128
53124
  onPointercancel: Re,
53129
53125
  onLostpointercapture: Re,
53130
53126
  onKeydown: ze
53131
- }, null, 40, I$)),
53132
- K("main", L$, [K("div", {
53127
+ }, null, 40, F$)),
53128
+ K("main", I$, [K("div", {
53133
53129
  ref_key: "topbar",
53134
53130
  ref: re,
53135
53131
  class: M(["channel-topbar", { "is-overlay": o.value && I(t).tab === "discussion" }])
53136
53132
  }, [
53137
- K("header", R$, [
53133
+ K("header", L$, [
53138
53134
  q(O, { text: E.value ? "展开房间栏" : "收起房间栏" }, {
53139
53135
  default: L(() => [q(T, {
53140
53136
  icon: "i-lucide-panel-left",
@@ -53159,8 +53155,8 @@ var hU = /*#__PURE__*/ XH({
53159
53155
  "aria-expanded": d.value,
53160
53156
  onClick: r[4] ||= (e) => d.value = !0
53161
53157
  }, null, 8, ["aria-expanded"]),
53162
- K("span", z$, [q(y, { name: "i-lucide-hash" })]),
53163
- K("div", B$, [K("div", V$, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, H$)]), o.value?.archived ? (U(), G(ie, {
53158
+ K("span", R$, [q(y, { name: "i-lucide-hash" })]),
53159
+ K("div", z$, [K("div", B$, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, V$)]), o.value?.archived ? (U(), G(ie, {
53164
53160
  key: 0,
53165
53161
  color: "neutral",
53166
53162
  variant: "subtle",
@@ -53169,12 +53165,12 @@ var hU = /*#__PURE__*/ XH({
53169
53165
  default: L(() => [...r[26] ||= [J("已存档", -1)]]),
53170
53166
  _: 1
53171
53167
  })) : Y("", !0)]),
53172
- o.value ? (U(), W("span", U$, [
53168
+ o.value ? (U(), W("span", H$, [
53173
53169
  J(P(me.value.find((e) => e.value === I(t).tab)?.label), 1),
53174
53170
  r[27] ||= K("span", null, "·", -1),
53175
53171
  J(P(o.value.message_count) + " 条记录", 1)
53176
53172
  ])) : Y("", !0),
53177
- K("div", W$, [
53173
+ K("div", U$, [
53178
53174
  I(t).tab === "discussion" ? (U(), W("form", {
53179
53175
  key: 0,
53180
53176
  class: "channel-search",
@@ -53232,7 +53228,7 @@ var hU = /*#__PURE__*/ XH({
53232
53228
  ])]),
53233
53229
  _: 1
53234
53230
  })) : Y("", !0),
53235
- o.value && !(k.value && ee.value) ? (U(), G(JQ, { key: 2 })) : Y("", !0)
53231
+ o.value && !(k.value && ee.value) ? (U(), G(qQ, { key: 2 })) : Y("", !0)
53236
53232
  ]),
53237
53233
  q(O, { text: te.value }, {
53238
53234
  default: L(() => [q(T, {
@@ -53253,12 +53249,12 @@ var hU = /*#__PURE__*/ XH({
53253
53249
  _: 1
53254
53250
  }, 8, ["text"])
53255
53251
  ]),
53256
- I(t).launch.recoveries.length ? (U(), W("section", G$, [
53252
+ I(t).launch.recoveries.length ? (U(), W("section", W$, [
53257
53253
  r[28] ||= K("h2", null, "继续未完成的请求", -1),
53258
53254
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
53259
53255
  K("strong", null, P(e.title), 1),
53260
- K("p", K$, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
53261
- K("div", q$, [
53256
+ K("p", G$, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
53257
+ K("div", K$, [
53262
53258
  q(T, {
53263
53259
  label: e.direct ? "继续创建房间" : "继续本次启动",
53264
53260
  size: "sm",
@@ -53291,7 +53287,7 @@ var hU = /*#__PURE__*/ XH({
53291
53287
  ]))), 128)),
53292
53288
  r[29] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
53293
53289
  ])) : Y("", !0),
53294
- o.value ? (U(), W("div", J$, [q(de, {
53290
+ o.value ? (U(), W("div", q$, [q(de, {
53295
53291
  modelValue: ue.value,
53296
53292
  "onUpdate:modelValue": r[9] ||= (e) => ue.value = e,
53297
53293
  items: me.value,
@@ -53306,7 +53302,7 @@ var hU = /*#__PURE__*/ XH({
53306
53302
  key: 2,
53307
53303
  class: M(["channel-host-brief", { "is-collapsed": D.value }]),
53308
53304
  "aria-label": "主持简报"
53309
- }, [K("div", Y$, [K("div", X$, [K("button", {
53305
+ }, [K("div", J$, [K("div", Y$, [K("button", {
53310
53306
  type: "button",
53311
53307
  class: "channel-brief-toggle",
53312
53308
  "aria-label": D.value ? "展开主持简报" : "收起主持简报",
@@ -53316,8 +53312,8 @@ var hU = /*#__PURE__*/ XH({
53316
53312
  }, [
53317
53313
  q(y, { name: D.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
53318
53314
  K("strong", null, "主持简报" + P(D.value ? ":" : ""), 1),
53319
- D.value ? (U(), W("span", Q$, P(ne.value), 1)) : Y("", !0)
53320
- ], 8, Z$), D.value ? Y("", !0) : (U(), G(T, {
53315
+ D.value ? (U(), W("span", Z$, P(ne.value), 1)) : Y("", !0)
53316
+ ], 8, X$), D.value ? Y("", !0) : (U(), G(T, {
53321
53317
  key: 0,
53322
53318
  label: "更新简报",
53323
53319
  color: "neutral",
@@ -53325,19 +53321,19 @@ var hU = /*#__PURE__*/ XH({
53325
53321
  size: "xs",
53326
53322
  class: "channel-brief-update",
53327
53323
  onClick: r[10] ||= (e) => I(i)("tab", "context")
53328
- }))]), vr(K("div", $$, [K("div", {
53324
+ }))]), vr(K("div", Q$, [K("div", {
53329
53325
  class: "channel-brief-text markdown-body",
53330
53326
  innerHTML: o.value.rendered_brief
53331
- }, null, 8, e1), K("div", t1, [K("span", n1, 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)
53327
+ }, null, 8, $$), K("div", e1, [K("span", t1, 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)
53332
53328
  ], 2), o.value ? (U(), W("div", {
53333
53329
  key: 0,
53334
53330
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
53335
- }, [K("div", r1, [
53331
+ }, [K("div", n1, [
53336
53332
  vr(q(uK, {
53337
53333
  onDetail: be,
53338
53334
  onEdit: r[11] ||= (e) => s.value = "edit"
53339
53335
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
53340
- I(t).tab === "context" ? (U(), W("section", i1, [K("div", a1, [r[30] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(ie, {
53336
+ I(t).tab === "context" ? (U(), W("section", r1, [K("div", i1, [r[30] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(ie, {
53341
53337
  color: "neutral",
53342
53338
  variant: "outline"
53343
53339
  }, {
@@ -53378,7 +53374,7 @@ var hU = /*#__PURE__*/ XH({
53378
53374
  }, null, 8, ["modelValue"])]),
53379
53375
  _: 1
53380
53376
  }),
53381
- K("div", o1, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(T, {
53377
+ K("div", a1, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(T, {
53382
53378
  type: "submit",
53383
53379
  color: "neutral",
53384
53380
  icon: "i-lucide-check",
@@ -53392,7 +53388,7 @@ var hU = /*#__PURE__*/ XH({
53392
53388
  onOpen: r[15] ||= (e) => s.value = e,
53393
53389
  onDetail: be
53394
53390
  })) : Y("", !0)
53395
- ])], 2)) : (U(), W("div", s1, [
53391
+ ])], 2)) : (U(), W("div", o1, [
53396
53392
  q(y, { name: "i-lucide-hash" }),
53397
53393
  r[31] ||= K("h2", null, "新建一个协作房间", -1),
53398
53394
  r[32] ||= K("p", null, "邀请 AI 一起协作,随时 @ 提问;需要时开启讨论,保留所有人的观点。", -1),
@@ -53411,8 +53407,8 @@ var hU = /*#__PURE__*/ XH({
53411
53407
  "aria-label": "调整右侧栏宽度",
53412
53408
  "aria-orientation": "vertical",
53413
53409
  "aria-controls": "channel-member-rail",
53414
- "aria-valuemin": h1,
53415
- "aria-valuemax": g1,
53410
+ "aria-valuemin": m1,
53411
+ "aria-valuemax": h1,
53416
53412
  "aria-valuenow": C.value,
53417
53413
  "aria-valuetext": `${C.value} 像素`,
53418
53414
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -53422,11 +53418,11 @@ var hU = /*#__PURE__*/ XH({
53422
53418
  onPointercancel: Pe,
53423
53419
  onLostpointercapture: Pe,
53424
53420
  onKeydown: Fe
53425
- }, null, 40, c1)) : Y("", !0),
53426
- k.value ? (U(), W("aside", l1, [K("section", u1, [o.value && pe.value ? (U(), G(D$, { key: 0 })) : o.value ? (U(), G(UQ, {
53421
+ }, null, 40, s1)) : Y("", !0),
53422
+ k.value ? (U(), W("aside", c1, [K("section", l1, [o.value && pe.value ? (U(), G(E$, { key: 0 })) : o.value ? (U(), G(HQ, {
53427
53423
  key: 1,
53428
53424
  docked: ""
53429
- })) : (U(), W("div", d1, [...r[33] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
53425
+ })) : (U(), W("div", u1, [...r[33] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
53430
53426
  q(De, {
53431
53427
  open: d.value,
53432
53428
  "onUpdate:open": r[18] ||= (e) => d.value = e,
@@ -53438,7 +53434,7 @@ var hU = /*#__PURE__*/ XH({
53438
53434
  body: "channel-drawer-body"
53439
53435
  }
53440
53436
  }, {
53441
- body: L(() => [q(_Z, {
53437
+ body: L(() => [q(gZ, {
53442
53438
  onSelect: ye,
53443
53439
  onManage: _e,
53444
53440
  onCreate: xe,
@@ -53469,7 +53465,7 @@ var hU = /*#__PURE__*/ XH({
53469
53465
  }
53470
53466
  }, {
53471
53467
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
53472
- K("div", f1, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
53468
+ K("div", d1, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
53473
53469
  (U(), W(H, null, B([
53474
53470
  {
53475
53471
  key: "goal",
@@ -53496,7 +53492,7 @@ var hU = /*#__PURE__*/ XH({
53496
53492
  class: "info-section"
53497
53493
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
53498
53494
  q(ke),
53499
- K("section", p1, [r[34] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(N.value, (e) => (U(), W("div", {
53495
+ K("section", f1, [r[34] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(N.value, (e) => (U(), W("div", {
53500
53496
  key: e.name,
53501
53497
  class: "expert-row"
53502
53498
  }, [
@@ -53529,7 +53525,7 @@ var hU = /*#__PURE__*/ XH({
53529
53525
  ], 64)) : Y("", !0)]),
53530
53526
  _: 1
53531
53527
  }, 8, ["open"]),
53532
- q(qX, {
53528
+ q(KX, {
53533
53529
  modelValue: s.value,
53534
53530
  "onUpdate:modelValue": r[21] ||= (e) => s.value = e,
53535
53531
  "reading-width": x.value,
@@ -53553,7 +53549,7 @@ var hU = /*#__PURE__*/ XH({
53553
53549
  ], 6);
53554
53550
  };
53555
53551
  }
53556
- }, D1 = {
53552
+ }, E1 = {
53557
53553
  __name: "App",
53558
53554
  setup(e) {
53559
53555
  return br("discussion", OV()), (e, t) => {
@@ -53564,7 +53560,7 @@ var hU = /*#__PURE__*/ XH({
53564
53560
  toaster: null
53565
53561
  }, {
53566
53562
  default: L(() => [q(I(Qz), { "reduced-motion": "user" }, {
53567
- default: L(() => [q(E1)]),
53563
+ default: L(() => [q(T1)]),
53568
53564
  _: 1
53569
53565
  })]),
53570
53566
  _: 1
@@ -53574,8 +53570,8 @@ var hU = /*#__PURE__*/ XH({
53574
53570
  };
53575
53571
  //#endregion
53576
53572
  //#region frontend/main.js
53577
- function O1() {
53578
- bu(D1).use(ph).mount("#modern-root");
53573
+ function D1() {
53574
+ bu(E1).use(ph).mount("#modern-root");
53579
53575
  }
53580
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", O1) : O1();
53576
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", D1) : D1();
53581
53577
  //#endregion