refactor: normalize inbound context

This commit is contained in:
Peter Steinberger
2026-01-17 04:04:05 +00:00
parent 9f4b7a1683
commit a2b5b1f0cb
31 changed files with 155 additions and 35 deletions

View File

@@ -136,6 +136,6 @@ export function resolveGroupSessionKey(ctx: MsgContext): GroupKeyResolution | nu
legacyKey,
channel: resolvedProvider,
id: id || raw || from,
chatType: resolvedKind === "channel" ? "room" : "group",
chatType: resolvedKind === "channel" ? "channel" : "group",
};
}

View File

@@ -7,7 +7,12 @@ export type SessionScope = "per-sender" | "global";
export type SessionChannelId = ChannelId | "webchat";
export type SessionChatType = "direct" | "group" | "room";
export type SessionChatType =
| "direct"
| "group"
| "channel"
// Legacy alias for "channel".
| "room";
export type SessionEntry = {
/**

View File

@@ -39,7 +39,13 @@ export const SessionSchema = z
.object({
channel: z.string().optional(),
chatType: z
.union([z.literal("direct"), z.literal("group"), z.literal("room")])
.union([
z.literal("direct"),
z.literal("group"),
z.literal("channel"),
// Legacy alias for "channel".
z.literal("room"),
])
.optional(),
keyPrefix: z.string().optional(),
})