Skip to content

[claude-code] Add model catalog and provider settings types #757

Description

@edelauna

Parent issue

#756

Context

Add the @roo-code/types definitions needed by all other claude-code sub-issues. Follows the same pattern as packages/types/src/providers/openai-codex.ts.

Files

  • packages/types/src/providers/claude-code.ts (new)
  • packages/types/src/providers/index.ts
  • packages/types/src/provider-settings.ts

Work

  • Add claudeCodeModels record reusing Anthropic model metadata shapes with inputPrice: 0, outputPrice: 0 (subscription-based)
  • Add ClaudeCodeModelId type and claudeCodeDefaultModelId
  • Add claudeCodeSchema to provider-settings.ts: { claudeCodeCliPath?: z.string().optional() } — no API key field
  • Add "claude-code" to the provider union and allProviderModelFields

Tests

packages/types/src/__tests__/claude-code.spec.ts

  • Default model ID exists in the models record
  • All models have inputPrice: 0 and outputPrice: 0
  • Schema accepts valid input (empty object, with claudeCodeCliPath)
  • Schema rejects unknown keys in strict mode

Acceptance criteria

  • ClaudeCodeModelId, claudeCodeModels, claudeCodeDefaultModelId are exported from @roo-code/types
  • ProviderSettings accepts claudeCodeCliPath as optional string
  • "claude-code" is a valid ApiProvider value
  • All unit tests pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions