@thanh01.pmt/domain-kit 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 (108) hide show
  1. package/README.md +1101 -0
  2. package/dist/assembly/index.cjs +213 -0
  3. package/dist/assembly/index.cjs.map +1 -0
  4. package/dist/assembly/index.d.cts +66 -0
  5. package/dist/assembly/index.d.ts +66 -0
  6. package/dist/assembly/index.mjs +4 -0
  7. package/dist/assembly/index.mjs.map +1 -0
  8. package/dist/chunk-3H2HX7PR.mjs +324 -0
  9. package/dist/chunk-3H2HX7PR.mjs.map +1 -0
  10. package/dist/chunk-3VVPSRAM.mjs +1297 -0
  11. package/dist/chunk-3VVPSRAM.mjs.map +1 -0
  12. package/dist/chunk-DRVOV5ZD.mjs +314 -0
  13. package/dist/chunk-DRVOV5ZD.mjs.map +1 -0
  14. package/dist/chunk-F4RZNBOE.mjs +3 -0
  15. package/dist/chunk-F4RZNBOE.mjs.map +1 -0
  16. package/dist/chunk-GEUDHZE7.mjs +446 -0
  17. package/dist/chunk-GEUDHZE7.mjs.map +1 -0
  18. package/dist/chunk-HH4UX65C.mjs +100 -0
  19. package/dist/chunk-HH4UX65C.mjs.map +1 -0
  20. package/dist/chunk-KMYENICQ.mjs +3 -0
  21. package/dist/chunk-KMYENICQ.mjs.map +1 -0
  22. package/dist/chunk-KNDBODUQ.mjs +153 -0
  23. package/dist/chunk-KNDBODUQ.mjs.map +1 -0
  24. package/dist/chunk-MM2RWYNW.mjs +3 -0
  25. package/dist/chunk-MM2RWYNW.mjs.map +1 -0
  26. package/dist/chunk-MOKNFLUD.mjs +851 -0
  27. package/dist/chunk-MOKNFLUD.mjs.map +1 -0
  28. package/dist/chunk-ONQHJ4OH.mjs +211 -0
  29. package/dist/chunk-ONQHJ4OH.mjs.map +1 -0
  30. package/dist/chunk-PM42MMDJ.mjs +516 -0
  31. package/dist/chunk-PM42MMDJ.mjs.map +1 -0
  32. package/dist/chunk-RKRNOVKO.mjs +166 -0
  33. package/dist/chunk-RKRNOVKO.mjs.map +1 -0
  34. package/dist/chunk-VFART56O.mjs +884 -0
  35. package/dist/chunk-VFART56O.mjs.map +1 -0
  36. package/dist/chunk-XMHKWHVK.mjs +218 -0
  37. package/dist/chunk-XMHKWHVK.mjs.map +1 -0
  38. package/dist/conceptEscalator-YfMKIKCZ.d.ts +40 -0
  39. package/dist/conceptEscalator-ltRLtPhf.d.cts +40 -0
  40. package/dist/concepts/index.cjs +155 -0
  41. package/dist/concepts/index.cjs.map +1 -0
  42. package/dist/concepts/index.d.cts +79 -0
  43. package/dist/concepts/index.d.ts +79 -0
  44. package/dist/concepts/index.mjs +4 -0
  45. package/dist/concepts/index.mjs.map +1 -0
  46. package/dist/curriculumFeedSchema-TEeQg2bY.d.cts +549 -0
  47. package/dist/curriculumFeedSchema-TEeQg2bY.d.ts +549 -0
  48. package/dist/detector/index.cjs +889 -0
  49. package/dist/detector/index.cjs.map +1 -0
  50. package/dist/detector/index.d.cts +112 -0
  51. package/dist/detector/index.d.ts +112 -0
  52. package/dist/detector/index.mjs +3 -0
  53. package/dist/detector/index.mjs.map +1 -0
  54. package/dist/domainProfileSchema-CwT3Ffsw.d.cts +105 -0
  55. package/dist/domainProfileSchema-CwT3Ffsw.d.ts +105 -0
  56. package/dist/extractors/index.cjs +387 -0
  57. package/dist/extractors/index.cjs.map +1 -0
  58. package/dist/extractors/index.d.cts +46 -0
  59. package/dist/extractors/index.d.ts +46 -0
  60. package/dist/extractors/index.mjs +4 -0
  61. package/dist/extractors/index.mjs.map +1 -0
  62. package/dist/feed/index.cjs +421 -0
  63. package/dist/feed/index.cjs.map +1 -0
  64. package/dist/feed/index.d.cts +23 -0
  65. package/dist/feed/index.d.ts +23 -0
  66. package/dist/feed/index.mjs +4 -0
  67. package/dist/feed/index.mjs.map +1 -0
  68. package/dist/graph/index.cjs +2167 -0
  69. package/dist/graph/index.cjs.map +1 -0
  70. package/dist/graph/index.d.cts +226 -0
  71. package/dist/graph/index.d.ts +226 -0
  72. package/dist/graph/index.mjs +4 -0
  73. package/dist/graph/index.mjs.map +1 -0
  74. package/dist/graphVerifier-DsTP9uAN.d.ts +37 -0
  75. package/dist/graphVerifier-QjgDAJce.d.cts +37 -0
  76. package/dist/hybridGraphSchema-BCgXicgA.d.cts +2840 -0
  77. package/dist/hybridGraphSchema-BCgXicgA.d.ts +2840 -0
  78. package/dist/index.cjs +5539 -0
  79. package/dist/index.cjs.map +1 -0
  80. package/dist/index.d.cts +18 -0
  81. package/dist/index.d.ts +18 -0
  82. package/dist/index.mjs +17 -0
  83. package/dist/index.mjs.map +1 -0
  84. package/dist/keywordExtractor-CKaXqSku.d.ts +34 -0
  85. package/dist/keywordExtractor-zPAz2isq.d.cts +34 -0
  86. package/dist/llmClient-ysPhLjcH.d.cts +16 -0
  87. package/dist/llmClient-ysPhLjcH.d.ts +16 -0
  88. package/dist/parsers/index.cjs +323 -0
  89. package/dist/parsers/index.cjs.map +1 -0
  90. package/dist/parsers/index.d.cts +98 -0
  91. package/dist/parsers/index.d.ts +98 -0
  92. package/dist/parsers/index.mjs +4 -0
  93. package/dist/parsers/index.mjs.map +1 -0
  94. package/dist/pipeline/index.cjs +2166 -0
  95. package/dist/pipeline/index.cjs.map +1 -0
  96. package/dist/pipeline/index.d.cts +45 -0
  97. package/dist/pipeline/index.d.ts +45 -0
  98. package/dist/pipeline/index.mjs +8 -0
  99. package/dist/pipeline/index.mjs.map +1 -0
  100. package/dist/projectGraphSchema-DnD7orZV.d.cts +2581 -0
  101. package/dist/projectGraphSchema-DnD7orZV.d.ts +2581 -0
  102. package/dist/schemas/index.cjs +675 -0
  103. package/dist/schemas/index.cjs.map +1 -0
  104. package/dist/schemas/index.d.cts +253 -0
  105. package/dist/schemas/index.d.ts +253 -0
  106. package/dist/schemas/index.mjs +4 -0
  107. package/dist/schemas/index.mjs.map +1 -0
  108. package/package.json +71 -0
@@ -0,0 +1,2840 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Knowledge Graph Schema — for concept-driven learning domains
5
+ * (Math, Science, Language, Arts, Research)
6
+ *
7
+ * Unlike ProjectGraph (product decomposition), KnowledgeGraph represents
8
+ * concept decomposition with ULO/CIO/SIO levels and prerequisite chains.
9
+ */
10
+
11
+ declare const ProblemTypeSchema: z.ZodObject<{
12
+ id: z.ZodString;
13
+ name: z.ZodString;
14
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
+ bloom_level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["Remember", "Understand", "Apply", "Analyze", "Evaluate", "Create"]>>>;
16
+ difficulty: z.ZodDefault<z.ZodOptional<z.ZodEnum<["easy", "medium", "hard"]>>>;
17
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
18
+ examples: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
19
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ estimated_minutes: number;
22
+ id: string;
23
+ name: string;
24
+ description: string;
25
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
26
+ difficulty: "medium" | "easy" | "hard";
27
+ examples: string[];
28
+ common_mistakes: string[];
29
+ }, {
30
+ id: string;
31
+ name: string;
32
+ estimated_minutes?: number | undefined;
33
+ description?: string | undefined;
34
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
35
+ difficulty?: "medium" | "easy" | "hard" | undefined;
36
+ examples?: string[] | undefined;
37
+ common_mistakes?: string[] | undefined;
38
+ }>;
39
+ type ProblemType = z.infer<typeof ProblemTypeSchema>;
40
+ declare const ConceptSchema: z.ZodObject<{
41
+ id: z.ZodString;
42
+ code: z.ZodOptional<z.ZodString>;
43
+ standardization: z.ZodOptional<z.ZodEnum<["standardized", "proposed_new"]>>;
44
+ tree_code: z.ZodOptional<z.ZodString>;
45
+ tree_prerequisites: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
46
+ name: z.ZodString;
47
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
48
+ category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
49
+ ulo: z.ZodDefault<z.ZodOptional<z.ZodString>>;
50
+ ulo_code: z.ZodOptional<z.ZodString>;
51
+ cio: z.ZodDefault<z.ZodOptional<z.ZodString>>;
52
+ cio_code: z.ZodOptional<z.ZodString>;
53
+ sio: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
54
+ sio_codes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
55
+ prerequisites: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
56
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
57
+ problem_types: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
58
+ id: z.ZodString;
59
+ name: z.ZodString;
60
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
61
+ bloom_level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["Remember", "Understand", "Apply", "Analyze", "Evaluate", "Create"]>>>;
62
+ difficulty: z.ZodDefault<z.ZodOptional<z.ZodEnum<["easy", "medium", "hard"]>>>;
63
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
64
+ examples: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
65
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ estimated_minutes: number;
68
+ id: string;
69
+ name: string;
70
+ description: string;
71
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
72
+ difficulty: "medium" | "easy" | "hard";
73
+ examples: string[];
74
+ common_mistakes: string[];
75
+ }, {
76
+ id: string;
77
+ name: string;
78
+ estimated_minutes?: number | undefined;
79
+ description?: string | undefined;
80
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
81
+ difficulty?: "medium" | "easy" | "hard" | undefined;
82
+ examples?: string[] | undefined;
83
+ common_mistakes?: string[] | undefined;
84
+ }>, "many">>>;
85
+ techniques: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
86
+ materials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
87
+ visual_aids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
88
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
89
+ keywords: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
90
+ tech_stack: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
91
+ }, "strip", z.ZodTypeAny, {
92
+ estimated_minutes: number;
93
+ id: string;
94
+ name: string;
95
+ description: string;
96
+ keywords: string[];
97
+ tech_stack: string[];
98
+ common_mistakes: string[];
99
+ tree_prerequisites: string[];
100
+ category: string;
101
+ ulo: string;
102
+ cio: string;
103
+ sio: string[];
104
+ prerequisites: string[];
105
+ problem_types: {
106
+ estimated_minutes: number;
107
+ id: string;
108
+ name: string;
109
+ description: string;
110
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
111
+ difficulty: "medium" | "easy" | "hard";
112
+ examples: string[];
113
+ common_mistakes: string[];
114
+ }[];
115
+ techniques: string[];
116
+ materials: string[];
117
+ visual_aids: string[];
118
+ code?: string | undefined;
119
+ standardization?: "standardized" | "proposed_new" | undefined;
120
+ tree_code?: string | undefined;
121
+ ulo_code?: string | undefined;
122
+ cio_code?: string | undefined;
123
+ sio_codes?: string[] | undefined;
124
+ }, {
125
+ id: string;
126
+ name: string;
127
+ estimated_minutes?: number | undefined;
128
+ code?: string | undefined;
129
+ description?: string | undefined;
130
+ keywords?: string[] | undefined;
131
+ tech_stack?: string[] | undefined;
132
+ common_mistakes?: string[] | undefined;
133
+ standardization?: "standardized" | "proposed_new" | undefined;
134
+ tree_code?: string | undefined;
135
+ tree_prerequisites?: string[] | undefined;
136
+ category?: string | undefined;
137
+ ulo?: string | undefined;
138
+ ulo_code?: string | undefined;
139
+ cio?: string | undefined;
140
+ cio_code?: string | undefined;
141
+ sio?: string[] | undefined;
142
+ sio_codes?: string[] | undefined;
143
+ prerequisites?: string[] | undefined;
144
+ problem_types?: {
145
+ id: string;
146
+ name: string;
147
+ estimated_minutes?: number | undefined;
148
+ description?: string | undefined;
149
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
150
+ difficulty?: "medium" | "easy" | "hard" | undefined;
151
+ examples?: string[] | undefined;
152
+ common_mistakes?: string[] | undefined;
153
+ }[] | undefined;
154
+ techniques?: string[] | undefined;
155
+ materials?: string[] | undefined;
156
+ visual_aids?: string[] | undefined;
157
+ }>;
158
+ type Concept = z.infer<typeof ConceptSchema>;
159
+ declare const ConceptCategorySchema: z.ZodObject<{
160
+ id: z.ZodString;
161
+ name: z.ZodString;
162
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
163
+ concept_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
164
+ order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ id: string;
167
+ name: string;
168
+ description: string;
169
+ concept_ids: string[];
170
+ order: number;
171
+ }, {
172
+ id: string;
173
+ name: string;
174
+ description?: string | undefined;
175
+ concept_ids?: string[] | undefined;
176
+ order?: number | undefined;
177
+ }>;
178
+ type ConceptCategory = z.infer<typeof ConceptCategorySchema>;
179
+ declare const SubjectInfoSchema: z.ZodObject<{
180
+ id: z.ZodString;
181
+ name: z.ZodString;
182
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
183
+ domain: z.ZodDefault<z.ZodOptional<z.ZodEnum<["math", "science", "language", "arts", "research", "business", "other"]>>>;
184
+ grade_band: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
185
+ estimated_hours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
186
+ estimated_weeks: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
187
+ syllabus_ref: z.ZodDefault<z.ZodOptional<z.ZodString>>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ id: string;
190
+ name: string;
191
+ description: string;
192
+ domain: "math" | "science" | "language" | "arts" | "research" | "business" | "other";
193
+ estimated_hours: number;
194
+ estimated_weeks: number;
195
+ syllabus_ref: string;
196
+ grade_band?: [number, number] | undefined;
197
+ }, {
198
+ id: string;
199
+ name: string;
200
+ description?: string | undefined;
201
+ domain?: "math" | "science" | "language" | "arts" | "research" | "business" | "other" | undefined;
202
+ grade_band?: [number, number] | undefined;
203
+ estimated_hours?: number | undefined;
204
+ estimated_weeks?: number | undefined;
205
+ syllabus_ref?: string | undefined;
206
+ }>;
207
+ type SubjectInfo = z.infer<typeof SubjectInfoSchema>;
208
+ declare const LearningPathStepSchema: z.ZodObject<{
209
+ concept_id: z.ZodString;
210
+ order: z.ZodNumber;
211
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
212
+ milestone_name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ depends_on: string[];
215
+ order: number;
216
+ concept_id: string;
217
+ milestone_name: string;
218
+ }, {
219
+ order: number;
220
+ concept_id: string;
221
+ depends_on?: string[] | undefined;
222
+ milestone_name?: string | undefined;
223
+ }>;
224
+ type LearningPathStep = z.infer<typeof LearningPathStepSchema>;
225
+ declare const KnowledgeGraphSchema: z.ZodObject<{
226
+ schema_version: z.ZodDefault<z.ZodOptional<z.ZodLiteral<1>>>;
227
+ type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"knowledge_graph">>>;
228
+ subject: z.ZodObject<{
229
+ id: z.ZodString;
230
+ name: z.ZodString;
231
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
232
+ domain: z.ZodDefault<z.ZodOptional<z.ZodEnum<["math", "science", "language", "arts", "research", "business", "other"]>>>;
233
+ grade_band: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
234
+ estimated_hours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
235
+ estimated_weeks: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
236
+ syllabus_ref: z.ZodDefault<z.ZodOptional<z.ZodString>>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ id: string;
239
+ name: string;
240
+ description: string;
241
+ domain: "math" | "science" | "language" | "arts" | "research" | "business" | "other";
242
+ estimated_hours: number;
243
+ estimated_weeks: number;
244
+ syllabus_ref: string;
245
+ grade_band?: [number, number] | undefined;
246
+ }, {
247
+ id: string;
248
+ name: string;
249
+ description?: string | undefined;
250
+ domain?: "math" | "science" | "language" | "arts" | "research" | "business" | "other" | undefined;
251
+ grade_band?: [number, number] | undefined;
252
+ estimated_hours?: number | undefined;
253
+ estimated_weeks?: number | undefined;
254
+ syllabus_ref?: string | undefined;
255
+ }>;
256
+ concepts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
257
+ id: z.ZodString;
258
+ code: z.ZodOptional<z.ZodString>;
259
+ standardization: z.ZodOptional<z.ZodEnum<["standardized", "proposed_new"]>>;
260
+ tree_code: z.ZodOptional<z.ZodString>;
261
+ tree_prerequisites: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
262
+ name: z.ZodString;
263
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
264
+ category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
265
+ ulo: z.ZodDefault<z.ZodOptional<z.ZodString>>;
266
+ ulo_code: z.ZodOptional<z.ZodString>;
267
+ cio: z.ZodDefault<z.ZodOptional<z.ZodString>>;
268
+ cio_code: z.ZodOptional<z.ZodString>;
269
+ sio: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
270
+ sio_codes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
271
+ prerequisites: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
272
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
273
+ problem_types: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
274
+ id: z.ZodString;
275
+ name: z.ZodString;
276
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
277
+ bloom_level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["Remember", "Understand", "Apply", "Analyze", "Evaluate", "Create"]>>>;
278
+ difficulty: z.ZodDefault<z.ZodOptional<z.ZodEnum<["easy", "medium", "hard"]>>>;
279
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
280
+ examples: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
281
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
282
+ }, "strip", z.ZodTypeAny, {
283
+ estimated_minutes: number;
284
+ id: string;
285
+ name: string;
286
+ description: string;
287
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
288
+ difficulty: "medium" | "easy" | "hard";
289
+ examples: string[];
290
+ common_mistakes: string[];
291
+ }, {
292
+ id: string;
293
+ name: string;
294
+ estimated_minutes?: number | undefined;
295
+ description?: string | undefined;
296
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
297
+ difficulty?: "medium" | "easy" | "hard" | undefined;
298
+ examples?: string[] | undefined;
299
+ common_mistakes?: string[] | undefined;
300
+ }>, "many">>>;
301
+ techniques: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
302
+ materials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
303
+ visual_aids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
304
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
305
+ keywords: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
306
+ tech_stack: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
307
+ }, "strip", z.ZodTypeAny, {
308
+ estimated_minutes: number;
309
+ id: string;
310
+ name: string;
311
+ description: string;
312
+ keywords: string[];
313
+ tech_stack: string[];
314
+ common_mistakes: string[];
315
+ tree_prerequisites: string[];
316
+ category: string;
317
+ ulo: string;
318
+ cio: string;
319
+ sio: string[];
320
+ prerequisites: string[];
321
+ problem_types: {
322
+ estimated_minutes: number;
323
+ id: string;
324
+ name: string;
325
+ description: string;
326
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
327
+ difficulty: "medium" | "easy" | "hard";
328
+ examples: string[];
329
+ common_mistakes: string[];
330
+ }[];
331
+ techniques: string[];
332
+ materials: string[];
333
+ visual_aids: string[];
334
+ code?: string | undefined;
335
+ standardization?: "standardized" | "proposed_new" | undefined;
336
+ tree_code?: string | undefined;
337
+ ulo_code?: string | undefined;
338
+ cio_code?: string | undefined;
339
+ sio_codes?: string[] | undefined;
340
+ }, {
341
+ id: string;
342
+ name: string;
343
+ estimated_minutes?: number | undefined;
344
+ code?: string | undefined;
345
+ description?: string | undefined;
346
+ keywords?: string[] | undefined;
347
+ tech_stack?: string[] | undefined;
348
+ common_mistakes?: string[] | undefined;
349
+ standardization?: "standardized" | "proposed_new" | undefined;
350
+ tree_code?: string | undefined;
351
+ tree_prerequisites?: string[] | undefined;
352
+ category?: string | undefined;
353
+ ulo?: string | undefined;
354
+ ulo_code?: string | undefined;
355
+ cio?: string | undefined;
356
+ cio_code?: string | undefined;
357
+ sio?: string[] | undefined;
358
+ sio_codes?: string[] | undefined;
359
+ prerequisites?: string[] | undefined;
360
+ problem_types?: {
361
+ id: string;
362
+ name: string;
363
+ estimated_minutes?: number | undefined;
364
+ description?: string | undefined;
365
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
366
+ difficulty?: "medium" | "easy" | "hard" | undefined;
367
+ examples?: string[] | undefined;
368
+ common_mistakes?: string[] | undefined;
369
+ }[] | undefined;
370
+ techniques?: string[] | undefined;
371
+ materials?: string[] | undefined;
372
+ visual_aids?: string[] | undefined;
373
+ }>, "many">>>;
374
+ categories: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
375
+ id: z.ZodString;
376
+ name: z.ZodString;
377
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
378
+ concept_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
379
+ order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
380
+ }, "strip", z.ZodTypeAny, {
381
+ id: string;
382
+ name: string;
383
+ description: string;
384
+ concept_ids: string[];
385
+ order: number;
386
+ }, {
387
+ id: string;
388
+ name: string;
389
+ description?: string | undefined;
390
+ concept_ids?: string[] | undefined;
391
+ order?: number | undefined;
392
+ }>, "many">>>;
393
+ learning_path: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
394
+ concept_id: z.ZodString;
395
+ order: z.ZodNumber;
396
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
397
+ milestone_name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
398
+ }, "strip", z.ZodTypeAny, {
399
+ depends_on: string[];
400
+ order: number;
401
+ concept_id: string;
402
+ milestone_name: string;
403
+ }, {
404
+ order: number;
405
+ concept_id: string;
406
+ depends_on?: string[] | undefined;
407
+ milestone_name?: string | undefined;
408
+ }>, "many">>>;
409
+ }, "strip", z.ZodTypeAny, {
410
+ type: "knowledge_graph";
411
+ schema_version: 1;
412
+ subject: {
413
+ id: string;
414
+ name: string;
415
+ description: string;
416
+ domain: "math" | "science" | "language" | "arts" | "research" | "business" | "other";
417
+ estimated_hours: number;
418
+ estimated_weeks: number;
419
+ syllabus_ref: string;
420
+ grade_band?: [number, number] | undefined;
421
+ };
422
+ concepts: {
423
+ estimated_minutes: number;
424
+ id: string;
425
+ name: string;
426
+ description: string;
427
+ keywords: string[];
428
+ tech_stack: string[];
429
+ common_mistakes: string[];
430
+ tree_prerequisites: string[];
431
+ category: string;
432
+ ulo: string;
433
+ cio: string;
434
+ sio: string[];
435
+ prerequisites: string[];
436
+ problem_types: {
437
+ estimated_minutes: number;
438
+ id: string;
439
+ name: string;
440
+ description: string;
441
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
442
+ difficulty: "medium" | "easy" | "hard";
443
+ examples: string[];
444
+ common_mistakes: string[];
445
+ }[];
446
+ techniques: string[];
447
+ materials: string[];
448
+ visual_aids: string[];
449
+ code?: string | undefined;
450
+ standardization?: "standardized" | "proposed_new" | undefined;
451
+ tree_code?: string | undefined;
452
+ ulo_code?: string | undefined;
453
+ cio_code?: string | undefined;
454
+ sio_codes?: string[] | undefined;
455
+ }[];
456
+ categories: {
457
+ id: string;
458
+ name: string;
459
+ description: string;
460
+ concept_ids: string[];
461
+ order: number;
462
+ }[];
463
+ learning_path: {
464
+ depends_on: string[];
465
+ order: number;
466
+ concept_id: string;
467
+ milestone_name: string;
468
+ }[];
469
+ }, {
470
+ subject: {
471
+ id: string;
472
+ name: string;
473
+ description?: string | undefined;
474
+ domain?: "math" | "science" | "language" | "arts" | "research" | "business" | "other" | undefined;
475
+ grade_band?: [number, number] | undefined;
476
+ estimated_hours?: number | undefined;
477
+ estimated_weeks?: number | undefined;
478
+ syllabus_ref?: string | undefined;
479
+ };
480
+ type?: "knowledge_graph" | undefined;
481
+ schema_version?: 1 | undefined;
482
+ concepts?: {
483
+ id: string;
484
+ name: string;
485
+ estimated_minutes?: number | undefined;
486
+ code?: string | undefined;
487
+ description?: string | undefined;
488
+ keywords?: string[] | undefined;
489
+ tech_stack?: string[] | undefined;
490
+ common_mistakes?: string[] | undefined;
491
+ standardization?: "standardized" | "proposed_new" | undefined;
492
+ tree_code?: string | undefined;
493
+ tree_prerequisites?: string[] | undefined;
494
+ category?: string | undefined;
495
+ ulo?: string | undefined;
496
+ ulo_code?: string | undefined;
497
+ cio?: string | undefined;
498
+ cio_code?: string | undefined;
499
+ sio?: string[] | undefined;
500
+ sio_codes?: string[] | undefined;
501
+ prerequisites?: string[] | undefined;
502
+ problem_types?: {
503
+ id: string;
504
+ name: string;
505
+ estimated_minutes?: number | undefined;
506
+ description?: string | undefined;
507
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
508
+ difficulty?: "medium" | "easy" | "hard" | undefined;
509
+ examples?: string[] | undefined;
510
+ common_mistakes?: string[] | undefined;
511
+ }[] | undefined;
512
+ techniques?: string[] | undefined;
513
+ materials?: string[] | undefined;
514
+ visual_aids?: string[] | undefined;
515
+ }[] | undefined;
516
+ categories?: {
517
+ id: string;
518
+ name: string;
519
+ description?: string | undefined;
520
+ concept_ids?: string[] | undefined;
521
+ order?: number | undefined;
522
+ }[] | undefined;
523
+ learning_path?: {
524
+ order: number;
525
+ concept_id: string;
526
+ depends_on?: string[] | undefined;
527
+ milestone_name?: string | undefined;
528
+ }[] | undefined;
529
+ }>;
530
+ type KnowledgeGraph = z.infer<typeof KnowledgeGraphSchema>;
531
+
532
+ /**
533
+ * Hybrid Graph Schema — for projects that combine product-driven and concept-driven learning.
534
+ *
535
+ * Example: "Build an Arduino robot but need to understand electronics theory first"
536
+ * Links project_graph (what to build) with knowledge_graph (what to understand).
537
+ */
538
+
539
+ declare const ProjectConceptLinkSchema: z.ZodObject<{
540
+ feature_id: z.ZodString;
541
+ concept_id: z.ZodString;
542
+ relationship: z.ZodDefault<z.ZodOptional<z.ZodEnum<["requires", "demonstrates", "applies", "extends"]>>>;
543
+ depth: z.ZodDefault<z.ZodOptional<z.ZodEnum<["ulo", "cio", "sio"]>>>;
544
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
545
+ estimated_prereq_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
546
+ phase_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ description: string;
549
+ feature_id: string;
550
+ concept_id: string;
551
+ relationship: "requires" | "demonstrates" | "applies" | "extends";
552
+ depth: "ulo" | "cio" | "sio";
553
+ estimated_prereq_minutes: number;
554
+ phase_id: string;
555
+ }, {
556
+ feature_id: string;
557
+ concept_id: string;
558
+ description?: string | undefined;
559
+ relationship?: "requires" | "demonstrates" | "applies" | "extends" | undefined;
560
+ depth?: "ulo" | "cio" | "sio" | undefined;
561
+ estimated_prereq_minutes?: number | undefined;
562
+ phase_id?: string | undefined;
563
+ }>;
564
+ declare const ConceptIntroductionSchema: z.ZodObject<{
565
+ concept_id: z.ZodString;
566
+ aspect: z.ZodDefault<z.ZodEnum<["new", "advanced"]>>;
567
+ note: z.ZodDefault<z.ZodOptional<z.ZodString>>;
568
+ }, "strip", z.ZodTypeAny, {
569
+ concept_id: string;
570
+ aspect: "new" | "advanced";
571
+ note: string;
572
+ }, {
573
+ concept_id: string;
574
+ aspect?: "new" | "advanced" | undefined;
575
+ note?: string | undefined;
576
+ }>;
577
+ declare const DevelopmentPhaseSchema: z.ZodObject<{
578
+ id: z.ZodString;
579
+ order: z.ZodNumber;
580
+ name: z.ZodString;
581
+ product_completion: z.ZodString;
582
+ feature_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
583
+ introduces: z.ZodDefault<z.ZodArray<z.ZodObject<{
584
+ concept_id: z.ZodString;
585
+ aspect: z.ZodDefault<z.ZodEnum<["new", "advanced"]>>;
586
+ note: z.ZodDefault<z.ZodOptional<z.ZodString>>;
587
+ }, "strip", z.ZodTypeAny, {
588
+ concept_id: string;
589
+ aspect: "new" | "advanced";
590
+ note: string;
591
+ }, {
592
+ concept_id: string;
593
+ aspect?: "new" | "advanced" | undefined;
594
+ note?: string | undefined;
595
+ }>, "many">>;
596
+ }, "strip", z.ZodTypeAny, {
597
+ id: string;
598
+ name: string;
599
+ feature_ids: string[];
600
+ order: number;
601
+ product_completion: string;
602
+ introduces: {
603
+ concept_id: string;
604
+ aspect: "new" | "advanced";
605
+ note: string;
606
+ }[];
607
+ }, {
608
+ id: string;
609
+ name: string;
610
+ order: number;
611
+ product_completion: string;
612
+ feature_ids?: string[] | undefined;
613
+ introduces?: {
614
+ concept_id: string;
615
+ aspect?: "new" | "advanced" | undefined;
616
+ note?: string | undefined;
617
+ }[] | undefined;
618
+ }>;
619
+ declare const HybridGraphSchema: z.ZodObject<{
620
+ schema_version: z.ZodDefault<z.ZodOptional<z.ZodLiteral<1>>>;
621
+ type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"hybrid_graph">>>;
622
+ project_graph: z.ZodObject<{
623
+ schema_version: z.ZodDefault<z.ZodOptional<z.ZodLiteral<3>>>;
624
+ project: z.ZodObject<{
625
+ id: z.ZodString;
626
+ name: z.ZodString;
627
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
628
+ purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
629
+ project_type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
630
+ platform: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
631
+ tech_stack: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
632
+ architecture: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
633
+ source: z.ZodOptional<z.ZodObject<{
634
+ repository: z.ZodDefault<z.ZodOptional<z.ZodString>>;
635
+ commit: z.ZodDefault<z.ZodOptional<z.ZodString>>;
636
+ scan_dir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
637
+ }, "strip", z.ZodTypeAny, {
638
+ repository: string;
639
+ commit: string;
640
+ scan_dir: string;
641
+ }, {
642
+ repository?: string | undefined;
643
+ commit?: string | undefined;
644
+ scan_dir?: string | undefined;
645
+ }>>;
646
+ }, "strip", z.ZodTypeAny, {
647
+ id: string;
648
+ name: string;
649
+ platform: string[];
650
+ purpose: string;
651
+ version: string;
652
+ project_type: string;
653
+ architecture: string[];
654
+ tech_stack?: Record<string, string[]> | undefined;
655
+ source?: {
656
+ repository: string;
657
+ commit: string;
658
+ scan_dir: string;
659
+ } | undefined;
660
+ }, {
661
+ id: string;
662
+ name: string;
663
+ platform?: string[] | undefined;
664
+ purpose?: string | undefined;
665
+ version?: string | undefined;
666
+ project_type?: string | undefined;
667
+ tech_stack?: Record<string, string[]> | undefined;
668
+ architecture?: string[] | undefined;
669
+ source?: {
670
+ repository?: string | undefined;
671
+ commit?: string | undefined;
672
+ scan_dir?: string | undefined;
673
+ } | undefined;
674
+ }>;
675
+ product: z.ZodObject<{
676
+ goals: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
677
+ id: z.ZodString;
678
+ description: z.ZodString;
679
+ }, "strip", z.ZodTypeAny, {
680
+ id: string;
681
+ description: string;
682
+ }, {
683
+ id: string;
684
+ description: string;
685
+ }>, "many">>>;
686
+ users: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
687
+ id: z.ZodString;
688
+ goals: z.ZodArray<z.ZodString, "many">;
689
+ }, "strip", z.ZodTypeAny, {
690
+ id: string;
691
+ goals: string[];
692
+ }, {
693
+ id: string;
694
+ goals: string[];
695
+ }>, "many">>>;
696
+ journeys: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
697
+ id: z.ZodString;
698
+ name: z.ZodString;
699
+ steps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
700
+ feature_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
701
+ requirement_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
702
+ }, "strip", z.ZodTypeAny, {
703
+ id: string;
704
+ name: string;
705
+ requirement_ids: string[];
706
+ steps: string[];
707
+ feature_ids: string[];
708
+ }, {
709
+ id: string;
710
+ name: string;
711
+ requirement_ids?: string[] | undefined;
712
+ steps?: string[] | undefined;
713
+ feature_ids?: string[] | undefined;
714
+ }>, "many">>>;
715
+ requirements: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
716
+ id: z.ZodString;
717
+ statement: z.ZodString;
718
+ priority: z.ZodDefault<z.ZodOptional<z.ZodEnum<["core", "supporting", "polish"]>>>;
719
+ acceptance: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
720
+ completion_level: z.ZodDefault<z.ZodOptional<z.ZodString>>;
721
+ }, "strip", z.ZodTypeAny, {
722
+ id: string;
723
+ completion_level: string;
724
+ acceptance: string[];
725
+ priority: "polish" | "core" | "supporting";
726
+ statement: string;
727
+ }, {
728
+ id: string;
729
+ statement: string;
730
+ completion_level?: string | undefined;
731
+ acceptance?: string[] | undefined;
732
+ priority?: "polish" | "core" | "supporting" | undefined;
733
+ }>, "many">>>;
734
+ development_stages: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
735
+ stage: z.ZodString;
736
+ product_state: z.ZodDefault<z.ZodOptional<z.ZodString>>;
737
+ need: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
738
+ learn: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
739
+ validation: z.ZodDefault<z.ZodOptional<z.ZodString>>;
740
+ cross_feature_value: z.ZodDefault<z.ZodOptional<z.ZodString>>;
741
+ temporary_approach: z.ZodDefault<z.ZodOptional<z.ZodString>>;
742
+ }, "strip", z.ZodTypeAny, {
743
+ validation: string;
744
+ stage: string;
745
+ product_state: string;
746
+ need: string[];
747
+ learn: string[];
748
+ cross_feature_value: string;
749
+ temporary_approach: string;
750
+ }, {
751
+ stage: string;
752
+ validation?: string | undefined;
753
+ product_state?: string | undefined;
754
+ need?: string[] | undefined;
755
+ learn?: string[] | undefined;
756
+ cross_feature_value?: string | undefined;
757
+ temporary_approach?: string | undefined;
758
+ }>, "many">>>;
759
+ purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
760
+ problem_statement: z.ZodDefault<z.ZodOptional<z.ZodString>>;
761
+ primary_users: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
762
+ }, "strip", z.ZodTypeAny, {
763
+ purpose: string;
764
+ goals: {
765
+ id: string;
766
+ description: string;
767
+ }[];
768
+ users: {
769
+ id: string;
770
+ goals: string[];
771
+ }[];
772
+ journeys: {
773
+ id: string;
774
+ name: string;
775
+ requirement_ids: string[];
776
+ steps: string[];
777
+ feature_ids: string[];
778
+ }[];
779
+ requirements: {
780
+ id: string;
781
+ completion_level: string;
782
+ acceptance: string[];
783
+ priority: "polish" | "core" | "supporting";
784
+ statement: string;
785
+ }[];
786
+ development_stages: {
787
+ validation: string;
788
+ stage: string;
789
+ product_state: string;
790
+ need: string[];
791
+ learn: string[];
792
+ cross_feature_value: string;
793
+ temporary_approach: string;
794
+ }[];
795
+ problem_statement: string;
796
+ primary_users: string[];
797
+ }, {
798
+ purpose?: string | undefined;
799
+ goals?: {
800
+ id: string;
801
+ description: string;
802
+ }[] | undefined;
803
+ users?: {
804
+ id: string;
805
+ goals: string[];
806
+ }[] | undefined;
807
+ journeys?: {
808
+ id: string;
809
+ name: string;
810
+ requirement_ids?: string[] | undefined;
811
+ steps?: string[] | undefined;
812
+ feature_ids?: string[] | undefined;
813
+ }[] | undefined;
814
+ requirements?: {
815
+ id: string;
816
+ statement: string;
817
+ completion_level?: string | undefined;
818
+ acceptance?: string[] | undefined;
819
+ priority?: "polish" | "core" | "supporting" | undefined;
820
+ }[] | undefined;
821
+ development_stages?: {
822
+ stage: string;
823
+ validation?: string | undefined;
824
+ product_state?: string | undefined;
825
+ need?: string[] | undefined;
826
+ learn?: string[] | undefined;
827
+ cross_feature_value?: string | undefined;
828
+ temporary_approach?: string | undefined;
829
+ }[] | undefined;
830
+ problem_statement?: string | undefined;
831
+ primary_users?: string[] | undefined;
832
+ }>;
833
+ features: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
834
+ id: z.ZodString;
835
+ name: z.ZodString;
836
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
837
+ purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
838
+ priority: z.ZodDefault<z.ZodOptional<z.ZodEnum<["core", "supporting", "polish"]>>>;
839
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["PLANNED", "IMPLEMENTED", "IN_PROGRESS"]>>>;
840
+ platform: z.ZodDefault<z.ZodOptional<z.ZodString>>;
841
+ requirement_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
842
+ journey_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
843
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
844
+ api_usage: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
845
+ steps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
846
+ id: z.ZodString;
847
+ sequence: z.ZodNumber;
848
+ name: z.ZodString;
849
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
850
+ files: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
851
+ api_usage: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
852
+ keywords: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
853
+ completion_level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["base", "mvp", "extend", "polish"]>>>;
854
+ platform: z.ZodDefault<z.ZodOptional<z.ZodString>>;
855
+ intent: z.ZodDefault<z.ZodOptional<z.ZodString>>;
856
+ outcome: z.ZodOptional<z.ZodObject<{
857
+ user_visible: z.ZodOptional<z.ZodString>;
858
+ technical: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
859
+ }, "strip", z.ZodTypeAny, {
860
+ user_visible?: string | undefined;
861
+ technical?: string | string[] | undefined;
862
+ }, {
863
+ user_visible?: string | undefined;
864
+ technical?: string | string[] | undefined;
865
+ }>>;
866
+ acceptance: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
867
+ effort: z.ZodOptional<z.ZodObject<{
868
+ estimated_minutes: z.ZodOptional<z.ZodNumber>;
869
+ complexity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
870
+ concepts_count: z.ZodOptional<z.ZodNumber>;
871
+ files_touched: z.ZodOptional<z.ZodNumber>;
872
+ }, "strip", z.ZodTypeAny, {
873
+ estimated_minutes?: number | undefined;
874
+ complexity?: "low" | "medium" | "high" | undefined;
875
+ concepts_count?: number | undefined;
876
+ files_touched?: number | undefined;
877
+ }, {
878
+ estimated_minutes?: number | undefined;
879
+ complexity?: "low" | "medium" | "high" | undefined;
880
+ concepts_count?: number | undefined;
881
+ files_touched?: number | undefined;
882
+ }>>;
883
+ requirement_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
884
+ concept_codes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
885
+ }, "strip", z.ZodTypeAny, {
886
+ id: string;
887
+ sequence: number;
888
+ name: string;
889
+ description: string;
890
+ files: string[];
891
+ api_usage: string[];
892
+ keywords: string[];
893
+ completion_level: "base" | "mvp" | "extend" | "polish";
894
+ platform: string;
895
+ intent: string;
896
+ acceptance: string[];
897
+ requirement_ids: string[];
898
+ concept_codes: string[];
899
+ outcome?: {
900
+ user_visible?: string | undefined;
901
+ technical?: string | string[] | undefined;
902
+ } | undefined;
903
+ effort?: {
904
+ estimated_minutes?: number | undefined;
905
+ complexity?: "low" | "medium" | "high" | undefined;
906
+ concepts_count?: number | undefined;
907
+ files_touched?: number | undefined;
908
+ } | undefined;
909
+ }, {
910
+ id: string;
911
+ sequence: number;
912
+ name: string;
913
+ description?: string | undefined;
914
+ files?: string[] | undefined;
915
+ api_usage?: string[] | undefined;
916
+ keywords?: string[] | undefined;
917
+ completion_level?: "base" | "mvp" | "extend" | "polish" | undefined;
918
+ platform?: string | undefined;
919
+ intent?: string | undefined;
920
+ outcome?: {
921
+ user_visible?: string | undefined;
922
+ technical?: string | string[] | undefined;
923
+ } | undefined;
924
+ acceptance?: string[] | undefined;
925
+ effort?: {
926
+ estimated_minutes?: number | undefined;
927
+ complexity?: "low" | "medium" | "high" | undefined;
928
+ concepts_count?: number | undefined;
929
+ files_touched?: number | undefined;
930
+ } | undefined;
931
+ requirement_ids?: string[] | undefined;
932
+ concept_codes?: string[] | undefined;
933
+ }>, "many">>>;
934
+ }, "strip", z.ZodTypeAny, {
935
+ status: "PLANNED" | "IMPLEMENTED" | "IN_PROGRESS";
936
+ id: string;
937
+ name: string;
938
+ description: string;
939
+ api_usage: string[];
940
+ platform: string;
941
+ requirement_ids: string[];
942
+ purpose: string;
943
+ priority: "polish" | "core" | "supporting";
944
+ journey_ids: string[];
945
+ depends_on: string[];
946
+ steps: {
947
+ id: string;
948
+ sequence: number;
949
+ name: string;
950
+ description: string;
951
+ files: string[];
952
+ api_usage: string[];
953
+ keywords: string[];
954
+ completion_level: "base" | "mvp" | "extend" | "polish";
955
+ platform: string;
956
+ intent: string;
957
+ acceptance: string[];
958
+ requirement_ids: string[];
959
+ concept_codes: string[];
960
+ outcome?: {
961
+ user_visible?: string | undefined;
962
+ technical?: string | string[] | undefined;
963
+ } | undefined;
964
+ effort?: {
965
+ estimated_minutes?: number | undefined;
966
+ complexity?: "low" | "medium" | "high" | undefined;
967
+ concepts_count?: number | undefined;
968
+ files_touched?: number | undefined;
969
+ } | undefined;
970
+ }[];
971
+ }, {
972
+ id: string;
973
+ name: string;
974
+ status?: "PLANNED" | "IMPLEMENTED" | "IN_PROGRESS" | undefined;
975
+ description?: string | undefined;
976
+ api_usage?: string[] | undefined;
977
+ platform?: string | undefined;
978
+ requirement_ids?: string[] | undefined;
979
+ purpose?: string | undefined;
980
+ priority?: "polish" | "core" | "supporting" | undefined;
981
+ journey_ids?: string[] | undefined;
982
+ depends_on?: string[] | undefined;
983
+ steps?: {
984
+ id: string;
985
+ sequence: number;
986
+ name: string;
987
+ description?: string | undefined;
988
+ files?: string[] | undefined;
989
+ api_usage?: string[] | undefined;
990
+ keywords?: string[] | undefined;
991
+ completion_level?: "base" | "mvp" | "extend" | "polish" | undefined;
992
+ platform?: string | undefined;
993
+ intent?: string | undefined;
994
+ outcome?: {
995
+ user_visible?: string | undefined;
996
+ technical?: string | string[] | undefined;
997
+ } | undefined;
998
+ acceptance?: string[] | undefined;
999
+ effort?: {
1000
+ estimated_minutes?: number | undefined;
1001
+ complexity?: "low" | "medium" | "high" | undefined;
1002
+ concepts_count?: number | undefined;
1003
+ files_touched?: number | undefined;
1004
+ } | undefined;
1005
+ requirement_ids?: string[] | undefined;
1006
+ concept_codes?: string[] | undefined;
1007
+ }[] | undefined;
1008
+ }>, "many">>>;
1009
+ capabilities: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1010
+ id: z.ZodString;
1011
+ feature_id: z.ZodString;
1012
+ purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1013
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1014
+ produces: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1015
+ }, "strip", z.ZodTypeAny, {
1016
+ id: string;
1017
+ purpose: string;
1018
+ depends_on: string[];
1019
+ feature_id: string;
1020
+ produces: string[];
1021
+ }, {
1022
+ id: string;
1023
+ feature_id: string;
1024
+ purpose?: string | undefined;
1025
+ depends_on?: string[] | undefined;
1026
+ produces?: string[] | undefined;
1027
+ }>, "many">>>;
1028
+ architecture_detail: z.ZodOptional<z.ZodObject<{
1029
+ pattern: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1030
+ confidence: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1031
+ evidence: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1032
+ nodes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1033
+ id: z.ZodString;
1034
+ type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1035
+ custom_type: z.ZodOptional<z.ZodString>;
1036
+ layer: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1037
+ responsibility: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1038
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1039
+ used_by: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1040
+ evidence_type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1041
+ confidence: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1042
+ }, "strip", z.ZodTypeAny, {
1043
+ type: string;
1044
+ id: string;
1045
+ depends_on: string[];
1046
+ layer: string;
1047
+ responsibility: string;
1048
+ used_by: string[];
1049
+ evidence_type: string;
1050
+ confidence: number;
1051
+ custom_type?: string | undefined;
1052
+ }, {
1053
+ id: string;
1054
+ type?: string | undefined;
1055
+ depends_on?: string[] | undefined;
1056
+ custom_type?: string | undefined;
1057
+ layer?: string | undefined;
1058
+ responsibility?: string | undefined;
1059
+ used_by?: string[] | undefined;
1060
+ evidence_type?: string | undefined;
1061
+ confidence?: number | undefined;
1062
+ }>, "many">>>;
1063
+ edges: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1064
+ from: z.ZodString;
1065
+ to: z.ZodString;
1066
+ type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ type: string;
1069
+ from: string;
1070
+ to: string;
1071
+ }, {
1072
+ from: string;
1073
+ to: string;
1074
+ type?: string | undefined;
1075
+ }>, "many">>>;
1076
+ }, "strip", z.ZodTypeAny, {
1077
+ confidence: number;
1078
+ pattern: string[];
1079
+ evidence: string[];
1080
+ nodes: {
1081
+ type: string;
1082
+ id: string;
1083
+ depends_on: string[];
1084
+ layer: string;
1085
+ responsibility: string;
1086
+ used_by: string[];
1087
+ evidence_type: string;
1088
+ confidence: number;
1089
+ custom_type?: string | undefined;
1090
+ }[];
1091
+ edges: {
1092
+ type: string;
1093
+ from: string;
1094
+ to: string;
1095
+ }[];
1096
+ }, {
1097
+ confidence?: number | undefined;
1098
+ pattern?: string[] | undefined;
1099
+ evidence?: string[] | undefined;
1100
+ nodes?: {
1101
+ id: string;
1102
+ type?: string | undefined;
1103
+ depends_on?: string[] | undefined;
1104
+ custom_type?: string | undefined;
1105
+ layer?: string | undefined;
1106
+ responsibility?: string | undefined;
1107
+ used_by?: string[] | undefined;
1108
+ evidence_type?: string | undefined;
1109
+ confidence?: number | undefined;
1110
+ }[] | undefined;
1111
+ edges?: {
1112
+ from: string;
1113
+ to: string;
1114
+ type?: string | undefined;
1115
+ }[] | undefined;
1116
+ }>>;
1117
+ experience: z.ZodOptional<z.ZodObject<{
1118
+ screens: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1119
+ id: z.ZodString;
1120
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1121
+ purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1122
+ entry_point: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1123
+ components: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1124
+ states: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1125
+ navigates_to: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1126
+ keywords: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1127
+ }, "strip", z.ZodTypeAny, {
1128
+ id: string;
1129
+ name: string;
1130
+ keywords: string[];
1131
+ purpose: string;
1132
+ entry_point: boolean;
1133
+ components: string[];
1134
+ states: string[];
1135
+ navigates_to: string[];
1136
+ }, {
1137
+ id: string;
1138
+ name?: string | undefined;
1139
+ keywords?: string[] | undefined;
1140
+ purpose?: string | undefined;
1141
+ entry_point?: boolean | undefined;
1142
+ components?: string[] | undefined;
1143
+ states?: string[] | undefined;
1144
+ navigates_to?: string[] | undefined;
1145
+ }>, "many">>>;
1146
+ components: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1147
+ id: z.ZodString;
1148
+ type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1149
+ purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1150
+ inputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1151
+ outputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1152
+ state: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1153
+ }, "strip", z.ZodTypeAny, {
1154
+ type: string;
1155
+ id: string;
1156
+ purpose: string;
1157
+ inputs: string[];
1158
+ outputs: string[];
1159
+ state: string[];
1160
+ }, {
1161
+ id: string;
1162
+ type?: string | undefined;
1163
+ purpose?: string | undefined;
1164
+ inputs?: string[] | undefined;
1165
+ outputs?: string[] | undefined;
1166
+ state?: string[] | undefined;
1167
+ }>, "many">>>;
1168
+ ui_states: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1169
+ id: z.ZodString;
1170
+ owner: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1171
+ triggered_by: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1172
+ transitions_to: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1173
+ }, "strip", z.ZodTypeAny, {
1174
+ id: string;
1175
+ owner: string;
1176
+ triggered_by: string[];
1177
+ transitions_to: string[];
1178
+ }, {
1179
+ id: string;
1180
+ owner?: string | undefined;
1181
+ triggered_by?: string[] | undefined;
1182
+ transitions_to?: string[] | undefined;
1183
+ }>, "many">>>;
1184
+ navigation: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1185
+ from: z.ZodString;
1186
+ to: z.ZodString;
1187
+ trigger: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1188
+ presentation: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1189
+ }, "strip", z.ZodTypeAny, {
1190
+ presentation: string;
1191
+ from: string;
1192
+ to: string;
1193
+ trigger: string;
1194
+ }, {
1195
+ from: string;
1196
+ to: string;
1197
+ presentation?: string | undefined;
1198
+ trigger?: string | undefined;
1199
+ }>, "many">>>;
1200
+ }, "strip", z.ZodTypeAny, {
1201
+ components: {
1202
+ type: string;
1203
+ id: string;
1204
+ purpose: string;
1205
+ inputs: string[];
1206
+ outputs: string[];
1207
+ state: string[];
1208
+ }[];
1209
+ screens: {
1210
+ id: string;
1211
+ name: string;
1212
+ keywords: string[];
1213
+ purpose: string;
1214
+ entry_point: boolean;
1215
+ components: string[];
1216
+ states: string[];
1217
+ navigates_to: string[];
1218
+ }[];
1219
+ ui_states: {
1220
+ id: string;
1221
+ owner: string;
1222
+ triggered_by: string[];
1223
+ transitions_to: string[];
1224
+ }[];
1225
+ navigation: {
1226
+ presentation: string;
1227
+ from: string;
1228
+ to: string;
1229
+ trigger: string;
1230
+ }[];
1231
+ }, {
1232
+ components?: {
1233
+ id: string;
1234
+ type?: string | undefined;
1235
+ purpose?: string | undefined;
1236
+ inputs?: string[] | undefined;
1237
+ outputs?: string[] | undefined;
1238
+ state?: string[] | undefined;
1239
+ }[] | undefined;
1240
+ screens?: {
1241
+ id: string;
1242
+ name?: string | undefined;
1243
+ keywords?: string[] | undefined;
1244
+ purpose?: string | undefined;
1245
+ entry_point?: boolean | undefined;
1246
+ components?: string[] | undefined;
1247
+ states?: string[] | undefined;
1248
+ navigates_to?: string[] | undefined;
1249
+ }[] | undefined;
1250
+ ui_states?: {
1251
+ id: string;
1252
+ owner?: string | undefined;
1253
+ triggered_by?: string[] | undefined;
1254
+ transitions_to?: string[] | undefined;
1255
+ }[] | undefined;
1256
+ navigation?: {
1257
+ from: string;
1258
+ to: string;
1259
+ presentation?: string | undefined;
1260
+ trigger?: string | undefined;
1261
+ }[] | undefined;
1262
+ }>>;
1263
+ data_integration: z.ZodOptional<z.ZodObject<{
1264
+ data_flows: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
1265
+ models: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
1266
+ integrations: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
1267
+ persistence: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodAny, "many">>>;
1268
+ }, "strip", z.ZodTypeAny, {
1269
+ data_flows: any[];
1270
+ models: any[];
1271
+ integrations: any[];
1272
+ persistence: any[];
1273
+ }, {
1274
+ data_flows?: any[] | undefined;
1275
+ models?: any[] | undefined;
1276
+ integrations?: any[] | undefined;
1277
+ persistence?: any[] | undefined;
1278
+ }>>;
1279
+ implementation: z.ZodObject<{
1280
+ tasks: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1281
+ id: z.ZodString;
1282
+ capability_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1283
+ action: z.ZodString;
1284
+ modifies: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1285
+ creates: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1286
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1287
+ acceptance: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1288
+ intent: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1289
+ outcome: z.ZodOptional<z.ZodObject<{
1290
+ user_visible: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1291
+ technical: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1292
+ }, "strip", z.ZodTypeAny, {
1293
+ user_visible: string;
1294
+ technical: string[];
1295
+ }, {
1296
+ user_visible?: string | undefined;
1297
+ technical?: string[] | undefined;
1298
+ }>>;
1299
+ source_evidence: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1300
+ keywords: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1301
+ concurrency: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1302
+ effort: z.ZodOptional<z.ZodObject<{
1303
+ concepts_count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1304
+ files_touched: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1305
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1306
+ }, "strip", z.ZodTypeAny, {
1307
+ estimated_minutes: number;
1308
+ concepts_count: number;
1309
+ files_touched: number;
1310
+ }, {
1311
+ estimated_minutes?: number | undefined;
1312
+ concepts_count?: number | undefined;
1313
+ files_touched?: number | undefined;
1314
+ }>>;
1315
+ requirement_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1316
+ }, "strip", z.ZodTypeAny, {
1317
+ id: string;
1318
+ keywords: string[];
1319
+ intent: string;
1320
+ acceptance: string[];
1321
+ requirement_ids: string[];
1322
+ depends_on: string[];
1323
+ capability_id: string;
1324
+ action: string;
1325
+ modifies: string[];
1326
+ creates: string[];
1327
+ source_evidence: string[];
1328
+ concurrency: string[];
1329
+ outcome?: {
1330
+ user_visible: string;
1331
+ technical: string[];
1332
+ } | undefined;
1333
+ effort?: {
1334
+ estimated_minutes: number;
1335
+ concepts_count: number;
1336
+ files_touched: number;
1337
+ } | undefined;
1338
+ }, {
1339
+ id: string;
1340
+ action: string;
1341
+ keywords?: string[] | undefined;
1342
+ intent?: string | undefined;
1343
+ outcome?: {
1344
+ user_visible?: string | undefined;
1345
+ technical?: string[] | undefined;
1346
+ } | undefined;
1347
+ acceptance?: string[] | undefined;
1348
+ effort?: {
1349
+ estimated_minutes?: number | undefined;
1350
+ concepts_count?: number | undefined;
1351
+ files_touched?: number | undefined;
1352
+ } | undefined;
1353
+ requirement_ids?: string[] | undefined;
1354
+ depends_on?: string[] | undefined;
1355
+ capability_id?: string | undefined;
1356
+ modifies?: string[] | undefined;
1357
+ creates?: string[] | undefined;
1358
+ source_evidence?: string[] | undefined;
1359
+ concurrency?: string[] | undefined;
1360
+ }>, "many">>>;
1361
+ }, "strip", z.ZodTypeAny, {
1362
+ tasks: {
1363
+ id: string;
1364
+ keywords: string[];
1365
+ intent: string;
1366
+ acceptance: string[];
1367
+ requirement_ids: string[];
1368
+ depends_on: string[];
1369
+ capability_id: string;
1370
+ action: string;
1371
+ modifies: string[];
1372
+ creates: string[];
1373
+ source_evidence: string[];
1374
+ concurrency: string[];
1375
+ outcome?: {
1376
+ user_visible: string;
1377
+ technical: string[];
1378
+ } | undefined;
1379
+ effort?: {
1380
+ estimated_minutes: number;
1381
+ concepts_count: number;
1382
+ files_touched: number;
1383
+ } | undefined;
1384
+ }[];
1385
+ }, {
1386
+ tasks?: {
1387
+ id: string;
1388
+ action: string;
1389
+ keywords?: string[] | undefined;
1390
+ intent?: string | undefined;
1391
+ outcome?: {
1392
+ user_visible?: string | undefined;
1393
+ technical?: string[] | undefined;
1394
+ } | undefined;
1395
+ acceptance?: string[] | undefined;
1396
+ effort?: {
1397
+ estimated_minutes?: number | undefined;
1398
+ concepts_count?: number | undefined;
1399
+ files_touched?: number | undefined;
1400
+ } | undefined;
1401
+ requirement_ids?: string[] | undefined;
1402
+ depends_on?: string[] | undefined;
1403
+ capability_id?: string | undefined;
1404
+ modifies?: string[] | undefined;
1405
+ creates?: string[] | undefined;
1406
+ source_evidence?: string[] | undefined;
1407
+ concurrency?: string[] | undefined;
1408
+ }[] | undefined;
1409
+ }>;
1410
+ decomposition: z.ZodOptional<z.ZodObject<{
1411
+ milestones: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1412
+ id: z.ZodString;
1413
+ phase: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1414
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1415
+ goal: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1416
+ feature_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1417
+ }, "strip", z.ZodTypeAny, {
1418
+ id: string;
1419
+ name: string;
1420
+ feature_ids: string[];
1421
+ phase: string;
1422
+ goal: string;
1423
+ }, {
1424
+ id: string;
1425
+ name?: string | undefined;
1426
+ feature_ids?: string[] | undefined;
1427
+ phase?: string | undefined;
1428
+ goal?: string | undefined;
1429
+ }>, "many">>>;
1430
+ }, "strip", z.ZodTypeAny, {
1431
+ milestones: {
1432
+ id: string;
1433
+ name: string;
1434
+ feature_ids: string[];
1435
+ phase: string;
1436
+ goal: string;
1437
+ }[];
1438
+ }, {
1439
+ milestones?: {
1440
+ id: string;
1441
+ name?: string | undefined;
1442
+ feature_ids?: string[] | undefined;
1443
+ phase?: string | undefined;
1444
+ goal?: string | undefined;
1445
+ }[] | undefined;
1446
+ }>>;
1447
+ missing_gaps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1448
+ gap: z.ZodString;
1449
+ location: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1450
+ suggested_lo: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1451
+ }, "strip", z.ZodTypeAny, {
1452
+ gap: string;
1453
+ location: string;
1454
+ suggested_lo: string;
1455
+ }, {
1456
+ gap: string;
1457
+ location?: string | undefined;
1458
+ suggested_lo?: string | undefined;
1459
+ }>, "many">>>;
1460
+ tech_debt: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1461
+ issue: z.ZodString;
1462
+ location: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1463
+ severity: z.ZodDefault<z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>>;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ location: string;
1466
+ issue: string;
1467
+ severity: "low" | "medium" | "high";
1468
+ }, {
1469
+ issue: string;
1470
+ location?: string | undefined;
1471
+ severity?: "low" | "medium" | "high" | undefined;
1472
+ }>, "many">>>;
1473
+ }, "strip", z.ZodTypeAny, {
1474
+ schema_version: 3;
1475
+ project: {
1476
+ id: string;
1477
+ name: string;
1478
+ platform: string[];
1479
+ purpose: string;
1480
+ version: string;
1481
+ project_type: string;
1482
+ architecture: string[];
1483
+ tech_stack?: Record<string, string[]> | undefined;
1484
+ source?: {
1485
+ repository: string;
1486
+ commit: string;
1487
+ scan_dir: string;
1488
+ } | undefined;
1489
+ };
1490
+ product: {
1491
+ purpose: string;
1492
+ goals: {
1493
+ id: string;
1494
+ description: string;
1495
+ }[];
1496
+ users: {
1497
+ id: string;
1498
+ goals: string[];
1499
+ }[];
1500
+ journeys: {
1501
+ id: string;
1502
+ name: string;
1503
+ requirement_ids: string[];
1504
+ steps: string[];
1505
+ feature_ids: string[];
1506
+ }[];
1507
+ requirements: {
1508
+ id: string;
1509
+ completion_level: string;
1510
+ acceptance: string[];
1511
+ priority: "polish" | "core" | "supporting";
1512
+ statement: string;
1513
+ }[];
1514
+ development_stages: {
1515
+ validation: string;
1516
+ stage: string;
1517
+ product_state: string;
1518
+ need: string[];
1519
+ learn: string[];
1520
+ cross_feature_value: string;
1521
+ temporary_approach: string;
1522
+ }[];
1523
+ problem_statement: string;
1524
+ primary_users: string[];
1525
+ };
1526
+ features: {
1527
+ status: "PLANNED" | "IMPLEMENTED" | "IN_PROGRESS";
1528
+ id: string;
1529
+ name: string;
1530
+ description: string;
1531
+ api_usage: string[];
1532
+ platform: string;
1533
+ requirement_ids: string[];
1534
+ purpose: string;
1535
+ priority: "polish" | "core" | "supporting";
1536
+ journey_ids: string[];
1537
+ depends_on: string[];
1538
+ steps: {
1539
+ id: string;
1540
+ sequence: number;
1541
+ name: string;
1542
+ description: string;
1543
+ files: string[];
1544
+ api_usage: string[];
1545
+ keywords: string[];
1546
+ completion_level: "base" | "mvp" | "extend" | "polish";
1547
+ platform: string;
1548
+ intent: string;
1549
+ acceptance: string[];
1550
+ requirement_ids: string[];
1551
+ concept_codes: string[];
1552
+ outcome?: {
1553
+ user_visible?: string | undefined;
1554
+ technical?: string | string[] | undefined;
1555
+ } | undefined;
1556
+ effort?: {
1557
+ estimated_minutes?: number | undefined;
1558
+ complexity?: "low" | "medium" | "high" | undefined;
1559
+ concepts_count?: number | undefined;
1560
+ files_touched?: number | undefined;
1561
+ } | undefined;
1562
+ }[];
1563
+ }[];
1564
+ capabilities: {
1565
+ id: string;
1566
+ purpose: string;
1567
+ depends_on: string[];
1568
+ feature_id: string;
1569
+ produces: string[];
1570
+ }[];
1571
+ implementation: {
1572
+ tasks: {
1573
+ id: string;
1574
+ keywords: string[];
1575
+ intent: string;
1576
+ acceptance: string[];
1577
+ requirement_ids: string[];
1578
+ depends_on: string[];
1579
+ capability_id: string;
1580
+ action: string;
1581
+ modifies: string[];
1582
+ creates: string[];
1583
+ source_evidence: string[];
1584
+ concurrency: string[];
1585
+ outcome?: {
1586
+ user_visible: string;
1587
+ technical: string[];
1588
+ } | undefined;
1589
+ effort?: {
1590
+ estimated_minutes: number;
1591
+ concepts_count: number;
1592
+ files_touched: number;
1593
+ } | undefined;
1594
+ }[];
1595
+ };
1596
+ missing_gaps: {
1597
+ gap: string;
1598
+ location: string;
1599
+ suggested_lo: string;
1600
+ }[];
1601
+ tech_debt: {
1602
+ location: string;
1603
+ issue: string;
1604
+ severity: "low" | "medium" | "high";
1605
+ }[];
1606
+ architecture_detail?: {
1607
+ confidence: number;
1608
+ pattern: string[];
1609
+ evidence: string[];
1610
+ nodes: {
1611
+ type: string;
1612
+ id: string;
1613
+ depends_on: string[];
1614
+ layer: string;
1615
+ responsibility: string;
1616
+ used_by: string[];
1617
+ evidence_type: string;
1618
+ confidence: number;
1619
+ custom_type?: string | undefined;
1620
+ }[];
1621
+ edges: {
1622
+ type: string;
1623
+ from: string;
1624
+ to: string;
1625
+ }[];
1626
+ } | undefined;
1627
+ experience?: {
1628
+ components: {
1629
+ type: string;
1630
+ id: string;
1631
+ purpose: string;
1632
+ inputs: string[];
1633
+ outputs: string[];
1634
+ state: string[];
1635
+ }[];
1636
+ screens: {
1637
+ id: string;
1638
+ name: string;
1639
+ keywords: string[];
1640
+ purpose: string;
1641
+ entry_point: boolean;
1642
+ components: string[];
1643
+ states: string[];
1644
+ navigates_to: string[];
1645
+ }[];
1646
+ ui_states: {
1647
+ id: string;
1648
+ owner: string;
1649
+ triggered_by: string[];
1650
+ transitions_to: string[];
1651
+ }[];
1652
+ navigation: {
1653
+ presentation: string;
1654
+ from: string;
1655
+ to: string;
1656
+ trigger: string;
1657
+ }[];
1658
+ } | undefined;
1659
+ data_integration?: {
1660
+ data_flows: any[];
1661
+ models: any[];
1662
+ integrations: any[];
1663
+ persistence: any[];
1664
+ } | undefined;
1665
+ decomposition?: {
1666
+ milestones: {
1667
+ id: string;
1668
+ name: string;
1669
+ feature_ids: string[];
1670
+ phase: string;
1671
+ goal: string;
1672
+ }[];
1673
+ } | undefined;
1674
+ }, {
1675
+ project: {
1676
+ id: string;
1677
+ name: string;
1678
+ platform?: string[] | undefined;
1679
+ purpose?: string | undefined;
1680
+ version?: string | undefined;
1681
+ project_type?: string | undefined;
1682
+ tech_stack?: Record<string, string[]> | undefined;
1683
+ architecture?: string[] | undefined;
1684
+ source?: {
1685
+ repository?: string | undefined;
1686
+ commit?: string | undefined;
1687
+ scan_dir?: string | undefined;
1688
+ } | undefined;
1689
+ };
1690
+ product: {
1691
+ purpose?: string | undefined;
1692
+ goals?: {
1693
+ id: string;
1694
+ description: string;
1695
+ }[] | undefined;
1696
+ users?: {
1697
+ id: string;
1698
+ goals: string[];
1699
+ }[] | undefined;
1700
+ journeys?: {
1701
+ id: string;
1702
+ name: string;
1703
+ requirement_ids?: string[] | undefined;
1704
+ steps?: string[] | undefined;
1705
+ feature_ids?: string[] | undefined;
1706
+ }[] | undefined;
1707
+ requirements?: {
1708
+ id: string;
1709
+ statement: string;
1710
+ completion_level?: string | undefined;
1711
+ acceptance?: string[] | undefined;
1712
+ priority?: "polish" | "core" | "supporting" | undefined;
1713
+ }[] | undefined;
1714
+ development_stages?: {
1715
+ stage: string;
1716
+ validation?: string | undefined;
1717
+ product_state?: string | undefined;
1718
+ need?: string[] | undefined;
1719
+ learn?: string[] | undefined;
1720
+ cross_feature_value?: string | undefined;
1721
+ temporary_approach?: string | undefined;
1722
+ }[] | undefined;
1723
+ problem_statement?: string | undefined;
1724
+ primary_users?: string[] | undefined;
1725
+ };
1726
+ implementation: {
1727
+ tasks?: {
1728
+ id: string;
1729
+ action: string;
1730
+ keywords?: string[] | undefined;
1731
+ intent?: string | undefined;
1732
+ outcome?: {
1733
+ user_visible?: string | undefined;
1734
+ technical?: string[] | undefined;
1735
+ } | undefined;
1736
+ acceptance?: string[] | undefined;
1737
+ effort?: {
1738
+ estimated_minutes?: number | undefined;
1739
+ concepts_count?: number | undefined;
1740
+ files_touched?: number | undefined;
1741
+ } | undefined;
1742
+ requirement_ids?: string[] | undefined;
1743
+ depends_on?: string[] | undefined;
1744
+ capability_id?: string | undefined;
1745
+ modifies?: string[] | undefined;
1746
+ creates?: string[] | undefined;
1747
+ source_evidence?: string[] | undefined;
1748
+ concurrency?: string[] | undefined;
1749
+ }[] | undefined;
1750
+ };
1751
+ schema_version?: 3 | undefined;
1752
+ features?: {
1753
+ id: string;
1754
+ name: string;
1755
+ status?: "PLANNED" | "IMPLEMENTED" | "IN_PROGRESS" | undefined;
1756
+ description?: string | undefined;
1757
+ api_usage?: string[] | undefined;
1758
+ platform?: string | undefined;
1759
+ requirement_ids?: string[] | undefined;
1760
+ purpose?: string | undefined;
1761
+ priority?: "polish" | "core" | "supporting" | undefined;
1762
+ journey_ids?: string[] | undefined;
1763
+ depends_on?: string[] | undefined;
1764
+ steps?: {
1765
+ id: string;
1766
+ sequence: number;
1767
+ name: string;
1768
+ description?: string | undefined;
1769
+ files?: string[] | undefined;
1770
+ api_usage?: string[] | undefined;
1771
+ keywords?: string[] | undefined;
1772
+ completion_level?: "base" | "mvp" | "extend" | "polish" | undefined;
1773
+ platform?: string | undefined;
1774
+ intent?: string | undefined;
1775
+ outcome?: {
1776
+ user_visible?: string | undefined;
1777
+ technical?: string | string[] | undefined;
1778
+ } | undefined;
1779
+ acceptance?: string[] | undefined;
1780
+ effort?: {
1781
+ estimated_minutes?: number | undefined;
1782
+ complexity?: "low" | "medium" | "high" | undefined;
1783
+ concepts_count?: number | undefined;
1784
+ files_touched?: number | undefined;
1785
+ } | undefined;
1786
+ requirement_ids?: string[] | undefined;
1787
+ concept_codes?: string[] | undefined;
1788
+ }[] | undefined;
1789
+ }[] | undefined;
1790
+ capabilities?: {
1791
+ id: string;
1792
+ feature_id: string;
1793
+ purpose?: string | undefined;
1794
+ depends_on?: string[] | undefined;
1795
+ produces?: string[] | undefined;
1796
+ }[] | undefined;
1797
+ architecture_detail?: {
1798
+ confidence?: number | undefined;
1799
+ pattern?: string[] | undefined;
1800
+ evidence?: string[] | undefined;
1801
+ nodes?: {
1802
+ id: string;
1803
+ type?: string | undefined;
1804
+ depends_on?: string[] | undefined;
1805
+ custom_type?: string | undefined;
1806
+ layer?: string | undefined;
1807
+ responsibility?: string | undefined;
1808
+ used_by?: string[] | undefined;
1809
+ evidence_type?: string | undefined;
1810
+ confidence?: number | undefined;
1811
+ }[] | undefined;
1812
+ edges?: {
1813
+ from: string;
1814
+ to: string;
1815
+ type?: string | undefined;
1816
+ }[] | undefined;
1817
+ } | undefined;
1818
+ experience?: {
1819
+ components?: {
1820
+ id: string;
1821
+ type?: string | undefined;
1822
+ purpose?: string | undefined;
1823
+ inputs?: string[] | undefined;
1824
+ outputs?: string[] | undefined;
1825
+ state?: string[] | undefined;
1826
+ }[] | undefined;
1827
+ screens?: {
1828
+ id: string;
1829
+ name?: string | undefined;
1830
+ keywords?: string[] | undefined;
1831
+ purpose?: string | undefined;
1832
+ entry_point?: boolean | undefined;
1833
+ components?: string[] | undefined;
1834
+ states?: string[] | undefined;
1835
+ navigates_to?: string[] | undefined;
1836
+ }[] | undefined;
1837
+ ui_states?: {
1838
+ id: string;
1839
+ owner?: string | undefined;
1840
+ triggered_by?: string[] | undefined;
1841
+ transitions_to?: string[] | undefined;
1842
+ }[] | undefined;
1843
+ navigation?: {
1844
+ from: string;
1845
+ to: string;
1846
+ presentation?: string | undefined;
1847
+ trigger?: string | undefined;
1848
+ }[] | undefined;
1849
+ } | undefined;
1850
+ data_integration?: {
1851
+ data_flows?: any[] | undefined;
1852
+ models?: any[] | undefined;
1853
+ integrations?: any[] | undefined;
1854
+ persistence?: any[] | undefined;
1855
+ } | undefined;
1856
+ decomposition?: {
1857
+ milestones?: {
1858
+ id: string;
1859
+ name?: string | undefined;
1860
+ feature_ids?: string[] | undefined;
1861
+ phase?: string | undefined;
1862
+ goal?: string | undefined;
1863
+ }[] | undefined;
1864
+ } | undefined;
1865
+ missing_gaps?: {
1866
+ gap: string;
1867
+ location?: string | undefined;
1868
+ suggested_lo?: string | undefined;
1869
+ }[] | undefined;
1870
+ tech_debt?: {
1871
+ issue: string;
1872
+ location?: string | undefined;
1873
+ severity?: "low" | "medium" | "high" | undefined;
1874
+ }[] | undefined;
1875
+ }>;
1876
+ knowledge_graph: z.ZodObject<{
1877
+ schema_version: z.ZodDefault<z.ZodOptional<z.ZodLiteral<1>>>;
1878
+ type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"knowledge_graph">>>;
1879
+ subject: z.ZodObject<{
1880
+ id: z.ZodString;
1881
+ name: z.ZodString;
1882
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1883
+ domain: z.ZodDefault<z.ZodOptional<z.ZodEnum<["math", "science", "language", "arts", "research", "business", "other"]>>>;
1884
+ grade_band: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1885
+ estimated_hours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1886
+ estimated_weeks: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1887
+ syllabus_ref: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1888
+ }, "strip", z.ZodTypeAny, {
1889
+ id: string;
1890
+ name: string;
1891
+ description: string;
1892
+ domain: "math" | "science" | "language" | "arts" | "research" | "business" | "other";
1893
+ estimated_hours: number;
1894
+ estimated_weeks: number;
1895
+ syllabus_ref: string;
1896
+ grade_band?: [number, number] | undefined;
1897
+ }, {
1898
+ id: string;
1899
+ name: string;
1900
+ description?: string | undefined;
1901
+ domain?: "math" | "science" | "language" | "arts" | "research" | "business" | "other" | undefined;
1902
+ grade_band?: [number, number] | undefined;
1903
+ estimated_hours?: number | undefined;
1904
+ estimated_weeks?: number | undefined;
1905
+ syllabus_ref?: string | undefined;
1906
+ }>;
1907
+ concepts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1908
+ id: z.ZodString;
1909
+ code: z.ZodOptional<z.ZodString>;
1910
+ standardization: z.ZodOptional<z.ZodEnum<["standardized", "proposed_new"]>>;
1911
+ tree_code: z.ZodOptional<z.ZodString>;
1912
+ tree_prerequisites: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1913
+ name: z.ZodString;
1914
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1915
+ category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1916
+ ulo: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1917
+ ulo_code: z.ZodOptional<z.ZodString>;
1918
+ cio: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1919
+ cio_code: z.ZodOptional<z.ZodString>;
1920
+ sio: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1921
+ sio_codes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1922
+ prerequisites: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1923
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1924
+ problem_types: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1925
+ id: z.ZodString;
1926
+ name: z.ZodString;
1927
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1928
+ bloom_level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["Remember", "Understand", "Apply", "Analyze", "Evaluate", "Create"]>>>;
1929
+ difficulty: z.ZodDefault<z.ZodOptional<z.ZodEnum<["easy", "medium", "hard"]>>>;
1930
+ estimated_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1931
+ examples: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1932
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1933
+ }, "strip", z.ZodTypeAny, {
1934
+ estimated_minutes: number;
1935
+ id: string;
1936
+ name: string;
1937
+ description: string;
1938
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
1939
+ difficulty: "medium" | "easy" | "hard";
1940
+ examples: string[];
1941
+ common_mistakes: string[];
1942
+ }, {
1943
+ id: string;
1944
+ name: string;
1945
+ estimated_minutes?: number | undefined;
1946
+ description?: string | undefined;
1947
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
1948
+ difficulty?: "medium" | "easy" | "hard" | undefined;
1949
+ examples?: string[] | undefined;
1950
+ common_mistakes?: string[] | undefined;
1951
+ }>, "many">>>;
1952
+ techniques: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1953
+ materials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1954
+ visual_aids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1955
+ common_mistakes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1956
+ keywords: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1957
+ tech_stack: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1958
+ }, "strip", z.ZodTypeAny, {
1959
+ estimated_minutes: number;
1960
+ id: string;
1961
+ name: string;
1962
+ description: string;
1963
+ keywords: string[];
1964
+ tech_stack: string[];
1965
+ common_mistakes: string[];
1966
+ tree_prerequisites: string[];
1967
+ category: string;
1968
+ ulo: string;
1969
+ cio: string;
1970
+ sio: string[];
1971
+ prerequisites: string[];
1972
+ problem_types: {
1973
+ estimated_minutes: number;
1974
+ id: string;
1975
+ name: string;
1976
+ description: string;
1977
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
1978
+ difficulty: "medium" | "easy" | "hard";
1979
+ examples: string[];
1980
+ common_mistakes: string[];
1981
+ }[];
1982
+ techniques: string[];
1983
+ materials: string[];
1984
+ visual_aids: string[];
1985
+ code?: string | undefined;
1986
+ standardization?: "standardized" | "proposed_new" | undefined;
1987
+ tree_code?: string | undefined;
1988
+ ulo_code?: string | undefined;
1989
+ cio_code?: string | undefined;
1990
+ sio_codes?: string[] | undefined;
1991
+ }, {
1992
+ id: string;
1993
+ name: string;
1994
+ estimated_minutes?: number | undefined;
1995
+ code?: string | undefined;
1996
+ description?: string | undefined;
1997
+ keywords?: string[] | undefined;
1998
+ tech_stack?: string[] | undefined;
1999
+ common_mistakes?: string[] | undefined;
2000
+ standardization?: "standardized" | "proposed_new" | undefined;
2001
+ tree_code?: string | undefined;
2002
+ tree_prerequisites?: string[] | undefined;
2003
+ category?: string | undefined;
2004
+ ulo?: string | undefined;
2005
+ ulo_code?: string | undefined;
2006
+ cio?: string | undefined;
2007
+ cio_code?: string | undefined;
2008
+ sio?: string[] | undefined;
2009
+ sio_codes?: string[] | undefined;
2010
+ prerequisites?: string[] | undefined;
2011
+ problem_types?: {
2012
+ id: string;
2013
+ name: string;
2014
+ estimated_minutes?: number | undefined;
2015
+ description?: string | undefined;
2016
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
2017
+ difficulty?: "medium" | "easy" | "hard" | undefined;
2018
+ examples?: string[] | undefined;
2019
+ common_mistakes?: string[] | undefined;
2020
+ }[] | undefined;
2021
+ techniques?: string[] | undefined;
2022
+ materials?: string[] | undefined;
2023
+ visual_aids?: string[] | undefined;
2024
+ }>, "many">>>;
2025
+ categories: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2026
+ id: z.ZodString;
2027
+ name: z.ZodString;
2028
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2029
+ concept_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
2030
+ order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2031
+ }, "strip", z.ZodTypeAny, {
2032
+ id: string;
2033
+ name: string;
2034
+ description: string;
2035
+ concept_ids: string[];
2036
+ order: number;
2037
+ }, {
2038
+ id: string;
2039
+ name: string;
2040
+ description?: string | undefined;
2041
+ concept_ids?: string[] | undefined;
2042
+ order?: number | undefined;
2043
+ }>, "many">>>;
2044
+ learning_path: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2045
+ concept_id: z.ZodString;
2046
+ order: z.ZodNumber;
2047
+ depends_on: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
2048
+ milestone_name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2049
+ }, "strip", z.ZodTypeAny, {
2050
+ depends_on: string[];
2051
+ order: number;
2052
+ concept_id: string;
2053
+ milestone_name: string;
2054
+ }, {
2055
+ order: number;
2056
+ concept_id: string;
2057
+ depends_on?: string[] | undefined;
2058
+ milestone_name?: string | undefined;
2059
+ }>, "many">>>;
2060
+ }, "strip", z.ZodTypeAny, {
2061
+ type: "knowledge_graph";
2062
+ schema_version: 1;
2063
+ subject: {
2064
+ id: string;
2065
+ name: string;
2066
+ description: string;
2067
+ domain: "math" | "science" | "language" | "arts" | "research" | "business" | "other";
2068
+ estimated_hours: number;
2069
+ estimated_weeks: number;
2070
+ syllabus_ref: string;
2071
+ grade_band?: [number, number] | undefined;
2072
+ };
2073
+ concepts: {
2074
+ estimated_minutes: number;
2075
+ id: string;
2076
+ name: string;
2077
+ description: string;
2078
+ keywords: string[];
2079
+ tech_stack: string[];
2080
+ common_mistakes: string[];
2081
+ tree_prerequisites: string[];
2082
+ category: string;
2083
+ ulo: string;
2084
+ cio: string;
2085
+ sio: string[];
2086
+ prerequisites: string[];
2087
+ problem_types: {
2088
+ estimated_minutes: number;
2089
+ id: string;
2090
+ name: string;
2091
+ description: string;
2092
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
2093
+ difficulty: "medium" | "easy" | "hard";
2094
+ examples: string[];
2095
+ common_mistakes: string[];
2096
+ }[];
2097
+ techniques: string[];
2098
+ materials: string[];
2099
+ visual_aids: string[];
2100
+ code?: string | undefined;
2101
+ standardization?: "standardized" | "proposed_new" | undefined;
2102
+ tree_code?: string | undefined;
2103
+ ulo_code?: string | undefined;
2104
+ cio_code?: string | undefined;
2105
+ sio_codes?: string[] | undefined;
2106
+ }[];
2107
+ categories: {
2108
+ id: string;
2109
+ name: string;
2110
+ description: string;
2111
+ concept_ids: string[];
2112
+ order: number;
2113
+ }[];
2114
+ learning_path: {
2115
+ depends_on: string[];
2116
+ order: number;
2117
+ concept_id: string;
2118
+ milestone_name: string;
2119
+ }[];
2120
+ }, {
2121
+ subject: {
2122
+ id: string;
2123
+ name: string;
2124
+ description?: string | undefined;
2125
+ domain?: "math" | "science" | "language" | "arts" | "research" | "business" | "other" | undefined;
2126
+ grade_band?: [number, number] | undefined;
2127
+ estimated_hours?: number | undefined;
2128
+ estimated_weeks?: number | undefined;
2129
+ syllabus_ref?: string | undefined;
2130
+ };
2131
+ type?: "knowledge_graph" | undefined;
2132
+ schema_version?: 1 | undefined;
2133
+ concepts?: {
2134
+ id: string;
2135
+ name: string;
2136
+ estimated_minutes?: number | undefined;
2137
+ code?: string | undefined;
2138
+ description?: string | undefined;
2139
+ keywords?: string[] | undefined;
2140
+ tech_stack?: string[] | undefined;
2141
+ common_mistakes?: string[] | undefined;
2142
+ standardization?: "standardized" | "proposed_new" | undefined;
2143
+ tree_code?: string | undefined;
2144
+ tree_prerequisites?: string[] | undefined;
2145
+ category?: string | undefined;
2146
+ ulo?: string | undefined;
2147
+ ulo_code?: string | undefined;
2148
+ cio?: string | undefined;
2149
+ cio_code?: string | undefined;
2150
+ sio?: string[] | undefined;
2151
+ sio_codes?: string[] | undefined;
2152
+ prerequisites?: string[] | undefined;
2153
+ problem_types?: {
2154
+ id: string;
2155
+ name: string;
2156
+ estimated_minutes?: number | undefined;
2157
+ description?: string | undefined;
2158
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
2159
+ difficulty?: "medium" | "easy" | "hard" | undefined;
2160
+ examples?: string[] | undefined;
2161
+ common_mistakes?: string[] | undefined;
2162
+ }[] | undefined;
2163
+ techniques?: string[] | undefined;
2164
+ materials?: string[] | undefined;
2165
+ visual_aids?: string[] | undefined;
2166
+ }[] | undefined;
2167
+ categories?: {
2168
+ id: string;
2169
+ name: string;
2170
+ description?: string | undefined;
2171
+ concept_ids?: string[] | undefined;
2172
+ order?: number | undefined;
2173
+ }[] | undefined;
2174
+ learning_path?: {
2175
+ order: number;
2176
+ concept_id: string;
2177
+ depends_on?: string[] | undefined;
2178
+ milestone_name?: string | undefined;
2179
+ }[] | undefined;
2180
+ }>;
2181
+ links: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2182
+ feature_id: z.ZodString;
2183
+ concept_id: z.ZodString;
2184
+ relationship: z.ZodDefault<z.ZodOptional<z.ZodEnum<["requires", "demonstrates", "applies", "extends"]>>>;
2185
+ depth: z.ZodDefault<z.ZodOptional<z.ZodEnum<["ulo", "cio", "sio"]>>>;
2186
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2187
+ estimated_prereq_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2188
+ phase_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2189
+ }, "strip", z.ZodTypeAny, {
2190
+ description: string;
2191
+ feature_id: string;
2192
+ concept_id: string;
2193
+ relationship: "requires" | "demonstrates" | "applies" | "extends";
2194
+ depth: "ulo" | "cio" | "sio";
2195
+ estimated_prereq_minutes: number;
2196
+ phase_id: string;
2197
+ }, {
2198
+ feature_id: string;
2199
+ concept_id: string;
2200
+ description?: string | undefined;
2201
+ relationship?: "requires" | "demonstrates" | "applies" | "extends" | undefined;
2202
+ depth?: "ulo" | "cio" | "sio" | undefined;
2203
+ estimated_prereq_minutes?: number | undefined;
2204
+ phase_id?: string | undefined;
2205
+ }>, "many">>>;
2206
+ phases: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2207
+ id: z.ZodString;
2208
+ order: z.ZodNumber;
2209
+ name: z.ZodString;
2210
+ product_completion: z.ZodString;
2211
+ feature_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2212
+ introduces: z.ZodDefault<z.ZodArray<z.ZodObject<{
2213
+ concept_id: z.ZodString;
2214
+ aspect: z.ZodDefault<z.ZodEnum<["new", "advanced"]>>;
2215
+ note: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2216
+ }, "strip", z.ZodTypeAny, {
2217
+ concept_id: string;
2218
+ aspect: "new" | "advanced";
2219
+ note: string;
2220
+ }, {
2221
+ concept_id: string;
2222
+ aspect?: "new" | "advanced" | undefined;
2223
+ note?: string | undefined;
2224
+ }>, "many">>;
2225
+ }, "strip", z.ZodTypeAny, {
2226
+ id: string;
2227
+ name: string;
2228
+ feature_ids: string[];
2229
+ order: number;
2230
+ product_completion: string;
2231
+ introduces: {
2232
+ concept_id: string;
2233
+ aspect: "new" | "advanced";
2234
+ note: string;
2235
+ }[];
2236
+ }, {
2237
+ id: string;
2238
+ name: string;
2239
+ order: number;
2240
+ product_completion: string;
2241
+ feature_ids?: string[] | undefined;
2242
+ introduces?: {
2243
+ concept_id: string;
2244
+ aspect?: "new" | "advanced" | undefined;
2245
+ note?: string | undefined;
2246
+ }[] | undefined;
2247
+ }>, "many">>>;
2248
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2249
+ total_project_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2250
+ total_concept_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2251
+ estimated_total_minutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2252
+ }, "strip", z.ZodTypeAny, {
2253
+ type: "hybrid_graph";
2254
+ description: string;
2255
+ schema_version: 1;
2256
+ knowledge_graph: {
2257
+ type: "knowledge_graph";
2258
+ schema_version: 1;
2259
+ subject: {
2260
+ id: string;
2261
+ name: string;
2262
+ description: string;
2263
+ domain: "math" | "science" | "language" | "arts" | "research" | "business" | "other";
2264
+ estimated_hours: number;
2265
+ estimated_weeks: number;
2266
+ syllabus_ref: string;
2267
+ grade_band?: [number, number] | undefined;
2268
+ };
2269
+ concepts: {
2270
+ estimated_minutes: number;
2271
+ id: string;
2272
+ name: string;
2273
+ description: string;
2274
+ keywords: string[];
2275
+ tech_stack: string[];
2276
+ common_mistakes: string[];
2277
+ tree_prerequisites: string[];
2278
+ category: string;
2279
+ ulo: string;
2280
+ cio: string;
2281
+ sio: string[];
2282
+ prerequisites: string[];
2283
+ problem_types: {
2284
+ estimated_minutes: number;
2285
+ id: string;
2286
+ name: string;
2287
+ description: string;
2288
+ bloom_level: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
2289
+ difficulty: "medium" | "easy" | "hard";
2290
+ examples: string[];
2291
+ common_mistakes: string[];
2292
+ }[];
2293
+ techniques: string[];
2294
+ materials: string[];
2295
+ visual_aids: string[];
2296
+ code?: string | undefined;
2297
+ standardization?: "standardized" | "proposed_new" | undefined;
2298
+ tree_code?: string | undefined;
2299
+ ulo_code?: string | undefined;
2300
+ cio_code?: string | undefined;
2301
+ sio_codes?: string[] | undefined;
2302
+ }[];
2303
+ categories: {
2304
+ id: string;
2305
+ name: string;
2306
+ description: string;
2307
+ concept_ids: string[];
2308
+ order: number;
2309
+ }[];
2310
+ learning_path: {
2311
+ depends_on: string[];
2312
+ order: number;
2313
+ concept_id: string;
2314
+ milestone_name: string;
2315
+ }[];
2316
+ };
2317
+ project_graph: {
2318
+ schema_version: 3;
2319
+ project: {
2320
+ id: string;
2321
+ name: string;
2322
+ platform: string[];
2323
+ purpose: string;
2324
+ version: string;
2325
+ project_type: string;
2326
+ architecture: string[];
2327
+ tech_stack?: Record<string, string[]> | undefined;
2328
+ source?: {
2329
+ repository: string;
2330
+ commit: string;
2331
+ scan_dir: string;
2332
+ } | undefined;
2333
+ };
2334
+ product: {
2335
+ purpose: string;
2336
+ goals: {
2337
+ id: string;
2338
+ description: string;
2339
+ }[];
2340
+ users: {
2341
+ id: string;
2342
+ goals: string[];
2343
+ }[];
2344
+ journeys: {
2345
+ id: string;
2346
+ name: string;
2347
+ requirement_ids: string[];
2348
+ steps: string[];
2349
+ feature_ids: string[];
2350
+ }[];
2351
+ requirements: {
2352
+ id: string;
2353
+ completion_level: string;
2354
+ acceptance: string[];
2355
+ priority: "polish" | "core" | "supporting";
2356
+ statement: string;
2357
+ }[];
2358
+ development_stages: {
2359
+ validation: string;
2360
+ stage: string;
2361
+ product_state: string;
2362
+ need: string[];
2363
+ learn: string[];
2364
+ cross_feature_value: string;
2365
+ temporary_approach: string;
2366
+ }[];
2367
+ problem_statement: string;
2368
+ primary_users: string[];
2369
+ };
2370
+ features: {
2371
+ status: "PLANNED" | "IMPLEMENTED" | "IN_PROGRESS";
2372
+ id: string;
2373
+ name: string;
2374
+ description: string;
2375
+ api_usage: string[];
2376
+ platform: string;
2377
+ requirement_ids: string[];
2378
+ purpose: string;
2379
+ priority: "polish" | "core" | "supporting";
2380
+ journey_ids: string[];
2381
+ depends_on: string[];
2382
+ steps: {
2383
+ id: string;
2384
+ sequence: number;
2385
+ name: string;
2386
+ description: string;
2387
+ files: string[];
2388
+ api_usage: string[];
2389
+ keywords: string[];
2390
+ completion_level: "base" | "mvp" | "extend" | "polish";
2391
+ platform: string;
2392
+ intent: string;
2393
+ acceptance: string[];
2394
+ requirement_ids: string[];
2395
+ concept_codes: string[];
2396
+ outcome?: {
2397
+ user_visible?: string | undefined;
2398
+ technical?: string | string[] | undefined;
2399
+ } | undefined;
2400
+ effort?: {
2401
+ estimated_minutes?: number | undefined;
2402
+ complexity?: "low" | "medium" | "high" | undefined;
2403
+ concepts_count?: number | undefined;
2404
+ files_touched?: number | undefined;
2405
+ } | undefined;
2406
+ }[];
2407
+ }[];
2408
+ capabilities: {
2409
+ id: string;
2410
+ purpose: string;
2411
+ depends_on: string[];
2412
+ feature_id: string;
2413
+ produces: string[];
2414
+ }[];
2415
+ implementation: {
2416
+ tasks: {
2417
+ id: string;
2418
+ keywords: string[];
2419
+ intent: string;
2420
+ acceptance: string[];
2421
+ requirement_ids: string[];
2422
+ depends_on: string[];
2423
+ capability_id: string;
2424
+ action: string;
2425
+ modifies: string[];
2426
+ creates: string[];
2427
+ source_evidence: string[];
2428
+ concurrency: string[];
2429
+ outcome?: {
2430
+ user_visible: string;
2431
+ technical: string[];
2432
+ } | undefined;
2433
+ effort?: {
2434
+ estimated_minutes: number;
2435
+ concepts_count: number;
2436
+ files_touched: number;
2437
+ } | undefined;
2438
+ }[];
2439
+ };
2440
+ missing_gaps: {
2441
+ gap: string;
2442
+ location: string;
2443
+ suggested_lo: string;
2444
+ }[];
2445
+ tech_debt: {
2446
+ location: string;
2447
+ issue: string;
2448
+ severity: "low" | "medium" | "high";
2449
+ }[];
2450
+ architecture_detail?: {
2451
+ confidence: number;
2452
+ pattern: string[];
2453
+ evidence: string[];
2454
+ nodes: {
2455
+ type: string;
2456
+ id: string;
2457
+ depends_on: string[];
2458
+ layer: string;
2459
+ responsibility: string;
2460
+ used_by: string[];
2461
+ evidence_type: string;
2462
+ confidence: number;
2463
+ custom_type?: string | undefined;
2464
+ }[];
2465
+ edges: {
2466
+ type: string;
2467
+ from: string;
2468
+ to: string;
2469
+ }[];
2470
+ } | undefined;
2471
+ experience?: {
2472
+ components: {
2473
+ type: string;
2474
+ id: string;
2475
+ purpose: string;
2476
+ inputs: string[];
2477
+ outputs: string[];
2478
+ state: string[];
2479
+ }[];
2480
+ screens: {
2481
+ id: string;
2482
+ name: string;
2483
+ keywords: string[];
2484
+ purpose: string;
2485
+ entry_point: boolean;
2486
+ components: string[];
2487
+ states: string[];
2488
+ navigates_to: string[];
2489
+ }[];
2490
+ ui_states: {
2491
+ id: string;
2492
+ owner: string;
2493
+ triggered_by: string[];
2494
+ transitions_to: string[];
2495
+ }[];
2496
+ navigation: {
2497
+ presentation: string;
2498
+ from: string;
2499
+ to: string;
2500
+ trigger: string;
2501
+ }[];
2502
+ } | undefined;
2503
+ data_integration?: {
2504
+ data_flows: any[];
2505
+ models: any[];
2506
+ integrations: any[];
2507
+ persistence: any[];
2508
+ } | undefined;
2509
+ decomposition?: {
2510
+ milestones: {
2511
+ id: string;
2512
+ name: string;
2513
+ feature_ids: string[];
2514
+ phase: string;
2515
+ goal: string;
2516
+ }[];
2517
+ } | undefined;
2518
+ };
2519
+ links: {
2520
+ description: string;
2521
+ feature_id: string;
2522
+ concept_id: string;
2523
+ relationship: "requires" | "demonstrates" | "applies" | "extends";
2524
+ depth: "ulo" | "cio" | "sio";
2525
+ estimated_prereq_minutes: number;
2526
+ phase_id: string;
2527
+ }[];
2528
+ phases: {
2529
+ id: string;
2530
+ name: string;
2531
+ feature_ids: string[];
2532
+ order: number;
2533
+ product_completion: string;
2534
+ introduces: {
2535
+ concept_id: string;
2536
+ aspect: "new" | "advanced";
2537
+ note: string;
2538
+ }[];
2539
+ }[];
2540
+ total_project_minutes: number;
2541
+ total_concept_minutes: number;
2542
+ estimated_total_minutes: number;
2543
+ }, {
2544
+ knowledge_graph: {
2545
+ subject: {
2546
+ id: string;
2547
+ name: string;
2548
+ description?: string | undefined;
2549
+ domain?: "math" | "science" | "language" | "arts" | "research" | "business" | "other" | undefined;
2550
+ grade_band?: [number, number] | undefined;
2551
+ estimated_hours?: number | undefined;
2552
+ estimated_weeks?: number | undefined;
2553
+ syllabus_ref?: string | undefined;
2554
+ };
2555
+ type?: "knowledge_graph" | undefined;
2556
+ schema_version?: 1 | undefined;
2557
+ concepts?: {
2558
+ id: string;
2559
+ name: string;
2560
+ estimated_minutes?: number | undefined;
2561
+ code?: string | undefined;
2562
+ description?: string | undefined;
2563
+ keywords?: string[] | undefined;
2564
+ tech_stack?: string[] | undefined;
2565
+ common_mistakes?: string[] | undefined;
2566
+ standardization?: "standardized" | "proposed_new" | undefined;
2567
+ tree_code?: string | undefined;
2568
+ tree_prerequisites?: string[] | undefined;
2569
+ category?: string | undefined;
2570
+ ulo?: string | undefined;
2571
+ ulo_code?: string | undefined;
2572
+ cio?: string | undefined;
2573
+ cio_code?: string | undefined;
2574
+ sio?: string[] | undefined;
2575
+ sio_codes?: string[] | undefined;
2576
+ prerequisites?: string[] | undefined;
2577
+ problem_types?: {
2578
+ id: string;
2579
+ name: string;
2580
+ estimated_minutes?: number | undefined;
2581
+ description?: string | undefined;
2582
+ bloom_level?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
2583
+ difficulty?: "medium" | "easy" | "hard" | undefined;
2584
+ examples?: string[] | undefined;
2585
+ common_mistakes?: string[] | undefined;
2586
+ }[] | undefined;
2587
+ techniques?: string[] | undefined;
2588
+ materials?: string[] | undefined;
2589
+ visual_aids?: string[] | undefined;
2590
+ }[] | undefined;
2591
+ categories?: {
2592
+ id: string;
2593
+ name: string;
2594
+ description?: string | undefined;
2595
+ concept_ids?: string[] | undefined;
2596
+ order?: number | undefined;
2597
+ }[] | undefined;
2598
+ learning_path?: {
2599
+ order: number;
2600
+ concept_id: string;
2601
+ depends_on?: string[] | undefined;
2602
+ milestone_name?: string | undefined;
2603
+ }[] | undefined;
2604
+ };
2605
+ project_graph: {
2606
+ project: {
2607
+ id: string;
2608
+ name: string;
2609
+ platform?: string[] | undefined;
2610
+ purpose?: string | undefined;
2611
+ version?: string | undefined;
2612
+ project_type?: string | undefined;
2613
+ tech_stack?: Record<string, string[]> | undefined;
2614
+ architecture?: string[] | undefined;
2615
+ source?: {
2616
+ repository?: string | undefined;
2617
+ commit?: string | undefined;
2618
+ scan_dir?: string | undefined;
2619
+ } | undefined;
2620
+ };
2621
+ product: {
2622
+ purpose?: string | undefined;
2623
+ goals?: {
2624
+ id: string;
2625
+ description: string;
2626
+ }[] | undefined;
2627
+ users?: {
2628
+ id: string;
2629
+ goals: string[];
2630
+ }[] | undefined;
2631
+ journeys?: {
2632
+ id: string;
2633
+ name: string;
2634
+ requirement_ids?: string[] | undefined;
2635
+ steps?: string[] | undefined;
2636
+ feature_ids?: string[] | undefined;
2637
+ }[] | undefined;
2638
+ requirements?: {
2639
+ id: string;
2640
+ statement: string;
2641
+ completion_level?: string | undefined;
2642
+ acceptance?: string[] | undefined;
2643
+ priority?: "polish" | "core" | "supporting" | undefined;
2644
+ }[] | undefined;
2645
+ development_stages?: {
2646
+ stage: string;
2647
+ validation?: string | undefined;
2648
+ product_state?: string | undefined;
2649
+ need?: string[] | undefined;
2650
+ learn?: string[] | undefined;
2651
+ cross_feature_value?: string | undefined;
2652
+ temporary_approach?: string | undefined;
2653
+ }[] | undefined;
2654
+ problem_statement?: string | undefined;
2655
+ primary_users?: string[] | undefined;
2656
+ };
2657
+ implementation: {
2658
+ tasks?: {
2659
+ id: string;
2660
+ action: string;
2661
+ keywords?: string[] | undefined;
2662
+ intent?: string | undefined;
2663
+ outcome?: {
2664
+ user_visible?: string | undefined;
2665
+ technical?: string[] | undefined;
2666
+ } | undefined;
2667
+ acceptance?: string[] | undefined;
2668
+ effort?: {
2669
+ estimated_minutes?: number | undefined;
2670
+ concepts_count?: number | undefined;
2671
+ files_touched?: number | undefined;
2672
+ } | undefined;
2673
+ requirement_ids?: string[] | undefined;
2674
+ depends_on?: string[] | undefined;
2675
+ capability_id?: string | undefined;
2676
+ modifies?: string[] | undefined;
2677
+ creates?: string[] | undefined;
2678
+ source_evidence?: string[] | undefined;
2679
+ concurrency?: string[] | undefined;
2680
+ }[] | undefined;
2681
+ };
2682
+ schema_version?: 3 | undefined;
2683
+ features?: {
2684
+ id: string;
2685
+ name: string;
2686
+ status?: "PLANNED" | "IMPLEMENTED" | "IN_PROGRESS" | undefined;
2687
+ description?: string | undefined;
2688
+ api_usage?: string[] | undefined;
2689
+ platform?: string | undefined;
2690
+ requirement_ids?: string[] | undefined;
2691
+ purpose?: string | undefined;
2692
+ priority?: "polish" | "core" | "supporting" | undefined;
2693
+ journey_ids?: string[] | undefined;
2694
+ depends_on?: string[] | undefined;
2695
+ steps?: {
2696
+ id: string;
2697
+ sequence: number;
2698
+ name: string;
2699
+ description?: string | undefined;
2700
+ files?: string[] | undefined;
2701
+ api_usage?: string[] | undefined;
2702
+ keywords?: string[] | undefined;
2703
+ completion_level?: "base" | "mvp" | "extend" | "polish" | undefined;
2704
+ platform?: string | undefined;
2705
+ intent?: string | undefined;
2706
+ outcome?: {
2707
+ user_visible?: string | undefined;
2708
+ technical?: string | string[] | undefined;
2709
+ } | undefined;
2710
+ acceptance?: string[] | undefined;
2711
+ effort?: {
2712
+ estimated_minutes?: number | undefined;
2713
+ complexity?: "low" | "medium" | "high" | undefined;
2714
+ concepts_count?: number | undefined;
2715
+ files_touched?: number | undefined;
2716
+ } | undefined;
2717
+ requirement_ids?: string[] | undefined;
2718
+ concept_codes?: string[] | undefined;
2719
+ }[] | undefined;
2720
+ }[] | undefined;
2721
+ capabilities?: {
2722
+ id: string;
2723
+ feature_id: string;
2724
+ purpose?: string | undefined;
2725
+ depends_on?: string[] | undefined;
2726
+ produces?: string[] | undefined;
2727
+ }[] | undefined;
2728
+ architecture_detail?: {
2729
+ confidence?: number | undefined;
2730
+ pattern?: string[] | undefined;
2731
+ evidence?: string[] | undefined;
2732
+ nodes?: {
2733
+ id: string;
2734
+ type?: string | undefined;
2735
+ depends_on?: string[] | undefined;
2736
+ custom_type?: string | undefined;
2737
+ layer?: string | undefined;
2738
+ responsibility?: string | undefined;
2739
+ used_by?: string[] | undefined;
2740
+ evidence_type?: string | undefined;
2741
+ confidence?: number | undefined;
2742
+ }[] | undefined;
2743
+ edges?: {
2744
+ from: string;
2745
+ to: string;
2746
+ type?: string | undefined;
2747
+ }[] | undefined;
2748
+ } | undefined;
2749
+ experience?: {
2750
+ components?: {
2751
+ id: string;
2752
+ type?: string | undefined;
2753
+ purpose?: string | undefined;
2754
+ inputs?: string[] | undefined;
2755
+ outputs?: string[] | undefined;
2756
+ state?: string[] | undefined;
2757
+ }[] | undefined;
2758
+ screens?: {
2759
+ id: string;
2760
+ name?: string | undefined;
2761
+ keywords?: string[] | undefined;
2762
+ purpose?: string | undefined;
2763
+ entry_point?: boolean | undefined;
2764
+ components?: string[] | undefined;
2765
+ states?: string[] | undefined;
2766
+ navigates_to?: string[] | undefined;
2767
+ }[] | undefined;
2768
+ ui_states?: {
2769
+ id: string;
2770
+ owner?: string | undefined;
2771
+ triggered_by?: string[] | undefined;
2772
+ transitions_to?: string[] | undefined;
2773
+ }[] | undefined;
2774
+ navigation?: {
2775
+ from: string;
2776
+ to: string;
2777
+ presentation?: string | undefined;
2778
+ trigger?: string | undefined;
2779
+ }[] | undefined;
2780
+ } | undefined;
2781
+ data_integration?: {
2782
+ data_flows?: any[] | undefined;
2783
+ models?: any[] | undefined;
2784
+ integrations?: any[] | undefined;
2785
+ persistence?: any[] | undefined;
2786
+ } | undefined;
2787
+ decomposition?: {
2788
+ milestones?: {
2789
+ id: string;
2790
+ name?: string | undefined;
2791
+ feature_ids?: string[] | undefined;
2792
+ phase?: string | undefined;
2793
+ goal?: string | undefined;
2794
+ }[] | undefined;
2795
+ } | undefined;
2796
+ missing_gaps?: {
2797
+ gap: string;
2798
+ location?: string | undefined;
2799
+ suggested_lo?: string | undefined;
2800
+ }[] | undefined;
2801
+ tech_debt?: {
2802
+ issue: string;
2803
+ location?: string | undefined;
2804
+ severity?: "low" | "medium" | "high" | undefined;
2805
+ }[] | undefined;
2806
+ };
2807
+ type?: "hybrid_graph" | undefined;
2808
+ description?: string | undefined;
2809
+ schema_version?: 1 | undefined;
2810
+ links?: {
2811
+ feature_id: string;
2812
+ concept_id: string;
2813
+ description?: string | undefined;
2814
+ relationship?: "requires" | "demonstrates" | "applies" | "extends" | undefined;
2815
+ depth?: "ulo" | "cio" | "sio" | undefined;
2816
+ estimated_prereq_minutes?: number | undefined;
2817
+ phase_id?: string | undefined;
2818
+ }[] | undefined;
2819
+ phases?: {
2820
+ id: string;
2821
+ name: string;
2822
+ order: number;
2823
+ product_completion: string;
2824
+ feature_ids?: string[] | undefined;
2825
+ introduces?: {
2826
+ concept_id: string;
2827
+ aspect?: "new" | "advanced" | undefined;
2828
+ note?: string | undefined;
2829
+ }[] | undefined;
2830
+ }[] | undefined;
2831
+ total_project_minutes?: number | undefined;
2832
+ total_concept_minutes?: number | undefined;
2833
+ estimated_total_minutes?: number | undefined;
2834
+ }>;
2835
+ type HybridGraph = z.infer<typeof HybridGraphSchema>;
2836
+ type ProjectConceptLink = z.infer<typeof ProjectConceptLinkSchema>;
2837
+ type DevelopmentPhase = z.infer<typeof DevelopmentPhaseSchema>;
2838
+ type ConceptIntroduction = z.infer<typeof ConceptIntroductionSchema>;
2839
+
2840
+ export { ConceptSchema as C, DevelopmentPhaseSchema as D, HybridGraphSchema as H, KnowledgeGraphSchema as K, LearningPathStepSchema as L, ProblemTypeSchema as P, SubjectInfoSchema as S, type ProblemType as a, type Concept as b, ConceptCategorySchema as c, type ConceptCategory as d, type SubjectInfo as e, type LearningPathStep as f, type KnowledgeGraph as g, ProjectConceptLinkSchema as h, ConceptIntroductionSchema as i, type HybridGraph as j, type ProjectConceptLink as k, type DevelopmentPhase as l, type ConceptIntroduction as m };