feat(core): add session metadata support (#23068)

Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
This commit is contained in:
Shantur Rathore
2026-05-30 22:58:11 +01:00
committed by GitHub
parent ac8e686f33
commit ddc30cd151
14 changed files with 1707 additions and 1 deletions

View File

@@ -45,6 +45,7 @@ export const MessagesQuery = Schema.Struct({
export const StatusMap = Schema.Record(Schema.String, SessionStatus.Info)
export const UpdatePayload = Schema.Struct({
title: Schema.optional(Schema.String),
metadata: Schema.optional(Session.Metadata),
permission: Schema.optional(Permission.Ruleset),
time: Schema.optional(
Schema.Struct({

View File

@@ -185,6 +185,9 @@ export const sessionHandlers = HttpApiBuilder.group(InstanceHttpApi, "session",
if (ctx.payload.title !== undefined) {
yield* session.setTitle({ sessionID: ctx.params.sessionID, title: ctx.payload.title })
}
if (ctx.payload.metadata !== undefined) {
yield* session.setMetadata({ sessionID: ctx.params.sessionID, metadata: ctx.payload.metadata })
}
if (ctx.payload.permission !== undefined) {
yield* session.setPermission({
sessionID: ctx.params.sessionID,
@@ -202,7 +205,10 @@ export const sessionHandlers = HttpApiBuilder.group(InstanceHttpApi, "session",
payload?: typeof ForkPayload.Type
}) {
return yield* SessionError.mapStorageNotFound(
session.fork({ sessionID: ctx.params.sessionID, messageID: ctx.payload?.messageID }),
session.fork({
sessionID: ctx.params.sessionID,
messageID: ctx.payload?.messageID,
}),
)
})