@coralai/sps-cli 0.50.24 → 0.51.1

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 (83) hide show
  1. package/README.md +18 -1
  2. package/dist/commands/projectInit.d.ts +15 -0
  3. package/dist/commands/projectInit.d.ts.map +1 -1
  4. package/dist/commands/projectInit.js +191 -3
  5. package/dist/commands/projectInit.js.map +1 -1
  6. package/dist/commands/wikiCommand.d.ts +77 -0
  7. package/dist/commands/wikiCommand.d.ts.map +1 -0
  8. package/dist/commands/wikiCommand.js +489 -0
  9. package/dist/commands/wikiCommand.js.map +1 -0
  10. package/dist/console/routes/projects.d.ts.map +1 -1
  11. package/dist/console/routes/projects.js +1 -0
  12. package/dist/console/routes/projects.js.map +1 -1
  13. package/dist/console-assets/assets/index-DRhdpvew.css +10 -0
  14. package/dist/console-assets/assets/{index-QBai48VV.js → index-WUGCBcyb.js} +3 -3
  15. package/dist/console-assets/index.html +2 -2
  16. package/dist/core/taskPrompts.d.ts +12 -0
  17. package/dist/core/taskPrompts.d.ts.map +1 -1
  18. package/dist/core/taskPrompts.js +14 -0
  19. package/dist/core/taskPrompts.js.map +1 -1
  20. package/dist/core/wiki/frontmatter.d.ts +55 -0
  21. package/dist/core/wiki/frontmatter.d.ts.map +1 -0
  22. package/dist/core/wiki/frontmatter.js +109 -0
  23. package/dist/core/wiki/frontmatter.js.map +1 -0
  24. package/dist/core/wiki/hot.d.ts +27 -0
  25. package/dist/core/wiki/hot.d.ts.map +1 -0
  26. package/dist/core/wiki/hot.js +124 -0
  27. package/dist/core/wiki/hot.js.map +1 -0
  28. package/dist/core/wiki/index-builder.d.ts +37 -0
  29. package/dist/core/wiki/index-builder.d.ts.map +1 -0
  30. package/dist/core/wiki/index-builder.js +130 -0
  31. package/dist/core/wiki/index-builder.js.map +1 -0
  32. package/dist/core/wiki/linter.d.ts +76 -0
  33. package/dist/core/wiki/linter.d.ts.map +1 -0
  34. package/dist/core/wiki/linter.js +280 -0
  35. package/dist/core/wiki/linter.js.map +1 -0
  36. package/dist/core/wiki/log.d.ts +24 -0
  37. package/dist/core/wiki/log.d.ts.map +1 -0
  38. package/dist/core/wiki/log.js +107 -0
  39. package/dist/core/wiki/log.js.map +1 -0
  40. package/dist/core/wiki/manifest.d.ts +59 -0
  41. package/dist/core/wiki/manifest.d.ts.map +1 -0
  42. package/dist/core/wiki/manifest.js +180 -0
  43. package/dist/core/wiki/manifest.js.map +1 -0
  44. package/dist/core/wiki/page.d.ts +72 -0
  45. package/dist/core/wiki/page.d.ts.map +1 -0
  46. package/dist/core/wiki/page.js +221 -0
  47. package/dist/core/wiki/page.js.map +1 -0
  48. package/dist/core/wiki/reader.d.ts +102 -0
  49. package/dist/core/wiki/reader.d.ts.map +1 -0
  50. package/dist/core/wiki/reader.js +225 -0
  51. package/dist/core/wiki/reader.js.map +1 -0
  52. package/dist/core/wiki/scaffold.d.ts +42 -0
  53. package/dist/core/wiki/scaffold.d.ts.map +1 -0
  54. package/dist/core/wiki/scaffold.js +223 -0
  55. package/dist/core/wiki/scaffold.js.map +1 -0
  56. package/dist/core/wiki/searcher.d.ts +73 -0
  57. package/dist/core/wiki/searcher.d.ts.map +1 -0
  58. package/dist/core/wiki/searcher.js +216 -0
  59. package/dist/core/wiki/searcher.js.map +1 -0
  60. package/dist/core/wiki/sources.d.ts +84 -0
  61. package/dist/core/wiki/sources.d.ts.map +1 -0
  62. package/dist/core/wiki/sources.js +261 -0
  63. package/dist/core/wiki/sources.js.map +1 -0
  64. package/dist/core/wiki/types.d.ts +904 -0
  65. package/dist/core/wiki/types.d.ts.map +1 -0
  66. package/dist/core/wiki/types.js +109 -0
  67. package/dist/core/wiki/types.js.map +1 -0
  68. package/dist/engines/StageEngine.d.ts +17 -1
  69. package/dist/engines/StageEngine.d.ts.map +1 -1
  70. package/dist/engines/StageEngine.js +85 -0
  71. package/dist/engines/StageEngine.js.map +1 -1
  72. package/dist/main.js +78 -1
  73. package/dist/main.js.map +1 -1
  74. package/dist/services/ProjectService.d.ts +2 -0
  75. package/dist/services/ProjectService.d.ts.map +1 -1
  76. package/dist/services/ProjectService.js.map +1 -1
  77. package/dist/shared/wikiPaths.d.ts +38 -0
  78. package/dist/shared/wikiPaths.d.ts.map +1 -0
  79. package/dist/shared/wikiPaths.js +89 -0
  80. package/dist/shared/wikiPaths.js.map +1 -0
  81. package/package.json +1 -1
  82. package/skills/wiki-update/SKILL.md +300 -0
  83. package/dist/console-assets/assets/index-BgOHCIG1.css +0 -10
@@ -0,0 +1,904 @@
1
+ /**
2
+ * @module core/wiki/types
3
+ * @description Wiki page 数据模型 + zod schemas
4
+ *
5
+ * @layer core
6
+ *
7
+ * doc-28 §6 Page Schema 的运行时表示。Frontmatter 用 zod 严格校验——
8
+ * 因为 wiki page 来自 LLM 写入,松散 schema 会让格式漂移失控。
9
+ *
10
+ * 类型分流:5 类 page(module/concept/decision/lesson/source)共享 Base 字段,
11
+ * 每类有 type-specific 加字段。Frontmatter 类型用 discriminated union。
12
+ */
13
+ import { z } from 'zod';
14
+ export declare const PageTypeSchema: z.ZodEnum<["module", "concept", "decision", "lesson", "source"]>;
15
+ export type PageType = z.infer<typeof PageTypeSchema>;
16
+ export declare const StatusSchema: z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>;
17
+ export type PageStatus = z.infer<typeof StatusSchema>;
18
+ export declare const GeneratedSchema: z.ZodEnum<["auto", "manual", "semi"]>;
19
+ export type Generated = z.infer<typeof GeneratedSchema>;
20
+ export declare const SourceRefSchema: z.ZodUnion<[z.ZodObject<{
21
+ path: z.ZodString;
22
+ hash: z.ZodOptional<z.ZodString>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ path: string;
25
+ hash?: string | undefined;
26
+ }, {
27
+ path: string;
28
+ hash?: string | undefined;
29
+ }>, z.ZodObject<{
30
+ card: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ card: string;
33
+ }, {
34
+ card: string;
35
+ }>, z.ZodObject<{
36
+ commit: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ commit: string;
39
+ }, {
40
+ commit: string;
41
+ }>, z.ZodEffects<z.ZodString, {
42
+ path: string;
43
+ }, string>]>;
44
+ export type SourceRef = z.infer<typeof SourceRefSchema>;
45
+ export declare const WikilinkSchema: z.ZodString;
46
+ export type Wikilink = z.infer<typeof WikilinkSchema>;
47
+ export declare const ModuleFrontmatterSchema: z.ZodObject<{
48
+ title: z.ZodString;
49
+ created: z.ZodString;
50
+ updated: z.ZodString;
51
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
52
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
53
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
54
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
55
+ path: z.ZodString;
56
+ hash: z.ZodOptional<z.ZodString>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ path: string;
59
+ hash?: string | undefined;
60
+ }, {
61
+ path: string;
62
+ hash?: string | undefined;
63
+ }>, z.ZodObject<{
64
+ card: z.ZodString;
65
+ }, "strip", z.ZodTypeAny, {
66
+ card: string;
67
+ }, {
68
+ card: string;
69
+ }>, z.ZodObject<{
70
+ commit: z.ZodString;
71
+ }, "strip", z.ZodTypeAny, {
72
+ commit: string;
73
+ }, {
74
+ commit: string;
75
+ }>, z.ZodEffects<z.ZodString, {
76
+ path: string;
77
+ }, string>]>, "many">>;
78
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
79
+ } & {
80
+ type: z.ZodLiteral<"module">;
81
+ module_path: z.ZodString;
82
+ }, "strip", z.ZodTypeAny, {
83
+ type: "module";
84
+ title: string;
85
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
86
+ created: string;
87
+ updated: string;
88
+ tags: string[];
89
+ related: string[];
90
+ sources: ({
91
+ path: string;
92
+ hash?: string | undefined;
93
+ } | {
94
+ card: string;
95
+ } | {
96
+ commit: string;
97
+ } | {
98
+ path: string;
99
+ })[];
100
+ generated: "auto" | "manual" | "semi";
101
+ module_path: string;
102
+ }, {
103
+ type: "module";
104
+ title: string;
105
+ created: string;
106
+ updated: string;
107
+ module_path: string;
108
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
109
+ tags?: string[] | undefined;
110
+ related?: string[] | undefined;
111
+ sources?: (string | {
112
+ path: string;
113
+ hash?: string | undefined;
114
+ } | {
115
+ card: string;
116
+ } | {
117
+ commit: string;
118
+ })[] | undefined;
119
+ generated?: "auto" | "manual" | "semi" | undefined;
120
+ }>;
121
+ export declare const ConceptFrontmatterSchema: z.ZodObject<{
122
+ title: z.ZodString;
123
+ created: z.ZodString;
124
+ updated: z.ZodString;
125
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
126
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
127
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
128
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
129
+ path: z.ZodString;
130
+ hash: z.ZodOptional<z.ZodString>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ path: string;
133
+ hash?: string | undefined;
134
+ }, {
135
+ path: string;
136
+ hash?: string | undefined;
137
+ }>, z.ZodObject<{
138
+ card: z.ZodString;
139
+ }, "strip", z.ZodTypeAny, {
140
+ card: string;
141
+ }, {
142
+ card: string;
143
+ }>, z.ZodObject<{
144
+ commit: z.ZodString;
145
+ }, "strip", z.ZodTypeAny, {
146
+ commit: string;
147
+ }, {
148
+ commit: string;
149
+ }>, z.ZodEffects<z.ZodString, {
150
+ path: string;
151
+ }, string>]>, "many">>;
152
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
153
+ } & {
154
+ type: z.ZodLiteral<"concept">;
155
+ complexity: z.ZodOptional<z.ZodEnum<["basic", "intermediate", "advanced"]>>;
156
+ domain: z.ZodOptional<z.ZodString>;
157
+ aliases: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ type: "concept";
160
+ title: string;
161
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
162
+ created: string;
163
+ updated: string;
164
+ tags: string[];
165
+ related: string[];
166
+ sources: ({
167
+ path: string;
168
+ hash?: string | undefined;
169
+ } | {
170
+ card: string;
171
+ } | {
172
+ commit: string;
173
+ } | {
174
+ path: string;
175
+ })[];
176
+ generated: "auto" | "manual" | "semi";
177
+ complexity?: "basic" | "intermediate" | "advanced" | undefined;
178
+ domain?: string | undefined;
179
+ aliases?: string[] | undefined;
180
+ }, {
181
+ type: "concept";
182
+ title: string;
183
+ created: string;
184
+ updated: string;
185
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
186
+ tags?: string[] | undefined;
187
+ related?: string[] | undefined;
188
+ sources?: (string | {
189
+ path: string;
190
+ hash?: string | undefined;
191
+ } | {
192
+ card: string;
193
+ } | {
194
+ commit: string;
195
+ })[] | undefined;
196
+ generated?: "auto" | "manual" | "semi" | undefined;
197
+ complexity?: "basic" | "intermediate" | "advanced" | undefined;
198
+ domain?: string | undefined;
199
+ aliases?: string[] | undefined;
200
+ }>;
201
+ export declare const DecisionFrontmatterSchema: z.ZodObject<{
202
+ title: z.ZodString;
203
+ created: z.ZodString;
204
+ updated: z.ZodString;
205
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
206
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
207
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
208
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
209
+ path: z.ZodString;
210
+ hash: z.ZodOptional<z.ZodString>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ path: string;
213
+ hash?: string | undefined;
214
+ }, {
215
+ path: string;
216
+ hash?: string | undefined;
217
+ }>, z.ZodObject<{
218
+ card: z.ZodString;
219
+ }, "strip", z.ZodTypeAny, {
220
+ card: string;
221
+ }, {
222
+ card: string;
223
+ }>, z.ZodObject<{
224
+ commit: z.ZodString;
225
+ }, "strip", z.ZodTypeAny, {
226
+ commit: string;
227
+ }, {
228
+ commit: string;
229
+ }>, z.ZodEffects<z.ZodString, {
230
+ path: string;
231
+ }, string>]>, "many">>;
232
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
233
+ } & {
234
+ type: z.ZodLiteral<"decision">;
235
+ version: z.ZodOptional<z.ZodString>;
236
+ superseded_by: z.ZodOptional<z.ZodString>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ type: "decision";
239
+ title: string;
240
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
241
+ created: string;
242
+ updated: string;
243
+ tags: string[];
244
+ related: string[];
245
+ sources: ({
246
+ path: string;
247
+ hash?: string | undefined;
248
+ } | {
249
+ card: string;
250
+ } | {
251
+ commit: string;
252
+ } | {
253
+ path: string;
254
+ })[];
255
+ generated: "auto" | "manual" | "semi";
256
+ version?: string | undefined;
257
+ superseded_by?: string | undefined;
258
+ }, {
259
+ type: "decision";
260
+ title: string;
261
+ created: string;
262
+ updated: string;
263
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
264
+ tags?: string[] | undefined;
265
+ related?: string[] | undefined;
266
+ sources?: (string | {
267
+ path: string;
268
+ hash?: string | undefined;
269
+ } | {
270
+ card: string;
271
+ } | {
272
+ commit: string;
273
+ })[] | undefined;
274
+ generated?: "auto" | "manual" | "semi" | undefined;
275
+ version?: string | undefined;
276
+ superseded_by?: string | undefined;
277
+ }>;
278
+ export declare const LessonFrontmatterSchema: z.ZodObject<{
279
+ title: z.ZodString;
280
+ created: z.ZodString;
281
+ updated: z.ZodString;
282
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
283
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
284
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
285
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
286
+ path: z.ZodString;
287
+ hash: z.ZodOptional<z.ZodString>;
288
+ }, "strip", z.ZodTypeAny, {
289
+ path: string;
290
+ hash?: string | undefined;
291
+ }, {
292
+ path: string;
293
+ hash?: string | undefined;
294
+ }>, z.ZodObject<{
295
+ card: z.ZodString;
296
+ }, "strip", z.ZodTypeAny, {
297
+ card: string;
298
+ }, {
299
+ card: string;
300
+ }>, z.ZodObject<{
301
+ commit: z.ZodString;
302
+ }, "strip", z.ZodTypeAny, {
303
+ commit: string;
304
+ }, {
305
+ commit: string;
306
+ }>, z.ZodEffects<z.ZodString, {
307
+ path: string;
308
+ }, string>]>, "many">>;
309
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
310
+ } & {
311
+ type: z.ZodLiteral<"lesson">;
312
+ severity: z.ZodDefault<z.ZodEnum<["critical", "major", "minor"]>>;
313
+ seen_in_cards: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
314
+ }, "strip", z.ZodTypeAny, {
315
+ type: "lesson";
316
+ title: string;
317
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
318
+ created: string;
319
+ updated: string;
320
+ tags: string[];
321
+ related: string[];
322
+ sources: ({
323
+ path: string;
324
+ hash?: string | undefined;
325
+ } | {
326
+ card: string;
327
+ } | {
328
+ commit: string;
329
+ } | {
330
+ path: string;
331
+ })[];
332
+ generated: "auto" | "manual" | "semi";
333
+ severity: "critical" | "major" | "minor";
334
+ seen_in_cards?: string[] | undefined;
335
+ }, {
336
+ type: "lesson";
337
+ title: string;
338
+ created: string;
339
+ updated: string;
340
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
341
+ tags?: string[] | undefined;
342
+ related?: string[] | undefined;
343
+ sources?: (string | {
344
+ path: string;
345
+ hash?: string | undefined;
346
+ } | {
347
+ card: string;
348
+ } | {
349
+ commit: string;
350
+ })[] | undefined;
351
+ generated?: "auto" | "manual" | "semi" | undefined;
352
+ severity?: "critical" | "major" | "minor" | undefined;
353
+ seen_in_cards?: string[] | undefined;
354
+ }>;
355
+ export declare const SourceFrontmatterSchema: z.ZodObject<{
356
+ title: z.ZodString;
357
+ created: z.ZodString;
358
+ updated: z.ZodString;
359
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
360
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
361
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
362
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
363
+ path: z.ZodString;
364
+ hash: z.ZodOptional<z.ZodString>;
365
+ }, "strip", z.ZodTypeAny, {
366
+ path: string;
367
+ hash?: string | undefined;
368
+ }, {
369
+ path: string;
370
+ hash?: string | undefined;
371
+ }>, z.ZodObject<{
372
+ card: z.ZodString;
373
+ }, "strip", z.ZodTypeAny, {
374
+ card: string;
375
+ }, {
376
+ card: string;
377
+ }>, z.ZodObject<{
378
+ commit: z.ZodString;
379
+ }, "strip", z.ZodTypeAny, {
380
+ commit: string;
381
+ }, {
382
+ commit: string;
383
+ }>, z.ZodEffects<z.ZodString, {
384
+ path: string;
385
+ }, string>]>, "many">>;
386
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
387
+ } & {
388
+ type: z.ZodLiteral<"source">;
389
+ source_type: z.ZodDefault<z.ZodEnum<["pdf", "article", "image", "transcript", "data", "note", "unknown"]>>;
390
+ original_path: z.ZodString;
391
+ }, "strip", z.ZodTypeAny, {
392
+ type: "source";
393
+ title: string;
394
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
395
+ created: string;
396
+ updated: string;
397
+ tags: string[];
398
+ related: string[];
399
+ sources: ({
400
+ path: string;
401
+ hash?: string | undefined;
402
+ } | {
403
+ card: string;
404
+ } | {
405
+ commit: string;
406
+ } | {
407
+ path: string;
408
+ })[];
409
+ generated: "auto" | "manual" | "semi";
410
+ source_type: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note";
411
+ original_path: string;
412
+ }, {
413
+ type: "source";
414
+ title: string;
415
+ created: string;
416
+ updated: string;
417
+ original_path: string;
418
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
419
+ tags?: string[] | undefined;
420
+ related?: string[] | undefined;
421
+ sources?: (string | {
422
+ path: string;
423
+ hash?: string | undefined;
424
+ } | {
425
+ card: string;
426
+ } | {
427
+ commit: string;
428
+ })[] | undefined;
429
+ generated?: "auto" | "manual" | "semi" | undefined;
430
+ source_type?: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note" | undefined;
431
+ }>;
432
+ export declare const FrontmatterSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
433
+ title: z.ZodString;
434
+ created: z.ZodString;
435
+ updated: z.ZodString;
436
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
437
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
438
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
439
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
440
+ path: z.ZodString;
441
+ hash: z.ZodOptional<z.ZodString>;
442
+ }, "strip", z.ZodTypeAny, {
443
+ path: string;
444
+ hash?: string | undefined;
445
+ }, {
446
+ path: string;
447
+ hash?: string | undefined;
448
+ }>, z.ZodObject<{
449
+ card: z.ZodString;
450
+ }, "strip", z.ZodTypeAny, {
451
+ card: string;
452
+ }, {
453
+ card: string;
454
+ }>, z.ZodObject<{
455
+ commit: z.ZodString;
456
+ }, "strip", z.ZodTypeAny, {
457
+ commit: string;
458
+ }, {
459
+ commit: string;
460
+ }>, z.ZodEffects<z.ZodString, {
461
+ path: string;
462
+ }, string>]>, "many">>;
463
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
464
+ } & {
465
+ type: z.ZodLiteral<"module">;
466
+ module_path: z.ZodString;
467
+ }, "strip", z.ZodTypeAny, {
468
+ type: "module";
469
+ title: string;
470
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
471
+ created: string;
472
+ updated: string;
473
+ tags: string[];
474
+ related: string[];
475
+ sources: ({
476
+ path: string;
477
+ hash?: string | undefined;
478
+ } | {
479
+ card: string;
480
+ } | {
481
+ commit: string;
482
+ } | {
483
+ path: string;
484
+ })[];
485
+ generated: "auto" | "manual" | "semi";
486
+ module_path: string;
487
+ }, {
488
+ type: "module";
489
+ title: string;
490
+ created: string;
491
+ updated: string;
492
+ module_path: string;
493
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
494
+ tags?: string[] | undefined;
495
+ related?: string[] | undefined;
496
+ sources?: (string | {
497
+ path: string;
498
+ hash?: string | undefined;
499
+ } | {
500
+ card: string;
501
+ } | {
502
+ commit: string;
503
+ })[] | undefined;
504
+ generated?: "auto" | "manual" | "semi" | undefined;
505
+ }>, z.ZodObject<{
506
+ title: z.ZodString;
507
+ created: z.ZodString;
508
+ updated: z.ZodString;
509
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
510
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
511
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
512
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
513
+ path: z.ZodString;
514
+ hash: z.ZodOptional<z.ZodString>;
515
+ }, "strip", z.ZodTypeAny, {
516
+ path: string;
517
+ hash?: string | undefined;
518
+ }, {
519
+ path: string;
520
+ hash?: string | undefined;
521
+ }>, z.ZodObject<{
522
+ card: z.ZodString;
523
+ }, "strip", z.ZodTypeAny, {
524
+ card: string;
525
+ }, {
526
+ card: string;
527
+ }>, z.ZodObject<{
528
+ commit: z.ZodString;
529
+ }, "strip", z.ZodTypeAny, {
530
+ commit: string;
531
+ }, {
532
+ commit: string;
533
+ }>, z.ZodEffects<z.ZodString, {
534
+ path: string;
535
+ }, string>]>, "many">>;
536
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
537
+ } & {
538
+ type: z.ZodLiteral<"concept">;
539
+ complexity: z.ZodOptional<z.ZodEnum<["basic", "intermediate", "advanced"]>>;
540
+ domain: z.ZodOptional<z.ZodString>;
541
+ aliases: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
542
+ }, "strip", z.ZodTypeAny, {
543
+ type: "concept";
544
+ title: string;
545
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
546
+ created: string;
547
+ updated: string;
548
+ tags: string[];
549
+ related: string[];
550
+ sources: ({
551
+ path: string;
552
+ hash?: string | undefined;
553
+ } | {
554
+ card: string;
555
+ } | {
556
+ commit: string;
557
+ } | {
558
+ path: string;
559
+ })[];
560
+ generated: "auto" | "manual" | "semi";
561
+ complexity?: "basic" | "intermediate" | "advanced" | undefined;
562
+ domain?: string | undefined;
563
+ aliases?: string[] | undefined;
564
+ }, {
565
+ type: "concept";
566
+ title: string;
567
+ created: string;
568
+ updated: string;
569
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
570
+ tags?: string[] | undefined;
571
+ related?: string[] | undefined;
572
+ sources?: (string | {
573
+ path: string;
574
+ hash?: string | undefined;
575
+ } | {
576
+ card: string;
577
+ } | {
578
+ commit: string;
579
+ })[] | undefined;
580
+ generated?: "auto" | "manual" | "semi" | undefined;
581
+ complexity?: "basic" | "intermediate" | "advanced" | undefined;
582
+ domain?: string | undefined;
583
+ aliases?: string[] | undefined;
584
+ }>, z.ZodObject<{
585
+ title: z.ZodString;
586
+ created: z.ZodString;
587
+ updated: z.ZodString;
588
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
589
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
590
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
591
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
592
+ path: z.ZodString;
593
+ hash: z.ZodOptional<z.ZodString>;
594
+ }, "strip", z.ZodTypeAny, {
595
+ path: string;
596
+ hash?: string | undefined;
597
+ }, {
598
+ path: string;
599
+ hash?: string | undefined;
600
+ }>, z.ZodObject<{
601
+ card: z.ZodString;
602
+ }, "strip", z.ZodTypeAny, {
603
+ card: string;
604
+ }, {
605
+ card: string;
606
+ }>, z.ZodObject<{
607
+ commit: z.ZodString;
608
+ }, "strip", z.ZodTypeAny, {
609
+ commit: string;
610
+ }, {
611
+ commit: string;
612
+ }>, z.ZodEffects<z.ZodString, {
613
+ path: string;
614
+ }, string>]>, "many">>;
615
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
616
+ } & {
617
+ type: z.ZodLiteral<"decision">;
618
+ version: z.ZodOptional<z.ZodString>;
619
+ superseded_by: z.ZodOptional<z.ZodString>;
620
+ }, "strip", z.ZodTypeAny, {
621
+ type: "decision";
622
+ title: string;
623
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
624
+ created: string;
625
+ updated: string;
626
+ tags: string[];
627
+ related: string[];
628
+ sources: ({
629
+ path: string;
630
+ hash?: string | undefined;
631
+ } | {
632
+ card: string;
633
+ } | {
634
+ commit: string;
635
+ } | {
636
+ path: string;
637
+ })[];
638
+ generated: "auto" | "manual" | "semi";
639
+ version?: string | undefined;
640
+ superseded_by?: string | undefined;
641
+ }, {
642
+ type: "decision";
643
+ title: string;
644
+ created: string;
645
+ updated: string;
646
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
647
+ tags?: string[] | undefined;
648
+ related?: string[] | undefined;
649
+ sources?: (string | {
650
+ path: string;
651
+ hash?: string | undefined;
652
+ } | {
653
+ card: string;
654
+ } | {
655
+ commit: string;
656
+ })[] | undefined;
657
+ generated?: "auto" | "manual" | "semi" | undefined;
658
+ version?: string | undefined;
659
+ superseded_by?: string | undefined;
660
+ }>, z.ZodObject<{
661
+ title: z.ZodString;
662
+ created: z.ZodString;
663
+ updated: z.ZodString;
664
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
665
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
666
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
667
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
668
+ path: z.ZodString;
669
+ hash: z.ZodOptional<z.ZodString>;
670
+ }, "strip", z.ZodTypeAny, {
671
+ path: string;
672
+ hash?: string | undefined;
673
+ }, {
674
+ path: string;
675
+ hash?: string | undefined;
676
+ }>, z.ZodObject<{
677
+ card: z.ZodString;
678
+ }, "strip", z.ZodTypeAny, {
679
+ card: string;
680
+ }, {
681
+ card: string;
682
+ }>, z.ZodObject<{
683
+ commit: z.ZodString;
684
+ }, "strip", z.ZodTypeAny, {
685
+ commit: string;
686
+ }, {
687
+ commit: string;
688
+ }>, z.ZodEffects<z.ZodString, {
689
+ path: string;
690
+ }, string>]>, "many">>;
691
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
692
+ } & {
693
+ type: z.ZodLiteral<"lesson">;
694
+ severity: z.ZodDefault<z.ZodEnum<["critical", "major", "minor"]>>;
695
+ seen_in_cards: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
696
+ }, "strip", z.ZodTypeAny, {
697
+ type: "lesson";
698
+ title: string;
699
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
700
+ created: string;
701
+ updated: string;
702
+ tags: string[];
703
+ related: string[];
704
+ sources: ({
705
+ path: string;
706
+ hash?: string | undefined;
707
+ } | {
708
+ card: string;
709
+ } | {
710
+ commit: string;
711
+ } | {
712
+ path: string;
713
+ })[];
714
+ generated: "auto" | "manual" | "semi";
715
+ severity: "critical" | "major" | "minor";
716
+ seen_in_cards?: string[] | undefined;
717
+ }, {
718
+ type: "lesson";
719
+ title: string;
720
+ created: string;
721
+ updated: string;
722
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
723
+ tags?: string[] | undefined;
724
+ related?: string[] | undefined;
725
+ sources?: (string | {
726
+ path: string;
727
+ hash?: string | undefined;
728
+ } | {
729
+ card: string;
730
+ } | {
731
+ commit: string;
732
+ })[] | undefined;
733
+ generated?: "auto" | "manual" | "semi" | undefined;
734
+ severity?: "critical" | "major" | "minor" | undefined;
735
+ seen_in_cards?: string[] | undefined;
736
+ }>, z.ZodObject<{
737
+ title: z.ZodString;
738
+ created: z.ZodString;
739
+ updated: z.ZodString;
740
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
741
+ status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
742
+ related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
743
+ sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
744
+ path: z.ZodString;
745
+ hash: z.ZodOptional<z.ZodString>;
746
+ }, "strip", z.ZodTypeAny, {
747
+ path: string;
748
+ hash?: string | undefined;
749
+ }, {
750
+ path: string;
751
+ hash?: string | undefined;
752
+ }>, z.ZodObject<{
753
+ card: z.ZodString;
754
+ }, "strip", z.ZodTypeAny, {
755
+ card: string;
756
+ }, {
757
+ card: string;
758
+ }>, z.ZodObject<{
759
+ commit: z.ZodString;
760
+ }, "strip", z.ZodTypeAny, {
761
+ commit: string;
762
+ }, {
763
+ commit: string;
764
+ }>, z.ZodEffects<z.ZodString, {
765
+ path: string;
766
+ }, string>]>, "many">>;
767
+ generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
768
+ } & {
769
+ type: z.ZodLiteral<"source">;
770
+ source_type: z.ZodDefault<z.ZodEnum<["pdf", "article", "image", "transcript", "data", "note", "unknown"]>>;
771
+ original_path: z.ZodString;
772
+ }, "strip", z.ZodTypeAny, {
773
+ type: "source";
774
+ title: string;
775
+ status: "seed" | "developing" | "mature" | "evergreen" | "stale";
776
+ created: string;
777
+ updated: string;
778
+ tags: string[];
779
+ related: string[];
780
+ sources: ({
781
+ path: string;
782
+ hash?: string | undefined;
783
+ } | {
784
+ card: string;
785
+ } | {
786
+ commit: string;
787
+ } | {
788
+ path: string;
789
+ })[];
790
+ generated: "auto" | "manual" | "semi";
791
+ source_type: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note";
792
+ original_path: string;
793
+ }, {
794
+ type: "source";
795
+ title: string;
796
+ created: string;
797
+ updated: string;
798
+ original_path: string;
799
+ status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
800
+ tags?: string[] | undefined;
801
+ related?: string[] | undefined;
802
+ sources?: (string | {
803
+ path: string;
804
+ hash?: string | undefined;
805
+ } | {
806
+ card: string;
807
+ } | {
808
+ commit: string;
809
+ })[] | undefined;
810
+ generated?: "auto" | "manual" | "semi" | undefined;
811
+ source_type?: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note" | undefined;
812
+ }>]>;
813
+ export type ModuleFrontmatter = z.infer<typeof ModuleFrontmatterSchema>;
814
+ export type ConceptFrontmatter = z.infer<typeof ConceptFrontmatterSchema>;
815
+ export type DecisionFrontmatter = z.infer<typeof DecisionFrontmatterSchema>;
816
+ export type LessonFrontmatter = z.infer<typeof LessonFrontmatterSchema>;
817
+ export type SourceFrontmatter = z.infer<typeof SourceFrontmatterSchema>;
818
+ export type Frontmatter = z.infer<typeof FrontmatterSchema>;
819
+ export interface Page {
820
+ /** Stable id: `<type>s/<title>` —— 用作 frontmatter related / 跨页引用 */
821
+ readonly pageId: string;
822
+ /** Absolute file path */
823
+ readonly filePath: string;
824
+ readonly frontmatter: Frontmatter;
825
+ /** Body markdown after frontmatter (no leading/trailing whitespace stripping besides YAML block) */
826
+ readonly body: string;
827
+ }
828
+ export declare const ManifestEntrySchema: z.ZodObject<{
829
+ /** 'code' | 'doc' | 'pdf' | 'article' | 'image' | 'transcript' | 'readme' | 'changelog' | ... */
830
+ type: z.ZodString;
831
+ /** sha256 hex (64 chars) */
832
+ sha256: z.ZodString;
833
+ /** ISO 8601 timestamp */
834
+ ingested_at: z.ZodString;
835
+ /** Page ids this source contributed to */
836
+ pages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
837
+ }, "strip", z.ZodTypeAny, {
838
+ type: string;
839
+ sha256: string;
840
+ ingested_at: string;
841
+ pages: string[];
842
+ }, {
843
+ type: string;
844
+ sha256: string;
845
+ ingested_at: string;
846
+ pages?: string[] | undefined;
847
+ }>;
848
+ export type ManifestEntry = z.infer<typeof ManifestEntrySchema>;
849
+ export declare const ManifestSchema: z.ZodObject<{
850
+ version: z.ZodLiteral<1>;
851
+ updated_at: z.ZodString;
852
+ /** Key = source path relative to repo root (e.g. "src/X.ts" or ".raw/pdfs/y.pdf") */
853
+ sources: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
854
+ /** 'code' | 'doc' | 'pdf' | 'article' | 'image' | 'transcript' | 'readme' | 'changelog' | ... */
855
+ type: z.ZodString;
856
+ /** sha256 hex (64 chars) */
857
+ sha256: z.ZodString;
858
+ /** ISO 8601 timestamp */
859
+ ingested_at: z.ZodString;
860
+ /** Page ids this source contributed to */
861
+ pages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
862
+ }, "strip", z.ZodTypeAny, {
863
+ type: string;
864
+ sha256: string;
865
+ ingested_at: string;
866
+ pages: string[];
867
+ }, {
868
+ type: string;
869
+ sha256: string;
870
+ ingested_at: string;
871
+ pages?: string[] | undefined;
872
+ }>>>;
873
+ }, "strip", z.ZodTypeAny, {
874
+ sources: Record<string, {
875
+ type: string;
876
+ sha256: string;
877
+ ingested_at: string;
878
+ pages: string[];
879
+ }>;
880
+ version: 1;
881
+ updated_at: string;
882
+ }, {
883
+ version: 1;
884
+ updated_at: string;
885
+ sources?: Record<string, {
886
+ type: string;
887
+ sha256: string;
888
+ ingested_at: string;
889
+ pages?: string[] | undefined;
890
+ }> | undefined;
891
+ }>;
892
+ export type Manifest = z.infer<typeof ManifestSchema>;
893
+ export declare const EMPTY_MANIFEST: Manifest;
894
+ export interface SourceDiff {
895
+ /** New sources (not in manifest) */
896
+ readonly added: string[];
897
+ /** Sources whose hash changed since last ingest */
898
+ readonly changed: string[];
899
+ /** Sources still in manifest but no longer in glob results */
900
+ readonly removed: string[];
901
+ /** Sources with unchanged hash */
902
+ readonly unchanged: string[];
903
+ }
904
+ //# sourceMappingURL=types.d.ts.map