@bolloon/bolloon-agent 0.6.2 → 0.6.3
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/dist/agents/gateway-group.js +172 -4
- package/dist/agents/group-autopilot.js +29 -1
- package/dist/agents/pi-sdk-tools.js +22 -2
- package/dist/agents/pi-sdk.js +8 -1
- package/dist/cli/mention-data.js +1 -1
- package/dist/cli/model-selector.js +84 -104
- package/dist/cli/setup-wizard.js +2 -10
- package/dist/cli/tui-select.js +99 -10
- package/dist/cli-entry.js +1 -9
- package/dist/electron-build/agents/gateway-group.js +177 -3
- package/dist/electron-build/agents/gateway-group.js.map +1 -1
- package/dist/electron-build/agents/group-autopilot.js +30 -2
- package/dist/electron-build/agents/group-autopilot.js.map +1 -1
- package/dist/electron-build/agents/pi-sdk-tools.js +21 -1
- package/dist/electron-build/agents/pi-sdk-tools.js.map +1 -1
- package/dist/electron-build/agents/pi-sdk.js +8 -1
- package/dist/electron-build/agents/pi-sdk.js.map +1 -1
- package/dist/electron-build/llm/config-store.js +2 -2
- package/dist/electron-build/llm/config-store.js.map +1 -1
- package/dist/electron-build/llm/model-selection.js +16 -2
- package/dist/electron-build/llm/model-selection.js.map +1 -1
- package/dist/electron-build/llm/pi-ai.js +2 -2
- package/dist/electron-build/llm/pi-ai.js.map +1 -1
- package/dist/index.js +121 -3
- package/dist/ios/bolloon-web.json +3 -3
- package/dist/ios/sw.js +1 -1
- package/dist/llm/config-store.js +2 -2
- package/dist/llm/model-selection.js +16 -2
- package/dist/llm/pi-ai.js +2 -2
- package/dist/web/bolloon-web.json +3 -3
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
package/dist/cli/setup-wizard.js
CHANGED
|
@@ -21,7 +21,7 @@ import * as path from 'path';
|
|
|
21
21
|
import * as os from 'os';
|
|
22
22
|
import { llmConfigStore } from '../llm/config-store.js';
|
|
23
23
|
import { selectModel, resetModelSelection, probeSelection, effectiveModelConfig, formatEffectiveModel, normalizeBaseUrl, validateBaseUrlShape, currentSessionKey, } from '../llm/model-selection.js';
|
|
24
|
-
import { buildProviderSummaries, formatProviderMenuRow, providerGroupSummary,
|
|
24
|
+
import { buildProviderSummaries, formatProviderMenuRow, providerGroupSummary, orderProvidersForMenu, } from '../llm/model-catalog.js';
|
|
25
25
|
import { runModelSelector } from './model-selector.js';
|
|
26
26
|
// 着色判据只有一处 (`theme.ts`) —— 主屏与全屏选择器共用
|
|
27
27
|
import { colorEnabled } from './theme.js';
|
|
@@ -551,19 +551,11 @@ export function parseModelCommand(arg) {
|
|
|
551
551
|
async function providerLines(sessionKey) {
|
|
552
552
|
const summaries = await buildProviderSummaries({ sessionKey });
|
|
553
553
|
// 2026-09-27 (目录驱动, 二改): 这里**列全量** (内置 13 + 自定义 + 目录全部), 并按第 1 步同一套
|
|
554
|
-
//
|
|
554
|
+
// 分组优先级排序, **不再带分组分隔条** (全平铺)。纯文本这条路没有视窗/折叠 (那是全屏选择器的事), 所以逐行列全 ——
|
|
555
555
|
// 门禁钉着"不许只给计数": 任何一家都要能在这份输出里被看见。
|
|
556
556
|
const lines = [];
|
|
557
557
|
const ordered = orderProvidersForMenu(summaries);
|
|
558
|
-
let lastGroup = '';
|
|
559
558
|
for (const s of ordered) {
|
|
560
|
-
const tier = providerTierOf(s);
|
|
561
|
-
const g = PROVIDER_GROUPS[tier];
|
|
562
|
-
if (g !== lastGroup) {
|
|
563
|
-
lastGroup = g;
|
|
564
|
-
lines.push(` ── ${g} (${ordered.filter((x) => providerTierOf(x) === tier).length} 家)`
|
|
565
|
-
+ `${providerTierCollapsedByDefault(tier) ? ' · 全屏选择器里默认收起 (空格/→ 展开)' : ''}`);
|
|
566
|
-
}
|
|
567
559
|
lines.push(` ${formatProviderMenuRow(s)}`);
|
|
568
560
|
}
|
|
569
561
|
lines.push(` ${providerGroupSummary(summaries)}`);
|
package/dist/cli/tui-select.js
CHANGED
|
@@ -87,10 +87,19 @@ const CURSOR_SGR = `${REVERSE}${BOLD}${fg(THEME.cursor)}${bg(THEME.accent)}`;
|
|
|
87
87
|
* 大清单靠"固定高度视窗 + 分组折叠"消化, 所以折叠/展开键必须与 ↑↓ 同权写在头行。
|
|
88
88
|
*/
|
|
89
89
|
export const TUI_HINT = '↑↓ 移动 · ←→/空格 折叠分组 · Enter 确认 · / 搜索 · 数字跳行 · Esc 取消';
|
|
90
|
+
/**
|
|
91
|
+
* 纯平铺单选列表 (无分组) 的提示 —— 不带折叠键, 与参考的 provider 单选列表一致
|
|
92
|
+
* (leo 2026-10-05: `bolloon model` 显示一直折叠不方便 → 供应商列表改纯平铺)。
|
|
93
|
+
* 折叠键只在候选真的带分组 (有 `group` 字段) 时才出现在头行。
|
|
94
|
+
*/
|
|
95
|
+
export const TUI_HINT_FLAT = '↑↓ 移动 · Enter 确认 · / 搜索 · 数字跳行 · Esc 取消';
|
|
90
96
|
/** 掩码字符 (屏幕上绝不出现明文) */
|
|
91
97
|
export const MASK_CHAR = '•';
|
|
92
|
-
/**
|
|
93
|
-
|
|
98
|
+
/**
|
|
99
|
+
* 中间候选区的**固定高度上限** (每步可见行数上限; 实际视窗 = min(VIEWPORT_MAX, 终端高-头尾),
|
|
100
|
+
* leo 2026-10-05: 「选择高度窗口要扩大」→ 从 12 提到 40, 高终端下一屏能看到更多家, 超出靠滚窗)。
|
|
101
|
+
*/
|
|
102
|
+
export const VIEWPORT_MAX = 40;
|
|
94
103
|
/** 分组收起的标记 (收起 = 只画标题 + 家数; 展开 = 标题 + 成员) */
|
|
95
104
|
export const GROUP_COLLAPSED_MARK = '›';
|
|
96
105
|
/** 分组展开的标记 */
|
|
@@ -220,6 +229,20 @@ function seqEvent(seq) {
|
|
|
220
229
|
default: return null;
|
|
221
230
|
}
|
|
222
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* SGR 鼠标上报的滚轮码 (触控板两指滚动 / 鼠标滚轮)。
|
|
234
|
+
* 序列形如 `\x1b[<状态码;列;行M` (按下) 或 `…m` (释放, 滚轮无释放)。状态码 = 基准 + 修饰位:
|
|
235
|
+
* · 64 = 滚轮上 / 65 = 滚轮下 (卷滚类没有"行坐标", 但上报仍带; 我们只用方向)
|
|
236
|
+
* · 滚轮方向键 (向上滚 = 看更早内容 ⇒ 等价 ↑; 向下滚 = 看更后内容 ⇒ 等价 ↓)
|
|
237
|
+
* 注意: 只有卷滚状态码 (64-67) 会持续滚动期间反复出现; 按下类 (0-2) 是点击, 由调用方忽略。
|
|
238
|
+
*/
|
|
239
|
+
export function wheelFromSgr(code) {
|
|
240
|
+
if (code === 64)
|
|
241
|
+
return { dy: 1 }; // 滚轮上 → 列表往上滚 (等价 ↑)
|
|
242
|
+
if (code === 65)
|
|
243
|
+
return { dy: -1 }; // 滚轮下 → 列表往下滚 (等价 ↓)
|
|
244
|
+
return null; // 其它码 (左/中/右键、平移) 不当作滚动
|
|
245
|
+
}
|
|
223
246
|
/**
|
|
224
247
|
* 把一块输入拆成按键事件。**返回的 `rest` 是"还没凑齐的尾巴"** —— 调用方留着与下一块拼。
|
|
225
248
|
*
|
|
@@ -243,6 +266,24 @@ export function parseKeys(chunk, rest = '') {
|
|
|
243
266
|
continue;
|
|
244
267
|
}
|
|
245
268
|
if (buf.startsWith('\x1b')) {
|
|
269
|
+
// SGR 鼠标上报 (触控板/鼠标滚轮): `\x1b[<状态码;列;行M`(按下) 或 `…m`(释放)。
|
|
270
|
+
// 状态码前有个 `<`, 通用 `ESC[ 参数 终字符` 正则会把它吞掉, 所以要在这里单独吃。
|
|
271
|
+
// 只把滚轮 (64/65) 转成 `wheel` 事件; 点击/平移 (0-2 等) 就此忽略 —— 用户只要滚动翻列表。
|
|
272
|
+
if (buf.startsWith('\x1b[<')) {
|
|
273
|
+
const sm = /^\x1b\[<(\d+);(\d+);(\d+)([Mm])/.exec(buf);
|
|
274
|
+
if (sm) {
|
|
275
|
+
const w = wheelFromSgr(Number(sm[1]));
|
|
276
|
+
if (w)
|
|
277
|
+
events.push({ type: 'wheel', dy: w.dy });
|
|
278
|
+
buf = buf.slice(sm[0].length);
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
// `\x1b[<` 或 `\x1b[<64` 这种不完整尾巴: 等下一块拼全 (别把数字当输入)
|
|
282
|
+
if (/^\x1b\[<[0-9;]*$/.test(buf))
|
|
283
|
+
break;
|
|
284
|
+
buf = buf.slice(1);
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
246
287
|
// 尽量吃掉一个完整转义序列: ESC [ 参数 终字符 / ESC O 字符
|
|
247
288
|
const m = /^\x1b\[([0-9;]*)([a-zA-Z~])/.exec(buf) || /^\x1b(O.)/.exec(buf);
|
|
248
289
|
if (m) {
|
|
@@ -290,6 +331,10 @@ export function parseKeys(chunk, rest = '') {
|
|
|
290
331
|
function tailIsEscapePrefix(rest) {
|
|
291
332
|
if (!rest.startsWith('\x1b'))
|
|
292
333
|
return false;
|
|
334
|
+
// SGR 鼠标尾巴 (`\x1b[<`, `\x1b[<64`, …): 是不完整的上报序列, **不是**孤独 Esc —— 等完整 `…M/m` 来
|
|
335
|
+
// 再解析成滚轮/忽略。若 30ms 后仍不完整, 丢弃即可 (鼠标上报被终端自己保证成块到达)。
|
|
336
|
+
if (rest.startsWith('\x1b[<'))
|
|
337
|
+
return true;
|
|
293
338
|
return SEQ_PREFIXES.some((p) => p.startsWith(rest) || rest.startsWith(p));
|
|
294
339
|
}
|
|
295
340
|
// ============================================================
|
|
@@ -369,6 +414,9 @@ class RawSession {
|
|
|
369
414
|
this.resizeFn = onResize;
|
|
370
415
|
process.on('SIGWINCH', this.resizeFn);
|
|
371
416
|
}
|
|
417
|
+
// 开 SGR 鼠标上报 (触控板/滚轮) —— 让终端把两指滚动当成 `\x1b[<64|65;…` 发进来,
|
|
418
|
+
// `?1006h` = SGR 坐标格式, `?1000h` = 按下/释放事件。关闭时还原 (`close`)。
|
|
419
|
+
this.write(`${E}[?1006h${E}[?1000h`);
|
|
372
420
|
this.write(HIDE_CURSOR);
|
|
373
421
|
}
|
|
374
422
|
write(s) { this.stdout.write(s); }
|
|
@@ -384,6 +432,11 @@ class RawSession {
|
|
|
384
432
|
this.stdin.removeListener('data', this.dataFn);
|
|
385
433
|
if (this.resizeFn)
|
|
386
434
|
process.removeListener('SIGWINCH', this.resizeFn);
|
|
435
|
+
// 还原鼠标上报 + 显示光标 (退出后触控板/鼠标回到终端自己的行为: 能划选文本、能正常右键)
|
|
436
|
+
try {
|
|
437
|
+
this.write(`${E}[?1000l${E}[?1006l`);
|
|
438
|
+
}
|
|
439
|
+
catch { /* 已关闭 */ }
|
|
387
440
|
this.write(SHOW_CURSOR);
|
|
388
441
|
try {
|
|
389
442
|
this.stdin.setRawMode(false);
|
|
@@ -559,12 +612,16 @@ export function tuiSelect(choices, title, opts = {}) {
|
|
|
559
612
|
const below = top + H - (above ? 1 : 0) < total;
|
|
560
613
|
const body = Math.max(1, H - (above ? 1 : 0) - (below ? 1 : 0));
|
|
561
614
|
const start = top + (above ? 1 : 0);
|
|
562
|
-
// `已筛` = **命中筛选的家数**
|
|
563
|
-
//
|
|
615
|
+
// `已筛` = **命中筛选的家数** ——
|
|
616
|
+
// 折叠是通用能力: 只在候选真的带分组时才出现在提示与状态里 (模型选择器现为纯平铺单选列表,
|
|
617
|
+
// 不带分组 → 提示里不出现折叠键, 与参考图一致)。折叠机制仍保留给需要分组的调用方用。
|
|
564
618
|
const filteredItems = real.filter((c) => matchesQuery(c, query)).length;
|
|
565
619
|
const collapsedGroups = [...collapsed].filter((g) => real.some((c) => c.group === g));
|
|
566
|
-
|
|
567
|
-
|
|
620
|
+
const hasGroups = real.some((c) => c.group);
|
|
621
|
+
// 头行: 标题 + 计数 (共 N 家 · 已筛 M 家) + 键位提示 —— **不滚** (每帧都画)。
|
|
622
|
+
// 提示按候选是否带分组裁剪: 无分组 (纯平铺) 时只给移动/确认/搜索/数字/Esc, 不带折叠键。
|
|
623
|
+
const hint = hasGroups ? TUI_HINT : TUI_HINT_FLAT;
|
|
624
|
+
const head = `${String(title).replace(/[::]\s*$/, '')} · 共 ${real.length} ${unit} · 已筛 ${filteredItems} ${unit} ${hint}`;
|
|
568
625
|
// 状态行: `第 i/N` 与 `筛选 "x"` 必须相邻 (既有验收门按这个形状钉"数字真的跟着动")
|
|
569
626
|
const shownIdx = cursor + 1;
|
|
570
627
|
const status = [
|
|
@@ -576,11 +633,18 @@ export function tuiSelect(choices, title, opts = {}) {
|
|
|
576
633
|
query ? '' : 'q=取消',
|
|
577
634
|
].filter(Boolean).join(' · ');
|
|
578
635
|
const buf = [];
|
|
636
|
+
// ★ 重绘回退 = **实际画出的行数** (drawn), 不是视窗容量 body。
|
|
637
|
+
// leo 2026-10-05 报「切换吞掉之前的内容 + 高度回退」的根因: 筛选后候选只剩 2 项,
|
|
638
|
+
// 帧实际只画 4 行, 但 rendered 用 body(=27) 记成了 28 → finish 发 `ESC[28A` 上移 28 行,
|
|
639
|
+
// 把上面主屏的 `步骤 1/4`/`已选供应商` 全吞掉。VIEWPORT_MAX 12→40 后 body 变大, 吞得更狠。
|
|
579
640
|
buf.push(`${first ? '' : `${E}[${rendered}A`}${ERASE_DOWN}`);
|
|
580
641
|
// 头行: 先按纯文本截到宽度, 再上色 (顺序反了的话颜色码会被截断丢掉)
|
|
581
642
|
buf.push(`${toneWrap(truncateToWidth(head, cols), 'accent', color)}${ERASE_EOL}\r\n`);
|
|
582
|
-
|
|
643
|
+
let drawn = 1; // 头行
|
|
644
|
+
if (above) {
|
|
583
645
|
buf.push(`${toneWrap(truncateToWidth(` ↑ 上面还有 ${top} ${unit}`, cols), 'muted', color)}${ERASE_EOL}\r\n`);
|
|
646
|
+
drawn++;
|
|
647
|
+
}
|
|
584
648
|
for (let i = 0; i < body; i++) {
|
|
585
649
|
const line = lines[start + i];
|
|
586
650
|
// 先算**纯文本**行内容并按宽度截断/补齐, 再决定怎么上色 —— 保证"颜色不被截断抹掉 + 不撑破"
|
|
@@ -613,15 +677,22 @@ export function tuiSelect(choices, title, opts = {}) {
|
|
|
613
677
|
// ★ 光标行: `→ ` 前缀 + **accent 底 / 近黑字** (见 CURSOR_SGR; 反白序列同时是结构判据)
|
|
614
678
|
const padded = padToWidth(truncateToWidth(plain, cols), cols);
|
|
615
679
|
buf.push(`${color ? `${CURSOR_SGR}${padded}${RESET}` : truncateToWidth(plain, cols)}${ERASE_EOL}\r\n`);
|
|
680
|
+
drawn++;
|
|
616
681
|
continue;
|
|
617
682
|
}
|
|
618
683
|
buf.push(`${toneWrap(truncateToWidth(plain, cols), tone, color)}${ERASE_EOL}\r\n`);
|
|
684
|
+
drawn++;
|
|
619
685
|
}
|
|
620
|
-
if (below)
|
|
686
|
+
if (below) {
|
|
621
687
|
buf.push(`${toneWrap(truncateToWidth(` ↓ 下面还有 ${total - (start + body)} ${unit}`, cols), 'muted', color)}${ERASE_EOL}\r\n`);
|
|
688
|
+
drawn++;
|
|
689
|
+
}
|
|
622
690
|
buf.push(`${toneWrap(truncateToWidth(status, cols), 'muted', color)}${ERASE_EOL}`);
|
|
623
|
-
//
|
|
624
|
-
|
|
691
|
+
drawn++; // 状态行
|
|
692
|
+
// 帧共 drawn 行 (头 + 上下指示 + 实际候选行数 + 状态) ≤ 终端高度 (硬预算)。
|
|
693
|
+
// finish 的 `ESC[nA` 用 drawn-1: 光标从状态行回到帧首行, ESC[J 清掉整帧;
|
|
694
|
+
// 用容量 body 会导致上移过头, 把上面的主屏行也吞掉 (本 bug 的根因)。
|
|
695
|
+
rendered = Math.max(1, drawn - 1);
|
|
625
696
|
out.write(buf.join(''));
|
|
626
697
|
first = false;
|
|
627
698
|
};
|
|
@@ -658,6 +729,24 @@ export function tuiSelect(choices, title, opts = {}) {
|
|
|
658
729
|
note = '';
|
|
659
730
|
break;
|
|
660
731
|
}
|
|
732
|
+
// 触控板两指滚动 / 鼠标滚轮 (SGR 上报): 滚上=↑, 滚下=↓ —— 和方向键同一套移动逻辑
|
|
733
|
+
case 'wheel': {
|
|
734
|
+
if (k.dy === 1) {
|
|
735
|
+
if (cursor > 0)
|
|
736
|
+
cursor--;
|
|
737
|
+
else
|
|
738
|
+
cursor = maxIdx;
|
|
739
|
+
}
|
|
740
|
+
else {
|
|
741
|
+
if (cursor < maxIdx)
|
|
742
|
+
cursor++;
|
|
743
|
+
else
|
|
744
|
+
cursor = 0;
|
|
745
|
+
}
|
|
746
|
+
numBuf = '';
|
|
747
|
+
note = '';
|
|
748
|
+
break;
|
|
749
|
+
}
|
|
661
750
|
case 'pageup': {
|
|
662
751
|
cursor = Math.max(0, cursor - Math.max(1, Math.floor(viewportHeight(termSize(out, opts).rows) / 2)));
|
|
663
752
|
numBuf = '';
|
package/dist/cli-entry.js
CHANGED
|
@@ -636,18 +636,10 @@ async function handleModelCommand(modelArgs) {
|
|
|
636
636
|
console.log(` ${formatEffectiveModel(eff)}`);
|
|
637
637
|
console.log('─'.repeat(58));
|
|
638
638
|
// 非终端里没有"固定高度视窗 + 折叠"那套交互 (那是全屏 TUI 的事), 所以这里**整份列全**:
|
|
639
|
-
// 内置 13 + 自定义 + 目录全部 逐行出,
|
|
639
|
+
// 内置 13 + 自定义 + 目录全部 逐行出, 不再带分组分隔条。只给"分组计数"是这条线要修的病 ——
|
|
640
640
|
// 脚本要能 grep 到任何一家 (含"需专用鉴权 (未支持)""无基址"的那些)。
|
|
641
641
|
const ordered = mc.orderProvidersForMenu(summaries);
|
|
642
|
-
let lastGroup = '';
|
|
643
642
|
for (const s of ordered) {
|
|
644
|
-
const tier = mc.providerTierOf(s);
|
|
645
|
-
const g = mc.PROVIDER_GROUPS[tier];
|
|
646
|
-
if (g !== lastGroup) {
|
|
647
|
-
lastGroup = g;
|
|
648
|
-
const n = ordered.filter((x) => mc.providerTierOf(x) === tier).length;
|
|
649
|
-
console.log(` ── ${g} (${n} 家)${mc.providerTierCollapsedByDefault(tier) ? ' · 交互界面里默认收起, 空格/→ 展开' : ''}`);
|
|
650
|
-
}
|
|
651
643
|
console.log(` ${mc.formatProviderMenuRow(s)}`);
|
|
652
644
|
}
|
|
653
645
|
console.log(` ${mc.providerGroupSummary(summaries)}`);
|
|
@@ -62,6 +62,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
62
62
|
exports.GroupStoreUnreachableError = void 0;
|
|
63
63
|
exports.setGroupTestDb = setGroupTestDb;
|
|
64
64
|
exports.resetGroupState = resetGroupState;
|
|
65
|
+
exports.closeGroupResources = closeGroupResources;
|
|
65
66
|
exports.parseGroupLink = parseGroupLink;
|
|
66
67
|
exports.detectGroupLink = detectGroupLink;
|
|
67
68
|
exports.onGroupMessage = onGroupMessage;
|
|
@@ -80,6 +81,11 @@ exports.readGroupMessage = readGroupMessage;
|
|
|
80
81
|
exports.groupLink = groupLink;
|
|
81
82
|
exports.groupInfo = groupInfo;
|
|
82
83
|
exports.restoreGroups = restoreGroups;
|
|
84
|
+
exports.rebuildGroupWithWriteList = rebuildGroupWithWriteList;
|
|
85
|
+
exports.inviteMember = inviteMember;
|
|
86
|
+
exports.kickMember = kickMember;
|
|
87
|
+
exports.setGroupPrivacy = setGroupPrivacy;
|
|
88
|
+
exports.groupStatus = groupStatus;
|
|
83
89
|
const os = __importStar(require("os"));
|
|
84
90
|
const path = __importStar(require("path"));
|
|
85
91
|
const cid_database_js_1 = require("../orbitdb/cid-database.js");
|
|
@@ -101,6 +107,20 @@ function resetGroupState() {
|
|
|
101
107
|
onChangeCallbacks.clear();
|
|
102
108
|
openFailures.clear();
|
|
103
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* 关闭群聊使用的 OrbitDB/Helia 资源。
|
|
112
|
+
* 一次性 CLI、验收探针和测试必须在读回后调用它,否则底层 libp2p/Helia 句柄
|
|
113
|
+
* 会继续保持事件循环活跃,表现为“消息已读完但进程不退出”。
|
|
114
|
+
* 测试注入的 fake DB 不关闭,避免破坏测试夹具生命周期。
|
|
115
|
+
*/
|
|
116
|
+
async function closeGroupResources() {
|
|
117
|
+
storeCache.clear();
|
|
118
|
+
onChangeCallbacks.clear();
|
|
119
|
+
openFailures.clear();
|
|
120
|
+
if (_dbOverride)
|
|
121
|
+
return;
|
|
122
|
+
await (0, cid_database_js_1.getCIDDatabase)().close();
|
|
123
|
+
}
|
|
104
124
|
/**
|
|
105
125
|
* 群 store 打不开 (区块不在本机 / 地址不可解析)。
|
|
106
126
|
*
|
|
@@ -268,7 +288,7 @@ async function createGroup(name, opts) {
|
|
|
268
288
|
...(gate.members ?? []).map((m) => m.orbitdbId),
|
|
269
289
|
];
|
|
270
290
|
writeList = (0, group_access_js_1.normalizeWriteList)(ids);
|
|
271
|
-
gateInfo = { gated: true, ownerDid: gate.owner.did, aclWrite: writeList };
|
|
291
|
+
gateInfo = { gated: true, ownerDid: gate.owner.did, ownerPublicKeyHex: gate.owner.publicKeyHex, aclWrite: writeList };
|
|
272
292
|
membershipEntries = applied.accepted.map(group_access_js_1.membershipEntryOf);
|
|
273
293
|
}
|
|
274
294
|
else if (opts?.acl === 'open') {
|
|
@@ -290,6 +310,8 @@ async function createGroup(name, opts) {
|
|
|
290
310
|
id, name: groupName, address, link,
|
|
291
311
|
createdAt: new Date().toISOString(),
|
|
292
312
|
lastSyncAt: new Date().toISOString(),
|
|
313
|
+
// 2026-10-05: 隐私群标记 —— 建群默认隐私 (白名单/独占写); acl=open 才是公开
|
|
314
|
+
privacy: opts?.acl !== 'open',
|
|
293
315
|
...gateInfo,
|
|
294
316
|
};
|
|
295
317
|
storeCache.set(id, store);
|
|
@@ -351,8 +373,7 @@ async function listGroups() {
|
|
|
351
373
|
* 不会因为本机退出而改 (本模块没有"踢人/解散"的权限, 也不假装有)。
|
|
352
374
|
* 返回 `removed` = 被摘掉的 groupId (按 id 或群名匹配)。
|
|
353
375
|
*
|
|
354
|
-
* 注意:
|
|
355
|
-
* 对 `bolloon task group leave` 这种一次性进程无影响, 长驻进程里它活到进程结束。
|
|
376
|
+
* 注意: leave 只摘本地群列表;需要结束进程资源时调用 `closeGroupResources()`。
|
|
356
377
|
*/
|
|
357
378
|
async function leaveGroup(idOrName) {
|
|
358
379
|
const raw = String(idOrName || '').trim();
|
|
@@ -637,4 +658,157 @@ async function restoreGroups() {
|
|
|
637
658
|
}
|
|
638
659
|
return { restored, failed, total: groups.length };
|
|
639
660
|
}
|
|
661
|
+
// ─────────────────────────────────────────────────────────── 群运营能力 (2026-10-05, leo: 邀请/踢出/隐私/链接/状态)
|
|
662
|
+
/**
|
|
663
|
+
* 重建群 store (新白名单) —— 这是"改成员"唯一诚实的路径。
|
|
664
|
+
*
|
|
665
|
+
* IPFS 型 AC 的白名单烧在内容寻址的 ACL manifest 里, 改它必然换 store 地址
|
|
666
|
+
* (见 `ACL_INPLACE_UPDATE.ipfsType` / `aclChangePlan`)。所以:
|
|
667
|
+
* · 邀请 = 新白名单 + 被邀请者 → 重建;
|
|
668
|
+
* · 踢出 = 新白名单 − 被踢者 → 重建。
|
|
669
|
+
* 重建 = 新地址、新链接、**历史消息不回放** (要保留必须显式回放)。
|
|
670
|
+
*
|
|
671
|
+
* 本函数做"换地址重建 + 历史回放 (逐条 add) + 本机链接更新", 返回新 GroupInfo。
|
|
672
|
+
* 迁移代价 (老链接作废/其他成员需重新 join) 由调用方 (CLI) 明示, 这里不假装无痛。
|
|
673
|
+
*/
|
|
674
|
+
async function rebuildGroupWithWriteList(groupId, mode, opts) {
|
|
675
|
+
const groups = await loadGroups();
|
|
676
|
+
const g = groups.find((x) => x.id === groupId);
|
|
677
|
+
if (!g)
|
|
678
|
+
return { ok: false, error: '群组不存在 (先 joinGroup/createGroup)' };
|
|
679
|
+
if (!g.gated) {
|
|
680
|
+
return {
|
|
681
|
+
ok: false,
|
|
682
|
+
error: `「${g.name}」不是门控群 (write:[*]), 没有白名单可改 —— 邀请=分享链接, 踢出=不适用 (人人可写)`,
|
|
683
|
+
};
|
|
684
|
+
}
|
|
685
|
+
const owner = {
|
|
686
|
+
did: g.ownerDid || '',
|
|
687
|
+
publicKeyHex: g.ownerPublicKeyHex || '',
|
|
688
|
+
orbitdbId: g.aclWrite?.[0] || '',
|
|
689
|
+
};
|
|
690
|
+
if (!owner.did || !owner.publicKeyHex || !owner.orbitdbId) {
|
|
691
|
+
return { ok: false, error: '缺少群主身份信息 (ownerDid/ownerPublicKeyHex/aclWrite 为空), 无法派生新白名单' };
|
|
692
|
+
}
|
|
693
|
+
// 当前白名单 = manifest 快照 (aclWrite, 上次重建/建群时烧进去的) 优先;
|
|
694
|
+
// 事件派生只在没有快照的老门控群兜底 (两套语义: 事件=成员自签加入, rebuild=群主单方改名单)
|
|
695
|
+
const derived = await groupWriteList(groupId, owner).catch(() => null);
|
|
696
|
+
const before = g.aclWrite && g.aclWrite.length > 0 ? g.aclWrite : (derived?.write ?? []);
|
|
697
|
+
const after = (0, group_access_js_1.normalizeWriteList)(mode.kind === 'add'
|
|
698
|
+
? [...before, mode.ref.orbitdbId]
|
|
699
|
+
: before.filter((id) => id !== mode.orbitdbId));
|
|
700
|
+
const changed = before.join(',') !== after.join(',');
|
|
701
|
+
if (!changed) {
|
|
702
|
+
return { ok: false, error: mode.kind === 'add' ? '该成员已在白名单里' : '该成员不在白名单里' };
|
|
703
|
+
}
|
|
704
|
+
if (mode.kind === 'remove' && !before.includes(mode.orbitdbId)) {
|
|
705
|
+
return { ok: false, error: `白名单里没有 ${mode.orbitdbId.slice(0, 16)}…, 无需踢出` };
|
|
706
|
+
}
|
|
707
|
+
const plan = (0, group_access_js_1.aclChangePlan)({ before, after, messageCount: opts?.replayHistory ? undefined : 0 });
|
|
708
|
+
const db = getDb();
|
|
709
|
+
// 1) 读历史消息 (回放前) —— 只在显式要求时
|
|
710
|
+
const history = opts?.replayHistory ? await groupMessages(groupId, 100000) : [];
|
|
711
|
+
// 2) 建新 store (新白名单)
|
|
712
|
+
let store = null;
|
|
713
|
+
try {
|
|
714
|
+
store = await db.openStore(`bolloon-gw-group-${g.name}-r${Date.now().toString(36)}`, 'events', (0, group_access_js_1.groupAccessOptions)(after));
|
|
715
|
+
}
|
|
716
|
+
catch (e) {
|
|
717
|
+
return { ok: false, error: `重建 store 失败: ${String(e?.message || e).slice(0, 160)}` };
|
|
718
|
+
}
|
|
719
|
+
if (!store)
|
|
720
|
+
return { ok: false, error: '重建 store 返回空 (openStore 失败, 未改任何东西)' };
|
|
721
|
+
// 3) 迁移成员事件 (原样重放, 双侧签名保留) —— 否则新 store 派生白名单只剩群主, 成员全丢
|
|
722
|
+
try {
|
|
723
|
+
const rawAll = await allRawEntries(groupId);
|
|
724
|
+
for (const { value } of rawAll) {
|
|
725
|
+
const v = value;
|
|
726
|
+
if (v && typeof v === 'object' && v.kind === group_access_js_1.GROUP_MEMBERSHIP_KIND) {
|
|
727
|
+
try {
|
|
728
|
+
await store.add(v);
|
|
729
|
+
}
|
|
730
|
+
catch (e) { /* 单条失败不阻断 */ }
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
catch (e) {
|
|
735
|
+
return { ok: false, error: `迁移成员事件失败: ${String(e?.message || e).slice(0, 120)}` };
|
|
736
|
+
}
|
|
737
|
+
// 4) 回放历史消息 (逐条 add, 保持 ts)
|
|
738
|
+
if (opts?.replayHistory) {
|
|
739
|
+
for (const m of history) {
|
|
740
|
+
try {
|
|
741
|
+
await store.add({ ...m });
|
|
742
|
+
}
|
|
743
|
+
catch (e) {
|
|
744
|
+
// 逐条静默跳过, 能回放多少算多少; 回放是尽力而为, 不阻断重建
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
// 5) 更新本机记录: 换地址/换链接; 老 store 不删 (占用不回收, 见 plan.costs)
|
|
749
|
+
const address = store.address;
|
|
750
|
+
const link = `orbitdb://${address}?type=group&name=${encodeURIComponent(g.name)}`;
|
|
751
|
+
const info = {
|
|
752
|
+
...g,
|
|
753
|
+
address,
|
|
754
|
+
link,
|
|
755
|
+
lastSyncAt: new Date().toISOString(),
|
|
756
|
+
gated: true,
|
|
757
|
+
ownerDid: g.ownerDid,
|
|
758
|
+
aclWrite: after,
|
|
759
|
+
privacy: g.privacy ?? true,
|
|
760
|
+
};
|
|
761
|
+
await saveGroups(groups.map((x) => (x.id === groupId ? info : x)));
|
|
762
|
+
storeCache.set(groupId, store);
|
|
763
|
+
return { ok: true, group: info, before, after, costs: plan.costs };
|
|
764
|
+
}
|
|
765
|
+
/** 邀请: 把 orbitdbId 加进白名单 (重建路径) */
|
|
766
|
+
async function inviteMember(groupId, ref) {
|
|
767
|
+
const r = await rebuildGroupWithWriteList(groupId, { kind: 'add', ref });
|
|
768
|
+
return { ok: r.ok, error: r.error, group: r.group, costs: r.costs };
|
|
769
|
+
}
|
|
770
|
+
/** 踢出: 把 orbitdbId 移出白名单 (重建路径; 协议上无法记"被踢者自签的 remove 事件", 不假装) */
|
|
771
|
+
async function kickMember(groupId, orbitdbId) {
|
|
772
|
+
const r = await rebuildGroupWithWriteList(groupId, { kind: 'remove', orbitdbId });
|
|
773
|
+
return { ok: r.ok, error: r.error, group: r.group, costs: r.costs };
|
|
774
|
+
}
|
|
775
|
+
/** 设置隐私群标记 (只影响本机展示/默认 ACL 说明, 不改变 OrbitDB 权限语义) */
|
|
776
|
+
async function setGroupPrivacy(groupId, privacy) {
|
|
777
|
+
const groups = await loadGroups();
|
|
778
|
+
const g = groups.find((x) => x.id === groupId);
|
|
779
|
+
if (!g)
|
|
780
|
+
return { ok: false, error: '群组不存在' };
|
|
781
|
+
const info = { ...g, privacy, lastSyncAt: new Date().toISOString() };
|
|
782
|
+
await saveGroups(groups.map((x) => (x.id === groupId ? info : x)));
|
|
783
|
+
return { ok: true, group: info };
|
|
784
|
+
}
|
|
785
|
+
/** 群状态快照: 成员/消息/白名单/gated/privacy/最后同步 (状态管理用) */
|
|
786
|
+
async function groupStatus(groupId) {
|
|
787
|
+
const g = await groupInfo(groupId);
|
|
788
|
+
if (!g)
|
|
789
|
+
return { ok: false, error: '群组不存在' };
|
|
790
|
+
const members = await groupMembers(groupId);
|
|
791
|
+
const wl = await (async () => {
|
|
792
|
+
if (!g.gated || !g.ownerDid)
|
|
793
|
+
return g.aclWrite ?? [];
|
|
794
|
+
const owner = { did: g.ownerDid, publicKeyHex: g.ownerPublicKeyHex || '', orbitdbId: g.aclWrite?.[0] || '' };
|
|
795
|
+
if (!owner.orbitdbId || !owner.publicKeyHex)
|
|
796
|
+
return g.aclWrite ?? [];
|
|
797
|
+
const d = await groupWriteList(groupId, owner).catch(() => null);
|
|
798
|
+
return d ? d.write : (g.aclWrite ?? []);
|
|
799
|
+
})();
|
|
800
|
+
return {
|
|
801
|
+
ok: true,
|
|
802
|
+
status: {
|
|
803
|
+
group: g,
|
|
804
|
+
memberCount: members.length,
|
|
805
|
+
messageCount: g.messageCount ?? 0,
|
|
806
|
+
writeList: wl,
|
|
807
|
+
gated: !!g.gated,
|
|
808
|
+
privacy: g.privacy ?? !!g.gated,
|
|
809
|
+
ownerDid: g.ownerDid,
|
|
810
|
+
lastSyncAt: g.lastSyncAt,
|
|
811
|
+
},
|
|
812
|
+
};
|
|
813
|
+
}
|
|
640
814
|
//# sourceMappingURL=gateway-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-group.js","sourceRoot":"","sources":["../../../src/agents/gateway-group.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway-group.js","sourceRoot":"","sources":["../../../src/agents/gateway-group.ts"],"names":[],"mappings":"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"}
|