@mcp-graph-workflow/mcp-graph 5.1.5 → 5.2.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.
- package/dist/core/analyzer/ac-parser.d.ts +7 -0
- package/dist/core/analyzer/ac-parser.d.ts.map +1 -0
- package/dist/core/analyzer/ac-parser.js +67 -0
- package/dist/core/analyzer/ac-parser.js.map +1 -0
- package/dist/core/analyzer/ac-validator.d.ts +15 -0
- package/dist/core/analyzer/ac-validator.d.ts.map +1 -0
- package/dist/core/analyzer/ac-validator.js +142 -0
- package/dist/core/analyzer/ac-validator.js.map +1 -0
- package/dist/core/analyzer/definition-of-ready.d.ts +16 -0
- package/dist/core/analyzer/definition-of-ready.d.ts.map +1 -0
- package/dist/core/analyzer/definition-of-ready.js +107 -0
- package/dist/core/analyzer/definition-of-ready.js.map +1 -0
- package/dist/core/analyzer/prd-quality.d.ts +14 -0
- package/dist/core/analyzer/prd-quality.d.ts.map +1 -0
- package/dist/core/analyzer/prd-quality.js +156 -0
- package/dist/core/analyzer/prd-quality.js.map +1 -0
- package/dist/core/analyzer/risk-assessment.d.ts +11 -0
- package/dist/core/analyzer/risk-assessment.d.ts.map +1 -0
- package/dist/core/analyzer/risk-assessment.js +97 -0
- package/dist/core/analyzer/risk-assessment.js.map +1 -0
- package/dist/core/analyzer/scope-analyzer.d.ts +7 -0
- package/dist/core/analyzer/scope-analyzer.d.ts.map +1 -0
- package/dist/core/analyzer/scope-analyzer.js +99 -0
- package/dist/core/analyzer/scope-analyzer.js.map +1 -0
- package/dist/core/config/ai-memory-generator.d.ts.map +1 -1
- package/dist/core/config/ai-memory-generator.js +8 -11
- package/dist/core/config/ai-memory-generator.js.map +1 -1
- package/dist/core/context/context-assembler.d.ts +3 -0
- package/dist/core/context/context-assembler.d.ts.map +1 -1
- package/dist/core/context/context-assembler.js +5 -2
- package/dist/core/context/context-assembler.js.map +1 -1
- package/dist/core/context/rag-context.d.ts +4 -2
- package/dist/core/context/rag-context.d.ts.map +1 -1
- package/dist/core/context/rag-context.js +8 -5
- package/dist/core/context/rag-context.js.map +1 -1
- package/dist/core/designer/adr-validator.d.ts +8 -0
- package/dist/core/designer/adr-validator.d.ts.map +1 -0
- package/dist/core/designer/adr-validator.js +61 -0
- package/dist/core/designer/adr-validator.js.map +1 -0
- package/dist/core/designer/coupling-analyzer.d.ts +7 -0
- package/dist/core/designer/coupling-analyzer.d.ts.map +1 -0
- package/dist/core/designer/coupling-analyzer.js +59 -0
- package/dist/core/designer/coupling-analyzer.js.map +1 -0
- package/dist/core/designer/definition-of-ready.d.ts +8 -0
- package/dist/core/designer/definition-of-ready.d.ts.map +1 -0
- package/dist/core/designer/definition-of-ready.js +146 -0
- package/dist/core/designer/definition-of-ready.js.map +1 -0
- package/dist/core/designer/interface-checker.d.ts +7 -0
- package/dist/core/designer/interface-checker.d.ts.map +1 -0
- package/dist/core/designer/interface-checker.js +53 -0
- package/dist/core/designer/interface-checker.js.map +1 -0
- package/dist/core/designer/tech-risk-assessor.d.ts +7 -0
- package/dist/core/designer/tech-risk-assessor.d.ts.map +1 -0
- package/dist/core/designer/tech-risk-assessor.js +95 -0
- package/dist/core/designer/tech-risk-assessor.js.map +1 -0
- package/dist/core/designer/traceability-matrix.d.ts +8 -0
- package/dist/core/designer/traceability-matrix.d.ts.map +1 -0
- package/dist/core/designer/traceability-matrix.js +67 -0
- package/dist/core/designer/traceability-matrix.js.map +1 -0
- package/dist/core/events/event-types.d.ts +11 -1
- package/dist/core/events/event-types.d.ts.map +1 -1
- package/dist/core/handoff/delivery-checklist.d.ts +10 -0
- package/dist/core/handoff/delivery-checklist.d.ts.map +1 -0
- package/dist/core/handoff/delivery-checklist.js +148 -0
- package/dist/core/handoff/delivery-checklist.js.map +1 -0
- package/dist/core/handoff/doc-completeness.d.ts +7 -0
- package/dist/core/handoff/doc-completeness.d.ts.map +1 -0
- package/dist/core/handoff/doc-completeness.js +19 -0
- package/dist/core/handoff/doc-completeness.js.map +1 -0
- package/dist/core/implementer/definition-of-done.d.ts +11 -0
- package/dist/core/implementer/definition-of-done.d.ts.map +1 -0
- package/dist/core/implementer/definition-of-done.js +158 -0
- package/dist/core/implementer/definition-of-done.js.map +1 -0
- package/dist/core/implementer/sprint-progress.d.ts +11 -0
- package/dist/core/implementer/sprint-progress.d.ts.map +1 -0
- package/dist/core/implementer/sprint-progress.js +80 -0
- package/dist/core/implementer/sprint-progress.js.map +1 -0
- package/dist/core/implementer/tdd-checker.d.ts +15 -0
- package/dist/core/implementer/tdd-checker.d.ts.map +1 -0
- package/dist/core/implementer/tdd-checker.js +132 -0
- package/dist/core/implementer/tdd-checker.js.map +1 -0
- package/dist/core/listener/backlog-health.d.ts +7 -0
- package/dist/core/listener/backlog-health.d.ts.map +1 -0
- package/dist/core/listener/backlog-health.js +64 -0
- package/dist/core/listener/backlog-health.js.map +1 -0
- package/dist/core/listener/feedback-readiness.d.ts +11 -0
- package/dist/core/listener/feedback-readiness.d.ts.map +1 -0
- package/dist/core/listener/feedback-readiness.js +124 -0
- package/dist/core/listener/feedback-readiness.js.map +1 -0
- package/dist/core/planner/lifecycle-phase.d.ts.map +1 -1
- package/dist/core/planner/lifecycle-phase.js +78 -50
- package/dist/core/planner/lifecycle-phase.js.map +1 -1
- package/dist/core/rag/phase-metadata.d.ts +23 -0
- package/dist/core/rag/phase-metadata.d.ts.map +1 -0
- package/dist/core/rag/phase-metadata.js +72 -0
- package/dist/core/rag/phase-metadata.js.map +1 -0
- package/dist/core/rag/phase-summary.d.ts +17 -0
- package/dist/core/rag/phase-summary.d.ts.map +1 -0
- package/dist/core/rag/phase-summary.js +104 -0
- package/dist/core/rag/phase-summary.js.map +1 -0
- package/dist/core/rag/prd-indexer.d.ts +16 -0
- package/dist/core/rag/prd-indexer.d.ts.map +1 -0
- package/dist/core/rag/prd-indexer.js +37 -0
- package/dist/core/rag/prd-indexer.js.map +1 -0
- package/dist/core/reviewer/review-readiness.d.ts +8 -0
- package/dist/core/reviewer/review-readiness.d.ts.map +1 -0
- package/dist/core/reviewer/review-readiness.js +159 -0
- package/dist/core/reviewer/review-readiness.js.map +1 -0
- package/dist/core/store/knowledge-store.d.ts +9 -0
- package/dist/core/store/knowledge-store.d.ts.map +1 -1
- package/dist/core/store/knowledge-store.js +22 -0
- package/dist/core/store/knowledge-store.js.map +1 -1
- package/dist/core/validator/definition-of-ready.d.ts +8 -0
- package/dist/core/validator/definition-of-ready.d.ts.map +1 -0
- package/dist/core/validator/definition-of-ready.js +155 -0
- package/dist/core/validator/definition-of-ready.js.map +1 -0
- package/dist/core/validator/done-integrity-checker.d.ts +7 -0
- package/dist/core/validator/done-integrity-checker.d.ts.map +1 -0
- package/dist/core/validator/done-integrity-checker.js +38 -0
- package/dist/core/validator/done-integrity-checker.js.map +1 -0
- package/dist/core/validator/status-flow-checker.d.ts +7 -0
- package/dist/core/validator/status-flow-checker.d.ts.map +1 -0
- package/dist/core/validator/status-flow-checker.js +26 -0
- package/dist/core/validator/status-flow-checker.js.map +1 -0
- package/dist/mcp/lifecycle-wrapper.d.ts +9 -0
- package/dist/mcp/lifecycle-wrapper.d.ts.map +1 -1
- package/dist/mcp/lifecycle-wrapper.js +27 -2
- package/dist/mcp/lifecycle-wrapper.js.map +1 -1
- package/dist/mcp/tools/{stats.d.ts → analyze.d.ts} +2 -2
- package/dist/mcp/tools/analyze.d.ts.map +1 -0
- package/dist/mcp/tools/analyze.js +272 -0
- package/dist/mcp/tools/analyze.js.map +1 -0
- package/dist/mcp/tools/import-prd.d.ts.map +1 -1
- package/dist/mcp/tools/import-prd.js +15 -1
- package/dist/mcp/tools/import-prd.js.map +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +6 -10
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/{velocity.d.ts → metrics.d.ts} +2 -2
- package/dist/mcp/tools/metrics.d.ts.map +1 -0
- package/dist/mcp/tools/metrics.js +69 -0
- package/dist/mcp/tools/metrics.js.map +1 -0
- package/dist/mcp/tools/next.d.ts.map +1 -1
- package/dist/mcp/tools/next.js +19 -5
- package/dist/mcp/tools/next.js.map +1 -1
- package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
- package/dist/mcp/tools/plan-sprint.js +20 -0
- package/dist/mcp/tools/plan-sprint.js.map +1 -1
- package/dist/mcp/tools/rag-context.d.ts.map +1 -1
- package/dist/mcp/tools/rag-context.js +20 -5
- package/dist/mcp/tools/rag-context.js.map +1 -1
- package/dist/mcp/tools/set-phase.d.ts.map +1 -1
- package/dist/mcp/tools/set-phase.js +16 -1
- package/dist/mcp/tools/set-phase.js.map +1 -1
- package/dist/mcp/tools/update-status.d.ts.map +1 -1
- package/dist/mcp/tools/update-status.js +21 -6
- package/dist/mcp/tools/update-status.js.map +1 -1
- package/dist/mcp/tools/{decompose.d.ts → validate-ac.d.ts} +2 -2
- package/dist/mcp/tools/validate-ac.d.ts.map +1 -0
- package/dist/mcp/tools/validate-ac.js +23 -0
- package/dist/mcp/tools/validate-ac.js.map +1 -0
- package/dist/schemas/ac-quality-schema.d.ts +90 -0
- package/dist/schemas/ac-quality-schema.d.ts.map +1 -0
- package/dist/schemas/ac-quality-schema.js +34 -0
- package/dist/schemas/ac-quality-schema.js.map +1 -0
- package/dist/schemas/analyzer-schema.d.ts +160 -0
- package/dist/schemas/analyzer-schema.d.ts.map +1 -0
- package/dist/schemas/analyzer-schema.js +74 -0
- package/dist/schemas/analyzer-schema.js.map +1 -0
- package/dist/schemas/designer-schema.d.ts +259 -0
- package/dist/schemas/designer-schema.d.ts.map +1 -0
- package/dist/schemas/designer-schema.js +102 -0
- package/dist/schemas/designer-schema.js.map +1 -0
- package/dist/schemas/handoff-schema.d.ts +49 -0
- package/dist/schemas/handoff-schema.d.ts.map +1 -0
- package/dist/schemas/handoff-schema.js +28 -0
- package/dist/schemas/handoff-schema.js.map +1 -0
- package/dist/schemas/implementer-schema.d.ts +187 -0
- package/dist/schemas/implementer-schema.d.ts.map +1 -0
- package/dist/schemas/implementer-schema.js +80 -0
- package/dist/schemas/implementer-schema.js.map +1 -0
- package/dist/schemas/knowledge.schema.d.ts +8 -0
- package/dist/schemas/knowledge.schema.d.ts.map +1 -1
- package/dist/schemas/knowledge.schema.js +1 -1
- package/dist/schemas/knowledge.schema.js.map +1 -1
- package/dist/schemas/listener-schema.d.ts +62 -0
- package/dist/schemas/listener-schema.d.ts.map +1 -0
- package/dist/schemas/listener-schema.js +35 -0
- package/dist/schemas/listener-schema.js.map +1 -0
- package/dist/schemas/reviewer-schema.d.ts +34 -0
- package/dist/schemas/reviewer-schema.d.ts.map +1 -0
- package/dist/schemas/reviewer-schema.js +17 -0
- package/dist/schemas/reviewer-schema.js.map +1 -0
- package/dist/schemas/validator-schema.d.ts +79 -0
- package/dist/schemas/validator-schema.d.ts.map +1 -0
- package/dist/schemas/validator-schema.js +43 -0
- package/dist/schemas/validator-schema.js.map +1 -0
- package/dist/web/dashboard/dist/assets/{benchmark-tab-DzYj_lJO.js → benchmark-tab-DE6hAHVG.js} +1 -1
- package/dist/web/dashboard/dist/assets/{gitnexus-tab-B16kDpcc.js → gitnexus-tab-DsBjJHx8.js} +1 -1
- package/dist/web/dashboard/dist/assets/graph-tab-C09DzeZ_.js +1 -0
- package/dist/web/dashboard/dist/assets/{graph-utils-CETPf3Qj.js → graph-utils-D4LFspTf.js} +5 -5
- package/dist/web/dashboard/dist/assets/{index-DLehETrJ.js → index-B2fTJ4AS.js} +2 -2
- package/dist/web/dashboard/dist/assets/index-CkqEqKiH.css +1 -0
- package/dist/web/dashboard/dist/assets/{insights-tab-MkpvetqF.js → insights-tab-Bm7CDckb.js} +1 -1
- package/dist/web/dashboard/dist/assets/{logs-tab-BPDyVj2B.js → logs-tab-Cxpcv_ni.js} +1 -1
- package/dist/web/dashboard/dist/assets/{prd-backlog-tab-DbnFo6Ve.js → prd-backlog-tab-X84Rj-IB.js} +1 -1
- package/dist/web/dashboard/dist/assets/{serena-tab-CLJOpG5i.js → serena-tab-BunULNvw.js} +1 -1
- package/dist/web/dashboard/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/mcp/tools/bulk-update-status.d.ts +0 -4
- package/dist/mcp/tools/bulk-update-status.d.ts.map +0 -1
- package/dist/mcp/tools/bulk-update-status.js +0 -22
- package/dist/mcp/tools/bulk-update-status.js.map +0 -1
- package/dist/mcp/tools/decompose.d.ts.map +0 -1
- package/dist/mcp/tools/decompose.js +0 -25
- package/dist/mcp/tools/decompose.js.map +0 -1
- package/dist/mcp/tools/dependencies.d.ts +0 -4
- package/dist/mcp/tools/dependencies.d.ts.map +0 -1
- package/dist/mcp/tools/dependencies.js +0 -47
- package/dist/mcp/tools/dependencies.js.map +0 -1
- package/dist/mcp/tools/stats.d.ts.map +0 -1
- package/dist/mcp/tools/stats.js +0 -46
- package/dist/mcp/tools/stats.js.map +0 -1
- package/dist/mcp/tools/velocity.d.ts.map +0 -1
- package/dist/mcp/tools/velocity.js +0 -25
- package/dist/mcp/tools/velocity.js.map +0 -1
- package/dist/web/dashboard/dist/assets/graph-tab-bgRao3Qi.js +0 -1
- package/dist/web/dashboard/dist/assets/index-D4nxPvv8.css +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const AcFormatSchema: z.ZodEnum<{
|
|
3
|
+
gwt: "gwt";
|
|
4
|
+
free_text: "free_text";
|
|
5
|
+
checklist: "checklist";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const GwtStepSchema: z.ZodObject<{
|
|
8
|
+
keyword: z.ZodString;
|
|
9
|
+
text: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const ParsedAcSchema: z.ZodObject<{
|
|
12
|
+
raw: z.ZodString;
|
|
13
|
+
format: z.ZodEnum<{
|
|
14
|
+
gwt: "gwt";
|
|
15
|
+
free_text: "free_text";
|
|
16
|
+
checklist: "checklist";
|
|
17
|
+
}>;
|
|
18
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
19
|
+
keyword: z.ZodString;
|
|
20
|
+
text: z.ZodString;
|
|
21
|
+
}, z.core.$strip>>>;
|
|
22
|
+
isTestable: z.ZodBoolean;
|
|
23
|
+
isMeasurable: z.ZodBoolean;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export type ParsedAc = z.infer<typeof ParsedAcSchema>;
|
|
26
|
+
export type GwtStep = z.infer<typeof GwtStepSchema>;
|
|
27
|
+
export type AcFormat = z.infer<typeof AcFormatSchema>;
|
|
28
|
+
export declare const InvestCheckSchema: z.ZodObject<{
|
|
29
|
+
criterion: z.ZodString;
|
|
30
|
+
passed: z.ZodBoolean;
|
|
31
|
+
details: z.ZodString;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export declare const AcNodeReportSchema: z.ZodObject<{
|
|
34
|
+
nodeId: z.ZodString;
|
|
35
|
+
title: z.ZodString;
|
|
36
|
+
score: z.ZodNumber;
|
|
37
|
+
parsedAcs: z.ZodArray<z.ZodObject<{
|
|
38
|
+
raw: z.ZodString;
|
|
39
|
+
format: z.ZodEnum<{
|
|
40
|
+
gwt: "gwt";
|
|
41
|
+
free_text: "free_text";
|
|
42
|
+
checklist: "checklist";
|
|
43
|
+
}>;
|
|
44
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
45
|
+
keyword: z.ZodString;
|
|
46
|
+
text: z.ZodString;
|
|
47
|
+
}, z.core.$strip>>>;
|
|
48
|
+
isTestable: z.ZodBoolean;
|
|
49
|
+
isMeasurable: z.ZodBoolean;
|
|
50
|
+
}, z.core.$strip>>;
|
|
51
|
+
investChecks: z.ZodArray<z.ZodObject<{
|
|
52
|
+
criterion: z.ZodString;
|
|
53
|
+
passed: z.ZodBoolean;
|
|
54
|
+
details: z.ZodString;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
vagueTerms: z.ZodArray<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export declare const AcQualityReportSchema: z.ZodObject<{
|
|
59
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
60
|
+
nodeId: z.ZodString;
|
|
61
|
+
title: z.ZodString;
|
|
62
|
+
score: z.ZodNumber;
|
|
63
|
+
parsedAcs: z.ZodArray<z.ZodObject<{
|
|
64
|
+
raw: z.ZodString;
|
|
65
|
+
format: z.ZodEnum<{
|
|
66
|
+
gwt: "gwt";
|
|
67
|
+
free_text: "free_text";
|
|
68
|
+
checklist: "checklist";
|
|
69
|
+
}>;
|
|
70
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
71
|
+
keyword: z.ZodString;
|
|
72
|
+
text: z.ZodString;
|
|
73
|
+
}, z.core.$strip>>>;
|
|
74
|
+
isTestable: z.ZodBoolean;
|
|
75
|
+
isMeasurable: z.ZodBoolean;
|
|
76
|
+
}, z.core.$strip>>;
|
|
77
|
+
investChecks: z.ZodArray<z.ZodObject<{
|
|
78
|
+
criterion: z.ZodString;
|
|
79
|
+
passed: z.ZodBoolean;
|
|
80
|
+
details: z.ZodString;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
vagueTerms: z.ZodArray<z.ZodString>;
|
|
83
|
+
}, z.core.$strip>>;
|
|
84
|
+
overallScore: z.ZodNumber;
|
|
85
|
+
summary: z.ZodString;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
export type AcQualityReport = z.infer<typeof AcQualityReportSchema>;
|
|
88
|
+
export type AcNodeReport = z.infer<typeof AcNodeReportSchema>;
|
|
89
|
+
export type InvestCheck = z.infer<typeof InvestCheckSchema>;
|
|
90
|
+
//# sourceMappingURL=ac-quality-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ac-quality-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/ac-quality-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,cAAc;;;;EAA4C,CAAC;AAExE,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;iBAMzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAItD,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
// ── Parsed AC ──
|
|
3
|
+
export const AcFormatSchema = z.enum(["gwt", "free_text", "checklist"]);
|
|
4
|
+
export const GwtStepSchema = z.object({
|
|
5
|
+
keyword: z.string(),
|
|
6
|
+
text: z.string(),
|
|
7
|
+
});
|
|
8
|
+
export const ParsedAcSchema = z.object({
|
|
9
|
+
raw: z.string(),
|
|
10
|
+
format: AcFormatSchema,
|
|
11
|
+
steps: z.array(GwtStepSchema).optional(),
|
|
12
|
+
isTestable: z.boolean(),
|
|
13
|
+
isMeasurable: z.boolean(),
|
|
14
|
+
});
|
|
15
|
+
// ── AC Quality Report ──
|
|
16
|
+
export const InvestCheckSchema = z.object({
|
|
17
|
+
criterion: z.string(),
|
|
18
|
+
passed: z.boolean(),
|
|
19
|
+
details: z.string(),
|
|
20
|
+
});
|
|
21
|
+
export const AcNodeReportSchema = z.object({
|
|
22
|
+
nodeId: z.string(),
|
|
23
|
+
title: z.string(),
|
|
24
|
+
score: z.number().min(0).max(100),
|
|
25
|
+
parsedAcs: z.array(ParsedAcSchema),
|
|
26
|
+
investChecks: z.array(InvestCheckSchema),
|
|
27
|
+
vagueTerms: z.array(z.string()),
|
|
28
|
+
});
|
|
29
|
+
export const AcQualityReportSchema = z.object({
|
|
30
|
+
nodes: z.array(AcNodeReportSchema),
|
|
31
|
+
overallScore: z.number().min(0).max(100),
|
|
32
|
+
summary: z.string(),
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=ac-quality-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ac-quality-schema.js","sourceRoot":"","sources":["../../src/schemas/ac-quality-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,kBAAkB;AAElB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;CAC1B,CAAC,CAAC;AAMH,0BAA0B;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const SectionQualitySchema: z.ZodEnum<{
|
|
3
|
+
adequate: "adequate";
|
|
4
|
+
missing: "missing";
|
|
5
|
+
weak: "weak";
|
|
6
|
+
strong: "strong";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const PrdQualitySectionSchema: z.ZodObject<{
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
quality: z.ZodEnum<{
|
|
11
|
+
adequate: "adequate";
|
|
12
|
+
missing: "missing";
|
|
13
|
+
weak: "weak";
|
|
14
|
+
strong: "strong";
|
|
15
|
+
}>;
|
|
16
|
+
issues: z.ZodArray<z.ZodString>;
|
|
17
|
+
suggestions: z.ZodArray<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export declare const PrdQualityGradeSchema: z.ZodEnum<{
|
|
20
|
+
A: "A";
|
|
21
|
+
B: "B";
|
|
22
|
+
C: "C";
|
|
23
|
+
D: "D";
|
|
24
|
+
F: "F";
|
|
25
|
+
}>;
|
|
26
|
+
export declare const PrdQualityReportSchema: z.ZodObject<{
|
|
27
|
+
score: z.ZodNumber;
|
|
28
|
+
grade: z.ZodEnum<{
|
|
29
|
+
A: "A";
|
|
30
|
+
B: "B";
|
|
31
|
+
C: "C";
|
|
32
|
+
D: "D";
|
|
33
|
+
F: "F";
|
|
34
|
+
}>;
|
|
35
|
+
sections: z.ZodArray<z.ZodObject<{
|
|
36
|
+
name: z.ZodString;
|
|
37
|
+
quality: z.ZodEnum<{
|
|
38
|
+
adequate: "adequate";
|
|
39
|
+
missing: "missing";
|
|
40
|
+
weak: "weak";
|
|
41
|
+
strong: "strong";
|
|
42
|
+
}>;
|
|
43
|
+
issues: z.ZodArray<z.ZodString>;
|
|
44
|
+
suggestions: z.ZodArray<z.ZodString>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
readyForDesign: z.ZodBoolean;
|
|
47
|
+
summary: z.ZodString;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export type PrdQualityReport = z.infer<typeof PrdQualityReportSchema>;
|
|
50
|
+
export type PrdQualitySection = z.infer<typeof PrdQualitySectionSchema>;
|
|
51
|
+
export type SectionQuality = z.infer<typeof SectionQualitySchema>;
|
|
52
|
+
export type PrdQualityGrade = z.infer<typeof PrdQualityGradeSchema>;
|
|
53
|
+
export declare const OrphanNodeSchema: z.ZodObject<{
|
|
54
|
+
id: z.ZodString;
|
|
55
|
+
title: z.ZodString;
|
|
56
|
+
type: z.ZodString;
|
|
57
|
+
reason: z.ZodString;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export declare const CoverageMatrixSchema: z.ZodObject<{
|
|
60
|
+
requirementsToTasks: z.ZodNumber;
|
|
61
|
+
tasksToAc: z.ZodNumber;
|
|
62
|
+
orphanRequirements: z.ZodNumber;
|
|
63
|
+
orphanTasks: z.ZodNumber;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
export declare const ScopeAnalysisSchema: z.ZodObject<{
|
|
66
|
+
orphans: z.ZodArray<z.ZodObject<{
|
|
67
|
+
id: z.ZodString;
|
|
68
|
+
title: z.ZodString;
|
|
69
|
+
type: z.ZodString;
|
|
70
|
+
reason: z.ZodString;
|
|
71
|
+
}, z.core.$strip>>;
|
|
72
|
+
cycles: z.ZodArray<z.ZodArray<z.ZodString>>;
|
|
73
|
+
coverage: z.ZodObject<{
|
|
74
|
+
requirementsToTasks: z.ZodNumber;
|
|
75
|
+
tasksToAc: z.ZodNumber;
|
|
76
|
+
orphanRequirements: z.ZodNumber;
|
|
77
|
+
orphanTasks: z.ZodNumber;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
conflicts: z.ZodArray<z.ZodString>;
|
|
80
|
+
summary: z.ZodString;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
export type ScopeAnalysis = z.infer<typeof ScopeAnalysisSchema>;
|
|
83
|
+
export type OrphanNode = z.infer<typeof OrphanNodeSchema>;
|
|
84
|
+
export type CoverageMatrix = z.infer<typeof CoverageMatrixSchema>;
|
|
85
|
+
export declare const ReadinessCheckSchema: z.ZodObject<{
|
|
86
|
+
name: z.ZodString;
|
|
87
|
+
passed: z.ZodBoolean;
|
|
88
|
+
details: z.ZodString;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
export declare const ReadinessReportSchema: z.ZodObject<{
|
|
91
|
+
readyForNextPhase: z.ZodBoolean;
|
|
92
|
+
checks: z.ZodArray<z.ZodObject<{
|
|
93
|
+
name: z.ZodString;
|
|
94
|
+
passed: z.ZodBoolean;
|
|
95
|
+
details: z.ZodString;
|
|
96
|
+
}, z.core.$strip>>;
|
|
97
|
+
blockers: z.ZodArray<z.ZodString>;
|
|
98
|
+
warnings: z.ZodArray<z.ZodString>;
|
|
99
|
+
summary: z.ZodString;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export type ReadinessReport = z.infer<typeof ReadinessReportSchema>;
|
|
102
|
+
export type ReadinessCheck = z.infer<typeof ReadinessCheckSchema>;
|
|
103
|
+
export declare const RiskLevelSchema: z.ZodEnum<{
|
|
104
|
+
low: "low";
|
|
105
|
+
medium: "medium";
|
|
106
|
+
high: "high";
|
|
107
|
+
critical: "critical";
|
|
108
|
+
}>;
|
|
109
|
+
export declare const RiskEntrySchema: z.ZodObject<{
|
|
110
|
+
nodeId: z.ZodString;
|
|
111
|
+
title: z.ZodString;
|
|
112
|
+
probability: z.ZodNumber;
|
|
113
|
+
impact: z.ZodNumber;
|
|
114
|
+
score: z.ZodNumber;
|
|
115
|
+
level: z.ZodEnum<{
|
|
116
|
+
low: "low";
|
|
117
|
+
medium: "medium";
|
|
118
|
+
high: "high";
|
|
119
|
+
critical: "critical";
|
|
120
|
+
}>;
|
|
121
|
+
mitigationStatus: z.ZodEnum<{
|
|
122
|
+
partial: "partial";
|
|
123
|
+
mitigated: "mitigated";
|
|
124
|
+
unmitigated: "unmitigated";
|
|
125
|
+
}>;
|
|
126
|
+
suggestedMitigation: z.ZodOptional<z.ZodString>;
|
|
127
|
+
}, z.core.$strip>;
|
|
128
|
+
export declare const RiskMatrixSchema: z.ZodObject<{
|
|
129
|
+
risks: z.ZodArray<z.ZodObject<{
|
|
130
|
+
nodeId: z.ZodString;
|
|
131
|
+
title: z.ZodString;
|
|
132
|
+
probability: z.ZodNumber;
|
|
133
|
+
impact: z.ZodNumber;
|
|
134
|
+
score: z.ZodNumber;
|
|
135
|
+
level: z.ZodEnum<{
|
|
136
|
+
low: "low";
|
|
137
|
+
medium: "medium";
|
|
138
|
+
high: "high";
|
|
139
|
+
critical: "critical";
|
|
140
|
+
}>;
|
|
141
|
+
mitigationStatus: z.ZodEnum<{
|
|
142
|
+
partial: "partial";
|
|
143
|
+
mitigated: "mitigated";
|
|
144
|
+
unmitigated: "unmitigated";
|
|
145
|
+
}>;
|
|
146
|
+
suggestedMitigation: z.ZodOptional<z.ZodString>;
|
|
147
|
+
}, z.core.$strip>>;
|
|
148
|
+
summary: z.ZodObject<{
|
|
149
|
+
total: z.ZodNumber;
|
|
150
|
+
critical: z.ZodNumber;
|
|
151
|
+
high: z.ZodNumber;
|
|
152
|
+
medium: z.ZodNumber;
|
|
153
|
+
low: z.ZodNumber;
|
|
154
|
+
mitigated: z.ZodNumber;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
}, z.core.$strip>;
|
|
157
|
+
export type RiskMatrix = z.infer<typeof RiskMatrixSchema>;
|
|
158
|
+
export type RiskEntry = z.infer<typeof RiskEntrySchema>;
|
|
159
|
+
export type RiskLevel = z.infer<typeof RiskLevelSchema>;
|
|
160
|
+
//# sourceMappingURL=analyzer-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/analyzer-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,oBAAoB;;;;;EAAoD,CAAC;AAEtF,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAAoC,CAAC;AAEvE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,gBAAgB;;;;;iBAK3B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,eAAe;;;;;EAAgD,CAAC;AAE7E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;iBAS1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
// ── PRD Quality ──
|
|
3
|
+
export const SectionQualitySchema = z.enum(["missing", "weak", "adequate", "strong"]);
|
|
4
|
+
export const PrdQualitySectionSchema = z.object({
|
|
5
|
+
name: z.string(),
|
|
6
|
+
quality: SectionQualitySchema,
|
|
7
|
+
issues: z.array(z.string()),
|
|
8
|
+
suggestions: z.array(z.string()),
|
|
9
|
+
});
|
|
10
|
+
export const PrdQualityGradeSchema = z.enum(["A", "B", "C", "D", "F"]);
|
|
11
|
+
export const PrdQualityReportSchema = z.object({
|
|
12
|
+
score: z.number().min(0).max(100),
|
|
13
|
+
grade: PrdQualityGradeSchema,
|
|
14
|
+
sections: z.array(PrdQualitySectionSchema),
|
|
15
|
+
readyForDesign: z.boolean(),
|
|
16
|
+
summary: z.string(),
|
|
17
|
+
});
|
|
18
|
+
// ── Scope Analysis ──
|
|
19
|
+
export const OrphanNodeSchema = z.object({
|
|
20
|
+
id: z.string(),
|
|
21
|
+
title: z.string(),
|
|
22
|
+
type: z.string(),
|
|
23
|
+
reason: z.string(),
|
|
24
|
+
});
|
|
25
|
+
export const CoverageMatrixSchema = z.object({
|
|
26
|
+
requirementsToTasks: z.number().min(0).max(100),
|
|
27
|
+
tasksToAc: z.number().min(0).max(100),
|
|
28
|
+
orphanRequirements: z.number(),
|
|
29
|
+
orphanTasks: z.number(),
|
|
30
|
+
});
|
|
31
|
+
export const ScopeAnalysisSchema = z.object({
|
|
32
|
+
orphans: z.array(OrphanNodeSchema),
|
|
33
|
+
cycles: z.array(z.array(z.string())),
|
|
34
|
+
coverage: CoverageMatrixSchema,
|
|
35
|
+
conflicts: z.array(z.string()),
|
|
36
|
+
summary: z.string(),
|
|
37
|
+
});
|
|
38
|
+
// ── Definition of Ready ──
|
|
39
|
+
export const ReadinessCheckSchema = z.object({
|
|
40
|
+
name: z.string(),
|
|
41
|
+
passed: z.boolean(),
|
|
42
|
+
details: z.string(),
|
|
43
|
+
});
|
|
44
|
+
export const ReadinessReportSchema = z.object({
|
|
45
|
+
readyForNextPhase: z.boolean(),
|
|
46
|
+
checks: z.array(ReadinessCheckSchema),
|
|
47
|
+
blockers: z.array(z.string()),
|
|
48
|
+
warnings: z.array(z.string()),
|
|
49
|
+
summary: z.string(),
|
|
50
|
+
});
|
|
51
|
+
// ── Risk Assessment ──
|
|
52
|
+
export const RiskLevelSchema = z.enum(["low", "medium", "high", "critical"]);
|
|
53
|
+
export const RiskEntrySchema = z.object({
|
|
54
|
+
nodeId: z.string(),
|
|
55
|
+
title: z.string(),
|
|
56
|
+
probability: z.number().min(1).max(5),
|
|
57
|
+
impact: z.number().min(1).max(5),
|
|
58
|
+
score: z.number(),
|
|
59
|
+
level: RiskLevelSchema,
|
|
60
|
+
mitigationStatus: z.enum(["mitigated", "partial", "unmitigated"]),
|
|
61
|
+
suggestedMitigation: z.string().optional(),
|
|
62
|
+
});
|
|
63
|
+
export const RiskMatrixSchema = z.object({
|
|
64
|
+
risks: z.array(RiskEntrySchema),
|
|
65
|
+
summary: z.object({
|
|
66
|
+
total: z.number(),
|
|
67
|
+
critical: z.number(),
|
|
68
|
+
high: z.number(),
|
|
69
|
+
medium: z.number(),
|
|
70
|
+
low: z.number(),
|
|
71
|
+
mitigated: z.number(),
|
|
72
|
+
}),
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=analyzer-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer-schema.js","sourceRoot":"","sources":["../../src/schemas/analyzer-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const AdrGradeSchema: z.ZodEnum<{
|
|
3
|
+
A: "A";
|
|
4
|
+
B: "B";
|
|
5
|
+
C: "C";
|
|
6
|
+
D: "D";
|
|
7
|
+
F: "F";
|
|
8
|
+
}>;
|
|
9
|
+
export declare const AdrValidationResultSchema: z.ZodObject<{
|
|
10
|
+
nodeId: z.ZodString;
|
|
11
|
+
title: z.ZodString;
|
|
12
|
+
grade: z.ZodEnum<{
|
|
13
|
+
A: "A";
|
|
14
|
+
B: "B";
|
|
15
|
+
C: "C";
|
|
16
|
+
D: "D";
|
|
17
|
+
F: "F";
|
|
18
|
+
}>;
|
|
19
|
+
hasStatus: z.ZodBoolean;
|
|
20
|
+
hasContext: z.ZodBoolean;
|
|
21
|
+
hasDecision: z.ZodBoolean;
|
|
22
|
+
hasConsequences: z.ZodBoolean;
|
|
23
|
+
missingFields: z.ZodArray<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const AdrReportSchema: z.ZodObject<{
|
|
26
|
+
decisions: z.ZodArray<z.ZodObject<{
|
|
27
|
+
nodeId: z.ZodString;
|
|
28
|
+
title: z.ZodString;
|
|
29
|
+
grade: z.ZodEnum<{
|
|
30
|
+
A: "A";
|
|
31
|
+
B: "B";
|
|
32
|
+
C: "C";
|
|
33
|
+
D: "D";
|
|
34
|
+
F: "F";
|
|
35
|
+
}>;
|
|
36
|
+
hasStatus: z.ZodBoolean;
|
|
37
|
+
hasContext: z.ZodBoolean;
|
|
38
|
+
hasDecision: z.ZodBoolean;
|
|
39
|
+
hasConsequences: z.ZodBoolean;
|
|
40
|
+
missingFields: z.ZodArray<z.ZodString>;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
overallGrade: z.ZodEnum<{
|
|
43
|
+
A: "A";
|
|
44
|
+
B: "B";
|
|
45
|
+
C: "C";
|
|
46
|
+
D: "D";
|
|
47
|
+
F: "F";
|
|
48
|
+
}>;
|
|
49
|
+
summary: z.ZodString;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
export type AdrGrade = z.infer<typeof AdrGradeSchema>;
|
|
52
|
+
export type AdrValidationResult = z.infer<typeof AdrValidationResultSchema>;
|
|
53
|
+
export type AdrReport = z.infer<typeof AdrReportSchema>;
|
|
54
|
+
export declare const TraceabilityCoverageSchema: z.ZodEnum<{
|
|
55
|
+
full: "full";
|
|
56
|
+
partial: "partial";
|
|
57
|
+
none: "none";
|
|
58
|
+
}>;
|
|
59
|
+
export declare const TraceabilityEntrySchema: z.ZodObject<{
|
|
60
|
+
requirementId: z.ZodString;
|
|
61
|
+
linkedDecisions: z.ZodArray<z.ZodString>;
|
|
62
|
+
linkedConstraints: z.ZodArray<z.ZodString>;
|
|
63
|
+
coverage: z.ZodEnum<{
|
|
64
|
+
full: "full";
|
|
65
|
+
partial: "partial";
|
|
66
|
+
none: "none";
|
|
67
|
+
}>;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
export declare const TraceabilityReportSchema: z.ZodObject<{
|
|
70
|
+
matrix: z.ZodArray<z.ZodObject<{
|
|
71
|
+
requirementId: z.ZodString;
|
|
72
|
+
linkedDecisions: z.ZodArray<z.ZodString>;
|
|
73
|
+
linkedConstraints: z.ZodArray<z.ZodString>;
|
|
74
|
+
coverage: z.ZodEnum<{
|
|
75
|
+
full: "full";
|
|
76
|
+
partial: "partial";
|
|
77
|
+
none: "none";
|
|
78
|
+
}>;
|
|
79
|
+
}, z.core.$strip>>;
|
|
80
|
+
coverageRate: z.ZodNumber;
|
|
81
|
+
orphanRequirements: z.ZodArray<z.ZodString>;
|
|
82
|
+
orphanDecisions: z.ZodArray<z.ZodString>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
export type TraceabilityCoverage = z.infer<typeof TraceabilityCoverageSchema>;
|
|
85
|
+
export type TraceabilityEntry = z.infer<typeof TraceabilityEntrySchema>;
|
|
86
|
+
export type TraceabilityReport = z.infer<typeof TraceabilityReportSchema>;
|
|
87
|
+
export declare const NodeCouplingMetricsSchema: z.ZodObject<{
|
|
88
|
+
nodeId: z.ZodString;
|
|
89
|
+
fanIn: z.ZodNumber;
|
|
90
|
+
fanOut: z.ZodNumber;
|
|
91
|
+
depth: z.ZodNumber;
|
|
92
|
+
instability: z.ZodNumber;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export declare const CouplingReportSchema: z.ZodObject<{
|
|
95
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
96
|
+
nodeId: z.ZodString;
|
|
97
|
+
fanIn: z.ZodNumber;
|
|
98
|
+
fanOut: z.ZodNumber;
|
|
99
|
+
depth: z.ZodNumber;
|
|
100
|
+
instability: z.ZodNumber;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
highCouplingNodes: z.ZodArray<z.ZodString>;
|
|
103
|
+
isolatedNodes: z.ZodArray<z.ZodString>;
|
|
104
|
+
avgFanIn: z.ZodNumber;
|
|
105
|
+
avgFanOut: z.ZodNumber;
|
|
106
|
+
avgInstability: z.ZodNumber;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
export type NodeCouplingMetrics = z.infer<typeof NodeCouplingMetricsSchema>;
|
|
109
|
+
export type CouplingReport = z.infer<typeof CouplingReportSchema>;
|
|
110
|
+
export declare const InterfaceCheckResultSchema: z.ZodObject<{
|
|
111
|
+
nodeId: z.ZodString;
|
|
112
|
+
hasDescription: z.ZodBoolean;
|
|
113
|
+
hasAC: z.ZodBoolean;
|
|
114
|
+
hasEdges: z.ZodBoolean;
|
|
115
|
+
hasConstraintLink: z.ZodBoolean;
|
|
116
|
+
score: z.ZodNumber;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
export declare const InterfaceReportSchema: z.ZodObject<{
|
|
119
|
+
results: z.ZodArray<z.ZodObject<{
|
|
120
|
+
nodeId: z.ZodString;
|
|
121
|
+
hasDescription: z.ZodBoolean;
|
|
122
|
+
hasAC: z.ZodBoolean;
|
|
123
|
+
hasEdges: z.ZodBoolean;
|
|
124
|
+
hasConstraintLink: z.ZodBoolean;
|
|
125
|
+
score: z.ZodNumber;
|
|
126
|
+
}, z.core.$strip>>;
|
|
127
|
+
overallScore: z.ZodNumber;
|
|
128
|
+
nodesWithoutContracts: z.ZodArray<z.ZodString>;
|
|
129
|
+
}, z.core.$strip>;
|
|
130
|
+
export type InterfaceCheckResult = z.infer<typeof InterfaceCheckResultSchema>;
|
|
131
|
+
export type InterfaceReport = z.infer<typeof InterfaceReportSchema>;
|
|
132
|
+
export declare const TechRiskCategorySchema: z.ZodEnum<{
|
|
133
|
+
integration: "integration";
|
|
134
|
+
performance: "performance";
|
|
135
|
+
security: "security";
|
|
136
|
+
maturity: "maturity";
|
|
137
|
+
complexity: "complexity";
|
|
138
|
+
dependency: "dependency";
|
|
139
|
+
}>;
|
|
140
|
+
export declare const TechRiskProbabilitySchema: z.ZodEnum<{
|
|
141
|
+
low: "low";
|
|
142
|
+
medium: "medium";
|
|
143
|
+
high: "high";
|
|
144
|
+
}>;
|
|
145
|
+
export declare const TechRiskEntrySchema: z.ZodObject<{
|
|
146
|
+
nodeId: z.ZodString;
|
|
147
|
+
category: z.ZodEnum<{
|
|
148
|
+
integration: "integration";
|
|
149
|
+
performance: "performance";
|
|
150
|
+
security: "security";
|
|
151
|
+
maturity: "maturity";
|
|
152
|
+
complexity: "complexity";
|
|
153
|
+
dependency: "dependency";
|
|
154
|
+
}>;
|
|
155
|
+
probability: z.ZodEnum<{
|
|
156
|
+
low: "low";
|
|
157
|
+
medium: "medium";
|
|
158
|
+
high: "high";
|
|
159
|
+
}>;
|
|
160
|
+
impact: z.ZodEnum<{
|
|
161
|
+
low: "low";
|
|
162
|
+
medium: "medium";
|
|
163
|
+
high: "high";
|
|
164
|
+
}>;
|
|
165
|
+
score: z.ZodNumber;
|
|
166
|
+
mitigated: z.ZodBoolean;
|
|
167
|
+
}, z.core.$strip>;
|
|
168
|
+
export declare const TechRiskReportSchema: z.ZodObject<{
|
|
169
|
+
risks: z.ZodArray<z.ZodObject<{
|
|
170
|
+
nodeId: z.ZodString;
|
|
171
|
+
category: z.ZodEnum<{
|
|
172
|
+
integration: "integration";
|
|
173
|
+
performance: "performance";
|
|
174
|
+
security: "security";
|
|
175
|
+
maturity: "maturity";
|
|
176
|
+
complexity: "complexity";
|
|
177
|
+
dependency: "dependency";
|
|
178
|
+
}>;
|
|
179
|
+
probability: z.ZodEnum<{
|
|
180
|
+
low: "low";
|
|
181
|
+
medium: "medium";
|
|
182
|
+
high: "high";
|
|
183
|
+
}>;
|
|
184
|
+
impact: z.ZodEnum<{
|
|
185
|
+
low: "low";
|
|
186
|
+
medium: "medium";
|
|
187
|
+
high: "high";
|
|
188
|
+
}>;
|
|
189
|
+
score: z.ZodNumber;
|
|
190
|
+
mitigated: z.ZodBoolean;
|
|
191
|
+
}, z.core.$strip>>;
|
|
192
|
+
inferredRisks: z.ZodArray<z.ZodObject<{
|
|
193
|
+
nodeId: z.ZodString;
|
|
194
|
+
category: z.ZodEnum<{
|
|
195
|
+
integration: "integration";
|
|
196
|
+
performance: "performance";
|
|
197
|
+
security: "security";
|
|
198
|
+
maturity: "maturity";
|
|
199
|
+
complexity: "complexity";
|
|
200
|
+
dependency: "dependency";
|
|
201
|
+
}>;
|
|
202
|
+
probability: z.ZodEnum<{
|
|
203
|
+
low: "low";
|
|
204
|
+
medium: "medium";
|
|
205
|
+
high: "high";
|
|
206
|
+
}>;
|
|
207
|
+
impact: z.ZodEnum<{
|
|
208
|
+
low: "low";
|
|
209
|
+
medium: "medium";
|
|
210
|
+
high: "high";
|
|
211
|
+
}>;
|
|
212
|
+
score: z.ZodNumber;
|
|
213
|
+
mitigated: z.ZodBoolean;
|
|
214
|
+
}, z.core.$strip>>;
|
|
215
|
+
riskScore: z.ZodNumber;
|
|
216
|
+
highRisks: z.ZodArray<z.ZodString>;
|
|
217
|
+
}, z.core.$strip>;
|
|
218
|
+
export type TechRiskCategory = z.infer<typeof TechRiskCategorySchema>;
|
|
219
|
+
export type TechRiskProbability = z.infer<typeof TechRiskProbabilitySchema>;
|
|
220
|
+
export type TechRiskEntry = z.infer<typeof TechRiskEntrySchema>;
|
|
221
|
+
export type TechRiskReport = z.infer<typeof TechRiskReportSchema>;
|
|
222
|
+
export declare const ReadinessSeveritySchema: z.ZodEnum<{
|
|
223
|
+
required: "required";
|
|
224
|
+
recommended: "recommended";
|
|
225
|
+
}>;
|
|
226
|
+
export declare const DesignReadinessCheckSchema: z.ZodObject<{
|
|
227
|
+
name: z.ZodString;
|
|
228
|
+
passed: z.ZodBoolean;
|
|
229
|
+
details: z.ZodString;
|
|
230
|
+
severity: z.ZodEnum<{
|
|
231
|
+
required: "required";
|
|
232
|
+
recommended: "recommended";
|
|
233
|
+
}>;
|
|
234
|
+
}, z.core.$strip>;
|
|
235
|
+
export declare const DesignReadinessReportSchema: z.ZodObject<{
|
|
236
|
+
checks: z.ZodArray<z.ZodObject<{
|
|
237
|
+
name: z.ZodString;
|
|
238
|
+
passed: z.ZodBoolean;
|
|
239
|
+
details: z.ZodString;
|
|
240
|
+
severity: z.ZodEnum<{
|
|
241
|
+
required: "required";
|
|
242
|
+
recommended: "recommended";
|
|
243
|
+
}>;
|
|
244
|
+
}, z.core.$strip>>;
|
|
245
|
+
ready: z.ZodBoolean;
|
|
246
|
+
score: z.ZodNumber;
|
|
247
|
+
grade: z.ZodEnum<{
|
|
248
|
+
A: "A";
|
|
249
|
+
B: "B";
|
|
250
|
+
C: "C";
|
|
251
|
+
D: "D";
|
|
252
|
+
F: "F";
|
|
253
|
+
}>;
|
|
254
|
+
summary: z.ZodString;
|
|
255
|
+
}, z.core.$strip>;
|
|
256
|
+
export type ReadinessSeverity = z.infer<typeof ReadinessSeveritySchema>;
|
|
257
|
+
export type DesignReadinessCheck = z.infer<typeof DesignReadinessCheckSchema>;
|
|
258
|
+
export type DesignReadinessReport = z.infer<typeof DesignReadinessReportSchema>;
|
|
259
|
+
//# sourceMappingURL=designer-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designer-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/designer-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,cAAc;;;;;;EAAoC,CAAC;AAEhE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;iBASpC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;iBAI1B,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,eAAO,MAAM,0BAA0B;;;;EAAsC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAKnC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,eAAO,MAAM,yBAAyB;;;;;;iBAMpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAO/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,0BAA0B;;;;;;;iBAOrC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,sBAAsB;;;;;;;EAOjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;EAAoC,CAAC;AAE3E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK/B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,uBAAuB;;;EAAsC,CAAC;AAE3E,eAAO,MAAM,0BAA0B;;;;;;;;iBAKrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;iBAMtC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|