All files / api/src/ai-providers/cortex api.ts

0% Statements 0/20
100% Branches 1/1
100% Functions 1/1
0% Lines 0/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                               
import type { InternalProviderAPIConfig } from '@shared/types/ai-providers/config';
import { FunctionName } from '@shared/types/api/request';
 
const CortexAPIConfig: InternalProviderAPIConfig = {
  getBaseURL: ({ saTarget: providerOptions }) =>
    `https://${providerOptions.snowflake_account}.snowflakecomputing.com/api/v2`,
  headers: ({ saTarget: providerOptions }) => ({
    'X-Snowflake-Authorization-Token-Type': 'KEYPAIR_JWT',
    Authorization: `Bearer ${providerOptions.api_key}`,
    'Content-Type': 'application/json',
    Accept: 'application/json, text/event-stream',
  }),
  getEndpoint: ({ saRequestData }) => {
    switch (saRequestData.functionName) {
      case FunctionName.CHAT_COMPLETE:
        return '/cortex/inference:complete';
      default:
        return '';
    }
  },
};
 
export default CortexAPIConfig;