ai_co_discuss 0.2.13 → 0.2.14

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
@@ -42223,22 +42223,137 @@ var QV = {
42223
42223
  ], 2);
42224
42224
  };
42225
42225
  }
42226
- }, [["__scopeId", "data-v-2ecfb51c"]]), pW = {
42226
+ }, [["__scopeId", "data-v-2ecfb51c"]]), pW = { class: "api-settings" }, mW = { class: "api-key-row" }, hW = ["id"], gW = ["value"], _W = { class: "api-model-row" }, vW = ["disabled"], yW = {
42227
+ key: 0,
42228
+ role: "alert"
42229
+ }, bW = { key: 1 }, xW = /*#__PURE__*/ nH({
42230
+ __name: "ApiSettings",
42231
+ props: { name: {
42232
+ type: String,
42233
+ required: !0
42234
+ } },
42235
+ setup(e) {
42236
+ let t = e, { view: n, bridge: r } = xr("discussion"), i = Z(() => n.value.launch.profiles[t.name] || {}), a = Z(() => r.launch_model_state(t.name, n.value.launch)), o = /* @__PURE__ */ F(""), s = /* @__PURE__ */ F(!1), c = /* @__PURE__ */ F(""), l = [
42237
+ {
42238
+ value: "responses",
42239
+ label: "OpenAI Responses"
42240
+ },
42241
+ {
42242
+ value: "chat",
42243
+ label: "OpenAI Chat Completions"
42244
+ },
42245
+ {
42246
+ value: "anthropic",
42247
+ label: "Anthropic Messages"
42248
+ },
42249
+ {
42250
+ value: "gemini",
42251
+ label: "Gemini generateContent"
42252
+ }
42253
+ ], u = (e, n) => r.write_launch(t.name, e, n);
42254
+ async function d() {
42255
+ s.value = !0, c.value = "";
42256
+ try {
42257
+ await r.save_launch_api_key(t.name, o.value), o.value = "";
42258
+ } catch (e) {
42259
+ c.value = e.message;
42260
+ } finally {
42261
+ s.value = !1;
42262
+ }
42263
+ }
42264
+ return (t, f) => {
42265
+ let p = xV, m = MV, h = pV, g = uA;
42266
+ return U(), W("div", pW, [
42267
+ q(m, { label: "Base URL" }, {
42268
+ default: L(() => [q(p, {
42269
+ "model-value": i.value.base_url || "",
42270
+ "aria-label": `${e.name} Base URL`,
42271
+ class: "w-full",
42272
+ size: "xs",
42273
+ "onUpdate:modelValue": f[0] ||= (e) => u("base_url", e)
42274
+ }, null, 8, ["model-value", "aria-label"])]),
42275
+ _: 1
42276
+ }),
42277
+ q(m, { label: "请求协议" }, {
42278
+ default: L(() => [q(h, {
42279
+ "model-value": i.value.api_protocol || "",
42280
+ items: l,
42281
+ "aria-label": `${e.name} API 请求协议`,
42282
+ class: "w-full",
42283
+ size: "xs",
42284
+ "onUpdate:modelValue": f[1] ||= (e) => u("api_protocol", e)
42285
+ }, null, 8, ["model-value", "aria-label"])]),
42286
+ _: 1
42287
+ }),
42288
+ q(m, { label: "API Key" }, {
42289
+ default: L(() => [K("div", mW, [q(p, {
42290
+ modelValue: o.value,
42291
+ "onUpdate:modelValue": f[2] ||= (e) => o.value = e,
42292
+ type: "password",
42293
+ autocomplete: "new-password",
42294
+ placeholder: i.value.api_key_ref ? "已保存,输入可更换" : "填写此地址对应的密钥",
42295
+ "aria-label": `${e.name} API Key`,
42296
+ size: "xs",
42297
+ class: "w-full"
42298
+ }, null, 8, [
42299
+ "modelValue",
42300
+ "placeholder",
42301
+ "aria-label"
42302
+ ]), q(g, {
42303
+ label: "保存密钥",
42304
+ size: "xs",
42305
+ color: "neutral",
42306
+ variant: "outline",
42307
+ loading: s.value,
42308
+ disabled: !o.value.trim() || !I(n).launch.available,
42309
+ onClick: d
42310
+ }, null, 8, ["loading", "disabled"])])]),
42311
+ _: 1
42312
+ }),
42313
+ q(m, { label: "模型 ID" }, {
42314
+ default: L(() => [q(p, {
42315
+ "model-value": i.value.model || "",
42316
+ list: `api-models-${e.name}`,
42317
+ "aria-label": `${e.name} API 模型 ID`,
42318
+ placeholder: "选择推荐模型或输入完整 ID",
42319
+ class: "w-full",
42320
+ size: "xs",
42321
+ "onUpdate:modelValue": f[3] ||= (e) => u("model", e)
42322
+ }, null, 8, [
42323
+ "model-value",
42324
+ "list",
42325
+ "aria-label"
42326
+ ]), K("datalist", { id: `api-models-${e.name}` }, [(U(!0), W(H, null, B(a.value.items, (e) => (U(), W("option", {
42327
+ key: e.value,
42328
+ value: e.value
42329
+ }, P(e.label), 9, gW))), 128))], 8, hW)]),
42330
+ _: 1
42331
+ }),
42332
+ K("div", _W, [f[5] ||= K("span", null, "仅使用房间上下文", -1), K("button", {
42333
+ type: "button",
42334
+ disabled: !i.value.api_key_ref || a.value.loading,
42335
+ onClick: f[4] ||= (t) => I(r).load_launch_models(e.name, !0)
42336
+ }, P(a.value.loading ? "读取中…" : "读取模型列表"), 9, vW)]),
42337
+ c.value || a.value.error ? (U(), W("p", yW, P(c.value || a.value.error), 1)) : (U(), W("p", bW, "OpenRouter 等兼容服务可选 Chat Completions,并填写该服务的完整模型 ID。"))
42338
+ ]);
42339
+ };
42340
+ }
42341
+ }, [["__scopeId", "data-v-c7e0eb16"]]), SW = {
42227
42342
  class: "launch-settings",
42228
42343
  "aria-label": "启动配置"
42229
- }, mW = { class: "launch-connect-command" }, hW = {
42344
+ }, CW = { class: "launch-connect-command" }, wW = {
42230
42345
  key: 0,
42231
42346
  role: "alert",
42232
42347
  class: "fine-print"
42233
- }, gW = { class: "launch-effective" }, _W = { class: "launch-client-fields" }, vW = ["onClick"], yW = { class: "launch-client-fields" }, bW = { class: "form-two-columns" }, xW = {
42348
+ }, TW = { class: "launch-effective" }, EW = { class: "launch-client-fields" }, DW = ["onClick"], OW = { key: 7 }, kW = { class: "launch-client-fields" }, AW = { class: "form-two-columns" }, jW = {
42234
42349
  key: 0,
42235
42350
  role: "alert",
42236
42351
  class: "fine-print"
42237
- }, SW = {
42352
+ }, MW = {
42238
42353
  key: 1,
42239
42354
  role: "status",
42240
42355
  class: "fine-print"
42241
- }, CW = /*#__PURE__*/ nH({
42356
+ }, NW = /*#__PURE__*/ nH({
42242
42357
  __name: "LaunchSettings",
42243
42358
  props: {
42244
42359
  participants: {
@@ -42279,21 +42394,21 @@ var QV = {
42279
42394
  e && t && o.value.forEach((e) => r.load_launch_models(e));
42280
42395
  }, { immediate: !0 }), (e, m) => {
42281
42396
  let h = uA, g = pV, _ = MV, v = xV, y = FV;
42282
- return U(), W("section", pW, [I(n).launch.available ? (U(), W(H, { key: 1 }, [
42397
+ return U(), W("section", SW, [I(n).launch.available ? (U(), W(H, { key: 1 }, [
42283
42398
  m[10] ||= K("h3", null, "启动配置", -1),
42284
- m[11] ||= K("p", { class: "fine-print" }, "软件配置可保存供后续讨论复用。App 需要保持运行;CLI 按需启动,使用已有登录和工具权限。", -1),
42399
+ m[11] ||= K("p", { class: "fine-print" }, "接入配置可保存供后续讨论复用。API 不需要安装 AI 软件;App 需要保持运行;CLI 按需启动。", -1),
42285
42400
  (U(!0), W(H, null, B(o.value, (e) => (U(), W("details", {
42286
42401
  key: e,
42287
42402
  open: "",
42288
42403
  class: "launch-client"
42289
42404
  }, [
42290
42405
  K("summary", null, P(e) + " · " + P(I(r).launch_summary(e).client) + " · " + P(I(r).launch_summary(e).session), 1),
42291
- K("p", gW, [
42406
+ K("p", TW, [
42292
42407
  J("工作目录:" + P(I(r).launch_summary(e).cwd) + "(" + P(I(r).launch_summary(e).access) + ")", 1),
42293
42408
  m[8] ||= K("br", null, null, -1),
42294
42409
  J("项目:" + P(I(r).launch_summary(e).project), 1)
42295
42410
  ]),
42296
- K("div", _W, [
42411
+ K("div", EW, [
42297
42412
  q(_, { label: `${e} 执行客户端` }, {
42298
42413
  default: L(() => [q(g, {
42299
42414
  "model-value": s(e).adapter || "",
@@ -42319,7 +42434,7 @@ var QV = {
42319
42434
  "onUpdate:modelValue": (t) => c(e, "ipc_directory", t)
42320
42435
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42321
42436
  _: 2
42322
- }, 1024)) : (U(), G(_, {
42437
+ }, 1024)) : s(e).adapter === "api" ? Y("", !0) : (U(), G(_, {
42323
42438
  key: 1,
42324
42439
  label: "原生可执行文件路径"
42325
42440
  }, {
@@ -42336,8 +42451,11 @@ var QV = {
42336
42451
  ])]),
42337
42452
  _: 2
42338
42453
  }, 1024)),
42339
- t.modelSelection && f(e).supported ? (U(), G(_, {
42454
+ s(e).adapter === "api" ? (U(), G(xW, {
42340
42455
  key: 2,
42456
+ name: e
42457
+ }, null, 8, ["name"])) : t.modelSelection && f(e).supported ? (U(), G(_, {
42458
+ key: 3,
42341
42459
  label: "模型",
42342
42460
  help: f(e).loading ? "正在读取软件模型列表…" : f(e).error || f(e).source
42343
42461
  }, {
@@ -42357,11 +42475,11 @@ var QV = {
42357
42475
  type: "button",
42358
42476
  class: "model-retry",
42359
42477
  onClick: (t) => I(r).load_launch_models(e, !0)
42360
- }, "重新读取模型列表", 8, vW)) : Y("", !0)]),
42478
+ }, "重新读取模型列表", 8, DW)) : Y("", !0)]),
42361
42479
  _: 2
42362
42480
  }, 1032, ["help"])) : Y("", !0),
42363
42481
  t.modelSelection && f(e).efforts?.length ? (U(), G(_, {
42364
- key: 3,
42482
+ key: 4,
42365
42483
  label: "思考档位(可选)"
42366
42484
  }, {
42367
42485
  default: L(() => [q(g, {
@@ -42377,7 +42495,7 @@ var QV = {
42377
42495
  _: 2
42378
42496
  }, 1024)) : Y("", !0),
42379
42497
  s(e).adapter === "codex" ? (U(), G(_, {
42380
- key: 4,
42498
+ key: 5,
42381
42499
  label: "来源聊天 ID"
42382
42500
  }, {
42383
42501
  default: L(() => [q(v, {
@@ -42389,7 +42507,7 @@ var QV = {
42389
42507
  _: 2
42390
42508
  }, 1024)) : Y("", !0),
42391
42509
  s(e).adapter === "claude" ? (U(), G(_, {
42392
- key: 5,
42510
+ key: 6,
42393
42511
  label: "允许的工具(可选,每行一项)"
42394
42512
  }, {
42395
42513
  default: L(() => [q(y, {
@@ -42401,7 +42519,7 @@ var QV = {
42401
42519
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42402
42520
  _: 2
42403
42521
  }, 1024)) : Y("", !0),
42404
- K("details", null, [m[9] ||= K("summary", null, "会话与目录覆盖(可选)", -1), K("div", yW, [
42522
+ s(e).adapter === "api" ? Y("", !0) : (U(), W("details", OW, [m[9] ||= K("summary", null, "会话与目录覆盖(可选)", -1), K("div", kW, [
42405
42523
  q(_, { label: "复用会话 ID(仅本次)" }, {
42406
42524
  default: L(() => [q(v, {
42407
42525
  "model-value": s(e).session_id || "",
@@ -42420,7 +42538,10 @@ var QV = {
42420
42538
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42421
42539
  _: 2
42422
42540
  }, 1024),
42423
- q(_, { label: "此 AI 的项目文件" }, {
42541
+ I(r).launch_can_set_access(e, I(n).launch) ? (U(), G(_, {
42542
+ key: 0,
42543
+ label: "此 AI 的项目文件"
42544
+ }, {
42424
42545
  default: L(() => [q(g, {
42425
42546
  "model-value": s(e).project_access || "inherit",
42426
42547
  items: u,
@@ -42428,7 +42549,7 @@ var QV = {
42428
42549
  "onUpdate:modelValue": (t) => d(e, t)
42429
42550
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42430
42551
  _: 2
42431
- }, 1024),
42552
+ }, 1024)) : Y("", !0),
42432
42553
  q(_, { label: "此 AI 的项目" }, {
42433
42554
  default: L(() => [q(v, {
42434
42555
  "model-value": s(e).project_name || "",
@@ -42443,7 +42564,7 @@ var QV = {
42443
42564
  "antigravity",
42444
42565
  "antigravity_cli"
42445
42566
  ].includes(s(e).adapter) ? (U(), G(_, {
42446
- key: 0,
42567
+ key: 1,
42447
42568
  label: "软件中的项目 ID"
42448
42569
  }, {
42449
42570
  default: L(() => [q(v, {
@@ -42454,10 +42575,10 @@ var QV = {
42454
42575
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
42455
42576
  _: 2
42456
42577
  }, 1024)) : Y("", !0)
42457
- ])])
42578
+ ])]))
42458
42579
  ])
42459
42580
  ]))), 128)),
42460
- K("div", bW, [
42581
+ K("div", AW, [
42461
42582
  t.workspace ? (U(), G(_, {
42462
42583
  key: 0,
42463
42584
  label: "本次工作目录(可选)",
@@ -42480,9 +42601,9 @@ var QV = {
42480
42601
  }, null, 8, ["model-value"])]),
42481
42602
  _: 1
42482
42603
  }),
42483
- t.workspace ? (U(), G(_, {
42604
+ t.workspace && o.value.some((e) => I(r).launch_can_set_access(e, I(n).launch)) ? (U(), G(_, {
42484
42605
  key: 1,
42485
- label: "项目文件",
42606
+ label: "CLI 项目文件",
42486
42607
  help: "默认只读;可写允许 CLI 专家按议题修改工作目录中的文件,仅本次有效"
42487
42608
  }, {
42488
42609
  default: L(() => [q(g, {
@@ -42501,11 +42622,11 @@ var QV = {
42501
42622
  loading: I(a) === "save_launch_defaults",
42502
42623
  onClick: m[5] ||= (e) => I(i)("save_launch_defaults")
42503
42624
  }, null, 8, ["loading"]),
42504
- I(n).launch.error ? (U(), W("p", xW, P(I(n).launch.error), 1)) : I(n).launch.notice ? (U(), W("p", SW, P(I(n).launch.notice), 1)) : Y("", !0)
42625
+ I(n).launch.error ? (U(), W("p", jW, P(I(n).launch.error), 1)) : I(n).launch.notice ? (U(), W("p", MW, P(I(n).launch.notice), 1)) : Y("", !0)
42505
42626
  ], 64)) : (U(), W(H, { key: 0 }, [
42506
42627
  m[6] ||= K("h3", null, "连接这台电脑", -1),
42507
42628
  m[7] ||= K("p", { class: "fine-print" }, "先安装并配置 codiscuss,在运行 AI 的这台电脑上执行以下命令,使用命令打开的网页完成连接。浏览器询问时允许访问本机网络。", -1),
42508
- K("div", mW, [K("code", null, P(I(n).launch.connect_command), 1), q(h, {
42629
+ K("div", CW, [K("code", null, P(I(n).launch.connect_command), 1), q(h, {
42509
42630
  icon: "i-lucide-copy",
42510
42631
  "aria-label": "复制本机连接命令",
42511
42632
  variant: "ghost",
@@ -42519,105 +42640,105 @@ var QV = {
42519
42640
  loading: I(a) === "retry_launch_connection",
42520
42641
  onClick: m[1] ||= (e) => I(i)("retry_launch_connection")
42521
42642
  }, null, 8, ["loading"]),
42522
- I(n).launch.error ? (U(), W("p", hW, P(I(n).launch.error), 1)) : Y("", !0)
42643
+ I(n).launch.error ? (U(), W("p", wW, P(I(n).launch.error), 1)) : Y("", !0)
42523
42644
  ], 64))]);
42524
42645
  };
42525
42646
  }
42526
- }, [["__scopeId", "data-v-76b2136b"]]), wW = { class: "page-heading" }, TW = { class: "topic-brief" }, EW = { class: "host-status" }, DW = {
42647
+ }, [["__scopeId", "data-v-b8f8fe3c"]]), PW = { class: "page-heading" }, FW = { class: "topic-brief" }, IW = { class: "host-status" }, LW = {
42527
42648
  key: 0,
42528
42649
  class: "turn-panel"
42529
- }, OW = { class: "turn-header" }, kW = {
42650
+ }, RW = { class: "turn-header" }, zW = {
42530
42651
  key: 1,
42531
42652
  class: "turn-panel"
42532
- }, AW = { class: "turn-header" }, jW = { class: "button-row" }, MW = { class: "turn-panel host-turn" }, NW = { class: "turn-header" }, PW = { class: "turn-expert" }, FW = { class: "turn-question" }, IW = {
42653
+ }, BW = { class: "turn-header" }, VW = { class: "button-row" }, HW = { class: "turn-panel host-turn" }, UW = { class: "turn-header" }, WW = { class: "turn-expert" }, GW = { class: "turn-question" }, KW = {
42533
42654
  key: 0,
42534
42655
  class: "button-row turn-actions"
42535
- }, LW = {
42656
+ }, qW = {
42536
42657
  key: 1,
42537
42658
  class: "turn-empty"
42538
- }, RW = {
42659
+ }, JW = {
42539
42660
  key: 2,
42540
42661
  class: "fine-print"
42541
- }, zW = {
42662
+ }, YW = {
42542
42663
  key: 0,
42543
42664
  class: "info-section host-receipts"
42544
- }, BW = { class: "button-row" }, VW = {
42665
+ }, XW = { class: "button-row" }, ZW = {
42545
42666
  key: 0,
42546
42667
  class: "fine-print"
42547
- }, HW = { class: "form-footer" }, UW = ["href"], WW = {
42668
+ }, QW = { class: "form-footer" }, $W = ["href"], eG = {
42548
42669
  key: 1,
42549
42670
  class: "fine-print host-schedule-hint"
42550
- }, GW = { class: "page-heading access-heading" }, KW = {
42671
+ }, tG = { class: "page-heading access-heading" }, nG = {
42551
42672
  class: "access-modes",
42552
42673
  "aria-label": "接入方式"
42553
- }, qW = ["aria-pressed", "disabled"], JW = ["aria-pressed", "disabled"], YW = {
42674
+ }, rG = ["aria-pressed", "disabled"], iG = ["aria-pressed", "disabled"], aG = {
42554
42675
  key: 0,
42555
42676
  class: "access-evidence",
42556
42677
  "aria-label": "实际执行进展",
42557
42678
  role: "status"
42558
- }, XW = {
42679
+ }, oG = {
42559
42680
  key: 0,
42560
42681
  class: "fine-print"
42561
- }, ZW = {
42682
+ }, sG = {
42562
42683
  key: 1,
42563
42684
  class: "access-running"
42564
- }, QW = {
42685
+ }, cG = {
42565
42686
  key: 2,
42566
42687
  class: "access-setup",
42567
42688
  "aria-label": "网页启动入口"
42568
- }, $W = {
42689
+ }, lG = {
42569
42690
  key: 1,
42570
42691
  class: "access-repair"
42571
- }, eG = { class: "access-repair-heading" }, tG = {
42692
+ }, uG = { class: "access-repair-heading" }, dG = {
42572
42693
  key: 0,
42573
42694
  class: "access-repair-fields"
42574
- }, nG = {
42695
+ }, fG = {
42575
42696
  key: 0,
42576
42697
  role: "status",
42577
42698
  class: "fine-print"
42578
- }, rG = {
42699
+ }, pG = {
42579
42700
  key: 1,
42580
42701
  role: "alert",
42581
42702
  class: "fine-print"
42582
- }, iG = {
42703
+ }, mG = {
42583
42704
  key: 2,
42584
42705
  class: "fine-print"
42585
- }, aG = {
42706
+ }, hG = {
42586
42707
  key: 3,
42587
42708
  class: "fine-print"
42588
- }, oG = {
42709
+ }, gG = {
42589
42710
  key: 4,
42590
42711
  class: "fine-print"
42591
- }, sG = {
42712
+ }, _G = {
42592
42713
  key: 3,
42593
42714
  class: "access-setup",
42594
42715
  "aria-label": "全自动接入步骤"
42595
- }, cG = { class: "access-section-title" }, lG = {
42716
+ }, vG = { class: "access-section-title" }, yG = {
42596
42717
  href: "https://github.com/huyan1458/ai_co_discuss/blob/main/docs/runner.md#常驻讨论服务",
42597
42718
  target: "_blank",
42598
42719
  rel: "noopener",
42599
42720
  class: "subtle-link"
42600
- }, uG = { class: "access-steps" }, dG = { class: "access-command" }, fG = { class: "access-command" }, pG = {
42721
+ }, bG = { class: "access-steps" }, xG = { class: "access-command" }, SG = { class: "access-command" }, CG = {
42601
42722
  key: 4,
42602
42723
  class: "access-disclosure access-workspace"
42603
- }, mG = { class: "access-disclosure-body" }, hG = { class: "form-two-columns" }, gG = ["open"], _G = { class: "access-disclosure-body" }, vG = {
42724
+ }, wG = { class: "access-disclosure-body" }, TG = { class: "form-two-columns" }, EG = ["open"], DG = { class: "access-disclosure-body" }, OG = {
42604
42725
  class: "access-member-list",
42605
42726
  "aria-label": "成员接入"
42606
- }, yG = { class: "access-member-copy" }, bG = { key: 0 }, xG = { class: "button-row" }, SG = {
42727
+ }, kG = { class: "access-member-copy" }, AG = { key: 0 }, jG = { class: "button-row" }, MG = {
42607
42728
  key: 0,
42608
42729
  role: "alert",
42609
42730
  class: "access-member-error"
42610
- }, CG = {
42731
+ }, NG = {
42611
42732
  key: 1,
42612
42733
  role: "status",
42613
42734
  class: "fine-print"
42614
- }, wG = { class: "access-reading" }, TG = { class: "access-address" }, EG = {
42735
+ }, PG = { class: "access-reading" }, FG = { class: "access-address" }, IG = {
42615
42736
  key: 2,
42616
42737
  class: "fine-print"
42617
- }, DG = {
42738
+ }, LG = {
42618
42739
  key: 5,
42619
42740
  class: "access-disclosure access-limits"
42620
- }, OG = { class: "access-limit-summary" }, kG = { class: "access-disclosure-body" }, AG = { class: "button-row" }, jG = /*#__PURE__*/ nH({
42741
+ }, RG = { class: "access-limit-summary" }, zG = { class: "access-disclosure-body" }, BG = { class: "button-row" }, VG = /*#__PURE__*/ nH({
42621
42742
  __name: "TopicPanel",
42622
42743
  emits: ["open", "detail"],
42623
42744
  setup(e) {
@@ -42651,7 +42772,7 @@ var QV = {
42651
42772
  transition: { duration: .16 }
42652
42773
  }, {
42653
42774
  default: L(() => [I(t).tab === "topic" ? (U(), W(H, { key: 0 }, [
42654
- K("div", wW, [K("div", null, [
42775
+ K("div", PW, [K("div", null, [
42655
42776
  y[24] ||= K("span", { class: "eyebrow" }, "讨论进程", -1),
42656
42777
  y[25] ||= K("h2", null, "主持与安排", -1),
42657
42778
  K("p", null, "当前由 " + P(I(n).display_name(o.value.host)) + " 主持,围绕具体问题组织下一轮发言。", 1)
@@ -42663,9 +42784,9 @@ var QV = {
42663
42784
  class: "channel-surface-button",
42664
42785
  onClick: y[0] ||= (t) => e.$emit("open", "edit")
42665
42786
  })]),
42666
- K("div", TW, [K("div", null, [y[26] ||= K("h3", null, "讨论目标", -1), K("p", null, P(o.value.goal || "待主持人根据用户原文补全"), 1)]), K("div", null, [y[27] ||= K("h3", null, "当前焦点", -1), K("p", null, P(o.value.focus || "尚未设置当前焦点"), 1)])]),
42667
- K("div", EW, [o.value.limits ? (U(), W("section", DW, [
42668
- K("div", OW, [y[28] ||= K("h3", null, "讨论上限与进度", -1), q(x, {
42787
+ K("div", FW, [K("div", null, [y[26] ||= K("h3", null, "讨论目标", -1), K("p", null, P(o.value.goal || "待主持人根据用户原文补全"), 1)]), K("div", null, [y[27] ||= K("h3", null, "当前焦点", -1), K("p", null, P(o.value.focus || "尚未设置当前焦点"), 1)])]),
42788
+ K("div", IW, [o.value.limits ? (U(), W("section", LW, [
42789
+ K("div", RW, [y[28] ||= K("h3", null, "讨论上限与进度", -1), q(x, {
42669
42790
  color: o.value.limits.reached && o.value.phase !== "concluded" ? "warning" : "neutral",
42670
42791
  variant: "subtle"
42671
42792
  }, {
@@ -42682,15 +42803,15 @@ var QV = {
42682
42803
  onClick: y[1] ||= (e) => I(r)("check_limits")
42683
42804
  }, null, 8, ["loading"])) : Y("", !0),
42684
42805
  y[29] ||= K("p", { class: "fine-print" }, "在“编辑议题”中调整参数。自动模式由接入程序检查;手动模式由主持人或此按钮执行到限处理。", -1)
42685
- ])) : Y("", !0), o.value.floor ? (U(), W("section", kW, [
42686
- K("div", AW, [y[30] ||= K("h3", null, "发言权", -1), q(x, {
42806
+ ])) : Y("", !0), o.value.floor ? (U(), W("section", zW, [
42807
+ K("div", BW, [y[30] ||= K("h3", null, "发言权", -1), q(x, {
42687
42808
  color: "neutral",
42688
42809
  variant: "subtle"
42689
42810
  }, {
42690
42811
  default: L(() => [J(P(I(n).floor_status(o.value)), 1)]),
42691
42812
  _: 1
42692
42813
  })]),
42693
- K("div", jW, [o.value.floor.holder ? (U(), G(b, {
42814
+ K("div", VW, [o.value.floor.holder ? (U(), G(b, {
42694
42815
  key: 1,
42695
42816
  label: "归还发言权",
42696
42817
  loading: I(i) === "return_floor",
@@ -42707,8 +42828,8 @@ var QV = {
42707
42828
  }, null, 8, ["label", "loading"]))]),
42708
42829
  y[31] ||= K("p", { class: "fine-print" }, "发言或安排保存后自动归还;用户本人可随时留言。", -1)
42709
42830
  ])) : Y("", !0)]),
42710
- K("section", MW, [
42711
- K("div", NW, [y[32] ||= K("h3", null, "当前发言安排", -1), q(x, {
42831
+ K("section", HW, [
42832
+ K("div", UW, [y[32] ||= K("h3", null, "当前发言安排", -1), q(x, {
42712
42833
  color: c.value ? "primary" : "neutral",
42713
42834
  variant: "subtle"
42714
42835
  }, {
@@ -42716,7 +42837,7 @@ var QV = {
42716
42837
  _: 1
42717
42838
  }, 8, ["color"])]),
42718
42839
  s.value ? (U(), W(H, { key: 0 }, [
42719
- K("div", PW, [q(S, {
42840
+ K("div", WW, [q(S, {
42720
42841
  src: I(n).identities[s.value.expert]?.icon,
42721
42842
  text: I(n).identities[s.value.expert]?.initials,
42722
42843
  alt: s.value.expert,
@@ -42727,8 +42848,8 @@ var QV = {
42727
42848
  "alt",
42728
42849
  "class"
42729
42850
  ]), K("div", null, [K("strong", null, P(s.value.expert), 1), K("small", null, "发言安排 #" + P(s.value.id), 1)])]),
42730
- K("p", FW, P(s.value.question), 1),
42731
- c.value ? (U(), W("div", IW, [
42851
+ K("p", GW, P(s.value.question), 1),
42852
+ c.value ? (U(), W("div", KW, [
42732
42853
  q(b, {
42733
42854
  icon: "i-lucide-copy",
42734
42855
  label: "复制通知",
@@ -42772,35 +42893,35 @@ var QV = {
42772
42893
  class: "channel-surface-button",
42773
42894
  onClick: y[8] ||= (t) => e.$emit("detail", s.value.answer_id)
42774
42895
  })) : Y("", !0)
42775
- ], 64)) : (U(), W("p", LW, "把下一轮需要回答的问题,交给一位参与者。")),
42776
- c.value ? (U(), W("p", RW, P(I(n).turn_guidance(s.value, o.value)), 1)) : Y("", !0)
42896
+ ], 64)) : (U(), W("p", qW, "把下一轮需要回答的问题,交给一位参与者。")),
42897
+ c.value ? (U(), W("p", JW, P(I(n).turn_guidance(s.value, o.value)), 1)) : Y("", !0)
42777
42898
  ]),
42778
- Array.isArray(o.value.latest_receipts) ? (U(), W("section", zW, [
42899
+ Array.isArray(o.value.latest_receipts) ? (U(), W("section", YW, [
42779
42900
  y[33] ||= K("h3", null, "最新运行回执", -1),
42780
42901
  y[34] ||= K("p", { class: "fine-print" }, "每位参与者最近一条;实际运行结果请查看原文。晚于摘要的回执可能尚未整理。", -1),
42781
- K("div", BW, [(U(!0), W(H, null, B(o.value.latest_receipts, (t) => (U(), G(b, {
42902
+ K("div", XW, [(U(!0), W(H, null, B(o.value.latest_receipts, (t) => (U(), G(b, {
42782
42903
  key: t.id,
42783
42904
  label: `${I(n).display_name(t.author)} #${t.id} · ${new Date(t.created_at).toLocaleString("zh-CN")}${t.id > o.value.state_until ? " · 晚于摘要" : ""}`,
42784
42905
  variant: "link",
42785
42906
  color: "neutral",
42786
42907
  onClick: (n) => e.$emit("detail", t.id)
42787
- }, null, 8, ["label", "onClick"]))), 128)), o.value.latest_receipts.length ? Y("", !0) : (U(), W("span", VW, "尚无运行回执。"))])
42908
+ }, null, 8, ["label", "onClick"]))), 128)), o.value.latest_receipts.length ? Y("", !0) : (U(), W("span", ZW, "尚无运行回执。"))])
42788
42909
  ])) : Y("", !0),
42789
- K("div", HW, [K("a", {
42910
+ K("div", QW, [K("a", {
42790
42911
  href: `${d.value}/turns`,
42791
42912
  target: "_blank",
42792
42913
  rel: "noopener",
42793
42914
  class: "subtle-link"
42794
- }, [y[35] ||= J("发言安排历史 ", -1), q(C, { name: "i-lucide-arrow-up-right" })], 8, UW), q(b, {
42915
+ }, [y[35] ||= J("发言安排历史 ", -1), q(C, { name: "i-lucide-arrow-up-right" })], 8, $W), q(b, {
42795
42916
  icon: "i-lucide-plus",
42796
42917
  label: "安排下一位专家",
42797
42918
  class: "channel-primary-button",
42798
42919
  disabled: !u.value,
42799
42920
  onClick: y[9] ||= (t) => e.$emit("open", "schedule")
42800
42921
  }, null, 8, ["disabled"])]),
42801
- u.value ? Y("", !0) : (U(), W("p", WW, P(l.value ? "话题已暂停或收束,修改阶段后可以继续安排。" : c.value ? "先完成或取消当前安排,再安排下一位。" : o.value.limits?.reached ? "已达到讨论上限,请检查到限处理;需要继续时先暂停并调整参数。" : o.value.floor?.holder === o.value.host ? "请先在议题资料中配置参与专家。" : "主持人领取发言权后可安排下一位。"), 1))
42922
+ u.value ? Y("", !0) : (U(), W("p", eG, P(l.value ? "话题已暂停或收束,修改阶段后可以继续安排。" : c.value ? "先完成或取消当前安排,再安排下一位。" : o.value.limits?.reached ? "已达到讨论上限,请检查到限处理;需要继续时先暂停并调整参数。" : o.value.floor?.holder === o.value.host ? "请先在议题资料中配置参与专家。" : "主持人领取发言权后可安排下一位。"), 1))
42802
42923
  ], 64)) : (U(), W(H, { key: 1 }, [
42803
- K("div", GW, [y[36] ||= K("div", null, [K("h2", null, "接入 AI"), K("p", null, "选择任务交付方式,再将对应身份的参与说明交给 AI。")], -1), f.value ? (U(), G(x, {
42924
+ K("div", tG, [y[36] ||= K("div", null, [K("h2", null, "接入 AI"), K("p", null, "选择任务交付方式,再将对应身份的参与说明交给 AI。")], -1), f.value ? (U(), G(x, {
42804
42925
  key: 0,
42805
42926
  color: o.value.runtime?.status === "running" ? "primary" : "neutral",
42806
42927
  variant: "subtle"
@@ -42808,7 +42929,7 @@ var QV = {
42808
42929
  default: L(() => [J(P(g.value), 1)]),
42809
42930
  _: 1
42810
42931
  }, 8, ["color"])) : Y("", !0)]),
42811
- K("div", KW, [K("button", {
42932
+ K("div", nG, [K("button", {
42812
42933
  type: "button",
42813
42934
  class: M(["access-mode", { "is-selected": f.value }]),
42814
42935
  "aria-pressed": f.value,
@@ -42825,7 +42946,7 @@ var QV = {
42825
42946
  name: "i-lucide-check",
42826
42947
  class: "mode-check"
42827
42948
  })) : Y("", !0)
42828
- ], 10, qW), K("button", {
42949
+ ], 10, rG), K("button", {
42829
42950
  type: "button",
42830
42951
  class: M(["access-mode", { "is-selected": !f.value }]),
42831
42952
  "aria-pressed": !f.value,
@@ -42842,13 +42963,13 @@ var QV = {
42842
42963
  name: "i-lucide-check",
42843
42964
  class: "mode-check"
42844
42965
  }))
42845
- ], 10, JW)]),
42846
- f.value ? (U(), W("section", YW, [
42966
+ ], 10, iG)]),
42967
+ f.value ? (U(), W("section", aG, [
42847
42968
  y[39] ||= K("strong", null, "实际执行进展", -1),
42848
42969
  K("p", null, P(I(n).execution_label(m.value)), 1),
42849
- o.value.runtime?.status === "running" && (!m.value || ["pending", "dispatched"].includes(m.value.status)) ? (U(), W("p", XW, "尚无 AI 进入记录。请核对本机服务及对应软件的登录和工具权限。")) : Y("", !0)
42970
+ o.value.runtime?.status === "running" && (!m.value || ["pending", "dispatched"].includes(m.value.status)) ? (U(), W("p", oG, "尚无 AI 进入记录。请核对本机服务及对应软件的登录和工具权限。")) : Y("", !0)
42850
42971
  ])) : Y("", !0),
42851
- o.value.runtime?.status === "running" ? (U(), W("div", ZW, [y[40] ||= K("span", null, "切换方式前,先暂停讨论并核对原会话。", -1), q(b, {
42972
+ o.value.runtime?.status === "running" ? (U(), W("div", sG, [y[40] ||= K("span", null, "切换方式前,先暂停讨论并核对原会话。", -1), q(b, {
42852
42973
  label: "暂停讨论",
42853
42974
  variant: "outline",
42854
42975
  color: "neutral",
@@ -42856,16 +42977,16 @@ var QV = {
42856
42977
  loading: I(i) === "pause_runtime",
42857
42978
  onClick: y[12] ||= (e) => I(r)("pause_runtime")
42858
42979
  }, null, 8, ["loading"])])) : Y("", !0),
42859
- f.value && I(t).launch.available ? (U(), W("section", QW, [
42980
+ f.value && I(t).launch.available ? (U(), W("section", cG, [
42860
42981
  y[43] ||= K("div", { class: "access-section-title" }, [K("h3", null, "从网页启动"), K("span", { class: "fine-print" }, "本机执行")], -1),
42861
- o.value.runtime?.status === "ready" ? (U(), W(H, { key: 0 }, [q(CW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), q(b, {
42982
+ o.value.runtime?.status === "ready" ? (U(), W(H, { key: 0 }, [q(NW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), q(b, {
42862
42983
  label: "启动讨论",
42863
42984
  icon: "i-lucide-play",
42864
42985
  class: "channel-primary-button",
42865
42986
  loading: I(i) === "launch_current_room",
42866
42987
  onClick: y[13] ||= (e) => I(r)("launch_current_room")
42867
- }, null, 8, ["loading"])], 64)) : o.value.runtime?.status === "paused" && !o.value.archived && !I(t).launch.remote ? (U(), W("div", $W, [
42868
- K("div", eG, [y[41] ||= K("h3", null, "修正本场软件连接", -1), q(b, {
42988
+ }, null, 8, ["loading"])], 64)) : o.value.runtime?.status === "paused" && !o.value.archived && !I(t).launch.remote ? (U(), W("div", lG, [
42989
+ K("div", uG, [y[41] ||= K("h3", null, "修正本场软件连接", -1), q(b, {
42869
42990
  label: "读取本场配置",
42870
42991
  variant: "outline",
42871
42992
  color: "neutral",
@@ -42874,7 +42995,7 @@ var QV = {
42874
42995
  onClick: y[14] ||= (e) => I(r)("load_room_configuration")
42875
42996
  }, null, 8, ["loading"])]),
42876
42997
  y[42] ||= K("div", { class: "access-repair-description" }, [K("p", null, "修正软件路径,或切换 Codex 的 App / CLI 接入。保留原房间、发言进度和会话,保存后到进度看板重启。"), K("p", { class: "fine-print" }, "App 需保持运行,模型与文件权限在 App 内设置。切回 CLI 前须让 App 释放原聊天;未释放时执行仍会暂停。")], -1),
42877
- h.value ? (U(), W("div", tG, [
42998
+ h.value ? (U(), W("div", dG, [
42878
42999
  (U(!0), W(H, null, B(h.value.participants, (e, t) => (U(), W("div", {
42879
43000
  key: t,
42880
43001
  class: "form-two-columns"
@@ -42909,19 +43030,19 @@ var QV = {
42909
43030
  loading: I(i) === "save_room_configuration",
42910
43031
  onClick: y[15] ||= (e) => I(r)("save_room_configuration")
42911
43032
  }, null, 8, ["loading"]),
42912
- h.value.notice ? (U(), W("p", nG, P(h.value.notice), 1)) : Y("", !0)
43033
+ h.value.notice ? (U(), W("p", fG, P(h.value.notice), 1)) : Y("", !0)
42913
43034
  ])) : Y("", !0),
42914
- I(t).launch.repair_error ? (U(), W("p", rG, P(I(t).launch.repair_error), 1)) : Y("", !0)
42915
- ])) : o.value.runtime?.status === "paused" && I(t).launch.remote ? (U(), W("p", iG, "讨论已暂停,可在进度看板重启。线上连接暂不提供已登记房间的软件路径修正。")) : o.value.runtime?.status === "running" ? (U(), W("p", aG, "讨论正在运行。")) : (U(), W("p", oG, "本场讨论已停止或结束,已有记录保留。")),
43035
+ I(t).launch.repair_error ? (U(), W("p", pG, P(I(t).launch.repair_error), 1)) : Y("", !0)
43036
+ ])) : o.value.runtime?.status === "paused" && I(t).launch.remote ? (U(), W("p", mG, "讨论已暂停,可在进度看板重启。线上连接暂不提供已登记房间的软件路径修正。")) : o.value.runtime?.status === "running" ? (U(), W("p", hG, "讨论正在运行。")) : (U(), W("p", gG, "本场讨论已停止或结束,已有记录保留。")),
42916
43037
  y[44] ||= K("p", { class: "access-host-entry" }, [
42917
43038
  J("另一种入口:在 AI 工具对话中调用 "),
42918
43039
  K("code", null, "discuss-host"),
42919
43040
  J(",由当前会话主持。")
42920
43041
  ], -1)
42921
- ])) : f.value ? (U(), W("section", sG, [q(CW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), K("details", null, [
43042
+ ])) : f.value ? (U(), W("section", _G, [q(NW, { participants: [o.value.host, ...Object.keys(o.value.experts || {})] }, null, 8, ["participants"]), K("details", null, [
42922
43043
  y[56] ||= K("summary", null, "手动下载与登记配置", -1),
42923
- K("div", cG, [y[46] ||= K("h3", null, "首次接入", -1), K("a", lG, [y[45] ||= J("配置说明 ", -1), q(C, { name: "i-lucide-arrow-up-right" })])]),
42924
- K("ol", uG, [
43044
+ K("div", vG, [y[46] ||= K("h3", null, "首次接入", -1), K("a", yG, [y[45] ||= J("配置说明 ", -1), q(C, { name: "i-lucide-arrow-up-right" })])]),
43045
+ K("ol", bG, [
42925
43046
  K("li", null, [
42926
43047
  y[47] ||= K("span", { class: "access-step-number" }, "1", -1),
42927
43048
  y[48] ||= K("div", null, [K("h4", null, "下载接入配置"), K("p", null, "包含当前房间信息。下载后,补齐本机软件路径与会话配置。")], -1),
@@ -42937,7 +43058,7 @@ var QV = {
42937
43058
  K("li", null, [y[51] ||= K("span", { class: "access-step-number" }, "2", -1), K("div", null, [
42938
43059
  y[49] ||= K("h4", null, "登记到本机服务", -1),
42939
43060
  y[50] ||= K("p", null, "在下载文件所在目录执行;也可以将文件名换成完整路径。", -1),
42940
- K("div", dG, [K("code", null, P(_.value), 1), q(b, {
43061
+ K("div", xG, [K("code", null, P(_.value), 1), q(b, {
42941
43062
  icon: "i-lucide-copy",
42942
43063
  color: "neutral",
42943
43064
  variant: "ghost",
@@ -42948,7 +43069,7 @@ var QV = {
42948
43069
  K("li", null, [y[55] ||= K("span", { class: "access-step-number" }, "3", -1), K("div", null, [
42949
43070
  y[53] ||= K("h4", null, "启动服务,保持终端打开", -1),
42950
43071
  y[54] ||= K("p", null, "启动服务不会自动开始讨论。已暂停的讨论可在进度看板点“重启”。", -1),
42951
- K("div", fG, [y[52] ||= K("code", null, "codiscuss", -1), q(b, {
43072
+ K("div", SG, [y[52] ||= K("code", null, "codiscuss", -1), q(b, {
42952
43073
  icon: "i-lucide-copy",
42953
43074
  color: "neutral",
42954
43075
  variant: "ghost",
@@ -42958,10 +43079,10 @@ var QV = {
42958
43079
  ])])
42959
43080
  ])
42960
43081
  ])])) : Y("", !0),
42961
- !f.value || !I(t).launch.available ? (U(), W("details", pG, [K("summary", null, [y[57] ||= K("span", null, [J("项目与工作目录 "), K("small", null, "可选")], -1), q(C, {
43082
+ !f.value || !I(t).launch.available ? (U(), W("details", CG, [K("summary", null, [y[57] ||= K("span", null, [J("项目与工作目录 "), K("small", null, "可选")], -1), q(C, {
42962
43083
  name: "i-lucide-chevron-down",
42963
43084
  class: "disclosure-icon"
42964
- })]), K("div", mG, [y[58] ||= K("p", null, "指定 AI 使用的本机项目和目录,留空使用默认位置。仅保存在本机配置中。", -1), K("div", hG, [q(T, { label: "AI 软件中的项目" }, {
43085
+ })]), K("div", wG, [y[58] ||= K("p", null, "指定 AI 使用的本机项目和目录,留空使用默认位置。仅保存在本机配置中。", -1), K("div", TG, [q(T, { label: "AI 软件中的项目" }, {
42965
43086
  default: L(() => [q(E, {
42966
43087
  "model-value": I(t).fields["runtime-project"],
42967
43088
  placeholder: "项目名称",
@@ -42984,9 +43105,9 @@ var QV = {
42984
43105
  }, [K("summary", null, [K("span", null, P(f.value ? "成员参与说明与阅读地址" : "复制指令,交给对应的 AI"), 1), q(C, {
42985
43106
  name: "i-lucide-chevron-down",
42986
43107
  class: "disclosure-icon"
42987
- })]), K("div", _G, [
43108
+ })]), K("div", DG, [
42988
43109
  y[60] ||= K("p", { class: "fine-print" }, "手动接入的本地 AI 使用自己的私有配置;程序唤醒的成员等待本机任务,使用本次执行凭据。在线 AI 只读,真实回答由你或授权主持人代发。", -1),
42989
- K("ul", vG, [(U(!0), W(H, null, B(p.value.members || [], (e) => (U(), W("li", { key: e.name }, [
43110
+ K("ul", OG, [(U(!0), W(H, null, B(p.value.members || [], (e) => (U(), W("li", { key: e.name }, [
42990
43111
  q(S, {
42991
43112
  src: I(n).identities[e.name]?.icon,
42992
43113
  text: I(n).identities[e.name]?.initials,
@@ -42999,12 +43120,12 @@ var QV = {
42999
43120
  "alt",
43000
43121
  "class"
43001
43122
  ]),
43002
- K("div", yG, [
43123
+ K("div", kG, [
43003
43124
  K("strong", null, P(e.name), 1),
43004
43125
  K("span", null, P(e.access === "online" ? "在线只读 · 由人代发" : e.access === "runner" ? "程序唤醒 · 本地读写" : "手动接入 · 自行提交"), 1),
43005
- e.access !== "online" && !e.available ? (U(), W("small", bG, "当前浏览器没有此成员的私有配置")) : Y("", !0)
43126
+ e.access !== "online" && !e.available ? (U(), W("small", AG, "当前浏览器没有此成员的私有配置")) : Y("", !0)
43006
43127
  ]),
43007
- K("div", xG, [e.access === "online" ? Y("", !0) : (U(), G(b, {
43128
+ K("div", jG, [e.access === "online" ? Y("", !0) : (U(), G(b, {
43008
43129
  key: 0,
43009
43130
  icon: "i-lucide-download",
43010
43131
  label: "私有配置",
@@ -43033,25 +43154,25 @@ var QV = {
43033
43154
  "onClick"
43034
43155
  ])])
43035
43156
  ]))), 128))]),
43036
- p.value.error ? (U(), W("p", SG, P(p.value.error), 1)) : p.value.notice ? (U(), W("p", CG, P(p.value.notice), 1)) : Y("", !0),
43157
+ p.value.error ? (U(), W("p", MG, P(p.value.error), 1)) : p.value.notice ? (U(), W("p", NG, P(p.value.notice), 1)) : Y("", !0),
43037
43158
  y[61] ||= K("p", { class: "fine-print" }, "复制说明或下载配置不代表 AI 已接入,请以实际回答和运行记录为准。", -1),
43038
- K("details", wG, [y[59] ||= K("summary", null, "查看房间阅读地址", -1), K("div", TG, [K("code", null, P(d.value), 1), q(b, {
43159
+ K("details", PG, [y[59] ||= K("summary", null, "查看房间阅读地址", -1), K("div", FG, [K("code", null, P(d.value), 1), q(b, {
43039
43160
  icon: "i-lucide-copy",
43040
43161
  color: "neutral",
43041
43162
  variant: "ghost",
43042
43163
  "aria-label": "复制阅读地址",
43043
43164
  onClick: y[21] ||= (e) => I(r)("copy", d.value)
43044
43165
  })])]),
43045
- d.value.includes("127.0.0.1") || d.value.includes("localhost") ? (U(), W("p", EG, "本机地址仅本机可访问。在线 AI 需要公网阅读地址,或由用户提供材料。")) : Y("", !0)
43046
- ])], 8, gG),
43047
- o.value.limits ? (U(), W("details", DG, [K("summary", null, [
43166
+ d.value.includes("127.0.0.1") || d.value.includes("localhost") ? (U(), W("p", IG, "本机地址仅本机可访问。在线 AI 需要公网阅读地址,或由用户提供材料。")) : Y("", !0)
43167
+ ])], 8, EG),
43168
+ o.value.limits ? (U(), W("details", LG, [K("summary", null, [
43048
43169
  y[62] ||= K("span", null, "讨论上限与进度", -1),
43049
- K("span", OG, P(v.value), 1),
43170
+ K("span", RG, P(v.value), 1),
43050
43171
  q(C, {
43051
43172
  name: "i-lucide-chevron-down",
43052
43173
  class: "disclosure-icon"
43053
43174
  })
43054
- ]), K("div", kG, [K("p", null, P(I(n).limits_label(o.value.limits)), 1), K("div", AG, [q(b, {
43175
+ ]), K("div", zG, [K("p", null, P(I(n).limits_label(o.value.limits)), 1), K("div", BG, [q(b, {
43055
43176
  icon: "i-lucide-pencil",
43056
43177
  label: "编辑讨论上限",
43057
43178
  variant: "outline",
@@ -43076,7 +43197,7 @@ var QV = {
43076
43197
  ]);
43077
43198
  };
43078
43199
  }
43079
- }, [["__scopeId", "data-v-2ab351ea"]]), MG = {
43200
+ }, [["__scopeId", "data-v-2ab351ea"]]), HG = {
43080
43201
  slots: {
43081
43202
  overlay: "fixed inset-0",
43082
43203
  content: "bg-default divide-y divide-default flex flex-col focus:outline-none",
@@ -43118,7 +43239,7 @@ var QV = {
43118
43239
  fullscreen: !1,
43119
43240
  class: { content: "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-hidden" }
43120
43241
  }]
43121
- }, NG = {
43242
+ }, UG = {
43122
43243
  __name: "Modal",
43123
43244
  props: {
43124
43245
  title: {
@@ -43209,7 +43330,7 @@ var QV = {
43209
43330
  let n = e, r = t, i = Aa(), a = cE("modal", n), { t: o } = eh(), s = Sm(), c = lE(am(a, "open", "defaultOpen", "modal", "unmountOnHide"), r), l = eE(/* @__PURE__ */ Sn(() => a.portal)), u = /* @__PURE__ */ Sn(() => a.content), d = Z(() => a.dismissible ? { pointerDownOutside: (e) => lV(e, { scrollable: a.scrollable }) } : ["interactOutside", "escapeKeyDown"].reduce((e, t) => (e[t] = (e) => {
43210
43331
  e.preventDefault(), r("close:prevent");
43211
43332
  }, e), {})), [f, p] = gm(), m = Z(() => Rk({
43212
- extend: MG,
43333
+ extend: HG,
43213
43334
  ...s.ui?.modal || {}
43214
43335
  })({
43215
43336
  transition: a.transition,
@@ -43334,10 +43455,10 @@ var QV = {
43334
43455
  _: 3
43335
43456
  }, 16));
43336
43457
  }
43337
- }, PG = { slots: {
43458
+ }, WG = { slots: {
43338
43459
  root: "",
43339
43460
  content: "data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden"
43340
- } }, FG = {
43461
+ } }, GG = {
43341
43462
  __name: "Collapsible",
43342
43463
  props: {
43343
43464
  as: {
@@ -43373,7 +43494,7 @@ var QV = {
43373
43494
  emits: ["update:open"],
43374
43495
  setup(e, { emit: t }) {
43375
43496
  let n = e, r = t, i = Aa(), a = cE("collapsible", n), o = Sm(), s = lE(am(a, "as", "defaultOpen", "open", "disabled", "unmountOnHide"), r), c = Z(() => Rk({
43376
- extend: PG,
43497
+ extend: WG,
43377
43498
  ...o.ui?.collapsible || {}
43378
43499
  })());
43379
43500
  return (e, t) => (U(), G(I(Rg), X(I(s), {
@@ -43396,7 +43517,7 @@ var QV = {
43396
43517
  _: 3
43397
43518
  }, 16, ["class"]));
43398
43519
  }
43399
- }, IG = {
43520
+ }, KG = {
43400
43521
  slots: {
43401
43522
  root: "relative flex items-start",
43402
43523
  container: "flex items-center",
@@ -43784,7 +43905,7 @@ var QV = {
43784
43905
  variant: "list",
43785
43906
  indicator: "start"
43786
43907
  }
43787
- }, LG = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
43908
+ }, qG = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
43788
43909
  __name: "Checkbox",
43789
43910
  props: {
43790
43911
  as: {
@@ -43878,7 +43999,7 @@ var QV = {
43878
43999
  let { "data-state": e, ...t } = C;
43879
44000
  return t;
43880
44001
  }), T = Z(() => Rk({
43881
- extend: IG,
44002
+ extend: KG,
43882
44003
  ...o.ui?.checkbox || {}
43883
44004
  })({
43884
44005
  size: b.value,
@@ -43969,22 +44090,22 @@ var QV = {
43969
44090
  "class"
43970
44091
  ]));
43971
44092
  }
43972
- }), RG = {
44093
+ }), JG = {
43973
44094
  class: "limit-picker",
43974
44095
  role: "group",
43975
44096
  "aria-label": "讨论轮次和时长"
43976
- }, zG = { class: "limit-field-heading" }, BG = ["for"], VG = [
44097
+ }, YG = { class: "limit-field-heading" }, XG = ["for"], ZG = [
43977
44098
  "aria-pressed",
43978
44099
  "aria-label",
43979
44100
  "onClick"
43980
- ], HG = [
44101
+ ], QG = [
43981
44102
  "id",
43982
44103
  "disabled",
43983
44104
  "aria-label"
43984
- ], UG = { key: 0 }, WG = {
44105
+ ], $G = { key: 0 }, eK = {
43985
44106
  key: 1,
43986
44107
  class: "limit-trigger-value"
43987
- }, GG = { class: "limit-editor" }, KG = { class: "limit-editor-heading" }, qG = ["aria-label", "onClick"], JG = { class: "limit-columns" }, YG = [
44108
+ }, tK = { class: "limit-editor" }, nK = { class: "limit-editor-heading" }, rK = ["aria-label", "onClick"], iK = { class: "limit-columns" }, aK = [
43988
44109
  "onKeydown",
43989
44110
  "onWheel",
43990
44111
  "onPointerdown",
@@ -43992,16 +44113,16 @@ var QV = {
43992
44113
  "onPointerup",
43993
44114
  "onPointercancel",
43994
44115
  "onLostpointercapture"
43995
- ], XG = [
44116
+ ], oK = [
43996
44117
  "aria-label",
43997
44118
  "aria-valuemin",
43998
44119
  "aria-valuemax",
43999
44120
  "aria-valuenow",
44000
44121
  "aria-valuetext"
44001
- ], ZG = {
44122
+ ], sK = {
44002
44123
  class: "limit-wheel-rows",
44003
44124
  "aria-hidden": "true"
44004
- }, QG = { class: "limit-exact-value" }, $G = [
44125
+ }, cK = { class: "limit-exact-value" }, lK = [
44005
44126
  "min",
44006
44127
  "max",
44007
44128
  "value",
@@ -44010,12 +44131,12 @@ var QV = {
44010
44131
  "onInput",
44011
44132
  "onBlur",
44012
44133
  "onKeydown"
44013
- ], eK = { "aria-hidden": "true" };
44014
- function tK(e) {
44134
+ ], uK = { "aria-hidden": "true" };
44135
+ function dK(e) {
44015
44136
  let t = Math.floor(e / 60), n = e % 60;
44016
44137
  return [t && `${t} 小时`, n && `${n} 分钟`].filter(Boolean).join(" ") || "0 分钟";
44017
44138
  }
44018
- var nK = /*#__PURE__*/ nH({
44139
+ var fK = /*#__PURE__*/ nH({
44019
44140
  __name: "LimitPicker",
44020
44141
  props: {
44021
44142
  rounds: {
@@ -44079,7 +44200,7 @@ var nK = /*#__PURE__*/ nH({
44079
44200
  target: null,
44080
44201
  hand: null,
44081
44202
  pointer: null
44082
- }))), u = 0, d = 0, f = (e, t, n = 0) => Math.min(t, Math.max(n, e)), p = (e) => f(Math.round(e.x), e.max, e.min), m = (e) => l.filter((t) => t.field === e.key), h = (e) => c.find((t) => t.key === e.field), g = (e) => e.key === "rounds" ? `${e.selected} 轮` : tK(e.selected), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
44203
+ }))), u = 0, d = 0, f = (e, t, n = 0) => Math.min(t, Math.max(n, e)), p = (e) => f(Math.round(e.x), e.max, e.min), m = (e) => l.filter((t) => t.field === e.key), h = (e) => c.find((t) => t.key === e.field), g = (e) => e.key === "rounds" ? `${e.selected} 轮` : dK(e.selected), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
44083
44204
  function v(e, t) {
44084
44205
  D(e, t), e.selected = e.x, e.draft = String(e.selected);
44085
44206
  }
@@ -44216,10 +44337,10 @@ var nK = /*#__PURE__*/ nH({
44216
44337
  });
44217
44338
  }, { immediate: !0 }), ta(() => cancelAnimationFrame(u)), t({ settle: oe }), (e, t) => {
44218
44339
  let n = zk, r = UV;
44219
- return U(), W("div", RG, [(U(!0), W(H, null, B(c, (e) => (U(), W("div", {
44340
+ return U(), W("div", JG, [(U(!0), W(H, null, B(c, (e) => (U(), W("div", {
44220
44341
  key: e.key,
44221
44342
  class: "limit-field"
44222
- }, [K("div", zG, [K("label", { for: `limit-trigger-${e.key}` }, P(e.label), 9, BG), K("button", {
44343
+ }, [K("div", YG, [K("label", { for: `limit-trigger-${e.key}` }, P(e.label), 9, XG), K("button", {
44223
44344
  type: "button",
44224
44345
  class: "limit-unlimited",
44225
44346
  "aria-pressed": e.unlimited,
@@ -44228,7 +44349,7 @@ var nK = /*#__PURE__*/ nH({
44228
44349
  }, [q(n, {
44229
44350
  name: "i-lucide-infinity",
44230
44351
  "aria-hidden": "true"
44231
- }), t[0] ||= K("span", null, "不限", -1)], 8, VG)]), q(r, {
44352
+ }), t[0] ||= K("span", null, "不限", -1)], 8, ZG)]), q(r, {
44232
44353
  open: e.open,
44233
44354
  content: {
44234
44355
  align: e.key === "rounds" ? "start" : "end",
@@ -44238,12 +44359,12 @@ var nK = /*#__PURE__*/ nH({
44238
44359
  ui: { content: `limit-popover-content ${e.key === "minutes" ? "limit-duration-content" : ""}` },
44239
44360
  "onUpdate:open": (t) => x(e, t)
44240
44361
  }, {
44241
- content: L(() => [K("div", GG, [K("div", KG, [K("span", null, P(e.label), 1), K("button", {
44362
+ content: L(() => [K("div", tK, [K("div", nK, [K("span", null, P(e.label), 1), K("button", {
44242
44363
  type: "button",
44243
44364
  class: "limit-close",
44244
44365
  "aria-label": `关闭${e.label}选择`,
44245
44366
  onClick: (t) => x(e, !1)
44246
- }, [q(n, { name: "i-lucide-x" })], 8, qG)]), K("div", JG, [(U(!0), W(H, null, B(m(e), (n) => (U(), W("div", {
44367
+ }, [q(n, { name: "i-lucide-x" })], 8, rK)]), K("div", iK, [(U(!0), W(H, null, B(m(e), (n) => (U(), W("div", {
44247
44368
  key: n.key,
44248
44369
  class: M(["limit-track", { "is-editing": n.editing }]),
44249
44370
  onKeydown: (e) => ne(n, e),
@@ -44265,11 +44386,11 @@ var nK = /*#__PURE__*/ nH({
44265
44386
  }, [t[1] ||= K("div", {
44266
44387
  class: "limit-selection",
44267
44388
  "aria-hidden": "true"
44268
- }, null, -1), K("div", ZG, [(U(!0), W(H, null, B(A(n), (e) => (U(), W("span", {
44389
+ }, null, -1), K("div", sK, [(U(!0), W(H, null, B(A(n), (e) => (U(), W("span", {
44269
44390
  key: e.index,
44270
44391
  class: M(["limit-wheel-row", { "is-current": e.index === p(n) }]),
44271
44392
  style: j(e.style)
44272
- }, P(e.text), 7))), 128))])], 8, XG), K("div", QG, [K("input", {
44393
+ }, P(e.text), 7))), 128))])], 8, oK), K("div", cK, [K("input", {
44273
44394
  type: "number",
44274
44395
  inputmode: "numeric",
44275
44396
  min: n.min,
@@ -44283,14 +44404,14 @@ var nK = /*#__PURE__*/ nH({
44283
44404
  onKeydown: fu(uu((t) => {
44284
44405
  C(n), x(e, !1);
44285
44406
  }, ["stop", "prevent"]), ["enter"])
44286
- }, null, 40, $G), K("span", eK, P(n.unit), 1)])], 42, YG))), 128))])])]),
44407
+ }, null, 40, lK), K("span", uK, P(n.unit), 1)])], 42, aK))), 128))])])]),
44287
44408
  default: L(() => [K("button", {
44288
44409
  id: `limit-trigger-${e.key}`,
44289
44410
  type: "button",
44290
44411
  class: "limit-trigger",
44291
44412
  disabled: e.unlimited,
44292
44413
  "aria-label": `${e.label}:${e.unlimited ? "不限" : g(e)}`
44293
- }, [e.unlimited ? (U(), W("span", UG, "不限" + P(e.key === "rounds" ? "轮次" : "时长"), 1)) : (U(), W("span", WG, [(U(!0), W(H, null, B(g(e).match(/\d+ \S+/g), (e) => (U(), W("span", { key: e }, P(e), 1))), 128))])), q(n, { name: "i-lucide-chevrons-up-down" })], 8, HG)]),
44414
+ }, [e.unlimited ? (U(), W("span", $G, "不限" + P(e.key === "rounds" ? "轮次" : "时长"), 1)) : (U(), W("span", eK, [(U(!0), W(H, null, B(g(e).match(/\d+ \S+/g), (e) => (U(), W("span", { key: e }, P(e), 1))), 128))])), q(n, { name: "i-lucide-chevrons-up-down" })], 8, QG)]),
44294
44415
  _: 2
44295
44416
  }, 1032, [
44296
44417
  "open",
@@ -44300,16 +44421,16 @@ var nK = /*#__PURE__*/ nH({
44300
44421
  ])]))), 128))]);
44301
44422
  };
44302
44423
  }
44303
- }, [["__scopeId", "data-v-859a6440"]]), rK = { class: "effort-field" }, iK = {
44424
+ }, [["__scopeId", "data-v-859a6440"]]), pK = { class: "effort-field" }, mK = {
44304
44425
  key: 0,
44305
44426
  class: "effort-caption",
44306
44427
  "aria-hidden": "true"
44307
- }, aK = [
44428
+ }, hK = [
44308
44429
  "aria-label",
44309
44430
  "aria-valuemax",
44310
44431
  "aria-valuenow",
44311
44432
  "aria-valuetext"
44312
- ], oK = ["title"], sK = 4.5, cK = 6, lK = 8, uK = 1 / 240, dK = .001, fK = .01, pK = .05, mK = 10, hK = 4, gK = /*#__PURE__*/ nH({
44433
+ ], gK = ["title"], _K = 4.5, vK = 6, yK = 8, bK = 1 / 240, xK = .001, SK = .01, CK = .05, wK = 10, TK = 4, EK = /*#__PURE__*/ nH({
44313
44434
  __name: "EffortSlider",
44314
44435
  props: {
44315
44436
  items: {
@@ -44339,18 +44460,18 @@ var nK = /*#__PURE__*/ nH({
44339
44460
  pointer: null
44340
44461
  }), l = Z(() => Math.min(o.value, Math.max(0, c.x)) / o.value), u = Z(() => Math.round(Math.min(o.value, Math.max(0, c.x)))), d = 0, f = 0, p = 0, m = 0, h = !1, g = (e) => Math.min(o.value, Math.max(0, e)), _ = (e, t, n) => -((2 * Math.PI * n) ** 2) * e - 4 * Math.PI * n * t;
44341
44462
  function v(e) {
44342
- let t = c.hand ?? c.target, n = c.hand === null ? sK : cK, r = (e, r) => _(e - t, r, n) + (e < 0 || e > o.value ? _(e - g(e), r, lK) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
44463
+ let t = c.hand ?? c.target, n = c.hand === null ? _K : vK, r = (e, r) => _(e - t, r, n) + (e < 0 || e > o.value ? _(e - g(e), r, yK) : 0), i = c.x, a = c.v, s = r(i, a), l = a + s * e / 2, u = r(i + a * e / 2, l), d = a + u * e / 2, f = r(i + l * e / 2, d), p = a + f * e, m = r(i + d * e, p);
44343
44464
  c.x += e * (a + 2 * l + 2 * d + p) / 6, c.v += e * (s + 2 * u + 2 * f + m) / 6;
44344
44465
  }
44345
44466
  function y(e) {
44346
44467
  d = 0;
44347
- let t = Math.min(pK, (e - f) / 1e3);
44468
+ let t = Math.min(CK, (e - f) / 1e3);
44348
44469
  for (f = e; t > 0;) {
44349
- let e = Math.min(uK, t);
44470
+ let e = Math.min(bK, t);
44350
44471
  v(e), t -= e;
44351
44472
  }
44352
44473
  let n = c.hand ?? c.target;
44353
- Math.abs(c.x - n) < dK && Math.abs(c.v) < fK ? (c.x = n, c.v = 0) : d = requestAnimationFrame(y);
44474
+ Math.abs(c.x - n) < xK && Math.abs(c.v) < SK ? (c.x = n, c.v = 0) : d = requestAnimationFrame(y);
44354
44475
  }
44355
44476
  function b() {
44356
44477
  i.value ? (cancelAnimationFrame(d), d = 0, c.x = c.hand ?? c.target, c.v = 0) : d ||= (f = performance.now(), requestAnimationFrame(y));
@@ -44360,17 +44481,17 @@ var nK = /*#__PURE__*/ nH({
44360
44481
  }
44361
44482
  function S(e) {
44362
44483
  let t = a.value.getBoundingClientRect();
44363
- return g((e.clientX - t.left - mK) / Math.max(1, t.width - 20) * o.value);
44484
+ return g((e.clientX - t.left - wK) / Math.max(1, t.width - 20) * o.value);
44364
44485
  }
44365
44486
  function C(e) {
44366
44487
  e.isPrimary && e.button === 0 && c.pointer === null && (e.preventDefault(), a.value.focus(), a.value.setPointerCapture(e.pointerId), c.pointer = e.pointerId, p = e.clientX, h = !1, m = e.target.closest(".effort-slider-thumb") ? c.x - S(e) : 0, c.hand = g(S(e) + m), b());
44367
44488
  }
44368
44489
  function w(e) {
44369
- c.pointer === e.pointerId && (h ||= Math.abs(e.clientX - p) > hK, c.hand = g(S(e) + m), b());
44490
+ c.pointer === e.pointerId && (h ||= Math.abs(e.clientX - p) > TK, c.hand = g(S(e) + m), b());
44370
44491
  }
44371
44492
  function T(e) {
44372
44493
  if (c.pointer !== e.pointerId) return;
44373
- let t = h ? c.x + c.v / (4 * Math.PI * sK) : c.hand;
44494
+ let t = h ? c.x + c.v / (4 * Math.PI * _K) : c.hand;
44374
44495
  c.hand = null, c.pointer = null, x(t);
44375
44496
  }
44376
44497
  function E(e) {
@@ -44393,7 +44514,7 @@ var nK = /*#__PURE__*/ nH({
44393
44514
  i
44394
44515
  ], () => {
44395
44516
  c.target = s.value, b();
44396
- }), ta(() => cancelAnimationFrame(d)), (t, n) => (U(), W("div", rK, [e.caption ? (U(), W("div", iK, [K("span", null, P(e.caption), 1), q(Cc, {
44517
+ }), ta(() => cancelAnimationFrame(d)), (t, n) => (U(), W("div", pK, [e.caption ? (U(), W("div", mK, [K("span", null, P(e.caption), 1), q(Cc, {
44397
44518
  name: I(i) ? "" : "effort-value",
44398
44519
  mode: "out-in"
44399
44520
  }, {
@@ -44431,47 +44552,47 @@ var nK = /*#__PURE__*/ nH({
44431
44552
  "aria-hidden": "true",
44432
44553
  style: j({ "--at": t / o.value }),
44433
44554
  title: e.label
44434
- }, null, 14, oK))), 128)),
44555
+ }, null, 14, gK))), 128)),
44435
44556
  n[1] ||= K("span", {
44436
44557
  class: "effort-slider-thumb",
44437
44558
  "aria-hidden": "true"
44438
44559
  }, null, -1)
44439
- ], 46, aK)]));
44560
+ ], 46, hK)]));
44440
44561
  }
44441
- }, [["__scopeId", "data-v-f27db748"]]), _K = ["data-identity", "data-face"], vK = ["inert", "aria-hidden"], yK = { class: "expert-card-identity" }, bK = {
44562
+ }, [["__scopeId", "data-v-f27db748"]]), DK = ["data-identity", "data-face"], OK = ["inert", "aria-hidden"], kK = { class: "expert-card-identity" }, AK = {
44442
44563
  key: 0,
44443
44564
  class: "expert-card-badge"
44444
- }, xK = { class: "expert-card-facts" }, SK = ["title"], CK = ["title"], wK = {
44565
+ }, jK = { class: "expert-card-facts" }, MK = ["title"], NK = ["title"], PK = {
44445
44566
  key: 0,
44446
44567
  class: "expert-card-flip"
44447
- }, TK = { class: "expert-card-tools" }, EK = [
44568
+ }, FK = { class: "expert-card-tools" }, IK = [
44448
44569
  "aria-pressed",
44449
44570
  "aria-label",
44450
44571
  "title"
44451
- ], DK = ["aria-label"], OK = ["inert", "aria-hidden"], kK = { class: "expert-card-heading" }, AK = ["aria-label"], jK = [
44572
+ ], LK = ["aria-label"], RK = ["inert", "aria-hidden"], zK = { class: "expert-card-heading" }, BK = ["aria-label"], VK = [
44452
44573
  "aria-checked",
44453
44574
  "tabindex",
44454
44575
  "data-mode",
44455
44576
  "onClick"
44456
- ], MK = {
44577
+ ], HK = {
44457
44578
  key: 1,
44458
44579
  class: "expert-card-field"
44459
- }, NK = {
44580
+ }, UK = {
44460
44581
  key: 2,
44461
44582
  class: "expert-card-field"
44462
- }, PK = ["aria-label"], FK = ["aria-checked", "onClick"], IK = { class: "expert-card-field" }, LK = {
44583
+ }, WK = ["aria-label"], GK = ["aria-checked", "onClick"], KK = { class: "expert-card-field" }, qK = {
44463
44584
  key: 0,
44464
44585
  class: "expert-card-catalog"
44465
- }, RK = {
44586
+ }, JK = {
44466
44587
  key: 1,
44467
44588
  class: "expert-card-effort"
44468
- }, zK = {
44589
+ }, YK = {
44469
44590
  key: 2,
44470
44591
  class: "expert-card-note"
44471
- }, BK = ["aria-label", "disabled"], VK = {
44472
- key: 4,
44592
+ }, XK = ["aria-label", "disabled"], ZK = {
44593
+ key: 5,
44473
44594
  class: "expert-card-note"
44474
- }, HK = { class: "expert-card-flip-actions" }, UK = ["aria-label"], WK = ["aria-label"], GK = 180, KK = /*#__PURE__*/ nH({
44595
+ }, QK = { class: "expert-card-flip-actions" }, $K = ["aria-label"], eq = ["aria-label"], tq = 180, nq = /*#__PURE__*/ nH({
44475
44596
  __name: "ExpertCard",
44476
44597
  props: {
44477
44598
  name: {
@@ -44500,7 +44621,7 @@ var nK = /*#__PURE__*/ nH({
44500
44621
  mass: 1,
44501
44622
  stiffness: 270.0323764138049,
44502
44623
  damping: 31.550710806760762
44503
- }), 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(() => {
44624
+ }), 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 && ne.value.length ? "补齐上方连接后,可在这里选择模型与思考强度。" : n.mode === "online" ? "模型与思考强度在原网页聊天中选择。回答由你或授权主持人代发。" : n.automatic ? p.value.adapter ? "模型与思考强度在 App 原聊天中选择,本页不覆盖 App 设置。" : "先选择软件入口。支持启动参数的 CLI 可在这里设置模型与强度。" : "在已有 App 或 CLI 会话中选择模型与强度,再交给它参与指令。本地 AI 可自行提交回答。"), x = Z(() => {
44504
44625
  let e = v.value.efforts, t = {
44505
44626
  low: "Low",
44506
44627
  medium: "Medium",
@@ -44516,7 +44637,7 @@ var nK = /*#__PURE__*/ nH({
44516
44637
  label: t[e] || e,
44517
44638
  value: e
44518
44639
  }))] : null;
44519
- }), 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(() => [
44640
+ }), 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" && a.launch_can_set_access(n.name, i.value.launch)), w = Z(() => n.mode === "online" || n.automatic && p.value.adapter === "api"), T = Z(() => n.automatic && n.mode === "cli" && p.value.adapter !== "api"), E = Z(() => p.value.project_access || i.value.launch.workspace?.project_access || "read"), D = Z(() => [
44520
44641
  {
44521
44642
  label: "软件",
44522
44643
  value: h.value
@@ -44525,15 +44646,19 @@ var nK = /*#__PURE__*/ nH({
44525
44646
  label: "模型",
44526
44647
  value: y.value ? p.value.model || "默认模型" : n.mode === "online" ? "在原网页设置" : "在原软件设置"
44527
44648
  },
44528
- ...y.value ? [{
44649
+ ...y.value && p.value.adapter !== "api" ? [{
44529
44650
  label: "强度",
44530
44651
  value: S.value
44531
44652
  }] : [],
44532
- ...C.value || n.mode === "online" ? [{
44653
+ ...p.value.adapter === "api" ? [{
44654
+ label: "上下文",
44655
+ value: "房间记录"
44656
+ }] : [],
44657
+ ...C.value || w.value ? [{
44533
44658
  label: "项目",
44534
- value: C.value && w.value === "write" ? "可写" : "只读"
44659
+ value: C.value && E.value === "write" ? "可写" : "只读"
44535
44660
  }] : []
44536
- ]), E = {
44661
+ ]), O = {
44537
44662
  executable: {
44538
44663
  label: "路径",
44539
44664
  placeholder: "可执行文件完整路径"
@@ -44546,36 +44671,36 @@ var nK = /*#__PURE__*/ nH({
44546
44671
  label: "聊天",
44547
44672
  placeholder: "Codex App 来源聊天 ID"
44548
44673
  }
44549
- }, D = /* @__PURE__ */ F([]), O = () => {
44674
+ }, ee = /* @__PURE__ */ F([]), te = () => {
44550
44675
  let e = p.value.adapter;
44551
- return !C.value || !e ? [] : (e === "antigravity" ? ["ipc_directory"] : e === "codex" ? ["executable", "source_thread_id"] : ["executable"]).filter((e) => !p.value[e]);
44552
- }, ee = Z(() => C.value ? [.../* @__PURE__ */ new Set([...D.value, ...O()])].map((e) => ({
44676
+ return !T.value || !e ? [] : (e === "antigravity" ? ["ipc_directory"] : e === "codex" ? ["executable", "source_thread_id"] : ["executable"]).filter((e) => !p.value[e]);
44677
+ }, ne = Z(() => T.value ? [.../* @__PURE__ */ new Set([...ee.value, ...te()])].map((e) => ({
44553
44678
  field: e,
44554
- ...E[e]
44679
+ ...O[e]
44555
44680
  })) : []);
44556
- function te() {
44681
+ function re() {
44557
44682
  Qn(() => {
44558
44683
  document.activeElement === c.value && (f.value ? u : l).value?.focus({ preventScroll: !0 });
44559
44684
  });
44560
44685
  }
44561
- function ne(e) {
44562
- let t = e >= GK / 2;
44563
- f.value !== t && (f.value = t, te());
44686
+ function ie(e) {
44687
+ let t = e >= tq / 2;
44688
+ f.value !== t && (f.value = t, re());
44564
44689
  }
44565
- let re = o.on("change", ne), ie = o.on("animationComplete", te), ae = null;
44566
- function k(e) {
44567
- (!e || g.value) && (c.value?.focus({ preventScroll: !0 }), D.value = e ? O() : [], e && !d.value && (ae = {
44690
+ let ae = o.on("change", ie), k = o.on("animationComplete", re), A = null;
44691
+ function oe(e) {
44692
+ (!e || g.value) && (c.value?.focus({ preventScroll: !0 }), ee.value = e ? te() : [], e && !d.value && (A = {
44568
44693
  profile: JSON.parse(JSON.stringify(p.value)),
44569
44694
  mode: n.mode
44570
44695
  }), d.value = e);
44571
44696
  }
44572
- function A() {
44573
- ae &&= (a.restore_launch_profile(n.name, ae.profile), ae.mode !== n.mode && r("mode", ae.mode), null), k(!1);
44697
+ function se() {
44698
+ A &&= (a.restore_launch_profile(n.name, A.profile), A.mode !== n.mode && r("mode", A.mode), null), oe(!1);
44574
44699
  }
44575
- function oe() {
44700
+ function ce() {
44576
44701
  a.write_launch(n.name, "model", ""), a.write_launch(n.name, "effort", "");
44577
44702
  }
44578
- function se(e) {
44703
+ function le(e) {
44579
44704
  if (![
44580
44705
  "ArrowLeft",
44581
44706
  "ArrowRight",
@@ -44588,12 +44713,12 @@ var nK = /*#__PURE__*/ nH({
44588
44713
  let t = e.key === "Home" ? "cli" : e.key === "End" || n.mode === "cli" ? "online" : "cli";
44589
44714
  r("mode", t), e.currentTarget.querySelector(`[data-mode="${t}"]`)?.focus();
44590
44715
  }
44591
- function ce(e) {
44592
- d.value && (e.stopPropagation(), e.preventDefault(), A());
44716
+ function ue(e) {
44717
+ d.value && (e.stopPropagation(), e.preventDefault(), se());
44593
44718
  }
44594
44719
  return R([d, s], ([e, t]) => {
44595
- let n = e ? GK : 0;
44596
- t ? (o.jump(n), te()) : o.set(n);
44720
+ let n = e ? tq : 0;
44721
+ t ? (o.jump(n), re()) : o.set(n);
44597
44722
  }), R(() => [
44598
44723
  y.value,
44599
44724
  i.value.launch.available,
@@ -44601,7 +44726,7 @@ var nK = /*#__PURE__*/ nH({
44601
44726
  ], ([e, t]) => {
44602
44727
  e && t && a.load_launch_models(n.name);
44603
44728
  }, { immediate: !0 }), ta(() => {
44604
- re(), ie(), o.stop();
44729
+ ae(), k(), o.stop();
44605
44730
  }), (t, n) => {
44606
44731
  let s = Gk, d = zk, h = pV, S = xV;
44607
44732
  return U(), W("div", {
@@ -44609,12 +44734,13 @@ var nK = /*#__PURE__*/ nH({
44609
44734
  ref: c,
44610
44735
  class: M(["expert-card", {
44611
44736
  "is-configurable": y.value,
44612
- "is-host": e.host
44737
+ "is-host": e.host,
44738
+ "is-api": e.automatic && p.value.adapter === "api"
44613
44739
  }]),
44614
44740
  "data-identity": I(a).identities[e.name]?.style,
44615
44741
  "data-face": f.value ? "back" : "front",
44616
44742
  tabindex: "-1",
44617
- onKeydown: fu(ce, ["esc"])
44743
+ onKeydown: fu(ue, ["esc"])
44618
44744
  }, [q(I(QB).div, {
44619
44745
  class: "expert-card-turn",
44620
44746
  style: j({ rotateY: I(o) })
@@ -44630,10 +44756,10 @@ var nK = /*#__PURE__*/ nH({
44630
44756
  class: M(["expert-card-open", { "is-static": !g.value }]),
44631
44757
  "aria-label": g.value ? _.value : void 0,
44632
44758
  title: g.value ? "点击翻面设置" : void 0,
44633
- onClick: n[0] ||= (e) => k(!0)
44759
+ onClick: n[0] ||= (e) => oe(!0)
44634
44760
  }, {
44635
44761
  default: L(() => [
44636
- K("span", yK, [
44762
+ K("span", kK, [
44637
44763
  q(s, {
44638
44764
  src: I(a).identities[e.name]?.icon,
44639
44765
  text: I(a).identities[e.name]?.initials,
@@ -44647,13 +44773,13 @@ var nK = /*#__PURE__*/ nH({
44647
44773
  "class"
44648
44774
  ]),
44649
44775
  K("strong", null, P(e.name), 1),
44650
- e.host ? (U(), W("span", bK, "主持")) : Y("", !0)
44776
+ e.host ? (U(), W("span", AK, "主持")) : Y("", !0)
44651
44777
  ]),
44652
- K("dl", xK, [K("div", null, [n[9] ||= K("dt", null, "状态", -1), K("dd", {
44778
+ K("dl", jK, [K("div", null, [n[9] ||= K("dt", null, "状态", -1), K("dd", {
44653
44779
  class: M(["expert-card-status", `is-${e.status.tone}`]),
44654
44780
  title: e.status.text
44655
- }, [n[8] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(e.status.text), 1)], 10, SK)]), (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, CK)]))), 128))]),
44656
- g.value ? (U(), W("span", wK, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
44781
+ }, [n[8] ||= K("i", { "aria-hidden": "true" }, null, -1), J(P(e.status.text), 1)], 10, MK)]), (U(!0), W(H, null, B(D.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", { title: e.value }, P(e.value), 9, NK)]))), 128))]),
44782
+ g.value ? (U(), W("span", PK, [q(d, { name: "i-lucide-settings-2" }), n[10] ||= J("设置", -1)])) : Y("", !0)
44657
44783
  ]),
44658
44784
  _: 1
44659
44785
  }, 8, [
@@ -44661,7 +44787,7 @@ var nK = /*#__PURE__*/ nH({
44661
44787
  "class",
44662
44788
  "aria-label",
44663
44789
  "title"
44664
- ])), K("span", TK, [e.hostable ? (U(), W("button", {
44790
+ ])), K("span", FK, [e.hostable ? (U(), W("button", {
44665
44791
  key: 0,
44666
44792
  type: "button",
44667
44793
  class: "expert-card-host",
@@ -44669,24 +44795,24 @@ var nK = /*#__PURE__*/ nH({
44669
44795
  "aria-label": e.host ? `${e.name} 是主持人` : `设 ${e.name} 为主持人`,
44670
44796
  title: e.host ? "主持人" : "设为主持人",
44671
44797
  onClick: n[1] ||= (e) => r("host")
44672
- }, [q(d, { name: "i-lucide-crown" })], 8, EK)) : Y("", !0), K("button", {
44798
+ }, [q(d, { name: "i-lucide-crown" })], 8, IK)) : Y("", !0), K("button", {
44673
44799
  type: "button",
44674
44800
  "aria-label": `移出 ${e.name}`,
44675
44801
  title: "移出",
44676
44802
  onClick: n[2] ||= (e) => r("remove")
44677
- }, [q(d, { name: "i-lucide-x" })], 8, DK)])], 8, vK), g.value ? (U(), W("div", {
44803
+ }, [q(d, { name: "i-lucide-x" })], 8, LK)])], 8, OK), g.value ? (U(), W("div", {
44678
44804
  key: 0,
44679
44805
  class: "expert-card-face expert-card-back",
44680
44806
  inert: !f.value,
44681
44807
  "aria-hidden": !f.value
44682
44808
  }, [
44683
- K("div", kK, [K("strong", null, [J(P(e.name), 1), n[11] ||= K("span", null, "设置", -1)])]),
44809
+ K("div", zK, [K("strong", null, [J(P(e.name), 1), K("span", null, "设置" + P(w.value ? " · 项目只读" : ""), 1)])]),
44684
44810
  e.automatic ? Y("", !0) : (U(), W("div", {
44685
44811
  key: 0,
44686
44812
  class: "expert-card-modes",
44687
44813
  role: "radiogroup",
44688
44814
  "aria-label": `${e.name} 参与能力`,
44689
- onKeydown: se
44815
+ onKeydown: le
44690
44816
  }, [(U(), W(H, null, B([{
44691
44817
  value: "cli",
44692
44818
  label: "本地读写"
@@ -44701,11 +44827,11 @@ var nK = /*#__PURE__*/ nH({
44701
44827
  tabindex: e.mode === t.value ? 0 : -1,
44702
44828
  "data-mode": t.value,
44703
44829
  onClick: (e) => r("mode", t.value)
44704
- }, P(t.label), 9, jK)), 64))], 40, AK)),
44705
- e.automatic && e.mode === "cli" && m.value.length ? (U(), W("div", MK, [n[12] ||= K("span", null, "软件", -1), q(h, {
44830
+ }, P(t.label), 9, VK)), 64))], 40, BK)),
44831
+ e.automatic && e.mode === "cli" && m.value.length ? (U(), W("div", HK, [n[11] ||= K("span", null, "接入", -1), q(h, {
44706
44832
  "model-value": p.value.adapter || "",
44707
44833
  items: m.value,
44708
- placeholder: "选择 App / CLI",
44834
+ placeholder: "选择 API / App / CLI",
44709
44835
  "aria-label": `${e.name} 软件入口`,
44710
44836
  size: "xs",
44711
44837
  class: "w-full",
@@ -44715,7 +44841,7 @@ var nK = /*#__PURE__*/ nH({
44715
44841
  "items",
44716
44842
  "aria-label"
44717
44843
  ])])) : Y("", !0),
44718
- (U(!0), W(H, null, B(ee.value, (t) => (U(), W("div", {
44844
+ (U(!0), W(H, null, B(ne.value, (t) => (U(), W("div", {
44719
44845
  key: t.field,
44720
44846
  class: "expert-card-field"
44721
44847
  }, [K("span", null, P(t.label), 1), q(S, {
@@ -44731,7 +44857,7 @@ var nK = /*#__PURE__*/ nH({
44731
44857
  "aria-label",
44732
44858
  "onUpdate:modelValue"
44733
44859
  ])]))), 128)),
44734
- C.value ? (U(), W("div", NK, [n[13] ||= K("span", null, "项目", -1), K("div", {
44860
+ C.value ? (U(), W("div", UK, [n[12] ||= K("span", null, "项目", -1), K("div", {
44735
44861
  class: "expert-card-modes",
44736
44862
  role: "radiogroup",
44737
44863
  "aria-label": `${e.name} 的项目文件权限`
@@ -44745,11 +44871,14 @@ var nK = /*#__PURE__*/ nH({
44745
44871
  key: t.value,
44746
44872
  type: "button",
44747
44873
  role: "radio",
44748
- "aria-checked": w.value === t.value,
44874
+ "aria-checked": E.value === t.value,
44749
44875
  onClick: (n) => I(a).write_launch(e.name, "project_access", t.value)
44750
- }, P(t.label), 9, FK)), 64))], 8, PK)])) : Y("", !0),
44751
- y.value && !ee.value.length ? (U(), W(H, { key: 3 }, [
44752
- K("div", IK, [n[14] ||= K("span", null, "模型", -1), q(h, {
44876
+ }, P(t.label), 9, GK)), 64))], 8, WK)])) : Y("", !0),
44877
+ e.automatic && p.value.adapter === "api" ? (U(), G(xW, {
44878
+ key: 3,
44879
+ name: e.name
44880
+ }, null, 8, ["name"])) : y.value && !ne.value.length ? (U(), W(H, { key: 4 }, [
44881
+ K("div", KK, [n[13] ||= K("span", null, "模型", -1), q(h, {
44753
44882
  "model-value": p.value.model || "__default__",
44754
44883
  items: v.value.items,
44755
44884
  loading: v.value.loading,
@@ -44765,12 +44894,12 @@ var nK = /*#__PURE__*/ nH({
44765
44894
  "title",
44766
44895
  "aria-label"
44767
44896
  ])]),
44768
- v.value.loading || v.value.error ? (U(), W("div", LK, [K("span", null, P(v.value.loading ? "正在读取软件模型列表…" : v.value.error), 1), !v.value.loading && v.value.error && I(i).launch.available ? (U(), W("button", {
44897
+ v.value.loading || v.value.error ? (U(), W("div", qK, [K("span", null, P(v.value.loading ? "正在读取软件模型列表…" : v.value.error), 1), !v.value.loading && v.value.error && I(i).launch.available ? (U(), W("button", {
44769
44898
  key: 0,
44770
44899
  type: "button",
44771
44900
  onClick: n[5] ||= (t) => I(a).load_launch_models(e.name, !0)
44772
44901
  }, "重试")) : Y("", !0)])) : Y("", !0),
44773
- x.value ? (U(), W("div", RK, [q(gK, {
44902
+ x.value ? (U(), W("div", JK, [q(EK, {
44774
44903
  caption: "强度",
44775
44904
  items: x.value,
44776
44905
  "model-value": p.value.effort || "",
@@ -44780,84 +44909,84 @@ var nK = /*#__PURE__*/ nH({
44780
44909
  "items",
44781
44910
  "model-value",
44782
44911
  "label"
44783
- ])])) : (U(), W("p", zK, P(v.value.effort_note), 1)),
44912
+ ])])) : (U(), W("p", YK, P(v.value.effort_note), 1)),
44784
44913
  K("button", {
44785
44914
  type: "button",
44786
44915
  class: "expert-card-defaults",
44787
44916
  title: "留空使用 CLI 默认值",
44788
44917
  "aria-label": `恢复 ${e.name} 的默认模型与强度`,
44789
44918
  disabled: !p.value.model && !p.value.effort,
44790
- onClick: oe
44791
- }, "恢复默认", 8, BK)
44792
- ], 64)) : (U(), W("p", VK, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(b.value), 1)])),
44793
- K("span", HK, [K("button", {
44919
+ onClick: ce
44920
+ }, "恢复默认", 8, XK)
44921
+ ], 64)) : (U(), W("p", ZK, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(b.value), 1)])),
44922
+ K("span", QK, [K("button", {
44794
44923
  type: "button",
44795
44924
  class: "expert-card-flip is-cancel",
44796
44925
  "aria-label": `放弃 ${e.name} 的修改`,
44797
- onClick: A
44798
- }, "取消", 8, UK), K("button", {
44926
+ onClick: se
44927
+ }, "取消", 8, $K), K("button", {
44799
44928
  ref_key: "back_button",
44800
44929
  ref: u,
44801
44930
  type: "button",
44802
44931
  class: "expert-card-flip is-done",
44803
44932
  "aria-label": `保存并返回 ${e.name} 角色卡片`,
44804
- onClick: n[7] ||= (e) => k(!1)
44805
- }, [q(d, { name: "i-lucide-check" }), n[15] ||= J("完成", -1)], 8, WK)])
44806
- ], 8, OK)) : Y("", !0)]),
44933
+ onClick: n[7] ||= (e) => oe(!1)
44934
+ }, [q(d, { name: "i-lucide-check" }), n[14] ||= J("完成", -1)], 8, eq)])
44935
+ ], 8, RK)) : Y("", !0)]),
44807
44936
  _: 1
44808
- }, 8, ["style"])], 42, _K);
44937
+ }, 8, ["style"])], 42, DK);
44809
44938
  };
44810
44939
  }
44811
- }, [["__scopeId", "data-v-affc1d99"]]), qK = { class: "create-discussion" }, JK = {
44940
+ }, [["__scopeId", "data-v-20eb4ed8"]]), rq = { class: "create-discussion" }, iq = {
44812
44941
  key: 0,
44813
44942
  class: "channel-create-location"
44814
- }, YK = { class: "create-section" }, XK = [
44943
+ }, aq = { class: "create-section" }, oq = [
44815
44944
  "aria-checked",
44816
44945
  "tabindex",
44817
44946
  "onClick"
44818
- ], ZK = { class: "create-mode-copy" }, QK = { class: "create-section" }, $K = { class: "create-section-heading" }, eq = [
44947
+ ], sq = { class: "create-mode-copy" }, cq = { class: "create-section" }, lq = { class: "create-section-heading" }, uq = [
44819
44948
  "title",
44820
44949
  "aria-checked",
44821
44950
  "tabindex",
44822
44951
  "onClick"
44823
- ], tq = { class: "fine-print create-hint" }, nq = {
44952
+ ], dq = { class: "fine-print create-hint" }, fq = {
44824
44953
  key: 0,
44825
44954
  class: "create-experts",
44826
44955
  role: "group",
44827
44956
  "aria-label": "参与的 AI"
44828
- }, rq = {
44957
+ }, pq = {
44829
44958
  key: 1,
44830
44959
  class: "create-experts-empty"
44831
- }, iq = [
44960
+ }, mq = [
44832
44961
  "disabled",
44833
44962
  "title",
44834
44963
  "aria-label",
44835
44964
  "onClick"
44836
- ], aq = { class: "fine-print create-hint create-host-hint" }, oq = ["aria-pressed"], sq = {
44965
+ ], hq = { class: "fine-print create-hint create-host-hint" }, gq = ["aria-pressed"], _q = {
44837
44966
  key: 1,
44838
44967
  class: "create-section"
44839
- }, cq = {
44968
+ }, vq = {
44840
44969
  key: 0,
44841
44970
  class: "form-two-columns"
44842
- }, lq = { class: "create-host" }, uq = {
44971
+ }, yq = { class: "create-host" }, bq = {
44843
44972
  class: "create-chips",
44844
44973
  role: "radiogroup",
44845
44974
  "aria-label": "达到上限后"
44846
- }, dq = ["aria-checked", "onClick"], fq = {
44975
+ }, xq = ["aria-checked", "onClick"], Sq = {
44847
44976
  class: "create-limit-rule",
44848
44977
  "aria-live": "polite"
44849
- }, pq = {
44978
+ }, Cq = {
44850
44979
  key: 2,
44851
44980
  class: "create-section"
44852
- }, mq = {
44981
+ }, wq = {
44853
44982
  key: 0,
44854
44983
  role: "alert",
44855
44984
  class: "fine-print create-hint"
44856
- }, hq = { class: "create-footer" }, gq = {
44985
+ }, Tq = { class: "create-footer" }, Eq = {
44857
44986
  key: 0,
44858
44987
  role: "alert",
44859
44988
  class: "create-error"
44860
- }, _q = { class: "create-footer-row" }, vq = ["title"], yq = "new-expert-modes", bq = /*#__PURE__*/ nH({
44989
+ }, Dq = { class: "create-footer-row" }, Oq = ["title"], kq = "new-expert-modes", Aq = /*#__PURE__*/ nH({
44861
44990
  __name: "CreateDiscussion",
44862
44991
  props: { targetFolder: {
44863
44992
  type: Object,
@@ -44885,9 +45014,9 @@ var nK = /*#__PURE__*/ nH({
44885
45014
  icon: "i-lucide-copy",
44886
45015
  title: "手动接入",
44887
45016
  text: "首次复制指令,之后人工或定时触发"
44888
- }], m = Z(() => r.value.experts[yq] || {}), 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) => {
45017
+ }], m = Z(() => r.value.experts[kq] || {}), 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) => {
44889
45018
  let t = r.value.launch.profiles[e] || {};
44890
- return !!(t.adapter && (t.adapter === "antigravity" ? t.ipc_directory : t.executable));
45019
+ return t.adapter === "api" ? !!(t.base_url && t.api_protocol && t.api_key_ref && t.model) : !!(t.adapter && (t.adapter === "antigravity" ? t.ipc_directory : t.executable));
44891
45020
  }, 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));
44892
45021
  function T() {
44893
45022
  y.value.includes(v.value) || l("host", y.value[0] || "");
@@ -44914,30 +45043,33 @@ var nK = /*#__PURE__*/ nH({
44914
45043
  i.focus(), i.click();
44915
45044
  }
44916
45045
  function ee(e, t) {
44917
- i.write_expert(yq, e, t), T();
45046
+ i.write_expert(kq, e, t), T();
44918
45047
  }
44919
45048
  function te(e) {
44920
- return m.value[e] === "online" ? {
45049
+ if (m.value[e] === "online") return {
44921
45050
  text: "在线只读,回答由人代发",
44922
45051
  tone: "muted"
44923
- } : u.value ? S(e) ? {
44924
- text: "已配置本机软件",
45052
+ };
45053
+ if (!u.value) return {
45054
+ text: "本地读写,可自行提交",
45055
+ tone: "muted"
45056
+ };
45057
+ let t = r.value.launch.profiles[e]?.adapter === "api";
45058
+ return S(e) ? {
45059
+ text: t ? "已配置 API" : "已配置本机软件",
44925
45060
  tone: "ready"
44926
45061
  } : {
44927
- text: "待补齐软件连接",
45062
+ text: t ? "待补齐 API 配置" : "待补齐接入配置",
44928
45063
  tone: "warn"
44929
- } : {
44930
- text: "本地读写,可自行提交",
44931
- tone: "muted"
44932
45064
  };
44933
45065
  }
44934
45066
  function ne(e) {
44935
- return g(e) ? `已加入 ${g(e)} 位 · 可继续添加` : i.launch_clients[e] ? "本地 App / CLI" : "网页 AI · 手动接入";
45067
+ return g(e) ? `已加入 ${g(e)} 位 · 可继续添加` : i.launch_clients[e]?.some((e) => e.value !== "api") ? "API / 本地 App / CLI" : "API / 网页手动接入";
44936
45068
  }
44937
45069
  function re(e) {
44938
45070
  if (u.value && !i.launch_clients[e]) return;
44939
- let t = i.launch_clients[e] ? "cli" : "online";
44940
- g(e) ? i.add_instance(yq, e, t) : ee(e, t), T();
45071
+ let t = i.launch_clients[e]?.some((e) => e.value !== "api"), n = u.value || t ? "cli" : "online";
45072
+ u.value && !t && !r.value.launch.profiles[e]?.adapter && i.write_launch(e, "adapter", "api"), g(e) ? i.add_instance(kq, e, n) : ee(e, n), T();
44941
45073
  }
44942
45074
  function ie(e) {
44943
45075
  ee(e, ""), Qn(() => _.value?.querySelector("button:not(:disabled)")?.focus({ preventScroll: !0 }));
@@ -44955,7 +45087,7 @@ var nK = /*#__PURE__*/ nH({
44955
45087
  b.value?.settle(), n("submit");
44956
45088
  }
44957
45089
  let oe = Z(() => {
44958
- let e = Number(c("limit-max_rounds")), t = Number(c("limit-max_minutes")), n = [e && `${e} 轮`, t && tK(t)].filter(Boolean);
45090
+ let e = Number(c("limit-max_rounds")), t = Number(c("limit-max_minutes")), n = [e && `${e} 轮`, t && dK(t)].filter(Boolean);
44959
45091
  if (!n.length) return "不设轮次和时长上限。";
44960
45092
  let r = c("limit-on_limit") === "summarize" ? "由主持人总结" : "暂停";
44961
45093
  return `最多 ${n.join(" 或 ")},${n.length === 2 ? "先到则" : "到限后"}${r}。`;
@@ -44967,7 +45099,7 @@ var nK = /*#__PURE__*/ nH({
44967
45099
  v.value === "用户" ? "你来主持" : `${v.value} 协助主持`,
44968
45100
  u.value ? "程序唤醒" : "手动接入"
44969
45101
  ].join(" · ");
44970
- let t = c("limit-max_rounds"), n = c("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? tK(Number(n)) : "不限时长"].join(" / ");
45102
+ let t = c("limit-max_rounds"), n = c("limit-max_minutes"), r = [t && Number(t) ? `${t} 轮` : "不限轮次", n && Number(n) ? dK(Number(n)) : "不限时长"].join(" / ");
44971
45103
  return [
44972
45104
  v.value ? `${i.display_name(v.value)} 主持` : "尚未选择主持人",
44973
45105
  e.length ? `${e.join("、")} 参与` : "尚未选择专家",
@@ -44976,14 +45108,14 @@ var nK = /*#__PURE__*/ nH({
44976
45108
  ].join(" · ");
44977
45109
  });
44978
45110
  return (t, s) => {
44979
- let g = zk, S = xV, T = MV, ce = FV, le = Gk, ue = LG, de = uA;
44980
- return U(), W("div", qK, [K("form", {
45111
+ let g = zk, S = xV, T = MV, ce = FV, le = Gk, ue = qG, de = uA;
45112
+ return U(), W("div", rq, [K("form", {
44981
45113
  id: "create-discussion-form",
44982
45114
  class: "create-scroll dialog-form",
44983
45115
  onSubmit: uu(A, ["prevent"])
44984
45116
  }, [
44985
- e.targetFolder?.id ? (U(), W("p", JK, [q(g, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
44986
- K("section", YK, [
45117
+ e.targetFolder?.id ? (U(), W("p", iq, [q(g, { name: "i-lucide-folder" }), J(P(e.targetFolder.name), 1)])) : Y("", !0),
45118
+ K("section", aq, [
44987
45119
  s[10] ||= K("h3", null, [K("span", null, "1"), J("这次做什么")], -1),
44988
45120
  K("div", {
44989
45121
  class: "create-modes",
@@ -44998,7 +45130,7 @@ var nK = /*#__PURE__*/ nH({
44998
45130
  "aria-checked": (c("kind") || "brainstorm") === e.value,
44999
45131
  tabindex: (c("kind") || "brainstorm") === e.value ? 0 : -1,
45000
45132
  onClick: (t) => E(e.value)
45001
- }, [q(g, { name: e.icon }, null, 8, ["name"]), K("span", ZK, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, XK)), 64))], 32),
45133
+ }, [q(g, { name: e.icon }, null, 8, ["name"]), K("span", sq, [K("strong", null, P(e.title), 1), K("small", null, P(e.text), 1)])], 10, oq)), 64))], 32),
45002
45134
  q(T, {
45003
45135
  label: "话题名称",
45004
45136
  required: ""
@@ -45035,8 +45167,8 @@ var nK = /*#__PURE__*/ nH({
45035
45167
  _: 1
45036
45168
  }))
45037
45169
  ]),
45038
- K("section", QK, [
45039
- K("div", $K, [s[11] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1), K("div", {
45170
+ K("section", cq, [
45171
+ K("div", lq, [s[11] ||= K("h3", null, [K("span", null, "2"), J("谁来参与")], -1), K("div", {
45040
45172
  class: "create-segments",
45041
45173
  role: "radiogroup",
45042
45174
  "aria-label": "接入方式",
@@ -45049,9 +45181,9 @@ var nK = /*#__PURE__*/ nH({
45049
45181
  "aria-checked": c("mode") === e.value,
45050
45182
  tabindex: c("mode") === e.value ? 0 : -1,
45051
45183
  onClick: (t) => D(e.value)
45052
- }, [q(g, { name: e.icon }, null, 8, ["name"]), J(P(e.title), 1)], 8, eq)), 64))], 32)]),
45053
- K("p", tq, P(u.value ? "本机服务交付任务并自动接续会话;仅支持已适配的本地软件,网页 AI 请用手动接入。" : "首次复制指令,之后人工或定时触发;本地 AI 可自行提交,网页 AI 由你或授权主持人代发。"), 1),
45054
- h.value.length ? (U(), W("div", nq, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(KK, {
45184
+ }, [q(g, { name: e.icon }, null, 8, ["name"]), J(P(e.title), 1)], 8, uq)), 64))], 32)]),
45185
+ K("p", dq, P(u.value ? "本机服务自动接续 API 或已适配的软件;网页 AI 请用手动接入。" : "首次复制指令,之后人工或定时触发;本地 AI 可自行提交,网页 AI 由你或授权主持人代发。"), 1),
45186
+ h.value.length ? (U(), W("div", fq, [(U(!0), W(H, null, B(h.value, (e) => (U(), G(nq, {
45055
45187
  key: e,
45056
45188
  name: e,
45057
45189
  mode: m.value[e],
@@ -45072,7 +45204,7 @@ var nK = /*#__PURE__*/ nH({
45072
45204
  "onHost",
45073
45205
  "onRemove",
45074
45206
  "onMode"
45075
- ]))), 128))])) : (U(), W("p", rq, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
45207
+ ]))), 128))])) : (U(), W("p", pq, "从下方添加 AI;同一平台可添加多位,各自独立会话。")),
45076
45208
  K("div", {
45077
45209
  ref_key: "library",
45078
45210
  ref: _,
@@ -45101,21 +45233,21 @@ var nK = /*#__PURE__*/ nH({
45101
45233
  ]),
45102
45234
  J(P(e), 1),
45103
45235
  q(g, { name: "i-lucide-plus" })
45104
- ], 8, iq))), 128))], 512),
45105
- K("div", aq, [d.value ? (U(), W("button", {
45236
+ ], 8, mq))), 128))], 512),
45237
+ K("div", hq, [d.value ? (U(), W("button", {
45106
45238
  key: 0,
45107
45239
  type: "button",
45108
45240
  class: "create-host-self",
45109
45241
  "aria-pressed": v.value === "用户",
45110
45242
  onClick: s[2] ||= (e) => l("host", "用户")
45111
- }, [q(g, { name: "i-lucide-crown" }), s[13] ||= J("我来主持", -1)], 8, oq)) : (U(), G(g, {
45243
+ }, [q(g, { name: "i-lucide-crown" }), s[13] ||= J("我来主持", -1)], 8, gq)) : (U(), G(g, {
45112
45244
  key: 1,
45113
45245
  name: "i-lucide-crown"
45114
- })), K("span", null, P(d.value ? "默认由你点名和分配任务;也可点卡片上的皇冠,由一位本地 AI 协助主持。" : y.value.length ? "点卡片上的皇冠指定主持人:须为本地读写 AI,负责补全议题、安排发言与收束,也可同时作为专家。" : "先添加一位本地读写的 AI 担任主持人。"), 1)])
45246
+ })), K("span", null, P(d.value ? "默认由你点名和分配任务;也可点卡片上的皇冠,指定 AI 主持人。" : y.value.length ? "点卡片上的皇冠指定主持人,负责补全议题、安排发言与收束,也可同时作为专家。" : "先添加一位可自行提交的 AI 担任主持人。"), 1)])
45115
45247
  ]),
45116
- d.value ? Y("", !0) : (U(), W("section", sq, [
45248
+ d.value ? Y("", !0) : (U(), W("section", _q, [
45117
45249
  s[16] ||= K("h3", null, [K("span", null, "3"), J("讨论多久")], -1),
45118
- q(nK, {
45250
+ q(fK, {
45119
45251
  ref_key: "limit_picker",
45120
45252
  ref: b,
45121
45253
  rounds: Number(c("limit-max_rounds")),
@@ -45124,7 +45256,7 @@ var nK = /*#__PURE__*/ nH({
45124
45256
  "onUpdate:minutes": s[4] ||= (e) => l("limit-max_minutes", String(e))
45125
45257
  }, null, 8, ["rounds", "minutes"]),
45126
45258
  s[17] ||= K("p", { class: "fine-print create-hint" }, "一轮指每位专家各完成一次观点;首次进入讨论或创建安排后计时,暂停期间不计时。", -1),
45127
- u.value ? (U(), W("div", cq, [q(T, {
45259
+ u.value ? (U(), W("div", vq, [q(T, {
45128
45260
  label: "单次 AI 执行(分钟)",
45129
45261
  description: "留空或 0 表示不限"
45130
45262
  }, {
@@ -45140,9 +45272,9 @@ var nK = /*#__PURE__*/ nH({
45140
45272
  }, null, 8, ["model-value"])]),
45141
45273
  _: 1
45142
45274
  })])) : Y("", !0),
45143
- K("div", lq, [
45275
+ K("div", yq, [
45144
45276
  s[15] ||= K("span", { class: "create-label" }, "达到任一上限后", -1),
45145
- K("div", uq, [(U(), W(H, null, B([{
45277
+ K("div", bq, [(U(), W(H, null, B([{
45146
45278
  value: "pause",
45147
45279
  label: "暂停保留现场"
45148
45280
  }, {
@@ -45155,7 +45287,7 @@ var nK = /*#__PURE__*/ nH({
45155
45287
  "aria-checked": (c("limit-on_limit") || "pause") === e.value,
45156
45288
  class: M({ "is-selected": (c("limit-on_limit") || "pause") === e.value }),
45157
45289
  onClick: (t) => l("limit-on_limit", e.value)
45158
- }, P(e.label), 11, dq)), 64))]),
45290
+ }, P(e.label), 11, xq)), 64))]),
45159
45291
  c("limit-on_limit") === "summarize" ? (U(), G(S, {
45160
45292
  key: 0,
45161
45293
  "model-value": c("limit-summary_minutes"),
@@ -45171,11 +45303,11 @@ var nK = /*#__PURE__*/ nH({
45171
45303
  _: 1
45172
45304
  }, 8, ["model-value"])) : Y("", !0)
45173
45305
  ]),
45174
- K("p", fq, [q(g, { name: "i-lucide-flag" }), J(P(oe.value), 1)])
45306
+ K("p", Sq, [q(g, { name: "i-lucide-flag" }), J(P(oe.value), 1)])
45175
45307
  ])),
45176
- u.value ? (U(), W("section", pq, [
45177
- K("h3", null, [K("span", null, P(d.value ? 3 : 4), 1), s[18] ||= J("启动本机软件", -1)]),
45178
- d.value && !I(r).launch.available ? (U(), W("p", mq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
45308
+ u.value ? (U(), W("section", Cq, [
45309
+ K("h3", null, [K("span", null, P(d.value ? 3 : 4), 1), s[18] ||= J("启动 AI", -1)]),
45310
+ d.value && !I(r).launch.available ? (U(), W("p", wq, "程序唤醒需要本机服务:请在运行 AI 的电脑打开本机网站,或先运行连接命令。")) : Y("", !0),
45179
45311
  I(r).launch.available ? (U(), W(H, { key: 1 }, [d.value ? Y("", !0) : (U(), G(ue, {
45180
45312
  key: 0,
45181
45313
  "model-value": I(r).launch.create,
@@ -45203,18 +45335,18 @@ var nK = /*#__PURE__*/ nH({
45203
45335
  _: 1
45204
45336
  }, 8, ["model-value"])]),
45205
45337
  _: 1
45206
- }), s[19] ||= K("p", { class: "fine-print create-hint" }, "要一起查看的项目;留空时 AI 只在讨论私有目录工作。读写权限在各专家卡片上设置。", -1)], 64)) : Y("", !0)], 64)) : (U(), G(CW, {
45338
+ }), s[19] ||= K("p", { class: "fine-print create-hint" }, "供本地软件查看的项目,读写权限在专家卡片上设置。API 仅使用房间上下文。", -1)], 64)) : Y("", !0)], 64)) : (U(), G(NW, {
45207
45339
  key: 2,
45208
45340
  participants: x.value,
45209
45341
  workspace: !1,
45210
45342
  "model-selection": !1
45211
45343
  }, null, 8, ["participants"]))
45212
45344
  ])) : Y("", !0)
45213
- ], 32), K("footer", hq, [C.value && I(r).launch.error ? (U(), W("p", gq, P(I(r).launch.error), 1)) : Y("", !0), K("div", _q, [
45345
+ ], 32), K("footer", Tq, [C.value && I(r).launch.error ? (U(), W("p", Eq, P(I(r).launch.error), 1)) : Y("", !0), K("div", Dq, [
45214
45346
  K("span", {
45215
45347
  class: "create-summary",
45216
45348
  title: se.value
45217
- }, P(se.value), 9, vq),
45349
+ }, P(se.value), 9, Oq),
45218
45350
  q(de, {
45219
45351
  label: "取消",
45220
45352
  color: "neutral",
@@ -45238,65 +45370,65 @@ var nK = /*#__PURE__*/ nH({
45238
45370
  ])])]);
45239
45371
  };
45240
45372
  }
45241
- }, [["__scopeId", "data-v-e77b1959"]]), xq = {
45373
+ }, [["__scopeId", "data-v-08bfa7d5"]]), jq = {
45242
45374
  key: 0,
45243
45375
  class: "channel-archive-manager"
45244
- }, Sq = { class: "channel-archive-toolbar" }, Cq = {
45376
+ }, Mq = { class: "channel-archive-toolbar" }, Nq = {
45245
45377
  key: 0,
45246
45378
  class: "channel-archive-confirm channel-archive-bulk",
45247
45379
  role: "alert"
45248
- }, wq = {
45380
+ }, Pq = {
45249
45381
  key: 1,
45250
45382
  role: "alert",
45251
45383
  class: "channel-directory-error"
45252
- }, Tq = { class: "channel-archive-results" }, Eq = {
45384
+ }, Fq = { class: "channel-archive-results" }, Iq = {
45253
45385
  key: 0,
45254
45386
  class: "channel-archive-list",
45255
45387
  "aria-label": "已存档频道列表"
45256
- }, Dq = { class: "channel-archive-row" }, Oq = { class: "channel-archive-info" }, kq = [
45388
+ }, Lq = { class: "channel-archive-row" }, Rq = { class: "channel-archive-info" }, zq = [
45257
45389
  "title",
45258
45390
  "disabled",
45259
45391
  "onClick"
45260
- ], Aq = { key: 0 }, jq = ["datetime"], Mq = { class: "channel-archive-actions" }, Nq = {
45392
+ ], Bq = { key: 0 }, Vq = ["datetime"], Hq = { class: "channel-archive-actions" }, Uq = {
45261
45393
  key: 0,
45262
45394
  class: "channel-archive-confirm channel-archive-bulk",
45263
45395
  role: "alert"
45264
- }, Pq = {
45396
+ }, Wq = {
45265
45397
  key: 1,
45266
45398
  class: "channel-archive-empty"
45267
- }, Fq = { class: "fine-print" }, Iq = { class: "dialog-actions" }, Lq = { class: "dialog-actions" }, Rq = { class: "channel-management-target" }, zq = {
45399
+ }, Gq = { class: "fine-print" }, Kq = { class: "dialog-actions" }, qq = { class: "dialog-actions" }, Jq = { class: "channel-management-target" }, Yq = {
45268
45400
  key: 0,
45269
45401
  class: "fine-print"
45270
- }, Bq = {
45402
+ }, Xq = {
45271
45403
  key: 1,
45272
45404
  class: "fine-print"
45273
- }, Vq = {
45405
+ }, Zq = {
45274
45406
  key: 2,
45275
45407
  class: "fine-print"
45276
- }, Hq = { class: "dialog-actions" }, Uq = { key: 4 }, Wq = { class: "theme-choices" }, Gq = ["aria-pressed", "onClick"], Kq = { class: "theme-check" }, qq = { class: "channel-reading-setting" }, Jq = {
45408
+ }, Qq = { class: "dialog-actions" }, $q = { key: 4 }, eJ = { class: "theme-choices" }, tJ = ["aria-pressed", "onClick"], nJ = { class: "theme-check" }, rJ = { class: "channel-reading-setting" }, iJ = {
45277
45409
  class: "channel-reading-options",
45278
45410
  role: "group",
45279
45411
  "aria-labelledby": "channel-reading-label"
45280
- }, Yq = { class: "channel-reading-setting" }, Xq = {
45412
+ }, aJ = { class: "channel-reading-setting" }, oJ = {
45281
45413
  class: "channel-reading-options channel-effect-options",
45282
45414
  role: "group",
45283
45415
  "aria-labelledby": "channel-effects-label"
45284
- }, Zq = { class: "form-two-columns" }, Qq = { class: "advanced-content" }, $q = { class: "form-two-columns" }, eJ = {
45416
+ }, sJ = { class: "form-two-columns" }, cJ = { class: "advanced-content" }, lJ = { class: "form-two-columns" }, uJ = {
45285
45417
  key: 0,
45286
45418
  class: "fine-print"
45287
- }, tJ = { class: "advanced-content" }, nJ = { class: "expert-fields" }, rJ = { class: "dialog-actions" }, iJ = { class: "dialog-actions" }, aJ = {
45419
+ }, dJ = { class: "advanced-content" }, fJ = { class: "expert-fields" }, pJ = { class: "dialog-actions" }, mJ = { class: "dialog-actions" }, hJ = {
45288
45420
  key: 8,
45289
45421
  class: "original-message"
45290
- }, oJ = {
45422
+ }, gJ = {
45291
45423
  key: 0,
45292
45424
  role: "alert"
45293
- }, sJ = { class: "original-meta" }, cJ = { class: "fine-print" }, lJ = {
45425
+ }, _J = { class: "original-meta" }, vJ = { class: "fine-print" }, yJ = {
45294
45426
  key: 0,
45295
45427
  class: "channel-answer-summary"
45296
- }, uJ = { class: "message-prose" }, dJ = { class: "message-prose" }, fJ = ["innerHTML"], pJ = {
45428
+ }, bJ = { class: "message-prose" }, xJ = { class: "message-prose" }, SJ = ["innerHTML"], CJ = {
45297
45429
  key: 2,
45298
45430
  class: "fine-print"
45299
- }, mJ = "topic-expert-modes", hJ = {
45431
+ }, wJ = "topic-expert-modes", TJ = {
45300
45432
  __name: "WorkspaceDialogs",
45301
45433
  props: /*@__PURE__*/ Fa({
45302
45434
  detailId: {
@@ -45563,7 +45695,7 @@ var nK = /*#__PURE__*/ nH({
45563
45695
  }
45564
45696
  }
45565
45697
  return (t, c) => {
45566
- let x = xV, S = pV, le = uA, de = MV, fe = zk, ye = FV, Ce = FG, we = LV, Te = NG;
45698
+ let x = xV, S = pV, le = uA, de = MV, fe = zk, ye = FV, Ce = GG, we = LV, Te = UG;
45567
45699
  return U(), G(Te, {
45568
45700
  open: d.value,
45569
45701
  "onUpdate:open": c[24] ||= (e) => d.value = e,
@@ -45580,8 +45712,8 @@ var nK = /*#__PURE__*/ nH({
45580
45712
  },
45581
45713
  "onAfter:leave": xe
45582
45714
  }, {
45583
- body: L(() => [a.value === "archives" ? (U(), W("section", xq, [
45584
- K("div", Sq, [
45715
+ body: L(() => [a.value === "archives" ? (U(), W("section", jq, [
45716
+ K("div", Mq, [
45585
45717
  q(x, {
45586
45718
  modelValue: h.value,
45587
45719
  "onUpdate:modelValue": c[0] ||= (e) => h.value = e,
@@ -45610,7 +45742,7 @@ var nK = /*#__PURE__*/ nH({
45610
45742
  }
45611
45743
  }, null, 8, ["label", "disabled"])
45612
45744
  ]),
45613
- b.value && v.value.length ? (U(), W("div", Cq, [
45745
+ b.value && v.value.length ? (U(), W("div", Nq, [
45614
45746
  K("span", null, "将永久删除当前列表中的 " + P(v.value.length) + " 个频道及其全部记录,无法撤销。", 1),
45615
45747
  q(le, {
45616
45748
  label: "取消",
@@ -45626,20 +45758,20 @@ var nK = /*#__PURE__*/ nH({
45626
45758
  onClick: D
45627
45759
  })
45628
45760
  ])) : Y("", !0),
45629
- I(o).directory_error ? (U(), W("p", wq, P(I(o).directory_error), 1)) : Y("", !0),
45630
- K("div", Tq, [v.value.length ? (U(), W("ul", Eq, [(U(!0), W(H, null, B(v.value, (e) => (U(), W("li", {
45761
+ I(o).directory_error ? (U(), W("p", Pq, P(I(o).directory_error), 1)) : Y("", !0),
45762
+ K("div", Fq, [v.value.length ? (U(), W("ul", Iq, [(U(!0), W(H, null, B(v.value, (e) => (U(), W("li", {
45631
45763
  key: e.id,
45632
45764
  class: "channel-archive-item"
45633
- }, [K("div", Dq, [K("div", Oq, [K("button", {
45765
+ }, [K("div", Lq, [K("div", Rq, [K("button", {
45634
45766
  class: "channel-archive-title",
45635
45767
  title: e.title,
45636
45768
  disabled: !!I(u),
45637
45769
  onClick: (t) => T(e)
45638
- }, P(e.title), 9, kq), K("small", null, [e.created_at ? (U(), W("span", Aq, [
45770
+ }, P(e.title), 9, zq), K("small", null, [e.created_at ? (U(), W("span", Bq, [
45639
45771
  c[25] ||= J("创建于 ", -1),
45640
- K("time", { datetime: e.created_at }, P(C(e.created_at)), 9, jq),
45772
+ K("time", { datetime: e.created_at }, P(C(e.created_at)), 9, Vq),
45641
45773
  c[26] ||= J(" · ", -1)
45642
- ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", Mq, [q(le, {
45774
+ ])) : Y("", !0), J(P(e.message_count) + " 条消息", 1)])]), K("div", Hq, [q(le, {
45643
45775
  "aria-label": `彻底删除 ${e.title}`,
45644
45776
  title: "彻底删除",
45645
45777
  icon: "i-lucide-trash-2",
@@ -45671,7 +45803,7 @@ var nK = /*#__PURE__*/ nH({
45671
45803
  "aria-label",
45672
45804
  "disabled",
45673
45805
  "onClick"
45674
- ])])]), y.value === e.id ? (U(), W("div", Nq, [
45806
+ ])])]), y.value === e.id ? (U(), W("div", Uq, [
45675
45807
  K("span", null, "永久删除「" + P(e.title) + "」及其全部记录,无法撤销。", 1),
45676
45808
  q(le, {
45677
45809
  label: "取消",
@@ -45687,12 +45819,12 @@ var nK = /*#__PURE__*/ nH({
45687
45819
  disabled: w(e),
45688
45820
  onClick: E
45689
45821
  }, null, 8, ["disabled"])
45690
- ])) : Y("", !0)]))), 128))])) : (U(), W("p", Pq, P(m.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45822
+ ])) : Y("", !0)]))), 128))])) : (U(), W("p", Wq, P(m.value.length ? "没有匹配的存档频道" : "暂无已存档频道"), 1))])
45691
45823
  ])) : a.value === "delete-folder" ? (U(), W("form", {
45692
45824
  key: 1,
45693
45825
  class: "dialog-form",
45694
45826
  onSubmit: uu(ie, ["prevent"])
45695
- }, [K("p", Fq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Iq, [q(le, {
45827
+ }, [K("p", Gq, "移除「" + P(e.targetFolder?.name) + "」后,频道不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", Kq, [q(le, {
45696
45828
  label: "取消",
45697
45829
  color: "neutral",
45698
45830
  variant: "ghost",
@@ -45723,7 +45855,7 @@ var nK = /*#__PURE__*/ nH({
45723
45855
  "modelValue",
45724
45856
  "aria-label",
45725
45857
  "readonly"
45726
- ]), K("div", Lq, [q(le, {
45858
+ ]), K("div", qq, [q(le, {
45727
45859
  label: "取消",
45728
45860
  color: "neutral",
45729
45861
  variant: "ghost",
@@ -45748,10 +45880,10 @@ var nK = /*#__PURE__*/ nH({
45748
45880
  class: "dialog-form",
45749
45881
  onSubmit: uu(ne, ["prevent"])
45750
45882
  }, [
45751
- K("p", Rq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45752
- a.value === "archive" ? (U(), W("p", zq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45753
- a.value === "restore" ? (U(), W("p", Bq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45754
- a.value === "delete" ? (U(), W("p", Vq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45883
+ K("p", Jq, [J(P(e.targetRoom?.title) + " ", 1), K("span", null, "· " + P(e.targetRoom?.message_count) + " 条消息", 1)]),
45884
+ a.value === "archive" ? (U(), W("p", Yq, "存档后可在侧栏「已存档」中查阅与恢复。已有发言安排会保留;专家需在下次检查时停止自己的定时任务。")) : Y("", !0),
45885
+ a.value === "restore" ? (U(), W("p", Xq, "恢复不会自动继续讨论;需要继续时,在主持设置中调整阶段。")) : Y("", !0),
45886
+ a.value === "delete" ? (U(), W("p", Zq, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
45755
45887
  a.value === "rename" ? (U(), G(de, {
45756
45888
  key: 3,
45757
45889
  label: "频道名称",
@@ -45768,7 +45900,7 @@ var nK = /*#__PURE__*/ nH({
45768
45900
  }, null, 8, ["modelValue"])]),
45769
45901
  _: 1
45770
45902
  })) : Y("", !0),
45771
- K("div", Hq, [q(le, {
45903
+ K("div", Qq, [q(le, {
45772
45904
  label: "取消",
45773
45905
  color: "neutral",
45774
45906
  variant: "ghost",
@@ -45785,8 +45917,8 @@ var nK = /*#__PURE__*/ nH({
45785
45917
  "loading",
45786
45918
  "disabled"
45787
45919
  ])])
45788
- ], 32)) : a.value === "settings" ? (U(), W("div", Uq, [
45789
- K("div", Wq, [(U(), W(H, null, B(ge, (e) => K("button", {
45920
+ ], 32)) : a.value === "settings" ? (U(), W("div", $q, [
45921
+ K("div", eJ, [(U(), W(H, null, B(ge, (e) => K("button", {
45790
45922
  key: e.value,
45791
45923
  class: M({ chosen: I(o).theme === e.value }),
45792
45924
  "aria-pressed": I(o).theme === e.value,
@@ -45801,12 +45933,12 @@ var nK = /*#__PURE__*/ nH({
45801
45933
  K("b")
45802
45934
  ], -1)]], 2),
45803
45935
  K("span", null, [K("strong", null, P(e.title), 1), K("small", null, P(e.description), 1)]),
45804
- K("span", Kq, [I(o).theme === e.value ? (U(), G(fe, {
45936
+ K("span", nJ, [I(o).theme === e.value ? (U(), G(fe, {
45805
45937
  key: 0,
45806
45938
  name: "i-lucide-check"
45807
45939
  })) : Y("", !0)])
45808
- ], 10, Gq)), 64))]),
45809
- K("section", qq, [c[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", Jq, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(le, {
45940
+ ], 10, tJ)), 64))]),
45941
+ K("section", rJ, [c[28] ||= K("h3", { id: "channel-reading-label" }, "对话宽度", -1), K("div", iJ, [(U(!0), W(H, null, B(e.readingOptions, (e) => (U(), G(le, {
45810
45942
  key: e.value,
45811
45943
  label: e.label,
45812
45944
  color: "neutral",
@@ -45820,9 +45952,9 @@ var nK = /*#__PURE__*/ nH({
45820
45952
  "aria-pressed",
45821
45953
  "onClick"
45822
45954
  ]))), 128))])]),
45823
- K("section", Yq, [
45955
+ K("section", aJ, [
45824
45956
  c[29] ||= K("h3", { id: "channel-effects-label" }, "视觉效果", -1),
45825
- K("div", Xq, [(U(!0), W(H, null, B(e.effectOptions, (e) => (U(), G(le, {
45957
+ K("div", oJ, [(U(!0), W(H, null, B(e.effectOptions, (e) => (U(), G(le, {
45826
45958
  key: e.value,
45827
45959
  label: e.label,
45828
45960
  color: "neutral",
@@ -45838,7 +45970,7 @@ var nK = /*#__PURE__*/ nH({
45838
45970
  ]))), 128))]),
45839
45971
  c[30] ||= K("p", { class: "fine-print" }, "精简模式关闭毛玻璃模糊与多层阴影,适合配置较低或需要更流畅滚动的设备。", -1)
45840
45972
  ])
45841
- ])) : a.value === "create" ? (U(), G(bq, {
45973
+ ])) : a.value === "create" ? (U(), G(Aq, {
45842
45974
  key: 5,
45843
45975
  "target-folder": e.targetFolder,
45844
45976
  onSubmit: _e,
@@ -45873,7 +46005,7 @@ var nK = /*#__PURE__*/ nH({
45873
46005
  }, null, 8, ["model-value"])]),
45874
46006
  _: 1
45875
46007
  }),
45876
- K("div", Zq, [q(de, { label: "主持人" }, {
46008
+ K("div", sJ, [q(de, { label: "主持人" }, {
45877
46009
  default: L(() => [q(S, {
45878
46010
  "model-value": I(o).fields[N("host")],
45879
46011
  items: I(k),
@@ -45907,9 +46039,9 @@ var nK = /*#__PURE__*/ nH({
45907
46039
  }, null, 8, ["model-value"])]),
45908
46040
  _: 1
45909
46041
  })) : Y("", !0),
45910
- K("section", Qq, [
46042
+ K("section", cJ, [
45911
46043
  c[31] ||= K("h3", null, "讨论上限", -1),
45912
- K("div", $q, [
46044
+ K("div", lJ, [
45913
46045
  (U(!0), W(H, null, B(ue.value, (e) => (U(), G(de, {
45914
46046
  key: e.key,
45915
46047
  label: e.label
@@ -45970,14 +46102,14 @@ var nK = /*#__PURE__*/ nH({
45970
46102
  })) : Y("", !0)
45971
46103
  ]),
45972
46104
  c[32] ||= K("p", { class: "fine-print" }, "轮次、总时长、单次执行留空或 0 表示不限。一轮指每位专家各完成一次观点;首次进入讨论阶段或创建安排后计时,暂停期间不计时。收束预留计入总时长。", -1),
45973
- ce.value ? (U(), W("p", eJ, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
46105
+ ce.value ? (U(), W("p", uJ, "修改上限前,请先把阶段保存为“已暂停”。")) : Y("", !0)
45974
46106
  ]),
45975
46107
  q(Ce, {
45976
46108
  open: se.value,
45977
46109
  "onUpdate:open": c[19] ||= (e) => se.value = e,
45978
46110
  class: "advanced-fields"
45979
46111
  }, {
45980
- content: L(() => [K("div", tJ, [
46112
+ content: L(() => [K("div", dJ, [
45981
46113
  (U(), W(H, null, B([
45982
46114
  {
45983
46115
  key: "user_request",
@@ -46004,11 +46136,11 @@ var nK = /*#__PURE__*/ nH({
46004
46136
  }, null, 8, ["model-value", "onUpdate:modelValue"])]),
46005
46137
  _: 2
46006
46138
  }, 1032, ["label"])), 64)),
46007
- K("div", nJ, [(U(!0), W(H, null, B(I(ae), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(S, {
46008
- "model-value": I(o).experts[mJ]?.[e] || "none",
46139
+ K("div", fJ, [(U(!0), W(H, null, B(I(ae), (e) => (U(), W("div", { key: e }, [K("label", null, P(e), 1), q(S, {
46140
+ "model-value": I(o).experts[wJ]?.[e] || "none",
46009
46141
  items: oe,
46010
46142
  "aria-label": `${e} 参与方式`,
46011
- "onUpdate:modelValue": (t) => I(s).write_expert(mJ, e, t === "none" ? "" : t)
46143
+ "onUpdate:modelValue": (t) => I(s).write_expert(wJ, e, t === "none" ? "" : t)
46012
46144
  }, null, 8, [
46013
46145
  "model-value",
46014
46146
  "aria-label",
@@ -46026,7 +46158,7 @@ var nK = /*#__PURE__*/ nH({
46026
46158
  }, null, 8, ["trailing-icon"])]),
46027
46159
  _: 1
46028
46160
  }, 8, ["open"]),
46029
- K("div", rJ, [q(le, {
46161
+ K("div", pJ, [q(le, {
46030
46162
  label: "取消",
46031
46163
  color: "neutral",
46032
46164
  variant: "ghost",
@@ -46070,7 +46202,7 @@ var nK = /*#__PURE__*/ nH({
46070
46202
  _: 1
46071
46203
  }),
46072
46204
  c[34] ||= K("p", { class: "fine-print" }, "创建后为待通知状态;由主持人实际联系专家。", -1),
46073
- K("div", iJ, [q(le, {
46205
+ K("div", mJ, [q(le, {
46074
46206
  label: "取消",
46075
46207
  variant: "ghost",
46076
46208
  color: "neutral",
@@ -46081,8 +46213,8 @@ var nK = /*#__PURE__*/ nH({
46081
46213
  label: "创建发言安排",
46082
46214
  loading: I(u) === "schedule"
46083
46215
  }, null, 8, ["loading"])])
46084
- ], 32)) : a.value === "message" ? (U(), W("div", aJ, [pe.value ? (U(), W("p", oJ, P(pe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
46085
- K("div", sJ, [
46216
+ ], 32)) : a.value === "message" ? (U(), W("div", hJ, [pe.value ? (U(), W("p", gJ, P(pe.value), 1)) : j.value ? (U(), W(H, { key: 1 }, [
46217
+ K("div", _J, [
46086
46218
  K("strong", null, P(I(s).display_name(j.value.author)), 1),
46087
46219
  K("span", null, "#" + P(j.value.id), 1),
46088
46220
  q(we, {
@@ -46093,14 +46225,14 @@ var nK = /*#__PURE__*/ nH({
46093
46225
  _: 1
46094
46226
  })
46095
46227
  ]),
46096
- K("p", cJ, P(I(s).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
46097
- j.value.summary ? (U(), W("section", lJ, [K("small", null, "回答摘要 · " + P(I(s).display_name(j.value.summary_by)), 1), K("p", uJ, P(j.value.summary), 1)])) : Y("", !0),
46098
- K("p", dJ, P(j.value.text), 1),
46228
+ K("p", vJ, P(I(s).provenance(j.value)) + " · " + P(new Date(j.value.created_at).toLocaleString("zh-CN")), 1),
46229
+ j.value.summary ? (U(), W("section", yJ, [K("small", null, "回答摘要 · " + P(I(s).display_name(j.value.summary_by)), 1), K("p", bJ, P(j.value.summary), 1)])) : Y("", !0),
46230
+ K("p", xJ, P(j.value.text), 1),
46099
46231
  j.value.attachments?.length ? (U(), W("div", {
46100
46232
  key: 1,
46101
46233
  onClick: be,
46102
46234
  innerHTML: I(s).attachment_markup(j.value.attachments)
46103
- }, null, 8, fJ)) : Y("", !0),
46235
+ }, null, 8, SJ)) : Y("", !0),
46104
46236
  j.value.reply_to ? (U(), G(le, {
46105
46237
  key: 2,
46106
46238
  label: `查看被回复的原文 #${j.value.reply_to}`,
@@ -46110,7 +46242,7 @@ var nK = /*#__PURE__*/ nH({
46110
46242
  class: "channel-surface-button",
46111
46243
  onClick: Se
46112
46244
  }, null, 8, ["label"])) : Y("", !0)
46113
- ], 64)) : (U(), W("p", pJ, "正在读取原文…"))])) : Y("", !0)]),
46245
+ ], 64)) : (U(), W("p", CJ, "正在读取原文…"))])) : Y("", !0)]),
46114
46246
  _: 1
46115
46247
  }, 8, [
46116
46248
  "open",
@@ -46120,7 +46252,7 @@ var nK = /*#__PURE__*/ nH({
46120
46252
  ]);
46121
46253
  };
46122
46254
  }
46123
- }, gJ = {
46255
+ }, EJ = {
46124
46256
  __name: "ContextMenuContent",
46125
46257
  props: {
46126
46258
  items: {
@@ -46415,7 +46547,7 @@ var nK = /*#__PURE__*/ nH({
46415
46547
  "disabled",
46416
46548
  "text-value",
46417
46549
  "class"
46418
- ]), q(gJ, X({
46550
+ ]), q(EJ, X({
46419
46551
  sub: "",
46420
46552
  class: r.ui?.content,
46421
46553
  ui: e.ui,
@@ -46526,7 +46658,7 @@ var nK = /*#__PURE__*/ nH({
46526
46658
  _: 3
46527
46659
  }, 16)], 64));
46528
46660
  }
46529
- }, _J = {
46661
+ }, DJ = {
46530
46662
  slots: {
46531
46663
  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",
46532
46664
  viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",
@@ -46714,7 +46846,7 @@ var nK = /*#__PURE__*/ nH({
46714
46846
  }
46715
46847
  ],
46716
46848
  defaultVariants: { size: "md" }
46717
- }, vJ = {
46849
+ }, OJ = {
46718
46850
  __name: "ContextMenu",
46719
46851
  props: {
46720
46852
  size: {
@@ -46784,7 +46916,7 @@ var nK = /*#__PURE__*/ nH({
46784
46916
  emits: ["update:open"],
46785
46917
  setup(e, { emit: t }) {
46786
46918
  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({
46787
- extend: _J,
46919
+ extend: DJ,
46788
46920
  ...o.ui?.contextMenu || {}
46789
46921
  })({ size: a.size }));
46790
46922
  return (e, t) => (U(), G(I(GS), N(Ss(I(s))), {
@@ -46796,7 +46928,7 @@ var nK = /*#__PURE__*/ nH({
46796
46928
  }, {
46797
46929
  default: L(() => [V(e.$slots, "default")]),
46798
46930
  _: 3
46799
- }, 8, ["disabled", "class"])) : Y("", !0), q(gJ, X({
46931
+ }, 8, ["disabled", "class"])) : Y("", !0), q(EJ, X({
46800
46932
  class: u.value.content({ class: [!i.default && I(a).class, I(a).ui?.content] }),
46801
46933
  ui: u.value,
46802
46934
  "ui-override": I(a).ui
@@ -46826,46 +46958,46 @@ var nK = /*#__PURE__*/ nH({
46826
46958
  _: 3
46827
46959
  }, 16));
46828
46960
  }
46829
- }, yJ = { class: "channel-directory-manager" }, bJ = { class: "channel-directory-heading" }, xJ = ["aria-expanded"], SJ = { class: "channel-directory-actions" }, CJ = {
46961
+ }, kJ = { class: "channel-directory-manager" }, AJ = { class: "channel-directory-heading" }, jJ = ["aria-expanded"], MJ = { class: "channel-directory-actions" }, NJ = {
46830
46962
  "aria-label": "讨论频道列表",
46831
46963
  class: "channel-room-list",
46832
46964
  "data-room-directory": ""
46833
- }, wJ = ["data-room-folder", "data-drag-folder"], TJ = {
46965
+ }, PJ = ["data-room-folder", "data-drag-folder"], FJ = {
46834
46966
  key: 0,
46835
46967
  class: "channel-folder-row"
46836
- }, EJ = [
46968
+ }, IJ = [
46837
46969
  "disabled",
46838
46970
  "aria-label",
46839
46971
  "aria-expanded",
46840
46972
  "onKeydown",
46841
46973
  "onClick"
46842
- ], DJ = { class: "channel-folder-name" }, OJ = { class: "channel-folder-actions" }, kJ = {
46974
+ ], LJ = { class: "channel-folder-name" }, RJ = { class: "channel-folder-actions" }, zJ = {
46843
46975
  class: "channel-directory-count",
46844
46976
  "aria-hidden": "true"
46845
- }, AJ = ["data-drop-folder"], jJ = {
46977
+ }, BJ = ["data-drop-folder"], VJ = {
46846
46978
  key: 0,
46847
46979
  class: "channel-directory-empty",
46848
46980
  role: "status"
46849
- }, MJ = ["data-drag-room"], NJ = [
46981
+ }, HJ = ["data-drag-room"], UJ = [
46850
46982
  "aria-label",
46851
46983
  "disabled",
46852
46984
  "onKeydown"
46853
- ], PJ = [
46985
+ ], WJ = [
46854
46986
  "title",
46855
46987
  "aria-label",
46856
46988
  "aria-current",
46857
46989
  "onClick"
46858
- ], FJ = { class: "channel-room-actions" }, IJ = {
46990
+ ], GJ = { class: "channel-room-actions" }, KJ = {
46859
46991
  key: 0,
46860
46992
  class: "channel-directory-empty"
46861
- }, LJ = {
46993
+ }, qJ = {
46862
46994
  key: 0,
46863
46995
  class: "channel-archive-count"
46864
- }, RJ = {
46996
+ }, JJ = {
46865
46997
  key: 0,
46866
46998
  role: "alert",
46867
46999
  class: "channel-directory-error"
46868
- }, zJ = {
47000
+ }, YJ = {
46869
47001
  __name: "ChannelDirectory",
46870
47002
  emits: [
46871
47003
  "select",
@@ -47042,8 +47174,8 @@ var nK = /*#__PURE__*/ nH({
47042
47174
  ];
47043
47175
  }
47044
47176
  return (e, t) => {
47045
- let u = uA, h = zk, v = EV, y = VV, b = vJ;
47046
- return U(), W("div", yJ, [
47177
+ let u = uA, h = zk, v = EV, y = VV, b = OJ;
47178
+ return U(), W("div", kJ, [
47047
47179
  q(u, {
47048
47180
  label: "新建对话",
47049
47181
  icon: "i-lucide-plus",
@@ -47052,12 +47184,12 @@ var nK = /*#__PURE__*/ nH({
47052
47184
  disabled: I(r).directory_pending.includes("create-room"),
47053
47185
  onClick: t[0] ||= (e) => n("create", null)
47054
47186
  }, null, 8, ["disabled"]),
47055
- K("div", bJ, [K("button", {
47187
+ K("div", AJ, [K("button", {
47056
47188
  type: "button",
47057
47189
  class: "channel-section-toggle",
47058
47190
  "aria-expanded": f.value,
47059
47191
  onClick: t[1] ||= (e) => f.value = !f.value
47060
- }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, xJ), K("div", SJ, [q(v, {
47192
+ }, [q(h, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论频道", -1)], 8, jJ), K("div", MJ, [q(v, {
47061
47193
  items: d.value,
47062
47194
  content: {
47063
47195
  align: "end",
@@ -47086,12 +47218,12 @@ var nK = /*#__PURE__*/ nH({
47086
47218
  }, null, 8, ["disabled"])]),
47087
47219
  _: 1
47088
47220
  })])]),
47089
- vr(K("nav", CJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
47221
+ vr(K("nav", NJ, [(U(!0), W(H, null, B(l.value, (e, s) => (U(), W("section", {
47090
47222
  key: e.order_id,
47091
47223
  class: "channel-folder-section",
47092
47224
  "data-room-folder": e.id,
47093
47225
  "data-drag-folder": e.order_id
47094
- }, [e.id ? (U(), W("div", TJ, [
47226
+ }, [e.id ? (U(), W("div", FJ, [
47095
47227
  K("button", {
47096
47228
  class: "channel-folder-heading",
47097
47229
  "data-drop-folder": "",
@@ -47113,9 +47245,9 @@ var nK = /*#__PURE__*/ nH({
47113
47245
  }, [
47114
47246
  q(h, { name: p.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
47115
47247
  q(h, { name: "i-lucide-folder" }),
47116
- K("span", DJ, P(e.name), 1)
47117
- ], 40, EJ),
47118
- K("div", OJ, [q(v, {
47248
+ K("span", LJ, P(e.name), 1)
47249
+ ], 40, IJ),
47250
+ K("div", RJ, [q(v, {
47119
47251
  items: m(e, s),
47120
47252
  content: {
47121
47253
  align: "start",
@@ -47149,12 +47281,12 @@ var nK = /*#__PURE__*/ nH({
47149
47281
  ])]),
47150
47282
  _: 2
47151
47283
  }, 1032, ["text"])]),
47152
- K("small", kJ, P(e.pending ? "保存中" : e.rooms.length), 1)
47284
+ K("small", zJ, P(e.pending ? "保存中" : e.rooms.length), 1)
47153
47285
  ])) : Y("", !0), !e.id || !p.value.has(e.id) ? (U(), W("div", {
47154
47286
  key: 1,
47155
47287
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
47156
47288
  "data-drop-folder": e.id ? void 0 : ""
47157
- }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", jJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
47289
+ }, [I(r).creating_room && (I(r).creating_room.folder_id || "") === e.id ? (U(), W("p", VJ, "正在创建:" + P(I(r).creating_room.title), 1)) : Y("", !0), (U(!0), W(H, null, B(e.rooms, (s, c) => (U(), G(b, {
47158
47290
  key: s.id,
47159
47291
  items: _(s, c, s.folder_id || null, e.rooms.length),
47160
47292
  ui: { content: "channel-menu channel-topic-menu" }
@@ -47179,7 +47311,7 @@ var nK = /*#__PURE__*/ nH({
47179
47311
  direction: 1,
47180
47312
  folder_id: s.folder_id || null
47181
47313
  }), ["prevent"]), ["down"])]
47182
- }, [q(h, { name: "i-lucide-grip-vertical" })], 40, NJ),
47314
+ }, [q(h, { name: "i-lucide-grip-vertical" })], 40, UJ),
47183
47315
  K("button", {
47184
47316
  class: "channel-room-select",
47185
47317
  "data-drag-title": "",
@@ -47188,8 +47320,8 @@ var nK = /*#__PURE__*/ nH({
47188
47320
  "aria-current": s.id === I(r).room?.id ? "page" : void 0,
47189
47321
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
47190
47322
  onClick: (e) => n("select", s.id)
47191
- }, [K("span", null, P(s.title), 1)], 40, PJ),
47192
- K("div", FJ, [q(y, {
47323
+ }, [K("span", null, P(s.title), 1)], 40, WJ),
47324
+ K("div", GJ, [q(y, {
47193
47325
  text: s.archived ? "恢复频道" : "存档频道",
47194
47326
  ui: { content: "channel-topic-tooltip" }
47195
47327
  }, {
@@ -47230,9 +47362,9 @@ var nK = /*#__PURE__*/ nH({
47230
47362
  }, null, 8, ["aria-label"])]),
47231
47363
  _: 2
47232
47364
  }, 1032, ["items"])])
47233
- ], 10, MJ)]),
47365
+ ], 10, HJ)]),
47234
47366
  _: 2
47235
- }, 1032, ["items"]))), 128))], 10, AJ)) : Y("", !0)], 8, wJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", IJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
47367
+ }, 1032, ["items"]))), 128))], 10, BJ)) : Y("", !0)], 8, PJ))), 128)), s.value.length ? Y("", !0) : (U(), W("p", KJ, "暂无讨论频道"))], 512), [[Vc, f.value]]),
47236
47368
  vr(q(u, {
47237
47369
  icon: "i-lucide-archive",
47238
47370
  color: "neutral",
@@ -47241,64 +47373,64 @@ var nK = /*#__PURE__*/ nH({
47241
47373
  "aria-haspopup": "dialog",
47242
47374
  onClick: t[6] ||= (e) => n("archives")
47243
47375
  }, {
47244
- default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), c.value ? (U(), W("small", LJ, P(c.value), 1)) : Y("", !0)]),
47376
+ default: L(() => [t[8] ||= K("span", { class: "channel-archive-label" }, "已存档", -1), c.value ? (U(), W("small", qJ, P(c.value), 1)) : Y("", !0)]),
47245
47377
  _: 1
47246
47378
  }, 512), [[Vc, f.value]]),
47247
- I(r).directory_error ? (U(), W("p", RJ, P(I(r).directory_error), 1)) : Y("", !0)
47379
+ I(r).directory_error ? (U(), W("p", JJ, P(I(r).directory_error), 1)) : Y("", !0)
47248
47380
  ]);
47249
47381
  };
47250
47382
  }
47251
- }, BJ = {
47383
+ }, XJ = {
47252
47384
  key: 0,
47253
47385
  class: "pb-header"
47254
- }, VJ = { class: "pb-mode" }, HJ = { class: "pb-status-line" }, UJ = { role: "status" }, WJ = {
47386
+ }, ZJ = { class: "pb-mode" }, QJ = { class: "pb-status-line" }, $J = { role: "status" }, eY = {
47255
47387
  key: 0,
47256
47388
  class: "pb-mode"
47257
- }, GJ = {
47389
+ }, tY = {
47258
47390
  key: 0,
47259
47391
  class: "pb-status-detail"
47260
- }, KJ = {
47392
+ }, nY = {
47261
47393
  key: 1,
47262
47394
  class: "pb-status-detail"
47263
- }, qJ = { class: "pb-error-detail" }, JJ = {
47395
+ }, rY = { class: "pb-error-detail" }, iY = {
47264
47396
  key: 2,
47265
47397
  class: "pb-meters"
47266
- }, YJ = { class: "pb-meter-label" }, XJ = {
47398
+ }, aY = { class: "pb-meter-label" }, oY = {
47267
47399
  key: 0,
47268
47400
  class: "pb-bar"
47269
- }, ZJ = {
47401
+ }, sY = {
47270
47402
  key: 1,
47271
47403
  class: "pb-section",
47272
47404
  "aria-label": "当前焦点"
47273
- }, QJ = {
47405
+ }, cY = {
47274
47406
  class: "pb-section",
47275
47407
  "aria-label": "参与者"
47276
- }, $J = {
47408
+ }, lY = {
47277
47409
  key: 0,
47278
47410
  class: "pb-status-detail pb-held"
47279
- }, eY = { class: "pb-members" }, tY = { class: "pb-member-body" }, nY = { class: "pb-member-name" }, rY = {
47411
+ }, uY = { class: "pb-members" }, dY = { class: "pb-member-body" }, fY = { class: "pb-member-name" }, pY = {
47280
47412
  class: "pb-member-model",
47281
47413
  title: "本场启动配置;默认模型与默认强度由对应软件决定"
47282
- }, iY = { key: 0 }, aY = {
47414
+ }, mY = { key: 0 }, hY = {
47283
47415
  key: 2,
47284
47416
  class: "pb-actions",
47285
47417
  "aria-label": "操作"
47286
- }, oY = {
47418
+ }, gY = {
47287
47419
  key: 3,
47288
47420
  class: "pb-section",
47289
47421
  "aria-label": "阶段耗时"
47290
- }, sY = { class: "pb-timing-heading" }, cY = ["aria-label"], lY = { class: "pb-timing-totals" }, uY = ["title"], dY = { class: "pb-timings" }, fY = { class: "pb-timing-who" }, pY = { class: "pb-timing-stages" }, mY = ["title"], hY = {
47422
+ }, _Y = { class: "pb-timing-heading" }, vY = ["aria-label"], yY = { class: "pb-timing-totals" }, bY = ["title"], xY = { class: "pb-timings" }, SY = { class: "pb-timing-who" }, CY = { class: "pb-timing-stages" }, wY = ["title"], TY = {
47291
47423
  key: 0,
47292
47424
  class: "pb-note"
47293
- }, gY = { class: "pb-connection" }, _Y = { class: "fine-print" }, vY = {
47425
+ }, EY = { class: "pb-connection" }, DY = { class: "fine-print" }, OY = {
47294
47426
  key: 0,
47295
47427
  role: "status",
47296
47428
  class: "fine-print"
47297
- }, yY = {
47429
+ }, kY = {
47298
47430
  key: 2,
47299
47431
  role: "alert",
47300
47432
  class: "fine-print"
47301
- }, bY = { key: 2 }, xY = { class: "progress-ending" }, SY = ["disabled"], CY = { key: 0 }, wY = ["disabled"], TY = 90, EY = 100, DY = /*#__PURE__*/ nH({
47433
+ }, AY = { key: 2 }, jY = { class: "progress-ending" }, MY = ["disabled"], NY = { key: 0 }, PY = ["disabled"], FY = 90, IY = 100, LY = /*#__PURE__*/ nH({
47302
47434
  __name: "ProgressBoard",
47303
47435
  props: { docked: {
47304
47436
  type: Boolean,
@@ -47335,7 +47467,7 @@ var nK = /*#__PURE__*/ nH({
47335
47467
  "initial",
47336
47468
  "discussing",
47337
47469
  "reviewing"
47338
- ].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 > TY), ne = Z(() => g.value.timings || {
47470
+ ].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), ne = Z(() => g.value.timings || {
47339
47471
  items: [],
47340
47472
  totals: {},
47341
47473
  count: 0
@@ -47369,7 +47501,7 @@ var nK = /*#__PURE__*/ nH({
47369
47501
  if (e.phase === "paused") {
47370
47502
  let e = O.value;
47371
47503
  if (e) {
47372
- let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > EY ? `${n.slice(0, EY)}…` : n;
47504
+ let t = e.result.startsWith(e.name) ? e.result : `${r.display_name(e.name)} 执行失败:${e.result}`, n = t.split("\n")[0], i = n.length > IY ? `${n.slice(0, IY)}…` : n;
47373
47505
  return {
47374
47506
  tone: "error",
47375
47507
  title: "已暂停",
@@ -47461,26 +47593,26 @@ var nK = /*#__PURE__*/ nH({
47461
47593
  await i(e) && (o.value = !1);
47462
47594
  }
47463
47595
  return (e, l) => {
47464
- let u = Gk, d = zk, O = uA, A = EV, se = pV, fe = MV, pe = NG;
47596
+ let u = Gk, d = zk, O = uA, A = EV, se = pV, fe = MV, pe = UG;
47465
47597
  return U(), W("div", { class: M(["progress-board", { "is-docked": t.docked }]) }, [
47466
- t.docked ? (U(), W("header", BJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", VJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47598
+ t.docked ? (U(), W("header", XJ, [l[11] ||= K("strong", null, "讨论进度", -1), K("span", ZJ, P(_.value ? "全自动" : "手动"), 1)])) : Y("", !0),
47467
47599
  K("section", {
47468
47600
  class: M(["pb-status", `is-${ae.value.tone}`]),
47469
47601
  "aria-label": "讨论状态"
47470
47602
  }, [
47471
- K("div", HJ, [
47603
+ K("div", QJ, [
47472
47604
  l[12] ||= K("span", { class: "pb-dot" }, null, -1),
47473
- K("strong", UJ, P(ae.value.title), 1),
47474
- t.docked ? Y("", !0) : (U(), W("span", WJ, P(_.value ? "全自动" : "手动"), 1))
47605
+ K("strong", $J, P(ae.value.title), 1),
47606
+ t.docked ? Y("", !0) : (U(), W("span", eY, P(_.value ? "全自动" : "手动"), 1))
47475
47607
  ]),
47476
- ae.value.detail ? (U(), W("p", GJ, P(ae.value.detail), 1)) : Y("", !0),
47477
- ae.value.full_detail ? (U(), W("details", KJ, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", qJ, P(ae.value.full_detail), 1)])) : Y("", !0),
47478
- k.value.length ? (U(), W("div", JJ, [(U(!0), W(H, null, B(k.value, (e) => (U(), W("div", {
47608
+ ae.value.detail ? (U(), W("p", tY, P(ae.value.detail), 1)) : Y("", !0),
47609
+ ae.value.full_detail ? (U(), W("details", nY, [l[13] ||= K("summary", null, "查看错误详情", -1), K("pre", rY, P(ae.value.full_detail), 1)])) : Y("", !0),
47610
+ k.value.length ? (U(), W("div", iY, [(U(!0), W(H, null, B(k.value, (e) => (U(), W("div", {
47479
47611
  key: e.label,
47480
47612
  class: "pb-meter"
47481
- }, [K("div", YJ, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", XJ, [K("i", { style: j({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47613
+ }, [K("div", aY, [K("span", null, P(e.label), 1), K("b", null, P(e.text), 1)]), e.ratio === null ? Y("", !0) : (U(), W("div", oY, [K("i", { style: j({ width: `${Math.min(100, Math.round(e.ratio * 100))}%` }) }, null, 4)]))]))), 128))])) : Y("", !0)
47482
47614
  ], 2),
47483
- ee.value ? (U(), W("section", ZJ, [
47615
+ ee.value ? (U(), W("section", sY, [
47484
47616
  l[14] ||= K("h4", null, "当前焦点", -1),
47485
47617
  K("p", { class: M(["pb-focus", { "is-expanded": s.value }]) }, P(ee.value), 3),
47486
47618
  te.value ? (U(), W("button", {
@@ -47490,10 +47622,10 @@ var nK = /*#__PURE__*/ nH({
47490
47622
  onClick: l[0] ||= (e) => s.value = !s.value
47491
47623
  }, P(s.value ? "收起" : "展开"), 1)) : Y("", !0)
47492
47624
  ])) : Y("", !0),
47493
- K("section", QJ, [
47625
+ K("section", cY, [
47494
47626
  l[16] ||= K("h4", null, "参与者", -1),
47495
- m.value.held_since && v.value && !y.value ? (U(), W("p", $J, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47496
- K("ul", eY, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47627
+ m.value.held_since && v.value && !y.value ? (U(), W("p", lY, "用户有新操作," + P(I(r).display_name(v.value.expert)) + " 说完后交给主持人", 1)) : Y("", !0),
47628
+ K("ul", uY, [(U(!0), W(H, null, B(D.value, (e) => (U(), W("li", {
47497
47629
  key: e.name,
47498
47630
  class: "pb-member"
47499
47631
  }, [
@@ -47509,8 +47641,8 @@ var nK = /*#__PURE__*/ nH({
47509
47641
  "alt",
47510
47642
  "class"
47511
47643
  ]),
47512
- K("div", tY, [
47513
- K("div", nY, [
47644
+ K("div", dY, [
47645
+ K("div", fY, [
47514
47646
  J(P(I(r).display_name(e.name)), 1),
47515
47647
  e.is_host ? (U(), G(d, {
47516
47648
  key: 0,
@@ -47519,14 +47651,14 @@ var nK = /*#__PURE__*/ nH({
47519
47651
  })) : Y("", !0),
47520
47652
  K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
47521
47653
  ]),
47522
- K("div", rY, P(e.model), 1),
47654
+ K("div", pY, P(e.model), 1),
47523
47655
  x.value ? Y("", !0) : (U(), W("div", {
47524
47656
  key: 0,
47525
47657
  class: M(["pb-member-status", `is-${e.tone}`])
47526
47658
  }, [
47527
47659
  l[15] ||= K("span", { class: "pb-dot" }, null, -1),
47528
47660
  J(P(e.text), 1),
47529
- e.failures ? (U(), W("small", iY, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47661
+ e.failures ? (U(), W("small", mY, " · 失败 " + P(e.failures) + " 次", 1)) : Y("", !0)
47530
47662
  ], 2))
47531
47663
  ]),
47532
47664
  e.session ? (U(), G(A, {
@@ -47547,7 +47679,7 @@ var nK = /*#__PURE__*/ nH({
47547
47679
  }, 1032, ["items"])) : Y("", !0)
47548
47680
  ]))), 128))])
47549
47681
  ]),
47550
- T.value ? (U(), W("section", aY, [
47682
+ T.value ? (U(), W("section", hY, [
47551
47683
  S.value ? (U(), G(O, {
47552
47684
  key: 0,
47553
47685
  icon: "i-lucide-rotate-ccw",
@@ -47596,8 +47728,8 @@ var nK = /*#__PURE__*/ nH({
47596
47728
  onClick: l[4] ||= (e) => o.value = !0
47597
47729
  })) : Y("", !0)
47598
47730
  ])) : Y("", !0),
47599
- _.value && ne.value.count ? (U(), W("section", oY, [
47600
- K("div", sY, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(ne.value.count) + " 次执行", 1)]),
47731
+ _.value && ne.value.count ? (U(), W("section", gY, [
47732
+ K("div", _Y, [l[17] ||= K("h4", null, "耗时", -1), K("small", null, "共 " + P(ne.value.count) + " 次执行", 1)]),
47601
47733
  K("div", {
47602
47734
  class: "pb-timing-bar",
47603
47735
  role: "img",
@@ -47606,18 +47738,18 @@ var nK = /*#__PURE__*/ nH({
47606
47738
  key: e.key,
47607
47739
  class: M(`is-${e.key}`),
47608
47740
  style: j({ width: `${e.percent}%` })
47609
- }, null, 6))), 128))], 8, cY),
47610
- K("dl", lY, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47741
+ }, null, 6))), 128))], 8, vY),
47742
+ K("dl", yY, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", {
47611
47743
  key: e.key,
47612
47744
  title: e.hint
47613
- }, [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, uY))), 128))]),
47614
- K("details", dY, [
47745
+ }, [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, bY))), 128))]),
47746
+ K("details", xY, [
47615
47747
  l[18] ||= K("summary", null, "查看每次执行", -1),
47616
- K("ol", null, [(U(!0), W(H, null, B(ne.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", fY, [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", pY, [(U(), W(H, null, B(f, (t) => K("span", {
47748
+ K("ol", null, [(U(!0), W(H, null, B(ne.value.items, (e) => (U(), W("li", { key: e.id }, [K("span", SY, [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", CY, [(U(), W(H, null, B(f, (t) => K("span", {
47617
47749
  key: t.key,
47618
47750
  title: t.hint
47619
- }, P(t.label) + " " + P(ue(e[t.key])), 9, mY)), 64))])]))), 128))]),
47620
- ne.value.count > ne.value.items.length ? (U(), W("p", hY, "只列出最近 " + P(ne.value.items.length) + " 次,共 " + P(ne.value.count) + " 次执行。", 1)) : Y("", !0)
47751
+ }, P(t.label) + " " + P(ue(e[t.key])), 9, wY)), 64))])]))), 128))]),
47752
+ ne.value.count > ne.value.items.length ? (U(), W("p", TY, "只列出最近 " + P(ne.value.items.length) + " 次,共 " + P(ne.value.count) + " 次执行。", 1)) : Y("", !0)
47621
47753
  ])
47622
47754
  ])) : Y("", !0),
47623
47755
  q(pe, {
@@ -47630,7 +47762,7 @@ var nK = /*#__PURE__*/ nH({
47630
47762
  body: "dialog-body"
47631
47763
  }
47632
47764
  }, {
47633
- body: L(() => [K("div", gY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47765
+ body: L(() => [K("div", EY, [g.value.status === "running" ? (U(), W(H, { key: 0 }, [l[19] ||= K("p", null, "切换前需要暂停讨论,当前执行会停止,原发言安排保留。", -1), q(O, {
47634
47766
  label: "暂停并读取配置",
47635
47767
  icon: "i-lucide-pause",
47636
47768
  class: "channel-primary-button",
@@ -47653,7 +47785,7 @@ var nK = /*#__PURE__*/ nH({
47653
47785
  }, null, 8, ["model-value", "disabled"])]),
47654
47786
  _: 1
47655
47787
  }),
47656
- K("p", _Y, P(ie.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47788
+ K("p", DY, P(ie.value.adapter === "codex" ? "App 需保持运行,模型与权限沿用原聊天设置。" : "切回 CLI 前,需让 App 释放原聊天;仍被占用时无法执行。"), 1),
47657
47789
  q(O, {
47658
47790
  label: "保存接入方式",
47659
47791
  class: "channel-primary-button",
@@ -47661,7 +47793,7 @@ var nK = /*#__PURE__*/ nH({
47661
47793
  disabled: !!I(a),
47662
47794
  onClick: l[6] ||= (e) => I(i)("save_room_configuration")
47663
47795
  }, null, 8, ["loading", "disabled"]),
47664
- I(n).launch.repair?.notice ? (U(), W("p", vY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47796
+ I(n).launch.repair?.notice ? (U(), W("p", OY, P(I(n).launch.repair.notice), 1)) : Y("", !0)
47665
47797
  ], 64)) : (U(), G(O, {
47666
47798
  key: 1,
47667
47799
  label: "读取本场配置",
@@ -47669,7 +47801,7 @@ var nK = /*#__PURE__*/ nH({
47669
47801
  color: "neutral",
47670
47802
  loading: !!I(a),
47671
47803
  onClick: ce
47672
- }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", yY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", bY, "本场状态已变化,请关闭后重新核对。"))])]),
47804
+ }, null, 8, ["loading"])), I(n).launch.repair_error ? (U(), W("p", kY, P(I(n).launch.repair_error), 1)) : Y("", !0)], 64)) : (U(), W("p", AY, "本场状态已变化,请关闭后重新核对。"))])]),
47673
47805
  _: 1
47674
47806
  }, 8, ["open"]),
47675
47807
  q(pe, {
@@ -47682,7 +47814,7 @@ var nK = /*#__PURE__*/ nH({
47682
47814
  body: "dialog-body"
47683
47815
  }
47684
47816
  }, {
47685
- body: L(() => [K("div", xY, [K("button", {
47817
+ body: L(() => [K("div", jY, [K("button", {
47686
47818
  type: "button",
47687
47819
  class: "progress-ending-option",
47688
47820
  disabled: !E.value || !!I(a),
@@ -47690,19 +47822,19 @@ var nK = /*#__PURE__*/ nH({
47690
47822
  }, [
47691
47823
  l[20] ||= K("strong", null, "请主持人收尾", -1),
47692
47824
  K("span", null, "立即进入收束,由 " + P(I(r).display_name(m.value.host)) + " 在 " + P(h.value.summary_minutes || 5) + " 分钟收束预留内根据已有材料总结。", 1),
47693
- E.value ? Y("", !0) : (U(), W("small", CY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47694
- ], 8, SY), K("button", {
47825
+ E.value ? Y("", !0) : (U(), W("small", NY, P(h.value.closing ? "已在收尾中。" : "仅进行中的讨论可以收尾;暂停后可先重启再收尾,或直接结束并保留记录。"), 1))
47826
+ ], 8, MY), K("button", {
47695
47827
  type: "button",
47696
47828
  class: "progress-ending-option",
47697
47829
  disabled: b.value || !!I(a),
47698
47830
  onClick: l[9] ||= (e) => de("conclude_discussion")
47699
- }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, wY)])]),
47831
+ }, [...l[21] ||= [K("strong", null, "直接结束(不总结)", -1), K("span", null, "保留全部记录,阶段设为“已收束”,自动运行随之停止。", -1)]], 8, PY)])]),
47700
47832
  _: 1
47701
47833
  }, 8, ["open"])
47702
47834
  ], 2);
47703
47835
  };
47704
47836
  }
47705
- }, [["__scopeId", "data-v-9928cf63"]]), OY = { class: "progress-panel-anchor" }, kY = ["aria-expanded", "aria-label"], AY = { class: "progress-chip-text" }, jY = { class: "progress-chip-rounds" }, MY = {
47837
+ }, [["__scopeId", "data-v-9928cf63"]]), RY = { class: "progress-panel-anchor" }, zY = ["aria-expanded", "aria-label"], BY = { class: "progress-chip-text" }, VY = { class: "progress-chip-rounds" }, HY = {
47706
47838
  __name: "ProgressPanel",
47707
47839
  setup(e) {
47708
47840
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -47732,7 +47864,7 @@ var nK = /*#__PURE__*/ nH({
47732
47864
  }), 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}`);
47733
47865
  return (e, t) => {
47734
47866
  let n = VV, a = dV;
47735
- return U(), W("div", OY, [q(n, { text: "查看讨论进度" }, {
47867
+ return U(), W("div", RY, [q(n, { text: "查看讨论进度" }, {
47736
47868
  default: L(() => [K("button", {
47737
47869
  type: "button",
47738
47870
  class: M(["progress-chip", `is-${o.value.tone}`]),
@@ -47740,7 +47872,7 @@ var nK = /*#__PURE__*/ nH({
47740
47872
  "aria-expanded": r.value,
47741
47873
  "aria-label": `查看讨论进度:${c.value}`,
47742
47874
  onClick: t[0] ||= (e) => r.value = !0
47743
- }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", AY, [J(P(o.value.title), 1), K("span", jY, " · " + P(s.value), 1)])], 10, kY)]),
47875
+ }, [t[2] ||= K("span", { class: "progress-dot" }, null, -1), K("span", BY, [J(P(o.value.title), 1), K("span", VY, " · " + P(s.value), 1)])], 10, zY)]),
47744
47876
  _: 1
47745
47877
  }), q(a, {
47746
47878
  open: r.value,
@@ -47753,98 +47885,101 @@ var nK = /*#__PURE__*/ nH({
47753
47885
  body: "progress-drawer-body"
47754
47886
  }
47755
47887
  }, {
47756
- body: L(() => [q(DY)]),
47888
+ body: L(() => [q(LY)]),
47757
47889
  _: 1
47758
47890
  }, 8, ["open", "description"])]);
47759
47891
  };
47760
47892
  }
47761
- }, NY = {
47893
+ }, UY = {
47762
47894
  id: "channel-sidebar",
47763
47895
  class: "channel-sidebar",
47764
47896
  "aria-label": "频道导航"
47765
- }, PY = { class: "channel-sidebar-content" }, FY = { class: "channel-directory-heading channel-tools-heading" }, IY = ["aria-expanded"], LY = { class: "channel-sidebar-footer" }, RY = { class: "channel-self" }, zY = { class: "channel-connection" }, BY = [
47897
+ }, WY = { class: "channel-sidebar-content" }, GY = { class: "channel-directory-heading channel-tools-heading" }, KY = ["aria-expanded"], qY = { class: "channel-sidebar-footer" }, JY = { class: "channel-self" }, YY = { class: "channel-connection" }, XY = [
47766
47898
  "aria-valuemax",
47767
47899
  "aria-valuenow",
47768
47900
  "aria-valuetext"
47769
- ], VY = { class: "channel-main" }, HY = { class: "channel-header" }, UY = { class: "channel-title-icon" }, WY = { class: "channel-title" }, GY = { class: "channel-title-copy" }, KY = ["title"], qY = ["title"], JY = {
47901
+ ], ZY = { class: "channel-main" }, QY = { class: "channel-header" }, $Y = { class: "channel-title-icon" }, eX = { class: "channel-title" }, tX = { class: "channel-title-copy" }, nX = ["title"], rX = ["title"], iX = {
47770
47902
  key: 0,
47771
47903
  class: "channel-header-context"
47772
- }, YY = { class: "channel-header-actions" }, XY = {
47904
+ }, aX = { class: "channel-header-actions" }, oX = {
47773
47905
  key: 0,
47774
47906
  class: "channel-launch-recovery",
47775
47907
  "aria-label": "未完成的创建或启动请求"
47776
- }, ZY = { role: "status" }, QY = { class: "button-row" }, $Y = {
47908
+ }, sX = { role: "status" }, cX = { class: "button-row" }, lX = {
47777
47909
  key: 1,
47778
47910
  class: "channel-tabbar"
47779
- }, eX = { class: "channel-brief-inner" }, tX = { class: "channel-brief-heading" }, nX = ["aria-label", "aria-expanded"], rX = {
47911
+ }, uX = { class: "channel-brief-inner" }, dX = { class: "channel-brief-heading" }, fX = ["aria-label", "aria-expanded"], pX = {
47780
47912
  key: 0,
47781
47913
  class: "channel-brief-preview"
47782
- }, iX = {
47914
+ }, mX = {
47783
47915
  id: "channel-brief-content",
47784
47916
  class: "channel-brief-content"
47785
- }, aX = ["innerHTML"], oX = { class: "channel-brief-footer" }, sX = { class: "channel-brief-status" }, cX = { class: "channel-content" }, lX = {
47917
+ }, hX = ["innerHTML"], gX = { class: "channel-brief-footer" }, _X = { class: "channel-brief-status" }, vX = { class: "channel-content" }, yX = {
47786
47918
  key: 0,
47787
47919
  class: "content-page channel-summary",
47788
47920
  role: "tabpanel",
47789
47921
  "aria-label": "共识"
47790
- }, uX = { class: "page-heading" }, dX = {
47922
+ }, bX = { class: "page-heading" }, xX = {
47791
47923
  key: 0,
47792
47924
  class: "info-section"
47793
- }, fX = { class: "button-row" }, pX = { class: "form-footer" }, mX = {
47925
+ }, SX = { class: "button-row" }, CX = { class: "form-footer" }, wX = {
47794
47926
  key: 1,
47795
47927
  class: "channel-empty"
47796
- }, hX = ["aria-valuenow", "aria-valuetext"], gX = {
47928
+ }, TX = ["aria-valuenow", "aria-valuetext"], EX = {
47797
47929
  key: 2,
47798
47930
  id: "channel-member-rail",
47799
47931
  class: "channel-member-rail",
47800
47932
  "aria-label": "当前焦点与讨论进度"
47801
- }, _X = { class: "channel-rail-board" }, vX = {
47933
+ }, DX = { class: "channel-rail-board" }, OX = {
47802
47934
  key: 0,
47803
47935
  class: "progress-board is-docked"
47804
- }, yX = { class: "pb-header" }, bX = { class: "pb-mode" }, xX = {
47936
+ }, kX = { class: "pb-header" }, AX = { class: "pb-mode" }, jX = {
47805
47937
  class: "pb-section",
47806
47938
  "aria-label": "成员"
47807
- }, SX = { class: "pb-members" }, CX = { class: "pb-member-body" }, wX = { class: "pb-member-name" }, TX = {
47939
+ }, MX = { class: "pb-members" }, NX = { class: "pb-member-body" }, PX = { class: "pb-member-name" }, FX = {
47808
47940
  key: 0,
47809
47941
  class: "pb-member-model",
47810
47942
  title: "它工作时请不要在原窗口继续操作"
47811
- }, EX = {
47943
+ }, IX = {
47812
47944
  key: 0,
47813
47945
  class: "pb-section",
47814
47946
  "aria-label": "提示"
47815
- }, DX = {
47947
+ }, LX = {
47816
47948
  key: 0,
47817
47949
  role: "alert",
47818
47950
  class: "pb-free-note is-error"
47819
- }, OX = {
47951
+ }, RX = {
47820
47952
  key: 1,
47821
47953
  role: "status",
47822
47954
  class: "pb-free-note"
47823
- }, kX = {
47955
+ }, zX = {
47824
47956
  key: 2,
47825
47957
  role: "alert",
47826
47958
  class: "pb-free-note is-error"
47827
- }, AX = {
47959
+ }, BX = {
47828
47960
  key: 3,
47829
47961
  role: "status",
47830
47962
  class: "pb-free-note"
47831
- }, jX = {
47963
+ }, VX = {
47832
47964
  class: "pb-section",
47833
47965
  "aria-label": "邀请"
47834
- }, MX = {
47966
+ }, HX = {
47967
+ key: 1,
47968
+ class: "pb-free-note"
47969
+ }, UX = {
47835
47970
  key: 0,
47836
47971
  class: "pb-free-note"
47837
- }, NX = {
47972
+ }, WX = {
47838
47973
  key: 1,
47839
47974
  class: "pb-section",
47840
47975
  "aria-label": "头脑风暴"
47841
- }, PX = ["onClick"], FX = {
47976
+ }, GX = ["onClick"], KX = {
47842
47977
  class: "pb-actions",
47843
47978
  "aria-label": "操作"
47844
- }, IX = {
47979
+ }, qX = {
47845
47980
  key: 2,
47846
47981
  class: "progress-board is-docked"
47847
- }, LX = { class: "channel-detail-title" }, RX = { class: "info-section" }, zX = "ai-codiscuss-channel-layout", BX = 220, VX = 440, HX = 280, UX = 16, WX = 180, GX = 400, KX = 248, qX = 16, JX = 480, YX = 1200, XX = 0, ZX = {
47982
+ }, JX = { class: "channel-detail-title" }, YX = { class: "info-section" }, XX = "ai-codiscuss-channel-layout", ZX = 220, QX = 440, $X = 280, eZ = 16, tZ = 180, nZ = 400, rZ = 248, iZ = 16, aZ = 480, oZ = 1200, sZ = 0, cZ = {
47848
47983
  __name: "ChannelWorkspace",
47849
47984
  setup(e) {
47850
47985
  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 = [{
@@ -47866,14 +48001,14 @@ var nK = /*#__PURE__*/ nH({
47866
48001
  label: "宽",
47867
48002
  width: 1240
47868
48003
  }
47869
- }, b = Pe(), x = /* @__PURE__ */ F(b.reading), S = /* @__PURE__ */ F(b.effects), C = /* @__PURE__ */ F(b.rail), w = /* @__PURE__ */ F(b.nav), T = /* @__PURE__ */ F(typeof window > "u" ? 728 : window.innerWidth), E = /* @__PURE__ */ F(b.collapsed), D = /* @__PURE__ */ F(!0), O = /* @__PURE__ */ F(b.rail_collapsed), ee = Z(() => T.value >= YX), te = Z(() => t.value.tab === "discussion" && !O.value), ne = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), re = Z(() => {
48004
+ }, b = Pe(), x = /* @__PURE__ */ F(b.reading), S = /* @__PURE__ */ F(b.effects), C = /* @__PURE__ */ F(b.rail), w = /* @__PURE__ */ F(b.nav), T = /* @__PURE__ */ F(typeof window > "u" ? 728 : window.innerWidth), E = /* @__PURE__ */ F(b.collapsed), D = /* @__PURE__ */ F(!0), O = /* @__PURE__ */ F(b.rail_collapsed), ee = Z(() => T.value >= oZ), te = Z(() => t.value.tab === "discussion" && !O.value), ne = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开频道概览" : "收起频道概览" : "频道资料与参与者"), re = Z(() => {
47870
48005
  let e = document.createElement("template");
47871
48006
  return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
47872
- }), ie = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(0), k = null, A = /* @__PURE__ */ F(null), oe = /* @__PURE__ */ F(null), se = Z(() => Math.min(GX, Math.max(WX, T.value - JX - XX))), ce = Z(() => Math.min(w.value, se.value)), le = Z(() => ({
48007
+ }), ie = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(0), k = null, A = /* @__PURE__ */ F(null), oe = /* @__PURE__ */ F(null), se = Z(() => Math.min(nZ, Math.max(tZ, T.value - aZ - sZ))), ce = Z(() => Math.min(w.value, se.value)), le = Z(() => ({
47873
48008
  "--channel-reading-width": `${y[x.value].width}px`,
47874
48009
  "--channel-rail-width": `${C.value}px`,
47875
48010
  "--channel-topbar-height": `${ae.value}px`,
47876
- "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${ce.value}px ${XX}px minmax(0, 1fr)`
48011
+ "--channel-main-columns": E.value ? "minmax(0, 1fr)" : `${ce.value}px ${sZ}px minmax(0, 1fr)`
47877
48012
  })), ue = Object.entries(y).map(([e, t]) => ({
47878
48013
  value: e,
47879
48014
  label: t.label
@@ -48013,12 +48148,12 @@ var nK = /*#__PURE__*/ nH({
48013
48148
  }
48014
48149
  function Pe() {
48015
48150
  try {
48016
- let e = JSON.parse(localStorage.getItem(zX)) || {};
48151
+ let e = JSON.parse(localStorage.getItem(XX)) || {};
48017
48152
  return {
48018
48153
  reading: Object.hasOwn(y, e.reading) ? e.reading : "default",
48019
48154
  effects: e.effects === "reduced" ? "reduced" : "full",
48020
- rail: Number.isFinite(e.rail) ? Math.min(VX, Math.max(BX, e.rail)) : HX,
48021
- nav: Number.isFinite(e.nav) ? Math.min(GX, Math.max(WX, e.nav)) : Fe(),
48155
+ rail: Number.isFinite(e.rail) ? Math.min(QX, Math.max(ZX, e.rail)) : $X,
48156
+ nav: Number.isFinite(e.nav) ? Math.min(nZ, Math.max(tZ, e.nav)) : Fe(),
48022
48157
  collapsed: e.collapsed === !0,
48023
48158
  brief_collapsed: e.brief_collapsed === !0,
48024
48159
  rail_collapsed: e.rail_collapsed === !0
@@ -48027,7 +48162,7 @@ var nK = /*#__PURE__*/ nH({
48027
48162
  return {
48028
48163
  reading: "default",
48029
48164
  effects: "full",
48030
- rail: HX,
48165
+ rail: $X,
48031
48166
  nav: Fe(),
48032
48167
  collapsed: !1,
48033
48168
  brief_collapsed: !1,
@@ -48036,11 +48171,11 @@ var nK = /*#__PURE__*/ nH({
48036
48171
  }
48037
48172
  }
48038
48173
  function Fe() {
48039
- return typeof window > "u" ? KX : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : KX;
48174
+ return typeof window > "u" ? rZ : window.innerWidth >= 1900 ? 280 : window.innerWidth <= 980 ? 220 : rZ;
48040
48175
  }
48041
48176
  function Ie() {
48042
48177
  try {
48043
- localStorage.setItem(zX, JSON.stringify({
48178
+ localStorage.setItem(XX, JSON.stringify({
48044
48179
  reading: x.value,
48045
48180
  effects: S.value,
48046
48181
  rail: C.value,
@@ -48071,19 +48206,19 @@ var nK = /*#__PURE__*/ nH({
48071
48206
  }, e.currentTarget.setPointerCapture(e.pointerId));
48072
48207
  }
48073
48208
  function He(e) {
48074
- A.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(VX, Math.max(BX, A.value.width + A.value.x - e.clientX))));
48209
+ A.value?.pointer === e.pointerId && (C.value = Math.round(Math.min(QX, Math.max(ZX, A.value.width + A.value.x - e.clientX))));
48075
48210
  }
48076
48211
  function Ue(e) {
48077
48212
  A.value?.pointer === e.pointerId && (A.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ie());
48078
48213
  }
48079
48214
  function We(e) {
48080
48215
  let t = {
48081
- ArrowLeft: C.value + UX,
48082
- ArrowRight: C.value - UX,
48083
- Home: BX,
48084
- End: VX
48216
+ ArrowLeft: C.value + eZ,
48217
+ ArrowRight: C.value - eZ,
48218
+ Home: ZX,
48219
+ End: QX
48085
48220
  };
48086
- Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(VX, Math.max(BX, t[e.key])), Ie());
48221
+ Object.hasOwn(t, e.key) && (e.preventDefault(), C.value = Math.min(QX, Math.max(ZX, t[e.key])), Ie());
48087
48222
  }
48088
48223
  function Ge(e) {
48089
48224
  e.button === 0 && (e.preventDefault(), e.currentTarget.focus(), oe.value = {
@@ -48093,19 +48228,19 @@ var nK = /*#__PURE__*/ nH({
48093
48228
  }, e.currentTarget.setPointerCapture(e.pointerId));
48094
48229
  }
48095
48230
  function Ke(e) {
48096
- oe.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(se.value, Math.max(WX, oe.value.width + e.clientX - oe.value.x))));
48231
+ oe.value?.pointer === e.pointerId && (w.value = Math.round(Math.min(se.value, Math.max(tZ, oe.value.width + e.clientX - oe.value.x))));
48097
48232
  }
48098
48233
  function qe(e) {
48099
48234
  oe.value?.pointer === e.pointerId && (oe.value = null, e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), Ie());
48100
48235
  }
48101
48236
  function Je(e) {
48102
48237
  let t = {
48103
- ArrowLeft: ce.value - qX,
48104
- ArrowRight: ce.value + qX,
48105
- Home: WX,
48238
+ ArrowLeft: ce.value - iZ,
48239
+ ArrowRight: ce.value + iZ,
48240
+ Home: tZ,
48106
48241
  End: se.value
48107
48242
  };
48108
- Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(se.value, Math.max(WX, t[e.key])), Ie());
48243
+ Object.hasOwn(t, e.key) && (e.preventDefault(), w.value = Math.min(se.value, Math.max(tZ, t[e.key])), Ie());
48109
48244
  }
48110
48245
  return (e, r) => {
48111
48246
  let y = zk, b = GV, w = Gk, T = uA, O = VV, ae = LV, k = xV, fe = zV, ye = FV, Pe = MV, Fe = EV, Ie = pV, Re = dV, Be = cV;
@@ -48117,10 +48252,10 @@ var nK = /*#__PURE__*/ nH({
48117
48252
  }]),
48118
48253
  style: j(le.value)
48119
48254
  }, [
48120
- K("aside", NY, [
48255
+ K("aside", UY, [
48121
48256
  r[29] ||= ws("<header class=\"channel-workspace-heading\"><span class=\"channel-brand-icon\" aria-hidden=\"true\"><svg class=\"channel-brand-dark\" viewBox=\"0 0 100 100\"><defs><linearGradient id=\"brand-d0\" gradientUnits=\"userSpaceOnUse\" x1=\"4.5\" y1=\"64\" x2=\"95.5\" y2=\"64\"><stop offset=\"0.0%\" stop-color=\"#e9ebed\"></stop><stop offset=\"6.3%\" stop-color=\"#e2e5e7\"></stop><stop offset=\"12.5%\" stop-color=\"#dcdee1\"></stop><stop offset=\"18.8%\" stop-color=\"#d5d8db\"></stop><stop offset=\"25.0%\" stop-color=\"#ced2d5\"></stop><stop offset=\"31.3%\" stop-color=\"#c8cbcf\"></stop><stop offset=\"37.5%\" stop-color=\"#c1c5ca\"></stop><stop offset=\"43.8%\" stop-color=\"#babfc4\"></stop><stop offset=\"50.0%\" stop-color=\"#b4b9be\"></stop><stop offset=\"56.3%\" stop-color=\"#a9aeb3\"></stop><stop offset=\"62.5%\" stop-color=\"#9ea3a9\"></stop><stop offset=\"68.8%\" stop-color=\"#93999f\"></stop><stop offset=\"75.0%\" stop-color=\"#888e95\"></stop><stop offset=\"81.3%\" stop-color=\"#7e848a\"></stop><stop offset=\"87.5%\" stop-color=\"#737a80\"></stop><stop offset=\"93.8%\" stop-color=\"#697077\"></stop><stop offset=\"100.0%\" stop-color=\"#5f666d\"></stop></linearGradient><linearGradient id=\"brand-d1\" gradientUnits=\"userSpaceOnUse\" x1=\"8.5\" y1=\"36\" x2=\"91.5\" y2=\"36\"><stop offset=\"0.0%\" stop-color=\"#3f86ff\"></stop><stop offset=\"6.3%\" stop-color=\"#5588ff\"></stop><stop offset=\"12.5%\" stop-color=\"#6889ff\"></stop><stop offset=\"18.8%\" stop-color=\"#788aff\"></stop><stop offset=\"25.0%\" stop-color=\"#878bff\"></stop><stop offset=\"31.3%\" stop-color=\"#958cff\"></stop><stop offset=\"37.5%\" stop-color=\"#a78aef\"></stop><stop offset=\"43.8%\" stop-color=\"#b986d7\"></stop><stop offset=\"50.0%\" stop-color=\"#ca80bf\"></stop><stop offset=\"56.3%\" stop-color=\"#da78a6\"></stop><stop offset=\"62.5%\" stop-color=\"#ea6e8c\"></stop><stop offset=\"68.8%\" stop-color=\"#f56d78\"></stop><stop offset=\"75.0%\" stop-color=\"#f77f72\"></stop><stop offset=\"81.3%\" stop-color=\"#f8906b\"></stop><stop offset=\"87.5%\" stop-color=\"#f9a163\"></stop><stop offset=\"93.8%\" stop-color=\"#fab058\"></stop><stop offset=\"100.0%\" stop-color=\"#fac04a\"></stop></linearGradient><linearGradient id=\"brand-d2\" gradientUnits=\"userSpaceOnUse\" x1=\"28.021\" y1=\"95.435\" x2=\"39.978\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#d06a49\"></stop><stop offset=\"6.3%\" stop-color=\"#d36f4f\"></stop><stop offset=\"12.5%\" stop-color=\"#d67456\"></stop><stop offset=\"18.8%\" stop-color=\"#d97a5c\"></stop><stop offset=\"25.0%\" stop-color=\"#dc7f62\"></stop><stop offset=\"31.3%\" stop-color=\"#df8468\"></stop><stop offset=\"37.5%\" stop-color=\"#e2896e\"></stop><stop offset=\"43.8%\" stop-color=\"#e58e74\"></stop><stop offset=\"50.0%\" stop-color=\"#e8937a\"></stop><stop offset=\"56.3%\" stop-color=\"#eb9d85\"></stop><stop offset=\"62.5%\" stop-color=\"#eea68f\"></stop><stop offset=\"68.8%\" stop-color=\"#f1b09a\"></stop><stop offset=\"75.0%\" stop-color=\"#f4baa4\"></stop><stop offset=\"81.3%\" stop-color=\"#f6c3af\"></stop><stop offset=\"87.5%\" stop-color=\"#f9cdb9\"></stop><stop offset=\"93.8%\" stop-color=\"#fbd6c4\"></stop><stop offset=\"100.0%\" stop-color=\"#fde0cf\"></stop></linearGradient><linearGradient id=\"brand-d3\" gradientUnits=\"userSpaceOnUse\" x1=\"71.978\" y1=\"95.435\" x2=\"60.021\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#4a5cff\"></stop><stop offset=\"6.3%\" stop-color=\"#5062ff\"></stop><stop offset=\"12.5%\" stop-color=\"#5768ff\"></stop><stop offset=\"18.8%\" stop-color=\"#5d6dff\"></stop><stop offset=\"25.0%\" stop-color=\"#6472ff\"></stop><stop offset=\"31.3%\" stop-color=\"#6b77ff\"></stop><stop offset=\"37.5%\" stop-color=\"#717cff\"></stop><stop offset=\"43.8%\" stop-color=\"#7881ff\"></stop><stop offset=\"50.0%\" stop-color=\"#7f86ff\"></stop><stop offset=\"56.3%\" stop-color=\"#8990ff\"></stop><stop offset=\"62.5%\" stop-color=\"#9399ff\"></stop><stop offset=\"68.8%\" stop-color=\"#9da2ff\"></stop><stop offset=\"75.0%\" stop-color=\"#a8abff\"></stop><stop offset=\"81.3%\" stop-color=\"#b3b4ff\"></stop><stop offset=\"87.5%\" stop-color=\"#bebdff\"></stop><stop offset=\"93.8%\" stop-color=\"#c9c5ff\"></stop><stop offset=\"100.0%\" stop-color=\"#d4ceff\"></stop></linearGradient><clipPath id=\"brand-d4\"><polygon points=\"16,46.5 84,46.5 84,25.5 16,25.5\"></polygon></clipPath><clipPath id=\"brand-d5\"><polygon points=\"16,48.5 84,48.5 84,23.5 16,23.5\"></polygon></clipPath><clipPath id=\"brand-d6\"><polygon points=\"81.410,86.630 71.410,10.630 50.589,13.369 60.589,89.369\"></polygon></clipPath><clipPath id=\"brand-d7\"><polygon points=\"83.393,86.369 73.393,10.369 48.606,13.630 58.606,89.630\"></polygon></clipPath><clipPath id=\"brand-d8\"><polygon points=\"12,74.5 88,74.5 88,53.5 12,53.5\"></polygon></clipPath><clipPath id=\"brand-d9\"><polygon points=\"12,76.5 88,76.5 88,51.5 12,51.5\"></polygon></clipPath><clipPath id=\"brand-d10\"><polygon points=\"39.410,89.369 49.410,13.369 28.589,10.630 18.589,86.630\"></polygon></clipPath><clipPath id=\"brand-d11\"><polygon points=\"41.393,89.630 51.393,13.630 26.606,10.369 16.606,86.369\"></polygon></clipPath></defs><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-d0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-d1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-d2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-d3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><g clip-path=\"url(#brand-d4)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d5)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-d2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d6)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d7)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-d1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d8)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d9)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-d3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d10)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"#202127\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-d11)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-d0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g></svg><svg class=\"channel-brand-light\" viewBox=\"0 0 100 100\"><defs><linearGradient id=\"brand-l0\" gradientUnits=\"userSpaceOnUse\" x1=\"4.5\" y1=\"64\" x2=\"95.5\" y2=\"64\"><stop offset=\"0.0%\" stop-color=\"#0b0d0f\"></stop><stop offset=\"6.3%\" stop-color=\"#101315\"></stop><stop offset=\"12.5%\" stop-color=\"#16191b\"></stop><stop offset=\"18.8%\" stop-color=\"#1c1f22\"></stop><stop offset=\"25.0%\" stop-color=\"#222529\"></stop><stop offset=\"31.3%\" stop-color=\"#282c2f\"></stop><stop offset=\"37.5%\" stop-color=\"#2e3237\"></stop><stop offset=\"43.8%\" stop-color=\"#34393e\"></stop><stop offset=\"50.0%\" stop-color=\"#3b4045\"></stop><stop offset=\"56.3%\" stop-color=\"#484d52\"></stop><stop offset=\"62.5%\" stop-color=\"#555a5f\"></stop><stop offset=\"68.8%\" stop-color=\"#62676d\"></stop><stop offset=\"75.0%\" stop-color=\"#70757b\"></stop><stop offset=\"81.3%\" stop-color=\"#7e8389\"></stop><stop offset=\"87.5%\" stop-color=\"#8c9297\"></stop><stop offset=\"93.8%\" stop-color=\"#9aa0a6\"></stop><stop offset=\"100.0%\" stop-color=\"#a9afb5\"></stop></linearGradient><linearGradient id=\"brand-l1\" gradientUnits=\"userSpaceOnUse\" x1=\"8.5\" y1=\"36\" x2=\"91.5\" y2=\"36\"><stop offset=\"0.0%\" stop-color=\"#2f7bff\"></stop><stop offset=\"6.3%\" stop-color=\"#487cff\"></stop><stop offset=\"12.5%\" stop-color=\"#5a7cff\"></stop><stop offset=\"18.8%\" stop-color=\"#6a7dff\"></stop><stop offset=\"25.0%\" stop-color=\"#797dff\"></stop><stop offset=\"31.3%\" stop-color=\"#877dff\"></stop><stop offset=\"37.5%\" stop-color=\"#997cee\"></stop><stop offset=\"43.8%\" stop-color=\"#ae79d3\"></stop><stop offset=\"50.0%\" stop-color=\"#c174b8\"></stop><stop offset=\"56.3%\" stop-color=\"#d36b9d\"></stop><stop offset=\"62.5%\" stop-color=\"#e56080\"></stop><stop offset=\"68.8%\" stop-color=\"#f15d69\"></stop><stop offset=\"75.0%\" stop-color=\"#f37162\"></stop><stop offset=\"81.3%\" stop-color=\"#f5835a\"></stop><stop offset=\"87.5%\" stop-color=\"#f79550\"></stop><stop offset=\"93.8%\" stop-color=\"#f8a542\"></stop><stop offset=\"100.0%\" stop-color=\"#f8b52c\"></stop></linearGradient><linearGradient id=\"brand-l2\" gradientUnits=\"userSpaceOnUse\" x1=\"28.021\" y1=\"95.435\" x2=\"39.978\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#b9502f\"></stop><stop offset=\"6.3%\" stop-color=\"#bd5534\"></stop><stop offset=\"12.5%\" stop-color=\"#c15a39\"></stop><stop offset=\"18.8%\" stop-color=\"#c55f3e\"></stop><stop offset=\"25.0%\" stop-color=\"#c96443\"></stop><stop offset=\"31.3%\" stop-color=\"#cd6848\"></stop><stop offset=\"37.5%\" stop-color=\"#d16d4d\"></stop><stop offset=\"43.8%\" stop-color=\"#d57252\"></stop><stop offset=\"50.0%\" stop-color=\"#d97757\"></stop><stop offset=\"56.3%\" stop-color=\"#dd8060\"></stop><stop offset=\"62.5%\" stop-color=\"#e08a69\"></stop><stop offset=\"68.8%\" stop-color=\"#e49372\"></stop><stop offset=\"75.0%\" stop-color=\"#e79c7b\"></stop><stop offset=\"81.3%\" stop-color=\"#eaa584\"></stop><stop offset=\"87.5%\" stop-color=\"#edae8d\"></stop><stop offset=\"93.8%\" stop-color=\"#f0b796\"></stop><stop offset=\"100.0%\" stop-color=\"#f3c09f\"></stop></linearGradient><linearGradient id=\"brand-l3\" gradientUnits=\"userSpaceOnUse\" x1=\"71.978\" y1=\"95.435\" x2=\"60.021\" y2=\"4.564\"><stop offset=\"0.0%\" stop-color=\"#2b33e6\"></stop><stop offset=\"6.3%\" stop-color=\"#3139e9\"></stop><stop offset=\"12.5%\" stop-color=\"#363fec\"></stop><stop offset=\"18.8%\" stop-color=\"#3c44ef\"></stop><stop offset=\"25.0%\" stop-color=\"#4249f3\"></stop><stop offset=\"31.3%\" stop-color=\"#484ef6\"></stop><stop offset=\"37.5%\" stop-color=\"#4e53f9\"></stop><stop offset=\"43.8%\" stop-color=\"#5457fc\"></stop><stop offset=\"50.0%\" stop-color=\"#5a5cff\"></stop><stop offset=\"56.3%\" stop-color=\"#6569ff\"></stop><stop offset=\"62.5%\" stop-color=\"#7075ff\"></stop><stop offset=\"68.8%\" stop-color=\"#7c80ff\"></stop><stop offset=\"75.0%\" stop-color=\"#888bff\"></stop><stop offset=\"81.3%\" stop-color=\"#9595ff\"></stop><stop offset=\"87.5%\" stop-color=\"#a29fff\"></stop><stop offset=\"93.8%\" stop-color=\"#afa9ff\"></stop><stop offset=\"100.0%\" stop-color=\"#bdb3ff\"></stop></linearGradient><clipPath id=\"brand-l4\"><polygon points=\"16,46.5 84,46.5 84,25.5 16,25.5\"></polygon></clipPath><clipPath id=\"brand-l5\"><polygon points=\"16,48.5 84,48.5 84,23.5 16,23.5\"></polygon></clipPath><clipPath id=\"brand-l6\"><polygon points=\"81.410,86.630 71.410,10.630 50.589,13.369 60.589,89.369\"></polygon></clipPath><clipPath id=\"brand-l7\"><polygon points=\"83.393,86.369 73.393,10.369 48.606,13.630 58.606,89.630\"></polygon></clipPath><clipPath id=\"brand-l8\"><polygon points=\"12,74.5 88,74.5 88,53.5 12,53.5\"></polygon></clipPath><clipPath id=\"brand-l9\"><polygon points=\"12,76.5 88,76.5 88,51.5 12,51.5\"></polygon></clipPath><clipPath id=\"brand-l10\"><polygon points=\"39.410,89.369 49.410,13.369 28.589,10.630 18.589,86.630\"></polygon></clipPath><clipPath id=\"brand-l11\"><polygon points=\"41.393,89.630 51.393,13.630 26.606,10.369 16.606,86.369\"></polygon></clipPath></defs><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-l0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-l1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-l2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-l3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line><g clip-path=\"url(#brand-l4)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l5)\"><line x1=\"29\" y1=\"88\" x2=\"39\" y2=\"12\" stroke=\"url(#brand-l2)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l6)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l7)\"><line x1=\"16\" y1=\"36\" x2=\"84\" y2=\"36\" stroke=\"url(#brand-l1)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l8)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l9)\"><line x1=\"71\" y1=\"88\" x2=\"61\" y2=\"12\" stroke=\"url(#brand-l3)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l10)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"#f6f6f6\" stroke-width=\"21\" stroke-linecap=\"round\"></line></g><g clip-path=\"url(#brand-l11)\"><line x1=\"12\" y1=\"64\" x2=\"88\" y2=\"64\" stroke=\"url(#brand-l0)\" stroke-width=\"15\" stroke-linecap=\"round\"></line></g></svg></span><span class=\"channel-brand-text\"><strong>共议</strong><span>AI CoDiscuss</span></span></header>", 1),
48122
- K("div", PY, [
48123
- q(zJ, {
48257
+ K("div", WY, [
48258
+ q(YJ, {
48124
48259
  onSelect: Oe,
48125
48260
  onManage: Ee,
48126
48261
  onCreate: Ae,
@@ -48129,12 +48264,12 @@ var nK = /*#__PURE__*/ nH({
48129
48264
  onDeleteFolder: Ne,
48130
48265
  onArchives: De
48131
48266
  }),
48132
- K("div", FY, [K("button", {
48267
+ K("div", GY, [K("button", {
48133
48268
  type: "button",
48134
48269
  class: "channel-section-toggle",
48135
48270
  "aria-expanded": f.value,
48136
48271
  onClick: r[0] ||= (e) => f.value = !f.value
48137
- }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, IY)]),
48272
+ }, [q(y, { name: f.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), r[28] ||= J("频道工具", -1)], 8, KY)]),
48138
48273
  f.value ? (U(), G(b, {
48139
48274
  key: 0,
48140
48275
  items: we.value,
@@ -48150,7 +48285,7 @@ var nK = /*#__PURE__*/ nH({
48150
48285
  }
48151
48286
  }, null, 8, ["items"])) : Y("", !0)
48152
48287
  ]),
48153
- K("footer", LY, [
48288
+ K("footer", qY, [
48154
48289
  q(w, {
48155
48290
  src: I(n).identities[I(_)]?.icon,
48156
48291
  text: I(n).identities[I(_)]?.initials,
@@ -48163,7 +48298,7 @@ var nK = /*#__PURE__*/ nH({
48163
48298
  "alt",
48164
48299
  "class"
48165
48300
  ]),
48166
- K("div", RY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", zY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
48301
+ K("div", JY, [K("strong", null, P(I(n).display_name(I(_))), 1), K("div", YY, [K("span", { class: M({ connected: I(t).connected }) }, null, 2), J(P(I(t).connected ? "网站已连接" : "网站未连接"), 1)])]),
48167
48302
  q(O, { text: "外观设置" }, {
48168
48303
  default: L(() => [q(T, {
48169
48304
  icon: "i-lucide-settings-2",
@@ -48186,7 +48321,7 @@ var nK = /*#__PURE__*/ nH({
48186
48321
  "aria-label": "调整频道栏宽度",
48187
48322
  "aria-orientation": "vertical",
48188
48323
  "aria-controls": "channel-sidebar",
48189
- "aria-valuemin": WX,
48324
+ "aria-valuemin": tZ,
48190
48325
  "aria-valuemax": se.value,
48191
48326
  "aria-valuenow": ce.value,
48192
48327
  "aria-valuetext": `${ce.value} 像素`,
@@ -48197,13 +48332,13 @@ var nK = /*#__PURE__*/ nH({
48197
48332
  onPointercancel: qe,
48198
48333
  onLostpointercapture: qe,
48199
48334
  onKeydown: Je
48200
- }, null, 40, BY)),
48201
- K("main", VY, [K("div", {
48335
+ }, null, 40, XY)),
48336
+ K("main", ZY, [K("div", {
48202
48337
  ref_key: "topbar",
48203
48338
  ref: ie,
48204
48339
  class: M(["channel-topbar", { "is-overlay": o.value && I(t).tab === "discussion" }])
48205
48340
  }, [
48206
- K("header", HY, [
48341
+ K("header", QY, [
48207
48342
  q(O, { text: E.value ? "展开频道栏" : "收起频道栏" }, {
48208
48343
  default: L(() => [q(T, {
48209
48344
  icon: "i-lucide-panel-left",
@@ -48228,13 +48363,13 @@ var nK = /*#__PURE__*/ nH({
48228
48363
  "aria-expanded": d.value,
48229
48364
  onClick: r[3] ||= (e) => d.value = !0
48230
48365
  }, null, 8, ["aria-expanded"]),
48231
- K("span", UY, [q(y, { name: "i-lucide-hash" })]),
48232
- K("div", WY, [K("div", GY, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, KY), o.value?.floor && !pe.value ? (U(), W("div", {
48366
+ K("span", $Y, [q(y, { name: "i-lucide-hash" })]),
48367
+ K("div", eX, [K("div", tX, [K("h1", { title: o.value?.title }, P(o.value?.title || "共议"), 9, nX), o.value?.floor && !pe.value ? (U(), W("div", {
48233
48368
  key: 0,
48234
48369
  class: M(["channel-floor-status", { "is-held": o.value.floor.holder }]),
48235
48370
  role: "status",
48236
48371
  title: `发言权:${I(n).floor_status(o.value)}`
48237
- }, [q(y, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, qY)) : Y("", !0)]), o.value?.archived ? (U(), G(ae, {
48372
+ }, [q(y, { name: "i-lucide-mic" }), K("span", null, "发言权:" + P(I(n).floor_status(o.value)), 1)], 10, rX)) : Y("", !0)]), o.value?.archived ? (U(), G(ae, {
48238
48373
  key: 0,
48239
48374
  color: "neutral",
48240
48375
  variant: "subtle",
@@ -48243,12 +48378,12 @@ var nK = /*#__PURE__*/ nH({
48243
48378
  default: L(() => [...r[30] ||= [J("已存档", -1)]]),
48244
48379
  _: 1
48245
48380
  })) : Y("", !0)]),
48246
- o.value ? (U(), W("span", JY, [
48381
+ o.value ? (U(), W("span", iX, [
48247
48382
  J(P(me.value.find((e) => e.value === I(t).tab)?.label), 1),
48248
48383
  r[31] ||= K("span", null, "·", -1),
48249
48384
  J(P(o.value.message_count) + " 条记录", 1)
48250
48385
  ])) : Y("", !0),
48251
- K("div", YY, [
48386
+ K("div", aX, [
48252
48387
  I(t).tab === "discussion" ? (U(), W("form", {
48253
48388
  key: 0,
48254
48389
  class: "channel-search",
@@ -48306,7 +48441,7 @@ var nK = /*#__PURE__*/ nH({
48306
48441
  ])]),
48307
48442
  _: 1
48308
48443
  })) : Y("", !0),
48309
- o.value && !(te.value && ee.value) ? (U(), G(MY, { key: 2 })) : Y("", !0)
48444
+ o.value && !(te.value && ee.value) ? (U(), G(HY, { key: 2 })) : Y("", !0)
48310
48445
  ]),
48311
48446
  q(O, { text: ne.value }, {
48312
48447
  default: L(() => [q(T, {
@@ -48327,12 +48462,12 @@ var nK = /*#__PURE__*/ nH({
48327
48462
  _: 1
48328
48463
  }, 8, ["text"])
48329
48464
  ]),
48330
- I(t).launch.recoveries.length ? (U(), W("section", XY, [
48465
+ I(t).launch.recoveries.length ? (U(), W("section", oX, [
48331
48466
  r[32] ||= K("h2", null, "继续未完成的请求", -1),
48332
48467
  (U(!0), W(H, null, B(I(t).launch.recoveries, (e) => (U(), W("article", { key: e.id }, [
48333
48468
  K("strong", null, P(e.title), 1),
48334
- K("p", ZY, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48335
- K("div", QY, [
48469
+ K("p", sX, P(e.error || "启动结果尚未确认;原请求已保存在此浏览器中。"), 1),
48470
+ K("div", cX, [
48336
48471
  q(T, {
48337
48472
  label: e.direct ? "继续创建房间" : "继续本次启动",
48338
48473
  size: "sm",
@@ -48365,7 +48500,7 @@ var nK = /*#__PURE__*/ nH({
48365
48500
  ]))), 128)),
48366
48501
  r[33] ||= K("small", null, "移除待办不会删除房间或停止讨论。", -1)
48367
48502
  ])) : Y("", !0),
48368
- o.value ? (U(), W("div", $Y, [q(fe, {
48503
+ o.value ? (U(), W("div", lX, [q(fe, {
48369
48504
  modelValue: de.value,
48370
48505
  "onUpdate:modelValue": r[8] ||= (e) => de.value = e,
48371
48506
  items: me.value,
@@ -48380,7 +48515,7 @@ var nK = /*#__PURE__*/ nH({
48380
48515
  key: 2,
48381
48516
  class: M(["channel-host-brief", { "is-collapsed": D.value }]),
48382
48517
  "aria-label": "主持简报"
48383
- }, [K("div", eX, [K("div", tX, [K("button", {
48518
+ }, [K("div", uX, [K("div", dX, [K("button", {
48384
48519
  type: "button",
48385
48520
  class: "channel-brief-toggle",
48386
48521
  "aria-label": D.value ? "展开主持简报" : "收起主持简报",
@@ -48390,8 +48525,8 @@ var nK = /*#__PURE__*/ nH({
48390
48525
  }, [
48391
48526
  q(y, { name: D.value ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
48392
48527
  K("strong", null, "主持简报" + P(D.value ? ":" : ""), 1),
48393
- D.value ? (U(), W("span", rX, P(re.value), 1)) : Y("", !0)
48394
- ], 8, nX), D.value ? Y("", !0) : (U(), G(T, {
48528
+ D.value ? (U(), W("span", pX, P(re.value), 1)) : Y("", !0)
48529
+ ], 8, fX), D.value ? Y("", !0) : (U(), G(T, {
48395
48530
  key: 0,
48396
48531
  label: "更新简报",
48397
48532
  color: "neutral",
@@ -48399,30 +48534,30 @@ var nK = /*#__PURE__*/ nH({
48399
48534
  size: "xs",
48400
48535
  class: "channel-brief-update",
48401
48536
  onClick: r[9] ||= (e) => I(i)("tab", "context")
48402
- }))]), vr(K("div", iX, [K("div", {
48537
+ }))]), vr(K("div", mX, [K("div", {
48403
48538
  class: "channel-brief-text markdown-body",
48404
48539
  innerHTML: o.value.rendered_brief
48405
- }, null, 8, aX), K("div", oX, [K("span", sX, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !D.value]])])], 2)) : Y("", !0)
48540
+ }, null, 8, hX), K("div", gX, [K("span", _X, P(I(n).progress_speaker(o.value)), 1), K("small", null, P(I(n).brief_meta(o.value)), 1)])], 512), [[Vc, !D.value]])])], 2)) : Y("", !0)
48406
48541
  ], 2), o.value ? (U(), W("div", {
48407
48542
  key: 0,
48408
48543
  class: M(["channel-body", { "channel-body-discussion": I(t).tab === "discussion" }])
48409
- }, [K("div", cX, [
48544
+ }, [K("div", vX, [
48410
48545
  vr(q(fW, {
48411
48546
  onDetail: ke,
48412
48547
  onEdit: r[10] ||= (e) => s.value = "edit"
48413
48548
  }, null, 512), [[Vc, I(t).tab === "discussion"]]),
48414
- I(t).tab === "context" ? (U(), W("section", lX, [
48415
- K("div", uX, [r[34] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(ae, {
48549
+ I(t).tab === "context" ? (U(), W("section", yX, [
48550
+ K("div", bX, [r[34] ||= K("div", null, [K("h2", null, "共识与分歧"), K("p", null, "整理讨论进展,用 #消息编号 保留依据。")], -1), q(ae, {
48416
48551
  color: "neutral",
48417
48552
  variant: "outline"
48418
48553
  }, {
48419
48554
  default: L(() => [J("截止 #" + P(o.value.state_until), 1)]),
48420
48555
  _: 1
48421
48556
  })]),
48422
- Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", dX, [
48557
+ Array.isArray(o.value.latest_receipts) && o.value.latest_receipts.length ? (U(), W("section", xX, [
48423
48558
  r[35] ||= K("h3", null, "最新运行回执", -1),
48424
48559
  r[36] ||= K("p", { class: "fine-print" }, "以下回执独立于摘要更新;晚于摘要的回执可能尚未整理,实际运行结果请查看原文。", -1),
48425
- K("div", fX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(T, {
48560
+ K("div", SX, [(U(!0), W(H, null, B(o.value.latest_receipts, (e) => (U(), G(T, {
48426
48561
  key: e.id,
48427
48562
  label: `${I(n).display_name(e.author)} #${e.id} · ${new Date(e.created_at).toLocaleString("zh-CN")}${e.id > o.value.state_until ? " · 晚于摘要" : ""}`,
48428
48563
  variant: "link",
@@ -48465,7 +48600,7 @@ var nK = /*#__PURE__*/ nH({
48465
48600
  }, null, 8, ["modelValue"])]),
48466
48601
  _: 1
48467
48602
  }),
48468
- K("div", pX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(T, {
48603
+ K("div", CX, [K("span", null, "依据消息截止 #" + P(I(t).snapshot_id), 1), q(T, {
48469
48604
  type: "submit",
48470
48605
  color: "neutral",
48471
48606
  icon: "i-lucide-check",
@@ -48475,12 +48610,12 @@ var nK = /*#__PURE__*/ nH({
48475
48610
  }, null, 8, ["loading"])])
48476
48611
  ], 32)
48477
48612
  ])) : Y("", !0),
48478
- I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(jG, {
48613
+ I(t).tab === "topic" || I(t).tab === "access" ? (U(), G(VG, {
48479
48614
  key: I(t).tab,
48480
48615
  onOpen: r[14] ||= (e) => s.value = e,
48481
48616
  onDetail: ke
48482
48617
  })) : Y("", !0)
48483
- ])], 2)) : (U(), W("div", mX, [
48618
+ ])], 2)) : (U(), W("div", wX, [
48484
48619
  q(y, { name: "i-lucide-hash" }),
48485
48620
  r[37] ||= K("h2", null, "新建一个讨论频道", -1),
48486
48621
  r[38] ||= K("p", null, "每个频道围绕一个议题,保留所有人的观点。", -1),
@@ -48499,8 +48634,8 @@ var nK = /*#__PURE__*/ nH({
48499
48634
  "aria-label": "调整右侧栏宽度",
48500
48635
  "aria-orientation": "vertical",
48501
48636
  "aria-controls": "channel-member-rail",
48502
- "aria-valuemin": BX,
48503
- "aria-valuemax": VX,
48637
+ "aria-valuemin": ZX,
48638
+ "aria-valuemax": QX,
48504
48639
  "aria-valuenow": C.value,
48505
48640
  "aria-valuetext": `${C.value} 像素`,
48506
48641
  title: "拖动调整右侧栏宽度,也可使用左右方向键",
@@ -48510,10 +48645,10 @@ var nK = /*#__PURE__*/ nH({
48510
48645
  onPointercancel: Ue,
48511
48646
  onLostpointercapture: Ue,
48512
48647
  onKeydown: We
48513
- }, null, 40, hX)) : Y("", !0),
48514
- te.value ? (U(), W("aside", gX, [K("section", _X, [o.value && pe.value ? (U(), W("div", vX, [
48515
- K("header", yX, [r[39] ||= K("strong", null, "自由协作", -1), K("span", bX, P(be.value ? `${I(n).display_name(be.value.name)} 协助主持` : "你来主持"), 1)]),
48516
- K("section", xX, [r[41] ||= K("h4", null, "成员", -1), K("ul", SX, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48648
+ }, null, 40, TX)) : Y("", !0),
48649
+ te.value ? (U(), W("aside", EX, [K("section", DX, [o.value && pe.value ? (U(), W("div", OX, [
48650
+ K("header", kX, [r[39] ||= K("strong", null, "自由协作", -1), K("span", AX, P(be.value ? `${I(n).display_name(be.value.name)} 协助主持` : "你来主持"), 1)]),
48651
+ K("section", jX, [r[41] ||= K("h4", null, "成员", -1), K("ul", MX, [(U(!0), W(H, null, B(o.value.free?.members || [], (e) => (U(), W("li", {
48517
48652
  key: e.id,
48518
48653
  class: "pb-member"
48519
48654
  }, [
@@ -48529,8 +48664,8 @@ var nK = /*#__PURE__*/ nH({
48529
48664
  "alt",
48530
48665
  "class"
48531
48666
  ]),
48532
- K("div", CX, [
48533
- K("div", wX, [
48667
+ K("div", NX, [
48668
+ K("div", PX, [
48534
48669
  J(P(I(n).display_name(e.name)), 1),
48535
48670
  e.role === "host" ? (U(), G(y, {
48536
48671
  key: 0,
@@ -48543,7 +48678,7 @@ var nK = /*#__PURE__*/ nH({
48543
48678
  }[e.access] || "本机自动"), 1)
48544
48679
  ]),
48545
48680
  K("div", { class: M(["pb-member-status", `is-${xe(e)}`]) }, [r[40] ||= K("span", { class: "pb-dot" }, null, -1), J(P(Ce(e)), 1)], 2),
48546
- e.session_mode === "borrowed" ? (U(), W("p", TX, "借用你正在使用的会话")) : Y("", !0)
48681
+ e.session_mode === "borrowed" ? (U(), W("p", FX, "借用你正在使用的会话")) : Y("", !0)
48547
48682
  ]),
48548
48683
  q(Fe, {
48549
48684
  items: Se(e),
@@ -48561,7 +48696,7 @@ var nK = /*#__PURE__*/ nH({
48561
48696
  _: 2
48562
48697
  }, 1032, ["items"])
48563
48698
  ]))), 128))])]),
48564
- 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", EX, [
48699
+ 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", IX, [
48565
48700
  r[42] ||= K("h4", null, "提示", -1),
48566
48701
  (U(!0), W(H, null, B(o.value.free?.conflicts || [], (e) => (U(), W("p", {
48567
48702
  key: e.executions.join("-"),
@@ -48571,10 +48706,10 @@ var nK = /*#__PURE__*/ nH({
48571
48706
  key: e.chain_id,
48572
48707
  class: "pb-free-note"
48573
48708
  }, "#" + P(e.chain_id) + " 的任务链已停:" + P(e.reason === "budget" ? `达到 ${o.value.free.max_auto_hops} 次上限` : "派出的成员都失败了") + ";发新消息即重新开始", 1))), 128)),
48574
- I(t).free_error ? (U(), W("p", DX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", OX, P(I(t).free_notice), 1)) : Y("", !0),
48575
- I(t).access?.error ? (U(), W("p", kX, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", AX, P(I(t).access.notice), 1)) : Y("", !0)
48709
+ I(t).free_error ? (U(), W("p", LX, P(I(t).free_error), 1)) : I(t).free_notice ? (U(), W("p", RX, P(I(t).free_notice), 1)) : Y("", !0),
48710
+ I(t).access?.error ? (U(), W("p", zX, P(I(t).access.error), 1)) : I(t).access?.notice ? (U(), W("p", BX, P(I(t).access.notice), 1)) : Y("", !0)
48576
48711
  ])) : Y("", !0),
48577
- K("section", jX, [
48712
+ K("section", VX, [
48578
48713
  r[43] ||= K("h4", null, "邀请 AI", -1),
48579
48714
  K("form", {
48580
48715
  class: "pb-free-invite",
@@ -48612,7 +48747,7 @@ var nK = /*#__PURE__*/ nH({
48612
48747
  size: "sm",
48613
48748
  class: "w-26"
48614
48749
  }, null, 8, ["modelValue"]),
48615
- ge.value === "runner" ? (U(), G(Ie, {
48750
+ ge.value === "runner" && I(n).launch_can_set_access(he.value, I(t).launch) ? (U(), G(Ie, {
48616
48751
  key: 0,
48617
48752
  modelValue: N.value,
48618
48753
  "onUpdate:modelValue": r[18] ||= (e) => N.value = e,
@@ -48626,17 +48761,17 @@ var nK = /*#__PURE__*/ nH({
48626
48761
  "aria-label": "受邀成员的项目文件权限",
48627
48762
  size: "sm",
48628
48763
  class: "w-full"
48629
- }, null, 8, ["modelValue"])) : Y("", !0)
48764
+ }, null, 8, ["modelValue"])) : ge.value === "online" || ge.value === "runner" && I(t).launch.profiles[he.value]?.adapter === "api" ? (U(), W("span", HX, "项目文件只读")) : Y("", !0)
48630
48765
  ], 32),
48631
- ge.value === "runner" && !I(t).launch.available ? (U(), W("p", MX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48766
+ ge.value === "runner" && !I(t).launch.available ? (U(), W("p", UX, "程序唤醒需要本机服务,请在运行 AI 的电脑打开本机网站。")) : Y("", !0)
48632
48767
  ]),
48633
- o.value.linked_rooms?.length ? (U(), W("section", NX, [r[44] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48768
+ o.value.linked_rooms?.length ? (U(), W("section", WX, [r[44] ||= K("h4", null, "头脑风暴", -1), (U(!0), W(H, null, B(o.value.linked_rooms, (e) => (U(), W("button", {
48634
48769
  key: e.id,
48635
48770
  type: "button",
48636
48771
  class: "pb-link pb-free-linked",
48637
48772
  onClick: (t) => I(i)("room", e.id)
48638
- }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, PX))), 128))])) : Y("", !0),
48639
- K("section", FX, [q(T, {
48773
+ }, [J(P(e.title), 1), K("small", null, P(I(n).phases[e.phase] || e.phase), 1)], 8, GX))), 128))])) : Y("", !0),
48774
+ K("section", KX, [q(T, {
48640
48775
  icon: "i-lucide-user-plus",
48641
48776
  label: "邀请",
48642
48777
  size: "sm",
@@ -48659,10 +48794,10 @@ var nK = /*#__PURE__*/ nH({
48659
48794
  title: "用当前成员新建一场讨论房间,收束后可把结论发回这里",
48660
48795
  onClick: _e
48661
48796
  })])
48662
- ])) : o.value ? (U(), G(DY, {
48797
+ ])) : o.value ? (U(), G(LY, {
48663
48798
  key: 1,
48664
48799
  docked: ""
48665
- })) : (U(), W("div", IX, [...r[45] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48800
+ })) : (U(), W("div", qX, [...r[45] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无频道,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
48666
48801
  q(Re, {
48667
48802
  open: d.value,
48668
48803
  "onUpdate:open": r[22] ||= (e) => d.value = e,
@@ -48674,7 +48809,7 @@ var nK = /*#__PURE__*/ nH({
48674
48809
  body: "channel-drawer-body"
48675
48810
  }
48676
48811
  }, {
48677
- body: L(() => [q(zJ, {
48812
+ body: L(() => [q(YJ, {
48678
48813
  onSelect: Oe,
48679
48814
  onManage: Ee,
48680
48815
  onCreate: Ae,
@@ -48705,7 +48840,7 @@ var nK = /*#__PURE__*/ nH({
48705
48840
  }
48706
48841
  }, {
48707
48842
  body: L(() => [o.value ? (U(), W(H, { key: 0 }, [
48708
- K("div", LX, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48843
+ K("div", JX, [q(y, { name: "i-lucide-hash" }), K("h2", null, P(o.value.title), 1)]),
48709
48844
  (U(), W(H, null, B([
48710
48845
  {
48711
48846
  key: "goal",
@@ -48732,7 +48867,7 @@ var nK = /*#__PURE__*/ nH({
48732
48867
  class: "info-section"
48733
48868
  }, [K("h3", null, P(e.label), 1), K("p", null, P(o.value[e.key] || "尚未填写"), 1)])), 64)),
48734
48869
  q(Be),
48735
- K("section", RX, [r[46] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(Te.value, (e) => (U(), W("div", {
48870
+ K("section", YX, [r[46] ||= K("h3", null, "参与身份", -1), (U(!0), W(H, null, B(Te.value, (e) => (U(), W("div", {
48736
48871
  key: e.name,
48737
48872
  class: "expert-row"
48738
48873
  }, [
@@ -48765,7 +48900,7 @@ var nK = /*#__PURE__*/ nH({
48765
48900
  ], 64)) : Y("", !0)]),
48766
48901
  _: 1
48767
48902
  }, 8, ["open"]),
48768
- q(hJ, {
48903
+ q(TJ, {
48769
48904
  modelValue: s.value,
48770
48905
  "onUpdate:modelValue": r[25] ||= (e) => s.value = e,
48771
48906
  "reading-width": x.value,
@@ -48789,7 +48924,7 @@ var nK = /*#__PURE__*/ nH({
48789
48924
  ], 6);
48790
48925
  };
48791
48926
  }
48792
- }, QX = {
48927
+ }, lZ = {
48793
48928
  __name: "App",
48794
48929
  setup(e) {
48795
48930
  return br("discussion", oV()), (e, t) => {
@@ -48800,7 +48935,7 @@ var nK = /*#__PURE__*/ nH({
48800
48935
  toaster: null
48801
48936
  }, {
48802
48937
  default: L(() => [q(I(Az), { "reduced-motion": "user" }, {
48803
- default: L(() => [q(ZX)]),
48938
+ default: L(() => [q(cZ)]),
48804
48939
  _: 1
48805
48940
  })]),
48806
48941
  _: 1
@@ -48810,8 +48945,8 @@ var nK = /*#__PURE__*/ nH({
48810
48945
  };
48811
48946
  //#endregion
48812
48947
  //#region frontend/main.js
48813
- function $X() {
48814
- bu(QX).use(fh).mount("#modern-root");
48948
+ function uZ() {
48949
+ bu(lZ).use(fh).mount("#modern-root");
48815
48950
  }
48816
- document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", $X) : $X();
48951
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", uZ) : uZ();
48817
48952
  //#endregion