/* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
import { z } from 'zod'

const _deepseek_ai_dsh_llm_llm_discoverModels_parameter_0$schema = z.string()
const _deepseek_ai_dsh_llm_llm_discoverModels_parameter_1$schema = z.object({
  'provider': z.string().optional(),
  'baseURL': z.string().optional(),
  'api': z.string().optional(),
  'apiKey': z.string().optional(),
})
const _deepseek_ai_dsh_llm_llm_discoverModels_result$schema = z.array(z.object({
  'id': z.string(),
  'name': z.string().optional(),
  'contextWindow': z.number().optional(),
  'maxTokens': z.number().optional(),
}))
const _deepseek_ai_dsh_llm_llm_listConfigurableProviders_result$schema = z.array(z.object({
  'provider': z.string(),
  'displayName': z.string(),
  'settingsNs': z.string(),
  'settingsPath': z.array(z.string()),
  'declared': z.boolean().optional(),
}))
const _deepseek_ai_dsh_llm_llm_listProviders_result$schema = z.array(z.object({
  'id': z.string(),
  'name': z.string(),
}))

export const TYPERT_REMOTE = {
  package: '@deepseek-ai/dsh-llm',
  descriptors: [
    {
      id: '@deepseek-ai/dsh-llm#llm/discoverModels',
      service: 'llm',
      namespace: 'llm',
      method: 'discoverModels',
      implementation: 'remoteDiscoverModels',
      invocation: { kind: 'direct' },
      parameters: [
        {
          name: 'settingsNs',
          wire: 'settingsNs',
          source: 'json',
          codec: {
            mode: 'strict',
            typeSymbol: '@deepseek-ai/dsh-llm#llm/discoverModels:settingsNs',
            schema: _deepseek_ai_dsh_llm_llm_discoverModels_parameter_0$schema,
          },
        },
        {
          name: 'request',
          wire: 'request',
          source: 'json',
          codec: {
            mode: 'strict',
            typeSymbol: '@deepseek-ai/dsh-llm/types#LlmModelDiscoveryRequest',
            schema: _deepseek_ai_dsh_llm_llm_discoverModels_parameter_1$schema,
          },
        },
      ],
      cancellation: { parameter: 'signal' },
      result: {
        mode: 'strict',
        typeSymbol: '@deepseek-ai/dsh-llm#llm/discoverModels:result',
        schema: _deepseek_ai_dsh_llm_llm_discoverModels_result$schema,
      },
      sourceLocation: {"file":"packages/llm/llm/src/index.ts","line":621,"column":9},
    },
    {
      id: '@deepseek-ai/dsh-llm#llm/listConfigurableProviders',
      service: 'llm',
      namespace: 'llm',
      method: 'listConfigurableProviders',
      invocation: { kind: 'direct' },
      parameters: [
      ],
      result: {
        mode: 'strict',
        typeSymbol: '@deepseek-ai/dsh-llm#llm/listConfigurableProviders:result',
        schema: _deepseek_ai_dsh_llm_llm_listConfigurableProviders_result$schema,
      },
      sourceLocation: {"file":"packages/llm/llm/src/index.ts","line":534,"column":3},
    },
    {
      id: '@deepseek-ai/dsh-llm#llm/listProviders',
      service: 'llm',
      namespace: 'llm',
      method: 'listProviders',
      invocation: { kind: 'direct' },
      parameters: [
      ],
      result: {
        mode: 'strict',
        typeSymbol: '@deepseek-ai/dsh-llm#llm/listProviders:result',
        schema: _deepseek_ai_dsh_llm_llm_listProviders_result$schema,
      },
      sourceLocation: {"file":"packages/llm/llm/src/index.ts","line":462,"column":3},
    },
  ],
}

export default TYPERT_REMOTE
