File size: 972 Bytes
98c9143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
import type { Model } from "~/services/copilot/get-models"

export interface ProviderModelAlias {
  model: string
  provider: string
}

export const parseProviderModelAlias = (
  model: string,
): ProviderModelAlias | null => {
  const separatorIndex = model.indexOf("/")
  if (separatorIndex <= 0 || separatorIndex === model.length - 1) {
    return null
  }

  const provider = model.slice(0, separatorIndex).trim()
  const providerModel = model.slice(separatorIndex + 1).trim()
  if (!provider || !providerModel) {
    return null
  }

  return {
    model: providerModel,
    provider,
  }
}

export const createFallbackModel = (modelId: string): Model => ({
  capabilities: {
    family: "provider",
    limits: {},
    object: "model_capabilities",
    supports: {},
    tokenizer: "o200k_base",
    type: "chat",
  },
  id: modelId,
  model_picker_enabled: false,
  name: modelId,
  object: "model",
  preview: false,
  vendor: "provider",
  version: "unknown",
})