diff --git a/packages/coding-agent/src/core/gateway/runtime.ts b/packages/coding-agent/src/core/gateway/runtime.ts index 96291a8..f2026f9 100644 --- a/packages/coding-agent/src/core/gateway/runtime.ts +++ b/packages/coding-agent/src/core/gateway/runtime.ts @@ -842,6 +842,7 @@ export class GatewayRuntime { managedSession: ManagedGatewaySession, ): GatewaySessionSnapshot { const messages = managedSession.session.messages; + const currentModel = managedSession.session.model; const name = managedSession.session.sessionName?.trim() || undefined; let lastMessagePreview: string | undefined; for (let i = messages.length - 1; i >= 0; i--) { @@ -881,6 +882,8 @@ export class GatewayRuntime { updatedAt: managedSession.lastActiveAt, name, lastMessagePreview, + modelProvider: currentModel?.provider, + modelId: currentModel?.id, }; } @@ -1750,8 +1753,11 @@ export class GatewayRuntime { private async handleReloadSession(sessionKey: string): Promise { const managed = await this.requireExistingSession(sessionKey); - // Reloading config by calling settingsManager.reload() on the session - managed.session.settingsManager.reload(); + // Rebuild the full session runtime so auth.json, models.json, settings, + // and extension-backed resources all pick up on-disk changes. + await managed.session.reload(); + managed.lastActiveAt = Date.now(); + this.emitState(managed); } getGatewaySessionDir(sessionKey: string): string { diff --git a/packages/coding-agent/src/core/gateway/types.ts b/packages/coding-agent/src/core/gateway/types.ts index 201c0d3..23113ea 100644 --- a/packages/coding-agent/src/core/gateway/types.ts +++ b/packages/coding-agent/src/core/gateway/types.ts @@ -53,6 +53,8 @@ export interface GatewaySessionSnapshot { name?: string; lastMessagePreview?: string; updatedAt: number; + modelProvider?: string; + modelId?: string; } export interface GatewaySessionState {