codesift-mcp 0.5.21 → 0.5.27

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 (217) hide show
  1. package/README.md +9 -9
  2. package/dist/cli/commands.d.ts.map +1 -1
  3. package/dist/cli/commands.js +28 -0
  4. package/dist/cli/commands.js.map +1 -1
  5. package/dist/cli/help.js +1 -1
  6. package/dist/cli/help.js.map +1 -1
  7. package/dist/cli/hooks.d.ts +4 -0
  8. package/dist/cli/hooks.d.ts.map +1 -1
  9. package/dist/cli/hooks.js +15 -4
  10. package/dist/cli/hooks.js.map +1 -1
  11. package/dist/cli/journal-commands.d.ts +9 -0
  12. package/dist/cli/journal-commands.d.ts.map +1 -0
  13. package/dist/cli/journal-commands.js +160 -0
  14. package/dist/cli/journal-commands.js.map +1 -0
  15. package/dist/cli/wiki-commands.d.ts.map +1 -1
  16. package/dist/cli/wiki-commands.js +5 -0
  17. package/dist/cli/wiki-commands.js.map +1 -1
  18. package/dist/instructions.d.ts +1 -1
  19. package/dist/instructions.d.ts.map +1 -1
  20. package/dist/instructions.js +41 -47
  21. package/dist/instructions.js.map +1 -1
  22. package/dist/parser/extractors/_shared.d.ts +2 -0
  23. package/dist/parser/extractors/_shared.d.ts.map +1 -1
  24. package/dist/parser/extractors/_shared.js +4 -0
  25. package/dist/parser/extractors/_shared.js.map +1 -1
  26. package/dist/parser/extractors/typescript.d.ts.map +1 -1
  27. package/dist/parser/extractors/typescript.js +606 -31
  28. package/dist/parser/extractors/typescript.js.map +1 -1
  29. package/dist/parser/parse-worker.d.ts +2 -0
  30. package/dist/parser/parse-worker.d.ts.map +1 -0
  31. package/dist/parser/parse-worker.js +47 -0
  32. package/dist/parser/parse-worker.js.map +1 -0
  33. package/dist/parser/parser-manager.d.ts +10 -1
  34. package/dist/parser/parser-manager.d.ts.map +1 -1
  35. package/dist/parser/parser-manager.js +40 -2
  36. package/dist/parser/parser-manager.js.map +1 -1
  37. package/dist/parser/parser-pool.d.ts +31 -0
  38. package/dist/parser/parser-pool.d.ts.map +1 -0
  39. package/dist/parser/parser-pool.js +211 -0
  40. package/dist/parser/parser-pool.js.map +1 -0
  41. package/dist/register-tools.d.ts.map +1 -1
  42. package/dist/register-tools.js +394 -35
  43. package/dist/register-tools.js.map +1 -1
  44. package/dist/retrieval/codebase-retrieval.d.ts.map +1 -1
  45. package/dist/retrieval/codebase-retrieval.js +9 -1
  46. package/dist/retrieval/codebase-retrieval.js.map +1 -1
  47. package/dist/search/chunker.d.ts +1 -0
  48. package/dist/search/chunker.d.ts.map +1 -1
  49. package/dist/search/chunker.js +8 -1
  50. package/dist/search/chunker.js.map +1 -1
  51. package/dist/server-helpers.d.ts +27 -0
  52. package/dist/server-helpers.d.ts.map +1 -1
  53. package/dist/server-helpers.js +90 -9
  54. package/dist/server-helpers.js.map +1 -1
  55. package/dist/server.js +31 -0
  56. package/dist/server.js.map +1 -1
  57. package/dist/storage/index-store.d.ts +41 -4
  58. package/dist/storage/index-store.d.ts.map +1 -1
  59. package/dist/storage/index-store.js +89 -6
  60. package/dist/storage/index-store.js.map +1 -1
  61. package/dist/storage/watcher.d.ts +33 -6
  62. package/dist/storage/watcher.d.ts.map +1 -1
  63. package/dist/storage/watcher.js +73 -34
  64. package/dist/storage/watcher.js.map +1 -1
  65. package/dist/storage/workspace-resolver.d.ts +15 -0
  66. package/dist/storage/workspace-resolver.d.ts.map +1 -0
  67. package/dist/storage/workspace-resolver.js +130 -0
  68. package/dist/storage/workspace-resolver.js.map +1 -0
  69. package/dist/tools/_helpers.d.ts +37 -0
  70. package/dist/tools/_helpers.d.ts.map +1 -0
  71. package/dist/tools/_helpers.js +31 -0
  72. package/dist/tools/_helpers.js.map +1 -0
  73. package/dist/tools/constant-resolution-tools.d.ts +8 -0
  74. package/dist/tools/constant-resolution-tools.d.ts.map +1 -0
  75. package/dist/tools/constant-resolution-tools.js +68 -0
  76. package/dist/tools/constant-resolution-tools.js.map +1 -0
  77. package/dist/tools/graph-tools.d.ts +27 -5
  78. package/dist/tools/graph-tools.d.ts.map +1 -1
  79. package/dist/tools/graph-tools.js +141 -18
  80. package/dist/tools/graph-tools.js.map +1 -1
  81. package/dist/tools/hotspot-tools.d.ts +6 -0
  82. package/dist/tools/hotspot-tools.d.ts.map +1 -1
  83. package/dist/tools/hotspot-tools.js +48 -8
  84. package/dist/tools/hotspot-tools.js.map +1 -1
  85. package/dist/tools/impact-tools.d.ts.map +1 -1
  86. package/dist/tools/impact-tools.js +9 -2
  87. package/dist/tools/impact-tools.js.map +1 -1
  88. package/dist/tools/index-tools.d.ts +15 -1
  89. package/dist/tools/index-tools.d.ts.map +1 -1
  90. package/dist/tools/index-tools.js +161 -16
  91. package/dist/tools/index-tools.js.map +1 -1
  92. package/dist/tools/journal-generator-helpers.d.ts +55 -0
  93. package/dist/tools/journal-generator-helpers.d.ts.map +1 -0
  94. package/dist/tools/journal-generator-helpers.js +250 -0
  95. package/dist/tools/journal-generator-helpers.js.map +1 -0
  96. package/dist/tools/journal-generator.d.ts +48 -0
  97. package/dist/tools/journal-generator.d.ts.map +1 -0
  98. package/dist/tools/journal-generator.js +204 -0
  99. package/dist/tools/journal-generator.js.map +1 -0
  100. package/dist/tools/journal-git-client.d.ts +20 -0
  101. package/dist/tools/journal-git-client.d.ts.map +1 -0
  102. package/dist/tools/journal-git-client.js +57 -0
  103. package/dist/tools/journal-git-client.js.map +1 -0
  104. package/dist/tools/journal-llm-client.d.ts +57 -0
  105. package/dist/tools/journal-llm-client.d.ts.map +1 -0
  106. package/dist/tools/journal-llm-client.js +175 -0
  107. package/dist/tools/journal-llm-client.js.map +1 -0
  108. package/dist/tools/journal-migrator.d.ts +22 -0
  109. package/dist/tools/journal-migrator.d.ts.map +1 -0
  110. package/dist/tools/journal-migrator.js +183 -0
  111. package/dist/tools/journal-migrator.js.map +1 -0
  112. package/dist/tools/journal-phase-detector.d.ts +26 -0
  113. package/dist/tools/journal-phase-detector.d.ts.map +1 -0
  114. package/dist/tools/journal-phase-detector.js +126 -0
  115. package/dist/tools/journal-phase-detector.js.map +1 -0
  116. package/dist/tools/journal-sentinel.d.ts +15 -0
  117. package/dist/tools/journal-sentinel.d.ts.map +1 -0
  118. package/dist/tools/journal-sentinel.js +110 -0
  119. package/dist/tools/journal-sentinel.js.map +1 -0
  120. package/dist/tools/journal-templates.d.ts +28 -0
  121. package/dist/tools/journal-templates.d.ts.map +1 -0
  122. package/dist/tools/journal-templates.js +93 -0
  123. package/dist/tools/journal-templates.js.map +1 -0
  124. package/dist/tools/pattern-tools.d.ts +2 -0
  125. package/dist/tools/pattern-tools.d.ts.map +1 -1
  126. package/dist/tools/pattern-tools.js +73 -0
  127. package/dist/tools/pattern-tools.js.map +1 -1
  128. package/dist/tools/perf-tools.d.ts.map +1 -1
  129. package/dist/tools/perf-tools.js +6 -0
  130. package/dist/tools/perf-tools.js.map +1 -1
  131. package/dist/tools/plan-turn-tools.d.ts.map +1 -1
  132. package/dist/tools/plan-turn-tools.js +38 -2
  133. package/dist/tools/plan-turn-tools.js.map +1 -1
  134. package/dist/tools/project-tools.d.ts +6 -0
  135. package/dist/tools/project-tools.d.ts.map +1 -1
  136. package/dist/tools/project-tools.js +65 -25
  137. package/dist/tools/project-tools.js.map +1 -1
  138. package/dist/tools/python-constants-tools.d.ts +6 -0
  139. package/dist/tools/python-constants-tools.d.ts.map +1 -1
  140. package/dist/tools/python-constants-tools.js.map +1 -1
  141. package/dist/tools/react-tools.d.ts +44 -1
  142. package/dist/tools/react-tools.d.ts.map +1 -1
  143. package/dist/tools/react-tools.js +142 -9
  144. package/dist/tools/react-tools.js.map +1 -1
  145. package/dist/tools/search-tools.d.ts.map +1 -1
  146. package/dist/tools/search-tools.js +21 -2
  147. package/dist/tools/search-tools.js.map +1 -1
  148. package/dist/tools/status-tools.d.ts +10 -0
  149. package/dist/tools/status-tools.d.ts.map +1 -1
  150. package/dist/tools/status-tools.js +53 -2
  151. package/dist/tools/status-tools.js.map +1 -1
  152. package/dist/tools/symbol-tools.d.ts +13 -0
  153. package/dist/tools/symbol-tools.d.ts.map +1 -1
  154. package/dist/tools/symbol-tools.js +38 -0
  155. package/dist/tools/symbol-tools.js.map +1 -1
  156. package/dist/tools/typescript-constants-tools.d.ts +6 -0
  157. package/dist/tools/typescript-constants-tools.d.ts.map +1 -0
  158. package/dist/tools/typescript-constants-tools.js +687 -0
  159. package/dist/tools/typescript-constants-tools.js.map +1 -0
  160. package/dist/tools/wiki-hub-ranker.d.ts +36 -0
  161. package/dist/tools/wiki-hub-ranker.d.ts.map +1 -0
  162. package/dist/tools/wiki-hub-ranker.js +72 -0
  163. package/dist/tools/wiki-hub-ranker.js.map +1 -0
  164. package/dist/tools/wiki-lint.d.ts +7 -2
  165. package/dist/tools/wiki-lint.d.ts.map +1 -1
  166. package/dist/tools/wiki-lint.js +73 -1
  167. package/dist/tools/wiki-lint.js.map +1 -1
  168. package/dist/tools/wiki-manifest.d.ts +129 -21
  169. package/dist/tools/wiki-manifest.d.ts.map +1 -1
  170. package/dist/tools/wiki-manifest.js +16 -9
  171. package/dist/tools/wiki-manifest.js.map +1 -1
  172. package/dist/tools/wiki-module-builder.d.ts +42 -0
  173. package/dist/tools/wiki-module-builder.d.ts.map +1 -0
  174. package/dist/tools/wiki-module-builder.js +449 -0
  175. package/dist/tools/wiki-module-builder.js.map +1 -0
  176. package/dist/tools/wiki-overview-sources.d.ts +26 -0
  177. package/dist/tools/wiki-overview-sources.d.ts.map +1 -0
  178. package/dist/tools/wiki-overview-sources.js +128 -0
  179. package/dist/tools/wiki-overview-sources.js.map +1 -0
  180. package/dist/tools/wiki-page-generators.d.ts +19 -3
  181. package/dist/tools/wiki-page-generators.d.ts.map +1 -1
  182. package/dist/tools/wiki-page-generators.js +156 -22
  183. package/dist/tools/wiki-page-generators.js.map +1 -1
  184. package/dist/tools/wiki-tools.d.ts +20 -0
  185. package/dist/tools/wiki-tools.d.ts.map +1 -1
  186. package/dist/tools/wiki-tools.js +181 -29
  187. package/dist/tools/wiki-tools.js.map +1 -1
  188. package/dist/tools/workspace-scope-helper.d.ts +21 -0
  189. package/dist/tools/workspace-scope-helper.d.ts.map +1 -0
  190. package/dist/tools/workspace-scope-helper.js +50 -0
  191. package/dist/tools/workspace-scope-helper.js.map +1 -0
  192. package/dist/tools/workspace-tools.d.ts +74 -0
  193. package/dist/tools/workspace-tools.d.ts.map +1 -0
  194. package/dist/tools/workspace-tools.js +366 -0
  195. package/dist/tools/workspace-tools.js.map +1 -0
  196. package/dist/types.d.ts +65 -0
  197. package/dist/types.d.ts.map +1 -1
  198. package/dist/utils/import-graph.d.ts +27 -0
  199. package/dist/utils/import-graph.d.ts.map +1 -1
  200. package/dist/utils/import-graph.js +331 -8
  201. package/dist/utils/import-graph.js.map +1 -1
  202. package/dist/utils/ts-imports.d.ts +30 -0
  203. package/dist/utils/ts-imports.d.ts.map +1 -0
  204. package/dist/utils/ts-imports.js +168 -0
  205. package/dist/utils/ts-imports.js.map +1 -0
  206. package/dist/utils/tsconfig-paths.d.ts +59 -0
  207. package/dist/utils/tsconfig-paths.d.ts.map +1 -0
  208. package/dist/utils/tsconfig-paths.js +176 -0
  209. package/dist/utils/tsconfig-paths.js.map +1 -0
  210. package/dist/utils/walk.d.ts.map +1 -1
  211. package/dist/utils/walk.js +1 -0
  212. package/dist/utils/walk.js.map +1 -1
  213. package/package.json +13 -3
  214. package/rules/codesift.md +19 -2
  215. package/rules/codesift.mdc +2 -2
  216. package/rules/codex.md +13 -2
  217. package/rules/gemini.md +13 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-constants-tools.js","sourceRoot":"","sources":["../../src/tools/typescript-constants-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Wiki hub ranker — ranks symbols by file-level PageRank with a builtin-name
3
+ * blocklist gate to keep JS/TS prototype methods out of the hub list when
4
+ * they accidentally collide with project symbols defined in low-importance
5
+ * files. See spec D4 (Layer 2 + Layer 3).
6
+ */
7
+ import type { ImportEdge } from "../utils/import-graph.js";
8
+ import type { HubSymbol } from "./wiki-page-generators.js";
9
+ export interface RankedHubSymbol extends HubSymbol {
10
+ pagerank: number;
11
+ file_rank: number;
12
+ }
13
+ export interface RankHubsResult {
14
+ hubs: RankedHubSymbol[];
15
+ degraded_reason?: string;
16
+ }
17
+ interface HubCandidate {
18
+ name: string;
19
+ file: string;
20
+ role: string;
21
+ callers: number;
22
+ callees: number;
23
+ }
24
+ /** Rank hubs by file-level PageRank, filtering builtin method names that
25
+ * only survive on low-importance files. */
26
+ export declare function rankHubsByPageRank(edges: ImportEdge[], candidates: HubCandidate[], options?: {
27
+ topK?: number;
28
+ minFileRank?: number;
29
+ }): RankHubsResult;
30
+ /** JavaScript / TypeScript prototype method names frequently appearing as
31
+ * fake callers when extractCallSites misclassifies `obj.method(...)` as a
32
+ * call to a bare project function. Used to filter hubs whose defining file
33
+ * is not structurally important (PageRank file_rank > 20). */
34
+ export declare const JS_BUILTIN_METHOD_NAMES: ReadonlySet<string>;
35
+ export {};
36
+ //# sourceMappingURL=wiki-hub-ranker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-hub-ranker.d.ts","sourceRoot":"","sources":["../../src/tools/wiki-hub-ranker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;4CAC4C;AAC5C,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,cAAc,CAsChB;AAED;;;+DAG+D;AAC/D,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAsBtD,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { buildFilePageRank } from "../utils/import-graph.js";
2
+ /** Rank hubs by file-level PageRank, filtering builtin method names that
3
+ * only survive on low-importance files. */
4
+ export function rankHubsByPageRank(edges, candidates, options) {
5
+ const topK = options?.topK ?? 30;
6
+ if (edges.length === 0) {
7
+ return { hubs: [], degraded_reason: "import_graph_empty" };
8
+ }
9
+ let scores;
10
+ try {
11
+ scores = buildFilePageRank(edges);
12
+ }
13
+ catch {
14
+ return { hubs: [], degraded_reason: "pagerank_unavailable" };
15
+ }
16
+ if (scores.size === 0) {
17
+ return { hubs: [], degraded_reason: "pagerank_unavailable" };
18
+ }
19
+ const sortedFiles = [...scores.entries()].sort((a, b) => b[1] - a[1]);
20
+ const fileRank = new Map();
21
+ sortedFiles.forEach(([file], idx) => fileRank.set(file, idx + 1));
22
+ const hubs = [];
23
+ for (const c of candidates) {
24
+ const rank = fileRank.get(c.file);
25
+ if (rank === undefined)
26
+ continue;
27
+ const pr = scores.get(c.file) ?? 0;
28
+ // Blocklist gate (D4 Layer 3): drop builtin names whose file isn't
29
+ // structurally important (file_rank > 20).
30
+ if (JS_BUILTIN_METHOD_NAMES.has(c.name) && rank > 20)
31
+ continue;
32
+ hubs.push({
33
+ name: c.name,
34
+ file: c.file,
35
+ role: c.role,
36
+ callers: c.callers,
37
+ callees: c.callees,
38
+ pagerank: pr,
39
+ file_rank: rank,
40
+ });
41
+ }
42
+ hubs.sort((a, b) => (b.pagerank - a.pagerank) || (b.callers - a.callers));
43
+ return { hubs: hubs.slice(0, topK) };
44
+ }
45
+ /** JavaScript / TypeScript prototype method names frequently appearing as
46
+ * fake callers when extractCallSites misclassifies `obj.method(...)` as a
47
+ * call to a bare project function. Used to filter hubs whose defining file
48
+ * is not structurally important (PageRank file_rank > 20). */
49
+ export const JS_BUILTIN_METHOD_NAMES = new Set([
50
+ // Array.prototype
51
+ "map", "filter", "reduce", "reduceRight", "forEach", "find", "findIndex",
52
+ "findLast", "findLastIndex", "some", "every", "includes", "indexOf",
53
+ "lastIndexOf", "slice", "splice", "concat", "join", "push", "pop",
54
+ "shift", "unshift", "sort", "reverse", "flat", "flatMap", "fill",
55
+ "copyWithin", "entries", "keys", "values", "at",
56
+ // String.prototype (subset)
57
+ "trim", "trimStart", "trimEnd", "split", "replace", "replaceAll",
58
+ "substring", "substr", "startsWith", "endsWith", "padStart", "padEnd",
59
+ "repeat", "normalize", "toLowerCase", "toUpperCase", "charAt", "charCodeAt",
60
+ "codePointAt",
61
+ // Object.prototype / Object methods commonly reached via .x()
62
+ "toString", "valueOf", "hasOwnProperty", "isPrototypeOf",
63
+ // Number/Date common methods
64
+ "now", "parse", "getTime", "getDate", "getMonth", "getFullYear",
65
+ "toFixed", "toPrecision", "toISOString", "toJSON",
66
+ // Promise / Map / Set
67
+ "then", "catch", "finally", "get", "set", "has", "delete", "add", "clear",
68
+ "size",
69
+ // Misc common short names that frequently appear as .x() callsites
70
+ "bind", "call", "apply", "flat",
71
+ ]);
72
+ //# sourceMappingURL=wiki-hub-ranker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-hub-ranker.js","sourceRoot":"","sources":["../../src/tools/wiki-hub-ranker.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
1
  export interface LintIssue {
2
- type: "broken-link" | "orphan-page" | "stale-hash";
2
+ type: "broken-link" | "orphan-page" | "stale-hash" | "sentinel-integrity" | "citation-ungrounded" | "journal-hash-drift";
3
3
  severity: "error" | "warning";
4
4
  source?: string;
5
5
  target?: string;
6
+ line?: number;
6
7
  message: string;
7
8
  }
8
9
  export interface LintResult {
9
10
  issues: LintIssue[];
10
11
  warnings: LintIssue[];
11
12
  }
12
- export declare function lintWiki(wikiDir: string, currentIndexHash?: string): Promise<LintResult>;
13
+ export interface LintOptions {
14
+ strict?: boolean;
15
+ citationThreshold?: number;
16
+ }
17
+ export declare function lintWiki(wikiDir: string, currentIndexHash?: string, options?: LintOptions): Promise<LintResult>;
13
18
  //# sourceMappingURL=wiki-lint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-lint.d.ts","sourceRoot":"","sources":["../../src/tools/wiki-lint.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;IACnD,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAID,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,CAsErB"}
1
+ {"version":3,"file":"wiki-lint.d.ts","sourceRoot":"","sources":["../../src/tools/wiki-lint.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,IAAI,EACA,aAAa,GACb,aAAa,GACb,YAAY,GACZ,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAgED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAsFrB"}
@@ -1,7 +1,64 @@
1
1
  import { readFile, readdir } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
+ import { parseSentinelBlocks, SentinelIntegrityError } from "./journal-sentinel.js";
3
4
  const LINK_RE = /\[\[([^\]]+)\]\]/g;
4
- export async function lintWiki(wikiDir, currentIndexHash) {
5
+ async function checkJournalSentinels(manifest, wikiDir) {
6
+ const issues = [];
7
+ const warnings = [];
8
+ for (const page of manifest.pages) {
9
+ if (!page.type.startsWith("journal-"))
10
+ continue;
11
+ const journalPage = page;
12
+ let content;
13
+ try {
14
+ content = await readFile(join(wikiDir, page.file), "utf-8");
15
+ }
16
+ catch {
17
+ continue;
18
+ } // missing file already reported by broken-link scan
19
+ let blocks;
20
+ try {
21
+ blocks = parseSentinelBlocks(content);
22
+ }
23
+ catch (err) {
24
+ if (err instanceof SentinelIntegrityError) {
25
+ issues.push({ type: "sentinel-integrity", severity: "error", target: page.file, line: err.line, message: err.message });
26
+ }
27
+ continue;
28
+ }
29
+ const recorded = journalPage.journal_content_hashes;
30
+ if (recorded === undefined)
31
+ continue;
32
+ for (const block of blocks) {
33
+ const rh = recorded[block.kind];
34
+ if (rh !== undefined && rh !== block.hash) {
35
+ warnings.push({
36
+ type: "journal-hash-drift", severity: "warning", target: page.file,
37
+ message: `Block ${block.kind} hash drifted (recorded ${rh.slice(0, 8)} vs current ${block.hash.slice(0, 8)})`,
38
+ });
39
+ }
40
+ }
41
+ }
42
+ return { issues, warnings };
43
+ }
44
+ const CITATION_CHECK_MODULE = "../../scripts/journal-citation-check.js";
45
+ async function checkCitations(manifest, wikiDir, threshold) {
46
+ const mod = await import(CITATION_CHECK_MODULE);
47
+ const warnings = [];
48
+ for (const page of manifest.pages) {
49
+ if (page.type !== "journal-phase")
50
+ continue;
51
+ const result = await mod.runCitationCheck(join(wikiDir, page.file), threshold);
52
+ if (result.percentage < threshold) {
53
+ warnings.push({
54
+ type: "citation-ungrounded", severity: "warning", target: page.file,
55
+ message: `Only ${result.grounded}/${result.total} citations grounded (${result.percentage.toFixed(1)}%)`,
56
+ });
57
+ }
58
+ }
59
+ return warnings;
60
+ }
61
+ export async function lintWiki(wikiDir, currentIndexHash, options) {
5
62
  const manifestPath = join(wikiDir, "wiki-manifest.json");
6
63
  let raw;
7
64
  try {
@@ -45,9 +102,24 @@ export async function lintWiki(wikiDir, currentIndexHash) {
45
102
  }
46
103
  LINK_RE.lastIndex = 0;
47
104
  }
105
+ // Journal sentinel integrity + hash-drift checks
106
+ const journalChecks = await checkJournalSentinels(manifest, wikiDir);
107
+ issues.push(...journalChecks.issues);
108
+ warnings.push(...journalChecks.warnings);
109
+ // --strict: citation grounding check per journal-phase page
110
+ if (options?.strict === true) {
111
+ const threshold = options.citationThreshold ?? 95;
112
+ const citationWarnings = await checkCitations(manifest, wikiDir, threshold);
113
+ warnings.push(...citationWarnings);
114
+ }
48
115
  // Check for orphan pages
49
116
  const entries = await readdir(wikiDir);
50
117
  for (const entry of entries) {
118
+ // Journal files are cleaned up by pruneStaleWikiFiles with an explicit
119
+ // protected prefix (see src/tools/wiki-tools.ts Task 1). The manifest
120
+ // tracks them as journal-* page types; do NOT flag as orphans.
121
+ if (entry === "journal" || entry.startsWith("journal/"))
122
+ continue;
51
123
  if (entry.endsWith(".md") && !knownFiles.has(entry)) {
52
124
  issues.push({
53
125
  type: "orphan-page",
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-lint.js","sourceRoot":"","sources":["../../src/tools/wiki-lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-lint.js","sourceRoot":"","sources":["../../src/tools/wiki-lint.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,140 @@
1
1
  import type { CommunityInfo } from "./wiki-surprise.js";
2
+ export interface LensData {
3
+ communities: Array<{
4
+ name: string;
5
+ slug: string;
6
+ fileCount: number;
7
+ cohesion: number;
8
+ }>;
9
+ edges: Array<{
10
+ from: number;
11
+ to: number;
12
+ weight: number;
13
+ }>;
14
+ }
15
+ /** Literal type-tags for the existing (pre-v2.1) page kinds. Kept aligned with
16
+ * the `type` enum in `schemas/wiki-manifest-v2.schema.json` → `PageEntry`. */
17
+ export type ExistingPageKind = "index" | "community" | "hubs" | "surprises" | "hotspots" | "framework" | "overview" | "architecture";
18
+ /** A standard (non-journal) page entry in the manifest's `pages` array. */
19
+ export interface ExistingPageEntry {
20
+ slug: string;
21
+ title: string;
22
+ type: ExistingPageKind;
23
+ file: string;
24
+ outbound_links: string[];
25
+ }
26
+ /** Literal type-tags for the three journal-page kinds introduced in v2.1.
27
+ * Each value is disjoint from `ExistingPageKind`, so `type` remains a valid
28
+ * discriminant across the full `PageEntry` union. */
29
+ export type JournalPageKind = "journal-overview" | "journal-rollup" | "journal-phase";
30
+ /** A journal-oriented page entry (added in manifest schema v2.1). Cohesion
31
+ * point: grouped with `ExistingPageEntry` above so the discriminated-union
32
+ * shape is visible at a glance (CQ14). */
33
+ export interface JournalPageEntry {
34
+ slug: string;
35
+ title: string;
36
+ type: JournalPageKind;
37
+ file: string;
38
+ outbound_links: string[];
39
+ source: "generated" | "ai-authored" | "hand-written";
40
+ journal_content_hashes?: Record<string, string>;
41
+ parent_slug?: string;
42
+ }
43
+ /** Discriminated union of every page kind the manifest can emit. The `type`
44
+ * field is the discriminant — exhaustive switches on `type` still type-check. */
45
+ export type PageEntry = ExistingPageEntry | JournalPageEntry;
2
46
  export interface WikiManifest {
47
+ manifest_schema_version: "2.1.0";
3
48
  generated_at: string;
4
49
  index_hash: string;
5
50
  git_commit: string;
6
- pages: Array<{
7
- slug: string;
8
- title: string;
9
- type: "index" | "community" | "hubs" | "surprises" | "hotspots" | "framework";
10
- file: string;
11
- outbound_links: string[];
12
- }>;
51
+ pages: PageEntry[];
13
52
  slug_redirects: Record<string, string>;
14
53
  token_estimates: Record<string, number>;
15
54
  file_to_community: Record<string, string>;
16
55
  degraded: boolean;
17
56
  degraded_reasons?: string[];
18
- lens_data?: {
19
- communities: Array<{
20
- name: string;
21
- slug: string;
22
- fileCount: number;
23
- cohesion: number;
24
- }>;
25
- edges: Array<{
26
- from: number;
27
- to: number;
28
- weight: number;
29
- }>;
57
+ lens_data?: LensData;
58
+ }
59
+ export type ModuleRole = "framework-tools" | "framework-routes" | "framework-components" | "core-library" | "data-access" | "utilities" | "parsers" | "storage" | "search" | "cli" | "tests" | "scripts" | "micro-module" | "unknown";
60
+ export interface KeyExport {
61
+ name: string;
62
+ kind: "function" | "class" | "interface" | "type" | "component" | "hook" | "default_export";
63
+ file: string;
64
+ signature?: string;
65
+ }
66
+ export interface ModuleMetadata {
67
+ slug: string;
68
+ name: string;
69
+ description: string;
70
+ role: ModuleRole;
71
+ files: number;
72
+ cohesion: number;
73
+ key_exports: KeyExport[];
74
+ depends_on: string[];
75
+ depended_by: string[];
76
+ has_hotspot: boolean;
77
+ workspace?: string;
78
+ key_exports_approximate?: boolean;
79
+ }
80
+ export interface DependencySummary {
81
+ prod_total: number;
82
+ dev_total: number;
83
+ key: Array<{
84
+ name: string;
85
+ version: string;
86
+ kind: "prod" | "dev";
87
+ }>;
88
+ }
89
+ export interface ProjectOverview {
90
+ name: string;
91
+ git_remote: string | null;
92
+ project_type: "monorepo" | "single";
93
+ stack: {
94
+ language: string;
95
+ language_version: string | null;
96
+ framework: string | null;
97
+ framework_version: string | null;
98
+ test_runner: string | null;
99
+ package_manager: string | null;
100
+ build_tool: string | null;
101
+ };
102
+ scripts: Record<string, string>;
103
+ entry_points: string[];
104
+ workspaces: string[];
105
+ dependencies: DependencySummary;
106
+ known_gotchas: {
107
+ gotcha: string;
108
+ severity: "high" | "medium" | "low";
109
+ }[];
110
+ stats: {
111
+ total_files: number;
112
+ total_commits: number | null;
113
+ contributors: number | null;
30
114
  };
31
115
  }
116
+ export interface WikiManifestV2 {
117
+ schema_version: 2;
118
+ manifest_schema_version: "2.1.0";
119
+ generated_at: string;
120
+ index_hash: string;
121
+ git_commit: string;
122
+ project: ProjectOverview;
123
+ modules: ModuleMetadata[];
124
+ pages: WikiManifest["pages"];
125
+ slug_redirects: Record<string, string>;
126
+ token_estimates: Record<string, number>;
127
+ file_to_community: Record<string, string>;
128
+ lens_data?: LensData;
129
+ degraded: boolean;
130
+ degraded_reasons?: string[];
131
+ modules_truncated?: boolean;
132
+ truncation_reason?: "module_count_cap" | "token_budget";
133
+ }
32
134
  export interface PageInfo {
33
135
  slug: string;
34
136
  title: string;
35
- type: WikiManifest["pages"][number]["type"];
137
+ type: ExistingPageKind;
36
138
  file: string;
37
139
  content: string;
38
140
  }
@@ -43,9 +145,14 @@ export declare function toSlug(name: string): string;
43
145
  * a numeric suffix (`-2`, `-3`, …) in iteration order. Empty-slug names fall
44
146
  * back to the literal `community` base.
45
147
  */
148
+ export interface BuildUniqueSlugsOptions {
149
+ monorepo?: boolean;
150
+ workspaces?: string[];
151
+ }
46
152
  export declare function buildUniqueSlugs(communities: readonly {
47
153
  name: string;
48
- }[]): Map<string, string>;
154
+ files?: string[];
155
+ }[], options?: BuildUniqueSlugsOptions): Map<string, string>;
49
156
  /**
50
157
  * Maps every file from every community to the community's kebab-case slug
51
158
  * using a collision-free slug map.
@@ -62,5 +169,6 @@ export declare function buildWikiManifest(options: {
62
169
  communities: CommunityInfo[];
63
170
  oldManifest?: WikiManifest;
64
171
  degradedReasons?: string[];
172
+ journalPages?: JournalPageEntry[];
65
173
  }): WikiManifest;
66
174
  //# sourceMappingURL=wiki-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-manifest.d.ts","sourceRoot":"","sources":["../../src/tools/wiki-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;QAC9E,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE;QACV,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACxF,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC5D,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,+DAA+D;AAC/D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GACvC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWrB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,aAAa,EAAE,EAC5B,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAiC,GAC3D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,GAAG,YAAY,CAqDf"}
1
+ {"version":3,"file":"wiki-manifest.d.ts","sourceRoot":"","sources":["../../src/tools/wiki-manifest.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,18 @@ export function toSlug(name) {
6
6
  .replace(/[^a-z0-9]+/g, "-")
7
7
  .replace(/^-|-$/g, "");
8
8
  }
9
- /**
10
- * Builds a collision-free `name -> slug` map. Duplicates are disambiguated with
11
- * a numeric suffix (`-2`, `-3`, …) in iteration order. Empty-slug names fall
12
- * back to the literal `community` base.
13
- */
14
- export function buildUniqueSlugs(communities) {
9
+ export function buildUniqueSlugs(communities, options) {
15
10
  const nameToSlug = new Map();
16
11
  const seen = new Map();
12
+ const useWorkspace = options?.monorepo === true && (options.workspaces?.length ?? 0) > 0;
13
+ const workspaces = options?.workspaces ?? [];
17
14
  for (const c of communities) {
18
- const base = toSlug(c.name) || "community";
15
+ let base = toSlug(c.name) || "community";
16
+ if (useWorkspace && c.files && c.files.length > 0) {
17
+ const ws = workspaces.find((w) => c.files.some((f) => f.startsWith(w + "/") || f === w));
18
+ if (ws)
19
+ base = `${toSlug(ws)}-${base}`;
20
+ }
19
21
  const count = seen.get(base) ?? 0;
20
22
  const slug = count === 0 ? base : `${base}-${count + 1}`;
21
23
  seen.set(base, count + 1);
@@ -42,7 +44,7 @@ export function buildFileToCommunityMap(communities, slugMap = buildUniqueSlugs(
42
44
  * generated wiki page and its metadata.
43
45
  */
44
46
  export function buildWikiManifest(options) {
45
- const { index_hash, git_commit, pages, communities, oldManifest, degradedReasons } = options;
47
+ const { index_hash, git_commit, pages, communities, oldManifest, degradedReasons, journalPages } = options;
46
48
  // File → community map
47
49
  const file_to_community = buildFileToCommunityMap(communities);
48
50
  // Token estimates: rough chars / 4 rounded up
@@ -74,12 +76,17 @@ export function buildWikiManifest(options) {
74
76
  outbound_links,
75
77
  };
76
78
  });
79
+ // v2.1: concat journal pages verbatim (they are already well-formed entries)
80
+ const allPages = journalPages !== undefined && journalPages.length > 0
81
+ ? [...builtPages, ...journalPages]
82
+ : builtPages;
77
83
  const degraded = (degradedReasons?.length ?? 0) > 0;
78
84
  return {
85
+ manifest_schema_version: "2.1.0",
79
86
  generated_at: new Date().toISOString(),
80
87
  index_hash,
81
88
  git_commit,
82
- pages: builtPages,
89
+ pages: allPages,
83
90
  slug_redirects,
84
91
  token_estimates,
85
92
  file_to_community,
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-manifest.js","sourceRoot":"","sources":["../../src/tools/wiki-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-manifest.js","sourceRoot":"","sources":["../../src/tools/wiki-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { CodeIndex } from "../types.js";
2
+ import type { ProjectProfile } from "./project-tools.js";
3
+ import type { CommunityInfo } from "./wiki-surprise.js";
4
+ import type { ImportEdge } from "../utils/import-graph.js";
5
+ import type { RankedHubSymbol } from "./wiki-hub-ranker.js";
6
+ import type { ProjectOverview, ModuleMetadata, WikiManifestV2, WikiManifest } from "./wiki-manifest.js";
7
+ import { type PageInfo } from "./wiki-manifest.js";
8
+ import type { FileHotspot } from "./wiki-page-generators.js";
9
+ /**
10
+ * Build a ProjectOverview from the analyzeProject result and the code index.
11
+ * Emits `_degraded` as a side-channel when git history is shallow/missing; the
12
+ * orchestrator strips it and pushes to `degraded_reasons`.
13
+ */
14
+ export declare function buildProjectOverview(projectResult: ProjectProfile, codeIndex: CodeIndex): ProjectOverview & {
15
+ _degraded?: string;
16
+ };
17
+ export declare function buildModuleMetadata(communities: CommunityInfo[], projectResult: ProjectProfile, codeIndex: CodeIndex, importEdges: ImportEdge[], fileHotspots: FileHotspot[], rankedHubs: RankedHubSymbol[]): ModuleMetadata[];
18
+ export interface BuildWikiManifestV2Options {
19
+ index_hash: string;
20
+ git_commit: string;
21
+ pages: PageInfo[];
22
+ communities: CommunityInfo[];
23
+ project: ProjectOverview;
24
+ modules: ModuleMetadata[];
25
+ oldManifest?: WikiManifest | WikiManifestV2;
26
+ degradedReasons?: string[];
27
+ modules_truncated?: boolean;
28
+ truncation_reason?: "module_count_cap" | "token_budget";
29
+ }
30
+ export declare function buildWikiManifestV2(options: BuildWikiManifestV2Options): WikiManifestV2;
31
+ /** V1 writer — preserved for rollback (CODESIFT_WIKI_V1=1). Same shape as
32
+ * the legacy buildWikiManifest that used to live in wiki-manifest.ts. */
33
+ export interface BuildWikiManifestV1Options {
34
+ index_hash: string;
35
+ git_commit: string;
36
+ pages: PageInfo[];
37
+ communities: CommunityInfo[];
38
+ oldManifest?: WikiManifest;
39
+ degradedReasons?: string[];
40
+ }
41
+ export declare function buildWikiManifestV1(options: BuildWikiManifestV1Options): WikiManifest;
42
+ //# sourceMappingURL=wiki-module-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-module-builder.d.ts","sourceRoot":"","sources":["../../src/tools/wiki-module-builder.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAGd,cAAc,EACd,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,SAAS,GACnB,eAAe,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAgD1C;AAiED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,aAAa,EAAE,EAC5B,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,EAAE,EACzB,YAAY,EAAE,WAAW,EAAE,EAC3B,UAAU,EAAE,eAAe,EAAE,GAC5B,cAAc,EAAE,CAmClB;AAoND,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;CACzD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,cAAc,CAwCvF;AAED;0EAC0E;AAC1E,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,YAAY,CA8BrF"}