Support Codex app-server 0.133

This commit is contained in:
Codex
2026-05-25 05:38:32 +00:00
parent c282674057
commit 9dbf7727c5
49 changed files with 4707 additions and 2203 deletions

View File

@@ -1657,6 +1657,19 @@ func (b *Bot) handleCodexNotification(ctx context.Context, event codexapp.Event)
}
return b.store.SyncThreadTitleByCodexID(ctx, params.ThreadID, title)
}
case "thread/settings/updated":
var params struct {
ThreadID string `json:"threadId"`
ThreadSettings struct {
CWD string `json:"cwd"`
} `json:"threadSettings"`
}
if err := json.Unmarshal(event.Params, &params); err != nil {
return err
}
if params.ThreadID != "" {
return b.syncThreadWorkspaceFromCWD(ctx, params.ThreadID, params.ThreadSettings.CWD)
}
case "serverRequest/resolved":
var params struct {
ThreadID string `json:"threadId"`
@@ -1667,6 +1680,34 @@ func (b *Bot) handleCodexNotification(ctx context.Context, event codexapp.Event)
return nil
}
func (b *Bot) syncThreadWorkspaceFromCWD(ctx context.Context, codexThreadID, cwd string) error {
thread, err := b.store.GetThreadByCodexID(ctx, codexThreadID)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil
}
return err
}
workspace, ok, err := b.workspaceForCodexCWD(ctx, cwd)
if err != nil || !ok {
return err
}
if workspace.ID == thread.WorkspaceID {
return nil
}
if err := b.store.SyncThreadWorkspace(ctx, thread.TelegramUserID, thread.ID, workspace.ID); err != nil {
return err
}
session, err := b.store.GetSession(ctx, thread.TelegramUserID)
if err != nil {
return err
}
if session.ActiveThreadID == thread.ID {
return b.store.SetSessionWorkspace(ctx, thread.TelegramUserID, workspace.ID)
}
return nil
}
func (b *Bot) handleCodexServerRequest(ctx context.Context, event codexapp.Event) error {
if event.ID == nil {
return nil