// src/adapters/claude/session/models.ts
var MODELS_WITH_EFFORT = /* @__PURE__ */ new Set([
  "claude-opus-4-5",
  "claude-opus-4-6",
  "claude-opus-4-7",
  "claude-sonnet-4-6"
]);
var MODELS_WITH_XHIGH_EFFORT = /* @__PURE__ */ new Set([
  "claude-opus-4-6",
  "claude-opus-4-7"
]);
function supportsEffort(modelId) {
  return MODELS_WITH_EFFORT.has(modelId);
}
function supportsXhighEffort(modelId) {
  return MODELS_WITH_XHIGH_EFFORT.has(modelId);
}
function getEffortOptions(modelId) {
  if (!supportsEffort(modelId)) return null;
  const options = [
    { value: "low", name: "Low" },
    { value: "medium", name: "Medium" },
    { value: "high", name: "High" }
  ];
  if (supportsXhighEffort(modelId)) {
    options.push(
      { value: "xhigh", name: "Extra High" },
      { value: "max", name: "Max" }
    );
  }
  return options;
}

// src/adapters/codex/models.ts
var CODEX_REASONING_EFFORT_OPTIONS = [
  { value: "low", name: "Low" },
  { value: "medium", name: "Medium" },
  { value: "high", name: "High" }
];
function getReasoningEffortOptions(_modelId) {
  return CODEX_REASONING_EFFORT_OPTIONS;
}

// src/adapters/reasoning-effort.ts
function getReasoningEffortOptions2(adapter, modelId) {
  const options = adapter === "codex" ? getReasoningEffortOptions(modelId) : getEffortOptions(modelId);
  return options;
}
function isSupportedReasoningEffort(adapter, modelId, value) {
  return getReasoningEffortOptions2(adapter, modelId)?.some(
    (option) => option.value === value
  ) ?? false;
}
export {
  getReasoningEffortOptions2 as getReasoningEffortOptions,
  isSupportedReasoningEffort
};
//# sourceMappingURL=reasoning-effort.js.map