@@ -11,6 +11,16 @@ import (
1111 "github.com/dfanso/commit-msg/pkg/types"
1212)
1313
14+ const (
15+ claudeModel = "claude-3-5-sonnet-20241022"
16+ claudeMaxTokens = 200
17+ claudeAPIEndpoint = "https://api.anthropic.com/v1/messages"
18+ claudeAPIVersion = "2023-06-01"
19+ contentTypeJSON = "application/json"
20+ anthropicVersionHeader = "anthropic-version"
21+ xAPIKeyHeader = "x-api-key"
22+ )
23+
1424// ClaudeRequest describes the payload sent to Anthropic's Claude messages API.
1525type ClaudeRequest struct {
1626 Model string `json:"model"`
@@ -34,8 +44,8 @@ func GenerateCommitMessage(config *types.Config, changes string, apiKey string,
3444 prompt := types .BuildCommitPrompt (changes , opts )
3545
3646 reqBody := ClaudeRequest {
37- Model : "claude-3-5-sonnet-20241022" ,
38- MaxTokens : 200 ,
47+ Model : claudeModel ,
48+ MaxTokens : claudeMaxTokens ,
3949 Messages : []types.Message {
4050 {
4151 Role : "user" ,
@@ -50,14 +60,14 @@ func GenerateCommitMessage(config *types.Config, changes string, apiKey string,
5060 }
5161
5262 ctx := context .Background ()
53- req , err := http .NewRequestWithContext (ctx , "POST" , "https://api.anthropic.com/v1/messages" , bytes .NewBuffer (jsonData ))
63+ req , err := http .NewRequestWithContext (ctx , "POST" , claudeAPIEndpoint , bytes .NewBuffer (jsonData ))
5464 if err != nil {
5565 return "" , err
5666 }
5767
58- req .Header .Set ("Content-Type" , "application/json" )
59- req .Header .Set ("x-api-key" , apiKey )
60- req .Header .Set ("anthropic-version" , "2023-06-01" )
68+ req .Header .Set ("Content-Type" , contentTypeJSON )
69+ req .Header .Set (xAPIKeyHeader , apiKey )
70+ req .Header .Set (anthropicVersionHeader , claudeAPIVersion )
6171
6272 client := httpClient .GetClient ()
6373 resp , err := client .Do (req )
0 commit comments