ai_co_discuss 0.2.4 → 0.2.6

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
@@ -44092,15 +44092,16 @@ var YG = /*#__PURE__*/ nH({
44092
44092
  ])]))), 128))]);
44093
44093
  };
44094
44094
  }
44095
- }, [["__scopeId", "data-v-859a6440"]]), XG = [
44095
+ }, [["__scopeId", "data-v-859a6440"]]), XG = { class: "effort-field" }, ZG = {
44096
+ key: 0,
44097
+ class: "effort-caption",
44098
+ "aria-hidden": "true"
44099
+ }, QG = [
44096
44100
  "aria-label",
44097
44101
  "aria-valuemax",
44098
44102
  "aria-valuenow",
44099
44103
  "aria-valuetext"
44100
- ], ZG = {
44101
- class: "effort-slider-track",
44102
- "aria-hidden": "true"
44103
- }, QG = ["title"], $G = 4.5, eK = 6, tK = 8, nK = 1 / 240, rK = .001, iK = .01, aK = .05, oK = 10, sK = 4, cK = /*#__PURE__*/ nH({
44104
+ ], $G = ["title"], eK = 4.5, tK = 6, nK = 8, rK = 1 / 240, iK = .001, aK = .01, oK = .05, sK = 10, cK = 4, lK = /*#__PURE__*/ nH({
44104
44105
  __name: "EffortSlider",
44105
44106
  props: {
44106
44107
  items: {
@@ -44114,6 +44115,10 @@ var YG = /*#__PURE__*/ nH({
44114
44115
  label: {
44115
44116
  type: String,
44116
44117
  required: !0
44118
+ },
44119
+ caption: {
44120
+ type: String,
44121
+ default: ""
44117
44122
  }
44118
44123
  },
44119
44124
  emits: ["update:modelValue"],
@@ -44124,46 +44129,46 @@ var YG = /*#__PURE__*/ nH({
44124
44129
  target: s.value,
44125
44130
  hand: null,
44126
44131
  pointer: null
44127
- }), l = Z(() => `${Math.min(o.value, Math.max(0, c.x)) / o.value * 100}%`), u = 0, d = 0, f = 0, p = 0, m = !1, h = (e) => Math.min(o.value, Math.max(0, e)), g = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
44128
- function _(e) {
44129
- let t = c.hand ?? c.target, n = c.hand === null ? $G : eK, r = (e, r) => g(e - t, r, n) + (e < 0 || e > o.value ? g(e - h(e), r, tK) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
44132
+ }), l = Z(() => Math.min(o.value, Math.max(0, c.x)) / o.value), u = Z(() => Math.round(Math.min(o.value, Math.max(0, c.x)))), d = 0, f = 0, p = 0, m = 0, h = !1, g = (e) => Math.min(o.value, Math.max(0, e)), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
44133
+ function v(e) {
44134
+ let t = c.hand ?? c.target, n = c.hand === null ? eK : tK, r = (e, r) => _(e - t, r, n) + (e < 0 || e > o.value ? _(e - g(e), r, nK) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
44130
44135
  c.x += e * (a + 2 * l + 2 * d + p) / 6, c.v += e * (s + 2 * u + 2 * f + m) / 6;
44131
44136
  }
44132
- function v(e) {
44133
- u = 0;
44134
- let t = Math.min(aK, (e - d) / 1e3);
44135
- for (d = e; t > 0;) {
44136
- let e = Math.min(nK, t);
44137
- _(e), t -= e;
44137
+ function y(e) {
44138
+ d = 0;
44139
+ let t = Math.min(oK, (e - f) / 1e3);
44140
+ for (f = e; t > 0;) {
44141
+ let e = Math.min(rK, t);
44142
+ v(e), t -= e;
44138
44143
  }
44139
44144
  let n = c.hand ?? c.target;
44140
- Math.abs(c.x - n) < rK && Math.abs(c.v) < iK ? (c.x = n, c.v = 0) : u = requestAnimationFrame(v);
44141
- }
44142
- function y() {
44143
- i.value ? (cancelAnimationFrame(u), u = 0, c.x = c.hand ?? c.target, c.v = 0) : u ||= (d = performance.now(), requestAnimationFrame(v));
44145
+ Math.abs(c.x - n) < iK && Math.abs(c.v) < aK ? (c.x = n, c.v = 0) : d = requestAnimationFrame(y);
44144
44146
  }
44145
- function b(e) {
44146
- c.target = h(Math.round(e)), r("update:modelValue", n.items[c.target].value), y();
44147
+ function b() {
44148
+ i.value ? (cancelAnimationFrame(d), d = 0, c.x = c.hand ?? c.target, c.v = 0) : d ||= (f = performance.now(), requestAnimationFrame(y));
44147
44149
  }
44148
44150
  function x(e) {
44149
- let t = a.value.getBoundingClientRect();
44150
- return h((e.clientX - t.left - oK) / Math.max(1, t.width - 20) * o.value);
44151
+ c.target = g(Math.round(e)), r("update:modelValue", n.items[c.target].value), b();
44151
44152
  }
44152
44153
  function S(e) {
44153
- e.isPrimary && e.button === 0 && c.pointer === null && (e.preventDefault(), a.value.focus(), a.value.setPointerCapture(e.pointerId), c.pointer = e.pointerId, f = e.clientX, m = !1, p = e.target.closest(".effort-slider-thumb") ? c.x - x(e) : 0, c.hand = h(x(e) + p), y());
44154
+ let t = a.value.getBoundingClientRect();
44155
+ return g((e.clientX - t.left - sK) / Math.max(1, t.width - 20) * o.value);
44154
44156
  }
44155
44157
  function C(e) {
44156
- c.pointer === e.pointerId && (m ||= Math.abs(e.clientX - f) > sK, c.hand = h(x(e) + p), y());
44158
+ e.isPrimary && e.button === 0 && c.pointer === null && (e.preventDefault(), a.value.focus(), a.value.setPointerCapture(e.pointerId), c.pointer = e.pointerId, p = e.clientX, h = !1, m = e.target.closest(".effort-slider-thumb") ? c.x - S(e) : 0, c.hand = g(S(e) + m), b());
44157
44159
  }
44158
44160
  function w(e) {
44159
- if (c.pointer !== e.pointerId) return;
44160
- let t = m ? c.x + c.v / (4 * Math.PI * $G) : c.hand;
44161
- c.hand = null, c.pointer = null, b(t);
44161
+ c.pointer === e.pointerId && (h ||= Math.abs(e.clientX - p) > cK, c.hand = g(S(e) + m), b());
44162
44162
  }
44163
44163
  function T(e) {
44164
- c.pointer === e.pointerId && (c.hand = null, c.pointer = null, c.target = s.value, y());
44164
+ if (c.pointer !== e.pointerId) return;
44165
+ let t = h ? c.x + c.v / (4 * Math.PI * eK) : c.hand;
44166
+ c.hand = null, c.pointer = null, x(t);
44165
44167
  }
44166
44168
  function E(e) {
44169
+ c.pointer === e.pointerId && (c.hand = null, c.pointer = null, c.target = s.value, b());
44170
+ }
44171
+ function D(e) {
44167
44172
  let t = {
44168
44173
  ArrowRight: s.value + 1,
44169
44174
  ArrowUp: s.value + 1,
@@ -44172,18 +44177,25 @@ var YG = /*#__PURE__*/ nH({
44172
44177
  Home: 0,
44173
44178
  End: o.value
44174
44179
  };
44175
- e.key in t && (e.preventDefault(), b(t[e.key]));
44180
+ e.key in t && (e.preventDefault(), x(t[e.key]));
44176
44181
  }
44177
44182
  return R([
44178
44183
  s,
44179
44184
  o,
44180
44185
  i
44181
44186
  ], () => {
44182
- c.target = s.value, y();
44183
- }), ta(() => cancelAnimationFrame(u)), (t, n) => (U(), W("div", {
44187
+ c.target = s.value, b();
44188
+ }), ta(() => cancelAnimationFrame(d)), (t, n) => (U(), W("div", XG, [e.caption ? (U(), W("div", ZG, [K("span", null, P(e.caption), 1), q(Cc, {
44189
+ name: I(i) ? "" : "effort-value",
44190
+ mode: "out-in"
44191
+ }, {
44192
+ default: L(() => [(U(), W("strong", { key: u.value }, P(e.items[u.value].label), 1))]),
44193
+ _: 1
44194
+ }, 8, ["name"])])) : Y("", !0), K("div", {
44184
44195
  ref_key: "track",
44185
44196
  ref: a,
44186
- class: "effort-slider",
44197
+ class: M(["effort-slider", { "is-dragging": c.pointer !== null }]),
44198
+ style: fe({ "--progress": l.value }),
44187
44199
  role: "slider",
44188
44200
  tabindex: "0",
44189
44201
  "aria-label": e.label,
@@ -44191,60 +44203,67 @@ var YG = /*#__PURE__*/ nH({
44191
44203
  "aria-valuemax": o.value,
44192
44204
  "aria-valuenow": s.value,
44193
44205
  "aria-valuetext": e.items[s.value].label,
44194
- onKeydown: E,
44195
- onPointerdown: S,
44196
- onPointermove: C,
44197
- onPointerup: w,
44198
- onPointercancel: T,
44199
- onLostpointercapture: T
44200
- }, [K("span", ZG, [
44201
- K("span", {
44202
- class: "effort-slider-fill",
44203
- style: fe({ width: l.value })
44204
- }, null, 4),
44206
+ onKeydown: D,
44207
+ onPointerdown: C,
44208
+ onPointermove: w,
44209
+ onPointerup: T,
44210
+ onPointercancel: E,
44211
+ onLostpointercapture: E
44212
+ }, [
44213
+ n[0] ||= K("span", {
44214
+ class: "effort-slider-track",
44215
+ "aria-hidden": "true"
44216
+ }, [K("span", { class: "effort-slider-fill" })], -1),
44205
44217
  (U(!0), W(H, null, B(e.items, (e, t) => (U(), W("span", {
44206
44218
  key: e.value,
44207
44219
  class: M(["effort-slider-stop", {
44208
- "is-active": t <= c.x,
44209
- "is-default": t === 0
44220
+ "is-active": t < u.value,
44221
+ "is-current": t === u.value
44210
44222
  }]),
44211
- style: fe({ left: `${t / o.value * 100}%` }),
44223
+ "aria-hidden": "true",
44224
+ style: fe({ "--at": t / o.value }),
44212
44225
  title: e.label
44213
- }, null, 14, QG))), 128)),
44214
- K("span", {
44226
+ }, null, 14, $G))), 128)),
44227
+ n[1] ||= K("span", {
44215
44228
  class: "effort-slider-thumb",
44216
- style: fe({ left: l.value })
44217
- }, null, 4)
44218
- ])], 40, XG));
44229
+ "aria-hidden": "true"
44230
+ }, null, -1)
44231
+ ], 46, QG)]));
44219
44232
  }
44220
- }, [["__scopeId", "data-v-3e99b484"]]), lK = ["data-identity", "data-face"], uK = ["inert", "aria-hidden"], dK = { class: "expert-card-identity" }, fK = {
44233
+ }, [["__scopeId", "data-v-f27db748"]]), uK = ["data-identity", "data-face"], dK = ["inert", "aria-hidden"], fK = { class: "expert-card-identity" }, pK = {
44221
44234
  key: 0,
44222
44235
  class: "expert-card-badge"
44223
- }, pK = { class: "expert-card-facts" }, mK = ["title"], hK = ["title"], gK = {
44236
+ }, mK = { class: "expert-card-facts" }, hK = ["title"], gK = ["title"], _K = {
44224
44237
  key: 0,
44225
44238
  class: "expert-card-flip"
44226
- }, _K = { class: "expert-card-tools" }, vK = [
44239
+ }, vK = { class: "expert-card-tools" }, yK = [
44227
44240
  "aria-pressed",
44228
44241
  "aria-label",
44229
44242
  "title"
44230
- ], yK = ["aria-label"], bK = ["inert", "aria-hidden"], xK = { class: "expert-card-heading" }, SK = ["aria-label"], CK = [
44243
+ ], bK = ["aria-label"], xK = ["inert", "aria-hidden"], SK = { class: "expert-card-heading" }, CK = ["aria-label"], wK = [
44231
44244
  "aria-checked",
44232
44245
  "tabindex",
44233
44246
  "data-mode",
44234
44247
  "onClick"
44235
- ], wK = {
44248
+ ], TK = {
44236
44249
  key: 1,
44237
44250
  class: "expert-card-field"
44238
- }, TK = { class: "expert-card-field" }, EK = { class: "expert-card-catalog" }, DK = {
44251
+ }, EK = {
44252
+ key: 2,
44253
+ class: "expert-card-field"
44254
+ }, DK = ["aria-label"], OK = ["aria-checked", "onClick"], kK = { class: "expert-card-field" }, AK = {
44239
44255
  key: 0,
44240
- class: "expert-card-effort"
44241
- }, OK = {
44256
+ class: "expert-card-catalog"
44257
+ }, jK = {
44242
44258
  key: 1,
44259
+ class: "expert-card-effort"
44260
+ }, MK = {
44261
+ key: 2,
44243
44262
  class: "expert-card-note"
44244
- }, kK = ["aria-label", "disabled"], AK = {
44245
- key: 3,
44263
+ }, NK = ["aria-label", "disabled"], PK = {
44264
+ key: 4,
44246
44265
  class: "expert-card-note"
44247
- }, jK = ["aria-label"], MK = 180, NK = /*#__PURE__*/ nH({
44266
+ }, FK = ["aria-label"], IK = 180, LK = /*#__PURE__*/ nH({
44248
44267
  __name: "ExpertCard",
44249
44268
  props: {
44250
44269
  name: {
@@ -44273,7 +44292,7 @@ var YG = /*#__PURE__*/ nH({
44273
44292
  mass: 1,
44274
44293
  stiffness: 270.0323764138049,
44275
44294
  damping: 31.550710806760762
44276
- }), s = iV(), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(null), u = /* @__PURE__ */ F(null), d = /* @__PURE__ */ F(!1), f = /* @__PURE__ */ F(!1), p = Z(() => i.value.launch.profiles[n.name] || {}), m = Z(() => a.launch_clients[n.name] || []), h = Z(() => n.mode === "online" ? "网页" : n.automatic ? m.value.find((e) => e.value === p.value.adapter)?.label || "待选择 App / CLI" : "本地 App / CLI"), g = Z(() => m.value.length > 0), _ = Z(() => n.mode === "online" ? `设置 ${n.name} 的参与方式` : `配置 ${n.name} 的本地软件`), v = Z(() => a.launch_model_state(n.name, i.value.launch)), y = Z(() => !!(n.automatic && n.mode === "cli" && v.value.supported)), b = Z(() => n.mode === "online" ? "模型与思考强度在原网页聊天中选择。回答由你或授权主持人代发。" : n.automatic ? p.value.adapter ? "模型与思考强度在 App 原聊天中选择,本页不覆盖 App 设置。" : "先选择软件入口。支持启动参数的 CLI 可在这里设置模型与强度。" : "在已有 App 或 CLI 会话中选择模型与强度,再交给它参与指令。本地 AI 可自行提交回答。"), x = Z(() => {
44295
+ }), s = iV(), c = /* @__PURE__ */ F(null), l = /* @__PURE__ */ F(null), u = /* @__PURE__ */ F(null), d = /* @__PURE__ */ F(!1), f = /* @__PURE__ */ F(!1), p = Z(() => i.value.launch.profiles[n.name] || {}), m = Z(() => a.launch_clients[n.name] || []), h = Z(() => n.mode === "online" ? "网页" : n.automatic ? m.value.find((e) => e.value === p.value.adapter)?.label || "待选择 App / CLI" : "本地 App / CLI"), g = Z(() => m.value.length > 0), _ = Z(() => n.mode === "online" ? `设置 ${n.name} 的参与方式` : `配置 ${n.name} 的本地软件`), v = Z(() => a.launch_model_state(n.name, i.value.launch)), y = Z(() => !!(n.automatic && n.mode === "cli" && v.value.supported)), b = Z(() => y.value && ee.value.length ? "补齐上方连接后,可在这里选择模型与思考强度。" : n.mode === "online" ? "模型与思考强度在原网页聊天中选择。回答由你或授权主持人代发。" : n.automatic ? p.value.adapter ? "模型与思考强度在 App 原聊天中选择,本页不覆盖 App 设置。" : "先选择软件入口。支持启动参数的 CLI 可在这里设置模型与强度。" : "在已有 App 或 CLI 会话中选择模型与强度,再交给它参与指令。本地 AI 可自行提交回答。"), x = Z(() => {
44277
44296
  let e = v.value.efforts, t = {
44278
44297
  low: "Low",
44279
44298
  medium: "Medium",
@@ -44289,7 +44308,7 @@ var YG = /*#__PURE__*/ nH({
44289
44308
  label: t[e] || e,
44290
44309
  value: e
44291
44310
  }))] : null;
44292
- }), S = Z(() => x.value?.find((e) => e.value === (p.value.effort || ""))?.label || (p.value.adapter === "antigravity_cli" ? "强度随模型" : p.value.effort || "默认强度")), C = Z(() => [
44311
+ }), S = Z(() => x.value?.find((e) => e.value === (p.value.effort || ""))?.label || (p.value.adapter === "antigravity_cli" ? "强度随模型" : p.value.effort || "默认强度")), C = Z(() => n.automatic && n.mode === "cli"), w = Z(() => p.value.project_access || i.value.launch.workspace?.project_access || "read"), T = Z(() => [
44293
44312
  {
44294
44313
  label: "软件",
44295
44314
  value: h.value
@@ -44301,25 +44320,48 @@ var YG = /*#__PURE__*/ nH({
44301
44320
  ...y.value ? [{
44302
44321
  label: "强度",
44303
44322
  value: S.value
44323
+ }] : [],
44324
+ ...C.value || n.mode === "online" ? [{
44325
+ label: "项目",
44326
+ value: C.value && w.value === "write" ? "可写" : "只读"
44304
44327
  }] : []
44305
- ]);
44306
- function w() {
44328
+ ]), E = {
44329
+ executable: {
44330
+ label: "路径",
44331
+ placeholder: "可执行文件完整路径"
44332
+ },
44333
+ ipc_directory: {
44334
+ label: "IPC",
44335
+ placeholder: "Sidecar IPC 目录"
44336
+ },
44337
+ source_thread_id: {
44338
+ label: "聊天",
44339
+ placeholder: "Codex App 来源聊天 ID"
44340
+ }
44341
+ }, D = /* @__PURE__ */ F([]), O = () => {
44342
+ let e = p.value.adapter;
44343
+ return !C.value || !e ? [] : (e === "antigravity" ? ["ipc_directory"] : e === "codex" ? ["executable", "source_thread_id"] : ["executable"]).filter((e) => !p.value[e]);
44344
+ }, ee = Z(() => C.value ? [.../* @__PURE__ */ new Set([...D.value, ...O()])].map((e) => ({
44345
+ field: e,
44346
+ ...E[e]
44347
+ })) : []);
44348
+ function te() {
44307
44349
  Qn(() => {
44308
44350
  document.activeElement === c.value && (f.value ? u : l).value?.focus({ preventScroll: !0 });
44309
44351
  });
44310
44352
  }
44311
- function T(e) {
44312
- let t = e >= MK / 2;
44313
- f.value !== t && (f.value = t, w());
44353
+ function k(e) {
44354
+ let t = e >= IK / 2;
44355
+ f.value !== t && (f.value = t, te());
44314
44356
  }
44315
- let E = o.on("change", T), D = o.on("animationComplete", w);
44316
- function O(e) {
44317
- (!e || g.value) && (c.value?.focus({ preventScroll: !0 }), d.value = e);
44357
+ let ne = o.on("change", k), re = o.on("animationComplete", te);
44358
+ function ie(e) {
44359
+ (!e || g.value) && (c.value?.focus({ preventScroll: !0 }), D.value = e ? O() : [], d.value = e);
44318
44360
  }
44319
- function ee() {
44361
+ function ae() {
44320
44362
  a.write_launch(n.name, "model", ""), a.write_launch(n.name, "effort", "");
44321
44363
  }
44322
- function te(e) {
44364
+ function A(e) {
44323
44365
  if (![
44324
44366
  "ArrowLeft",
44325
44367
  "ArrowRight",
@@ -44332,12 +44374,12 @@ var YG = /*#__PURE__*/ nH({
44332
44374
  let t = e.key === "Home" ? "cli" : e.key === "End" || n.mode === "cli" ? "online" : "cli";
44333
44375
  r("mode", t), e.currentTarget.querySelector(`[data-mode="${t}"]`)?.focus();
44334
44376
  }
44335
- function k(e) {
44336
- d.value && (e.stopPropagation(), e.preventDefault(), O(!1));
44377
+ function oe(e) {
44378
+ d.value && (e.stopPropagation(), e.preventDefault(), ie(!1));
44337
44379
  }
44338
44380
  return R([d, s], ([e, t]) => {
44339
- let n = e ? MK : 0;
44340
- t ? (o.jump(n), w()) : o.set(n);
44381
+ let n = e ? IK : 0;
44382
+ t ? (o.jump(n), te()) : o.set(n);
44341
44383
  }), R(() => [
44342
44384
  y.value,
44343
44385
  i.value.launch.available,
@@ -44345,9 +44387,9 @@ var YG = /*#__PURE__*/ nH({
44345
44387
  ], ([e, t]) => {
44346
44388
  e && t && a.load_launch_models(n.name);
44347
44389
  }, { immediate: !0 }), ta(() => {
44348
- E(), D(), o.stop();
44390
+ ne(), re(), o.stop();
44349
44391
  }), (t, n) => {
44350
- let s = Gk, d = zk, h = pV;
44392
+ let s = Gk, d = zk, h = pV, S = xV;
44351
44393
  return U(), W("div", {
44352
44394
  ref_key: "card",
44353
44395
  ref: c,
@@ -44358,7 +44400,7 @@ var YG = /*#__PURE__*/ nH({
44358
44400
  "data-identity": I(a).identities[e.name]?.style,
44359
44401
  "data-face": f.value ? "back" : "front",
44360
44402
  tabindex: "-1",
44361
- onKeydown: fu(k, ["esc"])
44403
+ onKeydown: fu(oe, ["esc"])
44362
44404
  }, [q(I(QB).div, {
44363
44405
  class: "expert-card-turn",
44364
44406
  style: fe({ rotateY: I(o) })
@@ -44374,10 +44416,10 @@ var YG = /*#__PURE__*/ nH({
44374
44416
  class: M(["expert-card-open", { "is-static": !g.value }]),
44375
44417
  "aria-label": g.value ? _.value : void 0,
44376
44418
  title: g.value ? "点击翻面设置" : void 0,
44377
- onClick: n[0] ||= (e) => O(!0)
44419
+ onClick: n[0] ||= (e) => ie(!0)
44378
44420
  }, {
44379
44421
  default: L(() => [
44380
- K("span", dK, [
44422
+ K("span", fK, [
44381
44423
  q(s, {
44382
44424
  src: I(a).identities[e.name]?.icon,
44383
44425
  text: I(a).identities[e.name]?.initials,
@@ -44391,13 +44433,13 @@ var YG = /*#__PURE__*/ nH({
44391
44433
  "class"
44392
44434
  ]),
44393
44435
  K("strong", null, P(e.name), 1),
44394
- e.host ? (U(), W("span", fK, "主持")) : Y("", !0)
44436
+ e.host ? (U(), W("span", pK, "主持")) : Y("", !0)
44395
44437
  ]),
44396
- K("dl", pK, [K("div", null, [n[9] ||= K("dt", null, "状态", -1), K("dd", {
44438
+ K("dl", mK, [K("div", null, [n[9] ||= K("dt", null, "状态", -1), K("dd", {
44397
44439
  class: M(["expert-card-status", `is-${e.status.tone}`]),
44398
44440
  title: e.status.text
44399
- }, [n[8] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(e.status.text), 1)], 10, mK)]), (U(!0), W(H, null, B(C.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", { title: e.value }, P(e.value), 9, hK)]))), 128))]),
44400
- g.value ? (U(), W("span", gK, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
44441
+ }, [n[8] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(e.status.text), 1)], 10, hK)]), (U(!0), W(H, null, B(T.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", { title: e.value }, P(e.value), 9, gK)]))), 128))]),
44442
+ g.value ? (U(), W("span", _K, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
44401
44443
  ]),
44402
44444
  _: 1
44403
44445
  }, 8, [
@@ -44405,7 +44447,7 @@ var YG = /*#__PURE__*/ nH({
44405
44447
  "class",
44406
44448
  "aria-label",
44407
44449
  "title"
44408
- ])), K("span", _K, [e.hostable ? (U(), W("button", {
44450
+ ])), K("span", vK, [e.hostable ? (U(), W("button", {
44409
44451
  key: 0,
44410
44452
  type: "button",
44411
44453
  class: "expert-card-host",
@@ -44413,24 +44455,24 @@ var YG = /*#__PURE__*/ nH({
44413
44455
  "aria-label": e.host ? `${e.name} 是主持人` : `设 ${e.name} 为主持人`,
44414
44456
  title: e.host ? "主持人" : "设为主持人",
44415
44457
  onClick: n[1] ||= (e) => r("host")
44416
- }, [q(d, { name: "i-lucide-crown" })], 8, vK)) : Y("", !0), K("button", {
44458
+ }, [q(d, { name: "i-lucide-crown" })], 8, yK)) : Y("", !0), K("button", {
44417
44459
  type: "button",
44418
44460
  "aria-label": `移出 ${e.name}`,
44419
44461
  title: "移出",
44420
44462
  onClick: n[2] ||= (e) => r("remove")
44421
- }, [q(d, { name: "i-lucide-x" })], 8, yK)])], 8, uK), g.value ? (U(), W("div", {
44463
+ }, [q(d, { name: "i-lucide-x" })], 8, bK)])], 8, dK), g.value ? (U(), W("div", {
44422
44464
  key: 0,
44423
44465
  class: "expert-card-face expert-card-back",
44424
44466
  inert: !f.value,
44425
44467
  "aria-hidden": !f.value
44426
44468
  }, [
44427
- K("div", xK, [K("strong", null, [J(P(e.name), 1), n[11] ||= K("span", null, "设置", -1)])]),
44469
+ K("div", SK, [K("strong", null, [J(P(e.name), 1), n[11] ||= K("span", null, "设置", -1)])]),
44428
44470
  e.automatic ? Y("", !0) : (U(), W("div", {
44429
44471
  key: 0,
44430
44472
  class: "expert-card-modes",
44431
44473
  role: "radiogroup",
44432
44474
  "aria-label": `${e.name} 参与能力`,
44433
- onKeydown: te
44475
+ onKeydown: A
44434
44476
  }, [(U(), W(H, null, B([{
44435
44477
  value: "cli",
44436
44478
  label: "本地读写"
@@ -44445,8 +44487,8 @@ var YG = /*#__PURE__*/ nH({
44445
44487
  tabindex: e.mode === t.value ? 0 : -1,
44446
44488
  "data-mode": t.value,
44447
44489
  onClick: (e) => r("mode", t.value)
44448
- }, P(t.label), 9, CK)), 64))], 40, SK)),
44449
- e.automatic && e.mode === "cli" && m.value.length ? (U(), W("div", wK, [n[12] ||= K("span", null, "软件", -1), q(h, {
44490
+ }, P(t.label), 9, wK)), 64))], 40, CK)),
44491
+ e.automatic && e.mode === "cli" && m.value.length ? (U(), W("div", TK, [n[12] ||= K("span", null, "软件", -1), q(h, {
44450
44492
  "model-value": p.value.adapter || "",
44451
44493
  items: m.value,
44452
44494
  placeholder: "选择 App / CLI",
@@ -44459,11 +44501,45 @@ var YG = /*#__PURE__*/ nH({
44459
44501
  "items",
44460
44502
  "aria-label"
44461
44503
  ])])) : Y("", !0),
44462
- y.value ? (U(), W(H, { key: 2 }, [
44463
- K("div", TK, [n[13] ||= K("span", null, "模型", -1), q(h, {
44504
+ (U(!0), W(H, null, B(ee.value, (t) => (U(), W("div", {
44505
+ key: t.field,
44506
+ class: "expert-card-field"
44507
+ }, [K("span", null, P(t.label), 1), q(S, {
44508
+ "model-value": p.value[t.field] || "",
44509
+ placeholder: t.placeholder,
44510
+ "aria-label": `${e.name} ${t.placeholder}`,
44511
+ size: "xs",
44512
+ class: "w-full",
44513
+ "onUpdate:modelValue": (n) => I(a).write_launch(e.name, t.field, n)
44514
+ }, null, 8, [
44515
+ "model-value",
44516
+ "placeholder",
44517
+ "aria-label",
44518
+ "onUpdate:modelValue"
44519
+ ])]))), 128)),
44520
+ C.value ? (U(), W("div", EK, [n[13] ||= K("span", null, "项目", -1), K("div", {
44521
+ class: "expert-card-modes",
44522
+ role: "radiogroup",
44523
+ "aria-label": `${e.name} 的项目文件权限`
44524
+ }, [(U(), W(H, null, B([{
44525
+ value: "read",
44526
+ label: "只读"
44527
+ }, {
44528
+ value: "write",
44529
+ label: "可写"
44530
+ }], (t) => K("button", {
44531
+ key: t.value,
44532
+ type: "button",
44533
+ role: "radio",
44534
+ "aria-checked": w.value === t.value,
44535
+ onClick: (n) => I(a).write_launch(e.name, "project_access", t.value)
44536
+ }, P(t.label), 9, OK)), 64))], 8, DK)])) : Y("", !0),
44537
+ y.value && !ee.value.length ? (U(), W(H, { key: 3 }, [
44538
+ K("div", kK, [n[14] ||= K("span", null, "模型", -1), q(h, {
44464
44539
  "model-value": p.value.model || "__default__",
44465
44540
  items: v.value.items,
44466
44541
  loading: v.value.loading,
44542
+ title: v.value.source,
44467
44543
  "aria-label": `${e.name} 使用的模型`,
44468
44544
  size: "xs",
44469
44545
  class: "w-full",
@@ -44472,14 +44548,16 @@ var YG = /*#__PURE__*/ nH({
44472
44548
  "model-value",
44473
44549
  "items",
44474
44550
  "loading",
44551
+ "title",
44475
44552
  "aria-label"
44476
44553
  ])]),
44477
- K("div", EK, [K("span", null, P(v.value.loading ? "正在读取软件模型列表…" : v.value.error || v.value.source), 1), !v.value.loading && v.value.error && I(i).launch.available ? (U(), W("button", {
44554
+ v.value.loading || v.value.error ? (U(), W("div", AK, [K("span", null, P(v.value.loading ? "正在读取软件模型列表…" : v.value.error), 1), !v.value.loading && v.value.error && I(i).launch.available ? (U(), W("button", {
44478
44555
  key: 0,
44479
44556
  type: "button",
44480
44557
  onClick: n[5] ||= (t) => I(a).load_launch_models(e.name, !0)
44481
- }, "重试")) : Y("", !0)]),
44482
- x.value ? (U(), W("div", DK, [K("div", null, [n[14] ||= K("span", null, "强度", -1), K("strong", null, P(S.value), 1)]), q(cK, {
44558
+ }, "重试")) : Y("", !0)])) : Y("", !0),
44559
+ x.value ? (U(), W("div", jK, [q(lK, {
44560
+ caption: "强度",
44483
44561
  items: x.value,
44484
44562
  "model-value": p.value.effort || "",
44485
44563
  label: `${e.name} 的思考强度`,
@@ -44488,79 +44566,79 @@ var YG = /*#__PURE__*/ nH({
44488
44566
  "items",
44489
44567
  "model-value",
44490
44568
  "label"
44491
- ])])) : (U(), W("p", OK, P(v.value.effort_note), 1)),
44569
+ ])])) : (U(), W("p", MK, P(v.value.effort_note), 1)),
44492
44570
  K("button", {
44493
44571
  type: "button",
44494
44572
  class: "expert-card-defaults",
44495
44573
  title: "留空使用 CLI 默认值",
44496
44574
  "aria-label": `恢复 ${e.name} 的默认模型与强度`,
44497
44575
  disabled: !p.value.model && !p.value.effort,
44498
- onClick: ee
44499
- }, "恢复默认", 8, kK)
44500
- ], 64)) : (U(), W("p", AK, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(b.value), 1)])),
44576
+ onClick: ae
44577
+ }, "恢复默认", 8, NK)
44578
+ ], 64)) : (U(), W("p", PK, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(b.value), 1)])),
44501
44579
  K("button", {
44502
44580
  ref_key: "back_button",
44503
44581
  ref: u,
44504
44582
  type: "button",
44505
44583
  class: "expert-card-flip is-done",
44506
44584
  "aria-label": `返回 ${e.name} 角色卡片`,
44507
- onClick: n[7] ||= (e) => O(!1)
44508
- }, [q(d, { name: "i-lucide-check" }), n[15] ||= J("完成", -1)], 8, jK)
44509
- ], 8, bK)) : Y("", !0)]),
44585
+ onClick: n[7] ||= (e) => ie(!1)
44586
+ }, [q(d, { name: "i-lucide-check" }), n[15] ||= J("完成", -1)], 8, FK)
44587
+ ], 8, xK)) : Y("", !0)]),
44510
44588
  _: 1
44511
- }, 8, ["style"])], 42, lK);
44589
+ }, 8, ["style"])], 42, uK);
44512
44590
  };
44513
44591
  }
44514
- }, [["__scopeId", "data-v-f59a27e4"]]), PK = { class: "create-discussion" }, FK = {
44592
+ }, [["__scopeId", "data-v-2d8797c6"]]), RK = { class: "create-discussion" }, zK = {
44515
44593
  key: 0,
44516
44594
  class: "channel-create-location"
44517
- }, IK = { class: "create-section" }, LK = [
44595
+ }, BK = { class: "create-section" }, VK = [
44518
44596
  "aria-checked",
44519
44597
  "tabindex",
44520
44598
  "onClick"
44521
- ], RK = { class: "create-mode-copy" }, zK = { class: "create-section" }, BK = { class: "create-section-heading" }, VK = [
44599
+ ], HK = { class: "create-mode-copy" }, UK = { class: "create-section" }, WK = { class: "create-section-heading" }, GK = [
44522
44600
  "title",
44523
44601
  "aria-checked",
44524
44602
  "tabindex",
44525
44603
  "onClick"
44526
- ], HK = { class: "fine-print create-hint" }, UK = {
44604
+ ], KK = { class: "fine-print create-hint" }, qK = {
44527
44605
  key: 0,
44528
44606
  class: "create-experts",
44529
44607
  role: "group",
44530
44608
  "aria-label": "参与的 AI"
44531
- }, WK = {
44609
+ }, JK = {
44532
44610
  key: 1,
44533
44611
  class: "create-experts-empty"
44534
- }, GK = [
44612
+ }, YK = [
44535
44613
  "disabled",
44536
44614
  "title",
44537
44615
  "aria-label",
44538
44616
  "onClick"
44539
- ], KK = { class: "fine-print create-hint create-host-hint" }, qK = ["aria-pressed"], JK = {
44617
+ ], XK = { class: "fine-print create-hint create-host-hint" }, ZK = ["aria-pressed"], QK = {
44540
44618
  key: 1,
44541
44619
  class: "create-section"
44542
- }, YK = {
44620
+ }, $K = {
44543
44621
  key: 0,
44544
44622
  class: "form-two-columns"
44545
- }, XK = { class: "create-host" }, ZK = {
44623
+ }, eq = { class: "create-host" }, tq = {
44546
44624
  class: "create-chips",
44547
44625
  role: "radiogroup",
44548
44626
  "aria-label": "达到上限后"
44549
- }, QK = ["aria-checked", "onClick"], $K = {
44627
+ }, nq = ["aria-checked", "onClick"], rq = {
44550
44628
  class: "create-limit-rule",
44551
44629
  "aria-live": "polite"
44552
- }, eq = {
44630
+ }, iq = {
44553
44631
  key: 2,
44554
44632
  class: "create-section"
44555
- }, tq = {
44633
+ }, aq = {
44556
44634
  key: 0,
44557
44635
  role: "alert",
44558
44636
  class: "fine-print create-hint"
44559
- }, nq = { class: "form-two-columns" }, rq = { class: "create-launch-list" }, iq = { class: "create-footer" }, aq = {
44637
+ }, oq = { class: "create-directory" }, sq = { class: "create-footer" }, cq = {
44560
44638
  key: 0,
44561
44639
  role: "alert",
44562
44640
  class: "create-error"
44563
- }, oq = { class: "create-footer-row" }, sq = ["title"], cq = "new-expert-modes", lq = /*#__PURE__*/ nH({
44641
+ }, lq = { class: "create-footer-row" }, uq = ["title"], dq = "new-expert-modes", fq = /*#__PURE__*/ nH({
44564
44642
  __name: "CreateDiscussion",
44565
44643
  props: { targetFolder: {
44566
44644
  type: Object,
@@ -44568,13 +44646,7 @@ var YG = /*#__PURE__*/ nH({
44568
44646
  } },
44569
44647
  emits: ["submit", "cancel"],
44570
44648
  setup(e, { emit: t }) {
44571
- let n = t, { view: r, bridge: i, pending: a } = xr("discussion"), o = [{
44572
- label: "只读",
44573
- value: "read"
44574
- }, {
44575
- label: "可写",
44576
- value: "write"
44577
- }], 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(() => l("mode") === "automatic"), f = Z(() => l("kind") === "free"), p = [{
44649
+ let n = t, { view: r, bridge: i, pending: a } = xr("discussion"), o = Object.keys(i.identities).filter((e) => e !== "用户"), s = (e) => `new-room-${e}`, c = (e) => r.value.fields[s(e)] ?? "", l = (e, t) => i.write_field(s(e), t), u = Z(() => c("mode") === "automatic"), d = Z(() => c("kind") === "free"), f = [{
44578
44650
  value: "brainstorm",
44579
44651
  icon: "i-lucide-messages-square",
44580
44652
  title: "讨论",
@@ -44584,7 +44656,7 @@ var YG = /*#__PURE__*/ nH({
44584
44656
  icon: "i-lucide-message-circle",
44585
44657
  title: "自由协作",
44586
44658
  text: "按需点名 AI,在各自会话中工作"
44587
- }], m = [{
44659
+ }], p = [{
44588
44660
  value: "automatic",
44589
44661
  icon: "i-lucide-zap",
44590
44662
  title: "程序唤醒",
@@ -44594,28 +44666,21 @@ var YG = /*#__PURE__*/ nH({
44594
44666
  icon: "i-lucide-copy",
44595
44667
  title: "手动接入",
44596
44668
  text: "首次复制指令,之后人工或定时触发"
44597
- }], h = Z(() => r.value.experts[cq] || {}), g = Z(() => Object.keys(h.value).filter((e) => h.value[e]).sort((e, t) => s.indexOf(i.platform_of(e)) - s.indexOf(i.platform_of(t)) || e.localeCompare(t, "en", { numeric: !0 }))), _ = (e) => g.value.filter((t) => i.platform_of(t) === e).length, v = /* @__PURE__ */ F(null), y = Z(() => l("host")), b = Z(() => [...f.value ? ["用户"] : [], ...g.value.filter((e) => h.value[e] === "cli")]), x = /* @__PURE__ */ F(null), S = Z(() => [.../* @__PURE__ */ new Set([y.value, ...Object.keys(h.value)])].filter((e) => i.launch_clients[e])), C = (e) => {
44669
+ }], m = Z(() => r.value.experts[dq] || {}), h = Z(() => Object.keys(m.value).filter((e) => m.value[e]).sort((e, t) => o.indexOf(i.platform_of(e)) - o.indexOf(i.platform_of(t)) || e.localeCompare(t, "en", { numeric: !0 }))), g = (e) => h.value.filter((t) => i.platform_of(t) === e).length, _ = /* @__PURE__ */ F(null), v = Z(() => c("host")), y = Z(() => [...d.value ? ["用户"] : [], ...h.value.filter((e) => m.value[e] === "cli")]), b = /* @__PURE__ */ F(null), x = Z(() => [.../* @__PURE__ */ new Set([v.value, ...Object.keys(m.value)])].filter((e) => i.launch_clients[e])), S = (e) => {
44598
44670
  let t = r.value.launch.profiles[e] || {};
44599
44671
  return !!(t.adapter && (t.adapter === "antigravity" ? t.ipc_directory : t.executable));
44600
- }, w = Z(() => d.value && r.value.launch.available && (f.value || r.value.launch.create)), T = Z(() => g.value.length > 0 && (!d.value || g.value.every(C) && r.value.launch.available)), E = /* @__PURE__ */ F(!1);
44601
- R(() => [
44602
- w.value,
44603
- S.value.every(C),
44604
- r.value.launch.error
44605
- ], ([e, t, n]) => {
44606
- e && (!t || n) && (E.value = !0);
44607
- }, { immediate: !0 });
44608
- function D() {
44609
- b.value.includes(y.value) || u("host", b.value[0] || "");
44672
+ }, C = Z(() => u.value && r.value.launch.available && (d.value || r.value.launch.create)), w = Z(() => h.value.length > 0 && (!u.value || h.value.every(S) && r.value.launch.available));
44673
+ function T() {
44674
+ y.value.includes(v.value) || l("host", y.value[0] || "");
44610
44675
  }
44611
- Qi(D);
44612
- function O(e) {
44613
- u("kind", e), D();
44676
+ Qi(T);
44677
+ function E(e) {
44678
+ l("kind", e), T();
44614
44679
  }
44615
- function ee(e) {
44616
- u("mode", e), D();
44680
+ function D(e) {
44681
+ l("mode", e), T();
44617
44682
  }
44618
- function te(e) {
44683
+ function O(e) {
44619
44684
  let t = [...e.currentTarget.querySelectorAll("[role=\"radio\"]")], n = t.indexOf(e.target), r = {
44620
44685
  ArrowRight: (n + 1) % t.length,
44621
44686
  ArrowDown: (n + 1) % t.length,
@@ -44629,14 +44694,14 @@ var YG = /*#__PURE__*/ nH({
44629
44694
  let i = t[r[e.key]];
44630
44695
  i.focus(), i.click();
44631
44696
  }
44632
- function k(e, t) {
44633
- i.write_expert(cq, e, t), D();
44697
+ function ee(e, t) {
44698
+ i.write_expert(dq, e, t), T();
44634
44699
  }
44635
- function ne(e) {
44636
- return h.value[e] === "online" ? {
44700
+ function te(e) {
44701
+ return m.value[e] === "online" ? {
44637
44702
  text: "在线只读,回答由人代发",
44638
44703
  tone: "muted"
44639
- } : d.value ? C(e) ? {
44704
+ } : u.value ? S(e) ? {
44640
44705
  text: "已配置本机软件",
44641
44706
  tone: "ready"
44642
44707
  } : {
@@ -44647,88 +44712,98 @@ var YG = /*#__PURE__*/ nH({
44647
44712
  tone: "muted"
44648
44713
  };
44649
44714
  }
44650
- function re(e) {
44651
- return _(e) ? `已加入 ${_(e)} 位 · 可继续添加` : i.launch_clients[e] ? "本地 App / CLI" : "网页 AI · 手动接入";
44715
+ function k(e) {
44716
+ return g(e) ? `已加入 ${g(e)} 位 · 可继续添加` : i.launch_clients[e] ? "本地 App / CLI" : "网页 AI · 手动接入";
44652
44717
  }
44653
- function ie(e) {
44654
- if (d.value && !i.launch_clients[e]) return;
44718
+ function ne(e) {
44719
+ if (u.value && !i.launch_clients[e]) return;
44655
44720
  let t = i.launch_clients[e] ? "cli" : "online";
44656
- _(e) ? i.add_instance(cq, e, t) : k(e, t), D();
44721
+ g(e) ? i.add_instance(dq, e, t) : ee(e, t), T();
44657
44722
  }
44658
- function ae(e) {
44659
- k(e, ""), Qn(() => v.value?.querySelector("button:not(:disabled)")?.focus({ preventScroll: !0 }));
44723
+ function re(e) {
44724
+ ee(e, ""), Qn(() => _.value?.querySelector("button:not(:disabled)")?.focus({ preventScroll: !0 }));
44725
+ }
44726
+ let ie = /* @__PURE__ */ F(!1);
44727
+ async function ae() {
44728
+ ie.value = !0;
44729
+ try {
44730
+ await i.pick_launch_directory();
44731
+ } finally {
44732
+ ie.value = !1;
44733
+ }
44660
44734
  }
44661
44735
  function A() {
44662
- x.value?.settle(), n("submit");
44736
+ b.value?.settle(), n("submit");
44663
44737
  }
44664
44738
  let oe = Z(() => {
44665
- let e = Number(l("limit-max_rounds")), t = Number(l("limit-max_minutes")), n = [e && `${e} 轮`, t && JG(t)].filter(Boolean);
44739
+ let e = Number(c("limit-max_rounds")), t = Number(c("limit-max_minutes")), n = [e && `${e} 轮`, t && JG(t)].filter(Boolean);
44666
44740
  if (!n.length) return "不设轮次和时长上限。";
44667
- let r = l("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44741
+ let r = c("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44668
44742
  return `最多 ${n.join(" 或 ")},${n.length === 2 ? "先到则" : "到限后"}${r}。`;
44669
44743
  }), se = Z(() => {
44670
- let e = Object.keys(h.value);
44671
- if (f.value) return [
44744
+ let e = Object.keys(m.value);
44745
+ if (d.value) return [
44672
44746
  "自由协作",
44673
44747
  `${e.length} 位 AI`,
44674
- y.value === "用户" ? "你来主持" : `${y.value} 协助主持`,
44675
- d.value ? "程序唤醒" : "手动接入"
44748
+ v.value === "用户" ? "你来主持" : `${v.value} 协助主持`,
44749
+ u.value ? "程序唤醒" : "手动接入"
44676
44750
  ].join(" · ");
44677
- let t = l("limit-max_rounds"), n = l("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? JG(Number(n)) : "不限时长"].join(" / ");
44751
+ let t = c("limit-max_rounds"), n = c("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? JG(Number(n)) : "不限时长"].join(" / ");
44678
44752
  return [
44679
- y.value ? `${i.display_name(y.value)} 主持` : "尚未选择主持人",
44753
+ v.value ? `${i.display_name(v.value)} 主持` : "尚未选择主持人",
44680
44754
  e.length ? `${e.join("、")} 参与` : "尚未选择专家",
44681
- d.value ? "程序唤醒" : "手动接入",
44755
+ u.value ? "程序唤醒" : "手动接入",
44682
44756
  r
44683
44757
  ].join(" · ");
44684
44758
  });
44685
- return (t, c) => {
44686
- let _ = zk, D = xV, ce = MV, le = FV, ue = Gk, de = AG, j = pV, fe = uA, pe = OG;
44687
- return U(), W("div", PK, [K("form", {
44759
+ return (t, s) => {
44760
+ let g = zk, S = xV, T = MV, ce = FV, le = Gk, ue = AG, de = uA;
44761
+ return U(), W("div", RK, [K("form", {
44688
44762
  id: "create-discussion-form",
44689
44763
  class: "create-scroll dialog-form",
44690
44764
  onSubmit: uu(A, ["prevent"])
44691
44765
  }, [
44692
- e.targetFolder?.id ? (U(), W("p", FK, [q(_, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44693
- K("section", IK, [
44694
- c[12] ||= K("h3", null, [K("span", null, "1"), J("这次做什么")], -1),
44766
+ e.targetFolder?.id ? (U(), W("p", zK, [q(g, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44767
+ K("section", BK, [
44768
+ s[10] ||= K("h3", null, [K("span", null, "1"), J("这次做什么")], -1),
44695
44769
  K("div", {
44696
44770
  class: "create-modes",
44697
44771
  role: "radiogroup",
44698
44772
  "aria-label": "房间用法",
44699
- onKeydown: te
44700
- }, [(U(), W(H, null, B(p, (e) => K("button", {
44773
+ onKeydown: O
44774
+ }, [(U(), W(H, null, B(f, (e) => K("button", {
44701
44775
  key: e.value,
44702
44776
  type: "button",
44703
44777
  role: "radio",
44704
- class: M(["create-mode", { "is-selected": (l("kind") || "brainstorm") === e.value }]),
44705
- "aria-checked": (l("kind") || "brainstorm") === e.value,
44706
- tabindex: (l("kind") || "brainstorm") === e.value ? 0 : -1,
44707
- onClick: (t) => O(e.value)
44708
- }, [q(_, { name: e.icon }, null, 8, ["name"]), K("span", RK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, LK)), 64))], 32),
44709
- q(ce, {
44778
+ class: M(["create-mode", { "is-selected": (c("kind") || "brainstorm") === e.value }]),
44779
+ "aria-checked": (c("kind") || "brainstorm") === e.value,
44780
+ tabindex: (c("kind") || "brainstorm") === e.value ? 0 : -1,
44781
+ onClick: (t) => E(e.value)
44782
+ }, [q(g, { name: e.icon }, null, 8, ["name"]), K("span", HK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, VK)), 64))], 32),
44783
+ q(T, {
44710
44784
  label: "话题名称",
44711
44785
  required: ""
44712
44786
  }, {
44713
- default: L(() => [q(D, {
44714
- "model-value": l("title"),
44787
+ default: L(() => [q(S, {
44788
+ "model-value": c("title"),
44715
44789
  maxlength: 80,
44716
44790
  required: "",
44717
44791
  autofocus: "",
44718
44792
  size: "lg",
44719
- placeholder: f.value ? "这次要一起做什么?" : "这次想讨论什么?",
44793
+ placeholder: d.value ? "这次要一起做什么?" : "这次想讨论什么?",
44720
44794
  class: "w-full",
44721
- "onUpdate:modelValue": c[0] ||= (e) => u("title", e)
44795
+ "onUpdate:modelValue": s[0] ||= (e) => l("title", e)
44722
44796
  }, null, 8, ["model-value", "placeholder"])]),
44723
44797
  _: 1
44724
44798
  }),
44725
- q(ce, {
44799
+ d.value ? Y("", !0) : (U(), G(T, {
44800
+ key: 0,
44726
44801
  label: "用户原文",
44727
44802
  required: "",
44728
- description: f.value ? "写下任务、背景和协作范围,成员按需阅读。" : "写下问题、背景和顾虑,AI 主持人据此补全讨论资料。"
44803
+ description: "写下问题、背景和顾虑,AI 主持人据此补全讨论资料。"
44729
44804
  }, {
44730
- default: L(() => [q(le, {
44731
- "model-value": l("user_request"),
44805
+ default: L(() => [q(ce, {
44806
+ "model-value": c("user_request"),
44732
44807
  maxlength: 4e3,
44733
44808
  rows: 5,
44734
44809
  autoresize: "",
@@ -44736,38 +44811,38 @@ var YG = /*#__PURE__*/ nH({
44736
44811
  required: "",
44737
44812
  placeholder: "例如:我们在 A、B 两个方案之间犹豫,主要顾虑是成本和上线时间……",
44738
44813
  class: "w-full",
44739
- "onUpdate:modelValue": c[1] ||= (e) => u("user_request", e)
44814
+ "onUpdate:modelValue": s[1] ||= (e) => l("user_request", e)
44740
44815
  }, null, 8, ["model-value"])]),
44741
44816
  _: 1
44742
- }, 8, ["description"])
44817
+ }))
44743
44818
  ]),
44744
- K("section", zK, [
44745
- K("div", BK, [c[13] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1), K("div", {
44819
+ K("section", UK, [
44820
+ K("div", WK, [s[11] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1), K("div", {
44746
44821
  class: "create-segments",
44747
44822
  role: "radiogroup",
44748
44823
  "aria-label": "接入方式",
44749
- onKeydown: te
44750
- }, [(U(), W(H, null, B(m, (e) => K("button", {
44824
+ onKeydown: O
44825
+ }, [(U(), W(H, null, B(p, (e) => K("button", {
44751
44826
  key: e.value,
44752
44827
  type: "button",
44753
44828
  role: "radio",
44754
44829
  title: e.text,
44755
- "aria-checked": l("mode") === e.value,
44756
- tabindex: l("mode") === e.value ? 0 : -1,
44757
- onClick: (t) => ee(e.value)
44758
- }, [q(_, { name: e.icon }, null, 8, ["name"]), J(P(e.title), 1)], 8, VK)), 64))], 32)]),
44759
- K("p", HK, P(d.value ? "本机服务交付任务并自动接续会话;仅支持已适配的本地软件,网页 AI 请用手动接入。" : "首次复制指令,之后人工或定时触发;本地 AI 可自行提交,网页 AI 由你或授权主持人代发。"), 1),
44760
- g.value.length ? (U(), W("div", UK, [(U(!0), W(H, null, B(g.value, (e) => (U(), G(NK, {
44830
+ "aria-checked": c("mode") === e.value,
44831
+ tabindex: c("mode") === e.value ? 0 : -1,
44832
+ onClick: (t) => D(e.value)
44833
+ }, [q(g, { name: e.icon }, null, 8, ["name"]), J(P(e.title), 1)], 8, GK)), 64))], 32)]),
44834
+ K("p", KK, P(u.value ? "本机服务交付任务并自动接续会话;仅支持已适配的本地软件,网页 AI 请用手动接入。" : "首次复制指令,之后人工或定时触发;本地 AI 可自行提交,网页 AI 由你或授权主持人代发。"), 1),
44835
+ h.value.length ? (U(), W("div", qK, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(LK, {
44761
44836
  key: e,
44762
44837
  name: e,
44763
- mode: h.value[e],
44764
- automatic: d.value,
44765
- status: ne(e),
44766
- host: y.value === e,
44767
- hostable: b.value.includes(e),
44768
- onHost: (t) => u("host", e),
44769
- onRemove: (t) => ae(e),
44770
- onMode: (t) => k(e, t)
44838
+ mode: m.value[e],
44839
+ automatic: u.value,
44840
+ status: te(e),
44841
+ host: v.value === e,
44842
+ hostable: y.value.includes(e),
44843
+ onHost: (t) => l("host", e),
44844
+ onRemove: (t) => re(e),
44845
+ onMode: (t) => ee(e, t)
44771
44846
  }, null, 8, [
44772
44847
  "name",
44773
44848
  "mode",
@@ -44778,22 +44853,22 @@ var YG = /*#__PURE__*/ nH({
44778
44853
  "onHost",
44779
44854
  "onRemove",
44780
44855
  "onMode"
44781
- ]))), 128))])) : (U(), W("p", WK, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
44856
+ ]))), 128))])) : (U(), W("p", JK, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
44782
44857
  K("div", {
44783
44858
  ref_key: "library",
44784
- ref: v,
44859
+ ref: _,
44785
44860
  class: "create-roster-add",
44786
44861
  role: "group",
44787
44862
  "aria-label": "添加 AI"
44788
- }, [c[14] ||= K("span", { class: "create-label" }, "添加", -1), (U(!0), W(H, null, B(I(s), (e) => (U(), W("button", {
44863
+ }, [s[12] ||= K("span", { class: "create-label" }, "添加", -1), (U(!0), W(H, null, B(I(o), (e) => (U(), W("button", {
44789
44864
  key: e,
44790
44865
  type: "button",
44791
- disabled: d.value && !I(i).launch_clients[e],
44792
- title: re(e),
44866
+ disabled: u.value && !I(i).launch_clients[e],
44867
+ title: k(e),
44793
44868
  "aria-label": `添加 ${e} 实例`,
44794
- onClick: (t) => ie(e)
44869
+ onClick: (t) => ne(e)
44795
44870
  }, [
44796
- q(ue, {
44871
+ q(le, {
44797
44872
  src: I(i).identities[e]?.icon,
44798
44873
  text: I(i).identities[e]?.initials,
44799
44874
  alt: e,
@@ -44806,49 +44881,49 @@ var YG = /*#__PURE__*/ nH({
44806
44881
  "class"
44807
44882
  ]),
44808
44883
  J(P(e), 1),
44809
- q(_, { name: "i-lucide-plus" })
44810
- ], 8, GK))), 128))], 512),
44811
- K("div", KK, [f.value ? (U(), W("button", {
44884
+ q(g, { name: "i-lucide-plus" })
44885
+ ], 8, YK))), 128))], 512),
44886
+ K("div", XK, [d.value ? (U(), W("button", {
44812
44887
  key: 0,
44813
44888
  type: "button",
44814
44889
  class: "create-host-self",
44815
- "aria-pressed": y.value === "用户",
44816
- onClick: c[2] ||= (e) => u("host", "用户")
44817
- }, [q(_, { name: "i-lucide-crown" }), c[15] ||= J("我来主持", -1)], 8, qK)) : (U(), G(_, {
44890
+ "aria-pressed": v.value === "用户",
44891
+ onClick: s[2] ||= (e) => l("host", "用户")
44892
+ }, [q(g, { name: "i-lucide-crown" }), s[13] ||= J("我来主持", -1)], 8, ZK)) : (U(), G(g, {
44818
44893
  key: 1,
44819
44894
  name: "i-lucide-crown"
44820
- })), K("span", null, P(f.value ? "默认由你点名和分配任务;也可点卡片上的皇冠,由一位本地 AI 协助主持。" : b.value.length ? "点卡片上的皇冠指定主持人:须为本地读写 AI,负责补全议题、安排发言与收束,也可同时作为专家。" : "先添加一位本地读写的 AI 担任主持人。"), 1)])
44895
+ })), K("span", null, P(d.value ? "默认由你点名和分配任务;也可点卡片上的皇冠,由一位本地 AI 协助主持。" : y.value.length ? "点卡片上的皇冠指定主持人:须为本地读写 AI,负责补全议题、安排发言与收束,也可同时作为专家。" : "先添加一位本地读写的 AI 担任主持人。"), 1)])
44821
44896
  ]),
44822
- f.value ? Y("", !0) : (U(), W("section", JK, [
44823
- c[18] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
44897
+ d.value ? Y("", !0) : (U(), W("section", QK, [
44898
+ s[16] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
44824
44899
  q(YG, {
44825
44900
  ref_key: "limit_picker",
44826
- ref: x,
44827
- rounds: Number(l("limit-max_rounds")),
44828
- minutes: Number(l("limit-max_minutes")),
44829
- "onUpdate:rounds": c[3] ||= (e) => u("limit-max_rounds", String(e)),
44830
- "onUpdate:minutes": c[4] ||= (e) => u("limit-max_minutes", String(e))
44901
+ ref: b,
44902
+ rounds: Number(c("limit-max_rounds")),
44903
+ minutes: Number(c("limit-max_minutes")),
44904
+ "onUpdate:rounds": s[3] ||= (e) => l("limit-max_rounds", String(e)),
44905
+ "onUpdate:minutes": s[4] ||= (e) => l("limit-max_minutes", String(e))
44831
44906
  }, null, 8, ["rounds", "minutes"]),
44832
- c[19] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44833
- d.value ? (U(), W("div", YK, [q(ce, {
44907
+ s[17] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44908
+ u.value ? (U(), W("div", $K, [q(T, {
44834
44909
  label: "单次 AI 执行(分钟)",
44835
44910
  description: "留空或 0 表示不限"
44836
44911
  }, {
44837
- default: L(() => [q(D, {
44838
- "model-value": Number(l("limit-execution_minutes")) ? l("limit-execution_minutes") : "",
44912
+ default: L(() => [q(S, {
44913
+ "model-value": Number(c("limit-execution_minutes")) ? c("limit-execution_minutes") : "",
44839
44914
  type: "number",
44840
44915
  min: 0,
44841
44916
  max: 60,
44842
44917
  step: 1,
44843
44918
  placeholder: "不限时长",
44844
44919
  class: "w-full",
44845
- "onUpdate:modelValue": c[5] ||= (e) => u("limit-execution_minutes", e)
44920
+ "onUpdate:modelValue": s[5] ||= (e) => l("limit-execution_minutes", e)
44846
44921
  }, null, 8, ["model-value"])]),
44847
44922
  _: 1
44848
44923
  })])) : Y("", !0),
44849
- K("div", XK, [
44850
- c[17] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44851
- K("div", ZK, [(U(), W(H, null, B([{
44924
+ K("div", eq, [
44925
+ s[15] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44926
+ K("div", tq, [(U(), W(H, null, B([{
44852
44927
  value: "pause",
44853
44928
  label: "暂停保留现场"
44854
44929
  }, {
@@ -44858,112 +44933,76 @@ var YG = /*#__PURE__*/ nH({
44858
44933
  key: e.value,
44859
44934
  type: "button",
44860
44935
  role: "radio",
44861
- "aria-checked": (l("limit-on_limit") || "pause") === e.value,
44862
- class: M({ "is-selected": (l("limit-on_limit") || "pause") === e.value }),
44863
- onClick: (t) => u("limit-on_limit", e.value)
44864
- }, P(e.label), 11, QK)), 64))]),
44865
- l("limit-on_limit") === "summarize" ? (U(), G(D, {
44936
+ "aria-checked": (c("limit-on_limit") || "pause") === e.value,
44937
+ class: M({ "is-selected": (c("limit-on_limit") || "pause") === e.value }),
44938
+ onClick: (t) => l("limit-on_limit", e.value)
44939
+ }, P(e.label), 11, nq)), 64))]),
44940
+ c("limit-on_limit") === "summarize" ? (U(), G(S, {
44866
44941
  key: 0,
44867
- "model-value": l("limit-summary_minutes"),
44942
+ "model-value": c("limit-summary_minutes"),
44868
44943
  type: "number",
44869
44944
  min: 1,
44870
44945
  max: 60,
44871
44946
  step: 1,
44872
44947
  "aria-label": "收束预留(分钟)",
44873
44948
  class: "create-summary-minutes",
44874
- "onUpdate:modelValue": c[6] ||= (e) => u("limit-summary_minutes", e)
44949
+ "onUpdate:modelValue": s[6] ||= (e) => l("limit-summary_minutes", e)
44875
44950
  }, {
44876
- trailing: L(() => [...c[16] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44951
+ trailing: L(() => [...s[14] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44877
44952
  _: 1
44878
44953
  }, 8, ["model-value"])) : Y("", !0)
44879
44954
  ]),
44880
- K("p", $K, [q(_, { name: "i-lucide-flag" }), J(P(oe.value), 1)])
44955
+ K("p", rq, [q(g, { name: "i-lucide-flag" }), J(P(oe.value), 1)])
44881
44956
  ])),
44882
- d.value ? (U(), W("section", eq, [
44883
- K("h3", null, [K("span", null, P(f.value ? 3 : 4), 1), c[20] ||= J("启动本机软件", -1)]),
44884
- f.value && !I(r).launch.available ? (U(), W("p", tq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
44885
- I(r).launch.available ? (U(), W(H, { key: 1 }, [f.value ? Y("", !0) : (U(), G(de, {
44957
+ u.value ? (U(), W("section", iq, [
44958
+ K("h3", null, [K("span", null, P(d.value ? 3 : 4), 1), s[18] ||= J("启动本机软件", -1)]),
44959
+ d.value && !I(r).launch.available ? (U(), W("p", aq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
44960
+ I(r).launch.available ? (U(), W(H, { key: 1 }, [d.value ? Y("", !0) : (U(), G(ue, {
44886
44961
  key: 0,
44887
44962
  "model-value": I(r).launch.create,
44888
44963
  label: "创建后立即启动 AI",
44889
44964
  description: "由本机服务创建会话并交付首个主持任务;不勾选则只建房,稍后在「接入」页启动。",
44890
- "onUpdate:modelValue": c[7] ||= (e) => I(i).write_launch("create", "", e)
44891
- }, null, 8, ["model-value"])), f.value || I(r).launch.create ? (U(), W(H, { key: 1 }, [
44892
- K("div", nq, [q(ce, {
44893
- label: "项目目录(可选)",
44894
- help: "要一起查看的项目;留空时 AI 只在讨论私有目录工作"
44895
- }, {
44896
- default: L(() => [q(D, {
44897
- "model-value": I(r).launch.workspace.cwd || "",
44898
- placeholder: "已有目录的完整路径",
44899
- class: "w-full",
44900
- "onUpdate:modelValue": c[8] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44901
- }, null, 8, ["model-value"])]),
44902
- _: 1
44903
- }), q(ce, {
44904
- label: "项目文件",
44905
- help: f.value ? "默认只读;要让 AI 改代码请选可写,仅本房间有效" : "默认只读;可写允许 CLI 专家按议题修改项目文件,仅本次有效"
44906
- }, {
44907
- default: L(() => [q(j, {
44908
- "model-value": I(r).launch.workspace.project_access || "read",
44909
- items: o,
44910
- class: "w-full",
44911
- "onUpdate:modelValue": c[9] ||= (e) => I(i).write_launch("workspace", "project_access", e)
44912
- }, null, 8, ["model-value"])]),
44913
- _: 1
44914
- }, 8, ["help"])]),
44915
- K("ul", rq, [(U(!0), W(H, null, B(S.value, (e) => (U(), W("li", { key: e }, [
44916
- q(_, {
44917
- name: C(e) ? "i-lucide-circle-check" : "i-lucide-circle-alert",
44918
- class: M(C(e) ? "is-ready" : "is-warn")
44919
- }, null, 8, ["name", "class"]),
44920
- K("strong", null, P(e), 1),
44921
- K("span", null, P(I(i).launch_summary(e).client) + " · " + P(I(i).launch_summary(e).session) + " · " + P(I(i).launch_summary(e).access) + " · " + P(I(i).launch_summary(e).cwd), 1)
44922
- ]))), 128))]),
44923
- q(pe, {
44924
- open: E.value,
44925
- "onUpdate:open": c[10] ||= (e) => E.value = e
44926
- }, {
44927
- content: L(() => [q(gW, {
44928
- participants: S.value,
44929
- workspace: !1,
44930
- "model-selection": !1
44931
- }, null, 8, ["participants"])]),
44932
- default: L(() => [q(fe, {
44933
- icon: E.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right",
44934
- label: "调整启动配置",
44935
- color: "neutral",
44936
- variant: "link",
44937
- size: "sm",
44938
- class: "create-more"
44939
- }, null, 8, ["icon"])]),
44940
- _: 1
44941
- }, 8, ["open"])
44942
- ], 64)) : Y("", !0)], 64)) : (U(), G(gW, {
44965
+ "onUpdate:modelValue": s[7] ||= (e) => I(i).write_launch("create", "", e)
44966
+ }, null, 8, ["model-value"])), d.value || I(r).launch.create ? (U(), W(H, { key: 1 }, [q(T, { label: "项目目录(可选)" }, {
44967
+ default: L(() => [K("div", oq, [q(S, {
44968
+ "model-value": I(r).launch.workspace.cwd || "",
44969
+ placeholder: "输入完整路径,或点右侧选择",
44970
+ class: "w-full",
44971
+ "onUpdate:modelValue": s[8] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44972
+ }, null, 8, ["model-value"]), q(de, {
44973
+ icon: "i-lucide-folder-open",
44974
+ label: "选择…",
44975
+ color: "neutral",
44976
+ variant: "outline",
44977
+ loading: ie.value,
44978
+ onClick: ae
44979
+ }, null, 8, ["loading"])])]),
44980
+ _: 1
44981
+ }), s[19] ||= K("p", { class: "fine-print create-hint" }, "要一起查看的项目;留空时 AI 只在讨论私有目录工作。读写权限在各专家卡片上设置。", -1)], 64)) : Y("", !0)], 64)) : (U(), G(gW, {
44943
44982
  key: 2,
44944
- participants: S.value,
44983
+ participants: x.value,
44945
44984
  workspace: !1,
44946
44985
  "model-selection": !1
44947
44986
  }, null, 8, ["participants"]))
44948
44987
  ])) : Y("", !0)
44949
- ], 32), K("footer", iq, [w.value && I(r).launch.error ? (U(), W("p", aq, P(I(r).launch.error), 1)) : Y("", !0), K("div", oq, [
44988
+ ], 32), K("footer", sq, [C.value && I(r).launch.error ? (U(), W("p", cq, P(I(r).launch.error), 1)) : Y("", !0), K("div", lq, [
44950
44989
  K("span", {
44951
44990
  class: "create-summary",
44952
44991
  title: se.value
44953
- }, P(se.value), 9, sq),
44954
- q(fe, {
44992
+ }, P(se.value), 9, uq),
44993
+ q(de, {
44955
44994
  label: "取消",
44956
44995
  color: "neutral",
44957
44996
  variant: "ghost",
44958
- onClick: c[11] ||= (e) => n("cancel")
44997
+ onClick: s[9] ||= (e) => n("cancel")
44959
44998
  }),
44960
- q(fe, {
44999
+ q(de, {
44961
45000
  type: "submit",
44962
45001
  form: "create-discussion-form",
44963
45002
  class: "channel-primary-button",
44964
- icon: w.value ? "i-lucide-play" : "i-lucide-plus",
44965
- label: f.value ? d.value ? "创建并连接" : "创建协作房间" : w.value ? "创建并启动讨论" : "创建讨论",
44966
- disabled: f.value ? !T.value : !y.value,
45003
+ icon: C.value ? "i-lucide-play" : "i-lucide-plus",
45004
+ label: d.value ? u.value ? "创建并连接" : "创建协作房间" : C.value ? "创建并启动讨论" : "创建讨论",
45005
+ disabled: d.value ? !w.value : !v.value,
44967
45006
  loading: I(a) === "create"
44968
45007
  }, null, 8, [
44969
45008
  "icon",
@@ -44974,61 +45013,61 @@ var YG = /*#__PURE__*/ nH({
44974
45013
  ])])]);
44975
45014
  };
44976
45015
  }
44977
- }, [["__scopeId", "data-v-44ac648e"]]), uq = {
45016
+ }, [["__scopeId", "data-v-cbdd1db6"]]), pq = {
44978
45017
  key: 0,
44979
45018
  class: "channel-archive-manager"
44980
- }, dq = { class: "channel-archive-toolbar" }, fq = {
45019
+ }, mq = { class: "channel-archive-toolbar" }, hq = {
44981
45020
  key: 0,
44982
45021
  class: "channel-archive-confirm channel-archive-bulk",
44983
45022
  role: "alert"
44984
- }, pq = {
45023
+ }, gq = {
44985
45024
  key: 1,
44986
45025
  role: "alert",
44987
45026
  class: "channel-directory-error"
44988
- }, mq = { class: "channel-archive-results" }, hq = {
45027
+ }, _q = { class: "channel-archive-results" }, vq = {
44989
45028
  key: 0,
44990
45029
  class: "channel-archive-list",
44991
45030
  "aria-label": "已存档频道列表"
44992
- }, gq = { class: "channel-archive-row" }, _q = { class: "channel-archive-info" }, vq = [
45031
+ }, yq = { class: "channel-archive-row" }, bq = { class: "channel-archive-info" }, xq = [
44993
45032
  "title",
44994
45033
  "disabled",
44995
45034
  "onClick"
44996
- ], yq = { key: 0 }, bq = ["datetime"], xq = { class: "channel-archive-actions" }, Sq = {
45035
+ ], Sq = { key: 0 }, Cq = ["datetime"], wq = { class: "channel-archive-actions" }, Tq = {
44997
45036
  key: 0,
44998
45037
  class: "channel-archive-confirm channel-archive-bulk",
44999
45038
  role: "alert"
45000
- }, Cq = {
45039
+ }, Eq = {
45001
45040
  key: 1,
45002
45041
  class: "channel-archive-empty"
45003
- }, wq = { class: "fine-print" }, Tq = { class: "dialog-actions" }, Eq = { class: "dialog-actions" }, Dq = { class: "channel-management-target" }, Oq = {
45042
+ }, Dq = { class: "fine-print" }, Oq = { class: "dialog-actions" }, kq = { class: "dialog-actions" }, Aq = { class: "channel-management-target" }, jq = {
45004
45043
  key: 0,
45005
45044
  class: "fine-print"
45006
- }, kq = {
45045
+ }, Mq = {
45007
45046
  key: 1,
45008
45047
  class: "fine-print"
45009
- }, Aq = {
45048
+ }, Nq = {
45010
45049
  key: 2,
45011
45050
  class: "fine-print"
45012
- }, jq = { class: "dialog-actions" }, Mq = { key: 4 }, Nq = { class: "theme-choices" }, Pq = ["aria-pressed", "onClick"], Fq = { class: "theme-check" }, Iq = { class: "channel-reading-setting" }, Lq = {
45051
+ }, Pq = { class: "dialog-actions" }, Fq = { key: 4 }, Iq = { class: "theme-choices" }, Lq = ["aria-pressed", "onClick"], Rq = { class: "theme-check" }, zq = { class: "channel-reading-setting" }, Bq = {
45013
45052
  class: "channel-reading-options",
45014
45053
  role: "group",
45015
45054
  "aria-labelledby": "channel-reading-label"
45016
- }, Rq = { class: "form-two-columns" }, zq = { class: "advanced-content" }, Bq = { class: "form-two-columns" }, Vq = {
45055
+ }, Vq = { class: "form-two-columns" }, Hq = { class: "advanced-content" }, Uq = { class: "form-two-columns" }, Wq = {
45017
45056
  key: 0,
45018
45057
  class: "fine-print"
45019
- }, Hq = { class: "advanced-content" }, Uq = { class: "expert-fields" }, Wq = { class: "dialog-actions" }, Gq = { class: "dialog-actions" }, Kq = {
45058
+ }, Gq = { class: "advanced-content" }, Kq = { class: "expert-fields" }, qq = { class: "dialog-actions" }, Jq = { class: "dialog-actions" }, Yq = {
45020
45059
  key: 8,
45021
45060
  class: "original-message"
45022
- }, qq = {
45061
+ }, Xq = {
45023
45062
  key: 0,
45024
45063
  role: "alert"
45025
- }, Jq = { class: "original-meta" }, Yq = { class: "fine-print" }, Xq = {
45064
+ }, Zq = { class: "original-meta" }, Qq = { class: "fine-print" }, $q = {
45026
45065
  key: 0,
45027
45066
  class: "channel-answer-summary"
45028
- }, Zq = { class: "message-prose" }, Qq = { class: "message-prose" }, $q = ["innerHTML"], eJ = {
45067
+ }, eJ = { class: "message-prose" }, tJ = { class: "message-prose" }, nJ = ["innerHTML"], rJ = {
45029
45068
  key: 2,
45030
45069
  class: "fine-print"
45031
- }, tJ = "topic-expert-modes", nJ = {
45070
+ }, iJ = "topic-expert-modes", aJ = {
45032
45071
  __name: "WorkspaceDialogs",
45033
45072
  props: /*@__PURE__*/ Fa({
45034
45073
  detailId: {
@@ -45299,8 +45338,8 @@ var YG = /*#__PURE__*/ nH({
45299
45338
  },
45300
45339
  "onAfter:leave": be
45301
45340
  }, {
45302
- body: L(() => [i.value === "archives" ? (U(), W("section", uq, [
45303
- K("div", dq, [
45341
+ body: L(() => [i.value === "archives" ? (U(), W("section", pq, [
45342
+ K("div", mq, [
45304
45343
  q(b, {
45305
45344
  modelValue: m.value,
45306
45345
  "onUpdate:modelValue": s[0] ||= (e) => m.value = e,
@@ -45329,7 +45368,7 @@ var YG = /*#__PURE__*/ nH({
45329
45368
  }
45330
45369
  }, null, 8, ["label", "disabled"])
45331
45370
  ]),
45332
- y.value && _.value.length ? (U(), W("div", fq, [
45371
+ y.value && _.value.length ? (U(), W("div", hq, [
45333
45372
  K("span", null, "将永久删除当前列表中的 " + P(_.value.length) + " 个频道及其全部记录,无法撤销。", 1),
45334
45373
  q(ce, {
45335
45374
  label: "取消",
@@ -45345,20 +45384,20 @@ var YG = /*#__PURE__*/ nH({
45345
45384
  onClick: E
45346
45385
  })
45347
45386
  ])) : Y("", !0),
45348
- I(a).directory_error ? (U(), W("p", pq, P(I(a).directory_error), 1)) : Y("", !0),
45349
- K("div", mq, [_.value.length ? (U(), W("ul", hq, [(U(!0), W(H, null, B(_.value, (e) => (U(), W("li", {
45387
+ I(a).directory_error ? (U(), W("p", gq, P(I(a).directory_error), 1)) : Y("", !0),
45388
+ K("div", _q, [_.value.length ? (U(), W("ul", vq, [(U(!0), W(H, null, B(_.value, (e) => (U(), W("li", {
45350
45389
  key: e.id,
45351
45390
  class: "channel-archive-item"
45352
- }, [K("div", gq, [K("div", _q, [K("button", {
45391
+ }, [K("div", yq, [K("div", bq, [K("button", {
45353
45392
  class: "channel-archive-title",
45354
45393
  title: e.title,
45355
45394
  disabled: !!I(l),
45356
45395
  onClick: (t) => w(e)
45357
- }, P(e.title), 9, vq), K("small", null, [e.created_at ? (U(), W("span", yq, [
45396
+ }, P(e.title), 9, xq), K("small", null, [e.created_at ? (U(), W("span", Sq, [
45358
45397
  s[25] ||= J("创建于 ", -1),
45359
- K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, bq),
45398
+ K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, Cq),
45360
45399
  s[26] ||= J(" · ", -1)
45361
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", xq, [q(ce, {
45400
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", wq, [q(ce, {
45362
45401
  "aria-label": `彻底删除 ${e.title}`,
45363
45402
  title: "彻底删除",
45364
45403
  icon: "i-lucide-trash-2",
@@ -45390,7 +45429,7 @@ var YG = /*#__PURE__*/ nH({
45390
45429
  "aria-label",
45391
45430
  "disabled",
45392
45431
  "onClick"
45393
- ])])]), v.value === e.id ? (U(), W("div", Sq, [
45432
+ ])])]), v.value === e.id ? (U(), W("div", Tq, [
45394
45433
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
45395
45434
  q(ce, {
45396
45435
  label: "取消",
@@ -45406,12 +45445,12 @@ var YG = /*#__PURE__*/ nH({
45406
45445
  disabled: C(e),
45407
45446
  onClick: T
45408
45447
  }, null, 8, ["disabled"])
45409
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", Cq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45448
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", Eq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45410
45449
  ])) : i.value === "delete-folder" ? (U(), W("form", {
45411
45450
  key: 1,
45412
45451
  class: "dialog-form",
45413
45452
  onSubmit: uu(ne, ["prevent"])
45414
- }, [K("p", wq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Tq, [q(ce, {
45453
+ }, [K("p", Dq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Oq, [q(ce, {
45415
45454
  label: "取消",
45416
45455
  color: "neutral",
45417
45456
  variant: "ghost",
@@ -45442,7 +45481,7 @@ var YG = /*#__PURE__*/ nH({
45442
45481
  "modelValue",
45443
45482
  "aria-label",
45444
45483
  "readonly"
45445
- ]), K("div", Eq, [q(ce, {
45484
+ ]), K("div", kq, [q(ce, {
45446
45485
  label: "取消",
45447
45486
  color: "neutral",
45448
45487
  variant: "ghost",
@@ -45467,10 +45506,10 @@ var YG = /*#__PURE__*/ nH({
45467
45506
  class: "dialog-form",
45468
45507
  onSubmit: uu(te, ["prevent"])
45469
45508
  }, [
45470
- K("p", Dq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45471
- i.value === "archive" ? (U(), W("p", Oq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45472
- i.value === "restore" ? (U(), W("p", kq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45473
- i.value === "delete" ? (U(), W("p", Aq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45509
+ K("p", Aq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45510
+ i.value === "archive" ? (U(), W("p", jq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45511
+ i.value === "restore" ? (U(), W("p", Mq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45512
+ i.value === "delete" ? (U(), W("p", Nq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45474
45513
  i.value === "rename" ? (U(), G(ue, {
45475
45514
  key: 3,
45476
45515
  label: "频道名称",
@@ -45487,7 +45526,7 @@ var YG = /*#__PURE__*/ nH({
45487
45526
  }, null, 8, ["modelValue"])]),
45488
45527
  _: 1
45489
45528
  })) : Y("", !0),
45490
- K("div", jq, [q(ce, {
45529
+ K("div", Pq, [q(ce, {
45491
45530
  label: "取消",
45492
45531
  color: "neutral",
45493
45532
  variant: "ghost",
@@ -45504,7 +45543,7 @@ var YG = /*#__PURE__*/ nH({
45504
45543
  "loading",
45505
45544
  "disabled"
45506
45545
  ])])
45507
- ], 32)) : i.value === "settings" ? (U(), W("div", Mq, [K("div", Nq, [(U(), W(H, null, B(he, (e) => K("button", {
45546
+ ], 32)) : i.value === "settings" ? (U(), W("div", Fq, [K("div", Iq, [(U(), W(H, null, B(he, (e) => K("button", {
45508
45547
  key: e.value,
45509
45548
  class: M({ chosen: I(a).theme === e.value }),
45510
45549
  "aria-pressed": I(a).theme === e.value,
@@ -45519,11 +45558,11 @@ var YG = /*#__PURE__*/ nH({
45519
45558
  K("b")
45520
45559
  ], -1)]], 2),
45521
45560
  K("span", null, [K("strong", null, P(e.title), 1), K("small", null, P(e.description), 1)]),
45522
- K("span", Fq, [I(a).theme === e.value ? (U(), G(de, {
45561
+ K("span", Rq, [I(a).theme === e.value ? (U(), G(de, {
45523
45562
  key: 0,
45524
45563
  name: "i-lucide-check"
45525
45564
  })) : Y("", !0)])
45526
- ], 10, Pq)), 64))]), K("section", Iq, [s[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", Lq, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(ce, {
45565
+ ], 10, Lq)), 64))]), K("section", zq, [s[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", Bq, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(ce, {
45527
45566
  key: e.value,
45528
45567
  label: e.label,
45529
45568
  color: "neutral",
@@ -45536,7 +45575,7 @@ var YG = /*#__PURE__*/ nH({
45536
45575
  "class",
45537
45576
  "aria-pressed",
45538
45577
  "onClick"
45539
- ]))), 128))])])])) : i.value === "create" ? (U(), G(lq, {
45578
+ ]))), 128))])])])) : i.value === "create" ? (U(), G(fq, {
45540
45579
  key: 5,
45541
45580
  "target-folder": e.targetFolder,
45542
45581
  onSubmit: N,
@@ -45571,7 +45610,7 @@ var YG = /*#__PURE__*/ nH({
45571
45610
  }, null, 8, ["model-value"])]),
45572
45611
  _: 1
45573
45612
  }),
45574
- K("div", Rq, [q(ue, { label: "主持人" }, {
45613
+ K("div", Vq, [q(ue, { label: "主持人" }, {
45575
45614
  default: L(() => [q(x, {
45576
45615
  "model-value": I(a).fields[ge("host")],
45577
45616
  items: I(ie),
@@ -45605,9 +45644,9 @@ var YG = /*#__PURE__*/ nH({
45605
45644
  }, null, 8, ["model-value"])]),
45606
45645
  _: 1
45607
45646
  })) : Y("", !0),
45608
- K("section", zq, [
45647
+ K("section", Hq, [
45609
45648
  s[29] ||= K("h3", null, "讨论上限", -1),
45610
- K("div", Bq, [
45649
+ K("div", Uq, [
45611
45650
  (U(!0), W(H, null, B(le.value, (e) => (U(), G(ue, {
45612
45651
  key: e.key,
45613
45652
  label: e.label
@@ -45668,14 +45707,14 @@ var YG = /*#__PURE__*/ nH({
45668
45707
  })) : Y("", !0)
45669
45708
  ]),
45670
45709
  s[30] ||= K("p", { class: "fine-print" }, "轮次、总时长、单次执行留空或 0 表示不限。一轮指每位专家各完成一次观点;首次进入讨论阶段或创建安排后计时,暂停期间不计时。收束预留计入总时长。", -1),
45671
- se.value ? (U(), W("p", Vq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45710
+ se.value ? (U(), W("p", Wq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45672
45711
  ]),
45673
45712
  q(Se, {
45674
45713
  open: oe.value,
45675
45714
  "onUpdate:open": s[19] ||= (e) => oe.value = e,
45676
45715
  class: "advanced-fields"
45677
45716
  }, {
45678
- content: L(() => [K("div", Hq, [
45717
+ content: L(() => [K("div", Gq, [
45679
45718
  (U(), W(H, null, B([
45680
45719
  {
45681
45720
  key: "user_request",
@@ -45702,11 +45741,11 @@ var YG = /*#__PURE__*/ nH({
45702
45741
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
45703
45742
  _: 2
45704
45743
  }, 1032, ["label"])), 64)),
45705
- K("div", Uq, [(U(!0), W(H, null, B(I(re), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(x, {
45706
- "model-value": I(a).experts[tJ]?.[e] || "none",
45744
+ K("div", Kq, [(U(!0), W(H, null, B(I(re), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(x, {
45745
+ "model-value": I(a).experts[iJ]?.[e] || "none",
45707
45746
  items: A,
45708
45747
  "aria-label": `${e} 参与方式`,
45709
- "onUpdate:modelValue": (t) => I(o).write_expert(tJ, e, t === "none" ? "" : t)
45748
+ "onUpdate:modelValue": (t) => I(o).write_expert(iJ, e, t === "none" ? "" : t)
45710
45749
  }, null, 8, [
45711
45750
  "model-value",
45712
45751
  "aria-label",
@@ -45724,7 +45763,7 @@ var YG = /*#__PURE__*/ nH({
45724
45763
  }, null, 8, ["trailing-icon"])]),
45725
45764
  _: 1
45726
45765
  }, 8, ["open"]),
45727
- K("div", Wq, [q(ce, {
45766
+ K("div", qq, [q(ce, {
45728
45767
  label: "取消",
45729
45768
  color: "neutral",
45730
45769
  variant: "ghost",
@@ -45768,7 +45807,7 @@ var YG = /*#__PURE__*/ nH({
45768
45807
  _: 1
45769
45808
  }),
45770
45809
  s[32] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
45771
- K("div", Gq, [q(ce, {
45810
+ K("div", Jq, [q(ce, {
45772
45811
  label: "取消",
45773
45812
  variant: "ghost",
45774
45813
  color: "neutral",
@@ -45779,8 +45818,8 @@ var YG = /*#__PURE__*/ nH({
45779
45818
  label: "创建发言安排",
45780
45819
  loading: I(l) === "schedule"
45781
45820
  }, null, 8, ["loading"])])
45782
- ], 32)) : i.value === "message" ? (U(), W("div", Kq, [fe.value ? (U(), W("p", qq, P(fe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
45783
- K("div", Jq, [
45821
+ ], 32)) : i.value === "message" ? (U(), W("div", Yq, [fe.value ? (U(), W("p", Xq, P(fe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
45822
+ K("div", Zq, [
45784
45823
  K("strong", null, P(I(o).display_name(j.value.author)), 1),
45785
45824
  K("span", null, "#" + P(j.value.id), 1),
45786
45825
  q(Ce, {
@@ -45791,14 +45830,14 @@ var YG = /*#__PURE__*/ nH({
45791
45830
  _: 1
45792
45831
  })
45793
45832
  ]),
45794
- K("p", Yq, P(I(o).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
45795
- j.value.summary ? (U(), W("section", Xq, [K("small", null, "回答摘要 · " + P(I(o).display_name(j.value.summary_by)), 1), K("p", Zq, P(j.value.summary), 1)])) : Y("", !0),
45796
- K("p", Qq, P(j.value.text), 1),
45833
+ K("p", Qq, P(I(o).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
45834
+ j.value.summary ? (U(), W("section", $q, [K("small", null, "回答摘要 · " + P(I(o).display_name(j.value.summary_by)), 1), K("p", eJ, P(j.value.summary), 1)])) : Y("", !0),
45835
+ K("p", tJ, P(j.value.text), 1),
45797
45836
  j.value.attachments?.length ? (U(), W("div", {
45798
45837
  key: 1,
45799
45838
  onClick: ye,
45800
45839
  innerHTML: I(o).attachment_markup(j.value.attachments)
45801
- }, null, 8, $q)) : Y("", !0),
45840
+ }, null, 8, nJ)) : Y("", !0),
45802
45841
  j.value.reply_to ? (U(), G(ce, {
45803
45842
  key: 2,
45804
45843
  label: `查看被回复的原文 #${j.value.reply_to}`,
@@ -45808,7 +45847,7 @@ var YG = /*#__PURE__*/ nH({
45808
45847
  class: "channel-surface-button",
45809
45848
  onClick: xe
45810
45849
  }, null, 8, ["label"])) : Y("", !0)
45811
- ], 64)) : (U(), W("p", eJ, "正在读取原文…"))])) : Y("", !0)]),
45850
+ ], 64)) : (U(), W("p", rJ, "正在读取原文…"))])) : Y("", !0)]),
45812
45851
  _: 1
45813
45852
  }, 8, [
45814
45853
  "open",
@@ -45818,7 +45857,7 @@ var YG = /*#__PURE__*/ nH({
45818
45857
  ]);
45819
45858
  };
45820
45859
  }
45821
- }, rJ = {
45860
+ }, oJ = {
45822
45861
  __name: "ContextMenuContent",
45823
45862
  props: {
45824
45863
  items: {
@@ -46113,7 +46152,7 @@ var YG = /*#__PURE__*/ nH({
46113
46152
  "disabled",
46114
46153
  "text-value",
46115
46154
  "class"
46116
- ]), q(rJ, X({
46155
+ ]), q(oJ, X({
46117
46156
  sub: "",
46118
46157
  class: r.ui?.content,
46119
46158
  ui: e.ui,
@@ -46224,7 +46263,7 @@ var YG = /*#__PURE__*/ nH({
46224
46263
  _: 3
46225
46264
  }, 16)], 64));
46226
46265
  }
46227
- }, iJ = {
46266
+ }, sJ = {
46228
46267
  slots: {
46229
46268
  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",
46230
46269
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -46412,7 +46451,7 @@ var YG = /*#__PURE__*/ nH({
46412
46451
  }
46413
46452
  ],
46414
46453
  defaultVariants: { size: "md" }
46415
- }, aJ = {
46454
+ }, cJ = {
46416
46455
  __name: "ContextMenu",
46417
46456
  props: {
46418
46457
  size: {
@@ -46482,7 +46521,7 @@ var YG = /*#__PURE__*/ nH({
46482
46521
  emits: ["update:open"],
46483
46522
  setup(e, { emit: t }) {
46484
46523
  let n = e, r = t, i = Aa(), a = cE("contextMenu", n), o = Sm(), s = lE(am(a, "modal"), r), c = /* @__PURE__ */ Sn(() => a.content), l = () => Bm(i, ["default"]), u = Z(() => Rk({
46485
- extend: iJ,
46524
+ extend: sJ,
46486
46525
  ...o.ui?.contextMenu || {}
46487
46526
  })({ size: a.size }));
46488
46527
  return (e, t) => (U(), G(I(GS), N(Ss(I(s))), {
@@ -46494,7 +46533,7 @@ var YG = /*#__PURE__*/ nH({
46494
46533
  }, {
46495
46534
  default: L(() => [V(e.$slots, "default")]),
46496
46535
  _: 3
46497
- }, 8, ["disabled", "class"])) : Y("", !0), q(rJ, X({
46536
+ }, 8, ["disabled", "class"])) : Y("", !0), q(oJ, X({
46498
46537
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
46499
46538
  ui: u.value,
46500
46539
  "ui-override": I(a).ui
@@ -46524,43 +46563,43 @@ var YG = /*#__PURE__*/ nH({
46524
46563
  _: 3
46525
46564
  }, 16));
46526
46565
  }
46527
- }, oJ = { class: "channel-directory-manager" }, sJ = { class: "channel-directory-heading" }, cJ = ["aria-expanded"], lJ = { class: "channel-directory-actions" }, uJ = {
46566
+ }, lJ = { class: "channel-directory-manager" }, uJ = { class: "channel-directory-heading" }, dJ = ["aria-expanded"], fJ = { class: "channel-directory-actions" }, pJ = {
46528
46567
  "aria-label": "讨论频道列表",
46529
46568
  class: "channel-room-list",
46530
46569
  "data-room-directory": ""
46531
- }, dJ = ["data-room-folder", "data-drag-folder"], fJ = {
46570
+ }, mJ = ["data-room-folder", "data-drag-folder"], hJ = {
46532
46571
  key: 0,
46533
46572
  class: "channel-folder-row"
46534
- }, pJ = [
46573
+ }, gJ = [
46535
46574
  "disabled",
46536
46575
  "aria-label",
46537
46576
  "aria-expanded",
46538
46577
  "onKeydown",
46539
46578
  "onClick"
46540
- ], mJ = { class: "channel-folder-name" }, hJ = { class: "channel-folder-actions" }, gJ = {
46579
+ ], _J = { class: "channel-folder-name" }, vJ = { class: "channel-folder-actions" }, yJ = {
46541
46580
  class: "channel-directory-count",
46542
46581
  "aria-hidden": "true"
46543
- }, _J = ["data-drop-folder"], vJ = {
46582
+ }, bJ = ["data-drop-folder"], xJ = {
46544
46583
  key: 0,
46545
46584
  class: "channel-directory-empty",
46546
46585
  role: "status"
46547
- }, yJ = ["data-drag-room"], bJ = [
46586
+ }, SJ = ["data-drag-room"], CJ = [
46548
46587
  "aria-label",
46549
46588
  "disabled",
46550
46589
  "onKeydown"
46551
- ], xJ = [
46590
+ ], wJ = [
46552
46591
  "title",
46553
46592
  "aria-label",
46554
46593
  "aria-current",
46555
46594
  "onClick"
46556
- ], SJ = { class: "channel-room-actions" }, CJ = {
46595
+ ], TJ = { class: "channel-room-actions" }, EJ = {
46557
46596
  key: 0,
46558
46597
  class: "channel-directory-empty"
46559
- }, wJ = {
46598
+ }, DJ = { class: "channel-archive-count" }, OJ = {
46560
46599
  key: 0,
46561
46600
  role: "alert",
46562
46601
  class: "channel-directory-error"
46563
- }, TJ = {
46602
+ }, kJ = {
46564
46603
  __name: "ChannelDirectory",
46565
46604
  emits: [
46566
46605
  "select",
@@ -46737,8 +46776,8 @@ var YG = /*#__PURE__*/ nH({
46737
46776
  ];
46738
46777
  }
46739
46778
  return (e, t) => {
46740
- let u = uA, h = zk, v = EV, y = VV, b = aJ;
46741
- return U(), W("div", oJ, [
46779
+ let u = uA, h = zk, v = EV, y = VV, b = cJ;
46780
+ return U(), W("div", lJ, [
46742
46781
  q(u, {
46743
46782
  label: "新建对话",
46744
46783
  icon: "i-lucide-square-pen",
@@ -46748,12 +46787,12 @@ var YG = /*#__PURE__*/ nH({
46748
46787
  disabled: I(r).directory_pending.includes("create-room"),
46749
46788
  onClick: t[0] ||= (e) => n("create", null)
46750
46789
  }, null, 8, ["disabled"]),
46751
- K("div", sJ, [K("button", {
46790
+ K("div", uJ, [K("button", {
46752
46791
  type: "button",
46753
46792
  class: "channel-section-toggle",
46754
46793
  "aria-expanded": f.value,
46755
46794
  onClick: t[1] ||= (e) => f.value = !f.value
46756
- }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, cJ), K("div", lJ, [q(v, {
46795
+ }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, dJ), K("div", fJ, [q(v, {
46757
46796
  items: d.value,
46758
46797
  content: {
46759
46798
  align: "end",
@@ -46782,12 +46821,12 @@ var YG = /*#__PURE__*/ nH({
46782
46821
  }, null, 8, ["disabled"])]),
46783
46822
  _: 1
46784
46823
  })])]),
46785
- vr(K("nav", uJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
46824
+ vr(K("nav", pJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
46786
46825
  key: e.order_id,
46787
46826
  class: "channel-folder-section",
46788
46827
  "data-room-folder": e.id,
46789
46828
  "data-drag-folder": e.order_id
46790
- }, [e.id ? (U(), W("div", fJ, [
46829
+ }, [e.id ? (U(), W("div", hJ, [
46791
46830
  K("button", {
46792
46831
  class: "channel-folder-heading",
46793
46832
  "data-drop-folder": "",
@@ -46809,9 +46848,9 @@ var YG = /*#__PURE__*/ nH({
46809
46848
  }, [
46810
46849
  q(h, { name: p.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
46811
46850
  q(h, { name: "i-lucide-folder" }),
46812
- K("span", mJ, P(e.name), 1)
46813
- ], 40, pJ),
46814
- K("div", hJ, [q(v, {
46851
+ K("span", _J, P(e.name), 1)
46852
+ ], 40, gJ),
46853
+ K("div", vJ, [q(v, {
46815
46854
  items: m(e, s),
46816
46855
  content: {
46817
46856
  align: "start",
@@ -46845,12 +46884,12 @@ var YG = /*#__PURE__*/ nH({
46845
46884
  ])]),
46846
46885
  _: 2
46847
46886
  }, 1032, ["text"])]),
46848
- K("small", gJ, P(e.pending ? "保存中" : e.rooms.length), 1)
46887
+ K("small", yJ, P(e.pending ? "保存中" : e.rooms.length), 1)
46849
46888
  ])) : Y("", !0), !e.id || !p.value.has(e.id) ? (U(), W("div", {
46850
46889
  key: 1,
46851
46890
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
46852
46891
  "data-drop-folder": e.id ? void 0 : ""
46853
- }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", vJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
46892
+ }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", xJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
46854
46893
  key: s.id,
46855
46894
  items: _(s, c, s.folder_id || null, e.rooms.length),
46856
46895
  ui: { content: "channel-menu channel-topic-menu" }
@@ -46875,7 +46914,7 @@ var YG = /*#__PURE__*/ nH({
46875
46914
  direction: 1,
46876
46915
  folder_id: s.folder_id || null
46877
46916
  }), ["prevent"]), ["down"])]
46878
- }, [q(h, { name: "i-lucide-grip-vertical" })], 40, bJ),
46917
+ }, [q(h, { name: "i-lucide-grip-vertical" })], 40, CJ),
46879
46918
  K("button", {
46880
46919
  class: "channel-room-select",
46881
46920
  "data-drag-title": "",
@@ -46884,8 +46923,8 @@ var YG = /*#__PURE__*/ nH({
46884
46923
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
46885
46924
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
46886
46925
  onClick: (e) => n("select", s.id)
46887
- }, [K("span", null, P(s.title), 1)], 40, xJ),
46888
- K("div", SJ, [q(y, {
46926
+ }, [K("span", null, P(s.title), 1)], 40, wJ),
46927
+ K("div", TJ, [q(y, {
46889
46928
  text: s.archived ? "恢复频道" : "存档频道",
46890
46929
  ui: { content: "channel-topic-tooltip" }
46891
46930
  }, {
@@ -46926,74 +46965,75 @@ var YG = /*#__PURE__*/ nH({
46926
46965
  }, null, 8, ["aria-label"])]),
46927
46966
  _: 2
46928
46967
  }, 1032, ["items"])])
46929
- ], 10, yJ)]),
46968
+ ], 10, SJ)]),
46930
46969
  _: 2
46931
- }, 1032, ["items"]))), 128))], 10, _J)) : Y("", !0)], 8, dJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", CJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
46970
+ }, 1032, ["items"]))), 128))], 10, bJ)) : Y("", !0)], 8, mJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", EJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
46932
46971
  vr(q(u, {
46933
46972
  icon: "i-lucide-archive",
46934
- label: `已存档 · ${c.value}`,
46935
46973
  color: "neutral",
46936
46974
  variant: "ghost",
46937
- size: "xs",
46938
46975
  class: "channel-archive-toggle",
46939
46976
  "aria-haspopup": "dialog",
46940
46977
  onClick: t[6] ||= (e) => n("archives")
46941
- }, null, 8, ["label"]), [[Vc, f.value]]),
46942
- I(r).directory_error ? (U(), W("p", wJ, P(I(r).directory_error), 1)) : Y("", !0)
46978
+ }, {
46979
+ default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), K("small", DJ, P(c.value), 1)]),
46980
+ _: 1
46981
+ }, 512), [[Vc, f.value]]),
46982
+ I(r).directory_error ? (U(), W("p", OJ, P(I(r).directory_error), 1)) : Y("", !0)
46943
46983
  ]);
46944
46984
  };
46945
46985
  }
46946
- }, EJ = {
46986
+ }, AJ = {
46947
46987
  key: 0,
46948
46988
  class: "pb-header"
46949
- }, DJ = { class: "pb-mode" }, OJ = { class: "pb-status-line" }, kJ = { role: "status" }, AJ = {
46989
+ }, jJ = { class: "pb-mode" }, MJ = { class: "pb-status-line" }, NJ = { role: "status" }, PJ = {
46950
46990
  key: 0,
46951
46991
  class: "pb-mode"
46952
- }, jJ = {
46992
+ }, FJ = {
46953
46993
  key: 0,
46954
46994
  class: "pb-status-detail"
46955
- }, MJ = {
46995
+ }, IJ = {
46956
46996
  key: 1,
46957
46997
  class: "pb-status-detail"
46958
- }, NJ = { class: "pb-error-detail" }, PJ = {
46998
+ }, LJ = { class: "pb-error-detail" }, RJ = {
46959
46999
  key: 2,
46960
47000
  class: "pb-meters"
46961
- }, FJ = { class: "pb-meter-label" }, IJ = {
47001
+ }, zJ = { class: "pb-meter-label" }, BJ = {
46962
47002
  key: 0,
46963
47003
  class: "pb-bar"
46964
- }, LJ = {
47004
+ }, VJ = {
46965
47005
  key: 1,
46966
47006
  class: "pb-section",
46967
47007
  "aria-label": "当前焦点"
46968
- }, RJ = {
47008
+ }, HJ = {
46969
47009
  class: "pb-section",
46970
47010
  "aria-label": "参与者"
46971
- }, zJ = {
47011
+ }, UJ = {
46972
47012
  key: 0,
46973
47013
  class: "pb-status-detail pb-held"
46974
- }, BJ = { class: "pb-members" }, VJ = { class: "pb-member-body" }, HJ = { class: "pb-member-name" }, UJ = {
47014
+ }, WJ = { class: "pb-members" }, GJ = { class: "pb-member-body" }, KJ = { class: "pb-member-name" }, qJ = {
46975
47015
  class: "pb-member-model",
46976
47016
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
46977
- }, WJ = { key: 0 }, GJ = {
47017
+ }, JJ = { key: 0 }, YJ = {
46978
47018
  key: 2,
46979
47019
  class: "pb-actions",
46980
47020
  "aria-label": "操作"
46981
- }, KJ = {
47021
+ }, XJ = {
46982
47022
  key: 3,
46983
47023
  class: "pb-section",
46984
47024
  "aria-label": "阶段耗时"
46985
- }, qJ = { class: "pb-timing-heading" }, JJ = ["aria-label"], YJ = { class: "pb-timing-totals" }, XJ = ["title"], ZJ = { class: "pb-timings" }, QJ = { class: "pb-timing-who" }, $J = { class: "pb-timing-stages" }, eY = ["title"], tY = {
47025
+ }, ZJ = { class: "pb-timing-heading" }, QJ = ["aria-label"], $J = { class: "pb-timing-totals" }, eY = ["title"], tY = { class: "pb-timings" }, nY = { class: "pb-timing-who" }, rY = { class: "pb-timing-stages" }, iY = ["title"], aY = {
46986
47026
  key: 0,
46987
47027
  class: "pb-note"
46988
- }, nY = { class: "pb-connection" }, rY = { class: "fine-print" }, iY = {
47028
+ }, oY = { class: "pb-connection" }, sY = { class: "fine-print" }, cY = {
46989
47029
  key: 0,
46990
47030
  role: "status",
46991
47031
  class: "fine-print"
46992
- }, aY = {
47032
+ }, lY = {
46993
47033
  key: 2,
46994
47034
  role: "alert",
46995
47035
  class: "fine-print"
46996
- }, oY = { key: 2 }, sY = { class: "progress-ending" }, cY = ["disabled"], lY = { key: 0 }, uY = ["disabled"], dY = 90, fY = 100, pY = /*#__PURE__*/ nH({
47036
+ }, uY = { key: 2 }, dY = { class: "progress-ending" }, fY = ["disabled"], pY = { key: 0 }, mY = ["disabled"], hY = 90, gY = 100, _Y = /*#__PURE__*/ nH({
46997
47037
  __name: "ProgressBoard",
46998
47038
  props: { docked: {
46999
47039
  type: Boolean,
@@ -47030,7 +47070,7 @@ var YG = /*#__PURE__*/ nH({
47030
47070
  "initial",
47031
47071
  "discussing",
47032
47072
  "reviewing"
47033
- ].includes(m.value.phase) && !m.value.archived), w = Z(() => (C.value || m.value.phase === "paused") && !m.value.archived), T = Z(() => C.value || S.value || w.value), E = Z(() => !y.value && m.value.phase !== "preparing" && !m.value.archived && !h.value.closing), D = Z(() => [m.value.host, ...Object.keys(m.value.experts || {}).filter((e) => e !== m.value.host)].filter((e) => e && e !== "用户").map(A)), O = Z(() => D.value.find((e) => e.result)), ee = Z(() => v.value?.question || m.value.focus || m.value.goal || ""), te = Z(() => ee.value.length > dY), k = Z(() => g.value.timings || {
47073
+ ].includes(m.value.phase) && !m.value.archived), w = Z(() => (C.value || m.value.phase === "paused") && !m.value.archived), T = Z(() => C.value || S.value || w.value), E = Z(() => !y.value && m.value.phase !== "preparing" && !m.value.archived && !h.value.closing), D = Z(() => [m.value.host, ...Object.keys(m.value.experts || {}).filter((e) => e !== m.value.host)].filter((e) => e && e !== "用户").map(A)), O = Z(() => D.value.find((e) => e.result)), ee = Z(() => v.value?.question || m.value.focus || m.value.goal || ""), te = Z(() => ee.value.length > hY), k = Z(() => g.value.timings || {
47034
47074
  items: [],
47035
47075
  totals: {},
47036
47076
  count: 0
@@ -47064,7 +47104,7 @@ var YG = /*#__PURE__*/ nH({
47064
47104
  if (e.phase === "paused") {
47065
47105
  let e = O.value;
47066
47106
  if (e) {
47067
- let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > fY ? `${n.slice(0, fY)}…` : n;
47107
+ let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > gY ? `${n.slice(0, gY)}…` : n;
47068
47108
  return {
47069
47109
  tone: "error",
47070
47110
  title: "已暂停",
@@ -47158,24 +47198,24 @@ var YG = /*#__PURE__*/ nH({
47158
47198
  return (e, l) => {
47159
47199
  let u = Gk, d = zk, O = uA, A = EV, se = pV, j = MV, pe = EG;
47160
47200
  return U(), W("div", { class: M(["progress-board", { "is-docked": t.docked }]) }, [
47161
- t.docked ? (U(), W("header", EJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", DJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47201
+ t.docked ? (U(), W("header", AJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", jJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47162
47202
  K("section", {
47163
47203
  class: M(["pb-status", `is-${ie.value.tone}`]),
47164
47204
  "aria-label": "讨论状态"
47165
47205
  }, [
47166
- K("div", OJ, [
47206
+ K("div", MJ, [
47167
47207
  l[12] ||= K("span", { class: "pb-dot" }, null, -1),
47168
- K("strong", kJ, P(ie.value.title), 1),
47169
- t.docked ? Y("", !0) : (U(), W("span", AJ, P(_.value ? "全自动" : "手动"), 1))
47208
+ K("strong", NJ, P(ie.value.title), 1),
47209
+ t.docked ? Y("", !0) : (U(), W("span", PJ, P(_.value ? "全自动" : "手动"), 1))
47170
47210
  ]),
47171
- ie.value.detail ? (U(), W("p", jJ, P(ie.value.detail), 1)) : Y("", !0),
47172
- ie.value.full_detail ? (U(), W("details", MJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", NJ, P(ie.value.full_detail), 1)])) : Y("", !0),
47173
- ae.value.length ? (U(), W("div", PJ, [(U(!0), W(H, null, B(ae.value, (e) => (U(), W("div", {
47211
+ ie.value.detail ? (U(), W("p", FJ, P(ie.value.detail), 1)) : Y("", !0),
47212
+ ie.value.full_detail ? (U(), W("details", IJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", LJ, P(ie.value.full_detail), 1)])) : Y("", !0),
47213
+ ae.value.length ? (U(), W("div", RJ, [(U(!0), W(H, null, B(ae.value, (e) => (U(), W("div", {
47174
47214
  key: e.label,
47175
47215
  class: "pb-meter"
47176
- }, [K("div", FJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", IJ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47216
+ }, [K("div", zJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", BJ, [K("i", { style: fe({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47177
47217
  ], 2),
47178
- ee.value ? (U(), W("section", LJ, [
47218
+ ee.value ? (U(), W("section", VJ, [
47179
47219
  l[14] ||= K("h4", null, "当前焦点", -1),
47180
47220
  K("p", { class: M(["pb-focus", { "is-expanded": s.value }]) }, P(ee.value), 3),
47181
47221
  te.value ? (U(), W("button", {
@@ -47185,10 +47225,10 @@ var YG = /*#__PURE__*/ nH({
47185
47225
  onClick: l[0] ||= (e) => s.value = !s.value
47186
47226
  }, P(s.value ? "收起" : "展开"), 1)) : Y("", !0)
47187
47227
  ])) : Y("", !0),
47188
- K("section", RJ, [
47228
+ K("section", HJ, [
47189
47229
  l[16] ||= K("h4", null, "参与者", -1),
47190
- m.value.held_since && v.value && !y.value ? (U(), W("p", zJ, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47191
- K("ul", BJ, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47230
+ m.value.held_since && v.value && !y.value ? (U(), W("p", UJ, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47231
+ K("ul", WJ, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47192
47232
  key: e.name,
47193
47233
  class: "pb-member"
47194
47234
  }, [
@@ -47204,8 +47244,8 @@ var YG = /*#__PURE__*/ nH({
47204
47244
  "alt",
47205
47245
  "class"
47206
47246
  ]),
47207
- K("div", VJ, [
47208
- K("div", HJ, [
47247
+ K("div", GJ, [
47248
+ K("div", KJ, [
47209
47249
  J(P(I(r).display_name(e.name)), 1),
47210
47250
  e.is_host ? (U(), G(d, {
47211
47251
  key: 0,
@@ -47214,14 +47254,14 @@ var YG = /*#__PURE__*/ nH({
47214
47254
  })) : Y("", !0),
47215
47255
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
47216
47256
  ]),
47217
- K("div", UJ, P(e.model), 1),
47257
+ K("div", qJ, P(e.model), 1),
47218
47258
  x.value ? Y("", !0) : (U(), W("div", {
47219
47259
  key: 0,
47220
47260
  class: M(["pb-member-status", `is-${e.tone}`])
47221
47261
  }, [
47222
47262
  l[15] ||= K("span", { class: "pb-dot" }, null, -1),
47223
47263
  J(P(e.text), 1),
47224
- e.failures ? (U(), W("small", WJ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47264
+ e.failures ? (U(), W("small", JJ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47225
47265
  ], 2))
47226
47266
  ]),
47227
47267
  e.session ? (U(), G(A, {
@@ -47242,7 +47282,7 @@ var YG = /*#__PURE__*/ nH({
47242
47282
  }, 1032, ["items"])) : Y("", !0)
47243
47283
  ]))), 128))])
47244
47284
  ]),
47245
- T.value ? (U(), W("section", GJ, [
47285
+ T.value ? (U(), W("section", YJ, [
47246
47286
  S.value ? (U(), G(O, {
47247
47287
  key: 0,
47248
47288
  icon: "i-lucide-rotate-ccw",
@@ -47291,8 +47331,8 @@ var YG = /*#__PURE__*/ nH({
47291
47331
  onClick: l[4] ||= (e) => o.value = !0
47292
47332
  })) : Y("", !0)
47293
47333
  ])) : Y("", !0),
47294
- _.value && k.value.count ? (U(), W("section", KJ, [
47295
- K("div", qJ, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(k.value.count) + " 次执行", 1)]),
47334
+ _.value && k.value.count ? (U(), W("section", XJ, [
47335
+ K("div", ZJ, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(k.value.count) + " 次执行", 1)]),
47296
47336
  K("div", {
47297
47337
  class: "pb-timing-bar",
47298
47338
  role: "img",
@@ -47301,18 +47341,18 @@ var YG = /*#__PURE__*/ nH({
47301
47341
  key: e.key,
47302
47342
  class: M(`is-${e.key}`),
47303
47343
  style: fe({ width: `${e.percent}%` })
47304
- }, null, 6))), 128))], 8, JJ),
47305
- K("dl", YJ, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47344
+ }, null, 6))), 128))], 8, QJ),
47345
+ K("dl", $J, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47306
47346
  key: e.key,
47307
47347
  title: e.hint
47308
- }, [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(ue(e.seconds)), 1), K("small", null, P(e.percent) + "%", 1)])], 8, XJ))), 128))]),
47309
- K("details", ZJ, [
47348
+ }, [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(ue(e.seconds)), 1), K("small", null, P(e.percent) + "%", 1)])], 8, eY))), 128))]),
47349
+ K("details", tY, [
47310
47350
  l[18] ||= K("summary", null, "查看每次执行", -1),
47311
- K("ol", null, [(U(!0), W(H, null, B(k.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", QJ, [J("#" + P(e.id) + " " + P(I(r).display_name(e.participant)), 1), K("small", null, P(e.role === "host" ? "主持" : "专家") + " · " + P(p[e.status] || e.status), 1)]), K("span", $J, [(U(), W(H, null, B(f, (t) => K("span", {
47351
+ K("ol", null, [(U(!0), W(H, null, B(k.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", nY, [J("#" + P(e.id) + " " + P(I(r).display_name(e.participant)), 1), K("small", null, P(e.role === "host" ? "主持" : "专家") + " · " + P(p[e.status] || e.status), 1)]), K("span", rY, [(U(), W(H, null, B(f, (t) => K("span", {
47312
47352
  key: t.key,
47313
47353
  title: t.hint
47314
- }, P(t.label) + " " + P(ue(e[t.key])), 9, eY)), 64))])]))), 128))]),
47315
- k.value.count > k.value.items.length ? (U(), W("p", tY, "只列出最近 " + P(k.value.items.length) + " 次,共 " + P(k.value.count) + " 次执行。", 1)) : Y("", !0)
47354
+ }, P(t.label) + " " + P(ue(e[t.key])), 9, iY)), 64))])]))), 128))]),
47355
+ k.value.count > k.value.items.length ? (U(), W("p", aY, "只列出最近 " + P(k.value.items.length) + " 次,共 " + P(k.value.count) + " 次执行。", 1)) : Y("", !0)
47316
47356
  ])
47317
47357
  ])) : Y("", !0),
47318
47358
  q(pe, {
@@ -47325,7 +47365,7 @@ var YG = /*#__PURE__*/ nH({
47325
47365
  body: "dialog-body"
47326
47366
  }
47327
47367
  }, {
47328
- body: L(() => [K("div", nY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47368
+ body: L(() => [K("div", oY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47329
47369
  label: "暂停并读取配置",
47330
47370
  icon: "i-lucide-pause",
47331
47371
  class: "channel-primary-button",
@@ -47348,7 +47388,7 @@ var YG = /*#__PURE__*/ nH({
47348
47388
  }, null, 8, ["model-value", "disabled"])]),
47349
47389
  _: 1
47350
47390
  }),
47351
- K("p", rY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47391
+ K("p", sY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47352
47392
  q(O, {
47353
47393
  label: "保存接入方式",
47354
47394
  class: "channel-primary-button",
@@ -47356,7 +47396,7 @@ var YG = /*#__PURE__*/ nH({
47356
47396
  disabled: !!I(a),
47357
47397
  onClick: l[6] ||= (e) => I(i)("save_room_configuration")
47358
47398
  }, null, 8, ["loading", "disabled"]),
47359
- I(n).launch.repair?.notice ? (U(), W("p", iY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47399
+ I(n).launch.repair?.notice ? (U(), W("p", cY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47360
47400
  ], 64)) : (U(), G(O, {
47361
47401
  key: 1,
47362
47402
  label: "读取本场配置",
@@ -47364,7 +47404,7 @@ var YG = /*#__PURE__*/ nH({
47364
47404
  color: "neutral",
47365
47405
  loading: !!I(a),
47366
47406
  onClick: ce
47367
- }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", aY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", oY, "本场状态已变化,请关闭后重新核对。"))])]),
47407
+ }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", lY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", uY, "本场状态已变化,请关闭后重新核对。"))])]),
47368
47408
  _: 1
47369
47409
  }, 8, ["open"]),
47370
47410
  q(pe, {
@@ -47377,7 +47417,7 @@ var YG = /*#__PURE__*/ nH({
47377
47417
  body: "dialog-body"
47378
47418
  }
47379
47419
  }, {
47380
- body: L(() => [K("div", sY, [K("button", {
47420
+ body: L(() => [K("div", dY, [K("button", {
47381
47421
  type: "button",
47382
47422
  class: "progress-ending-option",
47383
47423
  disabled: !E.value || !!I(a),
@@ -47385,19 +47425,19 @@ var YG = /*#__PURE__*/ nH({
47385
47425
  }, [
47386
47426
  l[20] ||= K("strong", null, "请主持人收尾", -1),
47387
47427
  K("span", null, "立即进入收束,由 " + P(I(r).display_name(m.value.host)) + " 在 " + P(h.value.summary_minutes || 5) + " 分钟收束预留内根据已有材料总结。", 1),
47388
- E.value ? Y("", !0) : (U(), W("small", lY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47389
- ], 8, cY), K("button", {
47428
+ E.value ? Y("", !0) : (U(), W("small", pY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47429
+ ], 8, fY), K("button", {
47390
47430
  type: "button",
47391
47431
  class: "progress-ending-option",
47392
47432
  disabled: b.value || !!I(a),
47393
47433
  onClick: l[9] ||= (e) => de("conclude_discussion")
47394
- }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, uY)])]),
47434
+ }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, mY)])]),
47395
47435
  _: 1
47396
47436
  }, 8, ["open"])
47397
47437
  ], 2);
47398
47438
  };
47399
47439
  }
47400
- }, [["__scopeId", "data-v-9928cf63"]]), mY = { class: "progress-panel-anchor" }, hY = ["aria-expanded", "aria-label"], gY = { class: "progress-chip-text" }, _Y = { class: "progress-chip-rounds" }, vY = {
47440
+ }, [["__scopeId", "data-v-9928cf63"]]), vY = { class: "progress-panel-anchor" }, yY = ["aria-expanded", "aria-label"], bY = { class: "progress-chip-text" }, xY = { class: "progress-chip-rounds" }, SY = {
47401
47441
  __name: "ProgressPanel",
47402
47442
  setup(e) {
47403
47443
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -47427,7 +47467,7 @@ var YG = /*#__PURE__*/ nH({
47427
47467
  }), s = Z(() => a.value.max_rounds ? `${a.value.completed_rounds || 0}/${a.value.max_rounds} 轮` : n.progress_round(i.value)), c = Z(() => `${o.value.title} · ${s.value}`);
47428
47468
  return (e, t) => {
47429
47469
  let n = VV, a = dV;
47430
- return U(), W("div", mY, [q(n, { text: "查看讨论进度" }, {
47470
+ return U(), W("div", vY, [q(n, { text: "查看讨论进度" }, {
47431
47471
  default: L(() => [K("button", {
47432
47472
  type: "button",
47433
47473
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -47435,7 +47475,7 @@ var YG = /*#__PURE__*/ nH({
47435
47475
  "aria-expanded": r.value,
47436
47476
  "aria-label": `查看讨论进度:${c.value}`,
47437
47477
  onClick: t[0] ||= (e) => r.value = !0
47438
- }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", gY, [J(P(o.value.title), 1), K("span", _Y, " · " + P(s.value), 1)])], 10, hY)]),
47478
+ }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", bY, [J(P(o.value.title), 1), K("span", xY, " · " + P(s.value), 1)])], 10, yY)]),
47439
47479
  _: 1
47440
47480
  }), q(a, {
47441
47481
  open: r.value,
@@ -47448,98 +47488,98 @@ var YG = /*#__PURE__*/ nH({
47448
47488
  body: "progress-drawer-body"
47449
47489
  }
47450
47490
  }, {
47451
- body: L(() => [q(pY)]),
47491
+ body: L(() => [q(_Y)]),
47452
47492
  _: 1
47453
47493
  }, 8, ["open", "description"])]);
47454
47494
  };
47455
47495
  }
47456
- }, yY = {
47496
+ }, CY = {
47457
47497
  id: "channel-sidebar",
47458
47498
  class: "channel-sidebar",
47459
47499
  "aria-label": "频道导航"
47460
- }, bY = { class: "channel-workspace-heading" }, xY = { class: "channel-brand-icon" }, SY = { class: "channel-sidebar-content" }, CY = { class: "channel-directory-heading channel-tools-heading" }, wY = ["aria-expanded"], TY = { class: "channel-sidebar-footer" }, EY = { class: "channel-self" }, DY = { class: "channel-connection" }, OY = [
47500
+ }, wY = { class: "channel-workspace-heading" }, TY = { class: "channel-brand-icon" }, EY = { class: "channel-sidebar-content" }, DY = { class: "channel-directory-heading channel-tools-heading" }, OY = ["aria-expanded"], kY = { class: "channel-sidebar-footer" }, AY = { class: "channel-self" }, jY = { class: "channel-connection" }, MY = [
47461
47501
  "aria-valuemax",
47462
47502
  "aria-valuenow",
47463
47503
  "aria-valuetext"
47464
- ], kY = { class: "channel-main" }, AY = { class: "channel-header" }, jY = { class: "channel-title-icon" }, MY = { class: "channel-title" }, NY = { class: "channel-title-copy" }, PY = ["title"], FY = ["title"], IY = {
47504
+ ], NY = { class: "channel-main" }, PY = { class: "channel-header" }, FY = { class: "channel-title-icon" }, IY = { class: "channel-title" }, LY = { class: "channel-title-copy" }, RY = ["title"], zY = ["title"], BY = {
47465
47505
  key: 0,
47466
47506
  class: "channel-header-context"
47467
- }, LY = { class: "channel-header-actions" }, RY = {
47507
+ }, VY = { class: "channel-header-actions" }, HY = {
47468
47508
  key: 0,
47469
47509
  class: "channel-launch-recovery",
47470
47510
  "aria-label": "未完成的创建或启动请求"
47471
- }, zY = { role: "status" }, BY = { class: "button-row" }, VY = {
47511
+ }, UY = { role: "status" }, WY = { class: "button-row" }, GY = {
47472
47512
  key: 1,
47473
47513
  class: "channel-tabbar"
47474
- }, HY = { class: "channel-brief-inner" }, UY = { class: "channel-brief-heading" }, WY = ["aria-label", "aria-expanded"], GY = {
47514
+ }, KY = { class: "channel-brief-inner" }, qY = { class: "channel-brief-heading" }, JY = ["aria-label", "aria-expanded"], YY = {
47475
47515
  key: 0,
47476
47516
  class: "channel-brief-preview"
47477
- }, KY = {
47517
+ }, XY = {
47478
47518
  id: "channel-brief-content",
47479
47519
  class: "channel-brief-content"
47480
- }, qY = ["innerHTML"], JY = { class: "channel-brief-footer" }, YY = { class: "channel-brief-status" }, XY = { class: "channel-content" }, ZY = {
47520
+ }, ZY = ["innerHTML"], QY = { class: "channel-brief-footer" }, $Y = { class: "channel-brief-status" }, eX = { class: "channel-content" }, tX = {
47481
47521
  key: 0,
47482
47522
  class: "content-page channel-summary",
47483
47523
  role: "tabpanel",
47484
47524
  "aria-label": "共识"
47485
- }, QY = { class: "page-heading" }, $Y = {
47525
+ }, nX = { class: "page-heading" }, rX = {
47486
47526
  key: 0,
47487
47527
  class: "info-section"
47488
- }, eX = { class: "button-row" }, tX = { class: "form-footer" }, nX = {
47528
+ }, iX = { class: "button-row" }, aX = { class: "form-footer" }, oX = {
47489
47529
  key: 4,
47490
47530
  class: "channel-empty"
47491
- }, rX = ["aria-valuenow", "aria-valuetext"], iX = {
47531
+ }, sX = ["aria-valuenow", "aria-valuetext"], cX = {
47492
47532
  key: 2,
47493
47533
  id: "channel-member-rail",
47494
47534
  class: "channel-member-rail",
47495
47535
  "aria-label": "当前焦点与讨论进度"
47496
- }, aX = { class: "channel-rail-board" }, oX = {
47536
+ }, lX = { class: "channel-rail-board" }, uX = {
47497
47537
  key: 0,
47498
47538
  class: "progress-board is-docked"
47499
- }, sX = { class: "pb-header" }, cX = { class: "pb-mode" }, lX = {
47539
+ }, dX = { class: "pb-header" }, fX = { class: "pb-mode" }, pX = {
47500
47540
  class: "pb-section",
47501
47541
  "aria-label": "成员"
47502
- }, uX = { class: "pb-members" }, dX = { class: "pb-member-body" }, fX = { class: "pb-member-name" }, pX = {
47542
+ }, mX = { class: "pb-members" }, hX = { class: "pb-member-body" }, gX = { class: "pb-member-name" }, _X = {
47503
47543
  key: 0,
47504
47544
  class: "pb-member-model",
47505
47545
  title: "它工作时请不要在原窗口继续操作"
47506
- }, mX = {
47546
+ }, vX = {
47507
47547
  key: 0,
47508
47548
  class: "pb-section",
47509
47549
  "aria-label": "提示"
47510
- }, hX = {
47550
+ }, yX = {
47511
47551
  key: 0,
47512
47552
  role: "alert",
47513
47553
  class: "pb-free-note is-error"
47514
- }, gX = {
47554
+ }, bX = {
47515
47555
  key: 1,
47516
47556
  role: "status",
47517
47557
  class: "pb-free-note"
47518
- }, _X = {
47558
+ }, xX = {
47519
47559
  key: 2,
47520
47560
  role: "alert",
47521
47561
  class: "pb-free-note is-error"
47522
- }, vX = {
47562
+ }, SX = {
47523
47563
  key: 3,
47524
47564
  role: "status",
47525
47565
  class: "pb-free-note"
47526
- }, yX = {
47566
+ }, CX = {
47527
47567
  class: "pb-section",
47528
47568
  "aria-label": "邀请"
47529
- }, bX = {
47569
+ }, wX = {
47530
47570
  key: 0,
47531
47571
  class: "pb-free-note"
47532
- }, xX = {
47572
+ }, TX = {
47533
47573
  key: 1,
47534
47574
  class: "pb-section",
47535
47575
  "aria-label": "头脑风暴"
47536
- }, SX = ["onClick"], CX = {
47576
+ }, EX = ["onClick"], DX = {
47537
47577
  class: "pb-actions",
47538
47578
  "aria-label": "操作"
47539
- }, wX = {
47579
+ }, OX = {
47540
47580
  key: 2,
47541
47581
  class: "progress-board is-docked"
47542
- }, TX = { class: "channel-detail-title" }, EX = { class: "info-section" }, DX = "ai-codiscuss-channel-layout", OX = 220, kX = 440, AX = 280, jX = 16, MX = 180, NX = 400, PX = 248, FX = 16, IX = 480, LX = 1200, RX = 6, zX = {
47582
+ }, kX = { class: "channel-detail-title" }, AX = { class: "info-section" }, jX = "ai-codiscuss-channel-layout", MX = 220, NX = 440, PX = 280, FX = 16, IX = 180, LX = 400, RX = 248, zX = 16, BX = 480, VX = 1200, HX = 6, UX = {
47543
47583
  __name: "ChannelWorkspace",
47544
47584
  setup(e) {
47545
47585
  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 = {
@@ -47555,13 +47595,13 @@ var YG = /*#__PURE__*/ nH({
47555
47595
  label: "宽",
47556
47596
  width: 1240
47557
47597
  }
47558
- }, y = Oe(), b = /* @__PURE__ */ F(y.reading), x = /* @__PURE__ */ F(y.rail), S = /* @__PURE__ */ F(y.nav), C = /* @__PURE__ */ F(typeof window > "u" ? 734 : window.innerWidth), w = /* @__PURE__ */ F(y.collapsed), T = /* @__PURE__ */ F(!0), E = /* @__PURE__ */ F(y.rail_collapsed), D = Z(() => C.value >= LX), O = Z(() => t.value.tab === "discussion" && !E.value), ee = Z(() => D.value && t.value.tab === "discussion" ? E.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), te = Z(() => {
47598
+ }, y = Oe(), b = /* @__PURE__ */ F(y.reading), x = /* @__PURE__ */ F(y.rail), S = /* @__PURE__ */ F(y.nav), C = /* @__PURE__ */ F(typeof window > "u" ? 734 : window.innerWidth), w = /* @__PURE__ */ F(y.collapsed), T = /* @__PURE__ */ F(!0), E = /* @__PURE__ */ F(y.rail_collapsed), D = Z(() => C.value >= VX), O = Z(() => t.value.tab === "discussion" && !E.value), ee = Z(() => D.value && t.value.tab === "discussion" ? E.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), te = Z(() => {
47559
47599
  let e = document.createElement("template");
47560
47600
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
47561
- }), k = /* @__PURE__ */ F(null), ne = /* @__PURE__ */ F(null), re = Z(() => Math.min(NX, Math.max(MX, C.value - IX - RX))), ie = Z(() => Math.min(S.value, re.value)), ae = Z(() => ({
47601
+ }), k = /* @__PURE__ */ F(null), ne = /* @__PURE__ */ F(null), re = Z(() => Math.min(LX, Math.max(IX, C.value - BX - HX))), ie = Z(() => Math.min(S.value, re.value)), ae = Z(() => ({
47562
47602
  "--channel-reading-width": `${v[b.value].width}px`,
47563
47603
  "--channel-rail-width": `${x.value}px`,
47564
- "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${RX}px minmax(0, 1fr)`
47604
+ "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${HX}px minmax(0, 1fr)`
47565
47605
  })), A = Object.entries(v).map(([e, t]) => ({
47566
47606
  value: e,
47567
47607
  label: t.label
@@ -47695,11 +47735,11 @@ var YG = /*#__PURE__*/ nH({
47695
47735
  }
47696
47736
  function Oe() {
47697
47737
  try {
47698
- let e = JSON.parse(localStorage.getItem(DX)) || {};
47738
+ let e = JSON.parse(localStorage.getItem(jX)) || {};
47699
47739
  return {
47700
47740
  reading: Object.hasOwn(v, e.reading) ? e.reading : "default",
47701
- rail: Number.isFinite(e.rail) ? Math.min(kX, Math.max(OX, e.rail)) : AX,
47702
- nav: Number.isFinite(e.nav) ? Math.min(NX, Math.max(MX, e.nav)) : ke(),
47741
+ rail: Number.isFinite(e.rail) ? Math.min(NX, Math.max(MX, e.rail)) : PX,
47742
+ nav: Number.isFinite(e.nav) ? Math.min(LX, Math.max(IX, e.nav)) : ke(),
47703
47743
  collapsed: e.collapsed === !0,
47704
47744
  brief_collapsed: e.brief_collapsed === !0,
47705
47745
  rail_collapsed: e.rail_collapsed === !0
@@ -47707,7 +47747,7 @@ var YG = /*#__PURE__*/ nH({
47707
47747
  } catch {
47708
47748
  return {
47709
47749
  reading: "default",
47710
- rail: AX,
47750
+ rail: PX,
47711
47751
  nav: ke(),
47712
47752
  collapsed: !1,
47713
47753
  brief_collapsed: !1,
@@ -47716,11 +47756,11 @@ var YG = /*#__PURE__*/ nH({
47716
47756
  }
47717
47757
  }
47718
47758
  function ke() {
47719
- return typeof window > "u" ? PX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : PX;
47759
+ return typeof window > "u" ? RX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : RX;
47720
47760
  }
47721
47761
  function Ae() {
47722
47762
  try {
47723
- localStorage.setItem(DX, JSON.stringify({
47763
+ localStorage.setItem(jX, JSON.stringify({
47724
47764
  reading: b.value,
47725
47765
  rail: x.value,
47726
47766
  nav: S.value,
@@ -47750,19 +47790,19 @@ var YG = /*#__PURE__*/ nH({
47750
47790
  }, e.currentTarget.setPointerCapture(e.pointerId));
47751
47791
  }
47752
47792
  function Ie(e) {
47753
- k.value?.pointer === e.pointerId && (x.value = Math.round(Math.min(kX, Math.max(OX, k.value.width + k.value.x - e.clientX))));
47793
+ k.value?.pointer === e.pointerId && (x.value = Math.round(Math.min(NX, Math.max(MX, k.value.width + k.value.x - e.clientX))));
47754
47794
  }
47755
47795
  function Le(e) {
47756
47796
  k.value?.pointer === e.pointerId && (k.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47757
47797
  }
47758
47798
  function Re(e) {
47759
47799
  let t = {
47760
- ArrowLeft: x.value + jX,
47761
- ArrowRight: x.value - jX,
47762
- Home: OX,
47763
- End: kX
47800
+ ArrowLeft: x.value + FX,
47801
+ ArrowRight: x.value - FX,
47802
+ Home: MX,
47803
+ End: NX
47764
47804
  };
47765
- Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(kX, Math.max(OX, t[e.key])), Ae());
47805
+ Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(NX, Math.max(MX, t[e.key])), Ae());
47766
47806
  }
47767
47807
  function ze(e) {
47768
47808
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ne.value = {
@@ -47772,19 +47812,19 @@ var YG = /*#__PURE__*/ nH({
47772
47812
  }, e.currentTarget.setPointerCapture(e.pointerId));
47773
47813
  }
47774
47814
  function Be(e) {
47775
- ne.value?.pointer === e.pointerId && (S.value = Math.round(Math.min(re.value, Math.max(MX, ne.value.width + e.clientX - ne.value.x))));
47815
+ ne.value?.pointer === e.pointerId && (S.value = Math.round(Math.min(re.value, Math.max(IX, ne.value.width + e.clientX - ne.value.x))));
47776
47816
  }
47777
47817
  function Ve(e) {
47778
47818
  ne.value?.pointer === e.pointerId && (ne.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47779
47819
  }
47780
47820
  function He(e) {
47781
47821
  let t = {
47782
- ArrowLeft: ie.value - FX,
47783
- ArrowRight: ie.value + FX,
47784
- Home: MX,
47822
+ ArrowLeft: ie.value - zX,
47823
+ ArrowRight: ie.value + zX,
47824
+ Home: IX,
47785
47825
  End: re.value
47786
47826
  };
47787
- Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(MX, t[e.key])), Ae());
47827
+ Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(IX, t[e.key])), Ae());
47788
47828
  }
47789
47829
  return (e, r) => {
47790
47830
  let v = zk, y = GV, S = Gk, C = uA, E = VV, se = LV, me = xV, Oe = zV, ke = FV, Ae = MV, Me = EV, Pe = pV, Ue = dV, We = cV;
@@ -47796,14 +47836,14 @@ var YG = /*#__PURE__*/ nH({
47796
47836
  }]),
47797
47837
  style: fe(ae.value)
47798
47838
  }, [
47799
- K("aside", yY, [
47800
- K("header", bY, [
47801
- K("span", xY, [q(v, { name: "i-lucide-messages-square" })]),
47839
+ K("aside", CY, [
47840
+ K("header", wY, [
47841
+ K("span", TY, [q(v, { name: "i-lucide-messages-square" })]),
47802
47842
  r[26] ||= K("strong", null, "共议", -1),
47803
47843
  r[27] ||= K("span", null, "AI CoDiscuss", -1)
47804
47844
  ]),
47805
- K("div", SY, [
47806
- q(TJ, {
47845
+ K("div", EY, [
47846
+ q(kJ, {
47807
47847
  onSelect: Se,
47808
47848
  onManage: be,
47809
47849
  onCreate: we,
@@ -47812,12 +47852,12 @@ var YG = /*#__PURE__*/ nH({
47812
47852
  onDeleteFolder: De,
47813
47853
  onArchives: xe
47814
47854
  }),
47815
- K("div", CY, [K("button", {
47855
+ K("div", DY, [K("button", {
47816
47856
  type: "button",
47817
47857
  class: "channel-section-toggle",
47818
47858
  "aria-expanded": f.value,
47819
47859
  onClick: r[0] ||= (e) => f.value = !f.value
47820
- }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, wY)]),
47860
+ }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, OY)]),
47821
47861
  f.value ? (U(), G(y, {
47822
47862
  key: 0,
47823
47863
  items: ve.value,
@@ -47833,7 +47873,7 @@ var YG = /*#__PURE__*/ nH({
47833
47873
  }
47834
47874
  }, null, 8, ["items"])) : Y("", !0)
47835
47875
  ]),
47836
- K("footer", TY, [
47876
+ K("footer", kY, [
47837
47877
  q(S, {
47838
47878
  src: I(n).identities[I(_)]?.icon,
47839
47879
  text: I(n).identities[I(_)]?.initials,
@@ -47846,7 +47886,7 @@ var YG = /*#__PURE__*/ nH({
47846
47886
  "alt",
47847
47887
  "class"
47848
47888
  ]),
47849
- K("div", EY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", DY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
47889
+ K("div", AY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", jY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
47850
47890
  q(E, { text: "外观设置" }, {
47851
47891
  default: L(() => [q(C, {
47852
47892
  icon: "i-lucide-settings-2",
@@ -47869,7 +47909,7 @@ var YG = /*#__PURE__*/ nH({
47869
47909
  "aria-label": "调整频道栏宽度",
47870
47910
  "aria-orientation": "vertical",
47871
47911
  "aria-controls": "channel-sidebar",
47872
- "aria-valuemin": MX,
47912
+ "aria-valuemin": IX,
47873
47913
  "aria-valuemax": re.value,
47874
47914
  "aria-valuenow": ie.value,
47875
47915
  "aria-valuetext": `${ie.value} 像素`,
@@ -47880,9 +47920,9 @@ var YG = /*#__PURE__*/ nH({
47880
47920
  onPointercancel: Ve,
47881
47921
  onLostpointercapture: Ve,
47882
47922
  onKeydown: He
47883
- }, null, 40, OY)),
47884
- K("main", kY, [
47885
- K("header", AY, [
47923
+ }, null, 40, MY)),
47924
+ K("main", NY, [
47925
+ K("header", PY, [
47886
47926
  q(E, { text: w.value ? "展开频道栏" : "收起频道栏" }, {
47887
47927
  default: L(() => [q(C, {
47888
47928
  icon: "i-lucide-panel-left",
@@ -47907,13 +47947,13 @@ var YG = /*#__PURE__*/ nH({
47907
47947
  "aria-expanded": d.value,
47908
47948
  onClick: r[3] ||= (e) => d.value = !0
47909
47949
  }, null, 8, ["aria-expanded"]),
47910
- K("span", jY, [q(v, { name: "i-lucide-hash" })]),
47911
- K("div", MY, [K("div", NY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, PY), o.value?.floor && !ce.value ? (U(), W("div", {
47950
+ K("span", FY, [q(v, { name: "i-lucide-hash" })]),
47951
+ K("div", IY, [K("div", LY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, RY), o.value?.floor && !ce.value ? (U(), W("div", {
47912
47952
  key: 0,
47913
47953
  class: M(["channel-floor-status", { "is-held": o.value.floor.holder }]),
47914
47954
  role: "status",
47915
47955
  title: `发言权:${I(n).floor_status(o.value)}`
47916
- }, [q(v, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, FY)) : Y("", !0)]), o.value?.archived ? (U(), G(se, {
47956
+ }, [q(v, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, zY)) : Y("", !0)]), o.value?.archived ? (U(), G(se, {
47917
47957
  key: 0,
47918
47958
  color: "neutral",
47919
47959
  variant: "subtle",
@@ -47922,12 +47962,12 @@ var YG = /*#__PURE__*/ nH({
47922
47962
  default: L(() => [...r[29] ||= [J("已存档", -1)]]),
47923
47963
  _: 1
47924
47964
  })) : Y("", !0)]),
47925
- o.value ? (U(), W("span", IY, [
47965
+ o.value ? (U(), W("span", BY, [
47926
47966
  J(P(le.value.find((e) => e.value === I(t).tab)?.label), 1),
47927
47967
  r[30] ||= K("span", null, "·", -1),
47928
47968
  J(P(o.value.message_count) + " 条记录", 1)
47929
47969
  ])) : Y("", !0),
47930
- K("div", LY, [
47970
+ K("div", VY, [
47931
47971
  I(t).tab === "discussion" ? (U(), W("form", {
47932
47972
  key: 0,
47933
47973
  class: "channel-search",
@@ -47985,7 +48025,7 @@ var YG = /*#__PURE__*/ nH({
47985
48025
  ])]),
47986
48026
  _: 1
47987
48027
  })) : Y("", !0),
47988
- o.value && !(O.value && D.value) ? (U(), G(vY, { key: 2 })) : Y("", !0)
48028
+ o.value && !(O.value && D.value) ? (U(), G(SY, { key: 2 })) : Y("", !0)
47989
48029
  ]),
47990
48030
  q(E, { text: ee.value }, {
47991
48031
  default: L(() => [q(C, {
@@ -48006,12 +48046,12 @@ var YG = /*#__PURE__*/ nH({
48006
48046
  _: 1
48007
48047
  }, 8, ["text"])
48008
48048
  ]),
48009
- I(t).launch.recoveries.length ? (U(), W("section", RY, [
48049
+ I(t).launch.recoveries.length ? (U(), W("section", HY, [
48010
48050
  r[31] ||= K("h2", null, "继续未完成的请求", -1),
48011
48051
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
48012
48052
  K("strong", null, P(e.title), 1),
48013
- K("p", zY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48014
- K("div", BY, [
48053
+ K("p", UY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48054
+ K("div", WY, [
48015
48055
  q(C, {
48016
48056
  label: e.direct ? "继续创建房间" : "继续本次启动",
48017
48057
  size: "sm",
@@ -48044,7 +48084,7 @@ var YG = /*#__PURE__*/ nH({
48044
48084
  ]))), 128)),
48045
48085
  r[32] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
48046
48086
  ])) : Y("", !0),
48047
- o.value ? (U(), W("div", VY, [q(Oe, {
48087
+ o.value ? (U(), W("div", GY, [q(Oe, {
48048
48088
  modelValue: oe.value,
48049
48089
  "onUpdate:modelValue": r[8] ||= (e) => oe.value = e,
48050
48090
  items: le.value,
@@ -48059,7 +48099,7 @@ var YG = /*#__PURE__*/ nH({
48059
48099
  key: 2,
48060
48100
  class: M(["channel-host-brief", { "is-collapsed": T.value }]),
48061
48101
  "aria-label": "主持简报"
48062
- }, [K("div", HY, [K("div", UY, [K("button", {
48102
+ }, [K("div", KY, [K("div", qY, [K("button", {
48063
48103
  type: "button",
48064
48104
  class: "channel-brief-toggle",
48065
48105
  "aria-label": T.value ? "展开主持简报" : "收起主持简报",
@@ -48069,8 +48109,8 @@ var YG = /*#__PURE__*/ nH({
48069
48109
  }, [
48070
48110
  q(v, { name: T.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
48071
48111
  K("strong", null, "主持简报" + P(T.value ? ":" : ""), 1),
48072
- T.value ? (U(), W("span", GY, P(te.value), 1)) : Y("", !0)
48073
- ], 8, WY), T.value ? Y("", !0) : (U(), G(C, {
48112
+ T.value ? (U(), W("span", YY, P(te.value), 1)) : Y("", !0)
48113
+ ], 8, JY), T.value ? Y("", !0) : (U(), G(C, {
48074
48114
  key: 0,
48075
48115
  label: "更新简报",
48076
48116
  color: "neutral",
@@ -48078,30 +48118,30 @@ var YG = /*#__PURE__*/ nH({
48078
48118
  size: "xs",
48079
48119
  class: "channel-brief-update",
48080
48120
  onClick: r[9] ||= (e) => I(i)("tab", "context")
48081
- }))]), vr(K("div", KY, [K("div", {
48121
+ }))]), vr(K("div", XY, [K("div", {
48082
48122
  class: "channel-brief-text markdown-body",
48083
48123
  innerHTML: o.value.rendered_brief
48084
- }, null, 8, qY), K("div", JY, [K("span", YY, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !T.value]])])], 2)) : Y("", !0),
48124
+ }, null, 8, ZY), K("div", QY, [K("span", $Y, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !T.value]])])], 2)) : Y("", !0),
48085
48125
  o.value ? (U(), W("div", {
48086
48126
  key: 3,
48087
48127
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
48088
- }, [K("div", XY, [
48128
+ }, [K("div", eX, [
48089
48129
  vr(q(aW, {
48090
48130
  onDetail: Ce,
48091
48131
  onEdit: r[10] ||= (e) => s.value = "edit"
48092
48132
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
48093
- I(t).tab === "context" ? (U(), W("section", ZY, [
48094
- K("div", QY, [r[33] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(se, {
48133
+ I(t).tab === "context" ? (U(), W("section", tX, [
48134
+ K("div", nX, [r[33] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(se, {
48095
48135
  color: "neutral",
48096
48136
  variant: "outline"
48097
48137
  }, {
48098
48138
  default: L(() => [J("截止 #" + P(o.value.state_until), 1)]),
48099
48139
  _: 1
48100
48140
  })]),
48101
- Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", $Y, [
48141
+ Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", rX, [
48102
48142
  r[34] ||= K("h3", null, "最新运行回执", -1),
48103
48143
  r[35] ||= K("p", { class: "fine-print" }, "以下回执独立于摘要更新;晚于摘要的回执可能尚未整理,实际运行结果请查看原文。", -1),
48104
- K("div", eX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(C, {
48144
+ K("div", iX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(C, {
48105
48145
  key: e.id,
48106
48146
  label: `${I(n).display_name(e.author)} #${e.id} · ${new Date(e.created_at).toLocaleString("zh-CN")}${e.id > o.value.state_until ? " · 晚于摘要" : ""}`,
48107
48147
  variant: "link",
@@ -48144,7 +48184,7 @@ var YG = /*#__PURE__*/ nH({
48144
48184
  }, null, 8, ["modelValue"])]),
48145
48185
  _: 1
48146
48186
  }),
48147
- K("div", tX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(C, {
48187
+ K("div", aX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(C, {
48148
48188
  type: "submit",
48149
48189
  color: "neutral",
48150
48190
  icon: "i-lucide-check",
@@ -48159,7 +48199,7 @@ var YG = /*#__PURE__*/ nH({
48159
48199
  onOpen: r[14] ||= (e) => s.value = e,
48160
48200
  onDetail: Ce
48161
48201
  })) : Y("", !0)
48162
- ])], 2)) : (U(), W("div", nX, [
48202
+ ])], 2)) : (U(), W("div", oX, [
48163
48203
  q(v, { name: "i-lucide-hash" }),
48164
48204
  r[36] ||= K("h2", null, "新建一个讨论频道", -1),
48165
48205
  r[37] ||= K("p", null, "每个频道围绕一个议题,保留所有人的观点。", -1),
@@ -48179,8 +48219,8 @@ var YG = /*#__PURE__*/ nH({
48179
48219
  "aria-label": "调整右侧栏宽度",
48180
48220
  "aria-orientation": "vertical",
48181
48221
  "aria-controls": "channel-member-rail",
48182
- "aria-valuemin": OX,
48183
- "aria-valuemax": kX,
48222
+ "aria-valuemin": MX,
48223
+ "aria-valuemax": NX,
48184
48224
  "aria-valuenow": x.value,
48185
48225
  "aria-valuetext": `${x.value} 像素`,
48186
48226
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -48190,10 +48230,10 @@ var YG = /*#__PURE__*/ nH({
48190
48230
  onPointercancel: Le,
48191
48231
  onLostpointercapture: Le,
48192
48232
  onKeydown: Re
48193
- }, null, 40, rX)) : Y("", !0),
48194
- O.value ? (U(), W("aside", iX, [K("section", aX, [o.value && ce.value ? (U(), W("div", oX, [
48195
- K("header", sX, [r[38] ||= K("strong", null, "自由协作", -1), K("span", cX, P(he.value ? `${I(n).display_name(he.value.name)} 协助主持` : "你来主持"), 1)]),
48196
- K("section", lX, [r[40] ||= K("h4", null, "成员", -1), K("ul", uX, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48233
+ }, null, 40, sX)) : Y("", !0),
48234
+ O.value ? (U(), W("aside", cX, [K("section", lX, [o.value && ce.value ? (U(), W("div", uX, [
48235
+ K("header", dX, [r[38] ||= K("strong", null, "自由协作", -1), K("span", fX, P(he.value ? `${I(n).display_name(he.value.name)} 协助主持` : "你来主持"), 1)]),
48236
+ K("section", pX, [r[40] ||= K("h4", null, "成员", -1), K("ul", mX, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48197
48237
  key: e.id,
48198
48238
  class: "pb-member"
48199
48239
  }, [
@@ -48209,8 +48249,8 @@ var YG = /*#__PURE__*/ nH({
48209
48249
  "alt",
48210
48250
  "class"
48211
48251
  ]),
48212
- K("div", dX, [
48213
- K("div", fX, [
48252
+ K("div", hX, [
48253
+ K("div", gX, [
48214
48254
  J(P(I(n).display_name(e.name)), 1),
48215
48255
  e.role === "host" ? (U(), G(v, {
48216
48256
  key: 0,
@@ -48223,7 +48263,7 @@ var YG = /*#__PURE__*/ nH({
48223
48263
  }[e.access] || "本机自动"), 1)
48224
48264
  ]),
48225
48265
  K("div", { class: M(["pb-member-status", `is-${ge(e)}`]) }, [r[39] ||= K("span", { class: "pb-dot" }, null, -1), J(P(_e(e)), 1)], 2),
48226
- e.session_mode === "borrowed" ? (U(), W("p", pX, "借用你正在使用的会话")) : Y("", !0)
48266
+ e.session_mode === "borrowed" ? (U(), W("p", _X, "借用你正在使用的会话")) : Y("", !0)
48227
48267
  ]),
48228
48268
  q(Me, {
48229
48269
  items: N(e),
@@ -48241,7 +48281,7 @@ var YG = /*#__PURE__*/ nH({
48241
48281
  _: 2
48242
48282
  }, 1032, ["items"])
48243
48283
  ]))), 128))])]),
48244
- o.value.free?.conflicts?.length || o.value.free?.halted_chains?.length || I(t).free_error || I(t).free_notice || I(t).access?.error || I(t).access?.notice ? (U(), W("section", mX, [
48284
+ o.value.free?.conflicts?.length || o.value.free?.halted_chains?.length || I(t).free_error || I(t).free_notice || I(t).access?.error || I(t).access?.notice ? (U(), W("section", vX, [
48245
48285
  r[41] ||= K("h4", null, "提示", -1),
48246
48286
  (U(!0), W(H, null, B(o.value.free?.conflicts || [], (e) => (U(), W("p", {
48247
48287
  key: e.executions.join("-"),
@@ -48251,10 +48291,10 @@ var YG = /*#__PURE__*/ nH({
48251
48291
  key: e.chain_id,
48252
48292
  class: "pb-free-note"
48253
48293
  }, "#" + P(e.chain_id) + " 的任务链已停:" + P(e.reason === "budget" ? `达到 ${o.value.free.max_auto_hops} 次上限` : "派出的成员都失败了") + ";发新消息即重新开始", 1))), 128)),
48254
- I(t).free_error ? (U(), W("p", hX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", gX, P(I(t).free_notice), 1)) : Y("", !0),
48255
- I(t).access?.error ? (U(), W("p", _X, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", vX, P(I(t).access.notice), 1)) : Y("", !0)
48294
+ I(t).free_error ? (U(), W("p", yX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", bX, P(I(t).free_notice), 1)) : Y("", !0),
48295
+ I(t).access?.error ? (U(), W("p", xX, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", SX, P(I(t).access.notice), 1)) : Y("", !0)
48256
48296
  ])) : Y("", !0),
48257
- K("section", yX, [
48297
+ K("section", CX, [
48258
48298
  r[42] ||= K("h4", null, "邀请 AI", -1),
48259
48299
  K("form", {
48260
48300
  class: "pb-free-invite",
@@ -48289,15 +48329,15 @@ var YG = /*#__PURE__*/ nH({
48289
48329
  size: "sm",
48290
48330
  class: "w-26"
48291
48331
  }, null, 8, ["modelValue"])], 32),
48292
- de.value === "runner" && !I(t).launch.available ? (U(), W("p", bX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48332
+ de.value === "runner" && !I(t).launch.available ? (U(), W("p", wX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48293
48333
  ]),
48294
- o.value.linked_rooms?.length ? (U(), W("section", xX, [r[43] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48334
+ o.value.linked_rooms?.length ? (U(), W("section", TX, [r[43] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48295
48335
  key: e.id,
48296
48336
  type: "button",
48297
48337
  class: "pb-link pb-free-linked",
48298
48338
  onClick: (t) => I(i)("room", e.id)
48299
- }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, SX))), 128))])) : Y("", !0),
48300
- K("section", CX, [q(C, {
48339
+ }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, EX))), 128))])) : Y("", !0),
48340
+ K("section", DX, [q(C, {
48301
48341
  icon: "i-lucide-user-plus",
48302
48342
  label: "邀请",
48303
48343
  size: "sm",
@@ -48319,10 +48359,10 @@ var YG = /*#__PURE__*/ nH({
48319
48359
  title: "用当前成员新建一场讨论房间,收束后可把结论发回这里",
48320
48360
  onClick: j
48321
48361
  })])
48322
- ])) : o.value ? (U(), G(pY, {
48362
+ ])) : o.value ? (U(), G(_Y, {
48323
48363
  key: 1,
48324
48364
  docked: ""
48325
- })) : (U(), W("div", wX, [...r[44] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48365
+ })) : (U(), W("div", OX, [...r[44] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48326
48366
  q(Ue, {
48327
48367
  open: d.value,
48328
48368
  "onUpdate:open": r[21] ||= (e) => d.value = e,
@@ -48334,7 +48374,7 @@ var YG = /*#__PURE__*/ nH({
48334
48374
  body: "channel-drawer-body"
48335
48375
  }
48336
48376
  }, {
48337
- body: L(() => [q(TJ, {
48377
+ body: L(() => [q(kJ, {
48338
48378
  onSelect: Se,
48339
48379
  onManage: be,
48340
48380
  onCreate: we,
@@ -48365,7 +48405,7 @@ var YG = /*#__PURE__*/ nH({
48365
48405
  }
48366
48406
  }, {
48367
48407
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
48368
- K("div", TX, [q(v, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48408
+ K("div", kX, [q(v, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48369
48409
  (U(), W(H, null, B([
48370
48410
  {
48371
48411
  key: "goal",
@@ -48392,7 +48432,7 @@ var YG = /*#__PURE__*/ nH({
48392
48432
  class: "info-section"
48393
48433
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
48394
48434
  q(We),
48395
- K("section", EX, [r[45] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(ye.value, (e) => (U(), W("div", {
48435
+ K("section", AX, [r[45] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(ye.value, (e) => (U(), W("div", {
48396
48436
  key: e.name,
48397
48437
  class: "expert-row"
48398
48438
  }, [
@@ -48425,7 +48465,7 @@ var YG = /*#__PURE__*/ nH({
48425
48465
  ], 64)) : Y("", !0)]),
48426
48466
  _: 1
48427
48467
  }, 8, ["open"]),
48428
- q(nJ, {
48468
+ q(aJ, {
48429
48469
  modelValue: s.value,
48430
48470
  "onUpdate:modelValue": r[24] ||= (e) => s.value = e,
48431
48471
  "reading-width": b.value,
@@ -48445,7 +48485,7 @@ var YG = /*#__PURE__*/ nH({
48445
48485
  ], 6);
48446
48486
  };
48447
48487
  }
48448
- }, BX = {
48488
+ }, WX = {
48449
48489
  __name: "App",
48450
48490
  setup(e) {
48451
48491
  return br("discussion", oV()), (e, t) => {
@@ -48456,7 +48496,7 @@ var YG = /*#__PURE__*/ nH({
48456
48496
  toaster: null
48457
48497
  }, {
48458
48498
  default: L(() => [q(I(Az), { "reduced-motion": "user" }, {
48459
- default: L(() => [q(zX)]),
48499
+ default: L(() => [q(UX)]),
48460
48500
  _: 1
48461
48501
  })]),
48462
48502
  _: 1
@@ -48466,8 +48506,8 @@ var YG = /*#__PURE__*/ nH({
48466
48506
  };
48467
48507
  //#endregion
48468
48508
  //#region frontend/main.js
48469
- function VX() {
48470
- bu(BX).use(fh).mount("#modern-root");
48509
+ function GX() {
48510
+ bu(WX).use(fh).mount("#modern-root");
48471
48511
  }
48472
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", VX) : VX();
48512
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", GX) : GX();
48473
48513
  //#endregion