@coralai/sps-cli 0.56.2 → 0.56.3

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 (82) hide show
  1. package/dist/console/routes/chat.d.ts +8 -0
  2. package/dist/console/routes/chat.d.ts.map +1 -1
  3. package/dist/console/routes/chat.js +157 -30
  4. package/dist/console/routes/chat.js.map +1 -1
  5. package/dist/main.js +0 -0
  6. package/dist/services/ChatService.d.ts +10 -0
  7. package/dist/services/ChatService.d.ts.map +1 -1
  8. package/dist/services/ChatService.js +9 -1
  9. package/dist/services/ChatService.js.map +1 -1
  10. package/package.json +1 -1
  11. package/dist/commands/wikiCommand.d.ts +0 -77
  12. package/dist/commands/wikiCommand.d.ts.map +0 -1
  13. package/dist/commands/wikiCommand.js +0 -489
  14. package/dist/commands/wikiCommand.js.map +0 -1
  15. package/dist/core/skillStore.d.ts +0 -55
  16. package/dist/core/skillStore.d.ts.map +0 -1
  17. package/dist/core/skillStore.js +0 -224
  18. package/dist/core/skillStore.js.map +0 -1
  19. package/dist/core/wiki/frontmatter.d.ts +0 -55
  20. package/dist/core/wiki/frontmatter.d.ts.map +0 -1
  21. package/dist/core/wiki/frontmatter.js +0 -109
  22. package/dist/core/wiki/frontmatter.js.map +0 -1
  23. package/dist/core/wiki/hot.d.ts +0 -27
  24. package/dist/core/wiki/hot.d.ts.map +0 -1
  25. package/dist/core/wiki/hot.js +0 -124
  26. package/dist/core/wiki/hot.js.map +0 -1
  27. package/dist/core/wiki/index-builder.d.ts +0 -37
  28. package/dist/core/wiki/index-builder.d.ts.map +0 -1
  29. package/dist/core/wiki/index-builder.js +0 -130
  30. package/dist/core/wiki/index-builder.js.map +0 -1
  31. package/dist/core/wiki/linter.d.ts +0 -76
  32. package/dist/core/wiki/linter.d.ts.map +0 -1
  33. package/dist/core/wiki/linter.js +0 -280
  34. package/dist/core/wiki/linter.js.map +0 -1
  35. package/dist/core/wiki/log.d.ts +0 -24
  36. package/dist/core/wiki/log.d.ts.map +0 -1
  37. package/dist/core/wiki/log.js +0 -107
  38. package/dist/core/wiki/log.js.map +0 -1
  39. package/dist/core/wiki/manifest.d.ts +0 -59
  40. package/dist/core/wiki/manifest.d.ts.map +0 -1
  41. package/dist/core/wiki/manifest.js +0 -180
  42. package/dist/core/wiki/manifest.js.map +0 -1
  43. package/dist/core/wiki/page.d.ts +0 -72
  44. package/dist/core/wiki/page.d.ts.map +0 -1
  45. package/dist/core/wiki/page.js +0 -221
  46. package/dist/core/wiki/page.js.map +0 -1
  47. package/dist/core/wiki/reader.d.ts +0 -102
  48. package/dist/core/wiki/reader.d.ts.map +0 -1
  49. package/dist/core/wiki/reader.js +0 -225
  50. package/dist/core/wiki/reader.js.map +0 -1
  51. package/dist/core/wiki/scaffold.d.ts +0 -42
  52. package/dist/core/wiki/scaffold.d.ts.map +0 -1
  53. package/dist/core/wiki/scaffold.js +0 -223
  54. package/dist/core/wiki/scaffold.js.map +0 -1
  55. package/dist/core/wiki/searcher.d.ts +0 -73
  56. package/dist/core/wiki/searcher.d.ts.map +0 -1
  57. package/dist/core/wiki/searcher.js +0 -216
  58. package/dist/core/wiki/searcher.js.map +0 -1
  59. package/dist/core/wiki/sources.d.ts +0 -84
  60. package/dist/core/wiki/sources.d.ts.map +0 -1
  61. package/dist/core/wiki/sources.js +0 -261
  62. package/dist/core/wiki/sources.js.map +0 -1
  63. package/dist/core/wiki/types.d.ts +0 -441
  64. package/dist/core/wiki/types.d.ts.map +0 -1
  65. package/dist/core/wiki/types.js +0 -109
  66. package/dist/core/wiki/types.js.map +0 -1
  67. package/dist/shared/wikiPaths.d.ts +0 -38
  68. package/dist/shared/wikiPaths.d.ts.map +0 -1
  69. package/dist/shared/wikiPaths.js +0 -89
  70. package/dist/shared/wikiPaths.js.map +0 -1
  71. package/project-template/.claude/CLAUDE.md +0 -66
  72. package/project-template/.claude/hooks/start.sh +0 -44
  73. package/project-template/.claude/hooks/stop.sh +0 -54
  74. package/project-template/.claude/rules/.gitkeep +0 -0
  75. package/project-template/.claude/settings.json +0 -32
  76. package/project-template/.claude/settings.local.json.template +0 -3
  77. package/project-template/.claude/skills/.gitkeep +0 -0
  78. package/project-template/README.md +0 -10
  79. package/project-template/batch_scheduler.sh +0 -8
  80. package/project-template/conf.template +0 -61
  81. package/project-template/deploy.sh +0 -3
  82. package/project-template/pm_meta/.gitkeep +0 -0
@@ -1,441 +0,0 @@
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<{
15
- decision: "decision";
16
- lesson: "lesson";
17
- module: "module";
18
- concept: "concept";
19
- source: "source";
20
- }>;
21
- export type PageType = z.infer<typeof PageTypeSchema>;
22
- export declare const StatusSchema: z.ZodEnum<{
23
- seed: "seed";
24
- developing: "developing";
25
- mature: "mature";
26
- evergreen: "evergreen";
27
- stale: "stale";
28
- }>;
29
- export type PageStatus = z.infer<typeof StatusSchema>;
30
- export declare const GeneratedSchema: z.ZodEnum<{
31
- auto: "auto";
32
- manual: "manual";
33
- semi: "semi";
34
- }>;
35
- export type Generated = z.infer<typeof GeneratedSchema>;
36
- export declare const SourceRefSchema: z.ZodUnion<readonly [z.ZodObject<{
37
- path: z.ZodString;
38
- hash: z.ZodOptional<z.ZodString>;
39
- }, z.core.$strip>, z.ZodObject<{
40
- card: z.ZodString;
41
- }, z.core.$strip>, z.ZodObject<{
42
- commit: z.ZodString;
43
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
44
- path: string;
45
- }, string>>]>;
46
- export type SourceRef = z.infer<typeof SourceRefSchema>;
47
- export declare const WikilinkSchema: z.ZodString;
48
- export type Wikilink = z.infer<typeof WikilinkSchema>;
49
- export declare const ModuleFrontmatterSchema: z.ZodObject<{
50
- title: z.ZodString;
51
- created: z.ZodString;
52
- updated: z.ZodString;
53
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
54
- status: z.ZodDefault<z.ZodEnum<{
55
- seed: "seed";
56
- developing: "developing";
57
- mature: "mature";
58
- evergreen: "evergreen";
59
- stale: "stale";
60
- }>>;
61
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
62
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
63
- path: z.ZodString;
64
- hash: z.ZodOptional<z.ZodString>;
65
- }, z.core.$strip>, z.ZodObject<{
66
- card: z.ZodString;
67
- }, z.core.$strip>, z.ZodObject<{
68
- commit: z.ZodString;
69
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
70
- path: string;
71
- }, string>>]>>>;
72
- generated: z.ZodDefault<z.ZodEnum<{
73
- auto: "auto";
74
- manual: "manual";
75
- semi: "semi";
76
- }>>;
77
- type: z.ZodLiteral<"module">;
78
- module_path: z.ZodString;
79
- }, z.core.$strip>;
80
- export declare const ConceptFrontmatterSchema: z.ZodObject<{
81
- title: z.ZodString;
82
- created: z.ZodString;
83
- updated: z.ZodString;
84
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
85
- status: z.ZodDefault<z.ZodEnum<{
86
- seed: "seed";
87
- developing: "developing";
88
- mature: "mature";
89
- evergreen: "evergreen";
90
- stale: "stale";
91
- }>>;
92
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
93
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
94
- path: z.ZodString;
95
- hash: z.ZodOptional<z.ZodString>;
96
- }, z.core.$strip>, z.ZodObject<{
97
- card: z.ZodString;
98
- }, z.core.$strip>, z.ZodObject<{
99
- commit: z.ZodString;
100
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
101
- path: string;
102
- }, string>>]>>>;
103
- generated: z.ZodDefault<z.ZodEnum<{
104
- auto: "auto";
105
- manual: "manual";
106
- semi: "semi";
107
- }>>;
108
- type: z.ZodLiteral<"concept">;
109
- complexity: z.ZodOptional<z.ZodEnum<{
110
- basic: "basic";
111
- intermediate: "intermediate";
112
- advanced: "advanced";
113
- }>>;
114
- domain: z.ZodOptional<z.ZodString>;
115
- aliases: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
116
- }, z.core.$strip>;
117
- export declare const DecisionFrontmatterSchema: z.ZodObject<{
118
- title: z.ZodString;
119
- created: z.ZodString;
120
- updated: z.ZodString;
121
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
122
- status: z.ZodDefault<z.ZodEnum<{
123
- seed: "seed";
124
- developing: "developing";
125
- mature: "mature";
126
- evergreen: "evergreen";
127
- stale: "stale";
128
- }>>;
129
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
130
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
131
- path: z.ZodString;
132
- hash: z.ZodOptional<z.ZodString>;
133
- }, z.core.$strip>, z.ZodObject<{
134
- card: z.ZodString;
135
- }, z.core.$strip>, z.ZodObject<{
136
- commit: z.ZodString;
137
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
138
- path: string;
139
- }, string>>]>>>;
140
- generated: z.ZodDefault<z.ZodEnum<{
141
- auto: "auto";
142
- manual: "manual";
143
- semi: "semi";
144
- }>>;
145
- type: z.ZodLiteral<"decision">;
146
- version: z.ZodOptional<z.ZodString>;
147
- superseded_by: z.ZodOptional<z.ZodString>;
148
- }, z.core.$strip>;
149
- export declare const LessonFrontmatterSchema: z.ZodObject<{
150
- title: z.ZodString;
151
- created: z.ZodString;
152
- updated: z.ZodString;
153
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
154
- status: z.ZodDefault<z.ZodEnum<{
155
- seed: "seed";
156
- developing: "developing";
157
- mature: "mature";
158
- evergreen: "evergreen";
159
- stale: "stale";
160
- }>>;
161
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
162
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
163
- path: z.ZodString;
164
- hash: z.ZodOptional<z.ZodString>;
165
- }, z.core.$strip>, z.ZodObject<{
166
- card: z.ZodString;
167
- }, z.core.$strip>, z.ZodObject<{
168
- commit: z.ZodString;
169
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
170
- path: string;
171
- }, string>>]>>>;
172
- generated: z.ZodDefault<z.ZodEnum<{
173
- auto: "auto";
174
- manual: "manual";
175
- semi: "semi";
176
- }>>;
177
- type: z.ZodLiteral<"lesson">;
178
- severity: z.ZodDefault<z.ZodEnum<{
179
- critical: "critical";
180
- major: "major";
181
- minor: "minor";
182
- }>>;
183
- seen_in_cards: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
184
- }, z.core.$strip>;
185
- export declare const SourceFrontmatterSchema: z.ZodObject<{
186
- title: z.ZodString;
187
- created: z.ZodString;
188
- updated: z.ZodString;
189
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
190
- status: z.ZodDefault<z.ZodEnum<{
191
- seed: "seed";
192
- developing: "developing";
193
- mature: "mature";
194
- evergreen: "evergreen";
195
- stale: "stale";
196
- }>>;
197
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
198
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
199
- path: z.ZodString;
200
- hash: z.ZodOptional<z.ZodString>;
201
- }, z.core.$strip>, z.ZodObject<{
202
- card: z.ZodString;
203
- }, z.core.$strip>, z.ZodObject<{
204
- commit: z.ZodString;
205
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
206
- path: string;
207
- }, string>>]>>>;
208
- generated: z.ZodDefault<z.ZodEnum<{
209
- auto: "auto";
210
- manual: "manual";
211
- semi: "semi";
212
- }>>;
213
- type: z.ZodLiteral<"source">;
214
- source_type: z.ZodDefault<z.ZodEnum<{
215
- unknown: "unknown";
216
- data: "data";
217
- pdf: "pdf";
218
- article: "article";
219
- image: "image";
220
- transcript: "transcript";
221
- note: "note";
222
- }>>;
223
- original_path: z.ZodString;
224
- }, z.core.$strip>;
225
- export declare const FrontmatterSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
226
- title: z.ZodString;
227
- created: z.ZodString;
228
- updated: z.ZodString;
229
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
230
- status: z.ZodDefault<z.ZodEnum<{
231
- seed: "seed";
232
- developing: "developing";
233
- mature: "mature";
234
- evergreen: "evergreen";
235
- stale: "stale";
236
- }>>;
237
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
238
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
239
- path: z.ZodString;
240
- hash: z.ZodOptional<z.ZodString>;
241
- }, z.core.$strip>, z.ZodObject<{
242
- card: z.ZodString;
243
- }, z.core.$strip>, z.ZodObject<{
244
- commit: z.ZodString;
245
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
246
- path: string;
247
- }, string>>]>>>;
248
- generated: z.ZodDefault<z.ZodEnum<{
249
- auto: "auto";
250
- manual: "manual";
251
- semi: "semi";
252
- }>>;
253
- type: z.ZodLiteral<"module">;
254
- module_path: z.ZodString;
255
- }, z.core.$strip>, z.ZodObject<{
256
- title: z.ZodString;
257
- created: z.ZodString;
258
- updated: z.ZodString;
259
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
260
- status: z.ZodDefault<z.ZodEnum<{
261
- seed: "seed";
262
- developing: "developing";
263
- mature: "mature";
264
- evergreen: "evergreen";
265
- stale: "stale";
266
- }>>;
267
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
268
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
269
- path: z.ZodString;
270
- hash: z.ZodOptional<z.ZodString>;
271
- }, z.core.$strip>, z.ZodObject<{
272
- card: z.ZodString;
273
- }, z.core.$strip>, z.ZodObject<{
274
- commit: z.ZodString;
275
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
276
- path: string;
277
- }, string>>]>>>;
278
- generated: z.ZodDefault<z.ZodEnum<{
279
- auto: "auto";
280
- manual: "manual";
281
- semi: "semi";
282
- }>>;
283
- type: z.ZodLiteral<"concept">;
284
- complexity: z.ZodOptional<z.ZodEnum<{
285
- basic: "basic";
286
- intermediate: "intermediate";
287
- advanced: "advanced";
288
- }>>;
289
- domain: z.ZodOptional<z.ZodString>;
290
- aliases: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
291
- }, z.core.$strip>, z.ZodObject<{
292
- title: z.ZodString;
293
- created: z.ZodString;
294
- updated: z.ZodString;
295
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
296
- status: z.ZodDefault<z.ZodEnum<{
297
- seed: "seed";
298
- developing: "developing";
299
- mature: "mature";
300
- evergreen: "evergreen";
301
- stale: "stale";
302
- }>>;
303
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
304
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
305
- path: z.ZodString;
306
- hash: z.ZodOptional<z.ZodString>;
307
- }, z.core.$strip>, z.ZodObject<{
308
- card: z.ZodString;
309
- }, z.core.$strip>, z.ZodObject<{
310
- commit: z.ZodString;
311
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
312
- path: string;
313
- }, string>>]>>>;
314
- generated: z.ZodDefault<z.ZodEnum<{
315
- auto: "auto";
316
- manual: "manual";
317
- semi: "semi";
318
- }>>;
319
- type: z.ZodLiteral<"decision">;
320
- version: z.ZodOptional<z.ZodString>;
321
- superseded_by: z.ZodOptional<z.ZodString>;
322
- }, z.core.$strip>, z.ZodObject<{
323
- title: z.ZodString;
324
- created: z.ZodString;
325
- updated: z.ZodString;
326
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
327
- status: z.ZodDefault<z.ZodEnum<{
328
- seed: "seed";
329
- developing: "developing";
330
- mature: "mature";
331
- evergreen: "evergreen";
332
- stale: "stale";
333
- }>>;
334
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
335
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
336
- path: z.ZodString;
337
- hash: z.ZodOptional<z.ZodString>;
338
- }, z.core.$strip>, z.ZodObject<{
339
- card: z.ZodString;
340
- }, z.core.$strip>, z.ZodObject<{
341
- commit: z.ZodString;
342
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
343
- path: string;
344
- }, string>>]>>>;
345
- generated: z.ZodDefault<z.ZodEnum<{
346
- auto: "auto";
347
- manual: "manual";
348
- semi: "semi";
349
- }>>;
350
- type: z.ZodLiteral<"lesson">;
351
- severity: z.ZodDefault<z.ZodEnum<{
352
- critical: "critical";
353
- major: "major";
354
- minor: "minor";
355
- }>>;
356
- seen_in_cards: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
357
- }, z.core.$strip>, z.ZodObject<{
358
- title: z.ZodString;
359
- created: z.ZodString;
360
- updated: z.ZodString;
361
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
362
- status: z.ZodDefault<z.ZodEnum<{
363
- seed: "seed";
364
- developing: "developing";
365
- mature: "mature";
366
- evergreen: "evergreen";
367
- stale: "stale";
368
- }>>;
369
- related: z.ZodDefault<z.ZodArray<z.ZodString>>;
370
- sources: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
371
- path: z.ZodString;
372
- hash: z.ZodOptional<z.ZodString>;
373
- }, z.core.$strip>, z.ZodObject<{
374
- card: z.ZodString;
375
- }, z.core.$strip>, z.ZodObject<{
376
- commit: z.ZodString;
377
- }, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
378
- path: string;
379
- }, string>>]>>>;
380
- generated: z.ZodDefault<z.ZodEnum<{
381
- auto: "auto";
382
- manual: "manual";
383
- semi: "semi";
384
- }>>;
385
- type: z.ZodLiteral<"source">;
386
- source_type: z.ZodDefault<z.ZodEnum<{
387
- unknown: "unknown";
388
- data: "data";
389
- pdf: "pdf";
390
- article: "article";
391
- image: "image";
392
- transcript: "transcript";
393
- note: "note";
394
- }>>;
395
- original_path: z.ZodString;
396
- }, z.core.$strip>], "type">;
397
- export type ModuleFrontmatter = z.infer<typeof ModuleFrontmatterSchema>;
398
- export type ConceptFrontmatter = z.infer<typeof ConceptFrontmatterSchema>;
399
- export type DecisionFrontmatter = z.infer<typeof DecisionFrontmatterSchema>;
400
- export type LessonFrontmatter = z.infer<typeof LessonFrontmatterSchema>;
401
- export type SourceFrontmatter = z.infer<typeof SourceFrontmatterSchema>;
402
- export type Frontmatter = z.infer<typeof FrontmatterSchema>;
403
- export interface Page {
404
- /** Stable id: `<type>s/<title>` —— 用作 frontmatter related / 跨页引用 */
405
- readonly pageId: string;
406
- /** Absolute file path */
407
- readonly filePath: string;
408
- readonly frontmatter: Frontmatter;
409
- /** Body markdown after frontmatter (no leading/trailing whitespace stripping besides YAML block) */
410
- readonly body: string;
411
- }
412
- export declare const ManifestEntrySchema: z.ZodObject<{
413
- type: z.ZodString;
414
- sha256: z.ZodString;
415
- ingested_at: z.ZodString;
416
- pages: z.ZodDefault<z.ZodArray<z.ZodString>>;
417
- }, z.core.$strip>;
418
- export type ManifestEntry = z.infer<typeof ManifestEntrySchema>;
419
- export declare const ManifestSchema: z.ZodObject<{
420
- version: z.ZodLiteral<1>;
421
- updated_at: z.ZodString;
422
- sources: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
423
- type: z.ZodString;
424
- sha256: z.ZodString;
425
- ingested_at: z.ZodString;
426
- pages: z.ZodDefault<z.ZodArray<z.ZodString>>;
427
- }, z.core.$strip>>>;
428
- }, z.core.$strip>;
429
- export type Manifest = z.infer<typeof ManifestSchema>;
430
- export declare const EMPTY_MANIFEST: Manifest;
431
- export interface SourceDiff {
432
- /** New sources (not in manifest) */
433
- readonly added: string[];
434
- /** Sources whose hash changed since last ingest */
435
- readonly changed: string[];
436
- /** Sources still in manifest but no longer in glob results */
437
- readonly removed: string[];
438
- /** Sources with unchanged hash */
439
- readonly unchanged: string[];
440
- }
441
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/wiki/types.ts"],"names":[],"mappings":"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"}
@@ -1,109 +0,0 @@
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
- // ─── Page type enum ───────────────────────────────────────────────
15
- export const PageTypeSchema = z.enum(['module', 'concept', 'decision', 'lesson', 'source']);
16
- // ─── Status enum ──────────────────────────────────────────────────
17
- export const StatusSchema = z.enum(['seed', 'developing', 'mature', 'evergreen', 'stale']);
18
- // ─── Generated marker ─────────────────────────────────────────────
19
- export const GeneratedSchema = z.enum(['auto', 'manual', 'semi']);
20
- // ─── ISO date helpers ─────────────────────────────────────────────
21
- const IsoDateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'expected YYYY-MM-DD');
22
- // ─── Source reference (frontmatter sources 字段) ───────────────────
23
- //
24
- // 三种形态(discriminated by which field is present):
25
- // { path: 'src/X.ts', hash: '...' } 项目原生文件
26
- // { card: '17' } SPS 卡片溯源
27
- // { commit: 'abcd123' } git commit 溯源
28
- //
29
- // 注意:YAML 输出可能是字符串(如 ".raw/x.md")也可能是对象。解析时归一化。
30
- export const SourceRefSchema = z.union([
31
- z.object({ path: z.string(), hash: z.string().optional() }),
32
- z.object({ card: z.string() }),
33
- z.object({ commit: z.string() }),
34
- // 简写:纯字符串路径
35
- z.string().transform((s) => ({ path: s })),
36
- ]);
37
- // ─── Wikilink string format: "[[Page Name]]" or "[[type/Page Name]]" ───
38
- export const WikilinkSchema = z
39
- .string()
40
- .regex(/^\[\[[^[\]]+\]\]$/, 'expected [[Page Name]] wikilink format');
41
- // ─── Base frontmatter (all page types share) ─────────────────────
42
- const BaseFrontmatterSchema = z.object({
43
- title: z.string().min(1),
44
- created: IsoDateSchema,
45
- updated: IsoDateSchema,
46
- tags: z.array(z.string()).default([]),
47
- status: StatusSchema.default('developing'),
48
- related: z.array(WikilinkSchema).default([]),
49
- sources: z.array(SourceRefSchema).default([]),
50
- generated: GeneratedSchema.default('manual'),
51
- });
52
- // ─── Type-specific frontmatter ────────────────────────────────────
53
- export const ModuleFrontmatterSchema = BaseFrontmatterSchema.extend({
54
- type: z.literal('module'),
55
- module_path: z.string().min(1).describe('Source file path relative to repo root'),
56
- });
57
- export const ConceptFrontmatterSchema = BaseFrontmatterSchema.extend({
58
- type: z.literal('concept'),
59
- complexity: z.enum(['basic', 'intermediate', 'advanced']).optional(),
60
- domain: z.string().optional(),
61
- aliases: z.array(z.string()).default([]).optional(),
62
- });
63
- export const DecisionFrontmatterSchema = BaseFrontmatterSchema.extend({
64
- type: z.literal('decision'),
65
- version: z.string().optional().describe('e.g. v0.51.0'),
66
- superseded_by: WikilinkSchema.optional(),
67
- });
68
- export const LessonFrontmatterSchema = BaseFrontmatterSchema.extend({
69
- type: z.literal('lesson'),
70
- severity: z.enum(['critical', 'major', 'minor']).default('major'),
71
- seen_in_cards: z.array(z.string()).default([]).optional(),
72
- });
73
- export const SourceFrontmatterSchema = BaseFrontmatterSchema.extend({
74
- type: z.literal('source'),
75
- source_type: z
76
- .enum(['pdf', 'article', 'image', 'transcript', 'data', 'note', 'unknown'])
77
- .default('unknown'),
78
- original_path: z.string().min(1),
79
- });
80
- export const FrontmatterSchema = z.discriminatedUnion('type', [
81
- ModuleFrontmatterSchema,
82
- ConceptFrontmatterSchema,
83
- DecisionFrontmatterSchema,
84
- LessonFrontmatterSchema,
85
- SourceFrontmatterSchema,
86
- ]);
87
- // ─── Manifest (.manifest.json) ────────────────────────────────────
88
- export const ManifestEntrySchema = z.object({
89
- /** 'code' | 'doc' | 'pdf' | 'article' | 'image' | 'transcript' | 'readme' | 'changelog' | ... */
90
- type: z.string().min(1),
91
- /** sha256 hex (64 chars) */
92
- sha256: z.string().regex(/^[0-9a-f]{64}$/, 'expected sha256 hex'),
93
- /** ISO 8601 timestamp */
94
- ingested_at: z.string(),
95
- /** Page ids this source contributed to */
96
- pages: z.array(z.string()).default([]),
97
- });
98
- export const ManifestSchema = z.object({
99
- version: z.literal(1),
100
- updated_at: z.string(),
101
- /** Key = source path relative to repo root (e.g. "src/X.ts" or ".raw/pdfs/y.pdf") */
102
- sources: z.record(z.string(), ManifestEntrySchema).default({}),
103
- });
104
- export const EMPTY_MANIFEST = {
105
- version: 1,
106
- updated_at: '1970-01-01T00:00:00Z',
107
- sources: {},
108
- };
109
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/wiki/types.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- export type WikiPageType = 'module' | 'concept' | 'decision' | 'lesson' | 'source';
2
- /** `<repo>/wiki/` —— Wiki vault 根目录。Obsidian Open folder 指向这里。 */
3
- export declare function wikiDir(repoDir: string): string;
4
- /** `<repo>/wiki/WIKI.md` —— schema + sources 配置 */
5
- export declare function wikiMetaFile(repoDir: string): string;
6
- /** `<repo>/wiki/index.md` —— 全部 page 的 catalog */
7
- export declare function wikiIndexFile(repoDir: string): string;
8
- /** `<repo>/wiki/overview.md` —— 项目执行摘要 */
9
- export declare function wikiOverviewFile(repoDir: string): string;
10
- /** `<repo>/wiki/.hot.md` —— ~500 字最近上下文(gitignored) */
11
- export declare function wikiHotFile(repoDir: string): string;
12
- /** `<repo>/wiki/.log.md` —— 操作时间序列(gitignored) */
13
- export declare function wikiLogFile(repoDir: string): string;
14
- /** `<repo>/wiki/.manifest.json` —— 源 hash 跟踪表(gitignored) */
15
- export declare function wikiManifestFile(repoDir: string): string;
16
- /** `<repo>/wiki/.raw/` —— 用户外部添加的源材料(committed by default) */
17
- export declare function wikiRawDir(repoDir: string): string;
18
- /** `<repo>/wiki/_attachments/` —— 嵌入图片(committed) */
19
- export declare function wikiAttachmentsDir(repoDir: string): string;
20
- /**
21
- * `<repo>/wiki/<type>s/` —— 特定类型 page 目录。
22
- * 名约定:复数后缀(modules/, concepts/, decisions/, lessons/, sources/)。
23
- */
24
- export declare function wikiPageDir(repoDir: string, type: WikiPageType): string;
25
- /** `<repo>/wiki/<type>s/<title>.md` —— 单页文件路径 */
26
- export declare function wikiPageFile(repoDir: string, type: WikiPageType, title: string): string;
27
- /** Page id 格式:`<type>s/<title>`(不含 .md)。用作 frontmatter related / sources 字段 */
28
- export declare function wikiPageId(type: WikiPageType, title: string): string;
29
- /**
30
- * 从绝对路径反推 (type, title) —— 用于 listing 时把文件名解析回 page 标识。
31
- * 只接受 wikiDir 子路径,否则返 null。
32
- */
33
- export declare function parseWikiPageId(repoDir: string, filePath: string): {
34
- type: WikiPageType;
35
- title: string;
36
- pageId: string;
37
- } | null;
38
- //# sourceMappingURL=wikiPaths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wikiPaths.d.ts","sourceRoot":"","sources":["../../src/shared/wikiPaths.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnF,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAEvE;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe9D"}