fix(types): consolidate enhancement alias and fix update command
- Add "enhancement" to util.issueTypeAliases for consistency - Make types.IssueType.Normalize() case-insensitive and include all aliases - Fix update.go to normalize type before validation - Remove duplicate type validation block in update.go Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
Steve Yegge
parent
62dd5f8585
commit
aee86dfae2
@@ -12,6 +12,7 @@ import (
|
|||||||
"github.com/steveyegge/beads/internal/timeparsing"
|
"github.com/steveyegge/beads/internal/timeparsing"
|
||||||
"github.com/steveyegge/beads/internal/types"
|
"github.com/steveyegge/beads/internal/types"
|
||||||
"github.com/steveyegge/beads/internal/ui"
|
"github.com/steveyegge/beads/internal/ui"
|
||||||
|
"github.com/steveyegge/beads/internal/util"
|
||||||
"github.com/steveyegge/beads/internal/validation"
|
"github.com/steveyegge/beads/internal/validation"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -103,7 +104,8 @@ create, update, show, or close operation).`,
|
|||||||
}
|
}
|
||||||
if cmd.Flags().Changed("type") {
|
if cmd.Flags().Changed("type") {
|
||||||
issueType, _ := cmd.Flags().GetString("type")
|
issueType, _ := cmd.Flags().GetString("type")
|
||||||
// Validate issue type
|
// Normalize aliases (e.g., "enhancement" -> "feature") before validating
|
||||||
|
issueType = util.NormalizeIssueType(issueType)
|
||||||
if !types.IssueType(issueType).IsValid() {
|
if !types.IssueType(issueType).IsValid() {
|
||||||
FatalErrorRespectJSON("invalid issue type %q. Valid types: bug, feature, task, epic, chore, merge-request, molecule, gate, agent, role, rig, convoy, event, slot", issueType)
|
FatalErrorRespectJSON("invalid issue type %q. Valid types: bug, feature, task, epic, chore, merge-request, molecule, gate, agent, role, rig, convoy, event, slot", issueType)
|
||||||
}
|
}
|
||||||
@@ -125,14 +127,6 @@ create, update, show, or close operation).`,
|
|||||||
parent, _ := cmd.Flags().GetString("parent")
|
parent, _ := cmd.Flags().GetString("parent")
|
||||||
updates["parent"] = parent
|
updates["parent"] = parent
|
||||||
}
|
}
|
||||||
if cmd.Flags().Changed("type") {
|
|
||||||
issueType, _ := cmd.Flags().GetString("type")
|
|
||||||
// Validate issue type
|
|
||||||
if _, err := validation.ParseIssueType(issueType); err != nil {
|
|
||||||
FatalErrorRespectJSON("%v", err)
|
|
||||||
}
|
|
||||||
updates["issue_type"] = issueType
|
|
||||||
}
|
|
||||||
// Gate fields (bd-z6kw)
|
// Gate fields (bd-z6kw)
|
||||||
if cmd.Flags().Changed("await-id") {
|
if cmd.Flags().Changed("await-id") {
|
||||||
awaitID, _ := cmd.Flags().GetString("await-id")
|
awaitID, _ := cmd.Flags().GetString("await-id")
|
||||||
|
|||||||
@@ -529,11 +529,16 @@ func (t IssueType) IsValidWithCustom(customTypes []string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Normalize maps issue type aliases to their canonical form.
|
// Normalize maps issue type aliases to their canonical form.
|
||||||
// For example, "enhancement" -> "feature".
|
// For example, "enhancement" -> "feature", "mr" -> "merge-request".
|
||||||
|
// Case-insensitive to match util.NormalizeIssueType behavior.
|
||||||
func (t IssueType) Normalize() IssueType {
|
func (t IssueType) Normalize() IssueType {
|
||||||
switch t {
|
switch strings.ToLower(string(t)) {
|
||||||
case "enhancement":
|
case "enhancement", "feat":
|
||||||
return TypeFeature
|
return TypeFeature
|
||||||
|
case "mr":
|
||||||
|
return TypeMergeRequest
|
||||||
|
case "mol":
|
||||||
|
return TypeMolecule
|
||||||
default:
|
default:
|
||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ import "strings"
|
|||||||
|
|
||||||
// issueTypeAliases maps shorthand type names to canonical types
|
// issueTypeAliases maps shorthand type names to canonical types
|
||||||
var issueTypeAliases = map[string]string{
|
var issueTypeAliases = map[string]string{
|
||||||
"mr": "merge-request",
|
"mr": "merge-request",
|
||||||
"feat": "feature",
|
"feat": "feature",
|
||||||
"mol": "molecule",
|
"mol": "molecule",
|
||||||
|
"enhancement": "feature",
|
||||||
}
|
}
|
||||||
|
|
||||||
// NormalizeIssueType expands type aliases to their canonical forms.
|
// NormalizeIssueType expands type aliases to their canonical forms.
|
||||||
|
|||||||
Reference in New Issue
Block a user