feat(agentic): allow zero-variable template plans
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
49e13613d2
commit
6b0de57496
2 changed files with 20 additions and 3 deletions
|
|
@ -198,9 +198,6 @@ func (s *PrepSubsystem) templateCreatePlan(ctx context.Context, _ *mcp.CallToolR
|
|||
if templateName == "" {
|
||||
return nil, TemplateCreatePlanOutput{}, core.E("templateCreatePlan", "template is required", nil)
|
||||
}
|
||||
if input.Variables == nil {
|
||||
return nil, TemplateCreatePlanOutput{}, core.E("templateCreatePlan", "variables are required", nil)
|
||||
}
|
||||
|
||||
definition, err := loadPlanTemplateDefinition(templateName, input.Variables)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -111,6 +111,26 @@ func TestTemplate_HandleTemplateCreatePlan_Good(t *testing.T) {
|
|||
assert.Equal(t, "new-feature", stringValue(plan.Context["template"]))
|
||||
}
|
||||
|
||||
func TestTemplate_HandleTemplateCreatePlan_Good_NoVariables(t *testing.T) {
|
||||
subsystem := testPrepWithPlatformServer(t, nil, "")
|
||||
result := subsystem.handleTemplateCreatePlan(context.Background(), core.NewOptions(
|
||||
core.Option{Key: "template", Value: "api-consistency"},
|
||||
))
|
||||
require.True(t, result.OK)
|
||||
|
||||
output, ok := result.Value.(TemplateCreatePlanOutput)
|
||||
require.True(t, ok)
|
||||
assert.True(t, output.Success)
|
||||
assert.NotEmpty(t, output.Plan.Slug)
|
||||
assert.Equal(t, "API Consistency Audit", output.Plan.Title)
|
||||
assert.Equal(t, "draft", output.Plan.Status)
|
||||
|
||||
plan, err := readPlan(PlansRoot(), output.Plan.Slug)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "api-consistency", stringValue(plan.Context["template"]))
|
||||
assert.Empty(t, plan.Context["variables"])
|
||||
}
|
||||
|
||||
func TestTemplate_HandleTemplateCreatePlan_Bad(t *testing.T) {
|
||||
subsystem := testPrepWithPlatformServer(t, nil, "")
|
||||
result := subsystem.handleTemplateCreatePlan(context.Background(), core.NewOptions(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue