{"version":3,"sources":["/Users/ami/Documents/prometheus/x12i/ai-tools/dist/chunk-BQBVX2FN.cjs","../src/errors.ts","../src/profiles/catalogLane.ts"],"names":[],"mappings":"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","file":"/Users/ami/Documents/prometheus/x12i/ai-tools/dist/chunk-BQBVX2FN.cjs","sourcesContent":[null,"import type {\n  ModelResolutionInput,\n  ModelResolutionNotFound,\n} from \"./sync/modelNameResolver/types.js\";\n\nexport type AiToolsErrorCode =\n  | \"INVALID_INVOKE_INPUT\"\n  | \"MODEL_PROFILE_INPUT_REJECTED\"\n  | \"PROFILE_RESOLVE_KEY_REQUIRED\"\n  | \"MODEL_NOT_FOUND\"\n  | \"SYNC_FETCH_FAILED\"\n  | \"SYNC_UPSERT_FAILED\"\n  | \"COST_CALCULATION_FAILED\"\n  | \"COST_UNKNOWN_MODEL\"\n  | \"INVALID_USAGE_INPUT\"\n  | \"OPENROUTER_AUTH_FAILED\"\n  | \"OPENROUTER_MODELS_FETCH_FAILED\"\n  | \"CACHE_READ_ERROR\";\n\nexport class AiToolsError extends Error {\n  constructor(\n    public readonly code: AiToolsErrorCode,\n    message: string,\n    public readonly cause?: unknown,\n  ) {\n    super(message);\n    this.name = \"AiToolsError\";\n  }\n}\n\nexport class ModelNotFoundError extends AiToolsError {\n  constructor(modelId: string) {\n    super(\n      \"MODEL_NOT_FOUND\",\n      `Model not found: \"${modelId}\". Run \"npx ai-tools catalog refresh\" or verify the model id against the catalog.`,\n    );\n    this.name = \"ModelNotFoundError\";\n  }\n}\n\nexport class ModelProfileInputRejectedError extends AiToolsError {\n  constructor(public readonly model: string) {\n    super(\n      \"MODEL_PROFILE_INPUT_REJECTED\",\n      `Profile input \"${model}\" is not allowed when modelsOnly is true. Pass a concrete model id instead.`,\n    );\n    this.name = \"ModelProfileInputRejectedError\";\n  }\n}\n\nexport class ModelResolutionError extends AiToolsError {\n  constructor(\n    public readonly input: ModelResolutionInput,\n    public readonly result: ModelResolutionNotFound,\n  ) {\n    super(\n      \"MODEL_NOT_FOUND\",\n      `Could not resolve model \"${input.model}\" (provider: \"${input.provider ?? \"unspecified\"}\"). ` +\n        result.reason +\n        (result.bestRejectedCandidate\n          ? ` Best candidate was \"${result.bestRejectedCandidate.modelId}\" (confidence ${result.bestRejectedCandidate.confidence.toFixed(2)}).`\n          : \"\"),\n    );\n    this.name = \"ModelResolutionError\";\n  }\n}\n\nexport class SyncError extends AiToolsError {\n  constructor(code: Extract<AiToolsErrorCode, \"SYNC_FETCH_FAILED\" | \"SYNC_UPSERT_FAILED\" | \"OPENROUTER_AUTH_FAILED\" | \"OPENROUTER_MODELS_FETCH_FAILED\">, message: string, cause?: unknown) {\n    super(code, message, cause);\n    this.name = \"SyncError\";\n  }\n}\n\nexport class CostCalculationError extends AiToolsError {\n  constructor(message: string, cause?: unknown) {\n    super(\"COST_CALCULATION_FAILED\", message, cause);\n    this.name = \"CostCalculationError\";\n  }\n}\n\nexport class ProfileResolveKeyRequiredError extends AiToolsError {\n  constructor(\n    public readonly input: string,\n    options?: { reason?: \"bare_profile\" | \"not_profile_intent\" },\n  ) {\n    const hint =\n      options?.reason === \"not_profile_intent\"\n        ? `Use a profile/choice key (e.g. \"cheap/default\") or a concrete model id.`\n        : `Use \"profile/choice\" (e.g. \"${input}/default\") or pass choice explicitly.`;\n    super(\n      \"PROFILE_RESOLVE_KEY_REQUIRED\",\n      `Profile resolve key required for \"${input}\". ${hint}`,\n    );\n    this.name = \"ProfileResolveKeyRequiredError\";\n  }\n}\n\nexport class UnknownModelCostError extends AiToolsError {\n  constructor(\n    public readonly model: string,\n    public readonly provider: string,\n  ) {\n    super(\n      \"COST_UNKNOWN_MODEL\",\n      `Cannot price unknown model \"${model}\" (provider: \"${provider}\"). ` +\n        'Refresh catalogs with \"npx ai-tools catalog refresh\", use a known profile/choice key, or set throwOnUnknownModel: false.',\n    );\n    this.name = \"UnknownModelCostError\";\n  }\n}\n","import type { ProfileCatalogLane } from \"@x12i/ai-profiles\";\n\nexport type { ProfileCatalogLane };\n\n/** Default OpenRouter lane for token-priced LLM usage in this package. */\nexport const TEXT_CATALOG_LANE: ProfileCatalogLane = \"text\";\n"]}