specky-sdd 1.0.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.
Files changed (78) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +446 -0
  3. package/dist/constants.d.ts +68 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +120 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/index.d.ts +10 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +95 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/schemas/common.d.ts +8 -0
  12. package/dist/schemas/common.d.ts.map +1 -0
  13. package/dist/schemas/common.js +18 -0
  14. package/dist/schemas/common.js.map +1 -0
  15. package/dist/schemas/pipeline.d.ts +296 -0
  16. package/dist/schemas/pipeline.d.ts.map +1 -0
  17. package/dist/schemas/pipeline.js +132 -0
  18. package/dist/schemas/pipeline.js.map +1 -0
  19. package/dist/schemas/transcript.d.ts +59 -0
  20. package/dist/schemas/transcript.d.ts.map +1 -0
  21. package/dist/schemas/transcript.js +61 -0
  22. package/dist/schemas/transcript.js.map +1 -0
  23. package/dist/schemas/utility.d.ts +92 -0
  24. package/dist/schemas/utility.d.ts.map +1 -0
  25. package/dist/schemas/utility.js +82 -0
  26. package/dist/schemas/utility.js.map +1 -0
  27. package/dist/services/codebase-scanner.d.ts +24 -0
  28. package/dist/services/codebase-scanner.d.ts.map +1 -0
  29. package/dist/services/codebase-scanner.js +185 -0
  30. package/dist/services/codebase-scanner.js.map +1 -0
  31. package/dist/services/ears-validator.d.ts +29 -0
  32. package/dist/services/ears-validator.d.ts.map +1 -0
  33. package/dist/services/ears-validator.js +163 -0
  34. package/dist/services/ears-validator.js.map +1 -0
  35. package/dist/services/file-manager.d.ts +56 -0
  36. package/dist/services/file-manager.d.ts.map +1 -0
  37. package/dist/services/file-manager.js +203 -0
  38. package/dist/services/file-manager.js.map +1 -0
  39. package/dist/services/state-machine.d.ts +46 -0
  40. package/dist/services/state-machine.d.ts.map +1 -0
  41. package/dist/services/state-machine.js +167 -0
  42. package/dist/services/state-machine.js.map +1 -0
  43. package/dist/services/template-engine.d.ts +37 -0
  44. package/dist/services/template-engine.d.ts.map +1 -0
  45. package/dist/services/template-engine.js +111 -0
  46. package/dist/services/template-engine.js.map +1 -0
  47. package/dist/services/transcript-parser.d.ts +61 -0
  48. package/dist/services/transcript-parser.d.ts.map +1 -0
  49. package/dist/services/transcript-parser.js +810 -0
  50. package/dist/services/transcript-parser.js.map +1 -0
  51. package/dist/tools/analysis.d.ts +10 -0
  52. package/dist/tools/analysis.d.ts.map +1 -0
  53. package/dist/tools/analysis.js +95 -0
  54. package/dist/tools/analysis.js.map +1 -0
  55. package/dist/tools/pipeline.d.ts +11 -0
  56. package/dist/tools/pipeline.d.ts.map +1 -0
  57. package/dist/tools/pipeline.js +583 -0
  58. package/dist/tools/pipeline.js.map +1 -0
  59. package/dist/tools/transcript.d.ts +14 -0
  60. package/dist/tools/transcript.d.ts.map +1 -0
  61. package/dist/tools/transcript.js +813 -0
  62. package/dist/tools/transcript.js.map +1 -0
  63. package/dist/tools/utility.d.ts +10 -0
  64. package/dist/tools/utility.d.ts.map +1 -0
  65. package/dist/tools/utility.js +239 -0
  66. package/dist/tools/utility.js.map +1 -0
  67. package/dist/types.d.ts +161 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +6 -0
  70. package/dist/types.js.map +1 -0
  71. package/package.json +53 -0
  72. package/templates/analysis.md +54 -0
  73. package/templates/bugfix.md +45 -0
  74. package/templates/constitution.md +56 -0
  75. package/templates/design.md +47 -0
  76. package/templates/specification.md +49 -0
  77. package/templates/sync-report.md +43 -0
  78. package/templates/tasks.md +38 -0
package/dist/index.js ADDED
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Specky MCP Server — Entry Point
4
+ * Spec-Driven Development engine for AI agents.
5
+ *
6
+ * Creator: Paula Silva @paulasilvatech @paulanunes85 | Americas Software GBB
7
+ * License: MIT
8
+ */
9
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
11
+ import { randomUUID } from "node:crypto";
12
+ import { VERSION, SERVER_NAME, DEFAULT_HTTP_PORT } from "./constants.js";
13
+ import { FileManager } from "./services/file-manager.js";
14
+ import { StateMachine } from "./services/state-machine.js";
15
+ import { TemplateEngine } from "./services/template-engine.js";
16
+ import { EarsValidator } from "./services/ears-validator.js";
17
+ import { CodebaseScanner } from "./services/codebase-scanner.js";
18
+ import { registerPipelineTools } from "./tools/pipeline.js";
19
+ import { registerAnalysisTools } from "./tools/analysis.js";
20
+ import { registerUtilityTools } from "./tools/utility.js";
21
+ import { registerTranscriptTools } from "./tools/transcript.js";
22
+ import { TranscriptParser } from "./services/transcript-parser.js";
23
+ // Resolve workspace root
24
+ const workspaceRoot = process.env["SDD_WORKSPACE"] || process.cwd();
25
+ console.error(`[specky] Workspace root: ${workspaceRoot}`);
26
+ // Initialize MCP server
27
+ const server = new McpServer({
28
+ name: SERVER_NAME,
29
+ version: VERSION,
30
+ });
31
+ // Initialize services
32
+ const fileManager = new FileManager(workspaceRoot);
33
+ const stateMachine = new StateMachine(fileManager);
34
+ const templateEngine = new TemplateEngine(fileManager);
35
+ const earsValidator = new EarsValidator();
36
+ const codebaseScanner = new CodebaseScanner(fileManager);
37
+ const transcriptParser = new TranscriptParser(fileManager);
38
+ // Register all tools (16 total)
39
+ registerPipelineTools(server, fileManager, stateMachine, templateEngine, earsValidator);
40
+ registerAnalysisTools(server, fileManager, stateMachine, templateEngine);
41
+ registerUtilityTools(server, fileManager, stateMachine, templateEngine, codebaseScanner);
42
+ registerTranscriptTools(server, fileManager, stateMachine, templateEngine, earsValidator, transcriptParser);
43
+ // Graceful shutdown
44
+ let isShuttingDown = false;
45
+ function handleShutdown(signal) {
46
+ if (isShuttingDown)
47
+ return;
48
+ isShuttingDown = true;
49
+ console.error(`[specky] Received ${signal}, shutting down gracefully...`);
50
+ server.close().then(() => {
51
+ console.error("[specky] Server closed.");
52
+ process.exit(0);
53
+ }).catch((err) => {
54
+ console.error("[specky] Error during shutdown:", err);
55
+ process.exit(1);
56
+ });
57
+ }
58
+ process.on("SIGINT", () => handleShutdown("SIGINT"));
59
+ process.on("SIGTERM", () => handleShutdown("SIGTERM"));
60
+ // Start server
61
+ async function main() {
62
+ const args = process.argv.slice(2);
63
+ const useHttp = args.includes("--http");
64
+ if (useHttp) {
65
+ const port = parseInt(process.env["PORT"] || String(DEFAULT_HTTP_PORT), 10);
66
+ const { StreamableHTTPServerTransport } = await import("@modelcontextprotocol/sdk/server/streamableHttp.js");
67
+ const http = await import("node:http");
68
+ const transport = new StreamableHTTPServerTransport({
69
+ sessionIdGenerator: () => randomUUID(),
70
+ });
71
+ await server.connect(transport);
72
+ const httpServer = http.createServer(async (req, res) => {
73
+ if (req.url === "/mcp") {
74
+ await transport.handleRequest(req, res);
75
+ }
76
+ else {
77
+ res.writeHead(404);
78
+ res.end("Not found");
79
+ }
80
+ });
81
+ httpServer.listen(port, () => {
82
+ console.error(`[specky] HTTP server listening on port ${port}`);
83
+ });
84
+ }
85
+ else {
86
+ const transport = new StdioServerTransport();
87
+ await server.connect(transport);
88
+ console.error(`[specky] Server started on stdio (v${VERSION})`);
89
+ }
90
+ }
91
+ main().catch((err) => {
92
+ console.error("[specky] Fatal error:", err);
93
+ process.exit(1);
94
+ });
95
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared Zod schemas used across multiple tools.
3
+ */
4
+ import { z } from "zod";
5
+ export declare const specDirSchema: z.ZodDefault<z.ZodString>;
6
+ export declare const featureNumberSchema: z.ZodDefault<z.ZodString>;
7
+ export declare const forceSchema: z.ZodDefault<z.ZodBoolean>;
8
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,2BAGqC,CAAC;AAEhE,eAAO,MAAM,mBAAmB,2BAIuB,CAAC;AAExD,eAAO,MAAM,WAAW,4BAGuB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared Zod schemas used across multiple tools.
3
+ */
4
+ import { z } from "zod";
5
+ export const specDirSchema = z
6
+ .string()
7
+ .default(".specs")
8
+ .describe("Spec directory path (relative to workspace root)");
9
+ export const featureNumberSchema = z
10
+ .string()
11
+ .regex(/^\d{3}$/, "Feature number must be 3 digits, e.g. '001'")
12
+ .default("001")
13
+ .describe("Feature number (zero-padded, e.g. '001')");
14
+ export const forceSchema = z
15
+ .boolean()
16
+ .default(false)
17
+ .describe("Overwrite existing files if true");
18
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,OAAO,CAAC,QAAQ,CAAC;KACjB,QAAQ,CAAC,kDAAkD,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,EAAE;KACR,KAAK,CAAC,SAAS,EAAE,6CAA6C,CAAC;KAC/D,OAAO,CAAC,KAAK,CAAC;KACd,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,OAAO,EAAE;KACT,OAAO,CAAC,KAAK,CAAC;KACd,QAAQ,CAAC,kCAAkC,CAAC,CAAC"}
@@ -0,0 +1,296 @@
1
+ /**
2
+ * Zod schemas for all 8 pipeline tool inputs.
3
+ */
4
+ import { z } from "zod";
5
+ export declare const initInputSchema: z.ZodObject<{
6
+ project_name: z.ZodString;
7
+ spec_dir: z.ZodDefault<z.ZodString>;
8
+ principles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
+ constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ }, "strict", z.ZodTypeAny, {
11
+ project_name: string;
12
+ spec_dir: string;
13
+ principles?: string[] | undefined;
14
+ constraints?: string[] | undefined;
15
+ }, {
16
+ project_name: string;
17
+ spec_dir?: string | undefined;
18
+ principles?: string[] | undefined;
19
+ constraints?: string[] | undefined;
20
+ }>;
21
+ export declare const discoverInputSchema: z.ZodObject<{
22
+ project_idea: z.ZodString;
23
+ codebase_summary: z.ZodOptional<z.ZodString>;
24
+ spec_dir: z.ZodDefault<z.ZodString>;
25
+ feature_number: z.ZodDefault<z.ZodString>;
26
+ }, "strict", z.ZodTypeAny, {
27
+ spec_dir: string;
28
+ project_idea: string;
29
+ feature_number: string;
30
+ codebase_summary?: string | undefined;
31
+ }, {
32
+ project_idea: string;
33
+ spec_dir?: string | undefined;
34
+ codebase_summary?: string | undefined;
35
+ feature_number?: string | undefined;
36
+ }>;
37
+ export declare const writeSpecInputSchema: z.ZodObject<{
38
+ feature_name: z.ZodString;
39
+ feature_number: z.ZodDefault<z.ZodString>;
40
+ discovery_answers: z.ZodRecord<z.ZodString, z.ZodString>;
41
+ requirements: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodString;
43
+ ears_pattern: z.ZodString;
44
+ text: z.ZodString;
45
+ acceptance_criteria: z.ZodArray<z.ZodString, "many">;
46
+ }, "strict", z.ZodTypeAny, {
47
+ id: string;
48
+ ears_pattern: string;
49
+ text: string;
50
+ acceptance_criteria: string[];
51
+ }, {
52
+ id: string;
53
+ ears_pattern: string;
54
+ text: string;
55
+ acceptance_criteria: string[];
56
+ }>, "many">;
57
+ spec_dir: z.ZodDefault<z.ZodString>;
58
+ force: z.ZodDefault<z.ZodBoolean>;
59
+ }, "strict", z.ZodTypeAny, {
60
+ spec_dir: string;
61
+ feature_number: string;
62
+ feature_name: string;
63
+ discovery_answers: Record<string, string>;
64
+ requirements: {
65
+ id: string;
66
+ ears_pattern: string;
67
+ text: string;
68
+ acceptance_criteria: string[];
69
+ }[];
70
+ force: boolean;
71
+ }, {
72
+ feature_name: string;
73
+ discovery_answers: Record<string, string>;
74
+ requirements: {
75
+ id: string;
76
+ ears_pattern: string;
77
+ text: string;
78
+ acceptance_criteria: string[];
79
+ }[];
80
+ spec_dir?: string | undefined;
81
+ feature_number?: string | undefined;
82
+ force?: boolean | undefined;
83
+ }>;
84
+ export declare const clarifyInputSchema: z.ZodObject<{
85
+ spec_dir: z.ZodDefault<z.ZodString>;
86
+ feature_number: z.ZodDefault<z.ZodString>;
87
+ }, "strict", z.ZodTypeAny, {
88
+ spec_dir: string;
89
+ feature_number: string;
90
+ }, {
91
+ spec_dir?: string | undefined;
92
+ feature_number?: string | undefined;
93
+ }>;
94
+ export declare const writeDesignInputSchema: z.ZodObject<{
95
+ architecture_overview: z.ZodString;
96
+ mermaid_diagrams: z.ZodArray<z.ZodObject<{
97
+ title: z.ZodString;
98
+ type: z.ZodString;
99
+ code: z.ZodString;
100
+ }, "strict", z.ZodTypeAny, {
101
+ title: string;
102
+ type: string;
103
+ code: string;
104
+ }, {
105
+ title: string;
106
+ type: string;
107
+ code: string;
108
+ }>, "many">;
109
+ adrs: z.ZodOptional<z.ZodArray<z.ZodObject<{
110
+ title: z.ZodString;
111
+ decision: z.ZodString;
112
+ rationale: z.ZodString;
113
+ consequences: z.ZodString;
114
+ }, "strict", z.ZodTypeAny, {
115
+ title: string;
116
+ decision: string;
117
+ rationale: string;
118
+ consequences: string;
119
+ }, {
120
+ title: string;
121
+ decision: string;
122
+ rationale: string;
123
+ consequences: string;
124
+ }>, "many">>;
125
+ api_contracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
126
+ endpoint: z.ZodString;
127
+ method: z.ZodString;
128
+ description: z.ZodString;
129
+ request: z.ZodOptional<z.ZodString>;
130
+ response: z.ZodOptional<z.ZodString>;
131
+ }, "strict", z.ZodTypeAny, {
132
+ endpoint: string;
133
+ method: string;
134
+ description: string;
135
+ request?: string | undefined;
136
+ response?: string | undefined;
137
+ }, {
138
+ endpoint: string;
139
+ method: string;
140
+ description: string;
141
+ request?: string | undefined;
142
+ response?: string | undefined;
143
+ }>, "many">>;
144
+ spec_dir: z.ZodDefault<z.ZodString>;
145
+ feature_number: z.ZodDefault<z.ZodString>;
146
+ force: z.ZodDefault<z.ZodBoolean>;
147
+ }, "strict", z.ZodTypeAny, {
148
+ spec_dir: string;
149
+ feature_number: string;
150
+ force: boolean;
151
+ architecture_overview: string;
152
+ mermaid_diagrams: {
153
+ title: string;
154
+ type: string;
155
+ code: string;
156
+ }[];
157
+ adrs?: {
158
+ title: string;
159
+ decision: string;
160
+ rationale: string;
161
+ consequences: string;
162
+ }[] | undefined;
163
+ api_contracts?: {
164
+ endpoint: string;
165
+ method: string;
166
+ description: string;
167
+ request?: string | undefined;
168
+ response?: string | undefined;
169
+ }[] | undefined;
170
+ }, {
171
+ architecture_overview: string;
172
+ mermaid_diagrams: {
173
+ title: string;
174
+ type: string;
175
+ code: string;
176
+ }[];
177
+ spec_dir?: string | undefined;
178
+ feature_number?: string | undefined;
179
+ force?: boolean | undefined;
180
+ adrs?: {
181
+ title: string;
182
+ decision: string;
183
+ rationale: string;
184
+ consequences: string;
185
+ }[] | undefined;
186
+ api_contracts?: {
187
+ endpoint: string;
188
+ method: string;
189
+ description: string;
190
+ request?: string | undefined;
191
+ response?: string | undefined;
192
+ }[] | undefined;
193
+ }>;
194
+ export declare const writeTasksInputSchema: z.ZodObject<{
195
+ tasks: z.ZodArray<z.ZodObject<{
196
+ id: z.ZodString;
197
+ title: z.ZodString;
198
+ description: z.ZodString;
199
+ effort: z.ZodEnum<["S", "M", "L"]>;
200
+ dependencies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
201
+ parallel: z.ZodDefault<z.ZodBoolean>;
202
+ traces_to: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
203
+ }, "strict", z.ZodTypeAny, {
204
+ title: string;
205
+ dependencies: string[];
206
+ id: string;
207
+ description: string;
208
+ effort: "S" | "M" | "L";
209
+ parallel: boolean;
210
+ traces_to: string[];
211
+ }, {
212
+ title: string;
213
+ id: string;
214
+ description: string;
215
+ effort: "S" | "M" | "L";
216
+ dependencies?: string[] | undefined;
217
+ parallel?: boolean | undefined;
218
+ traces_to?: string[] | undefined;
219
+ }>, "many">;
220
+ pre_impl_gates: z.ZodDefault<z.ZodArray<z.ZodObject<{
221
+ id: z.ZodString;
222
+ check: z.ZodString;
223
+ constitution_article: z.ZodString;
224
+ }, "strict", z.ZodTypeAny, {
225
+ id: string;
226
+ check: string;
227
+ constitution_article: string;
228
+ }, {
229
+ id: string;
230
+ check: string;
231
+ constitution_article: string;
232
+ }>, "many">>;
233
+ spec_dir: z.ZodDefault<z.ZodString>;
234
+ feature_number: z.ZodDefault<z.ZodString>;
235
+ force: z.ZodDefault<z.ZodBoolean>;
236
+ }, "strict", z.ZodTypeAny, {
237
+ tasks: {
238
+ title: string;
239
+ dependencies: string[];
240
+ id: string;
241
+ description: string;
242
+ effort: "S" | "M" | "L";
243
+ parallel: boolean;
244
+ traces_to: string[];
245
+ }[];
246
+ spec_dir: string;
247
+ feature_number: string;
248
+ force: boolean;
249
+ pre_impl_gates: {
250
+ id: string;
251
+ check: string;
252
+ constitution_article: string;
253
+ }[];
254
+ }, {
255
+ tasks: {
256
+ title: string;
257
+ id: string;
258
+ description: string;
259
+ effort: "S" | "M" | "L";
260
+ dependencies?: string[] | undefined;
261
+ parallel?: boolean | undefined;
262
+ traces_to?: string[] | undefined;
263
+ }[];
264
+ spec_dir?: string | undefined;
265
+ feature_number?: string | undefined;
266
+ force?: boolean | undefined;
267
+ pre_impl_gates?: {
268
+ id: string;
269
+ check: string;
270
+ constitution_article: string;
271
+ }[] | undefined;
272
+ }>;
273
+ export declare const runAnalysisInputSchema: z.ZodObject<{
274
+ spec_dir: z.ZodDefault<z.ZodString>;
275
+ feature_number: z.ZodDefault<z.ZodString>;
276
+ force: z.ZodDefault<z.ZodBoolean>;
277
+ }, "strict", z.ZodTypeAny, {
278
+ spec_dir: string;
279
+ feature_number: string;
280
+ force: boolean;
281
+ }, {
282
+ spec_dir?: string | undefined;
283
+ feature_number?: string | undefined;
284
+ force?: boolean | undefined;
285
+ }>;
286
+ export declare const advancePhaseInputSchema: z.ZodObject<{
287
+ spec_dir: z.ZodDefault<z.ZodString>;
288
+ feature_number: z.ZodDefault<z.ZodString>;
289
+ }, "strict", z.ZodTypeAny, {
290
+ spec_dir: string;
291
+ feature_number: string;
292
+ }, {
293
+ spec_dir?: string | undefined;
294
+ feature_number?: string | undefined;
295
+ }>;
296
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/schemas/pipeline.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAgBjB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAYrB,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBtB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;;;;;;;EAGpB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCxB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BvB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIxB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;EAGzB,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Zod schemas for all 8 pipeline tool inputs.
3
+ */
4
+ import { z } from "zod";
5
+ import { specDirSchema, featureNumberSchema, forceSchema } from "./common.js";
6
+ export const initInputSchema = z.object({
7
+ project_name: z
8
+ .string()
9
+ .min(1)
10
+ .max(100)
11
+ .regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/, "Must be kebab-case (lowercase, hyphens)")
12
+ .describe("Project name in kebab-case"),
13
+ spec_dir: specDirSchema,
14
+ principles: z
15
+ .array(z.string())
16
+ .optional()
17
+ .describe("Project guiding principles"),
18
+ constraints: z
19
+ .array(z.string())
20
+ .optional()
21
+ .describe("Project constraints"),
22
+ }).strict();
23
+ export const discoverInputSchema = z.object({
24
+ project_idea: z
25
+ .string()
26
+ .min(1)
27
+ .max(5000)
28
+ .describe("Description of the project idea"),
29
+ codebase_summary: z
30
+ .string()
31
+ .optional()
32
+ .describe("Output from sdd_scan_codebase for context"),
33
+ spec_dir: specDirSchema,
34
+ feature_number: featureNumberSchema,
35
+ }).strict();
36
+ export const writeSpecInputSchema = z.object({
37
+ feature_name: z
38
+ .string()
39
+ .min(1)
40
+ .max(200)
41
+ .describe("Human-readable feature name"),
42
+ feature_number: featureNumberSchema,
43
+ discovery_answers: z
44
+ .record(z.string(), z.string())
45
+ .describe("Answers to discovery questions (question_id → answer)"),
46
+ requirements: z
47
+ .array(z.object({
48
+ id: z.string().regex(/^REQ-[A-Z]+-\d{3}$/, "Must match REQ-{CAT}-{SEQ} format"),
49
+ ears_pattern: z.string().describe("EARS pattern name"),
50
+ text: z.string().min(10).describe("Requirement text in EARS notation"),
51
+ acceptance_criteria: z.array(z.string()).min(1).describe("Testable acceptance criteria"),
52
+ }).strict())
53
+ .min(1)
54
+ .describe("Requirements in EARS notation"),
55
+ spec_dir: specDirSchema,
56
+ force: forceSchema,
57
+ }).strict();
58
+ export const clarifyInputSchema = z.object({
59
+ spec_dir: specDirSchema,
60
+ feature_number: featureNumberSchema,
61
+ }).strict();
62
+ export const writeDesignInputSchema = z.object({
63
+ architecture_overview: z
64
+ .string()
65
+ .min(10)
66
+ .describe("High-level architecture description"),
67
+ mermaid_diagrams: z
68
+ .array(z.object({
69
+ title: z.string().describe("Diagram title"),
70
+ type: z.string().describe("Mermaid diagram type (flowchart, sequenceDiagram, etc.)"),
71
+ code: z.string().describe("Mermaid diagram code"),
72
+ }).strict())
73
+ .min(1)
74
+ .describe("Mermaid diagrams"),
75
+ adrs: z
76
+ .array(z.object({
77
+ title: z.string().describe("ADR title"),
78
+ decision: z.string().describe("The decision made"),
79
+ rationale: z.string().describe("Why this decision was made"),
80
+ consequences: z.string().describe("Consequences of this decision"),
81
+ }).strict())
82
+ .optional()
83
+ .describe("Architecture Decision Records"),
84
+ api_contracts: z
85
+ .array(z.object({
86
+ endpoint: z.string().describe("API endpoint path"),
87
+ method: z.string().describe("HTTP method"),
88
+ description: z.string().describe("Endpoint description"),
89
+ request: z.string().optional().describe("Request body schema"),
90
+ response: z.string().optional().describe("Response body schema"),
91
+ }).strict())
92
+ .optional()
93
+ .describe("API contracts"),
94
+ spec_dir: specDirSchema,
95
+ feature_number: featureNumberSchema,
96
+ force: forceSchema,
97
+ }).strict();
98
+ export const writeTasksInputSchema = z.object({
99
+ tasks: z
100
+ .array(z.object({
101
+ id: z.string().regex(/^T-\d{3}$/, "Must match T-{SEQ} format"),
102
+ title: z.string().describe("Task title"),
103
+ description: z.string().describe("Task description"),
104
+ effort: z.enum(["S", "M", "L"]).describe("Effort estimate"),
105
+ dependencies: z.array(z.string()).default([]).describe("Task IDs this depends on"),
106
+ parallel: z.boolean().default(false).describe("Can run in parallel with siblings"),
107
+ traces_to: z.array(z.string()).default([]).describe("Requirement IDs this implements"),
108
+ }).strict())
109
+ .min(1)
110
+ .describe("Implementation tasks"),
111
+ pre_impl_gates: z
112
+ .array(z.object({
113
+ id: z.string().describe("Gate ID"),
114
+ check: z.string().describe("Gate check description"),
115
+ constitution_article: z.string().describe("Constitution article reference"),
116
+ }).strict())
117
+ .default([])
118
+ .describe("Pre-implementation gates"),
119
+ spec_dir: specDirSchema,
120
+ feature_number: featureNumberSchema,
121
+ force: forceSchema,
122
+ }).strict();
123
+ export const runAnalysisInputSchema = z.object({
124
+ spec_dir: specDirSchema,
125
+ feature_number: featureNumberSchema,
126
+ force: forceSchema,
127
+ }).strict();
128
+ export const advancePhaseInputSchema = z.object({
129
+ spec_dir: specDirSchema,
130
+ feature_number: featureNumberSchema,
131
+ }).strict();
132
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/schemas/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Zod schemas for transcript automation tools.
3
+ */
4
+ import { z } from "zod";
5
+ export declare const importTranscriptInputSchema: z.ZodObject<{
6
+ file_path: z.ZodString;
7
+ raw_text: z.ZodOptional<z.ZodString>;
8
+ format: z.ZodDefault<z.ZodEnum<["vtt", "srt", "txt", "md", "auto"]>>;
9
+ spec_dir: z.ZodDefault<z.ZodString>;
10
+ }, "strict", z.ZodTypeAny, {
11
+ spec_dir: string;
12
+ file_path: string;
13
+ format: "vtt" | "srt" | "txt" | "md" | "auto";
14
+ raw_text?: string | undefined;
15
+ }, {
16
+ file_path: string;
17
+ spec_dir?: string | undefined;
18
+ raw_text?: string | undefined;
19
+ format?: "vtt" | "srt" | "txt" | "md" | "auto" | undefined;
20
+ }>;
21
+ export declare const autoPipelineInputSchema: z.ZodObject<{
22
+ file_path: z.ZodOptional<z.ZodString>;
23
+ raw_text: z.ZodOptional<z.ZodString>;
24
+ project_name: z.ZodString;
25
+ format: z.ZodDefault<z.ZodEnum<["vtt", "srt", "txt", "md", "auto"]>>;
26
+ spec_dir: z.ZodDefault<z.ZodString>;
27
+ principles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
+ force: z.ZodDefault<z.ZodBoolean>;
29
+ }, "strict", z.ZodTypeAny, {
30
+ project_name: string;
31
+ spec_dir: string;
32
+ force: boolean;
33
+ format: "vtt" | "srt" | "txt" | "md" | "auto";
34
+ principles?: string[] | undefined;
35
+ file_path?: string | undefined;
36
+ raw_text?: string | undefined;
37
+ }, {
38
+ project_name: string;
39
+ spec_dir?: string | undefined;
40
+ principles?: string[] | undefined;
41
+ force?: boolean | undefined;
42
+ file_path?: string | undefined;
43
+ raw_text?: string | undefined;
44
+ format?: "vtt" | "srt" | "txt" | "md" | "auto" | undefined;
45
+ }>;
46
+ export declare const batchTranscriptsInputSchema: z.ZodObject<{
47
+ transcripts_dir: z.ZodString;
48
+ spec_dir: z.ZodDefault<z.ZodString>;
49
+ force: z.ZodDefault<z.ZodBoolean>;
50
+ }, "strict", z.ZodTypeAny, {
51
+ spec_dir: string;
52
+ force: boolean;
53
+ transcripts_dir: string;
54
+ }, {
55
+ transcripts_dir: string;
56
+ spec_dir?: string | undefined;
57
+ force?: boolean | undefined;
58
+ }>;
59
+ //# sourceMappingURL=transcript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../src/schemas/transcript.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAc7B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;EA4BzB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;EAU7B,CAAC"}