fix: don't pass id when creating session, let OpenCode generate ses_*
При создании сессии не передаём id — OpenCode сам генерирует ses_*. Ключ мапы (roomId:threadRootId) используется только для поиска, не передаётся в OpenCode.
This commit is contained in:
parent
5fa1fd2676
commit
e633558483
7
index.ts
7
index.ts
|
|
@ -159,10 +159,9 @@ async function runPlugin(ctx: any, options: any, dataDir: string) {
|
||||||
if (!opencodeSessionId) {
|
if (!opencodeSessionId) {
|
||||||
log(`Creating new OpenCode session for ${roomId}:${threadRootId}`)
|
log(`Creating new OpenCode session for ${roomId}:${threadRootId}`)
|
||||||
try {
|
try {
|
||||||
const encodedId = `${roomId}:${threadRootId}`
|
const createResult = await ctx.session.create({ title: `Matrix: ${roomId.slice(0, 30)}...` })
|
||||||
const createResult = await ctx.session.create({ id: encodedId, title: `Matrix: ${roomId.slice(0, 30)}...` })
|
opencodeSessionId = createResult?.id || createResult?.data?.id
|
||||||
opencodeSessionId = createResult?.id || createResult?.data?.id || encodedId
|
log(`Created OpenCode session ${opencodeSessionId} for ${roomId}:${threadRootId}`)
|
||||||
log(`Created OpenCode session ${opencodeSessionId} (ID: ${encodedId})`)
|
|
||||||
session.opencodeSessionId = opencodeSessionId
|
session.opencodeSessionId = opencodeSessionId
|
||||||
sessionManager.saveSession(roomId, threadRootId, opencodeSessionId)
|
sessionManager.saveSession(roomId, threadRootId, opencodeSessionId)
|
||||||
sessionContextMap.set(opencodeSessionId, { roomId, threadRootId, context })
|
sessionContextMap.set(opencodeSessionId, { roomId, threadRootId, context })
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue