diff --git a/src/app-server/catalog-data.ts b/src/app-server/catalog-data.ts index cfb3d2ab..721f2818 100644 --- a/src/app-server/catalog-data.ts +++ b/src/app-server/catalog-data.ts @@ -1,6 +1,6 @@ import type { AppServerClient } from "./client"; import { panelHookItemsFromAppServerHooks, panelModelOptionsFromAppServerModels } from "./catalog-model"; -import type { PanelHookItem, PanelModelOption } from "../domain/catalog/model"; +import type { PanelHookItem, PanelModelOption } from "../domain/catalog/metadata"; export interface PanelHooksForCwd { hooks: PanelHookItem[]; diff --git a/src/app-server/catalog-model.ts b/src/app-server/catalog-model.ts index edc236a9..01234800 100644 --- a/src/app-server/catalog-model.ts +++ b/src/app-server/catalog-model.ts @@ -2,7 +2,7 @@ import type { HookMetadata } from "../generated/app-server/v2/HookMetadata"; import type { Model } from "../generated/app-server/v2/Model"; import type { SkillMetadata } from "../generated/app-server/v2/SkillMetadata"; import type { AppServerHookOperation } from "./client"; -import type { PanelHookItem, PanelModelOption, PanelSkillOption } from "../domain/catalog/model"; +import type { PanelHookItem, PanelModelOption, PanelSkillOption } from "../domain/catalog/metadata"; function panelModelOptionFromAppServerModel(model: Model): PanelModelOption { return { diff --git a/src/app-server/runtime-overrides.ts b/src/app-server/runtime-overrides.ts index 601d0013..2bf643e4 100644 --- a/src/app-server/runtime-overrides.ts +++ b/src/app-server/runtime-overrides.ts @@ -1,7 +1,7 @@ -import type { PanelModelOption } from "../domain/catalog/model"; -import { findModelOptionByIdOrName } from "../domain/catalog/model"; +import type { PanelModelOption } from "../domain/catalog/metadata"; +import { findModelOptionByIdOrName } from "../domain/catalog/metadata"; import type { ReasoningEffort as AppServerReasoningEffort } from "../generated/app-server/ReasoningEffort"; -import { supportedEffortsForModelOption, type ReasoningEffort as DomainReasoningEffort } from "../domain/catalog/reasoning-effort"; +import { supportedEffortsForModelOption, type ReasoningEffort as DomainReasoningEffort } from "../domain/catalog/metadata"; export interface RuntimeOverrideSettings { model: string | null; diff --git a/src/app-server/shared-cache-state.ts b/src/app-server/shared-cache-state.ts index 65835cae..4afe8b6a 100644 --- a/src/app-server/shared-cache-state.ts +++ b/src/app-server/shared-cache-state.ts @@ -2,7 +2,7 @@ import type { AppServerDiagnostics } from "./compatibility"; import type { ConfigReadResponse } from "../generated/app-server/v2/ConfigReadResponse"; import type { RateLimitSnapshot } from "../generated/app-server/v2/RateLimitSnapshot"; import type { PanelThread } from "../domain/threads/model"; -import type { PanelModelOption, PanelSkillOption } from "../domain/catalog/model"; +import type { PanelModelOption, PanelSkillOption } from "../domain/catalog/metadata"; export interface SharedAppServerMetadata { effectiveConfig: ConfigReadResponse | null; diff --git a/src/app-server/shared-cache.ts b/src/app-server/shared-cache.ts index 7aaa5dae..72e9159a 100644 --- a/src/app-server/shared-cache.ts +++ b/src/app-server/shared-cache.ts @@ -1,5 +1,5 @@ import type { PanelThread } from "../domain/threads/model"; -import type { PanelModelOption } from "../domain/catalog/model"; +import type { PanelModelOption } from "../domain/catalog/metadata"; import { applySharedAppServerMetadata, applySharedModels, diff --git a/src/app-server/thread-naming.ts b/src/app-server/thread-naming.ts index d7f56a48..9d438fbe 100644 --- a/src/app-server/thread-naming.ts +++ b/src/app-server/thread-naming.ts @@ -12,7 +12,7 @@ import type { TurnStartResponse } from "../generated/app-server/v2/TurnStartResp import { panelModelOptionsFromAppServerModels } from "./catalog-model"; import { namingPrompt, titleFromNamingTurn, type ThreadNamingContext } from "../domain/threads/naming"; import { runtimeOverride, validatedRuntimeOverrideForModelOptions } from "./runtime-overrides"; -import type { PanelModelOption } from "../domain/catalog/model"; +import type { PanelModelOption } from "../domain/catalog/metadata"; import { createStructuredTurnRunLifecycle, structuredTurnRunMatches, diff --git a/src/domain/catalog/model.ts b/src/domain/catalog/metadata.ts similarity index 63% rename from src/domain/catalog/model.ts rename to src/domain/catalog/metadata.ts index 340deac5..db669487 100644 --- a/src/domain/catalog/model.ts +++ b/src/domain/catalog/metadata.ts @@ -42,6 +42,27 @@ export interface PanelHookItem { trustStatus: PanelHookTrustStatus; } +export const REASONING_EFFORTS = ["none", "minimal", "low", "medium", "high", "xhigh"] as const; + +export type ReasoningEffort = (typeof REASONING_EFFORTS)[number]; + +export function isReasoningEffort(value: unknown): value is ReasoningEffort { + return typeof value === "string" && (REASONING_EFFORTS as readonly string[]).includes(value); +} + +export function normalizeReasoningEffort(value: unknown): ReasoningEffort | null { + return isReasoningEffort(value) ? value : null; +} + +export function supportedEffortsForModelOption(model: PanelModelOption | null): ReasoningEffort[] { + const efforts = model?.supportedReasoningEfforts.filter(isReasoningEffort) ?? []; + return efforts.length > 0 ? efforts : [...REASONING_EFFORTS]; +} + +export function defaultEffortForModelOption(model: PanelModelOption | null): ReasoningEffort | null { + return normalizeReasoningEffort(model?.defaultReasoningEffort); +} + export function sortedModelOptions(models: readonly PanelModelOption[]): PanelModelOption[] { return [...models] .filter((model) => !model.hidden) diff --git a/src/domain/catalog/reasoning-effort.ts b/src/domain/catalog/reasoning-effort.ts deleted file mode 100644 index ee0b25f0..00000000 --- a/src/domain/catalog/reasoning-effort.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { PanelModelOption } from "./model"; - -export const REASONING_EFFORTS = ["none", "minimal", "low", "medium", "high", "xhigh"] as const; - -export type ReasoningEffort = (typeof REASONING_EFFORTS)[number]; - -export function isReasoningEffort(value: unknown): value is ReasoningEffort { - return typeof value === "string" && (REASONING_EFFORTS as readonly string[]).includes(value); -} - -export function normalizeReasoningEffort(value: unknown): ReasoningEffort | null { - return isReasoningEffort(value) ? value : null; -} - -export function supportedEffortsForModelOption(model: PanelModelOption | null): ReasoningEffort[] { - const efforts = model?.supportedReasoningEfforts.filter(isReasoningEffort) ?? []; - return efforts.length > 0 ? efforts : [...REASONING_EFFORTS]; -} - -export function defaultEffortForModelOption(model: PanelModelOption | null): ReasoningEffort | null { - return normalizeReasoningEffort(model?.defaultReasoningEffort); -} diff --git a/src/features/chat/app-server/metadata-actions.ts b/src/features/chat/app-server/metadata-actions.ts index a1b84390..69d8cbe3 100644 --- a/src/features/chat/app-server/metadata-actions.ts +++ b/src/features/chat/app-server/metadata-actions.ts @@ -2,7 +2,7 @@ import { type AppServerDiagnostics, capabilityProbeError, capabilityProbeOk } fr import type { RateLimitSnapshot } from "../../../generated/app-server/v2/RateLimitSnapshot"; import type { SharedAppServerMetadata } from "../../../app-server/shared-cache-state"; import { panelModelOptionsFromAppServerModels, panelSkillOptionsFromAppServerSkills } from "../../../app-server/catalog-model"; -import type { PanelModelOption, PanelSkillOption } from "../../../domain/catalog/model"; +import type { PanelModelOption, PanelSkillOption } from "../../../domain/catalog/metadata"; import { cloneAppServerDiagnostics, type ChatAppServerBaseHost } from "./shared"; export interface ChatAppServerMetadataActionsHost extends ChatAppServerBaseHost { diff --git a/src/features/chat/chat-state-actions.ts b/src/features/chat/chat-state-actions.ts index 1064d0d1..7883657c 100644 --- a/src/features/chat/chat-state-actions.ts +++ b/src/features/chat/chat-state-actions.ts @@ -1,7 +1,7 @@ import type { InitializeResponse } from "../../generated/app-server/InitializeResponse"; import type { PanelThread } from "../../domain/threads/model"; import type { ThreadTokenUsage } from "../../generated/app-server/v2/ThreadTokenUsage"; -import type { ReasoningEffort } from "../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../domain/catalog/metadata"; import type { ChatRuntimeState } from "./runtime/state"; import type { PanelCollaborationMode } from "./runtime/collaboration"; import { parseServiceTier, type ServiceTier } from "../../app-server/service-tier"; diff --git a/src/features/chat/chat-state.ts b/src/features/chat/chat-state.ts index 5cd07b17..e6896c10 100644 --- a/src/features/chat/chat-state.ts +++ b/src/features/chat/chat-state.ts @@ -1,9 +1,9 @@ import type { InitializeResponse } from "../../generated/app-server/InitializeResponse"; -import type { ReasoningEffort } from "../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../domain/catalog/metadata"; import type { ConfigReadResponse } from "../../generated/app-server/v2/ConfigReadResponse"; import type { RateLimitSnapshot } from "../../generated/app-server/v2/RateLimitSnapshot"; import type { PanelThread } from "../../domain/threads/model"; -import type { PanelModelOption, PanelSkillOption } from "../../domain/catalog/model"; +import type { PanelModelOption, PanelSkillOption } from "../../domain/catalog/metadata"; import type { ThreadGoal } from "../../generated/app-server/v2/ThreadGoal"; import type { ThreadSettingsUpdateParams } from "../../generated/app-server/v2/ThreadSettingsUpdateParams"; import type { ThreadTokenUsage } from "../../generated/app-server/v2/ThreadTokenUsage"; diff --git a/src/features/chat/composer/suggestions.ts b/src/features/chat/composer/suggestions.ts index f57d9a2e..9f4cfc31 100644 --- a/src/features/chat/composer/suggestions.ts +++ b/src/features/chat/composer/suggestions.ts @@ -1,8 +1,8 @@ import type { PanelThread } from "../../../domain/threads/model"; -import type { PanelModelOption, PanelSkillOption } from "../../../domain/catalog/model"; +import type { PanelModelOption, PanelSkillOption } from "../../../domain/catalog/metadata"; import { prepareFuzzySearch, sortSearchResults, type SearchResult } from "obsidian"; -import { findModelOptionByIdOrName, sortedModelOptions } from "../../../domain/catalog/model"; -import { isReasoningEffort, REASONING_EFFORTS, supportedEffortsForModelOption } from "../../../domain/catalog/reasoning-effort"; +import { findModelOptionByIdOrName, sortedModelOptions } from "../../../domain/catalog/metadata"; +import { isReasoningEffort, REASONING_EFFORTS, supportedEffortsForModelOption } from "../../../domain/catalog/metadata"; import { SLASH_COMMANDS, slashCommandSubcommands, type SlashCommandName } from "./slash-commands"; import { getThreadTitle } from "../../../domain/threads/model"; import { shortThreadId } from "../../../utils"; diff --git a/src/features/chat/composer/wikilink-context.ts b/src/features/chat/composer/wikilink-context.ts index dd84221c..94a3b07f 100644 --- a/src/features/chat/composer/wikilink-context.ts +++ b/src/features/chat/composer/wikilink-context.ts @@ -1,5 +1,5 @@ import type { UserInput } from "../../../generated/app-server/v2/UserInput"; -import type { PanelSkillOption } from "../../../domain/catalog/model"; +import type { PanelSkillOption } from "../../../domain/catalog/metadata"; import { parseObsidianWikiLink } from "../../../shared/obsidian/wikilinks"; export interface ParsedWikiLink { diff --git a/src/features/chat/panel/model/runtime.ts b/src/features/chat/panel/model/runtime.ts index 257816ba..99e87136 100644 --- a/src/features/chat/panel/model/runtime.ts +++ b/src/features/chat/panel/model/runtime.ts @@ -6,7 +6,7 @@ import { serviceTierLabel, supportedReasoningEfforts, } from "../../runtime/effective-settings"; -import { sortedModelOptions } from "../../../../domain/catalog/model"; +import { sortedModelOptions } from "../../../../domain/catalog/metadata"; import { contextSummary, rateLimitSummary, type RateLimitSummary } from "../../runtime/status-summary"; import type { EffortStatusLinesInput, diff --git a/src/features/chat/panel/model/types.ts b/src/features/chat/panel/model/types.ts index 817637cf..e799dc09 100644 --- a/src/features/chat/panel/model/types.ts +++ b/src/features/chat/panel/model/types.ts @@ -1,4 +1,4 @@ -import type { ReasoningEffort } from "../../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../../domain/catalog/metadata"; import type { RuntimeSnapshot } from "../../runtime/effective-settings"; import type { EffectiveConfigSection, RateLimitSummary } from "../../runtime/status-summary"; import type { ChatState } from "../../chat-state"; diff --git a/src/features/chat/panel/slots/types.ts b/src/features/chat/panel/slots/types.ts index 1433ad63..eb9599e7 100644 --- a/src/features/chat/panel/slots/types.ts +++ b/src/features/chat/panel/slots/types.ts @@ -1,4 +1,4 @@ -import type { ReasoningEffort } from "../../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../../domain/catalog/metadata"; import type { RuntimeSnapshot } from "../../runtime/effective-settings"; import type { SendShortcut } from "../../../../shared/ui/keyboard"; import type { ChatState } from "../../chat-state"; diff --git a/src/features/chat/runtime/config.ts b/src/features/chat/runtime/config.ts index 2bfd6f1e..53d54f34 100644 --- a/src/features/chat/runtime/config.ts +++ b/src/features/chat/runtime/config.ts @@ -9,7 +9,7 @@ import type { SandboxMode } from "../../../generated/app-server/v2/SandboxMode"; import type { SandboxWorkspaceWrite } from "../../../generated/app-server/v2/SandboxWorkspaceWrite"; import type { ToolsV2 } from "../../../generated/app-server/v2/ToolsV2"; import { parseServiceTier, type ServiceTier } from "../../../app-server/service-tier"; -import { isReasoningEffort, type ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import { isReasoningEffort, type ReasoningEffort } from "../../../domain/catalog/metadata"; import { approvalsReviewerOrNull, type ApprovalsReviewer } from "./approvals"; export interface RuntimeConfigProjection { diff --git a/src/features/chat/runtime/effective-settings.ts b/src/features/chat/runtime/effective-settings.ts index e9c175c5..01bdc180 100644 --- a/src/features/chat/runtime/effective-settings.ts +++ b/src/features/chat/runtime/effective-settings.ts @@ -3,7 +3,7 @@ import type { AskForApproval } from "../../../generated/app-server/v2/AskForAppr import type { ConfigReadResponse } from "../../../generated/app-server/v2/ConfigReadResponse"; import type { RateLimitSnapshot } from "../../../generated/app-server/v2/RateLimitSnapshot"; import type { ThreadTokenUsage } from "../../../generated/app-server/v2/ThreadTokenUsage"; -import { findModelOptionByIdOrName, type PanelModelOption } from "../../../domain/catalog/model"; +import { findModelOptionByIdOrName, type PanelModelOption } from "../../../domain/catalog/metadata"; import { configuredServiceTierRequestValue, isFastServiceTier, @@ -11,7 +11,7 @@ import { type ServiceTier, type ServiceTierRequest, } from "../../../app-server/service-tier"; -import { supportedEffortsForModelOption, type ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import { supportedEffortsForModelOption, type ReasoningEffort } from "../../../domain/catalog/metadata"; import { readRuntimeConfig, type RuntimeConfigProjection } from "./config"; import type { PanelCollaborationMode } from "./collaboration"; import { isAutoReviewReviewer, type ApprovalsReviewer } from "./approvals"; diff --git a/src/features/chat/runtime/override-commands.ts b/src/features/chat/runtime/override-commands.ts index 896edcd8..323711b7 100644 --- a/src/features/chat/runtime/override-commands.ts +++ b/src/features/chat/runtime/override-commands.ts @@ -1,4 +1,4 @@ -import { isReasoningEffort, type ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import { isReasoningEffort, type ReasoningEffort } from "../../../domain/catalog/metadata"; export { collaborationModeLabel, collaborationModeToggleMessage, nextCollaborationMode } from "./collaboration"; const DEFAULT_ALIASES = new Set(["default", "reset", "clear", "off"]); diff --git a/src/features/chat/runtime/runtime-settings-actions.ts b/src/features/chat/runtime/runtime-settings-actions.ts index bd89a4d9..b4bfca7c 100644 --- a/src/features/chat/runtime/runtime-settings-actions.ts +++ b/src/features/chat/runtime/runtime-settings-actions.ts @@ -1,5 +1,5 @@ import type { AppServerClient } from "../../../app-server/client"; -import type { ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../domain/catalog/metadata"; import { autoReviewReviewerForState, autoReviewToggleMessage, nextAutoReviewState } from "./approvals"; import type { PanelCollaborationMode } from "./collaboration"; import { collaborationModeToggleMessage, nextCollaborationMode } from "./override-commands"; diff --git a/src/features/chat/runtime/state.ts b/src/features/chat/runtime/state.ts index 2bd74b4d..e661a185 100644 --- a/src/features/chat/runtime/state.ts +++ b/src/features/chat/runtime/state.ts @@ -3,7 +3,7 @@ import type { AskForApproval } from "../../../generated/app-server/v2/AskForAppr import type { ThreadSettingsUpdateParams } from "../../../generated/app-server/v2/ThreadSettingsUpdateParams"; import { parseServiceTier, type ServiceTier } from "../../../app-server/service-tier"; import type { PanelCollaborationMode } from "./collaboration"; -import type { ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../domain/catalog/metadata"; import type { ApprovalsReviewer } from "./approvals"; import type { RequestedServiceTier } from "./service-tier-state"; import { diff --git a/src/features/chat/runtime/status-summary.ts b/src/features/chat/runtime/status-summary.ts index 1bd0822e..24466b82 100644 --- a/src/features/chat/runtime/status-summary.ts +++ b/src/features/chat/runtime/status-summary.ts @@ -2,8 +2,8 @@ import type { RateLimitWindow } from "../../../generated/app-server/v2/RateLimit import type { SpendControlLimitSnapshot } from "../../../generated/app-server/v2/SpendControlLimitSnapshot"; import type { ThreadTokenUsage } from "../../../generated/app-server/v2/ThreadTokenUsage"; import { jsonPreview } from "../../../utils"; -import { sortedModelOptions } from "../../../domain/catalog/model"; -import { defaultEffortForModelOption } from "../../../domain/catalog/reasoning-effort"; +import { sortedModelOptions } from "../../../domain/catalog/metadata"; +import { defaultEffortForModelOption } from "../../../domain/catalog/metadata"; import { readRuntimeConfig, type RuntimeConfigProjection } from "./config"; import { currentApprovalsReviewer, diff --git a/src/features/chat/threads/thread-resume.ts b/src/features/chat/threads/thread-resume.ts index 569f5d49..8cf9bcef 100644 --- a/src/features/chat/threads/thread-resume.ts +++ b/src/features/chat/threads/thread-resume.ts @@ -1,7 +1,7 @@ import { parseServiceTier } from "../../../app-server/service-tier"; import { upsertThread } from "../../../domain/threads/model"; import { panelThreadFromAppServerThread } from "../../../app-server/thread-model"; -import type { ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../domain/catalog/metadata"; import type { AskForApproval } from "../../../generated/app-server/v2/AskForApproval"; import type { PanelThread } from "../../../domain/threads/model"; import type { ThreadStartResponse } from "../../../generated/app-server/v2/ThreadStartResponse"; diff --git a/src/features/chat/turns/slash-command-actions.ts b/src/features/chat/turns/slash-command-actions.ts index 5ec372f6..dc5b5c9d 100644 --- a/src/features/chat/turns/slash-command-actions.ts +++ b/src/features/chat/turns/slash-command-actions.ts @@ -12,7 +12,7 @@ import { } from "./slash-command-execution"; import type { SlashCommandName } from "../composer/slash-commands"; import type { DisplayDetailSection } from "../display/types"; -import type { ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../domain/catalog/metadata"; import type { ThreadGoal } from "../../../generated/app-server/v2/ThreadGoal"; import type { ThreadGoalStatus } from "../../../generated/app-server/v2/ThreadGoalStatus"; import type { UserInput } from "../../../generated/app-server/v2/UserInput"; diff --git a/src/features/chat/turns/slash-command-execution.ts b/src/features/chat/turns/slash-command-execution.ts index ddefbc66..a2c3ab4a 100644 --- a/src/features/chat/turns/slash-command-execution.ts +++ b/src/features/chat/turns/slash-command-execution.ts @@ -1,4 +1,4 @@ -import type { ReasoningEffort } from "../../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../../domain/catalog/metadata"; import type { PanelThread } from "../../../domain/threads/model"; import type { ThreadGoal } from "../../../generated/app-server/v2/ThreadGoal"; import type { ThreadGoalStatus } from "../../../generated/app-server/v2/ThreadGoalStatus"; diff --git a/src/features/chat/view.ts b/src/features/chat/view.ts index e1f535ac..7e1231c5 100644 --- a/src/features/chat/view.ts +++ b/src/features/chat/view.ts @@ -3,8 +3,8 @@ import { ItemView, type ViewStateResult, type WorkspaceLeaf } from "obsidian"; import type { AppServerClient } from "../../app-server/client"; import { VIEW_TYPE_CODEX_PANEL } from "../../constants"; import type { DisplayDetailSection, DisplayItem } from "./display/types"; -import type { ReasoningEffort } from "../../domain/catalog/reasoning-effort"; -import type { PanelModelOption } from "../../domain/catalog/model"; +import type { ReasoningEffort } from "../../domain/catalog/metadata"; +import type { PanelModelOption } from "../../domain/catalog/metadata"; import type { PanelThread } from "../../domain/threads/model"; import { collaborationModeLabel as formatCollaborationModeLabel } from "./runtime/override-commands"; import type { RuntimeSnapshot } from "./runtime/effective-settings"; diff --git a/src/features/selection-rewrite/model.ts b/src/features/selection-rewrite/model.ts index efd2fd93..003b4e8c 100644 --- a/src/features/selection-rewrite/model.ts +++ b/src/features/selection-rewrite/model.ts @@ -1,5 +1,5 @@ import type { EditorPosition } from "obsidian"; -import type { ReasoningEffort } from "../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../domain/catalog/metadata"; type SelectionRewriteStatus = SelectionRewriteState["status"]; const TERMINAL_SELECTION_REWRITE_STATUSES = new Set(["applied", "cancelled"]); diff --git a/src/features/selection-rewrite/runner.ts b/src/features/selection-rewrite/runner.ts index 7a55e96e..72c71d2c 100644 --- a/src/features/selection-rewrite/runner.ts +++ b/src/features/selection-rewrite/runner.ts @@ -8,13 +8,13 @@ import type { InitializeResponse } from "../../generated/app-server/InitializeRe import type { RequestId } from "../../generated/app-server/RequestId"; import type { ServerNotification } from "../../generated/app-server/ServerNotification"; import type { JsonValue } from "../../generated/app-server/serde_json/JsonValue"; -import type { ReasoningEffort } from "../../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../../domain/catalog/metadata"; import type { ThreadItem } from "../../generated/app-server/v2/ThreadItem"; import type { ThreadStartResponse } from "../../generated/app-server/v2/ThreadStartResponse"; import type { Turn } from "../../generated/app-server/v2/Turn"; import type { TurnStartResponse } from "../../generated/app-server/v2/TurnStartResponse"; import { loadPanelModelOptions } from "../../app-server/catalog-data"; -import type { PanelModelOption } from "../../domain/catalog/model"; +import type { PanelModelOption } from "../../domain/catalog/metadata"; import { runtimeOverride, validatedRuntimeOverrideForModelOptions } from "../../app-server/runtime-overrides"; import type { SelectionRewriteRuntimeSettings } from "./model"; import { SELECTION_REWRITE_DEVELOPER_INSTRUCTIONS, SELECTION_REWRITE_SERVICE_NAME } from "./prompt"; diff --git a/src/settings/app-server-data.ts b/src/settings/app-server-data.ts index 9e8b92ba..eae53085 100644 --- a/src/settings/app-server-data.ts +++ b/src/settings/app-server-data.ts @@ -2,7 +2,7 @@ import type { AppServerClient } from "../app-server/client"; import { loadPanelHooksForCwd, loadPanelModelOptions } from "../app-server/catalog-data"; import { appServerHookOperationFromPanelHookItem } from "../app-server/catalog-model"; import { panelThreadFromAppServerThread, panelThreadsFromAppServerThreads } from "../app-server/thread-model"; -import type { PanelHookItem, PanelModelOption } from "../domain/catalog/model"; +import type { PanelHookItem, PanelModelOption } from "../domain/catalog/metadata"; import type { PanelThread } from "../domain/threads/model"; import { errorMessage } from "../utils"; diff --git a/src/settings/dynamic-sections.ts b/src/settings/dynamic-sections.ts index 95c8d665..0c83d89c 100644 --- a/src/settings/dynamic-sections.ts +++ b/src/settings/dynamic-sections.ts @@ -1,6 +1,6 @@ import { Setting } from "obsidian"; -import type { PanelHookItem } from "../domain/catalog/model"; +import type { PanelHookItem } from "../domain/catalog/metadata"; import type { PanelThread } from "../domain/threads/model"; import { archivedThreadDisplayTitle } from "../domain/threads/model"; import { shortThreadId } from "../utils"; diff --git a/src/settings/model.ts b/src/settings/model.ts index 475025fb..f7cfc016 100644 --- a/src/settings/model.ts +++ b/src/settings/model.ts @@ -1,8 +1,8 @@ import { FileSystemAdapter, type App } from "obsidian"; import { DEFAULT_CODEX_PATH } from "../constants"; -import type { ReasoningEffort } from "../domain/catalog/reasoning-effort"; -import { normalizeReasoningEffort } from "../domain/catalog/reasoning-effort"; +import type { ReasoningEffort } from "../domain/catalog/metadata"; +import { normalizeReasoningEffort } from "../domain/catalog/metadata"; import type { SendShortcut } from "../shared/ui/keyboard"; export interface CodexPanelSettings { diff --git a/src/settings/tab.ts b/src/settings/tab.ts index 6346f650..253c2f10 100644 --- a/src/settings/tab.ts +++ b/src/settings/tab.ts @@ -3,11 +3,11 @@ import { type App, Notice, type Plugin, PluginSettingTab, Setting, setIcon } fro import type { AppServerClient } from "../app-server/client"; import { withShortLivedAppServerClient } from "../app-server/short-lived-client"; import { DEFAULT_CODEX_PATH } from "../constants"; -import type { ReasoningEffort } from "../domain/catalog/reasoning-effort"; -import type { PanelHookItem, PanelModelOption } from "../domain/catalog/model"; +import type { ReasoningEffort } from "../domain/catalog/metadata"; +import type { PanelHookItem, PanelModelOption } from "../domain/catalog/metadata"; import type { PanelThread } from "../domain/threads/model"; -import { REASONING_EFFORTS, supportedEffortsForModelOption } from "../domain/catalog/reasoning-effort"; -import { findModelOptionByIdOrName, sortedModelOptions } from "../domain/catalog/model"; +import { REASONING_EFFORTS, supportedEffortsForModelOption } from "../domain/catalog/metadata"; +import { findModelOptionByIdOrName, sortedModelOptions } from "../domain/catalog/metadata"; import { archivedThreadDisplayTitle } from "../domain/threads/model"; import { errorMessage } from "../utils"; import { diff --git a/src/workspace/thread-surface-coordinator.ts b/src/workspace/thread-surface-coordinator.ts index e42c0b46..f2a24e12 100644 --- a/src/workspace/thread-surface-coordinator.ts +++ b/src/workspace/thread-surface-coordinator.ts @@ -2,7 +2,7 @@ import type { App } from "obsidian"; import { VIEW_TYPE_CODEX_THREADS } from "../constants"; import { CodexThreadsView } from "../features/threads-view/view"; -import type { PanelModelOption } from "../domain/catalog/model"; +import type { PanelModelOption } from "../domain/catalog/metadata"; import type { PanelThread } from "../domain/threads/model"; import type { SharedAppServerMetadata } from "../app-server/shared-cache-state"; import type { WorkspacePanelCoordinator } from "./panel-coordinator"; diff --git a/tests/app-server/shared-cache-state.test.ts b/tests/app-server/shared-cache-state.test.ts index b7ae7448..f47956a0 100644 --- a/tests/app-server/shared-cache-state.test.ts +++ b/tests/app-server/shared-cache-state.test.ts @@ -10,7 +10,7 @@ import { cachedSharedThreadList, createSharedAppServerState, } from "../../src/app-server/shared-cache-state"; -import type { PanelModelOption } from "../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../src/domain/catalog/metadata"; import type { PanelThread } from "../../src/domain/threads/model"; import type { Thread } from "../../src/generated/app-server/v2/Thread"; diff --git a/tests/features/chat/composer/composer-suggestions.test.ts b/tests/features/chat/composer/composer-suggestions.test.ts index 622a2f2f..52ec3437 100644 --- a/tests/features/chat/composer/composer-suggestions.test.ts +++ b/tests/features/chat/composer/composer-suggestions.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest"; import type { ReasoningEffort } from "../../../../src/generated/app-server/ReasoningEffort"; import type { Thread } from "../../../../src/generated/app-server/v2/Thread"; -import type { PanelModelOption } from "../../../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../../../src/domain/catalog/metadata"; import { activeComposerSuggestions, applyComposerSuggestionInsertion, diff --git a/tests/features/chat/runtime/runtime-settings-actions.test.ts b/tests/features/chat/runtime/runtime-settings-actions.test.ts index 9919e876..9048bd38 100644 --- a/tests/features/chat/runtime/runtime-settings-actions.test.ts +++ b/tests/features/chat/runtime/runtime-settings-actions.test.ts @@ -8,7 +8,7 @@ import { createChatState, createChatStateStore, type ChatState } from "../../../ import { runtimeSnapshotForChatSlices } from "../../../../src/features/chat/panel/model"; import type { ActiveThreadSettingsAppliedAction } from "../../../../src/features/chat/chat-state-actions"; import type { AppServerClient } from "../../../../src/app-server/client"; -import type { PanelModelOption } from "../../../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../../../src/domain/catalog/metadata"; describe("createChatRuntimeSettingsActions", () => { it("applies pending runtime overrides through thread settings and commits them", async () => { diff --git a/tests/features/chat/view-model.test.ts b/tests/features/chat/view-model.test.ts index de08107a..174c4733 100644 --- a/tests/features/chat/view-model.test.ts +++ b/tests/features/chat/view-model.test.ts @@ -16,7 +16,7 @@ import { toolbarViewModel, } from "../../../src/features/chat/panel/model"; import type { ChatState } from "../../../src/features/chat/chat-state"; -import type { PanelModelOption } from "../../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../../src/domain/catalog/metadata"; import type { Thread } from "../../../src/generated/app-server/v2/Thread"; import type { ConfigReadResponse } from "../../../src/generated/app-server/v2/ConfigReadResponse"; diff --git a/tests/features/selection-rewrite/selection-rewrite.test.ts b/tests/features/selection-rewrite/selection-rewrite.test.ts index d6bd1a57..837b3254 100644 --- a/tests/features/selection-rewrite/selection-rewrite.test.ts +++ b/tests/features/selection-rewrite/selection-rewrite.test.ts @@ -26,7 +26,7 @@ import { type SelectionRewriteClientFactory, } from "../../../src/features/selection-rewrite/runner"; import type { AppServerClientHandlers } from "../../../src/app-server/client"; -import type { PanelModelOption } from "../../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../../src/domain/catalog/metadata"; import type { InitializeResponse } from "../../../src/generated/app-server/InitializeResponse"; import type { ServerNotification } from "../../../src/generated/app-server/ServerNotification"; import type { JsonValue } from "../../../src/generated/app-server/serde_json/JsonValue"; diff --git a/tests/runtime/runtime-settings.test.ts b/tests/runtime/runtime-settings.test.ts index 1de37109..9f5193bd 100644 --- a/tests/runtime/runtime-settings.test.ts +++ b/tests/runtime/runtime-settings.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; import type { ConfigReadResponse } from "../../src/generated/app-server/v2/ConfigReadResponse"; -import type { PanelModelOption } from "../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../src/domain/catalog/metadata"; import { compactModelLabel, compactReasoningEffortLabel, diff --git a/tests/settings/settings-tab.test.ts b/tests/settings/settings-tab.test.ts index da4365a8..93f61559 100644 --- a/tests/settings/settings-tab.test.ts +++ b/tests/settings/settings-tab.test.ts @@ -6,7 +6,7 @@ import type { Thread } from "../../src/generated/app-server/v2/Thread"; import type { HookMetadata } from "../../src/generated/app-server/v2/HookMetadata"; import type { Model } from "../../src/generated/app-server/v2/Model"; import type { ReasoningEffort } from "../../src/generated/app-server/ReasoningEffort"; -import type { PanelModelOption } from "../../src/domain/catalog/model"; +import type { PanelModelOption } from "../../src/domain/catalog/metadata"; import { panelModelOptionsFromAppServerModels } from "../../src/app-server/catalog-model"; import { CodexPanelSettingTab } from "../../src/settings/tab"; import { archivedThreadDisplayTitle } from "../../src/domain/threads/model";