ai_co_discuss 0.2.20 → 0.2.21
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/README.md +3 -3
- package/backend/free_room.py +2 -2
- package/backend/server.py +5 -5
- package/docs/architecture.md +14 -14
- package/package.json +1 -1
- package/web/backup.js +5 -5
- package/web/modern.css +1 -1
- package/web/modern.js +41 -41
package/web/modern.js
CHANGED
|
@@ -47424,7 +47424,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47424
47424
|
])])]);
|
|
47425
47425
|
};
|
|
47426
47426
|
}
|
|
47427
|
-
}, [["__scopeId", "data-v-
|
|
47427
|
+
}, [["__scopeId", "data-v-4231d551"]]), Qq = {
|
|
47428
47428
|
key: 0,
|
|
47429
47429
|
class: "channel-archive-manager"
|
|
47430
47430
|
}, $q = { class: "channel-archive-toolbar" }, eJ = {
|
|
@@ -47438,7 +47438,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47438
47438
|
}, nJ = { class: "channel-archive-results" }, rJ = {
|
|
47439
47439
|
key: 0,
|
|
47440
47440
|
class: "channel-archive-list",
|
|
47441
|
-
"aria-label": "
|
|
47441
|
+
"aria-label": "已存档房间列表"
|
|
47442
47442
|
}, iJ = { class: "channel-archive-row" }, aJ = { class: "channel-archive-info" }, oJ = [
|
|
47443
47443
|
"title",
|
|
47444
47444
|
"disabled",
|
|
@@ -47548,10 +47548,10 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47548
47548
|
message: "消息原文"
|
|
47549
47549
|
};
|
|
47550
47550
|
Object.assign(f, {
|
|
47551
|
-
rename: "
|
|
47552
|
-
archive: "
|
|
47553
|
-
restore: "
|
|
47554
|
-
delete: "
|
|
47551
|
+
rename: "重命名房间",
|
|
47552
|
+
archive: "存档房间",
|
|
47553
|
+
restore: "恢复房间",
|
|
47554
|
+
delete: "删除房间"
|
|
47555
47555
|
});
|
|
47556
47556
|
let p = {
|
|
47557
47557
|
settings: "选择适合你的讨论界面。",
|
|
@@ -47564,11 +47564,11 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47564
47564
|
rename: "名称变化不会影响讨论记录和阅读地址。",
|
|
47565
47565
|
archive: "保留所有记录,并暂停尚未收束的讨论。",
|
|
47566
47566
|
restore: "移回讨论列表,保持当前讨论阶段。",
|
|
47567
|
-
delete: "
|
|
47568
|
-
}), f.archives = "
|
|
47567
|
+
delete: "永久删除房间及其所有记录,无法撤销。"
|
|
47568
|
+
}), f.archives = "已存档房间", p.archives = "查看记录、恢复房间或彻底删除。";
|
|
47569
47569
|
let m = Z(() => o.value.rooms.filter((e) => e.archived)), h = /* @__PURE__ */ F(""), g = /* @__PURE__ */ F("all"), _ = [
|
|
47570
47570
|
{
|
|
47571
|
-
label: "
|
|
47571
|
+
label: "全部房间",
|
|
47572
47572
|
value: "all"
|
|
47573
47573
|
},
|
|
47574
47574
|
{
|
|
@@ -47694,7 +47694,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47694
47694
|
], ue = Z(() => le.filter((e) => e.key !== "execution_minutes" || o.value.room?.runtime?.mode === "automatic")), de = /* @__PURE__ */ F(null), fe = /* @__PURE__ */ F(null), j = /* @__PURE__ */ F(null), pe = /* @__PURE__ */ F(""), me = c("turn-expert-select"), he = c("turn-question-input"), ge = [{
|
|
47695
47695
|
value: "channel",
|
|
47696
47696
|
title: "协作频道",
|
|
47697
|
-
description: "深灰界面 ·
|
|
47697
|
+
description: "深灰界面 · 房间导航 · 成员侧栏"
|
|
47698
47698
|
}, {
|
|
47699
47699
|
value: "channel-light",
|
|
47700
47700
|
title: "协作频道 · 浅色",
|
|
@@ -47772,8 +47772,8 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47772
47772
|
modelValue: h.value,
|
|
47773
47773
|
"onUpdate:modelValue": c[0] ||= (e) => h.value = e,
|
|
47774
47774
|
icon: "i-lucide-search",
|
|
47775
|
-
placeholder: "
|
|
47776
|
-
"aria-label": "
|
|
47775
|
+
placeholder: "搜索已存档房间",
|
|
47776
|
+
"aria-label": "搜索已存档房间",
|
|
47777
47777
|
class: "channel-archive-search"
|
|
47778
47778
|
}, null, 8, ["modelValue"]),
|
|
47779
47779
|
q(S, {
|
|
@@ -47781,7 +47781,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47781
47781
|
"onUpdate:modelValue": c[1] ||= (e) => g.value = e,
|
|
47782
47782
|
items: _,
|
|
47783
47783
|
icon: "i-lucide-list-filter",
|
|
47784
|
-
"aria-label": "
|
|
47784
|
+
"aria-label": "筛选房间内容"
|
|
47785
47785
|
}, null, 8, ["modelValue"]),
|
|
47786
47786
|
q(le, {
|
|
47787
47787
|
label: `全部删除(${v.value.length})`,
|
|
@@ -47797,7 +47797,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47797
47797
|
}, null, 8, ["label", "disabled"])
|
|
47798
47798
|
]),
|
|
47799
47799
|
b.value && v.value.length ? (U(), W("div", eJ, [
|
|
47800
|
-
K("span", null, "将永久删除当前列表中的 " + P(v.value.length) + "
|
|
47800
|
+
K("span", null, "将永久删除当前列表中的 " + P(v.value.length) + " 个房间及其全部记录,无法撤销。", 1),
|
|
47801
47801
|
q(le, {
|
|
47802
47802
|
label: "取消",
|
|
47803
47803
|
color: "neutral",
|
|
@@ -47873,12 +47873,12 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47873
47873
|
disabled: w(e),
|
|
47874
47874
|
onClick: E
|
|
47875
47875
|
}, null, 8, ["disabled"])
|
|
47876
|
-
])) : Y("", !0)]))), 128))])) : (U(), W("p", dJ, P(m.value.length ? "
|
|
47876
|
+
])) : Y("", !0)]))), 128))])) : (U(), W("p", dJ, P(m.value.length ? "没有匹配的存档房间" : "暂无已存档房间"), 1))])
|
|
47877
47877
|
])) : a.value === "delete-folder" ? (U(), W("form", {
|
|
47878
47878
|
key: 1,
|
|
47879
47879
|
class: "dialog-form",
|
|
47880
47880
|
onSubmit: uu(ie, ["prevent"])
|
|
47881
|
-
}, [K("p", fJ, "移除「" + P(e.targetFolder?.name) + "
|
|
47881
|
+
}, [K("p", fJ, "移除「" + P(e.targetFolder?.name) + "」后,房间不再归属文件夹,所有消息和存档状态都会保留。", 1), K("div", pJ, [q(le, {
|
|
47882
47882
|
label: "取消",
|
|
47883
47883
|
color: "neutral",
|
|
47884
47884
|
variant: "ghost",
|
|
@@ -47940,7 +47940,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
47940
47940
|
a.value === "delete" ? (U(), W("p", vJ, "消息、共识和发言安排将一起删除,无法撤销。")) : Y("", !0),
|
|
47941
47941
|
a.value === "rename" ? (U(), G(de, {
|
|
47942
47942
|
key: 3,
|
|
47943
|
-
label: "
|
|
47943
|
+
label: "房间名称",
|
|
47944
47944
|
required: ""
|
|
47945
47945
|
}, {
|
|
47946
47946
|
default: L(() => [q(x, {
|
|
@@ -49013,7 +49013,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49013
49013
|
}, 16));
|
|
49014
49014
|
}
|
|
49015
49015
|
}, XJ = { class: "channel-directory-manager" }, ZJ = { class: "channel-directory-heading" }, QJ = ["aria-expanded"], $J = { class: "channel-directory-actions" }, eY = {
|
|
49016
|
-
"aria-label": "
|
|
49016
|
+
"aria-label": "讨论房间列表",
|
|
49017
49017
|
class: "channel-room-list",
|
|
49018
49018
|
"data-room-directory": ""
|
|
49019
49019
|
}, tY = ["data-room-folder", "data-drag-folder"], nY = {
|
|
@@ -49088,18 +49088,18 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49088
49088
|
})),
|
|
49089
49089
|
{ type: "separator" },
|
|
49090
49090
|
{
|
|
49091
|
-
label: "
|
|
49091
|
+
label: "导入房间…",
|
|
49092
49092
|
icon: "i-lucide-upload",
|
|
49093
49093
|
disabled: r.value.backup_pending,
|
|
49094
49094
|
onSelect: () => f.value?.click()
|
|
49095
49095
|
},
|
|
49096
49096
|
{
|
|
49097
|
-
label: "
|
|
49097
|
+
label: "导出全部房间",
|
|
49098
49098
|
icon: "i-lucide-download",
|
|
49099
49099
|
disabled: r.value.backup_pending || !r.value.rooms.length,
|
|
49100
49100
|
onSelect: () => a("backup_rooms", {
|
|
49101
49101
|
ids: r.value.rooms.map((e) => e.id),
|
|
49102
|
-
name: "
|
|
49102
|
+
name: "全部房间"
|
|
49103
49103
|
})
|
|
49104
49104
|
}
|
|
49105
49105
|
]), f = /* @__PURE__ */ F(null);
|
|
@@ -49250,7 +49250,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49250
49250
|
})
|
|
49251
49251
|
}],
|
|
49252
49252
|
[{
|
|
49253
|
-
label: e.archived ? "
|
|
49253
|
+
label: e.archived ? "恢复房间" : "存档房间",
|
|
49254
49254
|
icon: e.archived ? "i-lucide-archive-restore" : "i-lucide-archive",
|
|
49255
49255
|
disabled: r.value.archive_pending.includes(e.id),
|
|
49256
49256
|
onSelect: () => n("manage", {
|
|
@@ -49284,7 +49284,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49284
49284
|
class: "channel-section-toggle",
|
|
49285
49285
|
"aria-expanded": m.value,
|
|
49286
49286
|
onClick: t[1] ||= (e) => m.value = !m.value
|
|
49287
|
-
}, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("
|
|
49287
|
+
}, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("讨论房间", -1)], 8, QJ), K("div", $J, [
|
|
49288
49288
|
q(v, {
|
|
49289
49289
|
items: d.value,
|
|
49290
49290
|
content: {
|
|
@@ -49295,7 +49295,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49295
49295
|
}, {
|
|
49296
49296
|
default: L(() => [q(u, {
|
|
49297
49297
|
icon: "i-lucide-ellipsis",
|
|
49298
|
-
"aria-label": "
|
|
49298
|
+
"aria-label": "房间目录选项",
|
|
49299
49299
|
title: "排列、导入与导出",
|
|
49300
49300
|
size: "xs",
|
|
49301
49301
|
color: "neutral",
|
|
@@ -49322,7 +49322,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49322
49322
|
accept: ".zip,.json",
|
|
49323
49323
|
multiple: "",
|
|
49324
49324
|
hidden: "",
|
|
49325
|
-
"aria-label": "
|
|
49325
|
+
"aria-label": "选择房间备份",
|
|
49326
49326
|
onChange: p
|
|
49327
49327
|
}, null, 544)
|
|
49328
49328
|
])]),
|
|
@@ -49430,7 +49430,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49430
49430
|
onClick: (e) => n("select", s.id)
|
|
49431
49431
|
}, [K("span", null, P(s.title), 1)], 40, dY),
|
|
49432
49432
|
K("div", fY, [q(x, {
|
|
49433
|
-
text: s.archived ? "
|
|
49433
|
+
text: s.archived ? "恢复房间" : "存档房间",
|
|
49434
49434
|
ui: { content: "channel-topic-tooltip" }
|
|
49435
49435
|
}, {
|
|
49436
49436
|
default: L(() => [q(u, {
|
|
@@ -49472,7 +49472,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
49472
49472
|
}, 1032, ["items"])])
|
|
49473
49473
|
], 10, lY)]),
|
|
49474
49474
|
_: 2
|
|
49475
|
-
}, 1032, ["items"]))), 128))], 10, sY)) : Y("", !0)], 8, tY))), 128)), s.value.length ? Y("", !0) : (U(), W("p", pY, "
|
|
49475
|
+
}, 1032, ["items"]))), 128))], 10, sY)) : Y("", !0)], 8, tY))), 128)), s.value.length ? Y("", !0) : (U(), W("p", pY, "暂无讨论房间"))], 512), [[Vc, m.value]]),
|
|
49476
49476
|
vr(q(u, {
|
|
49477
49477
|
icon: "i-lucide-archive",
|
|
49478
49478
|
color: "neutral",
|
|
@@ -50166,7 +50166,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50166
50166
|
}, yX = {
|
|
50167
50167
|
id: "channel-sidebar",
|
|
50168
50168
|
class: "channel-sidebar",
|
|
50169
|
-
"aria-label": "
|
|
50169
|
+
"aria-label": "房间导航"
|
|
50170
50170
|
}, bX = { class: "channel-sidebar-content" }, xX = { class: "channel-directory-heading channel-tools-heading" }, SX = ["aria-expanded"], CX = { class: "channel-sidebar-footer" }, wX = { class: "channel-self" }, TX = { class: "channel-connection" }, EX = [
|
|
50171
50171
|
"aria-valuemax",
|
|
50172
50172
|
"aria-valuenow",
|
|
@@ -50280,7 +50280,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50280
50280
|
label: "宽",
|
|
50281
50281
|
width: 1240
|
|
50282
50282
|
}
|
|
50283
|
-
}, b = Fe(), 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 >= RZ), te = Z(() => t.value.tab === "discussion" && !O.value), ne = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "
|
|
50283
|
+
}, b = Fe(), 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 >= RZ), te = Z(() => t.value.tab === "discussion" && !O.value), ne = Z(() => ee.value && t.value.tab === "discussion" ? O.value ? "展开房间概览" : "收起房间概览" : "房间资料与参与者"), re = Z(() => {
|
|
50284
50284
|
let e = document.createElement("template");
|
|
50285
50285
|
return e.innerHTML = o.value?.rendered_brief || "", e.content.textContent.replace(/\s+/g, " ").trim();
|
|
50286
50286
|
}), ie = /* @__PURE__ */ F(null), ae = /* @__PURE__ */ F(0), k = null, A = /* @__PURE__ */ F(null), oe = /* @__PURE__ */ F(null), se = Z(() => Math.min(PZ, Math.max(NZ, T.value - LZ - zZ))), ce = Z(() => Math.min(w.value, se.value)), le = Z(() => ({
|
|
@@ -50556,7 +50556,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50556
50556
|
color: "neutral",
|
|
50557
50557
|
variant: "pill",
|
|
50558
50558
|
class: "channel-directory channel-view-links",
|
|
50559
|
-
"aria-label": "
|
|
50559
|
+
"aria-label": "房间视图",
|
|
50560
50560
|
ui: {
|
|
50561
50561
|
link: "channel-link",
|
|
50562
50562
|
linkLabel: "channel-link-label",
|
|
@@ -50597,14 +50597,14 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50597
50597
|
class: "channel-nav-resizer",
|
|
50598
50598
|
role: "separator",
|
|
50599
50599
|
tabindex: "0",
|
|
50600
|
-
"aria-label": "
|
|
50600
|
+
"aria-label": "调整房间栏宽度",
|
|
50601
50601
|
"aria-orientation": "vertical",
|
|
50602
50602
|
"aria-controls": "channel-sidebar",
|
|
50603
50603
|
"aria-valuemin": NZ,
|
|
50604
50604
|
"aria-valuemax": se.value,
|
|
50605
50605
|
"aria-valuenow": ce.value,
|
|
50606
50606
|
"aria-valuetext": `${ce.value} 像素`,
|
|
50607
|
-
title: "
|
|
50607
|
+
title: "拖动调整房间栏宽度,也可使用方向键",
|
|
50608
50608
|
onPointerdown: Ke,
|
|
50609
50609
|
onPointermove: qe,
|
|
50610
50610
|
onPointerup: Je,
|
|
@@ -50618,14 +50618,14 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50618
50618
|
class: M(["channel-topbar", { "is-overlay": o.value && I(t).tab === "discussion" }])
|
|
50619
50619
|
}, [
|
|
50620
50620
|
K("header", OX, [
|
|
50621
|
-
q(O, { text: E.value ? "
|
|
50621
|
+
q(O, { text: E.value ? "展开房间栏" : "收起房间栏" }, {
|
|
50622
50622
|
default: L(() => [q(T, {
|
|
50623
50623
|
icon: "i-lucide-panel-left",
|
|
50624
50624
|
color: "neutral",
|
|
50625
50625
|
variant: "ghost",
|
|
50626
50626
|
size: "sm",
|
|
50627
50627
|
class: "channel-desktop-nav channel-icon-button channel-panel-toggle",
|
|
50628
|
-
"aria-label": E.value ? "
|
|
50628
|
+
"aria-label": E.value ? "展开房间栏" : "收起房间栏",
|
|
50629
50629
|
"aria-expanded": !E.value,
|
|
50630
50630
|
"aria-controls": "channel-sidebar",
|
|
50631
50631
|
onClick: r[2] ||= (e) => E.value = !E.value
|
|
@@ -50638,7 +50638,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50638
50638
|
variant: "ghost",
|
|
50639
50639
|
size: "sm",
|
|
50640
50640
|
class: "channel-mobile-nav channel-icon-button channel-panel-toggle",
|
|
50641
|
-
"aria-label": "
|
|
50641
|
+
"aria-label": "打开房间导航",
|
|
50642
50642
|
"aria-expanded": d.value,
|
|
50643
50643
|
onClick: r[3] ||= (e) => d.value = !0
|
|
50644
50644
|
}, null, 8, ["aria-expanded"]),
|
|
@@ -50788,7 +50788,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50788
50788
|
color: "neutral",
|
|
50789
50789
|
size: "sm",
|
|
50790
50790
|
class: "channel-tabs",
|
|
50791
|
-
"aria-label": "
|
|
50791
|
+
"aria-label": "房间视图"
|
|
50792
50792
|
}, null, 8, ["modelValue", "items"])])) : Y("", !0),
|
|
50793
50793
|
o.value && !pe.value ? (U(), W("section", {
|
|
50794
50794
|
key: 2,
|
|
@@ -50896,8 +50896,8 @@ var PK = /*#__PURE__*/ EH({
|
|
|
50896
50896
|
})) : Y("", !0)
|
|
50897
50897
|
])], 2)) : (U(), W("div", eZ, [
|
|
50898
50898
|
q(y, { name: "i-lucide-hash" }),
|
|
50899
|
-
r[38] ||= K("h2", null, "
|
|
50900
|
-
r[39] ||= K("p", null, "
|
|
50899
|
+
r[38] ||= K("h2", null, "新建一个讨论房间", -1),
|
|
50900
|
+
r[39] ||= K("p", null, "每个房间围绕一个议题,保留所有人的观点。", -1),
|
|
50901
50901
|
q(T, {
|
|
50902
50902
|
icon: "i-lucide-plus",
|
|
50903
50903
|
label: "新建讨论",
|
|
@@ -51089,12 +51089,12 @@ var PK = /*#__PURE__*/ EH({
|
|
|
51089
51089
|
])) : o.value ? (U(), G(pX, {
|
|
51090
51090
|
key: 1,
|
|
51091
51091
|
docked: ""
|
|
51092
|
-
})) : (U(), W("div", TZ, [...r[46] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "
|
|
51092
|
+
})) : (U(), W("div", TZ, [...r[46] ||= [K("header", { class: "pb-header" }, [K("strong", null, "讨论进度")], -1), K("p", { class: "channel-rail-empty" }, "暂无房间,新建讨论后在这里查看进度与参与者。", -1)]]))])])) : Y("", !0),
|
|
51093
51093
|
q(ze, {
|
|
51094
51094
|
open: d.value,
|
|
51095
51095
|
"onUpdate:open": r[23] ||= (e) => d.value = e,
|
|
51096
51096
|
side: "left",
|
|
51097
|
-
title: "
|
|
51097
|
+
title: "讨论房间",
|
|
51098
51098
|
description: "共议 · AI CoDiscuss",
|
|
51099
51099
|
ui: {
|
|
51100
51100
|
content: "channel-navigation-drawer",
|
|
@@ -51124,7 +51124,7 @@ var PK = /*#__PURE__*/ EH({
|
|
|
51124
51124
|
q(ze, {
|
|
51125
51125
|
open: p.value,
|
|
51126
51126
|
"onUpdate:open": r[25] ||= (e) => p.value = e,
|
|
51127
|
-
title: "
|
|
51127
|
+
title: "房间资料",
|
|
51128
51128
|
description: "目标、背景与参与方式",
|
|
51129
51129
|
ui: {
|
|
51130
51130
|
content: "channel-details",
|