ai_co_discuss 0.2.5 → 0.2.7

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
@@ -44230,7 +44230,7 @@ var YG = /*#__PURE__*/ nH({
44230
44230
  }, null, -1)
44231
44231
  ], 46, QG)]));
44232
44232
  }
44233
- }, [["__scopeId", "data-v-e358d780"]]), uK = ["data-identity", "data-face"], dK = ["inert", "aria-hidden"], fK = { class: "expert-card-identity" }, pK = {
44233
+ }, [["__scopeId", "data-v-f27db748"]]), uK = ["data-identity", "data-face"], dK = ["inert", "aria-hidden"], fK = { class: "expert-card-identity" }, pK = {
44234
44234
  key: 0,
44235
44235
  class: "expert-card-badge"
44236
44236
  }, mK = { class: "expert-card-facts" }, hK = ["title"], gK = ["title"], _K = {
@@ -44248,16 +44248,22 @@ var YG = /*#__PURE__*/ nH({
44248
44248
  ], TK = {
44249
44249
  key: 1,
44250
44250
  class: "expert-card-field"
44251
- }, EK = { class: "expert-card-field" }, DK = { class: "expert-card-catalog" }, OK = {
44251
+ }, EK = {
44252
+ key: 2,
44253
+ class: "expert-card-field"
44254
+ }, DK = ["aria-label"], OK = ["aria-checked", "onClick"], kK = { class: "expert-card-field" }, AK = {
44252
44255
  key: 0,
44253
- class: "expert-card-effort"
44254
- }, kK = {
44256
+ class: "expert-card-catalog"
44257
+ }, jK = {
44255
44258
  key: 1,
44259
+ class: "expert-card-effort"
44260
+ }, MK = {
44261
+ key: 2,
44256
44262
  class: "expert-card-note"
44257
- }, AK = ["aria-label", "disabled"], jK = {
44258
- key: 3,
44263
+ }, NK = ["aria-label", "disabled"], PK = {
44264
+ key: 4,
44259
44265
  class: "expert-card-note"
44260
- }, MK = ["aria-label"], NK = 180, PK = /*#__PURE__*/ nH({
44266
+ }, FK = ["aria-label"], IK = 180, LK = /*#__PURE__*/ nH({
44261
44267
  __name: "ExpertCard",
44262
44268
  props: {
44263
44269
  name: {
@@ -44286,7 +44292,7 @@ var YG = /*#__PURE__*/ nH({
44286
44292
  mass: 1,
44287
44293
  stiffness: 270.0323764138049,
44288
44294
  damping: 31.550710806760762
44289
- }), 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(() => {
44290
44296
  let e = v.value.efforts, t = {
44291
44297
  low: "Low",
44292
44298
  medium: "Medium",
@@ -44302,7 +44308,7 @@ var YG = /*#__PURE__*/ nH({
44302
44308
  label: t[e] || e,
44303
44309
  value: e
44304
44310
  }))] : null;
44305
- }), 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(() => [
44306
44312
  {
44307
44313
  label: "软件",
44308
44314
  value: h.value
@@ -44314,25 +44320,48 @@ var YG = /*#__PURE__*/ nH({
44314
44320
  ...y.value ? [{
44315
44321
  label: "强度",
44316
44322
  value: S.value
44323
+ }] : [],
44324
+ ...C.value || n.mode === "online" ? [{
44325
+ label: "项目",
44326
+ value: C.value && w.value === "write" ? "可写" : "只读"
44317
44327
  }] : []
44318
- ]);
44319
- 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() {
44320
44349
  Qn(() => {
44321
44350
  document.activeElement === c.value && (f.value ? u : l).value?.focus({ preventScroll: !0 });
44322
44351
  });
44323
44352
  }
44324
- function T(e) {
44325
- let t = e >= NK / 2;
44326
- 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());
44327
44356
  }
44328
- let E = o.on("change", T), D = o.on("animationComplete", w);
44329
- function O(e) {
44330
- (!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);
44331
44360
  }
44332
- function ee() {
44361
+ function ae() {
44333
44362
  a.write_launch(n.name, "model", ""), a.write_launch(n.name, "effort", "");
44334
44363
  }
44335
- function te(e) {
44364
+ function A(e) {
44336
44365
  if (![
44337
44366
  "ArrowLeft",
44338
44367
  "ArrowRight",
@@ -44345,12 +44374,12 @@ var YG = /*#__PURE__*/ nH({
44345
44374
  let t = e.key === "Home" ? "cli" : e.key === "End" || n.mode === "cli" ? "online" : "cli";
44346
44375
  r("mode", t), e.currentTarget.querySelector(`[data-mode="${t}"]`)?.focus();
44347
44376
  }
44348
- function k(e) {
44349
- d.value && (e.stopPropagation(), e.preventDefault(), O(!1));
44377
+ function oe(e) {
44378
+ d.value && (e.stopPropagation(), e.preventDefault(), ie(!1));
44350
44379
  }
44351
44380
  return R([d, s], ([e, t]) => {
44352
- let n = e ? NK : 0;
44353
- t ? (o.jump(n), w()) : o.set(n);
44381
+ let n = e ? IK : 0;
44382
+ t ? (o.jump(n), te()) : o.set(n);
44354
44383
  }), R(() => [
44355
44384
  y.value,
44356
44385
  i.value.launch.available,
@@ -44358,9 +44387,9 @@ var YG = /*#__PURE__*/ nH({
44358
44387
  ], ([e, t]) => {
44359
44388
  e && t && a.load_launch_models(n.name);
44360
44389
  }, { immediate: !0 }), ta(() => {
44361
- E(), D(), o.stop();
44390
+ ne(), re(), o.stop();
44362
44391
  }), (t, n) => {
44363
- let s = Gk, d = zk, h = pV;
44392
+ let s = Gk, d = zk, h = pV, S = xV;
44364
44393
  return U(), W("div", {
44365
44394
  ref_key: "card",
44366
44395
  ref: c,
@@ -44371,7 +44400,7 @@ var YG = /*#__PURE__*/ nH({
44371
44400
  "data-identity": I(a).identities[e.name]?.style,
44372
44401
  "data-face": f.value ? "back" : "front",
44373
44402
  tabindex: "-1",
44374
- onKeydown: fu(k, ["esc"])
44403
+ onKeydown: fu(oe, ["esc"])
44375
44404
  }, [q(I(QB).div, {
44376
44405
  class: "expert-card-turn",
44377
44406
  style: fe({ rotateY: I(o) })
@@ -44387,7 +44416,7 @@ var YG = /*#__PURE__*/ nH({
44387
44416
  class: M(["expert-card-open", { "is-static": !g.value }]),
44388
44417
  "aria-label": g.value ? _.value : void 0,
44389
44418
  title: g.value ? "点击翻面设置" : void 0,
44390
- onClick: n[0] ||= (e) => O(!0)
44419
+ onClick: n[0] ||= (e) => ie(!0)
44391
44420
  }, {
44392
44421
  default: L(() => [
44393
44422
  K("span", fK, [
@@ -44409,7 +44438,7 @@ var YG = /*#__PURE__*/ nH({
44409
44438
  K("dl", mK, [K("div", null, [n[9] ||= K("dt", null, "状态", -1), K("dd", {
44410
44439
  class: M(["expert-card-status", `is-${e.status.tone}`]),
44411
44440
  title: e.status.text
44412
- }, [n[8] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(e.status.text), 1)], 10, hK)]), (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, gK)]))), 128))]),
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))]),
44413
44442
  g.value ? (U(), W("span", _K, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
44414
44443
  ]),
44415
44444
  _: 1
@@ -44443,7 +44472,7 @@ var YG = /*#__PURE__*/ nH({
44443
44472
  class: "expert-card-modes",
44444
44473
  role: "radiogroup",
44445
44474
  "aria-label": `${e.name} 参与能力`,
44446
- onKeydown: te
44475
+ onKeydown: A
44447
44476
  }, [(U(), W(H, null, B([{
44448
44477
  value: "cli",
44449
44478
  label: "本地读写"
@@ -44472,11 +44501,45 @@ var YG = /*#__PURE__*/ nH({
44472
44501
  "items",
44473
44502
  "aria-label"
44474
44503
  ])])) : Y("", !0),
44475
- y.value ? (U(), W(H, { key: 2 }, [
44476
- K("div", EK, [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, {
44477
44539
  "model-value": p.value.model || "__default__",
44478
44540
  items: v.value.items,
44479
44541
  loading: v.value.loading,
44542
+ title: v.value.source,
44480
44543
  "aria-label": `${e.name} 使用的模型`,
44481
44544
  size: "xs",
44482
44545
  class: "w-full",
@@ -44485,14 +44548,15 @@ var YG = /*#__PURE__*/ nH({
44485
44548
  "model-value",
44486
44549
  "items",
44487
44550
  "loading",
44551
+ "title",
44488
44552
  "aria-label"
44489
44553
  ])]),
44490
- K("div", DK, [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", {
44491
44555
  key: 0,
44492
44556
  type: "button",
44493
44557
  onClick: n[5] ||= (t) => I(a).load_launch_models(e.name, !0)
44494
- }, "重试")) : Y("", !0)]),
44495
- x.value ? (U(), W("div", OK, [q(lK, {
44558
+ }, "重试")) : Y("", !0)])) : Y("", !0),
44559
+ x.value ? (U(), W("div", jK, [q(lK, {
44496
44560
  caption: "强度",
44497
44561
  items: x.value,
44498
44562
  "model-value": p.value.effort || "",
@@ -44502,79 +44566,79 @@ var YG = /*#__PURE__*/ nH({
44502
44566
  "items",
44503
44567
  "model-value",
44504
44568
  "label"
44505
- ])])) : (U(), W("p", kK, P(v.value.effort_note), 1)),
44569
+ ])])) : (U(), W("p", MK, P(v.value.effort_note), 1)),
44506
44570
  K("button", {
44507
44571
  type: "button",
44508
44572
  class: "expert-card-defaults",
44509
44573
  title: "留空使用 CLI 默认值",
44510
44574
  "aria-label": `恢复 ${e.name} 的默认模型与强度`,
44511
44575
  disabled: !p.value.model && !p.value.effort,
44512
- onClick: ee
44513
- }, "恢复默认", 8, AK)
44514
- ], 64)) : (U(), W("p", jK, [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)])),
44515
44579
  K("button", {
44516
44580
  ref_key: "back_button",
44517
44581
  ref: u,
44518
44582
  type: "button",
44519
44583
  class: "expert-card-flip is-done",
44520
44584
  "aria-label": `返回 ${e.name} 角色卡片`,
44521
- onClick: n[7] ||= (e) => O(!1)
44522
- }, [q(d, { name: "i-lucide-check" }), n[14] ||= J("完成", -1)], 8, MK)
44585
+ onClick: n[7] ||= (e) => ie(!1)
44586
+ }, [q(d, { name: "i-lucide-check" }), n[15] ||= J("完成", -1)], 8, FK)
44523
44587
  ], 8, xK)) : Y("", !0)]),
44524
44588
  _: 1
44525
44589
  }, 8, ["style"])], 42, uK);
44526
44590
  };
44527
44591
  }
44528
- }, [["__scopeId", "data-v-26a355bd"]]), FK = { class: "create-discussion" }, IK = {
44592
+ }, [["__scopeId", "data-v-2d8797c6"]]), RK = { class: "create-discussion" }, zK = {
44529
44593
  key: 0,
44530
44594
  class: "channel-create-location"
44531
- }, LK = { class: "create-section" }, RK = [
44595
+ }, BK = { class: "create-section" }, VK = [
44532
44596
  "aria-checked",
44533
44597
  "tabindex",
44534
44598
  "onClick"
44535
- ], zK = { class: "create-mode-copy" }, BK = { class: "create-section" }, VK = { class: "create-section-heading" }, HK = [
44599
+ ], HK = { class: "create-mode-copy" }, UK = { class: "create-section" }, WK = { class: "create-section-heading" }, GK = [
44536
44600
  "title",
44537
44601
  "aria-checked",
44538
44602
  "tabindex",
44539
44603
  "onClick"
44540
- ], UK = { class: "fine-print create-hint" }, WK = {
44604
+ ], KK = { class: "fine-print create-hint" }, qK = {
44541
44605
  key: 0,
44542
44606
  class: "create-experts",
44543
44607
  role: "group",
44544
44608
  "aria-label": "参与的 AI"
44545
- }, GK = {
44609
+ }, JK = {
44546
44610
  key: 1,
44547
44611
  class: "create-experts-empty"
44548
- }, KK = [
44612
+ }, YK = [
44549
44613
  "disabled",
44550
44614
  "title",
44551
44615
  "aria-label",
44552
44616
  "onClick"
44553
- ], qK = { class: "fine-print create-hint create-host-hint" }, JK = ["aria-pressed"], YK = {
44617
+ ], XK = { class: "fine-print create-hint create-host-hint" }, ZK = ["aria-pressed"], QK = {
44554
44618
  key: 1,
44555
44619
  class: "create-section"
44556
- }, XK = {
44620
+ }, $K = {
44557
44621
  key: 0,
44558
44622
  class: "form-two-columns"
44559
- }, ZK = { class: "create-host" }, QK = {
44623
+ }, eq = { class: "create-host" }, tq = {
44560
44624
  class: "create-chips",
44561
44625
  role: "radiogroup",
44562
44626
  "aria-label": "达到上限后"
44563
- }, $K = ["aria-checked", "onClick"], eq = {
44627
+ }, nq = ["aria-checked", "onClick"], rq = {
44564
44628
  class: "create-limit-rule",
44565
44629
  "aria-live": "polite"
44566
- }, tq = {
44630
+ }, iq = {
44567
44631
  key: 2,
44568
44632
  class: "create-section"
44569
- }, nq = {
44633
+ }, aq = {
44570
44634
  key: 0,
44571
44635
  role: "alert",
44572
44636
  class: "fine-print create-hint"
44573
- }, rq = { class: "form-two-columns" }, iq = { class: "create-launch-list" }, aq = { class: "create-footer" }, oq = {
44637
+ }, oq = { class: "create-directory" }, sq = { class: "create-footer" }, cq = {
44574
44638
  key: 0,
44575
44639
  role: "alert",
44576
44640
  class: "create-error"
44577
- }, sq = { class: "create-footer-row" }, cq = ["title"], lq = "new-expert-modes", uq = /*#__PURE__*/ nH({
44641
+ }, lq = { class: "create-footer-row" }, uq = ["title"], dq = "new-expert-modes", fq = /*#__PURE__*/ nH({
44578
44642
  __name: "CreateDiscussion",
44579
44643
  props: { targetFolder: {
44580
44644
  type: Object,
@@ -44582,13 +44646,7 @@ var YG = /*#__PURE__*/ nH({
44582
44646
  } },
44583
44647
  emits: ["submit", "cancel"],
44584
44648
  setup(e, { emit: t }) {
44585
- let n = t, { view: r, bridge: i, pending: a } = xr("discussion"), o = [{
44586
- label: "只读",
44587
- value: "read"
44588
- }, {
44589
- label: "可写",
44590
- value: "write"
44591
- }], 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 = [{
44592
44650
  value: "brainstorm",
44593
44651
  icon: "i-lucide-messages-square",
44594
44652
  title: "讨论",
@@ -44598,7 +44656,7 @@ var YG = /*#__PURE__*/ nH({
44598
44656
  icon: "i-lucide-message-circle",
44599
44657
  title: "自由协作",
44600
44658
  text: "按需点名 AI,在各自会话中工作"
44601
- }], m = [{
44659
+ }], p = [{
44602
44660
  value: "automatic",
44603
44661
  icon: "i-lucide-zap",
44604
44662
  title: "程序唤醒",
@@ -44608,28 +44666,21 @@ var YG = /*#__PURE__*/ nH({
44608
44666
  icon: "i-lucide-copy",
44609
44667
  title: "手动接入",
44610
44668
  text: "首次复制指令,之后人工或定时触发"
44611
- }], h = Z(() => r.value.experts[lq] || {}), 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) => {
44612
44670
  let t = r.value.launch.profiles[e] || {};
44613
44671
  return !!(t.adapter && (t.adapter === "antigravity" ? t.ipc_directory : t.executable));
44614
- }, 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);
44615
- R(() => [
44616
- w.value,
44617
- S.value.every(C),
44618
- r.value.launch.error
44619
- ], ([e, t, n]) => {
44620
- e && (!t || n) && (E.value = !0);
44621
- }, { immediate: !0 });
44622
- function D() {
44623
- 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] || "");
44624
44675
  }
44625
- Qi(D);
44626
- function O(e) {
44627
- u("kind", e), D();
44676
+ Qi(T);
44677
+ function E(e) {
44678
+ l("kind", e), T();
44628
44679
  }
44629
- function ee(e) {
44630
- u("mode", e), D();
44680
+ function D(e) {
44681
+ l("mode", e), T();
44631
44682
  }
44632
- function te(e) {
44683
+ function O(e) {
44633
44684
  let t = [...e.currentTarget.querySelectorAll("[role=\"radio\"]")], n = t.indexOf(e.target), r = {
44634
44685
  ArrowRight: (n + 1) % t.length,
44635
44686
  ArrowDown: (n + 1) % t.length,
@@ -44643,14 +44694,14 @@ var YG = /*#__PURE__*/ nH({
44643
44694
  let i = t[r[e.key]];
44644
44695
  i.focus(), i.click();
44645
44696
  }
44646
- function k(e, t) {
44647
- i.write_expert(lq, e, t), D();
44697
+ function ee(e, t) {
44698
+ i.write_expert(dq, e, t), T();
44648
44699
  }
44649
- function ne(e) {
44650
- return h.value[e] === "online" ? {
44700
+ function te(e) {
44701
+ return m.value[e] === "online" ? {
44651
44702
  text: "在线只读,回答由人代发",
44652
44703
  tone: "muted"
44653
- } : d.value ? C(e) ? {
44704
+ } : u.value ? S(e) ? {
44654
44705
  text: "已配置本机软件",
44655
44706
  tone: "ready"
44656
44707
  } : {
@@ -44661,88 +44712,98 @@ var YG = /*#__PURE__*/ nH({
44661
44712
  tone: "muted"
44662
44713
  };
44663
44714
  }
44664
- function re(e) {
44665
- 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 · 手动接入";
44666
44717
  }
44667
- function ie(e) {
44668
- if (d.value && !i.launch_clients[e]) return;
44718
+ function ne(e) {
44719
+ if (u.value && !i.launch_clients[e]) return;
44669
44720
  let t = i.launch_clients[e] ? "cli" : "online";
44670
- _(e) ? i.add_instance(lq, e, t) : k(e, t), D();
44721
+ g(e) ? i.add_instance(dq, e, t) : ee(e, t), T();
44671
44722
  }
44672
- function ae(e) {
44673
- 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
+ }
44674
44734
  }
44675
44735
  function A() {
44676
- x.value?.settle(), n("submit");
44736
+ b.value?.settle(), n("submit");
44677
44737
  }
44678
44738
  let oe = Z(() => {
44679
- 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);
44680
44740
  if (!n.length) return "不设轮次和时长上限。";
44681
- let r = l("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44741
+ let r = c("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44682
44742
  return `最多 ${n.join(" 或 ")},${n.length === 2 ? "先到则" : "到限后"}${r}。`;
44683
44743
  }), se = Z(() => {
44684
- let e = Object.keys(h.value);
44685
- if (f.value) return [
44744
+ let e = Object.keys(m.value);
44745
+ if (d.value) return [
44686
44746
  "自由协作",
44687
44747
  `${e.length} 位 AI`,
44688
- y.value === "用户" ? "你来主持" : `${y.value} 协助主持`,
44689
- d.value ? "程序唤醒" : "手动接入"
44748
+ v.value === "用户" ? "你来主持" : `${v.value} 协助主持`,
44749
+ u.value ? "程序唤醒" : "手动接入"
44690
44750
  ].join(" · ");
44691
- 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(" / ");
44692
44752
  return [
44693
- y.value ? `${i.display_name(y.value)} 主持` : "尚未选择主持人",
44753
+ v.value ? `${i.display_name(v.value)} 主持` : "尚未选择主持人",
44694
44754
  e.length ? `${e.join("、")} 参与` : "尚未选择专家",
44695
- d.value ? "程序唤醒" : "手动接入",
44755
+ u.value ? "程序唤醒" : "手动接入",
44696
44756
  r
44697
44757
  ].join(" · ");
44698
44758
  });
44699
- return (t, c) => {
44700
- let _ = zk, D = xV, ce = MV, le = FV, ue = Gk, de = AG, j = pV, fe = uA, pe = OG;
44701
- return U(), W("div", FK, [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", {
44702
44762
  id: "create-discussion-form",
44703
44763
  class: "create-scroll dialog-form",
44704
44764
  onSubmit: uu(A, ["prevent"])
44705
44765
  }, [
44706
- e.targetFolder?.id ? (U(), W("p", IK, [q(_, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44707
- K("section", LK, [
44708
- 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),
44709
44769
  K("div", {
44710
44770
  class: "create-modes",
44711
44771
  role: "radiogroup",
44712
44772
  "aria-label": "房间用法",
44713
- onKeydown: te
44714
- }, [(U(), W(H, null, B(p, (e) => K("button", {
44773
+ onKeydown: O
44774
+ }, [(U(), W(H, null, B(f, (e) => K("button", {
44715
44775
  key: e.value,
44716
44776
  type: "button",
44717
44777
  role: "radio",
44718
- class: M(["create-mode", { "is-selected": (l("kind") || "brainstorm") === e.value }]),
44719
- "aria-checked": (l("kind") || "brainstorm") === e.value,
44720
- tabindex: (l("kind") || "brainstorm") === e.value ? 0 : -1,
44721
- onClick: (t) => O(e.value)
44722
- }, [q(_, { name: e.icon }, null, 8, ["name"]), K("span", zK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, RK)), 64))], 32),
44723
- 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, {
44724
44784
  label: "话题名称",
44725
44785
  required: ""
44726
44786
  }, {
44727
- default: L(() => [q(D, {
44728
- "model-value": l("title"),
44787
+ default: L(() => [q(S, {
44788
+ "model-value": c("title"),
44729
44789
  maxlength: 80,
44730
44790
  required: "",
44731
44791
  autofocus: "",
44732
44792
  size: "lg",
44733
- placeholder: f.value ? "这次要一起做什么?" : "这次想讨论什么?",
44793
+ placeholder: d.value ? "这次要一起做什么?" : "这次想讨论什么?",
44734
44794
  class: "w-full",
44735
- "onUpdate:modelValue": c[0] ||= (e) => u("title", e)
44795
+ "onUpdate:modelValue": s[0] ||= (e) => l("title", e)
44736
44796
  }, null, 8, ["model-value", "placeholder"])]),
44737
44797
  _: 1
44738
44798
  }),
44739
- q(ce, {
44799
+ d.value ? Y("", !0) : (U(), G(T, {
44800
+ key: 0,
44740
44801
  label: "用户原文",
44741
44802
  required: "",
44742
- description: f.value ? "写下任务、背景和协作范围,成员按需阅读。" : "写下问题、背景和顾虑,AI 主持人据此补全讨论资料。"
44803
+ description: "写下问题、背景和顾虑,AI 主持人据此补全讨论资料。"
44743
44804
  }, {
44744
- default: L(() => [q(le, {
44745
- "model-value": l("user_request"),
44805
+ default: L(() => [q(ce, {
44806
+ "model-value": c("user_request"),
44746
44807
  maxlength: 4e3,
44747
44808
  rows: 5,
44748
44809
  autoresize: "",
@@ -44750,38 +44811,38 @@ var YG = /*#__PURE__*/ nH({
44750
44811
  required: "",
44751
44812
  placeholder: "例如:我们在 A、B 两个方案之间犹豫,主要顾虑是成本和上线时间……",
44752
44813
  class: "w-full",
44753
- "onUpdate:modelValue": c[1] ||= (e) => u("user_request", e)
44814
+ "onUpdate:modelValue": s[1] ||= (e) => l("user_request", e)
44754
44815
  }, null, 8, ["model-value"])]),
44755
44816
  _: 1
44756
- }, 8, ["description"])
44817
+ }))
44757
44818
  ]),
44758
- K("section", BK, [
44759
- K("div", VK, [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", {
44760
44821
  class: "create-segments",
44761
44822
  role: "radiogroup",
44762
44823
  "aria-label": "接入方式",
44763
- onKeydown: te
44764
- }, [(U(), W(H, null, B(m, (e) => K("button", {
44824
+ onKeydown: O
44825
+ }, [(U(), W(H, null, B(p, (e) => K("button", {
44765
44826
  key: e.value,
44766
44827
  type: "button",
44767
44828
  role: "radio",
44768
44829
  title: e.text,
44769
- "aria-checked": l("mode") === e.value,
44770
- tabindex: l("mode") === e.value ? 0 : -1,
44771
- onClick: (t) => ee(e.value)
44772
- }, [q(_, { name: e.icon }, null, 8, ["name"]), J(P(e.title), 1)], 8, HK)), 64))], 32)]),
44773
- K("p", UK, P(d.value ? "本机服务交付任务并自动接续会话;仅支持已适配的本地软件,网页 AI 请用手动接入。" : "首次复制指令,之后人工或定时触发;本地 AI 可自行提交,网页 AI 由你或授权主持人代发。"), 1),
44774
- g.value.length ? (U(), W("div", WK, [(U(!0), W(H, null, B(g.value, (e) => (U(), G(PK, {
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, {
44775
44836
  key: e,
44776
44837
  name: e,
44777
- mode: h.value[e],
44778
- automatic: d.value,
44779
- status: ne(e),
44780
- host: y.value === e,
44781
- hostable: b.value.includes(e),
44782
- onHost: (t) => u("host", e),
44783
- onRemove: (t) => ae(e),
44784
- 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)
44785
44846
  }, null, 8, [
44786
44847
  "name",
44787
44848
  "mode",
@@ -44792,22 +44853,22 @@ var YG = /*#__PURE__*/ nH({
44792
44853
  "onHost",
44793
44854
  "onRemove",
44794
44855
  "onMode"
44795
- ]))), 128))])) : (U(), W("p", GK, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
44856
+ ]))), 128))])) : (U(), W("p", JK, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
44796
44857
  K("div", {
44797
44858
  ref_key: "library",
44798
- ref: v,
44859
+ ref: _,
44799
44860
  class: "create-roster-add",
44800
44861
  role: "group",
44801
44862
  "aria-label": "添加 AI"
44802
- }, [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", {
44803
44864
  key: e,
44804
44865
  type: "button",
44805
- disabled: d.value && !I(i).launch_clients[e],
44806
- title: re(e),
44866
+ disabled: u.value && !I(i).launch_clients[e],
44867
+ title: k(e),
44807
44868
  "aria-label": `添加 ${e} 实例`,
44808
- onClick: (t) => ie(e)
44869
+ onClick: (t) => ne(e)
44809
44870
  }, [
44810
- q(ue, {
44871
+ q(le, {
44811
44872
  src: I(i).identities[e]?.icon,
44812
44873
  text: I(i).identities[e]?.initials,
44813
44874
  alt: e,
@@ -44820,49 +44881,49 @@ var YG = /*#__PURE__*/ nH({
44820
44881
  "class"
44821
44882
  ]),
44822
44883
  J(P(e), 1),
44823
- q(_, { name: "i-lucide-plus" })
44824
- ], 8, KK))), 128))], 512),
44825
- K("div", qK, [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", {
44826
44887
  key: 0,
44827
44888
  type: "button",
44828
44889
  class: "create-host-self",
44829
- "aria-pressed": y.value === "用户",
44830
- onClick: c[2] ||= (e) => u("host", "用户")
44831
- }, [q(_, { name: "i-lucide-crown" }), c[15] ||= J("我来主持", -1)], 8, JK)) : (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, {
44832
44893
  key: 1,
44833
44894
  name: "i-lucide-crown"
44834
- })), 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)])
44835
44896
  ]),
44836
- f.value ? Y("", !0) : (U(), W("section", YK, [
44837
- 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),
44838
44899
  q(YG, {
44839
44900
  ref_key: "limit_picker",
44840
- ref: x,
44841
- rounds: Number(l("limit-max_rounds")),
44842
- minutes: Number(l("limit-max_minutes")),
44843
- "onUpdate:rounds": c[3] ||= (e) => u("limit-max_rounds", String(e)),
44844
- "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))
44845
44906
  }, null, 8, ["rounds", "minutes"]),
44846
- c[19] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44847
- d.value ? (U(), W("div", XK, [q(ce, {
44907
+ s[17] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
44908
+ u.value ? (U(), W("div", $K, [q(T, {
44848
44909
  label: "单次 AI 执行(分钟)",
44849
44910
  description: "留空或 0 表示不限"
44850
44911
  }, {
44851
- default: L(() => [q(D, {
44852
- "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") : "",
44853
44914
  type: "number",
44854
44915
  min: 0,
44855
44916
  max: 60,
44856
44917
  step: 1,
44857
44918
  placeholder: "不限时长",
44858
44919
  class: "w-full",
44859
- "onUpdate:modelValue": c[5] ||= (e) => u("limit-execution_minutes", e)
44920
+ "onUpdate:modelValue": s[5] ||= (e) => l("limit-execution_minutes", e)
44860
44921
  }, null, 8, ["model-value"])]),
44861
44922
  _: 1
44862
44923
  })])) : Y("", !0),
44863
- K("div", ZK, [
44864
- c[17] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
44865
- K("div", QK, [(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([{
44866
44927
  value: "pause",
44867
44928
  label: "暂停保留现场"
44868
44929
  }, {
@@ -44872,112 +44933,76 @@ var YG = /*#__PURE__*/ nH({
44872
44933
  key: e.value,
44873
44934
  type: "button",
44874
44935
  role: "radio",
44875
- "aria-checked": (l("limit-on_limit") || "pause") === e.value,
44876
- class: M({ "is-selected": (l("limit-on_limit") || "pause") === e.value }),
44877
- onClick: (t) => u("limit-on_limit", e.value)
44878
- }, P(e.label), 11, $K)), 64))]),
44879
- 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, {
44880
44941
  key: 0,
44881
- "model-value": l("limit-summary_minutes"),
44942
+ "model-value": c("limit-summary_minutes"),
44882
44943
  type: "number",
44883
44944
  min: 1,
44884
44945
  max: 60,
44885
44946
  step: 1,
44886
44947
  "aria-label": "收束预留(分钟)",
44887
44948
  class: "create-summary-minutes",
44888
- "onUpdate:modelValue": c[6] ||= (e) => u("limit-summary_minutes", e)
44949
+ "onUpdate:modelValue": s[6] ||= (e) => l("limit-summary_minutes", e)
44889
44950
  }, {
44890
- trailing: L(() => [...c[16] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44951
+ trailing: L(() => [...s[14] ||= [K("span", { class: "fine-print" }, "分钟收束", -1)]]),
44891
44952
  _: 1
44892
44953
  }, 8, ["model-value"])) : Y("", !0)
44893
44954
  ]),
44894
- K("p", eq, [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)])
44895
44956
  ])),
44896
- d.value ? (U(), W("section", tq, [
44897
- K("h3", null, [K("span", null, P(f.value ? 3 : 4), 1), c[20] ||= J("启动本机软件", -1)]),
44898
- f.value && !I(r).launch.available ? (U(), W("p", nq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
44899
- 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, {
44900
44961
  key: 0,
44901
44962
  "model-value": I(r).launch.create,
44902
44963
  label: "创建后立即启动 AI",
44903
44964
  description: "由本机服务创建会话并交付首个主持任务;不勾选则只建房,稍后在「接入」页启动。",
44904
- "onUpdate:modelValue": c[7] ||= (e) => I(i).write_launch("create", "", e)
44905
- }, null, 8, ["model-value"])), f.value || I(r).launch.create ? (U(), W(H, { key: 1 }, [
44906
- K("div", rq, [q(ce, {
44907
- label: "项目目录(可选)",
44908
- help: "要一起查看的项目;留空时 AI 只在讨论私有目录工作"
44909
- }, {
44910
- default: L(() => [q(D, {
44911
- "model-value": I(r).launch.workspace.cwd || "",
44912
- placeholder: "已有目录的完整路径",
44913
- class: "w-full",
44914
- "onUpdate:modelValue": c[8] ||= (e) => I(i).write_launch("workspace", "cwd", e)
44915
- }, null, 8, ["model-value"])]),
44916
- _: 1
44917
- }), q(ce, {
44918
- label: "项目文件",
44919
- help: f.value ? "默认只读;要让 AI 改代码请选可写,仅本房间有效" : "默认只读;可写允许 CLI 专家按议题修改项目文件,仅本次有效"
44920
- }, {
44921
- default: L(() => [q(j, {
44922
- "model-value": I(r).launch.workspace.project_access || "read",
44923
- items: o,
44924
- class: "w-full",
44925
- "onUpdate:modelValue": c[9] ||= (e) => I(i).write_launch("workspace", "project_access", e)
44926
- }, null, 8, ["model-value"])]),
44927
- _: 1
44928
- }, 8, ["help"])]),
44929
- K("ul", iq, [(U(!0), W(H, null, B(S.value, (e) => (U(), W("li", { key: e }, [
44930
- q(_, {
44931
- name: C(e) ? "i-lucide-circle-check" : "i-lucide-circle-alert",
44932
- class: M(C(e) ? "is-ready" : "is-warn")
44933
- }, null, 8, ["name", "class"]),
44934
- K("strong", null, P(e), 1),
44935
- 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)
44936
- ]))), 128))]),
44937
- q(pe, {
44938
- open: E.value,
44939
- "onUpdate:open": c[10] ||= (e) => E.value = e
44940
- }, {
44941
- content: L(() => [q(gW, {
44942
- participants: S.value,
44943
- workspace: !1,
44944
- "model-selection": !1
44945
- }, null, 8, ["participants"])]),
44946
- default: L(() => [q(fe, {
44947
- icon: E.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right",
44948
- label: "调整启动配置",
44949
- color: "neutral",
44950
- variant: "link",
44951
- size: "sm",
44952
- class: "create-more"
44953
- }, null, 8, ["icon"])]),
44954
- _: 1
44955
- }, 8, ["open"])
44956
- ], 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, {
44957
44982
  key: 2,
44958
- participants: S.value,
44983
+ participants: x.value,
44959
44984
  workspace: !1,
44960
44985
  "model-selection": !1
44961
44986
  }, null, 8, ["participants"]))
44962
44987
  ])) : Y("", !0)
44963
- ], 32), K("footer", aq, [w.value && I(r).launch.error ? (U(), W("p", oq, P(I(r).launch.error), 1)) : Y("", !0), K("div", sq, [
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, [
44964
44989
  K("span", {
44965
44990
  class: "create-summary",
44966
44991
  title: se.value
44967
- }, P(se.value), 9, cq),
44968
- q(fe, {
44992
+ }, P(se.value), 9, uq),
44993
+ q(de, {
44969
44994
  label: "取消",
44970
44995
  color: "neutral",
44971
44996
  variant: "ghost",
44972
- onClick: c[11] ||= (e) => n("cancel")
44997
+ onClick: s[9] ||= (e) => n("cancel")
44973
44998
  }),
44974
- q(fe, {
44999
+ q(de, {
44975
45000
  type: "submit",
44976
45001
  form: "create-discussion-form",
44977
45002
  class: "channel-primary-button",
44978
- icon: w.value ? "i-lucide-play" : "i-lucide-plus",
44979
- label: f.value ? d.value ? "创建并连接" : "创建协作房间" : w.value ? "创建并启动讨论" : "创建讨论",
44980
- 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,
44981
45006
  loading: I(a) === "create"
44982
45007
  }, null, 8, [
44983
45008
  "icon",
@@ -44988,61 +45013,61 @@ var YG = /*#__PURE__*/ nH({
44988
45013
  ])])]);
44989
45014
  };
44990
45015
  }
44991
- }, [["__scopeId", "data-v-44ac648e"]]), dq = {
45016
+ }, [["__scopeId", "data-v-cbdd1db6"]]), pq = {
44992
45017
  key: 0,
44993
45018
  class: "channel-archive-manager"
44994
- }, fq = { class: "channel-archive-toolbar" }, pq = {
45019
+ }, mq = { class: "channel-archive-toolbar" }, hq = {
44995
45020
  key: 0,
44996
45021
  class: "channel-archive-confirm channel-archive-bulk",
44997
45022
  role: "alert"
44998
- }, mq = {
45023
+ }, gq = {
44999
45024
  key: 1,
45000
45025
  role: "alert",
45001
45026
  class: "channel-directory-error"
45002
- }, hq = { class: "channel-archive-results" }, gq = {
45027
+ }, _q = { class: "channel-archive-results" }, vq = {
45003
45028
  key: 0,
45004
45029
  class: "channel-archive-list",
45005
45030
  "aria-label": "已存档频道列表"
45006
- }, _q = { class: "channel-archive-row" }, vq = { class: "channel-archive-info" }, yq = [
45031
+ }, yq = { class: "channel-archive-row" }, bq = { class: "channel-archive-info" }, xq = [
45007
45032
  "title",
45008
45033
  "disabled",
45009
45034
  "onClick"
45010
- ], bq = { key: 0 }, xq = ["datetime"], Sq = { class: "channel-archive-actions" }, Cq = {
45035
+ ], Sq = { key: 0 }, Cq = ["datetime"], wq = { class: "channel-archive-actions" }, Tq = {
45011
45036
  key: 0,
45012
45037
  class: "channel-archive-confirm channel-archive-bulk",
45013
45038
  role: "alert"
45014
- }, wq = {
45039
+ }, Eq = {
45015
45040
  key: 1,
45016
45041
  class: "channel-archive-empty"
45017
- }, Tq = { class: "fine-print" }, Eq = { class: "dialog-actions" }, Dq = { class: "dialog-actions" }, Oq = { class: "channel-management-target" }, kq = {
45042
+ }, Dq = { class: "fine-print" }, Oq = { class: "dialog-actions" }, kq = { class: "dialog-actions" }, Aq = { class: "channel-management-target" }, jq = {
45018
45043
  key: 0,
45019
45044
  class: "fine-print"
45020
- }, Aq = {
45045
+ }, Mq = {
45021
45046
  key: 1,
45022
45047
  class: "fine-print"
45023
- }, jq = {
45048
+ }, Nq = {
45024
45049
  key: 2,
45025
45050
  class: "fine-print"
45026
- }, Mq = { class: "dialog-actions" }, Nq = { key: 4 }, Pq = { class: "theme-choices" }, Fq = ["aria-pressed", "onClick"], Iq = { class: "theme-check" }, Lq = { class: "channel-reading-setting" }, Rq = {
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 = {
45027
45052
  class: "channel-reading-options",
45028
45053
  role: "group",
45029
45054
  "aria-labelledby": "channel-reading-label"
45030
- }, zq = { class: "form-two-columns" }, Bq = { class: "advanced-content" }, Vq = { class: "form-two-columns" }, Hq = {
45055
+ }, Vq = { class: "form-two-columns" }, Hq = { class: "advanced-content" }, Uq = { class: "form-two-columns" }, Wq = {
45031
45056
  key: 0,
45032
45057
  class: "fine-print"
45033
- }, Uq = { class: "advanced-content" }, Wq = { class: "expert-fields" }, Gq = { class: "dialog-actions" }, Kq = { class: "dialog-actions" }, qq = {
45058
+ }, Gq = { class: "advanced-content" }, Kq = { class: "expert-fields" }, qq = { class: "dialog-actions" }, Jq = { class: "dialog-actions" }, Yq = {
45034
45059
  key: 8,
45035
45060
  class: "original-message"
45036
- }, Jq = {
45061
+ }, Xq = {
45037
45062
  key: 0,
45038
45063
  role: "alert"
45039
- }, Yq = { class: "original-meta" }, Xq = { class: "fine-print" }, Zq = {
45064
+ }, Zq = { class: "original-meta" }, Qq = { class: "fine-print" }, $q = {
45040
45065
  key: 0,
45041
45066
  class: "channel-answer-summary"
45042
- }, Qq = { class: "message-prose" }, $q = { class: "message-prose" }, eJ = ["innerHTML"], tJ = {
45067
+ }, eJ = { class: "message-prose" }, tJ = { class: "message-prose" }, nJ = ["innerHTML"], rJ = {
45043
45068
  key: 2,
45044
45069
  class: "fine-print"
45045
- }, nJ = "topic-expert-modes", rJ = {
45070
+ }, iJ = "topic-expert-modes", aJ = {
45046
45071
  __name: "WorkspaceDialogs",
45047
45072
  props: /*@__PURE__*/ Fa({
45048
45073
  detailId: {
@@ -45313,8 +45338,8 @@ var YG = /*#__PURE__*/ nH({
45313
45338
  },
45314
45339
  "onAfter:leave": be
45315
45340
  }, {
45316
- body: L(() => [i.value === "archives" ? (U(), W("section", dq, [
45317
- K("div", fq, [
45341
+ body: L(() => [i.value === "archives" ? (U(), W("section", pq, [
45342
+ K("div", mq, [
45318
45343
  q(b, {
45319
45344
  modelValue: m.value,
45320
45345
  "onUpdate:modelValue": s[0] ||= (e) => m.value = e,
@@ -45343,7 +45368,7 @@ var YG = /*#__PURE__*/ nH({
45343
45368
  }
45344
45369
  }, null, 8, ["label", "disabled"])
45345
45370
  ]),
45346
- y.value && _.value.length ? (U(), W("div", pq, [
45371
+ y.value && _.value.length ? (U(), W("div", hq, [
45347
45372
  K("span", null, "将永久删除当前列表中的 " + P(_.value.length) + " 个频道及其全部记录,无法撤销。", 1),
45348
45373
  q(ce, {
45349
45374
  label: "取消",
@@ -45359,20 +45384,20 @@ var YG = /*#__PURE__*/ nH({
45359
45384
  onClick: E
45360
45385
  })
45361
45386
  ])) : Y("", !0),
45362
- I(a).directory_error ? (U(), W("p", mq, P(I(a).directory_error), 1)) : Y("", !0),
45363
- K("div", hq, [_.value.length ? (U(), W("ul", gq, [(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", {
45364
45389
  key: e.id,
45365
45390
  class: "channel-archive-item"
45366
- }, [K("div", _q, [K("div", vq, [K("button", {
45391
+ }, [K("div", yq, [K("div", bq, [K("button", {
45367
45392
  class: "channel-archive-title",
45368
45393
  title: e.title,
45369
45394
  disabled: !!I(l),
45370
45395
  onClick: (t) => w(e)
45371
- }, P(e.title), 9, yq), K("small", null, [e.created_at ? (U(), W("span", bq, [
45396
+ }, P(e.title), 9, xq), K("small", null, [e.created_at ? (U(), W("span", Sq, [
45372
45397
  s[25] ||= J("创建于 ", -1),
45373
- K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, xq),
45398
+ K("time", { datetime: e.created_at }, P(S(e.created_at)), 9, Cq),
45374
45399
  s[26] ||= J(" · ", -1)
45375
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", Sq, [q(ce, {
45400
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", wq, [q(ce, {
45376
45401
  "aria-label": `彻底删除 ${e.title}`,
45377
45402
  title: "彻底删除",
45378
45403
  icon: "i-lucide-trash-2",
@@ -45404,7 +45429,7 @@ var YG = /*#__PURE__*/ nH({
45404
45429
  "aria-label",
45405
45430
  "disabled",
45406
45431
  "onClick"
45407
- ])])]), v.value === e.id ? (U(), W("div", Cq, [
45432
+ ])])]), v.value === e.id ? (U(), W("div", Tq, [
45408
45433
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
45409
45434
  q(ce, {
45410
45435
  label: "取消",
@@ -45420,12 +45445,12 @@ var YG = /*#__PURE__*/ nH({
45420
45445
  disabled: C(e),
45421
45446
  onClick: T
45422
45447
  }, null, 8, ["disabled"])
45423
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", wq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45448
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", Eq, P(p.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45424
45449
  ])) : i.value === "delete-folder" ? (U(), W("form", {
45425
45450
  key: 1,
45426
45451
  class: "dialog-form",
45427
45452
  onSubmit: uu(ne, ["prevent"])
45428
- }, [K("p", Tq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Eq, [q(ce, {
45453
+ }, [K("p", Dq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Oq, [q(ce, {
45429
45454
  label: "取消",
45430
45455
  color: "neutral",
45431
45456
  variant: "ghost",
@@ -45456,7 +45481,7 @@ var YG = /*#__PURE__*/ nH({
45456
45481
  "modelValue",
45457
45482
  "aria-label",
45458
45483
  "readonly"
45459
- ]), K("div", Dq, [q(ce, {
45484
+ ]), K("div", kq, [q(ce, {
45460
45485
  label: "取消",
45461
45486
  color: "neutral",
45462
45487
  variant: "ghost",
@@ -45481,10 +45506,10 @@ var YG = /*#__PURE__*/ nH({
45481
45506
  class: "dialog-form",
45482
45507
  onSubmit: uu(te, ["prevent"])
45483
45508
  }, [
45484
- K("p", Oq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45485
- i.value === "archive" ? (U(), W("p", kq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45486
- i.value === "restore" ? (U(), W("p", Aq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45487
- i.value === "delete" ? (U(), W("p", jq, "消息、共识和发言安排将一起删除,无法撤销。")) : 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),
45488
45513
  i.value === "rename" ? (U(), G(ue, {
45489
45514
  key: 3,
45490
45515
  label: "频道名称",
@@ -45501,7 +45526,7 @@ var YG = /*#__PURE__*/ nH({
45501
45526
  }, null, 8, ["modelValue"])]),
45502
45527
  _: 1
45503
45528
  })) : Y("", !0),
45504
- K("div", Mq, [q(ce, {
45529
+ K("div", Pq, [q(ce, {
45505
45530
  label: "取消",
45506
45531
  color: "neutral",
45507
45532
  variant: "ghost",
@@ -45518,7 +45543,7 @@ var YG = /*#__PURE__*/ nH({
45518
45543
  "loading",
45519
45544
  "disabled"
45520
45545
  ])])
45521
- ], 32)) : i.value === "settings" ? (U(), W("div", Nq, [K("div", Pq, [(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", {
45522
45547
  key: e.value,
45523
45548
  class: M({ chosen: I(a).theme === e.value }),
45524
45549
  "aria-pressed": I(a).theme === e.value,
@@ -45533,11 +45558,11 @@ var YG = /*#__PURE__*/ nH({
45533
45558
  K("b")
45534
45559
  ], -1)]], 2),
45535
45560
  K("span", null, [K("strong", null, P(e.title), 1), K("small", null, P(e.description), 1)]),
45536
- K("span", Iq, [I(a).theme === e.value ? (U(), G(de, {
45561
+ K("span", Rq, [I(a).theme === e.value ? (U(), G(de, {
45537
45562
  key: 0,
45538
45563
  name: "i-lucide-check"
45539
45564
  })) : Y("", !0)])
45540
- ], 10, Fq)), 64))]), K("section", Lq, [s[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", Rq, [(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, {
45541
45566
  key: e.value,
45542
45567
  label: e.label,
45543
45568
  color: "neutral",
@@ -45550,7 +45575,7 @@ var YG = /*#__PURE__*/ nH({
45550
45575
  "class",
45551
45576
  "aria-pressed",
45552
45577
  "onClick"
45553
- ]))), 128))])])])) : i.value === "create" ? (U(), G(uq, {
45578
+ ]))), 128))])])])) : i.value === "create" ? (U(), G(fq, {
45554
45579
  key: 5,
45555
45580
  "target-folder": e.targetFolder,
45556
45581
  onSubmit: N,
@@ -45585,7 +45610,7 @@ var YG = /*#__PURE__*/ nH({
45585
45610
  }, null, 8, ["model-value"])]),
45586
45611
  _: 1
45587
45612
  }),
45588
- K("div", zq, [q(ue, { label: "主持人" }, {
45613
+ K("div", Vq, [q(ue, { label: "主持人" }, {
45589
45614
  default: L(() => [q(x, {
45590
45615
  "model-value": I(a).fields[ge("host")],
45591
45616
  items: I(ie),
@@ -45619,9 +45644,9 @@ var YG = /*#__PURE__*/ nH({
45619
45644
  }, null, 8, ["model-value"])]),
45620
45645
  _: 1
45621
45646
  })) : Y("", !0),
45622
- K("section", Bq, [
45647
+ K("section", Hq, [
45623
45648
  s[29] ||= K("h3", null, "讨论上限", -1),
45624
- K("div", Vq, [
45649
+ K("div", Uq, [
45625
45650
  (U(!0), W(H, null, B(le.value, (e) => (U(), G(ue, {
45626
45651
  key: e.key,
45627
45652
  label: e.label
@@ -45682,14 +45707,14 @@ var YG = /*#__PURE__*/ nH({
45682
45707
  })) : Y("", !0)
45683
45708
  ]),
45684
45709
  s[30] ||= K("p", { class: "fine-print" }, "轮次、总时长、单次执行留空或 0 表示不限。一轮指每位专家各完成一次观点;首次进入讨论阶段或创建安排后计时,暂停期间不计时。收束预留计入总时长。", -1),
45685
- se.value ? (U(), W("p", Hq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45710
+ se.value ? (U(), W("p", Wq, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45686
45711
  ]),
45687
45712
  q(Se, {
45688
45713
  open: oe.value,
45689
45714
  "onUpdate:open": s[19] ||= (e) => oe.value = e,
45690
45715
  class: "advanced-fields"
45691
45716
  }, {
45692
- content: L(() => [K("div", Uq, [
45717
+ content: L(() => [K("div", Gq, [
45693
45718
  (U(), W(H, null, B([
45694
45719
  {
45695
45720
  key: "user_request",
@@ -45716,11 +45741,11 @@ var YG = /*#__PURE__*/ nH({
45716
45741
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
45717
45742
  _: 2
45718
45743
  }, 1032, ["label"])), 64)),
45719
- K("div", Wq, [(U(!0), W(H, null, B(I(re), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(x, {
45720
- "model-value": I(a).experts[nJ]?.[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",
45721
45746
  items: A,
45722
45747
  "aria-label": `${e} 参与方式`,
45723
- "onUpdate:modelValue": (t) => I(o).write_expert(nJ, e, t === "none" ? "" : t)
45748
+ "onUpdate:modelValue": (t) => I(o).write_expert(iJ, e, t === "none" ? "" : t)
45724
45749
  }, null, 8, [
45725
45750
  "model-value",
45726
45751
  "aria-label",
@@ -45738,7 +45763,7 @@ var YG = /*#__PURE__*/ nH({
45738
45763
  }, null, 8, ["trailing-icon"])]),
45739
45764
  _: 1
45740
45765
  }, 8, ["open"]),
45741
- K("div", Gq, [q(ce, {
45766
+ K("div", qq, [q(ce, {
45742
45767
  label: "取消",
45743
45768
  color: "neutral",
45744
45769
  variant: "ghost",
@@ -45782,7 +45807,7 @@ var YG = /*#__PURE__*/ nH({
45782
45807
  _: 1
45783
45808
  }),
45784
45809
  s[32] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
45785
- K("div", Kq, [q(ce, {
45810
+ K("div", Jq, [q(ce, {
45786
45811
  label: "取消",
45787
45812
  variant: "ghost",
45788
45813
  color: "neutral",
@@ -45793,8 +45818,8 @@ var YG = /*#__PURE__*/ nH({
45793
45818
  label: "创建发言安排",
45794
45819
  loading: I(l) === "schedule"
45795
45820
  }, null, 8, ["loading"])])
45796
- ], 32)) : i.value === "message" ? (U(), W("div", qq, [fe.value ? (U(), W("p", Jq, P(fe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
45797
- K("div", Yq, [
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, [
45798
45823
  K("strong", null, P(I(o).display_name(j.value.author)), 1),
45799
45824
  K("span", null, "#" + P(j.value.id), 1),
45800
45825
  q(Ce, {
@@ -45805,14 +45830,14 @@ var YG = /*#__PURE__*/ nH({
45805
45830
  _: 1
45806
45831
  })
45807
45832
  ]),
45808
- K("p", Xq, P(I(o).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
45809
- j.value.summary ? (U(), W("section", Zq, [K("small", null, "回答摘要 · " + P(I(o).display_name(j.value.summary_by)), 1), K("p", Qq, P(j.value.summary), 1)])) : Y("", !0),
45810
- K("p", $q, 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),
45811
45836
  j.value.attachments?.length ? (U(), W("div", {
45812
45837
  key: 1,
45813
45838
  onClick: ye,
45814
45839
  innerHTML: I(o).attachment_markup(j.value.attachments)
45815
- }, null, 8, eJ)) : Y("", !0),
45840
+ }, null, 8, nJ)) : Y("", !0),
45816
45841
  j.value.reply_to ? (U(), G(ce, {
45817
45842
  key: 2,
45818
45843
  label: `查看被回复的原文 #${j.value.reply_to}`,
@@ -45822,7 +45847,7 @@ var YG = /*#__PURE__*/ nH({
45822
45847
  class: "channel-surface-button",
45823
45848
  onClick: xe
45824
45849
  }, null, 8, ["label"])) : Y("", !0)
45825
- ], 64)) : (U(), W("p", tJ, "正在读取原文…"))])) : Y("", !0)]),
45850
+ ], 64)) : (U(), W("p", rJ, "正在读取原文…"))])) : Y("", !0)]),
45826
45851
  _: 1
45827
45852
  }, 8, [
45828
45853
  "open",
@@ -45832,7 +45857,7 @@ var YG = /*#__PURE__*/ nH({
45832
45857
  ]);
45833
45858
  };
45834
45859
  }
45835
- }, iJ = {
45860
+ }, oJ = {
45836
45861
  __name: "ContextMenuContent",
45837
45862
  props: {
45838
45863
  items: {
@@ -46127,7 +46152,7 @@ var YG = /*#__PURE__*/ nH({
46127
46152
  "disabled",
46128
46153
  "text-value",
46129
46154
  "class"
46130
- ]), q(iJ, X({
46155
+ ]), q(oJ, X({
46131
46156
  sub: "",
46132
46157
  class: r.ui?.content,
46133
46158
  ui: e.ui,
@@ -46238,7 +46263,7 @@ var YG = /*#__PURE__*/ nH({
46238
46263
  _: 3
46239
46264
  }, 16)], 64));
46240
46265
  }
46241
- }, aJ = {
46266
+ }, sJ = {
46242
46267
  slots: {
46243
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",
46244
46269
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -46426,7 +46451,7 @@ var YG = /*#__PURE__*/ nH({
46426
46451
  }
46427
46452
  ],
46428
46453
  defaultVariants: { size: "md" }
46429
- }, oJ = {
46454
+ }, cJ = {
46430
46455
  __name: "ContextMenu",
46431
46456
  props: {
46432
46457
  size: {
@@ -46496,7 +46521,7 @@ var YG = /*#__PURE__*/ nH({
46496
46521
  emits: ["update:open"],
46497
46522
  setup(e, { emit: t }) {
46498
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({
46499
- extend: aJ,
46524
+ extend: sJ,
46500
46525
  ...o.ui?.contextMenu || {}
46501
46526
  })({ size: a.size }));
46502
46527
  return (e, t) => (U(), G(I(GS), N(Ss(I(s))), {
@@ -46508,7 +46533,7 @@ var YG = /*#__PURE__*/ nH({
46508
46533
  }, {
46509
46534
  default: L(() => [V(e.$slots, "default")]),
46510
46535
  _: 3
46511
- }, 8, ["disabled", "class"])) : Y("", !0), q(iJ, X({
46536
+ }, 8, ["disabled", "class"])) : Y("", !0), q(oJ, X({
46512
46537
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
46513
46538
  ui: u.value,
46514
46539
  "ui-override": I(a).ui
@@ -46538,43 +46563,43 @@ var YG = /*#__PURE__*/ nH({
46538
46563
  _: 3
46539
46564
  }, 16));
46540
46565
  }
46541
- }, sJ = { class: "channel-directory-manager" }, cJ = { class: "channel-directory-heading" }, lJ = ["aria-expanded"], uJ = { class: "channel-directory-actions" }, dJ = {
46566
+ }, lJ = { class: "channel-directory-manager" }, uJ = { class: "channel-directory-heading" }, dJ = ["aria-expanded"], fJ = { class: "channel-directory-actions" }, pJ = {
46542
46567
  "aria-label": "讨论频道列表",
46543
46568
  class: "channel-room-list",
46544
46569
  "data-room-directory": ""
46545
- }, fJ = ["data-room-folder", "data-drag-folder"], pJ = {
46570
+ }, mJ = ["data-room-folder", "data-drag-folder"], hJ = {
46546
46571
  key: 0,
46547
46572
  class: "channel-folder-row"
46548
- }, mJ = [
46573
+ }, gJ = [
46549
46574
  "disabled",
46550
46575
  "aria-label",
46551
46576
  "aria-expanded",
46552
46577
  "onKeydown",
46553
46578
  "onClick"
46554
- ], hJ = { class: "channel-folder-name" }, gJ = { class: "channel-folder-actions" }, _J = {
46579
+ ], _J = { class: "channel-folder-name" }, vJ = { class: "channel-folder-actions" }, yJ = {
46555
46580
  class: "channel-directory-count",
46556
46581
  "aria-hidden": "true"
46557
- }, vJ = ["data-drop-folder"], yJ = {
46582
+ }, bJ = ["data-drop-folder"], xJ = {
46558
46583
  key: 0,
46559
46584
  class: "channel-directory-empty",
46560
46585
  role: "status"
46561
- }, bJ = ["data-drag-room"], xJ = [
46586
+ }, SJ = ["data-drag-room"], CJ = [
46562
46587
  "aria-label",
46563
46588
  "disabled",
46564
46589
  "onKeydown"
46565
- ], SJ = [
46590
+ ], wJ = [
46566
46591
  "title",
46567
46592
  "aria-label",
46568
46593
  "aria-current",
46569
46594
  "onClick"
46570
- ], CJ = { class: "channel-room-actions" }, wJ = {
46595
+ ], TJ = { class: "channel-room-actions" }, EJ = {
46571
46596
  key: 0,
46572
46597
  class: "channel-directory-empty"
46573
- }, TJ = {
46598
+ }, DJ = { class: "channel-archive-count" }, OJ = {
46574
46599
  key: 0,
46575
46600
  role: "alert",
46576
46601
  class: "channel-directory-error"
46577
- }, EJ = {
46602
+ }, kJ = {
46578
46603
  __name: "ChannelDirectory",
46579
46604
  emits: [
46580
46605
  "select",
@@ -46751,8 +46776,8 @@ var YG = /*#__PURE__*/ nH({
46751
46776
  ];
46752
46777
  }
46753
46778
  return (e, t) => {
46754
- let u = uA, h = zk, v = EV, y = VV, b = oJ;
46755
- return U(), W("div", sJ, [
46779
+ let u = uA, h = zk, v = EV, y = VV, b = cJ;
46780
+ return U(), W("div", lJ, [
46756
46781
  q(u, {
46757
46782
  label: "新建对话",
46758
46783
  icon: "i-lucide-square-pen",
@@ -46762,12 +46787,12 @@ var YG = /*#__PURE__*/ nH({
46762
46787
  disabled: I(r).directory_pending.includes("create-room"),
46763
46788
  onClick: t[0] ||= (e) => n("create", null)
46764
46789
  }, null, 8, ["disabled"]),
46765
- K("div", cJ, [K("button", {
46790
+ K("div", uJ, [K("button", {
46766
46791
  type: "button",
46767
46792
  class: "channel-section-toggle",
46768
46793
  "aria-expanded": f.value,
46769
46794
  onClick: t[1] ||= (e) => f.value = !f.value
46770
- }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, lJ), K("div", uJ, [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, {
46771
46796
  items: d.value,
46772
46797
  content: {
46773
46798
  align: "end",
@@ -46796,12 +46821,12 @@ var YG = /*#__PURE__*/ nH({
46796
46821
  }, null, 8, ["disabled"])]),
46797
46822
  _: 1
46798
46823
  })])]),
46799
- vr(K("nav", dJ, [(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", {
46800
46825
  key: e.order_id,
46801
46826
  class: "channel-folder-section",
46802
46827
  "data-room-folder": e.id,
46803
46828
  "data-drag-folder": e.order_id
46804
- }, [e.id ? (U(), W("div", pJ, [
46829
+ }, [e.id ? (U(), W("div", hJ, [
46805
46830
  K("button", {
46806
46831
  class: "channel-folder-heading",
46807
46832
  "data-drop-folder": "",
@@ -46823,9 +46848,9 @@ var YG = /*#__PURE__*/ nH({
46823
46848
  }, [
46824
46849
  q(h, { name: p.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
46825
46850
  q(h, { name: "i-lucide-folder" }),
46826
- K("span", hJ, P(e.name), 1)
46827
- ], 40, mJ),
46828
- K("div", gJ, [q(v, {
46851
+ K("span", _J, P(e.name), 1)
46852
+ ], 40, gJ),
46853
+ K("div", vJ, [q(v, {
46829
46854
  items: m(e, s),
46830
46855
  content: {
46831
46856
  align: "start",
@@ -46859,12 +46884,12 @@ var YG = /*#__PURE__*/ nH({
46859
46884
  ])]),
46860
46885
  _: 2
46861
46886
  }, 1032, ["text"])]),
46862
- K("small", _J, P(e.pending ? "保存中" : e.rooms.length), 1)
46887
+ K("small", yJ, P(e.pending ? "保存中" : e.rooms.length), 1)
46863
46888
  ])) : Y("", !0), !e.id || !p.value.has(e.id) ? (U(), W("div", {
46864
46889
  key: 1,
46865
46890
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
46866
46891
  "data-drop-folder": e.id ? void 0 : ""
46867
- }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", yJ, "正在创建:" + 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, {
46868
46893
  key: s.id,
46869
46894
  items: _(s, c, s.folder_id || null, e.rooms.length),
46870
46895
  ui: { content: "channel-menu channel-topic-menu" }
@@ -46889,7 +46914,7 @@ var YG = /*#__PURE__*/ nH({
46889
46914
  direction: 1,
46890
46915
  folder_id: s.folder_id || null
46891
46916
  }), ["prevent"]), ["down"])]
46892
- }, [q(h, { name: "i-lucide-grip-vertical" })], 40, xJ),
46917
+ }, [q(h, { name: "i-lucide-grip-vertical" })], 40, CJ),
46893
46918
  K("button", {
46894
46919
  class: "channel-room-select",
46895
46920
  "data-drag-title": "",
@@ -46898,8 +46923,8 @@ var YG = /*#__PURE__*/ nH({
46898
46923
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
46899
46924
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
46900
46925
  onClick: (e) => n("select", s.id)
46901
- }, [K("span", null, P(s.title), 1)], 40, SJ),
46902
- K("div", CJ, [q(y, {
46926
+ }, [K("span", null, P(s.title), 1)], 40, wJ),
46927
+ K("div", TJ, [q(y, {
46903
46928
  text: s.archived ? "恢复频道" : "存档频道",
46904
46929
  ui: { content: "channel-topic-tooltip" }
46905
46930
  }, {
@@ -46940,74 +46965,75 @@ var YG = /*#__PURE__*/ nH({
46940
46965
  }, null, 8, ["aria-label"])]),
46941
46966
  _: 2
46942
46967
  }, 1032, ["items"])])
46943
- ], 10, bJ)]),
46968
+ ], 10, SJ)]),
46944
46969
  _: 2
46945
- }, 1032, ["items"]))), 128))], 10, vJ)) : Y("", !0)], 8, fJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", wJ, "暂无讨论频道"))], 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]]),
46946
46971
  vr(q(u, {
46947
46972
  icon: "i-lucide-archive",
46948
- label: `已存档 · ${c.value}`,
46949
46973
  color: "neutral",
46950
46974
  variant: "ghost",
46951
- size: "xs",
46952
46975
  class: "channel-archive-toggle",
46953
46976
  "aria-haspopup": "dialog",
46954
46977
  onClick: t[6] ||= (e) => n("archives")
46955
- }, null, 8, ["label"]), [[Vc, f.value]]),
46956
- I(r).directory_error ? (U(), W("p", TJ, 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)
46957
46983
  ]);
46958
46984
  };
46959
46985
  }
46960
- }, DJ = {
46986
+ }, AJ = {
46961
46987
  key: 0,
46962
46988
  class: "pb-header"
46963
- }, OJ = { class: "pb-mode" }, kJ = { class: "pb-status-line" }, AJ = { role: "status" }, jJ = {
46989
+ }, jJ = { class: "pb-mode" }, MJ = { class: "pb-status-line" }, NJ = { role: "status" }, PJ = {
46964
46990
  key: 0,
46965
46991
  class: "pb-mode"
46966
- }, MJ = {
46992
+ }, FJ = {
46967
46993
  key: 0,
46968
46994
  class: "pb-status-detail"
46969
- }, NJ = {
46995
+ }, IJ = {
46970
46996
  key: 1,
46971
46997
  class: "pb-status-detail"
46972
- }, PJ = { class: "pb-error-detail" }, FJ = {
46998
+ }, LJ = { class: "pb-error-detail" }, RJ = {
46973
46999
  key: 2,
46974
47000
  class: "pb-meters"
46975
- }, IJ = { class: "pb-meter-label" }, LJ = {
47001
+ }, zJ = { class: "pb-meter-label" }, BJ = {
46976
47002
  key: 0,
46977
47003
  class: "pb-bar"
46978
- }, RJ = {
47004
+ }, VJ = {
46979
47005
  key: 1,
46980
47006
  class: "pb-section",
46981
47007
  "aria-label": "当前焦点"
46982
- }, zJ = {
47008
+ }, HJ = {
46983
47009
  class: "pb-section",
46984
47010
  "aria-label": "参与者"
46985
- }, BJ = {
47011
+ }, UJ = {
46986
47012
  key: 0,
46987
47013
  class: "pb-status-detail pb-held"
46988
- }, VJ = { class: "pb-members" }, HJ = { class: "pb-member-body" }, UJ = { class: "pb-member-name" }, WJ = {
47014
+ }, WJ = { class: "pb-members" }, GJ = { class: "pb-member-body" }, KJ = { class: "pb-member-name" }, qJ = {
46989
47015
  class: "pb-member-model",
46990
47016
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
46991
- }, GJ = { key: 0 }, KJ = {
47017
+ }, JJ = { key: 0 }, YJ = {
46992
47018
  key: 2,
46993
47019
  class: "pb-actions",
46994
47020
  "aria-label": "操作"
46995
- }, qJ = {
47021
+ }, XJ = {
46996
47022
  key: 3,
46997
47023
  class: "pb-section",
46998
47024
  "aria-label": "阶段耗时"
46999
- }, JJ = { class: "pb-timing-heading" }, YJ = ["aria-label"], XJ = { class: "pb-timing-totals" }, ZJ = ["title"], QJ = { class: "pb-timings" }, $J = { class: "pb-timing-who" }, eY = { class: "pb-timing-stages" }, tY = ["title"], nY = {
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 = {
47000
47026
  key: 0,
47001
47027
  class: "pb-note"
47002
- }, rY = { class: "pb-connection" }, iY = { class: "fine-print" }, aY = {
47028
+ }, oY = { class: "pb-connection" }, sY = { class: "fine-print" }, cY = {
47003
47029
  key: 0,
47004
47030
  role: "status",
47005
47031
  class: "fine-print"
47006
- }, oY = {
47032
+ }, lY = {
47007
47033
  key: 2,
47008
47034
  role: "alert",
47009
47035
  class: "fine-print"
47010
- }, sY = { key: 2 }, cY = { class: "progress-ending" }, lY = ["disabled"], uY = { key: 0 }, dY = ["disabled"], fY = 90, pY = 100, mY = /*#__PURE__*/ nH({
47036
+ }, uY = { key: 2 }, dY = { class: "progress-ending" }, fY = ["disabled"], pY = { key: 0 }, mY = ["disabled"], hY = 90, gY = 100, _Y = /*#__PURE__*/ nH({
47011
47037
  __name: "ProgressBoard",
47012
47038
  props: { docked: {
47013
47039
  type: Boolean,
@@ -47044,7 +47070,7 @@ var YG = /*#__PURE__*/ nH({
47044
47070
  "initial",
47045
47071
  "discussing",
47046
47072
  "reviewing"
47047
- ].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 > fY), 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 || {
47048
47074
  items: [],
47049
47075
  totals: {},
47050
47076
  count: 0
@@ -47078,7 +47104,7 @@ var YG = /*#__PURE__*/ nH({
47078
47104
  if (e.phase === "paused") {
47079
47105
  let e = O.value;
47080
47106
  if (e) {
47081
- let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > pY ? `${n.slice(0, pY)}…` : 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;
47082
47108
  return {
47083
47109
  tone: "error",
47084
47110
  title: "已暂停",
@@ -47172,24 +47198,24 @@ var YG = /*#__PURE__*/ nH({
47172
47198
  return (e, l) => {
47173
47199
  let u = Gk, d = zk, O = uA, A = EV, se = pV, j = MV, pe = EG;
47174
47200
  return U(), W("div", { class: M(["progress-board", { "is-docked": t.docked }]) }, [
47175
- t.docked ? (U(), W("header", DJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", OJ, 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),
47176
47202
  K("section", {
47177
47203
  class: M(["pb-status", `is-${ie.value.tone}`]),
47178
47204
  "aria-label": "讨论状态"
47179
47205
  }, [
47180
- K("div", kJ, [
47206
+ K("div", MJ, [
47181
47207
  l[12] ||= K("span", { class: "pb-dot" }, null, -1),
47182
- K("strong", AJ, P(ie.value.title), 1),
47183
- t.docked ? Y("", !0) : (U(), W("span", jJ, P(_.value ? "全自动" : "手动"), 1))
47208
+ K("strong", NJ, P(ie.value.title), 1),
47209
+ t.docked ? Y("", !0) : (U(), W("span", PJ, P(_.value ? "全自动" : "手动"), 1))
47184
47210
  ]),
47185
- ie.value.detail ? (U(), W("p", MJ, P(ie.value.detail), 1)) : Y("", !0),
47186
- ie.value.full_detail ? (U(), W("details", NJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", PJ, P(ie.value.full_detail), 1)])) : Y("", !0),
47187
- ae.value.length ? (U(), W("div", FJ, [(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", {
47188
47214
  key: e.label,
47189
47215
  class: "pb-meter"
47190
- }, [K("div", IJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", LJ, [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)
47191
47217
  ], 2),
47192
- ee.value ? (U(), W("section", RJ, [
47218
+ ee.value ? (U(), W("section", VJ, [
47193
47219
  l[14] ||= K("h4", null, "当前焦点", -1),
47194
47220
  K("p", { class: M(["pb-focus", { "is-expanded": s.value }]) }, P(ee.value), 3),
47195
47221
  te.value ? (U(), W("button", {
@@ -47199,10 +47225,10 @@ var YG = /*#__PURE__*/ nH({
47199
47225
  onClick: l[0] ||= (e) => s.value = !s.value
47200
47226
  }, P(s.value ? "收起" : "展开"), 1)) : Y("", !0)
47201
47227
  ])) : Y("", !0),
47202
- K("section", zJ, [
47228
+ K("section", HJ, [
47203
47229
  l[16] ||= K("h4", null, "参与者", -1),
47204
- m.value.held_since && v.value && !y.value ? (U(), W("p", BJ, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47205
- K("ul", VJ, [(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", {
47206
47232
  key: e.name,
47207
47233
  class: "pb-member"
47208
47234
  }, [
@@ -47218,8 +47244,8 @@ var YG = /*#__PURE__*/ nH({
47218
47244
  "alt",
47219
47245
  "class"
47220
47246
  ]),
47221
- K("div", HJ, [
47222
- K("div", UJ, [
47247
+ K("div", GJ, [
47248
+ K("div", KJ, [
47223
47249
  J(P(I(r).display_name(e.name)), 1),
47224
47250
  e.is_host ? (U(), G(d, {
47225
47251
  key: 0,
@@ -47228,14 +47254,14 @@ var YG = /*#__PURE__*/ nH({
47228
47254
  })) : Y("", !0),
47229
47255
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
47230
47256
  ]),
47231
- K("div", WJ, P(e.model), 1),
47257
+ K("div", qJ, P(e.model), 1),
47232
47258
  x.value ? Y("", !0) : (U(), W("div", {
47233
47259
  key: 0,
47234
47260
  class: M(["pb-member-status", `is-${e.tone}`])
47235
47261
  }, [
47236
47262
  l[15] ||= K("span", { class: "pb-dot" }, null, -1),
47237
47263
  J(P(e.text), 1),
47238
- e.failures ? (U(), W("small", GJ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47264
+ e.failures ? (U(), W("small", JJ, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47239
47265
  ], 2))
47240
47266
  ]),
47241
47267
  e.session ? (U(), G(A, {
@@ -47256,7 +47282,7 @@ var YG = /*#__PURE__*/ nH({
47256
47282
  }, 1032, ["items"])) : Y("", !0)
47257
47283
  ]))), 128))])
47258
47284
  ]),
47259
- T.value ? (U(), W("section", KJ, [
47285
+ T.value ? (U(), W("section", YJ, [
47260
47286
  S.value ? (U(), G(O, {
47261
47287
  key: 0,
47262
47288
  icon: "i-lucide-rotate-ccw",
@@ -47305,8 +47331,8 @@ var YG = /*#__PURE__*/ nH({
47305
47331
  onClick: l[4] ||= (e) => o.value = !0
47306
47332
  })) : Y("", !0)
47307
47333
  ])) : Y("", !0),
47308
- _.value && k.value.count ? (U(), W("section", qJ, [
47309
- K("div", JJ, [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)]),
47310
47336
  K("div", {
47311
47337
  class: "pb-timing-bar",
47312
47338
  role: "img",
@@ -47315,18 +47341,18 @@ var YG = /*#__PURE__*/ nH({
47315
47341
  key: e.key,
47316
47342
  class: M(`is-${e.key}`),
47317
47343
  style: fe({ width: `${e.percent}%` })
47318
- }, null, 6))), 128))], 8, YJ),
47319
- K("dl", XJ, [(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", {
47320
47346
  key: e.key,
47321
47347
  title: e.hint
47322
- }, [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, ZJ))), 128))]),
47323
- K("details", QJ, [
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, [
47324
47350
  l[18] ||= K("summary", null, "查看每次执行", -1),
47325
- K("ol", null, [(U(!0), W(H, null, B(k.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", $J, [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", eY, [(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", {
47326
47352
  key: t.key,
47327
47353
  title: t.hint
47328
- }, P(t.label) + " " + P(ue(e[t.key])), 9, tY)), 64))])]))), 128))]),
47329
- k.value.count > k.value.items.length ? (U(), W("p", nY, "只列出最近 " + 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)
47330
47356
  ])
47331
47357
  ])) : Y("", !0),
47332
47358
  q(pe, {
@@ -47339,7 +47365,7 @@ var YG = /*#__PURE__*/ nH({
47339
47365
  body: "dialog-body"
47340
47366
  }
47341
47367
  }, {
47342
- body: L(() => [K("div", rY, [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, {
47343
47369
  label: "暂停并读取配置",
47344
47370
  icon: "i-lucide-pause",
47345
47371
  class: "channel-primary-button",
@@ -47362,7 +47388,7 @@ var YG = /*#__PURE__*/ nH({
47362
47388
  }, null, 8, ["model-value", "disabled"])]),
47363
47389
  _: 1
47364
47390
  }),
47365
- K("p", iY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47391
+ K("p", sY, P(re.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47366
47392
  q(O, {
47367
47393
  label: "保存接入方式",
47368
47394
  class: "channel-primary-button",
@@ -47370,7 +47396,7 @@ var YG = /*#__PURE__*/ nH({
47370
47396
  disabled: !!I(a),
47371
47397
  onClick: l[6] ||= (e) => I(i)("save_room_configuration")
47372
47398
  }, null, 8, ["loading", "disabled"]),
47373
- I(n).launch.repair?.notice ? (U(), W("p", aY, 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)
47374
47400
  ], 64)) : (U(), G(O, {
47375
47401
  key: 1,
47376
47402
  label: "读取本场配置",
@@ -47378,7 +47404,7 @@ var YG = /*#__PURE__*/ nH({
47378
47404
  color: "neutral",
47379
47405
  loading: !!I(a),
47380
47406
  onClick: ce
47381
- }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", oY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", sY, "本场状态已变化,请关闭后重新核对。"))])]),
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, "本场状态已变化,请关闭后重新核对。"))])]),
47382
47408
  _: 1
47383
47409
  }, 8, ["open"]),
47384
47410
  q(pe, {
@@ -47391,7 +47417,7 @@ var YG = /*#__PURE__*/ nH({
47391
47417
  body: "dialog-body"
47392
47418
  }
47393
47419
  }, {
47394
- body: L(() => [K("div", cY, [K("button", {
47420
+ body: L(() => [K("div", dY, [K("button", {
47395
47421
  type: "button",
47396
47422
  class: "progress-ending-option",
47397
47423
  disabled: !E.value || !!I(a),
@@ -47399,19 +47425,19 @@ var YG = /*#__PURE__*/ nH({
47399
47425
  }, [
47400
47426
  l[20] ||= K("strong", null, "请主持人收尾", -1),
47401
47427
  K("span", null, "立即进入收束,由 " + P(I(r).display_name(m.value.host)) + " 在 " + P(h.value.summary_minutes || 5) + " 分钟收束预留内根据已有材料总结。", 1),
47402
- E.value ? Y("", !0) : (U(), W("small", uY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47403
- ], 8, lY), K("button", {
47428
+ E.value ? Y("", !0) : (U(), W("small", pY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47429
+ ], 8, fY), K("button", {
47404
47430
  type: "button",
47405
47431
  class: "progress-ending-option",
47406
47432
  disabled: b.value || !!I(a),
47407
47433
  onClick: l[9] ||= (e) => de("conclude_discussion")
47408
- }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, dY)])]),
47434
+ }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, mY)])]),
47409
47435
  _: 1
47410
47436
  }, 8, ["open"])
47411
47437
  ], 2);
47412
47438
  };
47413
47439
  }
47414
- }, [["__scopeId", "data-v-9928cf63"]]), hY = { class: "progress-panel-anchor" }, gY = ["aria-expanded", "aria-label"], _Y = { class: "progress-chip-text" }, vY = { class: "progress-chip-rounds" }, yY = {
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 = {
47415
47441
  __name: "ProgressPanel",
47416
47442
  setup(e) {
47417
47443
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -47441,7 +47467,7 @@ var YG = /*#__PURE__*/ nH({
47441
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}`);
47442
47468
  return (e, t) => {
47443
47469
  let n = VV, a = dV;
47444
- return U(), W("div", hY, [q(n, { text: "查看讨论进度" }, {
47470
+ return U(), W("div", vY, [q(n, { text: "查看讨论进度" }, {
47445
47471
  default: L(() => [K("button", {
47446
47472
  type: "button",
47447
47473
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -47449,7 +47475,7 @@ var YG = /*#__PURE__*/ nH({
47449
47475
  "aria-expanded": r.value,
47450
47476
  "aria-label": `查看讨论进度:${c.value}`,
47451
47477
  onClick: t[0] ||= (e) => r.value = !0
47452
- }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", _Y, [J(P(o.value.title), 1), K("span", vY, " · " + P(s.value), 1)])], 10, gY)]),
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)]),
47453
47479
  _: 1
47454
47480
  }), q(a, {
47455
47481
  open: r.value,
@@ -47462,98 +47488,98 @@ var YG = /*#__PURE__*/ nH({
47462
47488
  body: "progress-drawer-body"
47463
47489
  }
47464
47490
  }, {
47465
- body: L(() => [q(mY)]),
47491
+ body: L(() => [q(_Y)]),
47466
47492
  _: 1
47467
47493
  }, 8, ["open", "description"])]);
47468
47494
  };
47469
47495
  }
47470
- }, bY = {
47496
+ }, CY = {
47471
47497
  id: "channel-sidebar",
47472
47498
  class: "channel-sidebar",
47473
47499
  "aria-label": "频道导航"
47474
- }, xY = { class: "channel-workspace-heading" }, SY = { class: "channel-brand-icon" }, CY = { class: "channel-sidebar-content" }, wY = { class: "channel-directory-heading channel-tools-heading" }, TY = ["aria-expanded"], EY = { class: "channel-sidebar-footer" }, DY = { class: "channel-self" }, OY = { class: "channel-connection" }, kY = [
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 = [
47475
47501
  "aria-valuemax",
47476
47502
  "aria-valuenow",
47477
47503
  "aria-valuetext"
47478
- ], AY = { class: "channel-main" }, jY = { class: "channel-header" }, MY = { class: "channel-title-icon" }, NY = { class: "channel-title" }, PY = { class: "channel-title-copy" }, FY = ["title"], IY = ["title"], LY = {
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 = {
47479
47505
  key: 0,
47480
47506
  class: "channel-header-context"
47481
- }, RY = { class: "channel-header-actions" }, zY = {
47507
+ }, VY = { class: "channel-header-actions" }, HY = {
47482
47508
  key: 0,
47483
47509
  class: "channel-launch-recovery",
47484
47510
  "aria-label": "未完成的创建或启动请求"
47485
- }, BY = { role: "status" }, VY = { class: "button-row" }, HY = {
47511
+ }, UY = { role: "status" }, WY = { class: "button-row" }, GY = {
47486
47512
  key: 1,
47487
47513
  class: "channel-tabbar"
47488
- }, UY = { class: "channel-brief-inner" }, WY = { class: "channel-brief-heading" }, GY = ["aria-label", "aria-expanded"], KY = {
47514
+ }, KY = { class: "channel-brief-inner" }, qY = { class: "channel-brief-heading" }, JY = ["aria-label", "aria-expanded"], YY = {
47489
47515
  key: 0,
47490
47516
  class: "channel-brief-preview"
47491
- }, qY = {
47517
+ }, XY = {
47492
47518
  id: "channel-brief-content",
47493
47519
  class: "channel-brief-content"
47494
- }, JY = ["innerHTML"], YY = { class: "channel-brief-footer" }, XY = { class: "channel-brief-status" }, ZY = { class: "channel-content" }, QY = {
47520
+ }, ZY = ["innerHTML"], QY = { class: "channel-brief-footer" }, $Y = { class: "channel-brief-status" }, eX = { class: "channel-content" }, tX = {
47495
47521
  key: 0,
47496
47522
  class: "content-page channel-summary",
47497
47523
  role: "tabpanel",
47498
47524
  "aria-label": "共识"
47499
- }, $Y = { class: "page-heading" }, eX = {
47525
+ }, nX = { class: "page-heading" }, rX = {
47500
47526
  key: 0,
47501
47527
  class: "info-section"
47502
- }, tX = { class: "button-row" }, nX = { class: "form-footer" }, rX = {
47528
+ }, iX = { class: "button-row" }, aX = { class: "form-footer" }, oX = {
47503
47529
  key: 4,
47504
47530
  class: "channel-empty"
47505
- }, iX = ["aria-valuenow", "aria-valuetext"], aX = {
47531
+ }, sX = ["aria-valuenow", "aria-valuetext"], cX = {
47506
47532
  key: 2,
47507
47533
  id: "channel-member-rail",
47508
47534
  class: "channel-member-rail",
47509
47535
  "aria-label": "当前焦点与讨论进度"
47510
- }, oX = { class: "channel-rail-board" }, sX = {
47536
+ }, lX = { class: "channel-rail-board" }, uX = {
47511
47537
  key: 0,
47512
47538
  class: "progress-board is-docked"
47513
- }, cX = { class: "pb-header" }, lX = { class: "pb-mode" }, uX = {
47539
+ }, dX = { class: "pb-header" }, fX = { class: "pb-mode" }, pX = {
47514
47540
  class: "pb-section",
47515
47541
  "aria-label": "成员"
47516
- }, dX = { class: "pb-members" }, fX = { class: "pb-member-body" }, pX = { class: "pb-member-name" }, mX = {
47542
+ }, mX = { class: "pb-members" }, hX = { class: "pb-member-body" }, gX = { class: "pb-member-name" }, _X = {
47517
47543
  key: 0,
47518
47544
  class: "pb-member-model",
47519
47545
  title: "它工作时请不要在原窗口继续操作"
47520
- }, hX = {
47546
+ }, vX = {
47521
47547
  key: 0,
47522
47548
  class: "pb-section",
47523
47549
  "aria-label": "提示"
47524
- }, gX = {
47550
+ }, yX = {
47525
47551
  key: 0,
47526
47552
  role: "alert",
47527
47553
  class: "pb-free-note is-error"
47528
- }, _X = {
47554
+ }, bX = {
47529
47555
  key: 1,
47530
47556
  role: "status",
47531
47557
  class: "pb-free-note"
47532
- }, vX = {
47558
+ }, xX = {
47533
47559
  key: 2,
47534
47560
  role: "alert",
47535
47561
  class: "pb-free-note is-error"
47536
- }, yX = {
47562
+ }, SX = {
47537
47563
  key: 3,
47538
47564
  role: "status",
47539
47565
  class: "pb-free-note"
47540
- }, bX = {
47566
+ }, CX = {
47541
47567
  class: "pb-section",
47542
47568
  "aria-label": "邀请"
47543
- }, xX = {
47569
+ }, wX = {
47544
47570
  key: 0,
47545
47571
  class: "pb-free-note"
47546
- }, SX = {
47572
+ }, TX = {
47547
47573
  key: 1,
47548
47574
  class: "pb-section",
47549
47575
  "aria-label": "头脑风暴"
47550
- }, CX = ["onClick"], wX = {
47576
+ }, EX = ["onClick"], DX = {
47551
47577
  class: "pb-actions",
47552
47578
  "aria-label": "操作"
47553
- }, TX = {
47579
+ }, OX = {
47554
47580
  key: 2,
47555
47581
  class: "progress-board is-docked"
47556
- }, EX = { class: "channel-detail-title" }, DX = { class: "info-section" }, OX = "ai-codiscuss-channel-layout", kX = 220, AX = 440, jX = 280, MX = 16, NX = 180, PX = 400, FX = 248, IX = 16, LX = 480, RX = 1200, zX = 6, BX = {
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 = {
47557
47583
  __name: "ChannelWorkspace",
47558
47584
  setup(e) {
47559
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 = {
@@ -47569,13 +47595,13 @@ var YG = /*#__PURE__*/ nH({
47569
47595
  label: "宽",
47570
47596
  width: 1240
47571
47597
  }
47572
- }, 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 >= RX), 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(() => {
47573
47599
  let e = document.createElement("template");
47574
47600
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
47575
- }), k = /* @__PURE__ */ F(null), ne = /* @__PURE__ */ F(null), re = Z(() => Math.min(PX, Math.max(NX, C.value - LX - zX))), 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(() => ({
47576
47602
  "--channel-reading-width": `${v[b.value].width}px`,
47577
47603
  "--channel-rail-width": `${x.value}px`,
47578
- "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${zX}px minmax(0, 1fr)`
47604
+ "--channel-main-columns": w.value ? "minmax(0, 1fr)" : `${ie.value}px ${HX}px minmax(0, 1fr)`
47579
47605
  })), A = Object.entries(v).map(([e, t]) => ({
47580
47606
  value: e,
47581
47607
  label: t.label
@@ -47709,11 +47735,11 @@ var YG = /*#__PURE__*/ nH({
47709
47735
  }
47710
47736
  function Oe() {
47711
47737
  try {
47712
- let e = JSON.parse(localStorage.getItem(OX)) || {};
47738
+ let e = JSON.parse(localStorage.getItem(jX)) || {};
47713
47739
  return {
47714
47740
  reading: Object.hasOwn(v, e.reading) ? e.reading : "default",
47715
- rail: Number.isFinite(e.rail) ? Math.min(AX, Math.max(kX, e.rail)) : jX,
47716
- nav: Number.isFinite(e.nav) ? Math.min(PX, Math.max(NX, 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(),
47717
47743
  collapsed: e.collapsed === !0,
47718
47744
  brief_collapsed: e.brief_collapsed === !0,
47719
47745
  rail_collapsed: e.rail_collapsed === !0
@@ -47721,7 +47747,7 @@ var YG = /*#__PURE__*/ nH({
47721
47747
  } catch {
47722
47748
  return {
47723
47749
  reading: "default",
47724
- rail: jX,
47750
+ rail: PX,
47725
47751
  nav: ke(),
47726
47752
  collapsed: !1,
47727
47753
  brief_collapsed: !1,
@@ -47730,11 +47756,11 @@ var YG = /*#__PURE__*/ nH({
47730
47756
  }
47731
47757
  }
47732
47758
  function ke() {
47733
- return typeof window > "u" ? FX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : FX;
47759
+ return typeof window > "u" ? RX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : RX;
47734
47760
  }
47735
47761
  function Ae() {
47736
47762
  try {
47737
- localStorage.setItem(OX, JSON.stringify({
47763
+ localStorage.setItem(jX, JSON.stringify({
47738
47764
  reading: b.value,
47739
47765
  rail: x.value,
47740
47766
  nav: S.value,
@@ -47764,19 +47790,19 @@ var YG = /*#__PURE__*/ nH({
47764
47790
  }, e.currentTarget.setPointerCapture(e.pointerId));
47765
47791
  }
47766
47792
  function Ie(e) {
47767
- k.value?.pointer === e.pointerId && (x.value = Math.round(Math.min(AX, Math.max(kX, 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))));
47768
47794
  }
47769
47795
  function Le(e) {
47770
47796
  k.value?.pointer === e.pointerId && (k.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47771
47797
  }
47772
47798
  function Re(e) {
47773
47799
  let t = {
47774
- ArrowLeft: x.value + MX,
47775
- ArrowRight: x.value - MX,
47776
- Home: kX,
47777
- End: AX
47800
+ ArrowLeft: x.value + FX,
47801
+ ArrowRight: x.value - FX,
47802
+ Home: MX,
47803
+ End: NX
47778
47804
  };
47779
- Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(AX, Math.max(kX, t[e.key])), Ae());
47805
+ Object.hasOwn(t, e.key) && (e.preventDefault(), x.value = Math.min(NX, Math.max(MX, t[e.key])), Ae());
47780
47806
  }
47781
47807
  function ze(e) {
47782
47808
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), ne.value = {
@@ -47786,19 +47812,19 @@ var YG = /*#__PURE__*/ nH({
47786
47812
  }, e.currentTarget.setPointerCapture(e.pointerId));
47787
47813
  }
47788
47814
  function Be(e) {
47789
- ne.value?.pointer === e.pointerId && (S.value = Math.round(Math.min(re.value, Math.max(NX, 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))));
47790
47816
  }
47791
47817
  function Ve(e) {
47792
47818
  ne.value?.pointer === e.pointerId && (ne.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ae());
47793
47819
  }
47794
47820
  function He(e) {
47795
47821
  let t = {
47796
- ArrowLeft: ie.value - IX,
47797
- ArrowRight: ie.value + IX,
47798
- Home: NX,
47822
+ ArrowLeft: ie.value - zX,
47823
+ ArrowRight: ie.value + zX,
47824
+ Home: IX,
47799
47825
  End: re.value
47800
47826
  };
47801
- Object.hasOwn(t, e.key) && (e.preventDefault(), S.value = Math.min(re.value, Math.max(NX, 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());
47802
47828
  }
47803
47829
  return (e, r) => {
47804
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;
@@ -47810,14 +47836,14 @@ var YG = /*#__PURE__*/ nH({
47810
47836
  }]),
47811
47837
  style: fe(ae.value)
47812
47838
  }, [
47813
- K("aside", bY, [
47814
- K("header", xY, [
47815
- K("span", SY, [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" })]),
47816
47842
  r[26] ||= K("strong", null, "共议", -1),
47817
47843
  r[27] ||= K("span", null, "AI CoDiscuss", -1)
47818
47844
  ]),
47819
- K("div", CY, [
47820
- q(EJ, {
47845
+ K("div", EY, [
47846
+ q(kJ, {
47821
47847
  onSelect: Se,
47822
47848
  onManage: be,
47823
47849
  onCreate: we,
@@ -47826,12 +47852,12 @@ var YG = /*#__PURE__*/ nH({
47826
47852
  onDeleteFolder: De,
47827
47853
  onArchives: xe
47828
47854
  }),
47829
- K("div", wY, [K("button", {
47855
+ K("div", DY, [K("button", {
47830
47856
  type: "button",
47831
47857
  class: "channel-section-toggle",
47832
47858
  "aria-expanded": f.value,
47833
47859
  onClick: r[0] ||= (e) => f.value = !f.value
47834
- }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, TY)]),
47860
+ }, [q(v, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, OY)]),
47835
47861
  f.value ? (U(), G(y, {
47836
47862
  key: 0,
47837
47863
  items: ve.value,
@@ -47847,7 +47873,7 @@ var YG = /*#__PURE__*/ nH({
47847
47873
  }
47848
47874
  }, null, 8, ["items"])) : Y("", !0)
47849
47875
  ]),
47850
- K("footer", EY, [
47876
+ K("footer", kY, [
47851
47877
  q(S, {
47852
47878
  src: I(n).identities[I(_)]?.icon,
47853
47879
  text: I(n).identities[I(_)]?.initials,
@@ -47860,7 +47886,7 @@ var YG = /*#__PURE__*/ nH({
47860
47886
  "alt",
47861
47887
  "class"
47862
47888
  ]),
47863
- K("div", DY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", OY, [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)])]),
47864
47890
  q(E, { text: "外观设置" }, {
47865
47891
  default: L(() => [q(C, {
47866
47892
  icon: "i-lucide-settings-2",
@@ -47883,7 +47909,7 @@ var YG = /*#__PURE__*/ nH({
47883
47909
  "aria-label": "调整频道栏宽度",
47884
47910
  "aria-orientation": "vertical",
47885
47911
  "aria-controls": "channel-sidebar",
47886
- "aria-valuemin": NX,
47912
+ "aria-valuemin": IX,
47887
47913
  "aria-valuemax": re.value,
47888
47914
  "aria-valuenow": ie.value,
47889
47915
  "aria-valuetext": `${ie.value} 像素`,
@@ -47894,9 +47920,9 @@ var YG = /*#__PURE__*/ nH({
47894
47920
  onPointercancel: Ve,
47895
47921
  onLostpointercapture: Ve,
47896
47922
  onKeydown: He
47897
- }, null, 40, kY)),
47898
- K("main", AY, [
47899
- K("header", jY, [
47923
+ }, null, 40, MY)),
47924
+ K("main", NY, [
47925
+ K("header", PY, [
47900
47926
  q(E, { text: w.value ? "展开频道栏" : "收起频道栏" }, {
47901
47927
  default: L(() => [q(C, {
47902
47928
  icon: "i-lucide-panel-left",
@@ -47921,13 +47947,13 @@ var YG = /*#__PURE__*/ nH({
47921
47947
  "aria-expanded": d.value,
47922
47948
  onClick: r[3] ||= (e) => d.value = !0
47923
47949
  }, null, 8, ["aria-expanded"]),
47924
- K("span", MY, [q(v, { name: "i-lucide-hash" })]),
47925
- K("div", NY, [K("div", PY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, FY), 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", {
47926
47952
  key: 0,
47927
47953
  class: M(["channel-floor-status", { "is-held": o.value.floor.holder }]),
47928
47954
  role: "status",
47929
47955
  title: `发言权:${I(n).floor_status(o.value)}`
47930
- }, [q(v, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, IY)) : 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, {
47931
47957
  key: 0,
47932
47958
  color: "neutral",
47933
47959
  variant: "subtle",
@@ -47936,12 +47962,12 @@ var YG = /*#__PURE__*/ nH({
47936
47962
  default: L(() => [...r[29] ||= [J("已存档", -1)]]),
47937
47963
  _: 1
47938
47964
  })) : Y("", !0)]),
47939
- o.value ? (U(), W("span", LY, [
47965
+ o.value ? (U(), W("span", BY, [
47940
47966
  J(P(le.value.find((e) => e.value === I(t).tab)?.label), 1),
47941
47967
  r[30] ||= K("span", null, "·", -1),
47942
47968
  J(P(o.value.message_count) + " 条记录", 1)
47943
47969
  ])) : Y("", !0),
47944
- K("div", RY, [
47970
+ K("div", VY, [
47945
47971
  I(t).tab === "discussion" ? (U(), W("form", {
47946
47972
  key: 0,
47947
47973
  class: "channel-search",
@@ -47999,7 +48025,7 @@ var YG = /*#__PURE__*/ nH({
47999
48025
  ])]),
48000
48026
  _: 1
48001
48027
  })) : Y("", !0),
48002
- o.value && !(O.value && D.value) ? (U(), G(yY, { key: 2 })) : Y("", !0)
48028
+ o.value && !(O.value && D.value) ? (U(), G(SY, { key: 2 })) : Y("", !0)
48003
48029
  ]),
48004
48030
  q(E, { text: ee.value }, {
48005
48031
  default: L(() => [q(C, {
@@ -48020,12 +48046,12 @@ var YG = /*#__PURE__*/ nH({
48020
48046
  _: 1
48021
48047
  }, 8, ["text"])
48022
48048
  ]),
48023
- I(t).launch.recoveries.length ? (U(), W("section", zY, [
48049
+ I(t).launch.recoveries.length ? (U(), W("section", HY, [
48024
48050
  r[31] ||= K("h2", null, "继续未完成的请求", -1),
48025
48051
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
48026
48052
  K("strong", null, P(e.title), 1),
48027
- K("p", BY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48028
- K("div", VY, [
48053
+ K("p", UY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48054
+ K("div", WY, [
48029
48055
  q(C, {
48030
48056
  label: e.direct ? "继续创建房间" : "继续本次启动",
48031
48057
  size: "sm",
@@ -48058,7 +48084,7 @@ var YG = /*#__PURE__*/ nH({
48058
48084
  ]))), 128)),
48059
48085
  r[32] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
48060
48086
  ])) : Y("", !0),
48061
- o.value ? (U(), W("div", HY, [q(Oe, {
48087
+ o.value ? (U(), W("div", GY, [q(Oe, {
48062
48088
  modelValue: oe.value,
48063
48089
  "onUpdate:modelValue": r[8] ||= (e) => oe.value = e,
48064
48090
  items: le.value,
@@ -48073,7 +48099,7 @@ var YG = /*#__PURE__*/ nH({
48073
48099
  key: 2,
48074
48100
  class: M(["channel-host-brief", { "is-collapsed": T.value }]),
48075
48101
  "aria-label": "主持简报"
48076
- }, [K("div", UY, [K("div", WY, [K("button", {
48102
+ }, [K("div", KY, [K("div", qY, [K("button", {
48077
48103
  type: "button",
48078
48104
  class: "channel-brief-toggle",
48079
48105
  "aria-label": T.value ? "展开主持简报" : "收起主持简报",
@@ -48083,8 +48109,8 @@ var YG = /*#__PURE__*/ nH({
48083
48109
  }, [
48084
48110
  q(v, { name: T.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
48085
48111
  K("strong", null, "主持简报" + P(T.value ? ":" : ""), 1),
48086
- T.value ? (U(), W("span", KY, P(te.value), 1)) : Y("", !0)
48087
- ], 8, GY), 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, {
48088
48114
  key: 0,
48089
48115
  label: "更新简报",
48090
48116
  color: "neutral",
@@ -48092,30 +48118,30 @@ var YG = /*#__PURE__*/ nH({
48092
48118
  size: "xs",
48093
48119
  class: "channel-brief-update",
48094
48120
  onClick: r[9] ||= (e) => I(i)("tab", "context")
48095
- }))]), vr(K("div", qY, [K("div", {
48121
+ }))]), vr(K("div", XY, [K("div", {
48096
48122
  class: "channel-brief-text markdown-body",
48097
48123
  innerHTML: o.value.rendered_brief
48098
- }, null, 8, JY), K("div", YY, [K("span", XY, 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),
48099
48125
  o.value ? (U(), W("div", {
48100
48126
  key: 3,
48101
48127
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
48102
- }, [K("div", ZY, [
48128
+ }, [K("div", eX, [
48103
48129
  vr(q(aW, {
48104
48130
  onDetail: Ce,
48105
48131
  onEdit: r[10] ||= (e) => s.value = "edit"
48106
48132
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
48107
- I(t).tab === "context" ? (U(), W("section", QY, [
48108
- K("div", $Y, [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, {
48109
48135
  color: "neutral",
48110
48136
  variant: "outline"
48111
48137
  }, {
48112
48138
  default: L(() => [J("截止 #" + P(o.value.state_until), 1)]),
48113
48139
  _: 1
48114
48140
  })]),
48115
- Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", eX, [
48141
+ Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", rX, [
48116
48142
  r[34] ||= K("h3", null, "最新运行回执", -1),
48117
48143
  r[35] ||= K("p", { class: "fine-print" }, "以下回执独立于摘要更新;晚于摘要的回执可能尚未整理,实际运行结果请查看原文。", -1),
48118
- K("div", tX, [(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, {
48119
48145
  key: e.id,
48120
48146
  label: `${I(n).display_name(e.author)} #${e.id} · ${new Date(e.created_at).toLocaleString("zh-CN")}${e.id > o.value.state_until ? " · 晚于摘要" : ""}`,
48121
48147
  variant: "link",
@@ -48158,7 +48184,7 @@ var YG = /*#__PURE__*/ nH({
48158
48184
  }, null, 8, ["modelValue"])]),
48159
48185
  _: 1
48160
48186
  }),
48161
- K("div", nX, [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, {
48162
48188
  type: "submit",
48163
48189
  color: "neutral",
48164
48190
  icon: "i-lucide-check",
@@ -48173,7 +48199,7 @@ var YG = /*#__PURE__*/ nH({
48173
48199
  onOpen: r[14] ||= (e) => s.value = e,
48174
48200
  onDetail: Ce
48175
48201
  })) : Y("", !0)
48176
- ])], 2)) : (U(), W("div", rX, [
48202
+ ])], 2)) : (U(), W("div", oX, [
48177
48203
  q(v, { name: "i-lucide-hash" }),
48178
48204
  r[36] ||= K("h2", null, "新建一个讨论频道", -1),
48179
48205
  r[37] ||= K("p", null, "每个频道围绕一个议题,保留所有人的观点。", -1),
@@ -48193,8 +48219,8 @@ var YG = /*#__PURE__*/ nH({
48193
48219
  "aria-label": "调整右侧栏宽度",
48194
48220
  "aria-orientation": "vertical",
48195
48221
  "aria-controls": "channel-member-rail",
48196
- "aria-valuemin": kX,
48197
- "aria-valuemax": AX,
48222
+ "aria-valuemin": MX,
48223
+ "aria-valuemax": NX,
48198
48224
  "aria-valuenow": x.value,
48199
48225
  "aria-valuetext": `${x.value} 像素`,
48200
48226
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -48204,10 +48230,10 @@ var YG = /*#__PURE__*/ nH({
48204
48230
  onPointercancel: Le,
48205
48231
  onLostpointercapture: Le,
48206
48232
  onKeydown: Re
48207
- }, null, 40, iX)) : Y("", !0),
48208
- O.value ? (U(), W("aside", aX, [K("section", oX, [o.value && ce.value ? (U(), W("div", sX, [
48209
- K("header", cX, [r[38] ||= K("strong", null, "自由协作", -1), K("span", lX, P(he.value ? `${I(n).display_name(he.value.name)} 协助主持` : "你来主持"), 1)]),
48210
- K("section", uX, [r[40] ||= K("h4", null, "成员", -1), K("ul", dX, [(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", {
48211
48237
  key: e.id,
48212
48238
  class: "pb-member"
48213
48239
  }, [
@@ -48223,8 +48249,8 @@ var YG = /*#__PURE__*/ nH({
48223
48249
  "alt",
48224
48250
  "class"
48225
48251
  ]),
48226
- K("div", fX, [
48227
- K("div", pX, [
48252
+ K("div", hX, [
48253
+ K("div", gX, [
48228
48254
  J(P(I(n).display_name(e.name)), 1),
48229
48255
  e.role === "host" ? (U(), G(v, {
48230
48256
  key: 0,
@@ -48237,7 +48263,7 @@ var YG = /*#__PURE__*/ nH({
48237
48263
  }[e.access] || "本机自动"), 1)
48238
48264
  ]),
48239
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),
48240
- e.session_mode === "borrowed" ? (U(), W("p", mX, "借用你正在使用的会话")) : Y("", !0)
48266
+ e.session_mode === "borrowed" ? (U(), W("p", _X, "借用你正在使用的会话")) : Y("", !0)
48241
48267
  ]),
48242
48268
  q(Me, {
48243
48269
  items: N(e),
@@ -48255,7 +48281,7 @@ var YG = /*#__PURE__*/ nH({
48255
48281
  _: 2
48256
48282
  }, 1032, ["items"])
48257
48283
  ]))), 128))])]),
48258
- 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", hX, [
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, [
48259
48285
  r[41] ||= K("h4", null, "提示", -1),
48260
48286
  (U(!0), W(H, null, B(o.value.free?.conflicts || [], (e) => (U(), W("p", {
48261
48287
  key: e.executions.join("-"),
@@ -48265,10 +48291,10 @@ var YG = /*#__PURE__*/ nH({
48265
48291
  key: e.chain_id,
48266
48292
  class: "pb-free-note"
48267
48293
  }, "#" + P(e.chain_id) + " 的任务链已停:" + P(e.reason === "budget" ? `达到 ${o.value.free.max_auto_hops} 次上限` : "派出的成员都失败了") + ";发新消息即重新开始", 1))), 128)),
48268
- I(t).free_error ? (U(), W("p", gX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", _X, P(I(t).free_notice), 1)) : Y("", !0),
48269
- I(t).access?.error ? (U(), W("p", vX, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", yX, 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)
48270
48296
  ])) : Y("", !0),
48271
- K("section", bX, [
48297
+ K("section", CX, [
48272
48298
  r[42] ||= K("h4", null, "邀请 AI", -1),
48273
48299
  K("form", {
48274
48300
  class: "pb-free-invite",
@@ -48303,15 +48329,15 @@ var YG = /*#__PURE__*/ nH({
48303
48329
  size: "sm",
48304
48330
  class: "w-26"
48305
48331
  }, null, 8, ["modelValue"])], 32),
48306
- de.value === "runner" && !I(t).launch.available ? (U(), W("p", xX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48332
+ de.value === "runner" && !I(t).launch.available ? (U(), W("p", wX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48307
48333
  ]),
48308
- o.value.linked_rooms?.length ? (U(), W("section", SX, [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", {
48309
48335
  key: e.id,
48310
48336
  type: "button",
48311
48337
  class: "pb-link pb-free-linked",
48312
48338
  onClick: (t) => I(i)("room", e.id)
48313
- }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, CX))), 128))])) : Y("", !0),
48314
- K("section", wX, [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, {
48315
48341
  icon: "i-lucide-user-plus",
48316
48342
  label: "邀请",
48317
48343
  size: "sm",
@@ -48333,10 +48359,10 @@ var YG = /*#__PURE__*/ nH({
48333
48359
  title: "用当前成员新建一场讨论房间,收束后可把结论发回这里",
48334
48360
  onClick: j
48335
48361
  })])
48336
- ])) : o.value ? (U(), G(mY, {
48362
+ ])) : o.value ? (U(), G(_Y, {
48337
48363
  key: 1,
48338
48364
  docked: ""
48339
- })) : (U(), W("div", TX, [...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),
48340
48366
  q(Ue, {
48341
48367
  open: d.value,
48342
48368
  "onUpdate:open": r[21] ||= (e) => d.value = e,
@@ -48348,7 +48374,7 @@ var YG = /*#__PURE__*/ nH({
48348
48374
  body: "channel-drawer-body"
48349
48375
  }
48350
48376
  }, {
48351
- body: L(() => [q(EJ, {
48377
+ body: L(() => [q(kJ, {
48352
48378
  onSelect: Se,
48353
48379
  onManage: be,
48354
48380
  onCreate: we,
@@ -48379,7 +48405,7 @@ var YG = /*#__PURE__*/ nH({
48379
48405
  }
48380
48406
  }, {
48381
48407
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
48382
- K("div", EX, [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)]),
48383
48409
  (U(), W(H, null, B([
48384
48410
  {
48385
48411
  key: "goal",
@@ -48406,7 +48432,7 @@ var YG = /*#__PURE__*/ nH({
48406
48432
  class: "info-section"
48407
48433
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
48408
48434
  q(We),
48409
- K("section", DX, [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", {
48410
48436
  key: e.name,
48411
48437
  class: "expert-row"
48412
48438
  }, [
@@ -48439,7 +48465,7 @@ var YG = /*#__PURE__*/ nH({
48439
48465
  ], 64)) : Y("", !0)]),
48440
48466
  _: 1
48441
48467
  }, 8, ["open"]),
48442
- q(rJ, {
48468
+ q(aJ, {
48443
48469
  modelValue: s.value,
48444
48470
  "onUpdate:modelValue": r[24] ||= (e) => s.value = e,
48445
48471
  "reading-width": b.value,
@@ -48459,7 +48485,7 @@ var YG = /*#__PURE__*/ nH({
48459
48485
  ], 6);
48460
48486
  };
48461
48487
  }
48462
- }, VX = {
48488
+ }, WX = {
48463
48489
  __name: "App",
48464
48490
  setup(e) {
48465
48491
  return br("discussion", oV()), (e, t) => {
@@ -48470,7 +48496,7 @@ var YG = /*#__PURE__*/ nH({
48470
48496
  toaster: null
48471
48497
  }, {
48472
48498
  default: L(() => [q(I(Az), { "reduced-motion": "user" }, {
48473
- default: L(() => [q(BX)]),
48499
+ default: L(() => [q(UX)]),
48474
48500
  _: 1
48475
48501
  })]),
48476
48502
  _: 1
@@ -48480,8 +48506,8 @@ var YG = /*#__PURE__*/ nH({
48480
48506
  };
48481
48507
  //#endregion
48482
48508
  //#region frontend/main.js
48483
- function HX() {
48484
- bu(VX).use(fh).mount("#modern-root");
48509
+ function GX() {
48510
+ bu(WX).use(fh).mount("#modern-root");
48485
48511
  }
48486
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", HX) : HX();
48512
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", GX) : GX();
48487
48513
  //#endregion