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
Parent issue
#756
Context
Add the
@roo-code/typesdefinitions needed by all other claude-code sub-issues. Follows the same pattern aspackages/types/src/providers/openai-codex.ts.Files
packages/types/src/providers/claude-code.ts(new)packages/types/src/providers/index.tspackages/types/src/provider-settings.tsWork
claudeCodeModelsrecord reusing Anthropic model metadata shapes withinputPrice: 0,outputPrice: 0(subscription-based)ClaudeCodeModelIdtype andclaudeCodeDefaultModelIdclaudeCodeSchematoprovider-settings.ts:{ claudeCodeCliPath?: z.string().optional() }— no API key field"claude-code"to the provider union andallProviderModelFieldsTests
packages/types/src/__tests__/claude-code.spec.tsinputPrice: 0andoutputPrice: 0claudeCodeCliPath)Acceptance criteria
ClaudeCodeModelId,claudeCodeModels,claudeCodeDefaultModelIdare exported from@roo-code/typesProviderSettingsacceptsclaudeCodeCliPathas optional string"claude-code"is a validApiProvidervalue