@reqord/shared 0.1.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 (107) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +38 -0
  3. package/dist/constants/index.d.ts +2 -0
  4. package/dist/constants/index.d.ts.map +1 -0
  5. package/dist/constants/index.js +2 -0
  6. package/dist/constants/index.js.map +1 -0
  7. package/dist/constants/paths.d.ts +13 -0
  8. package/dist/constants/paths.d.ts.map +1 -0
  9. package/dist/constants/paths.js +13 -0
  10. package/dist/constants/paths.js.map +1 -0
  11. package/dist/constants/paths.test.d.ts +2 -0
  12. package/dist/constants/paths.test.d.ts.map +1 -0
  13. package/dist/constants/paths.test.js +11 -0
  14. package/dist/constants/paths.test.js.map +1 -0
  15. package/dist/index.d.ts +7 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +7 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/rules/consistency.d.ts +12 -0
  20. package/dist/rules/consistency.d.ts.map +1 -0
  21. package/dist/rules/consistency.js +34 -0
  22. package/dist/rules/consistency.js.map +1 -0
  23. package/dist/rules/consistency.test.d.ts +2 -0
  24. package/dist/rules/consistency.test.d.ts.map +1 -0
  25. package/dist/rules/consistency.test.js +97 -0
  26. package/dist/rules/consistency.test.js.map +1 -0
  27. package/dist/rules/index.d.ts +3 -0
  28. package/dist/rules/index.d.ts.map +1 -0
  29. package/dist/rules/index.js +3 -0
  30. package/dist/rules/index.js.map +1 -0
  31. package/dist/rules/status-transitions.d.ts +5 -0
  32. package/dist/rules/status-transitions.d.ts.map +1 -0
  33. package/dist/rules/status-transitions.js +13 -0
  34. package/dist/rules/status-transitions.js.map +1 -0
  35. package/dist/rules/status-transitions.test.d.ts +2 -0
  36. package/dist/rules/status-transitions.test.d.ts.map +1 -0
  37. package/dist/rules/status-transitions.test.js +53 -0
  38. package/dist/rules/status-transitions.test.js.map +1 -0
  39. package/dist/schemas/common.d.ts +33 -0
  40. package/dist/schemas/common.d.ts.map +1 -0
  41. package/dist/schemas/common.js +19 -0
  42. package/dist/schemas/common.js.map +1 -0
  43. package/dist/schemas/feedback.d.ts +249 -0
  44. package/dist/schemas/feedback.d.ts.map +1 -0
  45. package/dist/schemas/feedback.js +39 -0
  46. package/dist/schemas/feedback.js.map +1 -0
  47. package/dist/schemas/feedback.test.d.ts +2 -0
  48. package/dist/schemas/feedback.test.d.ts.map +1 -0
  49. package/dist/schemas/feedback.test.js +234 -0
  50. package/dist/schemas/feedback.test.js.map +1 -0
  51. package/dist/schemas/index.d.ts +8 -0
  52. package/dist/schemas/index.d.ts.map +1 -0
  53. package/dist/schemas/index.js +8 -0
  54. package/dist/schemas/index.js.map +1 -0
  55. package/dist/schemas/project-context.d.ts +116 -0
  56. package/dist/schemas/project-context.d.ts.map +1 -0
  57. package/dist/schemas/project-context.js +25 -0
  58. package/dist/schemas/project-context.js.map +1 -0
  59. package/dist/schemas/requirement.d.ts +242 -0
  60. package/dist/schemas/requirement.d.ts.map +1 -0
  61. package/dist/schemas/requirement.js +52 -0
  62. package/dist/schemas/requirement.js.map +1 -0
  63. package/dist/schemas/requirement.test.d.ts +2 -0
  64. package/dist/schemas/requirement.test.d.ts.map +1 -0
  65. package/dist/schemas/requirement.test.js +38 -0
  66. package/dist/schemas/requirement.test.js.map +1 -0
  67. package/dist/schemas/specification.d.ts +217 -0
  68. package/dist/schemas/specification.d.ts.map +1 -0
  69. package/dist/schemas/specification.js +32 -0
  70. package/dist/schemas/specification.js.map +1 -0
  71. package/dist/schemas/specification.test.d.ts +2 -0
  72. package/dist/schemas/specification.test.d.ts.map +1 -0
  73. package/dist/schemas/specification.test.js +89 -0
  74. package/dist/schemas/specification.test.js.map +1 -0
  75. package/dist/schemas/task.d.ts +177 -0
  76. package/dist/schemas/task.d.ts.map +1 -0
  77. package/dist/schemas/task.js +29 -0
  78. package/dist/schemas/task.js.map +1 -0
  79. package/dist/schemas/task.test.d.ts +2 -0
  80. package/dist/schemas/task.test.d.ts.map +1 -0
  81. package/dist/schemas/task.test.js +203 -0
  82. package/dist/schemas/task.test.js.map +1 -0
  83. package/dist/schemas/validation.d.ts +174 -0
  84. package/dist/schemas/validation.d.ts.map +1 -0
  85. package/dist/schemas/validation.js +31 -0
  86. package/dist/schemas/validation.js.map +1 -0
  87. package/dist/utils/zod-error-formatter.d.ts +25 -0
  88. package/dist/utils/zod-error-formatter.d.ts.map +1 -0
  89. package/dist/utils/zod-error-formatter.js +115 -0
  90. package/dist/utils/zod-error-formatter.js.map +1 -0
  91. package/dist/utils/zod-error-formatter.test.d.ts +2 -0
  92. package/dist/utils/zod-error-formatter.test.d.ts.map +1 -0
  93. package/dist/utils/zod-error-formatter.test.js +314 -0
  94. package/dist/utils/zod-error-formatter.test.js.map +1 -0
  95. package/dist/validation/ambiguous-phrases.d.ts +11 -0
  96. package/dist/validation/ambiguous-phrases.d.ts.map +1 -0
  97. package/dist/validation/ambiguous-phrases.js +56 -0
  98. package/dist/validation/ambiguous-phrases.js.map +1 -0
  99. package/dist/validation/smart-scoring.d.ts +15 -0
  100. package/dist/validation/smart-scoring.d.ts.map +1 -0
  101. package/dist/validation/smart-scoring.js +225 -0
  102. package/dist/validation/smart-scoring.js.map +1 -0
  103. package/dist/validation/smart-scoring.test.d.ts +2 -0
  104. package/dist/validation/smart-scoring.test.d.ts.map +1 -0
  105. package/dist/validation/smart-scoring.test.js +136 -0
  106. package/dist/validation/smart-scoring.test.js.map +1 -0
  107. package/package.json +40 -0
@@ -0,0 +1,249 @@
1
+ import { z } from "zod";
2
+ export declare const FeedbackTypeSchema: z.ZodEnum<["bug", "improvement", "requirement-gap", "spec-mismatch", "security"]>;
3
+ export declare const FeedbackSeveritySchema: z.ZodEnum<["critical", "high", "medium", "low"]>;
4
+ export declare const FeedbackStatusSchema: z.ZodEnum<["open", "closed"]>;
5
+ declare const FeedbackResolvedSchema: z.ZodObject<{
6
+ requirements: z.ZodArray<z.ZodString, "many">;
7
+ specifications: z.ZodArray<z.ZodString, "many">;
8
+ }, "strip", z.ZodTypeAny, {
9
+ requirements: string[];
10
+ specifications: string[];
11
+ }, {
12
+ requirements: string[];
13
+ specifications: string[];
14
+ }>;
15
+ declare const FeedbackLinkedToSchema: z.ZodObject<{
16
+ requirements: z.ZodArray<z.ZodString, "many">;
17
+ createdRequirements: z.ZodArray<z.ZodString, "many">;
18
+ specifications: z.ZodArray<z.ZodString, "many">;
19
+ createdSpecifications: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
20
+ resolved: z.ZodOptional<z.ZodObject<{
21
+ requirements: z.ZodArray<z.ZodString, "many">;
22
+ specifications: z.ZodArray<z.ZodString, "many">;
23
+ }, "strip", z.ZodTypeAny, {
24
+ requirements: string[];
25
+ specifications: string[];
26
+ }, {
27
+ requirements: string[];
28
+ specifications: string[];
29
+ }>>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ requirements: string[];
32
+ createdRequirements: string[];
33
+ specifications: string[];
34
+ createdSpecifications: string[];
35
+ resolved?: {
36
+ requirements: string[];
37
+ specifications: string[];
38
+ } | undefined;
39
+ }, {
40
+ requirements: string[];
41
+ createdRequirements: string[];
42
+ specifications: string[];
43
+ createdSpecifications?: string[] | undefined;
44
+ resolved?: {
45
+ requirements: string[];
46
+ specifications: string[];
47
+ } | undefined;
48
+ }>;
49
+ export declare const FeedbackEntrySchema: z.ZodObject<{
50
+ githubIssue: z.ZodNumber;
51
+ title: z.ZodOptional<z.ZodString>;
52
+ type: z.ZodOptional<z.ZodEnum<["bug", "improvement", "requirement-gap", "spec-mismatch", "security"]>>;
53
+ severity: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
54
+ linkedTo: z.ZodObject<{
55
+ requirements: z.ZodArray<z.ZodString, "many">;
56
+ createdRequirements: z.ZodArray<z.ZodString, "many">;
57
+ specifications: z.ZodArray<z.ZodString, "many">;
58
+ createdSpecifications: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
59
+ resolved: z.ZodOptional<z.ZodObject<{
60
+ requirements: z.ZodArray<z.ZodString, "many">;
61
+ specifications: z.ZodArray<z.ZodString, "many">;
62
+ }, "strip", z.ZodTypeAny, {
63
+ requirements: string[];
64
+ specifications: string[];
65
+ }, {
66
+ requirements: string[];
67
+ specifications: string[];
68
+ }>>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ requirements: string[];
71
+ createdRequirements: string[];
72
+ specifications: string[];
73
+ createdSpecifications: string[];
74
+ resolved?: {
75
+ requirements: string[];
76
+ specifications: string[];
77
+ } | undefined;
78
+ }, {
79
+ requirements: string[];
80
+ createdRequirements: string[];
81
+ specifications: string[];
82
+ createdSpecifications?: string[] | undefined;
83
+ resolved?: {
84
+ requirements: string[];
85
+ specifications: string[];
86
+ } | undefined;
87
+ }>;
88
+ syncedAt: z.ZodString;
89
+ status: z.ZodEnum<["open", "closed"]>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ githubIssue: number;
92
+ status: "open" | "closed";
93
+ linkedTo: {
94
+ requirements: string[];
95
+ createdRequirements: string[];
96
+ specifications: string[];
97
+ createdSpecifications: string[];
98
+ resolved?: {
99
+ requirements: string[];
100
+ specifications: string[];
101
+ } | undefined;
102
+ };
103
+ syncedAt: string;
104
+ title?: string | undefined;
105
+ type?: "bug" | "improvement" | "requirement-gap" | "spec-mismatch" | "security" | undefined;
106
+ severity?: "critical" | "high" | "medium" | "low" | undefined;
107
+ }, {
108
+ githubIssue: number;
109
+ status: "open" | "closed";
110
+ linkedTo: {
111
+ requirements: string[];
112
+ createdRequirements: string[];
113
+ specifications: string[];
114
+ createdSpecifications?: string[] | undefined;
115
+ resolved?: {
116
+ requirements: string[];
117
+ specifications: string[];
118
+ } | undefined;
119
+ };
120
+ syncedAt: string;
121
+ title?: string | undefined;
122
+ type?: "bug" | "improvement" | "requirement-gap" | "spec-mismatch" | "security" | undefined;
123
+ severity?: "critical" | "high" | "medium" | "low" | undefined;
124
+ }>;
125
+ export declare const FeedbackIndexSchema: z.ZodObject<{
126
+ feedbacks: z.ZodArray<z.ZodObject<{
127
+ githubIssue: z.ZodNumber;
128
+ title: z.ZodOptional<z.ZodString>;
129
+ type: z.ZodOptional<z.ZodEnum<["bug", "improvement", "requirement-gap", "spec-mismatch", "security"]>>;
130
+ severity: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
131
+ linkedTo: z.ZodObject<{
132
+ requirements: z.ZodArray<z.ZodString, "many">;
133
+ createdRequirements: z.ZodArray<z.ZodString, "many">;
134
+ specifications: z.ZodArray<z.ZodString, "many">;
135
+ createdSpecifications: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
136
+ resolved: z.ZodOptional<z.ZodObject<{
137
+ requirements: z.ZodArray<z.ZodString, "many">;
138
+ specifications: z.ZodArray<z.ZodString, "many">;
139
+ }, "strip", z.ZodTypeAny, {
140
+ requirements: string[];
141
+ specifications: string[];
142
+ }, {
143
+ requirements: string[];
144
+ specifications: string[];
145
+ }>>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ requirements: string[];
148
+ createdRequirements: string[];
149
+ specifications: string[];
150
+ createdSpecifications: string[];
151
+ resolved?: {
152
+ requirements: string[];
153
+ specifications: string[];
154
+ } | undefined;
155
+ }, {
156
+ requirements: string[];
157
+ createdRequirements: string[];
158
+ specifications: string[];
159
+ createdSpecifications?: string[] | undefined;
160
+ resolved?: {
161
+ requirements: string[];
162
+ specifications: string[];
163
+ } | undefined;
164
+ }>;
165
+ syncedAt: z.ZodString;
166
+ status: z.ZodEnum<["open", "closed"]>;
167
+ }, "strip", z.ZodTypeAny, {
168
+ githubIssue: number;
169
+ status: "open" | "closed";
170
+ linkedTo: {
171
+ requirements: string[];
172
+ createdRequirements: string[];
173
+ specifications: string[];
174
+ createdSpecifications: string[];
175
+ resolved?: {
176
+ requirements: string[];
177
+ specifications: string[];
178
+ } | undefined;
179
+ };
180
+ syncedAt: string;
181
+ title?: string | undefined;
182
+ type?: "bug" | "improvement" | "requirement-gap" | "spec-mismatch" | "security" | undefined;
183
+ severity?: "critical" | "high" | "medium" | "low" | undefined;
184
+ }, {
185
+ githubIssue: number;
186
+ status: "open" | "closed";
187
+ linkedTo: {
188
+ requirements: string[];
189
+ createdRequirements: string[];
190
+ specifications: string[];
191
+ createdSpecifications?: string[] | undefined;
192
+ resolved?: {
193
+ requirements: string[];
194
+ specifications: string[];
195
+ } | undefined;
196
+ };
197
+ syncedAt: string;
198
+ title?: string | undefined;
199
+ type?: "bug" | "improvement" | "requirement-gap" | "spec-mismatch" | "security" | undefined;
200
+ severity?: "critical" | "high" | "medium" | "low" | undefined;
201
+ }>, "many">;
202
+ }, "strip", z.ZodTypeAny, {
203
+ feedbacks: {
204
+ githubIssue: number;
205
+ status: "open" | "closed";
206
+ linkedTo: {
207
+ requirements: string[];
208
+ createdRequirements: string[];
209
+ specifications: string[];
210
+ createdSpecifications: string[];
211
+ resolved?: {
212
+ requirements: string[];
213
+ specifications: string[];
214
+ } | undefined;
215
+ };
216
+ syncedAt: string;
217
+ title?: string | undefined;
218
+ type?: "bug" | "improvement" | "requirement-gap" | "spec-mismatch" | "security" | undefined;
219
+ severity?: "critical" | "high" | "medium" | "low" | undefined;
220
+ }[];
221
+ }, {
222
+ feedbacks: {
223
+ githubIssue: number;
224
+ status: "open" | "closed";
225
+ linkedTo: {
226
+ requirements: string[];
227
+ createdRequirements: string[];
228
+ specifications: string[];
229
+ createdSpecifications?: string[] | undefined;
230
+ resolved?: {
231
+ requirements: string[];
232
+ specifications: string[];
233
+ } | undefined;
234
+ };
235
+ syncedAt: string;
236
+ title?: string | undefined;
237
+ type?: "bug" | "improvement" | "requirement-gap" | "spec-mismatch" | "security" | undefined;
238
+ severity?: "critical" | "high" | "medium" | "low" | undefined;
239
+ }[];
240
+ }>;
241
+ export type FeedbackType = z.infer<typeof FeedbackTypeSchema>;
242
+ export type FeedbackSeverity = z.infer<typeof FeedbackSeveritySchema>;
243
+ export type FeedbackStatus = z.infer<typeof FeedbackStatusSchema>;
244
+ export type FeedbackLinkedTo = z.infer<typeof FeedbackLinkedToSchema>;
245
+ export type FeedbackResolved = z.infer<typeof FeedbackResolvedSchema>;
246
+ export type FeedbackEntry = z.infer<typeof FeedbackEntrySchema>;
247
+ export type FeedbackIndex = z.infer<typeof FeedbackIndexSchema>;
248
+ export {};
249
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/schemas/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,mFAM7B,CAAC;AAEH,eAAO,MAAM,sBAAsB,kDAKjC,CAAC;AAEH,eAAO,MAAM,oBAAoB,+BAA6B,CAAC;AAE/D,QAAA,MAAM,sBAAsB;;;;;;;;;EAG1B,CAAC;AAEH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAC;AAEH,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,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ export const FeedbackTypeSchema = z.enum([
3
+ "bug",
4
+ "improvement",
5
+ "requirement-gap",
6
+ "spec-mismatch",
7
+ "security",
8
+ ]);
9
+ export const FeedbackSeveritySchema = z.enum([
10
+ "critical",
11
+ "high",
12
+ "medium",
13
+ "low",
14
+ ]);
15
+ export const FeedbackStatusSchema = z.enum(["open", "closed"]);
16
+ const FeedbackResolvedSchema = z.object({
17
+ requirements: z.array(z.string()),
18
+ specifications: z.array(z.string()),
19
+ });
20
+ const FeedbackLinkedToSchema = z.object({
21
+ requirements: z.array(z.string()),
22
+ createdRequirements: z.array(z.string()),
23
+ specifications: z.array(z.string()),
24
+ createdSpecifications: z.array(z.string()).default([]),
25
+ resolved: FeedbackResolvedSchema.optional(),
26
+ });
27
+ export const FeedbackEntrySchema = z.object({
28
+ githubIssue: z.number(),
29
+ title: z.string().min(1).optional(),
30
+ type: FeedbackTypeSchema.optional(),
31
+ severity: FeedbackSeveritySchema.optional(),
32
+ linkedTo: FeedbackLinkedToSchema,
33
+ syncedAt: z.string().datetime(),
34
+ status: FeedbackStatusSchema,
35
+ });
36
+ export const FeedbackIndexSchema = z.object({
37
+ feedbacks: z.array(FeedbackEntrySchema),
38
+ });
39
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/schemas/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,KAAK;IACL,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE/D,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,oBAAoB;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACxC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=feedback.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.test.d.ts","sourceRoot":"","sources":["../../src/schemas/feedback.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,234 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { FeedbackTypeSchema, FeedbackSeveritySchema, FeedbackStatusSchema, FeedbackEntrySchema, FeedbackIndexSchema, } from "./feedback.js";
3
+ describe("FeedbackTypeSchema", () => {
4
+ it("有効な値を受け入れる", () => {
5
+ expect(FeedbackTypeSchema.parse("bug")).toBe("bug");
6
+ expect(FeedbackTypeSchema.parse("improvement")).toBe("improvement");
7
+ expect(FeedbackTypeSchema.parse("requirement-gap")).toBe("requirement-gap");
8
+ expect(FeedbackTypeSchema.parse("spec-mismatch")).toBe("spec-mismatch");
9
+ expect(FeedbackTypeSchema.parse("security")).toBe("security");
10
+ });
11
+ it("無効な値を拒否する", () => {
12
+ expect(() => FeedbackTypeSchema.parse("invalid")).toThrow();
13
+ expect(() => FeedbackTypeSchema.parse("")).toThrow();
14
+ });
15
+ });
16
+ describe("FeedbackSeveritySchema", () => {
17
+ it("有効な値を受け入れる", () => {
18
+ expect(FeedbackSeveritySchema.parse("critical")).toBe("critical");
19
+ expect(FeedbackSeveritySchema.parse("high")).toBe("high");
20
+ expect(FeedbackSeveritySchema.parse("medium")).toBe("medium");
21
+ expect(FeedbackSeveritySchema.parse("low")).toBe("low");
22
+ });
23
+ it("無効な値を拒否する", () => {
24
+ expect(() => FeedbackSeveritySchema.parse("invalid")).toThrow();
25
+ expect(() => FeedbackSeveritySchema.parse("")).toThrow();
26
+ });
27
+ });
28
+ describe("FeedbackStatusSchema", () => {
29
+ it("有効な値を受け入れる", () => {
30
+ expect(FeedbackStatusSchema.parse("open")).toBe("open");
31
+ expect(FeedbackStatusSchema.parse("closed")).toBe("closed");
32
+ });
33
+ it("無効な値を拒否する", () => {
34
+ expect(() => FeedbackStatusSchema.parse("invalid")).toThrow();
35
+ expect(() => FeedbackStatusSchema.parse("pending")).toThrow();
36
+ });
37
+ });
38
+ describe("FeedbackEntrySchema", () => {
39
+ it("titleフィールドを持つ有効なエントリを受け入れる", () => {
40
+ const entry = {
41
+ githubIssue: 200,
42
+ title: "Bug: login fails",
43
+ linkedTo: {
44
+ requirements: [],
45
+ createdRequirements: [],
46
+ specifications: [],
47
+ },
48
+ syncedAt: "2026-02-09T12:00:00Z",
49
+ status: "open",
50
+ };
51
+ const result = FeedbackEntrySchema.parse(entry);
52
+ expect(result.title).toBe("Bug: login fails");
53
+ });
54
+ it("titleが空文字の場合は拒否する", () => {
55
+ const entry = {
56
+ githubIssue: 202,
57
+ title: "",
58
+ linkedTo: {
59
+ requirements: [],
60
+ createdRequirements: [],
61
+ specifications: [],
62
+ },
63
+ syncedAt: "2026-02-09T12:00:00Z",
64
+ status: "open",
65
+ };
66
+ expect(() => FeedbackEntrySchema.parse(entry)).toThrow();
67
+ });
68
+ it("titleフィールドが省略された場合も受け入れる(後方互換性)", () => {
69
+ const entry = {
70
+ githubIssue: 201,
71
+ linkedTo: {
72
+ requirements: [],
73
+ createdRequirements: [],
74
+ specifications: [],
75
+ },
76
+ syncedAt: "2026-02-09T12:00:00Z",
77
+ status: "open",
78
+ };
79
+ const result = FeedbackEntrySchema.parse(entry);
80
+ expect(result.title).toBeUndefined();
81
+ });
82
+ it("すべてのフィールドを持つ有効なエントリを受け入れる", () => {
83
+ const entry = {
84
+ githubIssue: 123,
85
+ type: "bug",
86
+ severity: "high",
87
+ linkedTo: {
88
+ requirements: ["req-000001"],
89
+ createdRequirements: ["req-000002"],
90
+ specifications: ["spec-000001"],
91
+ },
92
+ syncedAt: "2026-02-09T12:00:00Z",
93
+ status: "open",
94
+ };
95
+ const result = FeedbackEntrySchema.parse(entry);
96
+ expect(result).toEqual({
97
+ ...entry,
98
+ linkedTo: { ...entry.linkedTo, createdSpecifications: [] },
99
+ });
100
+ });
101
+ it("オプショナルフィールド(type, severity)を省略した有効なエントリを受け入れる", () => {
102
+ const entry = {
103
+ githubIssue: 456,
104
+ linkedTo: {
105
+ requirements: [],
106
+ createdRequirements: [],
107
+ specifications: [],
108
+ },
109
+ syncedAt: "2026-02-09T12:00:00Z",
110
+ status: "closed",
111
+ };
112
+ const result = FeedbackEntrySchema.parse(entry);
113
+ expect(result).toEqual({
114
+ ...entry,
115
+ linkedTo: { ...entry.linkedTo, createdSpecifications: [] },
116
+ });
117
+ });
118
+ it("必須フィールドが欠けている場合は拒否する", () => {
119
+ expect(() => FeedbackEntrySchema.parse({
120
+ type: "bug",
121
+ severity: "high",
122
+ linkedTo: { requirements: [], createdRequirements: [], specifications: [] },
123
+ syncedAt: "2026-02-09T12:00:00Z",
124
+ status: "open",
125
+ })).toThrow();
126
+ expect(() => FeedbackEntrySchema.parse({
127
+ githubIssue: 123,
128
+ linkedTo: { requirements: [], createdRequirements: [], specifications: [] },
129
+ status: "open",
130
+ })).toThrow();
131
+ });
132
+ });
133
+ describe("FeedbackIndexSchema", () => {
134
+ it("feedbacks配列を持つ有効なインデックスを受け入れる", () => {
135
+ const index = {
136
+ feedbacks: [
137
+ {
138
+ githubIssue: 123,
139
+ type: "bug",
140
+ severity: "high",
141
+ linkedTo: {
142
+ requirements: ["req-000001"],
143
+ createdRequirements: [],
144
+ specifications: [],
145
+ },
146
+ syncedAt: "2026-02-09T12:00:00Z",
147
+ status: "open",
148
+ },
149
+ ],
150
+ };
151
+ const result = FeedbackIndexSchema.parse(index);
152
+ expect(result).toEqual({
153
+ feedbacks: [
154
+ {
155
+ ...index.feedbacks[0],
156
+ linkedTo: { ...index.feedbacks[0].linkedTo, createdSpecifications: [] },
157
+ },
158
+ ],
159
+ });
160
+ });
161
+ it("空のfeedbacks配列を受け入れる", () => {
162
+ const index = { feedbacks: [] };
163
+ const result = FeedbackIndexSchema.parse(index);
164
+ expect(result).toEqual(index);
165
+ });
166
+ });
167
+ describe("FeedbackLinkedToSchema v2.0.0 backward compatibility", () => {
168
+ it("createdSpecificationsが未指定の場合、デフォルト値[]が設定される", () => {
169
+ const entry = {
170
+ githubIssue: 100,
171
+ linkedTo: {
172
+ requirements: ["req-000001"],
173
+ createdRequirements: [],
174
+ specifications: [],
175
+ },
176
+ syncedAt: "2026-02-10T00:00:00Z",
177
+ status: "open",
178
+ };
179
+ const result = FeedbackEntrySchema.parse(entry);
180
+ expect(result.linkedTo.createdSpecifications).toEqual([]);
181
+ });
182
+ it("createdSpecificationsに明示的な値が設定される", () => {
183
+ const entry = {
184
+ githubIssue: 101,
185
+ linkedTo: {
186
+ requirements: ["req-000001"],
187
+ createdRequirements: [],
188
+ specifications: [],
189
+ createdSpecifications: ["spec-000010", "spec-000011"],
190
+ },
191
+ syncedAt: "2026-02-10T00:00:00Z",
192
+ status: "open",
193
+ };
194
+ const result = FeedbackEntrySchema.parse(entry);
195
+ expect(result.linkedTo.createdSpecifications).toEqual(["spec-000010", "spec-000011"]);
196
+ });
197
+ it("resolvedが省略可能(後方互換性)", () => {
198
+ const entry = {
199
+ githubIssue: 102,
200
+ linkedTo: {
201
+ requirements: ["req-000001"],
202
+ createdRequirements: [],
203
+ specifications: [],
204
+ },
205
+ syncedAt: "2026-02-10T00:00:00Z",
206
+ status: "open",
207
+ };
208
+ const result = FeedbackEntrySchema.parse(entry);
209
+ expect(result.linkedTo.resolved).toBeUndefined();
210
+ });
211
+ it("resolvedに有効なデータが設定される", () => {
212
+ const entry = {
213
+ githubIssue: 103,
214
+ linkedTo: {
215
+ requirements: ["req-000001"],
216
+ createdRequirements: [],
217
+ specifications: ["spec-000001"],
218
+ createdSpecifications: [],
219
+ resolved: {
220
+ requirements: ["req-000001"],
221
+ specifications: ["spec-000001"],
222
+ },
223
+ },
224
+ syncedAt: "2026-02-10T00:00:00Z",
225
+ status: "closed",
226
+ };
227
+ const result = FeedbackEntrySchema.parse(entry);
228
+ expect(result.linkedTo.resolved).toEqual({
229
+ requirements: ["req-000001"],
230
+ specifications: ["spec-000001"],
231
+ });
232
+ });
233
+ });
234
+ //# sourceMappingURL=feedback.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.test.js","sourceRoot":"","sources":["../../src/schemas/feedback.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { StatusSchema, PrioritySchema, ComplexitySchema, FormatTypeSchema, VersionHistoryEntrySchema, type Status, type Priority, type Complexity, type FormatType, type VersionHistoryEntry, } from "./common.js";
2
+ export { RequirementSchema, type Requirement, } from "./requirement.js";
3
+ export { ProjectContextSchema, type ProjectContext, } from "./project-context.js";
4
+ export { SpecificationSchema, DesignValidationSchema, DesignValidationRuleSchema, type Specification, type DesignValidation, type DesignValidationRule, } from "./specification.js";
5
+ export { ValidationSeveritySchema, ValidationIssueSchema, SmartScoreSchema, ValidationMetadataSchema, ValidationResultSchema, type ValidationSeverity, type ValidationIssue, type SmartScore, type ValidationMetadata, type ValidationResult, } from "./validation.js";
6
+ export { FeedbackTypeSchema, FeedbackSeveritySchema, FeedbackStatusSchema, FeedbackEntrySchema, FeedbackIndexSchema, type FeedbackType, type FeedbackSeverity, type FeedbackStatus, type FeedbackLinkedTo, type FeedbackResolved, type FeedbackEntry, type FeedbackIndex, } from "./feedback.js";
7
+ export { TaskDefinitionSchema, TaskDefinitionFileSchema, TaskLinkedToSchema, TaskEntrySchema, TasksIndexSchema, type TaskDefinition, type TaskDefinitionFile, type TaskLinkedTo, type TaskEntry, type TasksIndex, } from "./task.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { StatusSchema, PrioritySchema, ComplexitySchema, FormatTypeSchema, VersionHistoryEntrySchema, } from "./common.js";
2
+ export { RequirementSchema, } from "./requirement.js";
3
+ export { ProjectContextSchema, } from "./project-context.js";
4
+ export { SpecificationSchema, DesignValidationSchema, DesignValidationRuleSchema, } from "./specification.js";
5
+ export { ValidationSeveritySchema, ValidationIssueSchema, SmartScoreSchema, ValidationMetadataSchema, ValidationResultSchema, } from "./validation.js";
6
+ export { FeedbackTypeSchema, FeedbackSeveritySchema, FeedbackStatusSchema, FeedbackEntrySchema, FeedbackIndexSchema, } from "./feedback.js";
7
+ export { TaskDefinitionSchema, TaskDefinitionFileSchema, TaskLinkedToSchema, TaskEntrySchema, TasksIndexSchema, } from "./task.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,GAM1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAI3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,GAMvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GAQpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GAMjB,MAAM,WAAW,CAAC"}