@thanh01.pmt/domain-kit 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +42 -11
- package/dist/{chunk-MSRKUZLY.mjs → chunk-E4GCCWJO.mjs} +32 -2
- package/dist/chunk-E4GCCWJO.mjs.map +1 -0
- package/dist/{chunk-MCHHEBH3.mjs → chunk-G7HLFMD2.mjs} +5 -5
- package/dist/{chunk-MCHHEBH3.mjs.map → chunk-G7HLFMD2.mjs.map} +1 -1
- package/dist/{chunk-LKSVTRQE.mjs → chunk-TWKIVUTQ.mjs} +33 -3
- package/dist/chunk-TWKIVUTQ.mjs.map +1 -0
- package/dist/{chunk-Y7MRFFDJ.mjs → chunk-TYXSJUQU.mjs} +100 -9
- package/dist/chunk-TYXSJUQU.mjs.map +1 -0
- package/dist/curriculumFeedEmitter-T7NUBLAM.mjs +4 -0
- package/dist/{curriculumFeedEmitter-FYAWMPE6.mjs.map → curriculumFeedEmitter-T7NUBLAM.mjs.map} +1 -1
- package/dist/{curriculumFeedSchema-C8ZP3XMi.d.ts → curriculumFeedSchema-DUFwFyr2.d.cts} +196 -0
- package/dist/{curriculumFeedSchema-C8ZP3XMi.d.cts → curriculumFeedSchema-DUFwFyr2.d.ts} +196 -0
- package/dist/feed/index.cjs +60 -0
- package/dist/feed/index.cjs.map +1 -1
- package/dist/feed/index.d.cts +1 -1
- package/dist/feed/index.d.ts +1 -1
- package/dist/feed/index.mjs +2 -2
- package/dist/graph/index.cjs +98 -6
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +1 -1
- package/dist/graph/index.d.ts +1 -1
- package/dist/graph/index.mjs +1 -1
- package/dist/{hybridGraphPipeline-NZAWAPt_.d.ts → hybridGraphPipeline-DXQDbBEj.d.ts} +14 -2
- package/dist/{hybridGraphPipeline-BhFyh3cm.d.cts → hybridGraphPipeline-dT-bio-3.d.cts} +14 -2
- package/dist/index.cjs +158 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +4 -4
- package/dist/pipeline/index.cjs +157 -6
- package/dist/pipeline/index.cjs.map +1 -1
- package/dist/pipeline/index.d.cts +2 -2
- package/dist/pipeline/index.d.ts +2 -2
- package/dist/pipeline/index.mjs +4 -4
- package/dist/schemas/index.cjs +30 -0
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.mjs +1 -1
- package/package.json +9 -10
- package/dist/chunk-LKSVTRQE.mjs.map +0 -1
- package/dist/chunk-MSRKUZLY.mjs.map +0 -1
- package/dist/chunk-Y7MRFFDJ.mjs.map +0 -1
- package/dist/curriculumFeedEmitter-FYAWMPE6.mjs +0 -4
package/dist/{curriculumFeedEmitter-FYAWMPE6.mjs.map → curriculumFeedEmitter-T7NUBLAM.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"curriculumFeedEmitter-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"curriculumFeedEmitter-T7NUBLAM.mjs"}
|
|
@@ -105,6 +105,50 @@ declare const FeedNodeSchema: z.ZodObject<{
|
|
|
105
105
|
}>, "many">>;
|
|
106
106
|
feature_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
107
107
|
concept_ref: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
108
|
+
user_visible_deliverable: z.ZodDefault<z.ZodString>;
|
|
109
|
+
depth_variants: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
ulo: z.ZodNumber;
|
|
111
|
+
cio: z.ZodNumber;
|
|
112
|
+
sio: z.ZodNumber;
|
|
113
|
+
}, "strip", z.ZodTypeAny, {
|
|
114
|
+
ulo: number;
|
|
115
|
+
cio: number;
|
|
116
|
+
sio: number;
|
|
117
|
+
}, {
|
|
118
|
+
ulo: number;
|
|
119
|
+
cio: number;
|
|
120
|
+
sio: number;
|
|
121
|
+
}>>;
|
|
122
|
+
depth_scaffold_candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
123
|
+
from_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
124
|
+
to_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
125
|
+
minutes_saved: z.ZodNumber;
|
|
126
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
127
|
+
}, "strip", z.ZodTypeAny, {
|
|
128
|
+
reason: string;
|
|
129
|
+
minutes_saved: number;
|
|
130
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
131
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
132
|
+
}, {
|
|
133
|
+
minutes_saved: number;
|
|
134
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
135
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
136
|
+
reason?: string | undefined;
|
|
137
|
+
}>, "many">>;
|
|
138
|
+
is_core: z.ZodDefault<z.ZodBoolean>;
|
|
139
|
+
depth_context: z.ZodOptional<z.ZodObject<{
|
|
140
|
+
ulo: z.ZodDefault<z.ZodString>;
|
|
141
|
+
cio: z.ZodDefault<z.ZodString>;
|
|
142
|
+
sio: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
143
|
+
}, "strip", z.ZodTypeAny, {
|
|
144
|
+
ulo: string;
|
|
145
|
+
cio: string;
|
|
146
|
+
sio: string[];
|
|
147
|
+
}, {
|
|
148
|
+
ulo?: string | undefined;
|
|
149
|
+
cio?: string | undefined;
|
|
150
|
+
sio?: string[] | undefined;
|
|
151
|
+
}>>;
|
|
108
152
|
phase_id: z.ZodDefault<z.ZodString>;
|
|
109
153
|
introduce_aspect: z.ZodDefault<z.ZodNullable<z.ZodEnum<["new", "advanced", "preview"]>>>;
|
|
110
154
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -137,7 +181,25 @@ declare const FeedNodeSchema: z.ZodObject<{
|
|
|
137
181
|
file: string;
|
|
138
182
|
}[];
|
|
139
183
|
concept_ref: string | null;
|
|
184
|
+
user_visible_deliverable: string;
|
|
185
|
+
is_core: boolean;
|
|
140
186
|
introduce_aspect: "new" | "advanced" | "preview" | null;
|
|
187
|
+
depth_variants?: {
|
|
188
|
+
ulo: number;
|
|
189
|
+
cio: number;
|
|
190
|
+
sio: number;
|
|
191
|
+
} | undefined;
|
|
192
|
+
depth_scaffold_candidates?: {
|
|
193
|
+
reason: string;
|
|
194
|
+
minutes_saved: number;
|
|
195
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
196
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
197
|
+
}[] | undefined;
|
|
198
|
+
depth_context?: {
|
|
199
|
+
ulo: string;
|
|
200
|
+
cio: string;
|
|
201
|
+
sio: string[];
|
|
202
|
+
} | undefined;
|
|
141
203
|
}, {
|
|
142
204
|
estimated_minutes: number;
|
|
143
205
|
id: string;
|
|
@@ -168,6 +230,24 @@ declare const FeedNodeSchema: z.ZodObject<{
|
|
|
168
230
|
evidence?: string | undefined;
|
|
169
231
|
}[] | undefined;
|
|
170
232
|
concept_ref?: string | null | undefined;
|
|
233
|
+
user_visible_deliverable?: string | undefined;
|
|
234
|
+
depth_variants?: {
|
|
235
|
+
ulo: number;
|
|
236
|
+
cio: number;
|
|
237
|
+
sio: number;
|
|
238
|
+
} | undefined;
|
|
239
|
+
depth_scaffold_candidates?: {
|
|
240
|
+
minutes_saved: number;
|
|
241
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
242
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
243
|
+
reason?: string | undefined;
|
|
244
|
+
}[] | undefined;
|
|
245
|
+
is_core?: boolean | undefined;
|
|
246
|
+
depth_context?: {
|
|
247
|
+
ulo?: string | undefined;
|
|
248
|
+
cio?: string | undefined;
|
|
249
|
+
sio?: string[] | undefined;
|
|
250
|
+
} | undefined;
|
|
171
251
|
introduce_aspect?: "new" | "advanced" | "preview" | null | undefined;
|
|
172
252
|
}>;
|
|
173
253
|
declare const FeedEdgeSchema: z.ZodObject<{
|
|
@@ -306,6 +386,50 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
306
386
|
}>, "many">>;
|
|
307
387
|
feature_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
308
388
|
concept_ref: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
389
|
+
user_visible_deliverable: z.ZodDefault<z.ZodString>;
|
|
390
|
+
depth_variants: z.ZodOptional<z.ZodObject<{
|
|
391
|
+
ulo: z.ZodNumber;
|
|
392
|
+
cio: z.ZodNumber;
|
|
393
|
+
sio: z.ZodNumber;
|
|
394
|
+
}, "strip", z.ZodTypeAny, {
|
|
395
|
+
ulo: number;
|
|
396
|
+
cio: number;
|
|
397
|
+
sio: number;
|
|
398
|
+
}, {
|
|
399
|
+
ulo: number;
|
|
400
|
+
cio: number;
|
|
401
|
+
sio: number;
|
|
402
|
+
}>>;
|
|
403
|
+
depth_scaffold_candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
404
|
+
from_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
405
|
+
to_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
406
|
+
minutes_saved: z.ZodNumber;
|
|
407
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
408
|
+
}, "strip", z.ZodTypeAny, {
|
|
409
|
+
reason: string;
|
|
410
|
+
minutes_saved: number;
|
|
411
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
412
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
413
|
+
}, {
|
|
414
|
+
minutes_saved: number;
|
|
415
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
416
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
417
|
+
reason?: string | undefined;
|
|
418
|
+
}>, "many">>;
|
|
419
|
+
is_core: z.ZodDefault<z.ZodBoolean>;
|
|
420
|
+
depth_context: z.ZodOptional<z.ZodObject<{
|
|
421
|
+
ulo: z.ZodDefault<z.ZodString>;
|
|
422
|
+
cio: z.ZodDefault<z.ZodString>;
|
|
423
|
+
sio: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
424
|
+
}, "strip", z.ZodTypeAny, {
|
|
425
|
+
ulo: string;
|
|
426
|
+
cio: string;
|
|
427
|
+
sio: string[];
|
|
428
|
+
}, {
|
|
429
|
+
ulo?: string | undefined;
|
|
430
|
+
cio?: string | undefined;
|
|
431
|
+
sio?: string[] | undefined;
|
|
432
|
+
}>>;
|
|
309
433
|
phase_id: z.ZodDefault<z.ZodString>;
|
|
310
434
|
introduce_aspect: z.ZodDefault<z.ZodNullable<z.ZodEnum<["new", "advanced", "preview"]>>>;
|
|
311
435
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -338,7 +462,25 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
338
462
|
file: string;
|
|
339
463
|
}[];
|
|
340
464
|
concept_ref: string | null;
|
|
465
|
+
user_visible_deliverable: string;
|
|
466
|
+
is_core: boolean;
|
|
341
467
|
introduce_aspect: "new" | "advanced" | "preview" | null;
|
|
468
|
+
depth_variants?: {
|
|
469
|
+
ulo: number;
|
|
470
|
+
cio: number;
|
|
471
|
+
sio: number;
|
|
472
|
+
} | undefined;
|
|
473
|
+
depth_scaffold_candidates?: {
|
|
474
|
+
reason: string;
|
|
475
|
+
minutes_saved: number;
|
|
476
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
477
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
478
|
+
}[] | undefined;
|
|
479
|
+
depth_context?: {
|
|
480
|
+
ulo: string;
|
|
481
|
+
cio: string;
|
|
482
|
+
sio: string[];
|
|
483
|
+
} | undefined;
|
|
342
484
|
}, {
|
|
343
485
|
estimated_minutes: number;
|
|
344
486
|
id: string;
|
|
@@ -369,6 +511,24 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
369
511
|
evidence?: string | undefined;
|
|
370
512
|
}[] | undefined;
|
|
371
513
|
concept_ref?: string | null | undefined;
|
|
514
|
+
user_visible_deliverable?: string | undefined;
|
|
515
|
+
depth_variants?: {
|
|
516
|
+
ulo: number;
|
|
517
|
+
cio: number;
|
|
518
|
+
sio: number;
|
|
519
|
+
} | undefined;
|
|
520
|
+
depth_scaffold_candidates?: {
|
|
521
|
+
minutes_saved: number;
|
|
522
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
523
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
524
|
+
reason?: string | undefined;
|
|
525
|
+
}[] | undefined;
|
|
526
|
+
is_core?: boolean | undefined;
|
|
527
|
+
depth_context?: {
|
|
528
|
+
ulo?: string | undefined;
|
|
529
|
+
cio?: string | undefined;
|
|
530
|
+
sio?: string[] | undefined;
|
|
531
|
+
} | undefined;
|
|
372
532
|
introduce_aspect?: "new" | "advanced" | "preview" | null | undefined;
|
|
373
533
|
}>, "many">;
|
|
374
534
|
dependency_edges: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -466,7 +626,25 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
466
626
|
file: string;
|
|
467
627
|
}[];
|
|
468
628
|
concept_ref: string | null;
|
|
629
|
+
user_visible_deliverable: string;
|
|
630
|
+
is_core: boolean;
|
|
469
631
|
introduce_aspect: "new" | "advanced" | "preview" | null;
|
|
632
|
+
depth_variants?: {
|
|
633
|
+
ulo: number;
|
|
634
|
+
cio: number;
|
|
635
|
+
sio: number;
|
|
636
|
+
} | undefined;
|
|
637
|
+
depth_scaffold_candidates?: {
|
|
638
|
+
reason: string;
|
|
639
|
+
minutes_saved: number;
|
|
640
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
641
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
642
|
+
}[] | undefined;
|
|
643
|
+
depth_context?: {
|
|
644
|
+
ulo: string;
|
|
645
|
+
cio: string;
|
|
646
|
+
sio: string[];
|
|
647
|
+
} | undefined;
|
|
470
648
|
}[];
|
|
471
649
|
dependency_edges: {
|
|
472
650
|
from: string;
|
|
@@ -517,6 +695,24 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
517
695
|
evidence?: string | undefined;
|
|
518
696
|
}[] | undefined;
|
|
519
697
|
concept_ref?: string | null | undefined;
|
|
698
|
+
user_visible_deliverable?: string | undefined;
|
|
699
|
+
depth_variants?: {
|
|
700
|
+
ulo: number;
|
|
701
|
+
cio: number;
|
|
702
|
+
sio: number;
|
|
703
|
+
} | undefined;
|
|
704
|
+
depth_scaffold_candidates?: {
|
|
705
|
+
minutes_saved: number;
|
|
706
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
707
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
708
|
+
reason?: string | undefined;
|
|
709
|
+
}[] | undefined;
|
|
710
|
+
is_core?: boolean | undefined;
|
|
711
|
+
depth_context?: {
|
|
712
|
+
ulo?: string | undefined;
|
|
713
|
+
cio?: string | undefined;
|
|
714
|
+
sio?: string[] | undefined;
|
|
715
|
+
} | undefined;
|
|
520
716
|
introduce_aspect?: "new" | "advanced" | "preview" | null | undefined;
|
|
521
717
|
}[];
|
|
522
718
|
phases?: {
|
|
@@ -105,6 +105,50 @@ declare const FeedNodeSchema: z.ZodObject<{
|
|
|
105
105
|
}>, "many">>;
|
|
106
106
|
feature_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
107
107
|
concept_ref: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
108
|
+
user_visible_deliverable: z.ZodDefault<z.ZodString>;
|
|
109
|
+
depth_variants: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
ulo: z.ZodNumber;
|
|
111
|
+
cio: z.ZodNumber;
|
|
112
|
+
sio: z.ZodNumber;
|
|
113
|
+
}, "strip", z.ZodTypeAny, {
|
|
114
|
+
ulo: number;
|
|
115
|
+
cio: number;
|
|
116
|
+
sio: number;
|
|
117
|
+
}, {
|
|
118
|
+
ulo: number;
|
|
119
|
+
cio: number;
|
|
120
|
+
sio: number;
|
|
121
|
+
}>>;
|
|
122
|
+
depth_scaffold_candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
123
|
+
from_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
124
|
+
to_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
125
|
+
minutes_saved: z.ZodNumber;
|
|
126
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
127
|
+
}, "strip", z.ZodTypeAny, {
|
|
128
|
+
reason: string;
|
|
129
|
+
minutes_saved: number;
|
|
130
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
131
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
132
|
+
}, {
|
|
133
|
+
minutes_saved: number;
|
|
134
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
135
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
136
|
+
reason?: string | undefined;
|
|
137
|
+
}>, "many">>;
|
|
138
|
+
is_core: z.ZodDefault<z.ZodBoolean>;
|
|
139
|
+
depth_context: z.ZodOptional<z.ZodObject<{
|
|
140
|
+
ulo: z.ZodDefault<z.ZodString>;
|
|
141
|
+
cio: z.ZodDefault<z.ZodString>;
|
|
142
|
+
sio: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
143
|
+
}, "strip", z.ZodTypeAny, {
|
|
144
|
+
ulo: string;
|
|
145
|
+
cio: string;
|
|
146
|
+
sio: string[];
|
|
147
|
+
}, {
|
|
148
|
+
ulo?: string | undefined;
|
|
149
|
+
cio?: string | undefined;
|
|
150
|
+
sio?: string[] | undefined;
|
|
151
|
+
}>>;
|
|
108
152
|
phase_id: z.ZodDefault<z.ZodString>;
|
|
109
153
|
introduce_aspect: z.ZodDefault<z.ZodNullable<z.ZodEnum<["new", "advanced", "preview"]>>>;
|
|
110
154
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -137,7 +181,25 @@ declare const FeedNodeSchema: z.ZodObject<{
|
|
|
137
181
|
file: string;
|
|
138
182
|
}[];
|
|
139
183
|
concept_ref: string | null;
|
|
184
|
+
user_visible_deliverable: string;
|
|
185
|
+
is_core: boolean;
|
|
140
186
|
introduce_aspect: "new" | "advanced" | "preview" | null;
|
|
187
|
+
depth_variants?: {
|
|
188
|
+
ulo: number;
|
|
189
|
+
cio: number;
|
|
190
|
+
sio: number;
|
|
191
|
+
} | undefined;
|
|
192
|
+
depth_scaffold_candidates?: {
|
|
193
|
+
reason: string;
|
|
194
|
+
minutes_saved: number;
|
|
195
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
196
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
197
|
+
}[] | undefined;
|
|
198
|
+
depth_context?: {
|
|
199
|
+
ulo: string;
|
|
200
|
+
cio: string;
|
|
201
|
+
sio: string[];
|
|
202
|
+
} | undefined;
|
|
141
203
|
}, {
|
|
142
204
|
estimated_minutes: number;
|
|
143
205
|
id: string;
|
|
@@ -168,6 +230,24 @@ declare const FeedNodeSchema: z.ZodObject<{
|
|
|
168
230
|
evidence?: string | undefined;
|
|
169
231
|
}[] | undefined;
|
|
170
232
|
concept_ref?: string | null | undefined;
|
|
233
|
+
user_visible_deliverable?: string | undefined;
|
|
234
|
+
depth_variants?: {
|
|
235
|
+
ulo: number;
|
|
236
|
+
cio: number;
|
|
237
|
+
sio: number;
|
|
238
|
+
} | undefined;
|
|
239
|
+
depth_scaffold_candidates?: {
|
|
240
|
+
minutes_saved: number;
|
|
241
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
242
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
243
|
+
reason?: string | undefined;
|
|
244
|
+
}[] | undefined;
|
|
245
|
+
is_core?: boolean | undefined;
|
|
246
|
+
depth_context?: {
|
|
247
|
+
ulo?: string | undefined;
|
|
248
|
+
cio?: string | undefined;
|
|
249
|
+
sio?: string[] | undefined;
|
|
250
|
+
} | undefined;
|
|
171
251
|
introduce_aspect?: "new" | "advanced" | "preview" | null | undefined;
|
|
172
252
|
}>;
|
|
173
253
|
declare const FeedEdgeSchema: z.ZodObject<{
|
|
@@ -306,6 +386,50 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
306
386
|
}>, "many">>;
|
|
307
387
|
feature_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
308
388
|
concept_ref: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
389
|
+
user_visible_deliverable: z.ZodDefault<z.ZodString>;
|
|
390
|
+
depth_variants: z.ZodOptional<z.ZodObject<{
|
|
391
|
+
ulo: z.ZodNumber;
|
|
392
|
+
cio: z.ZodNumber;
|
|
393
|
+
sio: z.ZodNumber;
|
|
394
|
+
}, "strip", z.ZodTypeAny, {
|
|
395
|
+
ulo: number;
|
|
396
|
+
cio: number;
|
|
397
|
+
sio: number;
|
|
398
|
+
}, {
|
|
399
|
+
ulo: number;
|
|
400
|
+
cio: number;
|
|
401
|
+
sio: number;
|
|
402
|
+
}>>;
|
|
403
|
+
depth_scaffold_candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
404
|
+
from_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
405
|
+
to_depth: z.ZodEnum<["ulo", "cio", "sio"]>;
|
|
406
|
+
minutes_saved: z.ZodNumber;
|
|
407
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
408
|
+
}, "strip", z.ZodTypeAny, {
|
|
409
|
+
reason: string;
|
|
410
|
+
minutes_saved: number;
|
|
411
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
412
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
413
|
+
}, {
|
|
414
|
+
minutes_saved: number;
|
|
415
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
416
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
417
|
+
reason?: string | undefined;
|
|
418
|
+
}>, "many">>;
|
|
419
|
+
is_core: z.ZodDefault<z.ZodBoolean>;
|
|
420
|
+
depth_context: z.ZodOptional<z.ZodObject<{
|
|
421
|
+
ulo: z.ZodDefault<z.ZodString>;
|
|
422
|
+
cio: z.ZodDefault<z.ZodString>;
|
|
423
|
+
sio: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
424
|
+
}, "strip", z.ZodTypeAny, {
|
|
425
|
+
ulo: string;
|
|
426
|
+
cio: string;
|
|
427
|
+
sio: string[];
|
|
428
|
+
}, {
|
|
429
|
+
ulo?: string | undefined;
|
|
430
|
+
cio?: string | undefined;
|
|
431
|
+
sio?: string[] | undefined;
|
|
432
|
+
}>>;
|
|
309
433
|
phase_id: z.ZodDefault<z.ZodString>;
|
|
310
434
|
introduce_aspect: z.ZodDefault<z.ZodNullable<z.ZodEnum<["new", "advanced", "preview"]>>>;
|
|
311
435
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -338,7 +462,25 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
338
462
|
file: string;
|
|
339
463
|
}[];
|
|
340
464
|
concept_ref: string | null;
|
|
465
|
+
user_visible_deliverable: string;
|
|
466
|
+
is_core: boolean;
|
|
341
467
|
introduce_aspect: "new" | "advanced" | "preview" | null;
|
|
468
|
+
depth_variants?: {
|
|
469
|
+
ulo: number;
|
|
470
|
+
cio: number;
|
|
471
|
+
sio: number;
|
|
472
|
+
} | undefined;
|
|
473
|
+
depth_scaffold_candidates?: {
|
|
474
|
+
reason: string;
|
|
475
|
+
minutes_saved: number;
|
|
476
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
477
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
478
|
+
}[] | undefined;
|
|
479
|
+
depth_context?: {
|
|
480
|
+
ulo: string;
|
|
481
|
+
cio: string;
|
|
482
|
+
sio: string[];
|
|
483
|
+
} | undefined;
|
|
342
484
|
}, {
|
|
343
485
|
estimated_minutes: number;
|
|
344
486
|
id: string;
|
|
@@ -369,6 +511,24 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
369
511
|
evidence?: string | undefined;
|
|
370
512
|
}[] | undefined;
|
|
371
513
|
concept_ref?: string | null | undefined;
|
|
514
|
+
user_visible_deliverable?: string | undefined;
|
|
515
|
+
depth_variants?: {
|
|
516
|
+
ulo: number;
|
|
517
|
+
cio: number;
|
|
518
|
+
sio: number;
|
|
519
|
+
} | undefined;
|
|
520
|
+
depth_scaffold_candidates?: {
|
|
521
|
+
minutes_saved: number;
|
|
522
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
523
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
524
|
+
reason?: string | undefined;
|
|
525
|
+
}[] | undefined;
|
|
526
|
+
is_core?: boolean | undefined;
|
|
527
|
+
depth_context?: {
|
|
528
|
+
ulo?: string | undefined;
|
|
529
|
+
cio?: string | undefined;
|
|
530
|
+
sio?: string[] | undefined;
|
|
531
|
+
} | undefined;
|
|
372
532
|
introduce_aspect?: "new" | "advanced" | "preview" | null | undefined;
|
|
373
533
|
}>, "many">;
|
|
374
534
|
dependency_edges: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -466,7 +626,25 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
466
626
|
file: string;
|
|
467
627
|
}[];
|
|
468
628
|
concept_ref: string | null;
|
|
629
|
+
user_visible_deliverable: string;
|
|
630
|
+
is_core: boolean;
|
|
469
631
|
introduce_aspect: "new" | "advanced" | "preview" | null;
|
|
632
|
+
depth_variants?: {
|
|
633
|
+
ulo: number;
|
|
634
|
+
cio: number;
|
|
635
|
+
sio: number;
|
|
636
|
+
} | undefined;
|
|
637
|
+
depth_scaffold_candidates?: {
|
|
638
|
+
reason: string;
|
|
639
|
+
minutes_saved: number;
|
|
640
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
641
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
642
|
+
}[] | undefined;
|
|
643
|
+
depth_context?: {
|
|
644
|
+
ulo: string;
|
|
645
|
+
cio: string;
|
|
646
|
+
sio: string[];
|
|
647
|
+
} | undefined;
|
|
470
648
|
}[];
|
|
471
649
|
dependency_edges: {
|
|
472
650
|
from: string;
|
|
@@ -517,6 +695,24 @@ declare const CurriculumFeedSchema: z.ZodObject<{
|
|
|
517
695
|
evidence?: string | undefined;
|
|
518
696
|
}[] | undefined;
|
|
519
697
|
concept_ref?: string | null | undefined;
|
|
698
|
+
user_visible_deliverable?: string | undefined;
|
|
699
|
+
depth_variants?: {
|
|
700
|
+
ulo: number;
|
|
701
|
+
cio: number;
|
|
702
|
+
sio: number;
|
|
703
|
+
} | undefined;
|
|
704
|
+
depth_scaffold_candidates?: {
|
|
705
|
+
minutes_saved: number;
|
|
706
|
+
from_depth: "ulo" | "cio" | "sio";
|
|
707
|
+
to_depth: "ulo" | "cio" | "sio";
|
|
708
|
+
reason?: string | undefined;
|
|
709
|
+
}[] | undefined;
|
|
710
|
+
is_core?: boolean | undefined;
|
|
711
|
+
depth_context?: {
|
|
712
|
+
ulo?: string | undefined;
|
|
713
|
+
cio?: string | undefined;
|
|
714
|
+
sio?: string[] | undefined;
|
|
715
|
+
} | undefined;
|
|
520
716
|
introduce_aspect?: "new" | "advanced" | "preview" | null | undefined;
|
|
521
717
|
}[];
|
|
522
718
|
phases?: {
|
package/dist/feed/index.cjs
CHANGED
|
@@ -31,6 +31,36 @@ var FeedNodeSchema = zod.z.object({
|
|
|
31
31
|
references: zod.z.array(zod.z.object({ file: zod.z.string().min(1), evidence: zod.z.string().default("") })).default([]),
|
|
32
32
|
feature_id: zod.z.string().nullable().default(null),
|
|
33
33
|
concept_ref: zod.z.string().nullable().default(null),
|
|
34
|
+
// P52/T2.1: outcome.user_visible projected from the ProjectGraph step — the
|
|
35
|
+
// tangible checkpoint the session-cutting planner aims for (empty when the
|
|
36
|
+
// step declares no user-visible result). Concepts carry '' by default.
|
|
37
|
+
user_visible_deliverable: zod.z.string().default(""),
|
|
38
|
+
// P52/T3.1 — depth-reconcile inputs (optional/defaulted so old feeds
|
|
39
|
+
// validate unchanged):
|
|
40
|
+
// • depth_variants: minutes to teach this node at each depth level.
|
|
41
|
+
// ULO (know-it-exists) ≤ CIO (mechanism) ≤ SIO (implementation). All 3
|
|
42
|
+
// required so a downgrade never turns an anchor teach into a zero.
|
|
43
|
+
// • depth_scaffold_candidates: parallel to scaffold_candidates but
|
|
44
|
+
// acts on DEPTH (e.g. SIO→CIO) instead of lesson time.
|
|
45
|
+
// • is_core: concept is a Master-Tree core concept — reconciler must
|
|
46
|
+
// never downgrade it; escalate instead.
|
|
47
|
+
depth_variants: zod.z.object({ ulo: zod.z.number().int().nonnegative(), cio: zod.z.number().int().nonnegative(), sio: zod.z.number().int().nonnegative() }).optional(),
|
|
48
|
+
depth_scaffold_candidates: zod.z.array(zod.z.object({
|
|
49
|
+
from_depth: zod.z.enum(["ulo", "cio", "sio"]),
|
|
50
|
+
to_depth: zod.z.enum(["ulo", "cio", "sio"]),
|
|
51
|
+
minutes_saved: zod.z.number().int().nonnegative(),
|
|
52
|
+
reason: zod.z.string().default("")
|
|
53
|
+
})).optional(),
|
|
54
|
+
is_core: zod.z.boolean().default(false),
|
|
55
|
+
// Depth layer text (optional, additive — old feeds validate unchanged).
|
|
56
|
+
// Carries the ULO/CIO/SIO authored text from the KnowledgeGraph concept
|
|
57
|
+
// so downstream consumers (KX generator) can inject depth-appropriate
|
|
58
|
+
// material into their prompts without a second LLM call.
|
|
59
|
+
depth_context: zod.z.object({
|
|
60
|
+
ulo: zod.z.string().default(""),
|
|
61
|
+
cio: zod.z.string().default(""),
|
|
62
|
+
sio: zod.z.array(zod.z.string()).default([])
|
|
63
|
+
}).optional(),
|
|
34
64
|
// Progressive-completion bookkeeping (feed v2, additive):
|
|
35
65
|
// phase_id = development phase that introduces/uses this node;
|
|
36
66
|
// introduce_aspect = how the phase teaches a concept node (first intro, advanced
|
|
@@ -157,6 +187,10 @@ function feedNodeFromStep(step, featureId) {
|
|
|
157
187
|
references: arr(step.files).map((f) => ({ file: str(f), evidence: "step file" })).filter((f) => f.file),
|
|
158
188
|
feature_id: featureId,
|
|
159
189
|
concept_ref: null,
|
|
190
|
+
// P52/T2.1: carry the step's tangible outcome so the planner can cut
|
|
191
|
+
// sessions at user-visible checkpoints instead of raw minute counts.
|
|
192
|
+
user_visible_deliverable: str(step.outcome?.user_visible),
|
|
193
|
+
is_core: false,
|
|
160
194
|
phase_id: "",
|
|
161
195
|
introduce_aspect: null
|
|
162
196
|
};
|
|
@@ -175,6 +209,20 @@ function deriveConceptDepthHint(concept) {
|
|
|
175
209
|
if (str(concept.cio) || prereqs.length >= 1) return "cio";
|
|
176
210
|
return "ulo";
|
|
177
211
|
}
|
|
212
|
+
function deriveDepthInputs(minutes, depth) {
|
|
213
|
+
const ulo = Math.max(5, Math.round(minutes * 0.35));
|
|
214
|
+
const cio = Math.max(ulo + 5, Math.round(minutes * 0.65));
|
|
215
|
+
const sio = Math.max(cio + 5, minutes);
|
|
216
|
+
const variants = { ulo, cio, sio };
|
|
217
|
+
const candidates = [];
|
|
218
|
+
if (depth === "sio") {
|
|
219
|
+
candidates.push({ from_depth: "sio", to_depth: "cio", minutes_saved: sio - cio, reason: "SIO implementation practice deferred \u2014 CIO mechanism suffices for downstream consumers" });
|
|
220
|
+
}
|
|
221
|
+
if (depth === "cio" || depth === "sio") {
|
|
222
|
+
candidates.push({ from_depth: depth, to_depth: "ulo", minutes_saved: (depth === "sio" ? sio : cio) - ulo, reason: "Mechanism deferred \u2014 ULO awareness suffices (know-it-exists); never below the ULO floor" });
|
|
223
|
+
}
|
|
224
|
+
return { depth_variants: variants, depth_scaffold_candidates: candidates };
|
|
225
|
+
}
|
|
178
226
|
function feedNodeFromConcept(concept) {
|
|
179
227
|
const id = str(concept.id);
|
|
180
228
|
const pts = arr(concept.problem_types).map((p) => str(p.bloom_level, "Understand")).filter((b) => b in BLOOM_RANK).sort((a, b) => BLOOM_RANK[a] - BLOOM_RANK[b]);
|
|
@@ -204,6 +252,15 @@ function feedNodeFromConcept(concept) {
|
|
|
204
252
|
references,
|
|
205
253
|
feature_id: null,
|
|
206
254
|
concept_ref: id,
|
|
255
|
+
user_visible_deliverable: "",
|
|
256
|
+
// concepts are taught, not shipped — checkpoints live on product steps
|
|
257
|
+
...deriveDepthInputs(Math.max(0, Math.round(num(concept.estimated_minutes, 15))), deriveConceptDepthHint(concept)),
|
|
258
|
+
is_core: false,
|
|
259
|
+
depth_context: {
|
|
260
|
+
ulo: str(concept.ulo),
|
|
261
|
+
cio: str(concept.cio),
|
|
262
|
+
sio: strs(concept.sio)
|
|
263
|
+
},
|
|
207
264
|
phase_id: "",
|
|
208
265
|
introduce_aspect: null
|
|
209
266
|
};
|
|
@@ -310,6 +367,8 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
310
367
|
prevNode.concept_codes = [str(c.code) || cid];
|
|
311
368
|
prevNode.keywords = { all: strs(c.keywords), new: [], prerequisite: [] };
|
|
312
369
|
prevNode.scaffolding = { scaffold_candidates: [], core_value_minutes: 0 };
|
|
370
|
+
prevNode.depth_variants = { ulo: prevNode.estimated_minutes, cio: prevNode.estimated_minutes, sio: prevNode.estimated_minutes };
|
|
371
|
+
prevNode.depth_scaffold_candidates = [];
|
|
313
372
|
nodes.push(prevNode);
|
|
314
373
|
conceptOrder.push(prevNode.id);
|
|
315
374
|
continue;
|
|
@@ -334,6 +393,7 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
334
393
|
node.name = str(c.name, cid) + " (advanced)";
|
|
335
394
|
node.phase_id = pid;
|
|
336
395
|
node.introduce_aspect = "advanced";
|
|
396
|
+
node.depth_scaffold_candidates = [{ from_depth: "sio", to_depth: "cio", minutes_saved: Math.round(node.estimated_minutes * 0.3), reason: "advanced revisit may drop to CIO recap without breaking first-teach chain" }];
|
|
337
397
|
node.estimated_minutes = Math.max(15, Math.round(node.estimated_minutes * 0.5));
|
|
338
398
|
node.concept_codes = [str(c.code) || cid];
|
|
339
399
|
edges.push({ from: cid, to: revisitId, kind: "knowledge", reason: "advanced revisit of " + cid + " at phase " + pid });
|