refactor: trim cron session startup imports

This commit is contained in:
Shakker
2026-04-01 16:20:58 +01:00
committed by Shakker
parent 88b1c00b39
commit fc8ab82aab
11 changed files with 319 additions and 152 deletions

View File

@@ -0,0 +1,22 @@
export type LiveSessionModelSelection = {
provider: string;
model: string;
authProfileId?: string;
authProfileIdSource?: "auto" | "user";
};
export class LiveSessionModelSwitchError extends Error {
provider: string;
model: string;
authProfileId?: string;
authProfileIdSource?: "auto" | "user";
constructor(selection: LiveSessionModelSelection) {
super(`Live session model switch requested: ${selection.provider}/${selection.model}`);
this.name = "LiveSessionModelSwitchError";
this.provider = selection.provider;
this.model = selection.model;
this.authProfileId = selection.authProfileId;
this.authProfileIdSource = selection.authProfileIdSource;
}
}

View File

@@ -1,4 +1,7 @@
import { loadSessionStore, resolveStorePath, type SessionEntry } from "../config/sessions.js";
import { resolveStorePath } from "../config/sessions/paths.js";
import { loadSessionStore } from "../config/sessions/store.js";
import type { SessionEntry } from "../config/sessions/types.js";
import { LiveSessionModelSwitchError } from "./live-model-switch-error.js";
import { resolveDefaultModelForAgent, resolvePersistedModelRef } from "./model-selection.js";
import {
consumeEmbeddedRunModelSwitch,
@@ -6,25 +9,9 @@ import {
type EmbeddedRunModelSwitchRequest,
} from "./pi-embedded-runner/runs.js";
import { abortEmbeddedPiRun } from "./pi-embedded.js";
export { LiveSessionModelSwitchError } from "./live-model-switch-error.js";
export type LiveSessionModelSelection = EmbeddedRunModelSwitchRequest;
export class LiveSessionModelSwitchError extends Error {
provider: string;
model: string;
authProfileId?: string;
authProfileIdSource?: "auto" | "user";
constructor(selection: LiveSessionModelSelection) {
super(`Live session model switch requested: ${selection.provider}/${selection.model}`);
this.name = "LiveSessionModelSwitchError";
this.provider = selection.provider;
this.model = selection.model;
this.authProfileId = selection.authProfileId;
this.authProfileIdSource = selection.authProfileIdSource;
}
}
export function resolveLiveSessionModelSelection(params: {
cfg?: { session?: { store?: string } } | undefined;
sessionKey?: string;

View File

@@ -9,7 +9,7 @@ import type { AuthProfileStore } from "./auth-profiles.js";
import { saveAuthProfileStore } from "./auth-profiles.js";
import { AUTH_STORE_VERSION } from "./auth-profiles/constants.js";
import { isAnthropicBillingError } from "./live-auth-keys.js";
import { LiveSessionModelSwitchError } from "./live-model-switch.js";
import { LiveSessionModelSwitchError } from "./live-model-switch-error.js";
import { runWithImageModelFallback, runWithModelFallback } from "./model-fallback.js";
import { makeModelFallbackCfg } from "./test-helpers/model-fallback-config-fixture.js";

View File

@@ -26,7 +26,7 @@ import {
shouldPreserveTransientCooldownProbeSlot,
shouldUseTransientCooldownProbeSlot,
} from "./failover-policy.js";
import { LiveSessionModelSwitchError } from "./live-model-switch.js";
import { LiveSessionModelSwitchError } from "./live-model-switch-error.js";
import { logModelFallbackDecision } from "./model-fallback-observation.js";
import type { FallbackAttempt, ModelCandidate } from "./model-fallback.types.js";
import {

View File

@@ -25,9 +25,9 @@ import {
FailoverError,
resolveFailoverStatus,
} from "../failover-error.js";
import { LiveSessionModelSwitchError } from "../live-model-switch-error.js";
import {
hasDifferentLiveSessionModelSelection,
LiveSessionModelSwitchError,
consumeLiveSessionModelSwitch,
} from "../live-model-switch.js";
import {