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.
Files changed (40) hide show
  1. package/README.md +3 -2
  2. package/README.zh-CN.md +3 -2
  3. package/assets/avatars/instance-01.png +0 -0
  4. package/assets/avatars/instance-02.png +0 -0
  5. package/assets/avatars/instance-03.png +0 -0
  6. package/assets/avatars/instance-04.png +0 -0
  7. package/assets/avatars/instance-05.png +0 -0
  8. package/assets/avatars/instance-06.png +0 -0
  9. package/assets/avatars/instance-07.png +0 -0
  10. package/assets/avatars/instance-08.png +0 -0
  11. package/assets/avatars/instance-09.png +0 -0
  12. package/assets/avatars/instance-10.png +0 -0
  13. package/assets/avatars/instance-11.png +0 -0
  14. package/assets/avatars/instance-12.png +0 -0
  15. package/assets/avatars/management.png +0 -0
  16. package/dist/cli.js +65 -12
  17. package/dist/cli.js.map +1 -1
  18. package/dist/space-identity.d.ts +34 -0
  19. package/dist/space-identity.d.ts.map +1 -0
  20. package/dist/space-identity.js +60 -0
  21. package/dist/space-identity.js.map +1 -0
  22. package/dist/space.d.ts +20 -5
  23. package/dist/space.d.ts.map +1 -1
  24. package/dist/space.js +95 -16
  25. package/dist/space.js.map +1 -1
  26. package/dist/standalone.d.ts.map +1 -1
  27. package/dist/standalone.js +4 -1
  28. package/dist/standalone.js.map +1 -1
  29. package/dist/systemd-hint.d.ts +29 -0
  30. package/dist/systemd-hint.d.ts.map +1 -0
  31. package/dist/systemd-hint.js +51 -0
  32. package/dist/systemd-hint.js.map +1 -0
  33. package/dist/transports/interface.d.ts +13 -1
  34. package/dist/transports/interface.d.ts.map +1 -1
  35. package/dist/transports/matrix-rooms.d.ts +9 -0
  36. package/dist/transports/matrix-rooms.d.ts.map +1 -1
  37. package/dist/transports/matrix-rooms.js +42 -1
  38. package/dist/transports/matrix-rooms.js.map +1 -1
  39. package/package.json +2 -1
  40. package/scripts/generate-avatars.mjs +452 -0
@@ -18,7 +18,7 @@ import { createMessageRouter } from "./rpc/message-router.js";
18
18
  import { PiRpc } from "./rpc/pi-rpc.js";
19
19
  import { PmctlController } from "./rpc/pmctl-controller.js";
20
20
  import { ProjectManager } from "./rpc/project-manager.js";
21
- import { ensureSpaceAndManagementRoom, healTrustedPowerLevels } from "./space.js";
21
+ import { ensureSpaceAndManagementRoom, healRoomIdentities, healTrustedPowerLevels } from "./space.js";
22
22
  import { MatrixProvider } from "./transports/matrix.js";
23
23
  import { suppressKnownWarnings } from "./warnings.js";
24
24
  import { resolveWorkdir } from "./workdir.js";
@@ -228,6 +228,9 @@ export async function main(argv = process.argv.slice(2)) {
228
228
  // one); per-room failures warn inside and never touch the startup
229
229
  // tri-state above.
230
230
  await healTrustedPowerLevels(roomOps, store);
231
+ // Room identity (short space name + pixel avatars): space mode only,
232
+ // best-effort per room — never blocks or fails the startup.
233
+ await healRoomIdentities(roomOps, store);
231
234
  }
232
235
  try {
233
236
  await rpc.start();
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Targeted hint for the `su`-without-`-` trap (issue #59, observed live on
3
+ * the 2026-09-06 deployment): switching users with `su <user>` inherits the
4
+ * ORIGINAL user's XDG_RUNTIME_DIR, so every `systemctl --user` then tries to
5
+ * connect to another user's bus socket (mode 0700) and fails with
6
+ * "Operation not permitted ... to connect to bus of other user". The stock
7
+ * error never says what to do — this hint does.
8
+ */
9
+ /** Decision input; xdgOwnerUid comes from dirOwnerUid (null = unresolvable). */
10
+ export interface BusFailureHintInput {
11
+ euid: number;
12
+ xdgRuntimeDir?: string;
13
+ xdgOwnerUid?: number | null;
14
+ stderr?: string;
15
+ }
16
+ /** Pure decision: is this systemctl failure the bus-owner trap, and if so,
17
+ * what should the user do? Returns null for everything else — the generic
18
+ * error output already printed is then the whole story.
19
+ *
20
+ * Two corroborated shapes (issue #59 acceptance: unrelated failures like a
21
+ * missing unit must NOT get this hint):
22
+ * - XDG_RUNTIME_DIR is owned by another user AND stderr shows the EPERM
23
+ * connect failure (on such a machine connect always fails first);
24
+ * - stderr itself carries the connect signature (XDG_RUNTIME_DIR unset or
25
+ * unresolvable — e.g. a shell without a full login session). */
26
+ export declare function busFailureHint(input: BusFailureHintInput): string | null;
27
+ /** Owning uid of dir, or null when it cannot be resolved (missing/unreachable). */
28
+ export declare function dirOwnerUid(dir: string | undefined): number | null;
29
+ //# sourceMappingURL=systemd-hint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemd-hint.d.ts","sourceRoot":"","sources":["../src/systemd-hint.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;oEASoE;AACpE,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CA6BxE;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOlE"}
@@ -0,0 +1,51 @@
1
+ import * as fs from "node:fs";
2
+ /** Pure decision: is this systemctl failure the bus-owner trap, and if so,
3
+ * what should the user do? Returns null for everything else — the generic
4
+ * error output already printed is then the whole story.
5
+ *
6
+ * Two corroborated shapes (issue #59 acceptance: unrelated failures like a
7
+ * missing unit must NOT get this hint):
8
+ * - XDG_RUNTIME_DIR is owned by another user AND stderr shows the EPERM
9
+ * connect failure (on such a machine connect always fails first);
10
+ * - stderr itself carries the connect signature (XDG_RUNTIME_DIR unset or
11
+ * unresolvable — e.g. a shell without a full login session). */
12
+ export function busFailureHint(input) {
13
+ const { euid, xdgRuntimeDir, xdgOwnerUid, stderr } = input;
14
+ const stderrText = typeof stderr === "string" ? stderr : undefined;
15
+ const stderrPointsAtBus = !!stderrText &&
16
+ (/connect to bus of other user/i.test(stderrText) ||
17
+ (/user scope bus/i.test(stderrText) && /not permitted/i.test(stderrText)));
18
+ const ownerMismatchWithEperm = typeof xdgOwnerUid === "number" &&
19
+ xdgOwnerUid !== euid &&
20
+ !!stderrText &&
21
+ /not permitted|EPERM/i.test(stderrText);
22
+ if (!stderrPointsAtBus && !ownerMismatchWithEperm)
23
+ return null;
24
+ const tail = [
25
+ " 常见原因:用 `su <用户>`(不带 -)切换用户时继承了原用户的环境,或当前 shell 缺少完整登录会话。",
26
+ " 解决:export XDG_RUNTIME_DIR=/run/user/$(id -u) 后重试,或改用 `su - <用户>` 重新切换;",
27
+ " 若 /run/user/$(id -u) 不存在,请以该用户登录一次,或由 root 执行 loginctl enable-linger <用户>。",
28
+ ];
29
+ if (typeof xdgOwnerUid === "number" && xdgOwnerUid !== euid) {
30
+ return [
31
+ `💡 检测到 XDG_RUNTIME_DIR=${xdgRuntimeDir ?? "(未设置)"}(属主 uid ${xdgOwnerUid})指向其他用户的会话总线,而当前用户是 uid ${euid}。`,
32
+ ...tail,
33
+ ].join("\n");
34
+ }
35
+ return [
36
+ `💡 未能连接到当前用户的 systemd 会话总线(XDG_RUNTIME_DIR=${xdgRuntimeDir ?? "未设置"})。`,
37
+ ...tail,
38
+ ].join("\n");
39
+ }
40
+ /** Owning uid of dir, or null when it cannot be resolved (missing/unreachable). */
41
+ export function dirOwnerUid(dir) {
42
+ if (!dir)
43
+ return null;
44
+ try {
45
+ return fs.statSync(dir).uid;
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ //# sourceMappingURL=systemd-hint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemd-hint.js","sourceRoot":"","sources":["../src/systemd-hint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAmB9B;;;;;;;;;oEASoE;AACpE,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3D,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,iBAAiB,GACrB,CAAC,CAAC,UAAU;QACZ,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC;YAC/C,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,sBAAsB,GAC1B,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,CAAC,CAAC,UAAU;QACZ,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,iBAAiB,IAAI,CAAC,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAE/D,MAAM,IAAI,GAAG;QACX,6DAA6D;QAC7D,2EAA2E;QAC3E,+EAA+E;KAChF,CAAC;IACF,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QAC5D,OAAO;YACL,0BAA0B,aAAa,IAAI,OAAO,WAAW,WAAW,2BAA2B,IAAI,GAAG;YAC1G,GAAG,IAAI;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO;QACL,8CAA8C,aAAa,IAAI,KAAK,IAAI;QACxE,GAAG,IAAI;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,GAAuB;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -49,7 +49,8 @@ export interface Transport {
49
49
  * Failure semantics are uniform for operations: every method THROWS with a
50
50
  * meaningful message (callers reply with it). No null returns, no silent
51
51
  * no-ops. The exceptions are the QUERY members (getBotUserId,
52
- * encryptionAvailable, getPowerLevels), which legitimately report a
52
+ * encryptionAvailable, getPowerLevels, getRoomName, getRoomAvatar), which
53
+ * legitimately report a
53
54
  * not-yet-connected or unavailable/not-present capability instead of
54
55
  * throwing.
55
56
  */
@@ -80,6 +81,17 @@ export interface RoomOps {
80
81
  inviteUser(roomId: string, userId: string): Promise<void>;
81
82
  /** Rename a room. */
82
83
  setRoomName(roomId: string, name: string): Promise<void>;
84
+ /** Read a room's display name (m.room.name content), or null when the room
85
+ * has no (visible) name — 404 / M_NOT_FOUND. Query member: reports absence
86
+ * instead of throwing (same contract as getPowerLevels). */
87
+ getRoomName(roomId: string): Promise<string | null>;
88
+ /** Read a room's avatar mxc URL (m.room.avatar content url), or null when
89
+ * unset/not visible — 404 / M_NOT_FOUND. Query member: same contract. */
90
+ getRoomAvatar(roomId: string): Promise<string | null>;
91
+ /** Set a room's avatar (m.room.avatar) from an already-uploaded mxc URL. */
92
+ setRoomAvatar(roomId: string, avatarUrl: string, info?: Record<string, unknown>): Promise<void>;
93
+ /** Upload media to the content repository; returns the mxc:// URL. */
94
+ uploadMedia(data: Buffer, contentType: string): Promise<string>;
83
95
  /** The bot's own user ID (null if not connected). */
84
96
  getBotUserId(): string | null;
85
97
  /** Whether E2EE is truly usable in this process (the config switch may be
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/transports/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAC;IAE7D;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB;oFACgF;IAChF,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG,oFAAoF;IACpF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,wFAAwF;IACxF,WAAW,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E;;2EAEuE;IACvE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE;;uBAEmB;IACnB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,4EAA4E;IAC5E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,qBAAqB;IACrB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,qDAAqD;IACrD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC;IAC9B;;0CAEsC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC;6CACyC;IACzC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF;;;;kBAIc;IACd,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACxE,0CAA0C;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/transports/interface.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,15 @@ export declare class MatrixRoomOps implements RoomOps {
46
46
  inviteUser(roomId: string, userId: string): Promise<void>;
47
47
  /** Rename a room (used to brand the DM as the management room). */
48
48
  setRoomName(roomId: string, name: string): Promise<void>;
49
+ /** Read a room's display name; null when absent (query-member contract,
50
+ * same 404 / M_NOT_FOUND handling as getPowerLevels). */
51
+ getRoomName(roomId: string): Promise<string | null>;
52
+ /** Read a room's avatar mxc URL; null when the room has none. */
53
+ getRoomAvatar(roomId: string): Promise<string | null>;
54
+ /** Set a room's avatar from an uploaded mxc URL (m.room.avatar state). */
55
+ setRoomAvatar(roomId: string, avatarUrl: string, info?: Record<string, unknown>): Promise<void>;
56
+ /** Upload media to the homeserver's content repository; returns mxc URL. */
57
+ uploadMedia(data: Buffer, contentType: string): Promise<string>;
49
58
  /** Set a user's power level in a room (used to make the project owner admin). */
50
59
  setUserPowerLevel(roomId: string, userId: string, level: number): Promise<void>;
51
60
  /** Read a room's power-level state (m.room.power_levels); null when the
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-rooms.d.ts","sourceRoot":"","sources":["../../src/transports/matrix-rooms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,YAAW,OAAO;IAKzC,OAAO,CAAC,IAAI;IAJd,gFAAgF;IAChF,mBAAmB,UAAS;gBAGlB,IAAI,EAAE;QACZ,SAAS,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;QAC1C,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACvC,uEAAuE;QACvE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtC;IAGH,OAAO,KAAK,MAAM,GAIjB;IAED;4EACwE;IAClE,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBvG,0DAA0D;IACpD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E,iEAAiE;IAC3D,WAAW,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnF,mEAAmE;IAC7D,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,sDAAsD;IAChD,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalF,oDAAoD;IAC9C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,mEAAmE;IAC7D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,iFAAiF;IAC3E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF;6EACyE;IACnE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAY7E,8DAA8D;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,4DAA4D;IAC5D,YAAY,IAAI,MAAM,GAAG,IAAI;CAG9B"}
1
+ {"version":3,"file":"matrix-rooms.d.ts","sourceRoot":"","sources":["../../src/transports/matrix-rooms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAQ9C;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,YAAW,OAAO;IAKzC,OAAO,CAAC,IAAI;IAJd,gFAAgF;IAChF,mBAAmB,UAAS;gBAGlB,IAAI,EAAE;QACZ,SAAS,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;QAC1C,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACvC,uEAAuE;QACvE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtC;IAGH,OAAO,KAAK,MAAM,GAIjB;IAED;4EACwE;IAClE,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBvG,0DAA0D;IACpD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E,iEAAiE;IAC3D,WAAW,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnF,mEAAmE;IAC7D,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,sDAAsD;IAChD,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalF,oDAAoD;IAC9C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,mEAAmE;IAC7D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D;8DAC0D;IACpD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUzD,iEAAiE;IAC3D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU3D,0EAA0E;IACpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrG,4EAA4E;IACtE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrE,iFAAiF;IAC3E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF;6EACyE;IACnE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAY7E,8DAA8D;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,4DAA4D;IAC5D,YAAY,IAAI,MAAM,GAAG,IAAI;CAG9B"}
@@ -1,4 +1,9 @@
1
1
  import { MatrixError } from "matrix-bot-sdk";
2
+ /** A missing (or not-visible) state event is a query answer, not a failure —
3
+ * shared by every getRoomStateEvent-backed query member. */
4
+ function isStateNotFound(err) {
5
+ return err instanceof MatrixError && (err.statusCode === 404 || err.errcode === "M_NOT_FOUND");
6
+ }
2
7
  /**
3
8
  * RoomOps adapter for Matrix — the room-capability half of the Matrix
4
9
  * integration. MatrixProvider composes this instance and the composition
@@ -101,6 +106,42 @@ export class MatrixRoomOps {
101
106
  async setRoomName(roomId, name) {
102
107
  await this.client.sendStateEvent(roomId, "m.room.name", "", { name });
103
108
  }
109
+ /** Read a room's display name; null when absent (query-member contract,
110
+ * same 404 / M_NOT_FOUND handling as getPowerLevels). */
111
+ async getRoomName(roomId) {
112
+ try {
113
+ const event = (await this.client.getRoomStateEvent(roomId, "m.room.name", ""));
114
+ return event?.name ?? null;
115
+ }
116
+ catch (err) {
117
+ if (isStateNotFound(err))
118
+ return null;
119
+ throw err;
120
+ }
121
+ }
122
+ /** Read a room's avatar mxc URL; null when the room has none. */
123
+ async getRoomAvatar(roomId) {
124
+ try {
125
+ const event = (await this.client.getRoomStateEvent(roomId, "m.room.avatar", ""));
126
+ return event?.url ?? null;
127
+ }
128
+ catch (err) {
129
+ if (isStateNotFound(err))
130
+ return null;
131
+ throw err;
132
+ }
133
+ }
134
+ /** Set a room's avatar from an uploaded mxc URL (m.room.avatar state). */
135
+ async setRoomAvatar(roomId, avatarUrl, info) {
136
+ await this.client.sendStateEvent(roomId, "m.room.avatar", "", {
137
+ url: avatarUrl,
138
+ ...(info ? { info } : {}),
139
+ });
140
+ }
141
+ /** Upload media to the homeserver's content repository; returns mxc URL. */
142
+ async uploadMedia(data, contentType) {
143
+ return this.client.uploadContent(data, contentType);
144
+ }
104
145
  /** Set a user's power level in a room (used to make the project owner admin). */
105
146
  async setUserPowerLevel(roomId, userId, level) {
106
147
  await this.client.setUserPowerLevel(userId, roomId, level);
@@ -115,7 +156,7 @@ export class MatrixRoomOps {
115
156
  // A room without (visible) power levels is a query result, not a
116
157
  // failure: 404 / M_NOT_FOUND reports null and the unified trusted-user
117
158
  // elevation treats it as an empty users map (writes anyway).
118
- if (err instanceof MatrixError && (err.statusCode === 404 || err.errcode === "M_NOT_FOUND"))
159
+ if (isStateNotFound(err))
119
160
  return null;
120
161
  throw err;
121
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-rooms.js","sourceRoot":"","sources":["../../src/transports/matrix-rooms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matrix-rooms.js","sourceRoot":"","sources":["../../src/transports/matrix-rooms.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-courier",
3
- "version": "0.1.39",
3
+ "version": "0.1.41",
4
4
  "description": "Run pi coding agent from Matrix. Slash commands, skills and prompts fully work from messengers via the RPC protocol.",
5
5
  "type": "module",
6
6
  "main": "dist/standalone.js",
@@ -12,6 +12,7 @@
12
12
  "deploy/",
13
13
  "extensions/",
14
14
  "scripts/",
15
+ "assets/",
15
16
  "README.md",
16
17
  "README.zh-CN.md"
17
18
  ],