refactor: extract default assistant content to shared constants

Apply code review feedback from gemini-code-assist:
- Move fallback strings to kirocommon package as exported constants
- Update kiro_claude_request.go to use shared constants
- Update kiro_openai_request.go to use shared constants
- Improves maintainability and avoids duplication
This commit is contained in:
taetaetae
2026-02-05 23:36:57 +09:00
parent 88872baffc
commit 14f044ce4f
3 changed files with 12 additions and 7 deletions

View File

@@ -889,9 +889,9 @@ func BuildAssistantMessageStruct(msg gjson.Result) KiroAssistantResponseMessage
finalContent := contentBuilder.String()
if strings.TrimSpace(finalContent) == "" {
if len(toolUses) > 0 {
finalContent = "I'll help you with that."
finalContent = kirocommon.DefaultAssistantContentWithTools
} else {
finalContent = "I understand."
finalContent = kirocommon.DefaultAssistantContent
}
log.Debugf("kiro: assistant content was empty, using default: %s", finalContent)
}

View File

@@ -29,6 +29,14 @@ const (
// InlineCodeMarker is the markdown inline code marker (backtick).
InlineCodeMarker = "`"
// DefaultAssistantContentWithTools is the fallback content for assistant messages
// that have tool_use but no text content. Kiro API requires non-empty content.
DefaultAssistantContentWithTools = "I'll help you with that."
// DefaultAssistantContent is the fallback content for assistant messages
// that have no content at all. Kiro API requires non-empty content.
DefaultAssistantContent = "I understand."
// KiroAgenticSystemPrompt is injected only for -agentic models to prevent timeouts on large writes.
// AWS Kiro API has a 2-3 minute timeout for large file write operations.
KiroAgenticSystemPrompt = `

View File

@@ -718,13 +718,10 @@ func buildAssistantMessageFromOpenAI(msg gjson.Result) KiroAssistantResponseMess
// This can happen with compaction requests or error recovery scenarios
finalContent := contentBuilder.String()
if strings.TrimSpace(finalContent) == "" {
const defaultAssistantContentWithTools = "I'll help you with that."
const defaultAssistantContent = "I understand."
if len(toolUses) > 0 {
finalContent = defaultAssistantContentWithTools
finalContent = kirocommon.DefaultAssistantContentWithTools
} else {
finalContent = defaultAssistantContent
finalContent = kirocommon.DefaultAssistantContent
}
log.Debugf("kiro-openai: assistant content was empty, using default: %s", finalContent)
}