smart-spec-kit-mcp 2.2.9 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,11 @@ export declare const WorkflowStepSchema: z.ZodObject<{
19
19
  }>;
20
20
  description: z.ZodString;
21
21
  agent: z.ZodOptional<z.ZodString>;
22
- inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
22
+ inputs: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
23
+ name: z.ZodString;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ required: z.ZodOptional<z.ZodBoolean>;
26
+ }, z.core.$strip>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>]>>;
23
27
  outputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
28
  next: z.ZodOptional<z.ZodString>;
25
29
  }, z.core.$strip>;
@@ -59,7 +63,11 @@ export declare const WorkflowSchema: z.ZodObject<{
59
63
  }>;
60
64
  description: z.ZodString;
61
65
  agent: z.ZodOptional<z.ZodString>;
62
- inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
66
+ inputs: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
67
+ name: z.ZodString;
68
+ description: z.ZodOptional<z.ZodString>;
69
+ required: z.ZodOptional<z.ZodBoolean>;
70
+ }, z.core.$strip>>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>]>>;
63
71
  outputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
72
  next: z.ZodOptional<z.ZodString>;
65
73
  }, z.core.$strip>>;
@@ -1 +1 @@
1
- {"version":3,"file":"workflowSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzB,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"workflowSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzB,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -4,6 +4,28 @@
4
4
  * Zod schemas for validating workflow YAML files
5
5
  */
6
6
  import { z } from "zod";
7
+ /**
8
+ * Schema for input parameter (flexible format)
9
+ */
10
+ const InputItemSchema = z.object({
11
+ name: z.string(),
12
+ description: z.string().optional(),
13
+ required: z.boolean().optional(),
14
+ });
15
+ /**
16
+ * Flexible input value: can be string or array of strings
17
+ */
18
+ const FlexibleInputValue = z.union([
19
+ z.string(),
20
+ z.array(z.string()),
21
+ ]);
22
+ /**
23
+ * Flexible inputs: can be array of objects or key-value record with flexible values
24
+ */
25
+ const FlexibleInputsSchema = z.union([
26
+ z.array(InputItemSchema),
27
+ z.record(z.string(), FlexibleInputValue),
28
+ ]).optional();
7
29
  /**
8
30
  * Schema for a single workflow step
9
31
  */
@@ -14,7 +36,7 @@ export const WorkflowStepSchema = z.object({
14
36
  .describe("The type of action to perform"),
15
37
  description: z.string().describe("Detailed description of what this step does"),
16
38
  agent: z.string().optional().describe("Agent to use for this step (e.g., SpecAgent, PlanAgent)"),
17
- inputs: z.record(z.string(), z.string()).optional().describe("Input parameters for the step"),
39
+ inputs: FlexibleInputsSchema.describe("Input parameters for the step"),
18
40
  outputs: z.array(z.string()).optional().describe("Expected outputs from this step"),
19
41
  next: z.string().optional().describe("Next step ID (if not sequential)"),
20
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workflowSchema.js","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;SACrF,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAChG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACzE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnE,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACzF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACrF,CAAC,CAAC"}
1
+ {"version":3,"file":"workflowSchema.js","sourceRoot":"","sources":["../../src/schemas/workflowSchema.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,11 @@ export declare function getWorkflowStep(workflow: Workflow, stepId: string): {
51
51
  action: "fetch_ado" | "generate_content" | "review" | "create_file" | "call_agent";
52
52
  description: string;
53
53
  agent?: string | undefined;
54
- inputs?: Record<string, string> | undefined;
54
+ inputs?: Record<string, string | string[]> | {
55
+ name: string;
56
+ description?: string | undefined;
57
+ required?: boolean | undefined;
58
+ }[] | undefined;
55
59
  outputs?: string[] | undefined;
56
60
  next?: string | undefined;
57
61
  } | undefined;
@@ -64,7 +68,11 @@ export declare function getFirstStep(workflow: Workflow): {
64
68
  action: "fetch_ado" | "generate_content" | "review" | "create_file" | "call_agent";
65
69
  description: string;
66
70
  agent?: string | undefined;
67
- inputs?: Record<string, string> | undefined;
71
+ inputs?: Record<string, string | string[]> | {
72
+ name: string;
73
+ description?: string | undefined;
74
+ required?: boolean | undefined;
75
+ }[] | undefined;
68
76
  outputs?: string[] | undefined;
69
77
  next?: string | undefined;
70
78
  } | undefined;
@@ -77,7 +85,11 @@ export declare function getNextStep(workflow: Workflow, currentStepId: string):
77
85
  action: "fetch_ado" | "generate_content" | "review" | "create_file" | "call_agent";
78
86
  description: string;
79
87
  agent?: string | undefined;
80
- inputs?: Record<string, string> | undefined;
88
+ inputs?: Record<string, string | string[]> | {
89
+ name: string;
90
+ description?: string | undefined;
91
+ required?: boolean | undefined;
92
+ }[] | undefined;
81
93
  outputs?: string[] | undefined;
82
94
  next?: string | undefined;
83
95
  } | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"workflowLoader.d.ts","sourceRoot":"","sources":["../../src/utils/workflowLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7E,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAmH7D;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAC9D,CAEA;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8B1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;;;;;;cAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;cAE9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM;;;;;;;;;qBAepE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiErD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3D,CASA"}
1
+ {"version":3,"file":"workflowLoader.d.ts","sourceRoot":"","sources":["../../src/utils/workflowLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7E,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAmH7D;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAC9D,CAEA;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8B1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;cAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;cAE9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM;;;;;;;;;;;;;qBAepE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiErD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3D,CASA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smart-spec-kit-mcp",
3
- "version": "2.2.9",
3
+ "version": "2.3.0",
4
4
  "description": "AI-driven specification platform using MCP (Model Context Protocol) for VS Code & GitHub Copilot",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,12 +1,12 @@
1
1
  # Bugfix Workflow
2
- # Streamlined process for bug fixes with validation checkpoints
2
+ # Structured process for bug fixes
3
3
 
4
4
  name: bugfix
5
5
  displayName: "Bug Fix"
6
6
  description: "Structured workflow for analyzing, fixing, and validating bug corrections"
7
7
 
8
8
  metadata:
9
- version: "1.0"
9
+ version: "2.0"
10
10
  author: "Spec-Kit"
11
11
  tags:
12
12
  - bugfix
@@ -17,31 +17,37 @@ template: bugfix-report.md
17
17
  defaultAgent: SpecAgent
18
18
 
19
19
  steps:
20
+ # Step 1: Analyze Bug
20
21
  - id: analyze-bug
21
- name: "Analyze Bug & Root Cause"
22
- action: fetch_ado
22
+ name: "1. Analyze Bug"
23
+ action: call_agent
24
+ agent: SpecAgent
23
25
  description: |
24
- Retrieve the bug work item from Azure DevOps and analyze:
25
- - Reproduction steps
26
- - Error logs and stack traces
27
- - Affected components
28
- - User impact assessment
26
+ Analyze the bug based on user description:
27
+
28
+ - Understand the symptoms
29
+ - Identify reproduction steps
30
+ - Locate affected components
31
+ - Determine root cause
29
32
 
30
- Identify the root cause of the issue.
33
+ Document findings clearly.
34
+ inputs:
35
+ bug_description: "Description from user"
31
36
  outputs:
32
- - bug_data
33
37
  - root_cause_analysis
34
38
 
39
+ # Step 2: Plan Fix
35
40
  - id: plan-fix
36
- name: "Plan Correction"
41
+ name: "2. Plan Correction"
37
42
  action: call_agent
38
43
  agent: PlanAgent
39
44
  description: |
40
- Create a correction plan including:
45
+ Create a correction plan:
46
+
41
47
  - Proposed fix approach
42
48
  - Files/components to modify
43
49
  - Potential side effects
44
- - Rollback strategy if needed
50
+ - Test cases to verify fix
45
51
 
46
52
  Keep the fix minimal and focused.
47
53
  inputs:
@@ -49,51 +55,36 @@ steps:
49
55
  outputs:
50
56
  - fix_plan
51
57
 
52
- - id: security-check
53
- name: "Security Validation"
54
- action: review
55
- agent: GovAgent
56
- description: |
57
- Quick security review of the proposed fix:
58
- - [ ] No new vulnerabilities introduced
59
- - [ ] Input validation maintained
60
- - [ ] No sensitive data exposure
61
- - [ ] Authentication/Authorization intact
62
- inputs:
63
- document: "fix_plan"
64
- outputs:
65
- - security_clearance
66
-
58
+ # Step 3: Implement Fix
67
59
  - id: implement-fix
68
- name: "Implement & Test"
69
- action: generate_content
60
+ name: "3. Implement Fix"
61
+ action: call_agent
62
+ agent: SpecAgent
70
63
  description: |
71
- Implement the fix following the plan:
72
- 1. Write the code fix
73
- 2. Add unit tests for the bug scenario
74
- 3. Add regression tests
75
- 4. Update documentation if needed
64
+ Implement the bug fix:
76
65
 
77
- Ensure test coverage for the fixed code path.
66
+ - Make minimal changes
67
+ - Follow project conventions
68
+ - Add/update tests
69
+ - Document the fix
78
70
  inputs:
79
- plan: "fix_plan"
71
+ source: "fix_plan"
80
72
  outputs:
81
- - code_changes
82
- - test_cases
73
+ - implementation
83
74
 
84
- - id: final-review
85
- name: "Final Review"
75
+ # Step 4: Verify
76
+ - id: verify-fix
77
+ name: "4. Verify Fix"
86
78
  action: review
87
79
  agent: GovAgent
88
80
  description: |
89
- Final validation before merge:
90
- - [ ] Fix addresses root cause
91
- - [ ] No regression introduced
81
+ Verify the fix is complete:
82
+
83
+ - [ ] Bug is resolved
84
+ - [ ] No regressions introduced
92
85
  - [ ] Tests pass
93
- - [ ] Code review approved
94
- - [ ] Documentation updated
86
+ - [ ] No security issues
95
87
  inputs:
96
- changes: "code_changes"
97
- tests: "test_cases"
88
+ source: "implementation"
98
89
  outputs:
99
- - approval_status
90
+ - verification_report