{"version":3,"sources":["/home/mkabumattar/work/withrawi/rawi/dist/chunk-W2WH4GMZ.cjs","../src/core/configs/utils.ts"],"names":["configManager","ConfigManager","getCredentials","profile","DEFAULT_PROFILE","isConfigured","credentials","settings","hasApiKey","requireCredentials","chalk","hasProviderChain","hasExplicitCredentials"],"mappings":"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","file":"/home/mkabumattar/work/withrawi/rawi/dist/chunk-W2WH4GMZ.cjs","sourcesContent":[null,"import chalk from 'chalk';\nimport {DEFAULT_PROFILE, type RawiCredentials} from '../shared/index.js';\nimport {ConfigManager} from './managers/config.manager.js';\n\nconst configManager = new ConfigManager();\n\nexport const getCredentials = (\n  profile = DEFAULT_PROFILE,\n): RawiCredentials | null => {\n  return configManager.getCredentials(profile);\n};\n\nexport const isConfigured = (profile = DEFAULT_PROFILE): boolean => {\n  const credentials = getCredentials(profile);\n\n  if (credentials?.provider === 'ollama') {\n    return Boolean(credentials.provider && credentials.model);\n  }\n\n  if (credentials?.provider === 'lmstudio') {\n    return Boolean(credentials.provider && credentials.model);\n  }\n\n  if (credentials?.provider === 'azure') {\n    return Boolean(\n      credentials.provider &&\n        credentials.model &&\n        (credentials.apiKey ||\n          (credentials.providerSettings &&\n            'apiKey' in credentials.providerSettings &&\n            credentials.providerSettings.apiKey)) &&\n        credentials.providerSettings &&\n        'resourceName' in credentials.providerSettings,\n    );\n  }\n\n  if (credentials?.provider === 'bedrock') {\n    if (!credentials.provider || !credentials.model) {\n      return false;\n    }\n\n    if (!credentials.providerSettings) {\n      return false;\n    }\n\n    const settings = credentials.providerSettings;\n\n    if ('useProviderChain' in settings && settings.useProviderChain) {\n      return true;\n    }\n\n    if (\n      'accessKeyId' in settings &&\n      'secretAccessKey' in settings &&\n      settings.accessKeyId &&\n      settings.secretAccessKey\n    ) {\n      return true;\n    }\n\n    return false;\n  }\n\n  const hasApiKey =\n    credentials &&\n    (credentials.apiKey ||\n      (credentials.providerSettings &&\n        'apiKey' in credentials.providerSettings &&\n        credentials.providerSettings.apiKey));\n\n  if (\n    credentials?.provider === 'xai' ||\n    credentials?.provider === 'openai' ||\n    credentials?.provider === 'google' ||\n    credentials?.provider === 'anthropic'\n  ) {\n    return Boolean(credentials?.provider && credentials?.model && hasApiKey);\n  }\n\n  return Boolean(hasApiKey && credentials?.provider && credentials?.model);\n};\n\nexport const requireCredentials = (\n  profile = DEFAULT_PROFILE,\n): RawiCredentials => {\n  const credentials = getCredentials(profile);\n\n  if (!credentials) {\n    console.error(\n      chalk.red(\n        `❌ No configuration found for profile '${profile}'. Run 'rawi configure' to set up.`,\n      ),\n    );\n    process.exit(1);\n  }\n\n  const hasApiKey =\n    credentials &&\n    (credentials.apiKey ||\n      (credentials.providerSettings &&\n        'apiKey' in credentials.providerSettings &&\n        credentials.providerSettings.apiKey));\n\n  if (credentials.provider === 'ollama') {\n    if (!credentials.provider || !credentials.model) {\n      console.error(\n        chalk.red(\n          `❌ Incomplete configuration for profile '${profile}'. Run 'rawi configure' to update.`,\n        ),\n      );\n      process.exit(1);\n    }\n  } else if (credentials.provider === 'azure') {\n    if (\n      !hasApiKey ||\n      !credentials.provider ||\n      !credentials.model ||\n      !credentials.providerSettings ||\n      !('resourceName' in credentials.providerSettings)\n    ) {\n      console.error(\n        chalk.red(\n          `❌ Incomplete Azure configuration for profile '${profile}'. Run 'rawi configure' to update.`,\n        ),\n      );\n      process.exit(1);\n    }\n  } else if (credentials.provider === 'bedrock') {\n    if (\n      !credentials.provider ||\n      !credentials.model ||\n      !credentials.providerSettings\n    ) {\n      console.error(\n        chalk.red(\n          `❌ Incomplete Bedrock configuration for profile '${profile}'. Run 'rawi configure' to update.`,\n        ),\n      );\n      process.exit(1);\n    }\n\n    const settings = credentials.providerSettings;\n    const hasProviderChain =\n      'useProviderChain' in settings && settings.useProviderChain;\n    const hasExplicitCredentials =\n      'accessKeyId' in settings &&\n      'secretAccessKey' in settings &&\n      settings.accessKeyId &&\n      settings.secretAccessKey;\n\n    if (!hasProviderChain && !hasExplicitCredentials) {\n      console.error(\n        chalk.red(\n          `❌ Incomplete Bedrock credentials for profile '${profile}'. Run 'rawi configure' to update.`,\n        ),\n      );\n      process.exit(1);\n    }\n  } else if (\n    credentials.provider === 'xai' ||\n    credentials.provider === 'openai' ||\n    credentials.provider === 'google' ||\n    credentials.provider === 'anthropic'\n  ) {\n    if (!credentials.provider || !credentials.model || !hasApiKey) {\n      console.error(\n        chalk.red(\n          `❌ Incomplete ${credentials.provider} configuration for profile '${profile}'. Run 'rawi configure' to update.`,\n        ),\n      );\n      process.exit(1);\n    }\n  } else {\n    if (!hasApiKey || !credentials.provider || !credentials.model) {\n      console.error(\n        chalk.red(\n          `❌ Incomplete configuration for profile '${profile}'. Run 'rawi configure' to update.`,\n        ),\n      );\n      process.exit(1);\n    }\n  }\n\n  return credentials;\n};\n"]}