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

22.22% Statements 6/27
100% Branches 0/0
0% Functions 0/3
22.22% Lines 6/27

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 25 26 27 28 29 30 31 32  1x   1x 1x 1x                             1x                   1x  
import type { InternalProviderAPIConfig } from '@shared/types/ai-providers/config';
import { FunctionName } from '@shared/types/api/request';
 
export const deepbricksAPIConfig: InternalProviderAPIConfig = {
  getBaseURL: () => 'https://api.deepbricks.ai/v1',
  headers: ({ saTarget: providerOptions }) => {
    const headersObj: Record<string, string> = {
      Authorization: `Bearer ${providerOptions.api_key}`,
    };
    if (providerOptions.openai_organization) {
      headersObj['Deepbricks-Organization'] =
        providerOptions.openai_organization;
    }
 
    if (providerOptions.openai_project) {
      headersObj['Deepbricks-Project'] = providerOptions.openai_project;
    }
 
    return headersObj;
  },
  getEndpoint: ({ saRequestData }) => {
    switch (saRequestData.functionName) {
      case FunctionName.CHAT_COMPLETE:
        return '/chat/completions';
      case FunctionName.GENERATE_IMAGE:
        return '/images/generations';
      default:
        return '';
    }
  },
};