Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions pkg/workflow/safe_output_validation_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ var ValidationConfig = map[string]TypeValidationConfig{
"create_project": {
DefaultMax: 1,
Fields: map[string]FieldValidation{
"title": {Required: false, Type: "string", Sanitize: true, MaxLength: 256},
"title": {Type: "string", Sanitize: true, MaxLength: 256},
"owner": {Type: "string", Sanitize: true, MaxLength: 128},
"owner_type": {Type: "string", Enum: []string{"org", "user"}},
"item_url": {Type: "string", Sanitize: true, MaxLength: 512, Pattern: "^https://github\\.com/[^/]+/[^/]+/issues/\\d+", PatternError: "must be a full GitHub issue URL (e.g., https://github.com/owner/repo/issues/123)"},
Expand All @@ -274,24 +274,20 @@ var ValidationConfig = map[string]TypeValidationConfig{
// If enabledTypes is provided, returns only configs for the specified types
func GetValidationConfigJSON(enabledTypes []string) (string, error) {
safeOutputValidationLog.Printf("Getting validation config JSON for %d types", len(enabledTypes))
var configToMarshal map[string]TypeValidationConfig

if len(enabledTypes) == 0 {
// Return all configs (backwards compatible)
safeOutputValidationLog.Print("Returning all validation configs")
configToMarshal = ValidationConfig
} else {
// Filter to only enabled types
configToMarshal := ValidationConfig
if len(enabledTypes) > 0 {
safeOutputValidationLog.Printf("Filtering validation configs to enabled types: %v", enabledTypes)
configToMarshal = make(map[string]TypeValidationConfig)
for _, typeName := range enabledTypes {
if config, ok := ValidationConfig[typeName]; ok {
configToMarshal[typeName] = config
}
}
} else {
safeOutputValidationLog.Print("Returning all validation configs")
}

// Use MarshalIndent for pretty-printed JSON to avoid merge issues
data, err := json.MarshalIndent(configToMarshal, "", " ")
if err != nil {
safeOutputValidationLog.Printf("Failed to marshal validation config: %v", err)
Expand Down
Loading