1
0

model.ts 980 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { Model } from "@opencode-ai/schema/model"
  2. import { ProviderV2 } from "./provider"
  3. import type { DeepMutable } from "./schema"
  4. export const ID = Model.ID
  5. export type ID = typeof ID.Type
  6. export const VariantID = Model.VariantID
  7. export type VariantID = typeof VariantID.Type
  8. // Grouping of models, eg claude opus, claude sonnet
  9. export const Family = Model.Family
  10. export type Family = Model.Family
  11. export const Capabilities = Model.Capabilities
  12. export type Capabilities = Model.Capabilities
  13. export const Cost = Model.Cost
  14. export const Ref = Model.Ref
  15. export type Ref = typeof Ref.Type
  16. export const Info = Model.Info
  17. export type Info = Model.Info
  18. export type MutableInfo = DeepMutable<Info>
  19. export function parse(input: string): { providerID: ProviderV2.ID; modelID: ID } {
  20. const [providerID, ...modelID] = input.split("/")
  21. return {
  22. providerID: ProviderV2.ID.make(providerID),
  23. modelID: ID.make(modelID.join("/")),
  24. }
  25. }
  26. export * as ModelV2 from "./model"