pi-courier 0.1.39 → 0.1.41
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 -2
- package/README.zh-CN.md +3 -2
- package/assets/avatars/instance-01.png +0 -0
- package/assets/avatars/instance-02.png +0 -0
- package/assets/avatars/instance-03.png +0 -0
- package/assets/avatars/instance-04.png +0 -0
- package/assets/avatars/instance-05.png +0 -0
- package/assets/avatars/instance-06.png +0 -0
- package/assets/avatars/instance-07.png +0 -0
- package/assets/avatars/instance-08.png +0 -0
- package/assets/avatars/instance-09.png +0 -0
- package/assets/avatars/instance-10.png +0 -0
- package/assets/avatars/instance-11.png +0 -0
- package/assets/avatars/instance-12.png +0 -0
- package/assets/avatars/management.png +0 -0
- package/dist/cli.js +65 -12
- package/dist/cli.js.map +1 -1
- package/dist/space-identity.d.ts +34 -0
- package/dist/space-identity.d.ts.map +1 -0
- package/dist/space-identity.js +60 -0
- package/dist/space-identity.js.map +1 -0
- package/dist/space.d.ts +20 -5
- package/dist/space.d.ts.map +1 -1
- package/dist/space.js +95 -16
- package/dist/space.js.map +1 -1
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +4 -1
- package/dist/standalone.js.map +1 -1
- package/dist/systemd-hint.d.ts +29 -0
- package/dist/systemd-hint.d.ts.map +1 -0
- package/dist/systemd-hint.js +51 -0
- package/dist/systemd-hint.js.map +1 -0
- package/dist/transports/interface.d.ts +13 -1
- package/dist/transports/interface.d.ts.map +1 -1
- package/dist/transports/matrix-rooms.d.ts +9 -0
- package/dist/transports/matrix-rooms.d.ts.map +1 -1
- package/dist/transports/matrix-rooms.js +42 -1
- package/dist/transports/matrix-rooms.js.map +1 -1
- package/package.json +2 -1
- package/scripts/generate-avatars.mjs +452 -0
package/README.md
CHANGED
|
@@ -244,8 +244,9 @@ Reply (Matrix reply) to an earlier **user** message — e.g. one of your own lon
|
|
|
244
244
|
|
|
245
245
|
One bot account can serve multiple projects — each project gets its own private room (named after the project), its own pi process, working directory and conversation history.
|
|
246
246
|
|
|
247
|
-
- **Management room**: with the **space feature enabled** (fresh multi-project setups default to it), the bot **creates the management room itself at startup**, inside a private Element space
|
|
248
|
-
- **Space organization (Element)**: a purely cosmetic grouping — a private space
|
|
247
|
+
- **Management room**: with the **space feature enabled** (fresh multi-project setups default to it), the bot **creates the management room itself at startup**, inside a private Element space `π <instance>`, and invites all trusted users — no first DM needed; trusted users who join via the challenge later are invited into the management room automatically (one invite per person, failures retried by the next-start self-heal). With the space off (or if its creation fails), the classic behavior applies: the first room where the bot **successfully accepts (authorizes) a message** — a non-project, ≤2-person room — becomes the management room (renamed to `项目管理(<instance>)`, guide sent, room ID persisted to `config.managementRooms`). Either way the room is the admin console — `/pmctl` works only there — and its ID is stable afterwards.
|
|
248
|
+
- **Space organization (Element)**: a purely cosmetic grouping — a private space `π <instanceName>` collects every room the bot creates (the management room and all `/pmctl new` project rooms) so they don't scatter across your room list. The space itself takes no part in authorization — who may send commands and who holds which room permissions is decided by the permission model below. `/pmctl rm` also removes the room from the space. Toggle it in `setup` (`启用空间组织?`, fresh configs default on, existing configs keep their current state); creation is lazy at the next start, and any failure just falls back to the unspace'd behavior with a warning and a retry on the next start. Users who pass the challenge later are invited into the space automatically (one invite per person, ever). A space still carrying the old `pi-courier · <instance>` name is renamed to the short form by the next-start self-heal (manually renamed spaces are left alone).
|
|
249
|
+
- **Room avatars (pixel art)**: the bot automatically sets a bundled pixel-art avatar on every room it manages — the space and each project room pick from a 12-image pool by hashing the instance/project name (same name → same image forever, different ones usually differ), and the management room gets a dedicated image. Existing rooms are branded on the next start too; an avatar you set manually is never replaced. Not a fan of the art? Replace any PNG in `assets/avatars/` (same filename) with your own.
|
|
249
250
|
- **Permission model (trusted = admin)**: trusted users automatically hold **admin power** (PL 100) in every room the bot manages — the space, the management room and all project rooms — regardless of whether trust came from setup or the challenge, and regardless of membership (late joiners arrive with the level already in place). `/revoke <userId>` strips that admin power in every managed room at the same time (back to plain member); a failed demotion is retried by the next-start self-heal. Zero configuration — the first start after upgrading heals existing rooms too. Admins promoted by the pre-0.1.37 special case (project-room creator) are not in the demotion ledger: `/revoke` still demotes them on the spot, and only if that on-the-spot demotion fails do you need to lower them manually once in your client.
|
|
250
251
|
- **Create a project** (in the management room):
|
|
251
252
|
```
|
package/README.zh-CN.md
CHANGED
|
@@ -126,8 +126,9 @@ pi 工作目录 [默认 /home/你/Projects]: ← 回车或输
|
|
|
126
126
|
|
|
127
127
|
同一个 bot 账号可以服务多个项目 —— 每个项目一个私有房间(房间名=项目名),有独立的 pi 进程、工作目录和会话历史。
|
|
128
128
|
|
|
129
|
-
- **管理房间**:开启**空间组织**时(全新多工程配置默认开启),bot 在启动时**自行创建**管理房间 —— 位于私有空间
|
|
130
|
-
- **空间组织(Element)**:纯展示层收纳 —— 私有空间
|
|
129
|
+
- **管理房间**:开启**空间组织**时(全新多工程配置默认开启),bot 在启动时**自行创建**管理房间 —— 位于私有空间 `π <实例名>` 内,并邀请全部信任用户,无需先给 bot 发 DM;后续经验证码加入的信任用户也会被自动邀请进管理房间(每人只邀一次,失败由下次启动自愈重试)。空间关闭(或创建失败)时沿用经典行为:bot **第一次成功受理(授权通过)的、非项目的私有/2 人房间**固化为管理房间(自动改名 `项目管理(<实例名>)` 并发送使用说明,房间 ID 写入 `config.managementRooms`)。两种路径下管理房间都是"管理台"(`/pmctl` 仅在此可用),且房间 ID 之后保持稳定。
|
|
130
|
+
- **空间组织(Element)**:纯展示层收纳 —— 私有空间 `π <实例名>` 收集 bot 创建的所有房间(管理房间 + `/pmctl new` 的项目房间),不再散落在房间列表里;空间本身不参与授权判定——谁能发命令、谁有什么房间权限,由下面的权限模型决定。`/pmctl rm` 删除项目时同步把房间移出空间。开关在 `setup`(`启用空间组织?`,全新配置默认开、已有配置保持现状);空间在下次启动时懒创建,失败仅警告并回退无空间行为、下次启动自动重试。后续通过验证码成为信任用户的用户会被自动邀请进空间(每人只邀请一次)。还叫旧名字 `pi-courier · <实例名>` 的空间会被下次启动自愈改成短名(手动改过名的空间不动)。
|
|
131
|
+
- **房间头像(像素风)**:bot 自动为托管的所有房间设置内置像素头像 —— 空间和项目房间按实例名/项目名哈希从 12 张头像池中取图(同名永远同一张,不同部署基本不同),管理房间使用专属头像;存量房间下次启动自动补齐,手动设置过的头像绝不被覆盖。不喜欢这些图?把 `assets/avatars/` 下的同名 PNG 换成你自己的即可,无需改代码。
|
|
131
132
|
- **权限模型(信任即管理员)**:信任用户在 bot 托管的所有房间——空间、管理房间、全部项目房间——自动拥有**管理员权限**(PL 100):无论信任来自 setup 还是验证码、是否已加入该房间(后加入者进房时权限已就位)。`/revoke <userId>` 撤销信任时,该用户在全部托管房间的管理员权限**同步收回**(降回普通级别),降权失败由下次启动自愈兜底。零配置,升级后的首次启动自动补齐存量房间;旧版本(≤0.1.36)由旧特例(项目房间创建者提权)成为管理员的用户不在降权簿记内——`/revoke` 仍会即时对其降权,仅当那次即时降权也失败时才需在客户端手动降一次。
|
|
132
133
|
- **创建项目**(在管理房间发):
|
|
133
134
|
```
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/cli.js
CHANGED
|
@@ -24,6 +24,7 @@ import { fileURLToPath } from "node:url";
|
|
|
24
24
|
import { loadConfig } from "./config.js";
|
|
25
25
|
import { buildLogFilterArgs } from "./log-filter.js";
|
|
26
26
|
import { projectLabelOf } from "./project-labels.js";
|
|
27
|
+
import { busFailureHint, dirOwnerUid } from "./systemd-hint.js";
|
|
27
28
|
import { suppressKnownWarnings } from "./warnings.js";
|
|
28
29
|
suppressKnownWarnings();
|
|
29
30
|
const SERVICE_NAME = "pi-courier";
|
|
@@ -142,17 +143,58 @@ function cmdEnable() {
|
|
|
142
143
|
fs.mkdirSync(path.dirname(unitPath), { recursive: true });
|
|
143
144
|
fs.writeFileSync(unitPath, unit);
|
|
144
145
|
console.log(`📝 已写入 ${unitPath}`);
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
// Issue #60: daemon-reload and enable --now are independent steps — failing
|
|
147
|
+
// one must not hide whether the other ran, and the user must never be left
|
|
148
|
+
// guessing whether the service is actually enabled.
|
|
149
|
+
const failed = [];
|
|
150
|
+
if (systemctlUser(["daemon-reload"]) !== 0)
|
|
151
|
+
failed.push("daemon-reload");
|
|
152
|
+
if (systemctlUser(["enable", "--now", SERVICE_NAME]) !== 0)
|
|
153
|
+
failed.push(`enable --now ${SERVICE_NAME}`);
|
|
154
|
+
if (failed.length > 0) {
|
|
155
|
+
console.error(`❌ 服务未能启用(unit 文件已写入,但 systemd 操作失败: ${failed.join(", ")})。`);
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
147
158
|
console.log("✅ 服务已启用并启动(开机自启)。");
|
|
148
159
|
console.log(` 日志: journalctl --user -u ${SERVICE_NAME} -f`);
|
|
149
160
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
161
|
+
/** Issue #59: append the targeted `su`-trap hint when a systemctl failure
|
|
162
|
+
* looks like the bus-owner mismatch (XDG_RUNTIME_DIR inherited from another
|
|
163
|
+
* user via `su` without `-`). No-op for every other failure. */
|
|
164
|
+
function printBusHint(stderr) {
|
|
165
|
+
const hint = busFailureHint({
|
|
166
|
+
euid: typeof process.getuid === "function" ? process.getuid() : -1,
|
|
167
|
+
xdgRuntimeDir: process.env.XDG_RUNTIME_DIR,
|
|
168
|
+
xdgOwnerUid: dirOwnerUid(process.env.XDG_RUNTIME_DIR),
|
|
169
|
+
stderr,
|
|
170
|
+
});
|
|
171
|
+
if (hint)
|
|
172
|
+
console.error(hint);
|
|
173
|
+
}
|
|
174
|
+
/** Spawn `systemctl --user ...` with stderr captured (but still echoed).
|
|
175
|
+
* Shared by every caller so the su-trap hint always has stderr to inspect. */
|
|
176
|
+
function spawnSystemctlUser(args) {
|
|
177
|
+
const res = spawnSync("systemctl", ["--user", ...args], { stdio: ["inherit", "inherit", "pipe"] });
|
|
178
|
+
const stderr = res.stderr?.toString() ?? "";
|
|
179
|
+
if (stderr)
|
|
180
|
+
process.stderr.write(stderr);
|
|
181
|
+
return { status: res.status ?? 1, stderr };
|
|
182
|
+
}
|
|
183
|
+
/** Run `systemctl --user ...`, appending the targeted su-trap hint on
|
|
184
|
+
* failure (issue #59). Returns the exit code (0 = ok). */
|
|
185
|
+
function systemctlUser(args) {
|
|
186
|
+
const { status, stderr } = spawnSystemctlUser(args);
|
|
187
|
+
if (status !== 0) {
|
|
188
|
+
console.error(`❌ systemctl ${args.join(" ")} 失败(退出码 ${status})`);
|
|
189
|
+
printBusHint(stderr);
|
|
155
190
|
}
|
|
191
|
+
return status;
|
|
192
|
+
}
|
|
193
|
+
/** systemctlUser + exit-on-failure — the historical runSystemctl contract. */
|
|
194
|
+
function runSystemctl(args) {
|
|
195
|
+
const code = systemctlUser(args);
|
|
196
|
+
if (code !== 0)
|
|
197
|
+
process.exit(code);
|
|
156
198
|
}
|
|
157
199
|
/** Project labels from the config (the single source `log-filter` matches against). */
|
|
158
200
|
function projectLabels() {
|
|
@@ -169,7 +211,13 @@ function cmdService(action, args = []) {
|
|
|
169
211
|
if (action === "logs" || action === "status") {
|
|
170
212
|
// status first shows the unit itself (systemctl), then the log window.
|
|
171
213
|
if (action === "status") {
|
|
172
|
-
|
|
214
|
+
const st = spawnSystemctlUser(["status", SERVICE_NAME]);
|
|
215
|
+
if (st.status !== 0) {
|
|
216
|
+
// Issue #61: the journal window below shows HISTORY — without this
|
|
217
|
+
// line a dead service's old logs read like "the service is running".
|
|
218
|
+
console.error(`⚠️ 服务状态查询失败(退出码 ${st.status})——以下为 journald 历史日志,不代表服务当前在运行。`);
|
|
219
|
+
printBusHint(st.stderr);
|
|
220
|
+
}
|
|
173
221
|
}
|
|
174
222
|
// Split args: `--level <lvl>` option vs positional project labels.
|
|
175
223
|
let level = "info";
|
|
@@ -209,9 +257,10 @@ function cmdService(action, args = []) {
|
|
|
209
257
|
return;
|
|
210
258
|
}
|
|
211
259
|
const cmd = ["systemctl", "--user", action, SERVICE_NAME];
|
|
212
|
-
const
|
|
213
|
-
if (
|
|
214
|
-
|
|
260
|
+
const { status, stderr } = spawnSystemctlUser(cmd.slice(2));
|
|
261
|
+
if (status !== 0) {
|
|
262
|
+
printBusHint(stderr);
|
|
263
|
+
process.exit(status);
|
|
215
264
|
}
|
|
216
265
|
}
|
|
217
266
|
function cmdDisable() {
|
|
@@ -221,7 +270,11 @@ function cmdDisable() {
|
|
|
221
270
|
process.exit(1);
|
|
222
271
|
}
|
|
223
272
|
// Stop + remove from autostart, then delete the unit file (full uninstall).
|
|
224
|
-
|
|
273
|
+
if (systemctlUser(["disable", "--now", SERVICE_NAME]) !== 0) {
|
|
274
|
+
// Issue #60: the failure path must not delete the unit — say so explicitly.
|
|
275
|
+
console.error("ℹ️ unit 文件已保留,修复环境后可再次 `pi-courier disable` 或直接 `pi-courier enable`。");
|
|
276
|
+
process.exit(1);
|
|
277
|
+
}
|
|
225
278
|
fs.rmSync(unitPath, { force: true });
|
|
226
279
|
runSystemctl(["daemon-reload"]);
|
|
227
280
|
console.log("✅ 服务已停止并卸载。以后要恢复:`pi-courier enable`(配置不受影响)。");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Room identity: how pi-courier names and brands the rooms it manages.
|
|
3
|
+
*
|
|
4
|
+
* The space is named `π <instanceName>` (short; the old `pi-courier · <name>`
|
|
5
|
+
* template is migrated on startup — see isLegacySpaceName). Every managed room
|
|
6
|
+
* also gets a bundled pixel avatar (assets/avatars/, generated by
|
|
7
|
+
* scripts/generate-avatars.mjs — original artwork, blocky-pixel style): the
|
|
8
|
+
* space picks by instanceName hash and project rooms by project name hash, so
|
|
9
|
+
* each deployment lands on a stable image (recreates and restarts keep it)
|
|
10
|
+
* while different instances/projects usually differ. The management room uses
|
|
11
|
+
* the dedicated management.png. All artwork is original — generic blocky
|
|
12
|
+
* pixel style only, no third-party assets; users can swap any PNG for their
|
|
13
|
+
* own (same filename) without touching code.
|
|
14
|
+
*/
|
|
15
|
+
/** Number of images in the shared pool (instance-01 … instance-12). */
|
|
16
|
+
export declare const AVATAR_POOL_SIZE = 12;
|
|
17
|
+
/** Display name for the space: short instance label with a π brand prefix. */
|
|
18
|
+
export declare function spaceDisplayName(instanceName: string): string;
|
|
19
|
+
/** The pre-rename template. Only an EXACT match is ever renamed, so a name a
|
|
20
|
+
* user typed themselves is never clobbered by the startup self-heal. */
|
|
21
|
+
export declare function isLegacySpaceName(name: string, instanceName: string): boolean;
|
|
22
|
+
/** djb2 over the UTF-8 bytes — tiny, stable across processes and runtimes
|
|
23
|
+
* (plain u32 arithmetic, no locale/crypto dependence). */
|
|
24
|
+
export declare function nameHash(name: string): number;
|
|
25
|
+
/** Pick a pool filename for a name: same name → same image, forever. */
|
|
26
|
+
export declare function pickPoolAvatarFile(name: string): string;
|
|
27
|
+
/** The management room's dedicated image (always the same, always one of a kind). */
|
|
28
|
+
export declare function managementAvatarFile(): string;
|
|
29
|
+
/** Read a bundled avatar PNG. Throws if the asset is missing — callers treat
|
|
30
|
+
* that like any other identity-heal failure (warn + retry next start). */
|
|
31
|
+
export declare function readAvatarBundled(file: string): Buffer;
|
|
32
|
+
/** m.room.avatar `info` sub-block describing the bundled 128×128 PNGs. */
|
|
33
|
+
export declare function avatarInfo(data: Buffer): Record<string, unknown>;
|
|
34
|
+
//# sourceMappingURL=space-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-identity.d.ts","sourceRoot":"","sources":["../src/space-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;yEACyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;2DAC2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;2EAC2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AASD,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Room identity: how pi-courier names and brands the rooms it manages.
|
|
3
|
+
*
|
|
4
|
+
* The space is named `π <instanceName>` (short; the old `pi-courier · <name>`
|
|
5
|
+
* template is migrated on startup — see isLegacySpaceName). Every managed room
|
|
6
|
+
* also gets a bundled pixel avatar (assets/avatars/, generated by
|
|
7
|
+
* scripts/generate-avatars.mjs — original artwork, blocky-pixel style): the
|
|
8
|
+
* space picks by instanceName hash and project rooms by project name hash, so
|
|
9
|
+
* each deployment lands on a stable image (recreates and restarts keep it)
|
|
10
|
+
* while different instances/projects usually differ. The management room uses
|
|
11
|
+
* the dedicated management.png. All artwork is original — generic blocky
|
|
12
|
+
* pixel style only, no third-party assets; users can swap any PNG for their
|
|
13
|
+
* own (same filename) without touching code.
|
|
14
|
+
*/
|
|
15
|
+
import { readFileSync } from "node:fs";
|
|
16
|
+
/** Number of images in the shared pool (instance-01 … instance-12). */
|
|
17
|
+
export const AVATAR_POOL_SIZE = 12;
|
|
18
|
+
/** Display name for the space: short instance label with a π brand prefix. */
|
|
19
|
+
export function spaceDisplayName(instanceName) {
|
|
20
|
+
return `π ${instanceName}`;
|
|
21
|
+
}
|
|
22
|
+
/** The pre-rename template. Only an EXACT match is ever renamed, so a name a
|
|
23
|
+
* user typed themselves is never clobbered by the startup self-heal. */
|
|
24
|
+
export function isLegacySpaceName(name, instanceName) {
|
|
25
|
+
return name === `pi-courier · ${instanceName}`;
|
|
26
|
+
}
|
|
27
|
+
/** djb2 over the UTF-8 bytes — tiny, stable across processes and runtimes
|
|
28
|
+
* (plain u32 arithmetic, no locale/crypto dependence). */
|
|
29
|
+
export function nameHash(name) {
|
|
30
|
+
let hash = 5381;
|
|
31
|
+
for (const byte of Buffer.from(name, "utf8"))
|
|
32
|
+
hash = (hash * 33 + byte) >>> 0;
|
|
33
|
+
return hash;
|
|
34
|
+
}
|
|
35
|
+
/** Pick a pool filename for a name: same name → same image, forever. */
|
|
36
|
+
export function pickPoolAvatarFile(name) {
|
|
37
|
+
const index = (nameHash(name) % AVATAR_POOL_SIZE) + 1;
|
|
38
|
+
return `instance-${String(index).padStart(2, "0")}.png`;
|
|
39
|
+
}
|
|
40
|
+
/** The management room's dedicated image (always the same, always one of a kind). */
|
|
41
|
+
export function managementAvatarFile() {
|
|
42
|
+
return "management.png";
|
|
43
|
+
}
|
|
44
|
+
/** Read a bundled avatar PNG. Throws if the asset is missing — callers treat
|
|
45
|
+
* that like any other identity-heal failure (warn + retry next start). */
|
|
46
|
+
export function readAvatarBundled(file) {
|
|
47
|
+
return readFileSync(avatarAssetUrl(file));
|
|
48
|
+
}
|
|
49
|
+
function avatarAssetUrl(file) {
|
|
50
|
+
// src/space-identity.ts and dist/space-identity.js both sit one level below
|
|
51
|
+
// the package root, so ../assets resolves in the repo and in the npm tarball.
|
|
52
|
+
if (!/^[\w.-]+\.png$/.test(file))
|
|
53
|
+
throw new Error(`非法的头像文件名: ${file}`);
|
|
54
|
+
return new URL(`../assets/avatars/${file}`, import.meta.url);
|
|
55
|
+
}
|
|
56
|
+
/** m.room.avatar `info` sub-block describing the bundled 128×128 PNGs. */
|
|
57
|
+
export function avatarInfo(data) {
|
|
58
|
+
return { mimetype: "image/png", width: 128, height: 128, size: data.length };
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=space-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-identity.js","sourceRoot":"","sources":["../src/space-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO,KAAK,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,YAAoB;IAClE,OAAO,IAAI,KAAK,gBAAgB,YAAY,EAAE,CAAC;AACjD,CAAC;AAED;2DAC2D;AAC3D,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,YAAY,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,oBAAoB;IAClC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;2EAC2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO,IAAI,GAAG,CAAC,qBAAqB,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC/E,CAAC"}
|
package/dist/space.d.ts
CHANGED
|
@@ -44,6 +44,16 @@ export type SpaceEnsureResult = "skipped" | "ready" | "degraded";
|
|
|
44
44
|
* rule — deliberately not configurable. */
|
|
45
45
|
export declare const TRUSTED_POWER_LEVEL = 100;
|
|
46
46
|
export declare function ensureSpaceAndManagementRoom(deps: SpaceEnsureDeps): Promise<SpaceEnsureResult>;
|
|
47
|
+
/** Startup identity self-heal: brand the managed rooms with the short space
|
|
48
|
+
* name and the bundled pixel avatars (space + management + project rooms).
|
|
49
|
+
* Space mode only — a degraded run's adopted management DM is never touched.
|
|
50
|
+
* Two safety rules keep user intent sticky: a space is renamed ONLY when its
|
|
51
|
+
* name still exactly matches the legacy `pi-courier · <instance>` template,
|
|
52
|
+
* and an avatar is set ONLY when the room has none — anything the user set
|
|
53
|
+
* themselves is left alone. Per-room failures warn and retry on the next
|
|
54
|
+
* start; like healTrustedPowerLevels this never throws and never affects
|
|
55
|
+
* the startup tri-state. */
|
|
56
|
+
export declare function healRoomIdentities(roomOps: RoomOps, store: ConfigStore): Promise<void>;
|
|
47
57
|
/** Unified idempotent elevation for ONE room (#42): read the room's power
|
|
48
58
|
* levels once, then write TRUSTED_POWER_LEVEL only for trusted users whose
|
|
49
59
|
* current level is below it — absent from the users map counts as below
|
|
@@ -79,11 +89,12 @@ export declare function healTrustedPowerLevels(roomOps: RoomOps, store: ConfigSt
|
|
|
79
89
|
* succeeded. The caller names the target (the /revoke effect or a stale
|
|
80
90
|
* book entry) — this never picks victims on its own. */
|
|
81
91
|
export declare function demoteTrustedUserEverywhere(roomOps: RoomOps, store: ConfigStore, namespacedUser: string): Promise<boolean>;
|
|
82
|
-
/** Fire-once space invite for ONE namespaced user: space.
|
|
83
|
-
* every user we have invited (decliners included) so nobody
|
|
84
|
-
* A failed invite is NOT recorded — the startup ensure
|
|
85
|
-
* Single implementation shared by the router's spaceInvite
|
|
86
|
-
* ensure's self-heal pass. Returns true when the invite
|
|
92
|
+
/** Fire-once space invite for ONE namespaced user. Bookkeeping: space.
|
|
93
|
+
* invitedUsers — every user we have invited (decliners included) so nobody
|
|
94
|
+
* is pinged twice. A failed invite is NOT recorded — the startup ensure
|
|
95
|
+
* self-heals it. Single implementation shared by the router's spaceInvite
|
|
96
|
+
* effect and the ensure's self-heal pass. Returns true when the invite
|
|
97
|
+
* went out (or was already effectively done — issue #62). */
|
|
87
98
|
export declare function inviteUserToSpaceOnce(roomOps: RoomOps, store: ConfigStore, namespacedUser: string): Promise<boolean>;
|
|
88
99
|
/** Fire-once management-room invite for ONE namespaced user — the issue #43
|
|
89
100
|
* twin of inviteUserToSpaceOnce: the management room is where /pmctl lives,
|
|
@@ -95,4 +106,8 @@ export declare function inviteUserToSpaceOnce(roomOps: RoomOps, store: ConfigSto
|
|
|
95
106
|
* recorded — the startup ensure self-heals it. Returns true when the invite
|
|
96
107
|
* went out. */
|
|
97
108
|
export declare function inviteUserToManagementRoomOnce(roomOps: RoomOps, store: ConfigStore, namespacedUser: string): Promise<boolean>;
|
|
109
|
+
/** Issue #62: an M_FORBIDDEN "already in the room" rejection means the
|
|
110
|
+
* invite's goal is already met — the user is in. Treating it as a failure
|
|
111
|
+
* made the startup self-heal re-invite (and fail) on every boot. */
|
|
112
|
+
export declare function isAlreadyInRoomError(err: unknown): boolean;
|
|
98
113
|
//# sourceMappingURL=space.d.ts.map
|
package/dist/space.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAgD,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAgD,MAAM,aAAa,CAAC;AAWhH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjE;4CAC4C;AAC5C,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkGpG;AAED;;;;;;;;6BAQ6B;AAC7B,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C5F;AAED;;;;;;;;;6BAS6B;AAC7B,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BnB;AAED;;;+CAG+C;AAC/C,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAQ7D;AAED;;;;;;;gCAOgC;AAChC,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhG;AAED;;;;;;;;yDAQyD;AACzD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAyBD;;;;;8DAK8D;AAC9D,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED;;;;;;;;gBAQgB;AAChB,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED;;qEAEqE;AACrE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAG1D"}
|
package/dist/space.js
CHANGED
|
@@ -35,6 +35,7 @@ import * as os from "node:os";
|
|
|
35
35
|
import { activeSpaceRoomId, defaultProjectsRoot, isSpaceMode, nativeMxid } from "./config.js";
|
|
36
36
|
import { logger } from "./logger.js";
|
|
37
37
|
import { buildManagementRoomHelp, managementRoomName } from "./management-room.js";
|
|
38
|
+
import { avatarInfo, isLegacySpaceName, managementAvatarFile, pickPoolAvatarFile, readAvatarBundled, spaceDisplayName, } from "./space-identity.js";
|
|
38
39
|
/** Trusted users are admins in every room pi-courier manages (#42). A fixed
|
|
39
40
|
* rule — deliberately not configurable. */
|
|
40
41
|
export const TRUSTED_POWER_LEVEL = 100;
|
|
@@ -50,7 +51,7 @@ export async function ensureSpaceAndManagementRoom(deps) {
|
|
|
50
51
|
let spaceId = cfg.space?.roomId;
|
|
51
52
|
if (!spaceId) {
|
|
52
53
|
spaceId = await roomOps.createSpace({
|
|
53
|
-
name:
|
|
54
|
+
name: spaceDisplayName(instanceName),
|
|
54
55
|
inviteUserIds,
|
|
55
56
|
});
|
|
56
57
|
// createRoom's invite list covers every trusted user — record them all
|
|
@@ -125,6 +126,62 @@ export async function ensureSpaceAndManagementRoom(deps) {
|
|
|
125
126
|
return "degraded";
|
|
126
127
|
}
|
|
127
128
|
}
|
|
129
|
+
/** Startup identity self-heal: brand the managed rooms with the short space
|
|
130
|
+
* name and the bundled pixel avatars (space + management + project rooms).
|
|
131
|
+
* Space mode only — a degraded run's adopted management DM is never touched.
|
|
132
|
+
* Two safety rules keep user intent sticky: a space is renamed ONLY when its
|
|
133
|
+
* name still exactly matches the legacy `pi-courier · <instance>` template,
|
|
134
|
+
* and an avatar is set ONLY when the room has none — anything the user set
|
|
135
|
+
* themselves is left alone. Per-room failures warn and retry on the next
|
|
136
|
+
* start; like healTrustedPowerLevels this never throws and never affects
|
|
137
|
+
* the startup tri-state. */
|
|
138
|
+
export async function healRoomIdentities(roomOps, store) {
|
|
139
|
+
const cfg = store.get();
|
|
140
|
+
if (!isSpaceMode(cfg))
|
|
141
|
+
return;
|
|
142
|
+
const spaceId = activeSpaceRoomId(cfg);
|
|
143
|
+
if (!spaceId)
|
|
144
|
+
return;
|
|
145
|
+
const instanceName = cfg.instanceName ?? os.hostname();
|
|
146
|
+
// Legacy name migration (exact old-template match only, see above).
|
|
147
|
+
try {
|
|
148
|
+
const name = await roomOps.getRoomName(spaceId);
|
|
149
|
+
if (name && isLegacySpaceName(name, instanceName)) {
|
|
150
|
+
const renamed = spaceDisplayName(instanceName);
|
|
151
|
+
await roomOps.setRoomName(spaceId, renamed);
|
|
152
|
+
logger.info(`[identity] 空间名已迁移: ${name} → ${renamed}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
logger.warn(`[identity] 空间改名检查失败(跳过,下次启动自动重试): ${spaceId}: ${err.message}`);
|
|
157
|
+
}
|
|
158
|
+
// Avatars: space picks by instance name, the management room has its own
|
|
159
|
+
// dedicated image, project rooms pick by project name (roomId fallback for
|
|
160
|
+
// legacy records without one) — same name, same image, forever.
|
|
161
|
+
const targets = [
|
|
162
|
+
{ roomId: spaceId, file: pickPoolAvatarFile(instanceName), label: "空间" },
|
|
163
|
+
];
|
|
164
|
+
const managementRoomId = (cfg.managementRooms ?? [])[0];
|
|
165
|
+
if (managementRoomId) {
|
|
166
|
+
targets.push({ roomId: managementRoomId, file: managementAvatarFile(), label: "管理房间" });
|
|
167
|
+
}
|
|
168
|
+
for (const [roomId, project] of Object.entries(cfg.projects ?? {})) {
|
|
169
|
+
targets.push({ roomId, file: pickPoolAvatarFile(project.name ?? roomId), label: `项目房间 ${project.name ?? roomId}` });
|
|
170
|
+
}
|
|
171
|
+
for (const target of targets) {
|
|
172
|
+
try {
|
|
173
|
+
if (await roomOps.getRoomAvatar(target.roomId))
|
|
174
|
+
continue;
|
|
175
|
+
const data = readAvatarBundled(target.file);
|
|
176
|
+
const mxcUrl = await roomOps.uploadMedia(data, "image/png");
|
|
177
|
+
await roomOps.setRoomAvatar(target.roomId, mxcUrl, avatarInfo(data));
|
|
178
|
+
logger.info(`[identity] ${target.label}头像已设置: ${target.file}`);
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
logger.warn(`[identity] ${target.label}(${target.roomId})头像设置失败(跳过,下次启动自动重试): ${err.message}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
128
185
|
/** Unified idempotent elevation for ONE room (#42): read the room's power
|
|
129
186
|
* levels once, then write TRUSTED_POWER_LEVEL only for trusted users whose
|
|
130
187
|
* current level is below it — absent from the users map counts as below
|
|
@@ -234,11 +291,25 @@ export async function demoteTrustedUserEverywhere(roomOps, store, namespacedUser
|
|
|
234
291
|
}
|
|
235
292
|
return true;
|
|
236
293
|
}
|
|
237
|
-
/**
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
|
|
294
|
+
/** Shared invite outcome (issue #62): whether the invite went out or the
|
|
295
|
+
* user was already in the room, the bookkeeping write is the same — one
|
|
296
|
+
* list key gets the user appended. Already-in-room logs at info with its
|
|
297
|
+
* own phrasing so the two cases stay distinguishable in the journal. */
|
|
298
|
+
function recordInvited(store, listKey, invited, namespacedUser, already, where) {
|
|
299
|
+
store.update({
|
|
300
|
+
space: { ...(store.get().space ?? {}), [listKey]: [...invited, namespacedUser] },
|
|
301
|
+
});
|
|
302
|
+
logger.info(already
|
|
303
|
+
? `[space] ${namespacedUser} 已在${where},无需重复邀请`
|
|
304
|
+
: `[space] 信任用户已邀请进${where}: ${namespacedUser}`);
|
|
305
|
+
return true;
|
|
306
|
+
}
|
|
307
|
+
/** Fire-once space invite for ONE namespaced user. Bookkeeping: space.
|
|
308
|
+
* invitedUsers — every user we have invited (decliners included) so nobody
|
|
309
|
+
* is pinged twice. A failed invite is NOT recorded — the startup ensure
|
|
310
|
+
* self-heals it. Single implementation shared by the router's spaceInvite
|
|
311
|
+
* effect and the ensure's self-heal pass. Returns true when the invite
|
|
312
|
+
* went out (or was already effectively done — issue #62). */
|
|
242
313
|
export async function inviteUserToSpaceOnce(roomOps, store, namespacedUser) {
|
|
243
314
|
const spaceId = activeSpaceRoomId(store.get());
|
|
244
315
|
if (!spaceId)
|
|
@@ -248,13 +319,14 @@ export async function inviteUserToSpaceOnce(roomOps, store, namespacedUser) {
|
|
|
248
319
|
return false;
|
|
249
320
|
try {
|
|
250
321
|
await roomOps.inviteUser(spaceId, nativeMxid(namespacedUser));
|
|
251
|
-
store
|
|
252
|
-
space: { ...(store.get().space ?? {}), roomId: spaceId, invitedUsers: [...invited, namespacedUser] },
|
|
253
|
-
});
|
|
254
|
-
logger.info(`[space] 信任用户已邀请进空间: ${namespacedUser}`);
|
|
255
|
-
return true;
|
|
322
|
+
return recordInvited(store, "invitedUsers", invited, namespacedUser, false, "空间");
|
|
256
323
|
}
|
|
257
324
|
catch (err) {
|
|
325
|
+
if (isAlreadyInRoomError(err)) {
|
|
326
|
+
// Issue #62: the invite's goal state is already reached — record it so
|
|
327
|
+
// the startup self-heal stops re-inviting (and failing) on every boot.
|
|
328
|
+
return recordInvited(store, "invitedUsers", invited, namespacedUser, true, "空间");
|
|
329
|
+
}
|
|
258
330
|
logger.warn(`[space] 邀请 ${namespacedUser} 进空间失败(下次启动自愈): ${err.message}`);
|
|
259
331
|
return false;
|
|
260
332
|
}
|
|
@@ -280,15 +352,22 @@ export async function inviteUserToManagementRoomOnce(roomOps, store, namespacedU
|
|
|
280
352
|
return false;
|
|
281
353
|
try {
|
|
282
354
|
await roomOps.inviteUser(managementRoomId, nativeMxid(namespacedUser));
|
|
283
|
-
store
|
|
284
|
-
space: { ...(store.get().space ?? {}), managementInvitedUsers: [...invited, namespacedUser] },
|
|
285
|
-
});
|
|
286
|
-
logger.info(`[space] 信任用户已邀请进管理房间: ${namespacedUser}`);
|
|
287
|
-
return true;
|
|
355
|
+
return recordInvited(store, "managementInvitedUsers", invited, namespacedUser, false, "管理房间");
|
|
288
356
|
}
|
|
289
357
|
catch (err) {
|
|
358
|
+
if (isAlreadyInRoomError(err)) {
|
|
359
|
+
// Issue #62: same as the space twin — already in the room means done.
|
|
360
|
+
return recordInvited(store, "managementInvitedUsers", invited, namespacedUser, true, "管理房间");
|
|
361
|
+
}
|
|
290
362
|
logger.warn(`[space] 邀请 ${namespacedUser} 进管理房间失败(下次启动自愈): ${err.message}`);
|
|
291
363
|
return false;
|
|
292
364
|
}
|
|
293
365
|
}
|
|
366
|
+
/** Issue #62: an M_FORBIDDEN "already in the room" rejection means the
|
|
367
|
+
* invite's goal is already met — the user is in. Treating it as a failure
|
|
368
|
+
* made the startup self-heal re-invite (and fail) on every boot. */
|
|
369
|
+
export function isAlreadyInRoomError(err) {
|
|
370
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
371
|
+
return /M_FORBIDDEN/.test(message) && /already in the room/i.test(message);
|
|
372
|
+
}
|
|
294
373
|
//# sourceMappingURL=space.js.map
|
package/dist/space.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.js","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"space.js","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}
|
package/dist/standalone.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoDH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoDH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmOhF"}
|