design-brain-memory 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/agentBrowser.d.ts +1 -0
  2. package/dist/agentBrowser.js +1 -0
  3. package/dist/agentBrowser.js.map +1 -1
  4. package/dist/classify.d.ts +21 -0
  5. package/dist/classify.js +205 -0
  6. package/dist/classify.js.map +1 -0
  7. package/dist/cli.js +216 -219
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands.d.ts +1 -60
  10. package/dist/commands.js +10 -322
  11. package/dist/commands.js.map +1 -1
  12. package/dist/extractFromUrl.d.ts +0 -7
  13. package/dist/extractFromUrl.js +353 -82
  14. package/dist/extractFromUrl.js.map +1 -1
  15. package/dist/index.d.ts +12 -24
  16. package/dist/index.js +11 -16
  17. package/dist/index.js.map +1 -1
  18. package/dist/llm.d.ts +6 -0
  19. package/dist/llm.js +12 -1
  20. package/dist/llm.js.map +1 -1
  21. package/dist/persona.d.ts +2 -0
  22. package/dist/persona.js +234 -0
  23. package/dist/persona.js.map +1 -0
  24. package/dist/query.js +6 -1
  25. package/dist/query.js.map +1 -1
  26. package/dist/render.d.ts +10 -2
  27. package/dist/render.js +175 -80
  28. package/dist/render.js.map +1 -1
  29. package/dist/scan.d.ts +10 -0
  30. package/dist/scan.js +393 -0
  31. package/dist/scan.js.map +1 -0
  32. package/dist/scanRenderer.d.ts +2 -0
  33. package/dist/scanRenderer.js +155 -0
  34. package/dist/scanRenderer.js.map +1 -0
  35. package/dist/skillPrompt.d.ts +3 -1
  36. package/dist/skillPrompt.js +148 -22
  37. package/dist/skillPrompt.js.map +1 -1
  38. package/dist/store.d.ts +5 -1
  39. package/dist/store.js +19 -0
  40. package/dist/store.js.map +1 -1
  41. package/dist/taste.d.ts +9 -0
  42. package/dist/taste.js +598 -0
  43. package/dist/taste.js.map +1 -0
  44. package/dist/tasteDiff.d.ts +19 -0
  45. package/dist/tasteDiff.js +340 -0
  46. package/dist/tasteDiff.js.map +1 -0
  47. package/dist/tasteGenerate.d.ts +12 -0
  48. package/dist/tasteGenerate.js +140 -0
  49. package/dist/tasteGenerate.js.map +1 -0
  50. package/dist/tasteRefine.d.ts +13 -0
  51. package/dist/tasteRefine.js +351 -0
  52. package/dist/tasteRefine.js.map +1 -0
  53. package/dist/tasteRenderer.d.ts +4 -0
  54. package/dist/tasteRenderer.js +133 -0
  55. package/dist/tasteRenderer.js.map +1 -0
  56. package/dist/theatrical.d.ts +5 -0
  57. package/dist/theatrical.js +258 -0
  58. package/dist/theatrical.js.map +1 -0
  59. package/dist/types.d.ts +196 -27
  60. package/package.json +4 -3
  61. package/skills/SKILL.md +36 -0
  62. package/skills/design-brain/SKILL.md +77 -0
  63. package/README.md +0 -242
  64. package/dist/aggregate.d.ts +0 -9
  65. package/dist/aggregate.js +0 -53
  66. package/dist/aggregate.js.map +0 -1
  67. package/dist/batch.d.ts +0 -16
  68. package/dist/batch.js +0 -44
  69. package/dist/batch.js.map +0 -1
  70. package/dist/compare.d.ts +0 -33
  71. package/dist/compare.js +0 -83
  72. package/dist/compare.js.map +0 -1
  73. package/dist/componentGraph.d.ts +0 -22
  74. package/dist/componentGraph.js +0 -106
  75. package/dist/componentGraph.js.map +0 -1
  76. package/dist/contextLayer.d.ts +0 -12
  77. package/dist/contextLayer.js +0 -263
  78. package/dist/contextLayer.js.map +0 -1
  79. package/dist/cssInJs.d.ts +0 -9
  80. package/dist/cssInJs.js +0 -124
  81. package/dist/cssInJs.js.map +0 -1
  82. package/dist/graphView.d.ts +0 -21
  83. package/dist/graphView.js +0 -492
  84. package/dist/graphView.js.map +0 -1
  85. package/dist/knowledge.d.ts +0 -20
  86. package/dist/knowledge.js +0 -208
  87. package/dist/knowledge.js.map +0 -1
  88. package/dist/liveView.d.ts +0 -15
  89. package/dist/liveView.js +0 -476
  90. package/dist/liveView.js.map +0 -1
  91. package/dist/moodboard.d.ts +0 -3
  92. package/dist/moodboard.js +0 -139
  93. package/dist/moodboard.js.map +0 -1
  94. package/dist/reviewChecklist.d.ts +0 -17
  95. package/dist/reviewChecklist.js +0 -126
  96. package/dist/reviewChecklist.js.map +0 -1
  97. package/dist/scorecard.d.ts +0 -48
  98. package/dist/scorecard.js +0 -201
  99. package/dist/scorecard.js.map +0 -1
  100. package/dist/styleDictionary.d.ts +0 -16
  101. package/dist/styleDictionary.js +0 -89
  102. package/dist/styleDictionary.js.map +0 -1
  103. package/dist/svg.d.ts +0 -5
  104. package/dist/svg.js +0 -162
  105. package/dist/svg.js.map +0 -1
  106. package/dist/systemDiff.d.ts +0 -28
  107. package/dist/systemDiff.js +0 -107
  108. package/dist/systemDiff.js.map +0 -1
  109. package/dist/tailwind.d.ts +0 -2
  110. package/dist/tailwind.js +0 -122
  111. package/dist/tailwind.js.map +0 -1
  112. package/dist/tokenNaming.d.ts +0 -5
  113. package/dist/tokenNaming.js +0 -229
  114. package/dist/tokenNaming.js.map +0 -1
  115. package/dist/tokens.d.ts +0 -17
  116. package/dist/tokens.js +0 -44
  117. package/dist/tokens.js.map +0 -1
  118. package/dist/trends.d.ts +0 -12
  119. package/dist/trends.js +0 -178
  120. package/dist/trends.js.map +0 -1
  121. package/dist/wiki.d.ts +0 -10
  122. package/dist/wiki.js +0 -346
  123. package/dist/wiki.js.map +0 -1
  124. package/dist/writingStyle.d.ts +0 -38
  125. package/dist/writingStyle.js +0 -224
  126. package/dist/writingStyle.js.map +0 -1
@@ -1,229 +0,0 @@
1
- import { aggregateColors, aggregateTypography, aggregateMotion, } from './aggregate.js';
2
- const CSS_NAMED_COLORS = [
3
- ['black', 0, 0, 0],
4
- ['white', 255, 255, 255],
5
- ['red', 255, 0, 0],
6
- ['lime', 0, 255, 0],
7
- ['blue', 0, 0, 255],
8
- ['yellow', 255, 255, 0],
9
- ['cyan', 0, 255, 255],
10
- ['magenta', 255, 0, 255],
11
- ['silver', 192, 192, 192],
12
- ['gray', 128, 128, 128],
13
- ['maroon', 128, 0, 0],
14
- ['olive', 128, 128, 0],
15
- ['green', 0, 128, 0],
16
- ['purple', 128, 0, 128],
17
- ['teal', 0, 128, 128],
18
- ['navy', 0, 0, 128],
19
- ['orange', 255, 165, 0],
20
- ['pink', 255, 192, 203],
21
- ['coral', 255, 127, 80],
22
- ['salmon', 250, 128, 114],
23
- ['tomato', 255, 99, 71],
24
- ['crimson', 220, 20, 60],
25
- ['firebrick', 178, 34, 34],
26
- ['darkred', 139, 0, 0],
27
- ['indianred', 205, 92, 92],
28
- ['lightcoral', 240, 128, 128],
29
- ['orangered', 255, 69, 0],
30
- ['darkorange', 255, 140, 0],
31
- ['gold', 255, 215, 0],
32
- ['khaki', 240, 230, 140],
33
- ['darkkhaki', 189, 183, 107],
34
- ['peachpuff', 255, 218, 185],
35
- ['moccasin', 255, 228, 181],
36
- ['papayawhip', 245, 222, 179],
37
- ['lemonchiffon', 255, 250, 205],
38
- ['lightyellow', 255, 255, 224],
39
- ['wheat', 245, 222, 179],
40
- ['tan', 210, 180, 140],
41
- ['chocolate', 210, 105, 30],
42
- ['saddlebrown', 139, 69, 19],
43
- ['sienna', 160, 82, 45],
44
- ['brown', 165, 42, 42],
45
- ['peru', 205, 133, 63],
46
- ['sandybrown', 244, 164, 96],
47
- ['rosybrown', 188, 143, 143],
48
- ['burlywood', 222, 184, 135],
49
- ['bisque', 255, 228, 196],
50
- ['blanchedalmond', 255, 235, 205],
51
- ['antiquewhite', 250, 235, 215],
52
- ['linen', 250, 240, 230],
53
- ['lavenderblush', 255, 240, 245],
54
- ['mistyrose', 255, 228, 225],
55
- ['snow', 255, 250, 250],
56
- ['seashell', 255, 245, 238],
57
- ['floralwhite', 255, 250, 240],
58
- ['ivory', 255, 255, 240],
59
- ['honeydew', 240, 255, 240],
60
- ['mintcream', 245, 255, 250],
61
- ['azure', 240, 255, 255],
62
- ['aliceblue', 240, 248, 255],
63
- ['ghostwhite', 248, 248, 255],
64
- ['whitesmoke', 245, 245, 245],
65
- ['gainsboro', 220, 220, 220],
66
- ['lightgray', 211, 211, 211],
67
- ['darkgray', 169, 169, 169],
68
- ['dimgray', 105, 105, 105],
69
- ['lightslategray', 119, 136, 153],
70
- ['slategray', 112, 128, 144],
71
- ['darkslategray', 47, 79, 79],
72
- ['greenyellow', 173, 255, 47],
73
- ['chartreuse', 127, 255, 0],
74
- ['lawngreen', 124, 252, 0],
75
- ['limegreen', 50, 205, 50],
76
- ['palegreen', 152, 251, 152],
77
- ['lightgreen', 144, 238, 144],
78
- ['springgreen', 0, 255, 127],
79
- ['mediumspringgreen', 0, 250, 154],
80
- ['darkgreen', 0, 100, 0],
81
- ['forestgreen', 34, 139, 34],
82
- ['seagreen', 46, 139, 87],
83
- ['mediumseagreen', 60, 179, 113],
84
- ['mediumaquamarine', 102, 205, 170],
85
- ['darkseagreen', 143, 188, 143],
86
- ['aquamarine', 127, 255, 212],
87
- ['paleturquoise', 175, 238, 238],
88
- ['lightcyan', 224, 255, 255],
89
- ['darkturquoise', 0, 206, 209],
90
- ['turquoise', 64, 224, 208],
91
- ['mediumturquoise', 72, 209, 204],
92
- ['lightseagreen', 32, 178, 170],
93
- ['cadetblue', 95, 158, 160],
94
- ['darkcyan', 0, 139, 139],
95
- ['steelblue', 70, 130, 180],
96
- ['lightsteelblue', 176, 196, 222],
97
- ['powderblue', 176, 224, 230],
98
- ['lightblue', 173, 216, 230],
99
- ['skyblue', 135, 206, 235],
100
- ['lightskyblue', 135, 206, 250],
101
- ['deepskyblue', 0, 191, 255],
102
- ['dodgerblue', 30, 144, 255],
103
- ['cornflowerblue', 100, 149, 237],
104
- ['mediumslateblue', 123, 104, 238],
105
- ['royalblue', 65, 105, 225],
106
- ['mediumblue', 0, 0, 205],
107
- ['darkblue', 0, 0, 139],
108
- ['midnightblue', 25, 25, 112],
109
- ['indigo', 75, 0, 130],
110
- ['darkslateblue', 72, 61, 139],
111
- ['slateblue', 106, 90, 205],
112
- ['blueviolet', 138, 43, 226],
113
- ['mediumpurple', 147, 112, 219],
114
- ['darkorchid', 153, 50, 204],
115
- ['darkviolet', 148, 0, 211],
116
- ['darkmagenta', 139, 0, 139],
117
- ['plum', 221, 160, 221],
118
- ['violet', 238, 130, 238],
119
- ['orchid', 218, 112, 214],
120
- ['mediumorchid', 186, 85, 211],
121
- ['mediumvioletred', 199, 21, 133],
122
- ['deeppink', 255, 20, 147],
123
- ['hotpink', 255, 105, 180],
124
- ['lavender', 230, 230, 250],
125
- ['thistle', 216, 191, 216],
126
- ['fuchsia', 255, 0, 255],
127
- ['aqua', 0, 255, 255],
128
- ['cornsilk', 255, 248, 220],
129
- ['oldlace', 253, 245, 230],
130
- ['navajowhite', 255, 222, 173],
131
- ['goldenrod', 218, 165, 32],
132
- ['darkgoldenrod', 184, 134, 11],
133
- ['yellowgreen', 154, 205, 50],
134
- ['olivedrab', 107, 142, 35],
135
- ['darkolivegreen', 85, 107, 47],
136
- ];
137
- function parseHex(hex) {
138
- let h = hex.replace(/^#/, '');
139
- if (h.length === 3) {
140
- h = h[0] + h[0] + h[1] + h[1] + h[2] + h[2];
141
- }
142
- const r = Number.parseInt(h.slice(0, 2), 16);
143
- const g = Number.parseInt(h.slice(2, 4), 16);
144
- const b = Number.parseInt(h.slice(4, 6), 16);
145
- return [r, g, b];
146
- }
147
- function colorDistance(r1, g1, b1, r2, g2, b2) {
148
- return (r1 - r2) ** 2 + (g1 - g2) ** 2 + (b1 - b2) ** 2;
149
- }
150
- export function nameColor(hex) {
151
- const [r, g, b] = parseHex(hex);
152
- let bestName = 'unknown';
153
- let bestDist = Infinity;
154
- for (const [name, cr, cg, cb] of CSS_NAMED_COLORS) {
155
- const dist = colorDistance(r, g, b, cr, cg, cb);
156
- if (dist < bestDist) {
157
- bestDist = dist;
158
- bestName = name;
159
- }
160
- }
161
- return bestName;
162
- }
163
- export function nameTypographySize(fontSize) {
164
- const match = fontSize.match(/^(\d+(?:\.\d+)?)\s*px$/i);
165
- if (!match)
166
- return fontSize;
167
- const px = parseFloat(match[1]);
168
- if (px < 12)
169
- return 'xs';
170
- if (px < 15)
171
- return 'sm';
172
- if (px < 19)
173
- return 'md';
174
- if (px < 25)
175
- return 'lg';
176
- return 'xl';
177
- }
178
- function parseDurationMs(duration) {
179
- const msMatch = duration.match(/^(\d+(?:\.\d+)?)\s*ms$/i);
180
- if (msMatch)
181
- return parseFloat(msMatch[1]);
182
- const sMatch = duration.match(/^(\d+(?:\.\d+)?)\s*s$/i);
183
- if (sMatch)
184
- return parseFloat(sMatch[1]) * 1000;
185
- return -1;
186
- }
187
- export function nameMotionDuration(duration) {
188
- const ms = parseDurationMs(duration);
189
- if (ms < 0)
190
- return duration;
191
- if (ms < 100)
192
- return 'instant';
193
- if (ms <= 200)
194
- return 'quick';
195
- if (ms <= 400)
196
- return 'normal';
197
- return 'slow';
198
- }
199
- export function nameTokens(project) {
200
- const map = new Map();
201
- const usedNames = new Map();
202
- function uniqueName(base) {
203
- const count = usedNames.get(base) ?? 0;
204
- usedNames.set(base, count + 1);
205
- return count === 0 ? base : `${base}-${count + 1}`;
206
- }
207
- for (const color of aggregateColors(project.inspirations)) {
208
- const name = uniqueName(nameColor(color.hex));
209
- map.set(color.hex, name);
210
- }
211
- const seenSizes = new Set();
212
- for (const typo of aggregateTypography(project.inspirations)) {
213
- if (!seenSizes.has(typo.fontSize)) {
214
- seenSizes.add(typo.fontSize);
215
- map.set(typo.fontSize, nameTypographySize(typo.fontSize));
216
- }
217
- }
218
- const seenDurations = new Set();
219
- for (const motion of aggregateMotion(project.inspirations)) {
220
- for (const t of motion.transitions ?? []) {
221
- if (t.duration && !seenDurations.has(t.duration)) {
222
- seenDurations.add(t.duration);
223
- map.set(t.duration, nameMotionDuration(t.duration));
224
- }
225
- }
226
- }
227
- return map;
228
- }
229
- //# sourceMappingURL=tokenNaming.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenNaming.js","sourceRoot":"","sources":["../src/tokenNaming.ts"],"names":[],"mappings":"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"}
package/dist/tokens.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import type { ProjectRecord } from './types.js';
2
- export interface TokenVariant {
3
- selector: string;
4
- tag: string;
5
- text: string;
6
- className: string;
7
- html: string;
8
- styles: Record<string, string>;
9
- sources: string[];
10
- }
11
- export interface ComponentTokenFile {
12
- kind: string;
13
- project: string;
14
- count: number;
15
- variants: TokenVariant[];
16
- }
17
- export declare function generateComponentTokens(project: ProjectRecord): Record<string, ComponentTokenFile>;
package/dist/tokens.js DELETED
@@ -1,44 +0,0 @@
1
- export function generateComponentTokens(project) {
2
- const kindMap = new Map();
3
- for (const inspiration of project.inspirations) {
4
- for (const component of inspiration.analysis.components) {
5
- let selectorMap = kindMap.get(component.kind);
6
- if (!selectorMap) {
7
- selectorMap = new Map();
8
- kindMap.set(component.kind, selectorMap);
9
- }
10
- const existing = selectorMap.get(component.selector);
11
- if (existing) {
12
- existing.sources.add(inspiration.id);
13
- }
14
- else {
15
- selectorMap.set(component.selector, {
16
- component,
17
- sources: new Set([inspiration.id]),
18
- });
19
- }
20
- }
21
- }
22
- const result = {};
23
- for (const [kind, selectorMap] of kindMap) {
24
- const variants = [...selectorMap.values()]
25
- .sort((a, b) => b.sources.size - a.sources.size)
26
- .map(({ component, sources }) => ({
27
- selector: component.selector,
28
- tag: component.tag,
29
- text: component.text,
30
- className: component.className,
31
- html: component.html ?? '',
32
- styles: component.styles,
33
- sources: [...sources],
34
- }));
35
- result[kind] = {
36
- kind,
37
- project: project.id,
38
- count: variants.reduce((sum, v) => sum + v.sources.length, 0),
39
- variants,
40
- };
41
- }
42
- return result;
43
- }
44
- //# sourceMappingURL=tokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,uBAAuB,CACrC,OAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4E,CAAC;IAEpG,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/C,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAClC,SAAS;oBACT,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAuC,EAAE,CAAC;IAEtD,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAmB,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;aACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/C,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE;YAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;SACtB,CAAC,CAAC,CAAC;QAEN,MAAM,CAAC,IAAI,CAAC,GAAG;YACb,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/trends.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import type { InspirationRecord } from './types.js';
2
- export interface TrendNote {
3
- title: string;
4
- signal: 'rising' | 'stable' | 'declining';
5
- domain: string;
6
- evidence: string[];
7
- firstSeen: string;
8
- lastSeen: string;
9
- occurrences: number;
10
- }
11
- export declare function detectTrends(inspirations: InspirationRecord[]): TrendNote[];
12
- export declare function writeTrendNotes(rootDir: string, trends: TrendNote[]): Promise<number>;
package/dist/trends.js DELETED
@@ -1,178 +0,0 @@
1
- import path from 'node:path';
2
- import fs from 'fs-extra';
3
- import { brainRoot } from './store.js';
4
- function determineSignal(captures, allCaptures) {
5
- if (captures.length < 3)
6
- return 'stable';
7
- const sorted = [...allCaptures].sort();
8
- const mid = Math.floor(sorted.length / 2);
9
- const firstHalf = new Set(sorted.slice(0, mid));
10
- const secondHalf = new Set(sorted.slice(mid));
11
- const countFirst = captures.filter((c) => firstHalf.has(c)).length;
12
- const countSecond = captures.filter((c) => secondHalf.has(c)).length;
13
- if (countSecond > countFirst)
14
- return 'rising';
15
- if (countFirst > countSecond)
16
- return 'declining';
17
- return 'stable';
18
- }
19
- export function detectTrends(inspirations) {
20
- if (inspirations.length < 3)
21
- return [];
22
- const sorted = [...inspirations].sort((a, b) => a.capturedAt.localeCompare(b.capturedAt));
23
- const allIds = sorted.map((i) => i.id);
24
- const trends = [];
25
- // Color trends — colors appearing in 3+ captures
26
- const colorMap = new Map();
27
- for (const inspo of sorted) {
28
- for (const color of inspo.analysis.colors) {
29
- const hex = color.hex.toUpperCase();
30
- const list = colorMap.get(hex) ?? [];
31
- list.push(inspo.id);
32
- colorMap.set(hex, list);
33
- }
34
- }
35
- for (const [hex, ids] of colorMap) {
36
- if (ids.length >= 3) {
37
- const captures = sorted.filter((i) => ids.includes(i.id));
38
- trends.push({
39
- title: `Color ${hex} appearing across ${ids.length} captures`,
40
- signal: determineSignal(ids, allIds),
41
- domain: 'color',
42
- evidence: ids.map((id) => `[[${id}]]`),
43
- firstSeen: captures[0].capturedAt.slice(0, 10),
44
- lastSeen: captures.at(-1).capturedAt.slice(0, 10),
45
- occurrences: ids.length,
46
- });
47
- }
48
- }
49
- // Typography trends — font families in 3+ captures
50
- const fontMap = new Map();
51
- for (const inspo of sorted) {
52
- const families = new Set(inspo.analysis.typography.map((t) => t.fontFamily.split(',')[0].trim().replace(/['"]/g, '')));
53
- for (const family of families) {
54
- const list = fontMap.get(family) ?? [];
55
- list.push(inspo.id);
56
- fontMap.set(family, list);
57
- }
58
- }
59
- for (const [family, ids] of fontMap) {
60
- if (ids.length >= 3) {
61
- const captures = sorted.filter((i) => ids.includes(i.id));
62
- trends.push({
63
- title: `Font "${family}" used in ${ids.length} captures`,
64
- signal: determineSignal(ids, allIds),
65
- domain: 'typography',
66
- evidence: ids.map((id) => `[[${id}]]`),
67
- firstSeen: captures[0].capturedAt.slice(0, 10),
68
- lastSeen: captures.at(-1).capturedAt.slice(0, 10),
69
- occurrences: ids.length,
70
- });
71
- }
72
- }
73
- // Component kind trends
74
- const kindMap = new Map();
75
- for (const inspo of sorted) {
76
- const kinds = new Set(inspo.analysis.components.map((c) => c.kind));
77
- for (const kind of kinds) {
78
- const list = kindMap.get(kind) ?? [];
79
- list.push(inspo.id);
80
- kindMap.set(kind, list);
81
- }
82
- }
83
- for (const [kind, ids] of kindMap) {
84
- if (ids.length >= 3) {
85
- const captures = sorted.filter((i) => ids.includes(i.id));
86
- trends.push({
87
- title: `Component kind "${kind}" in ${ids.length} captures`,
88
- signal: determineSignal(ids, allIds),
89
- domain: 'components',
90
- evidence: ids.map((id) => `[[${id}]]`),
91
- firstSeen: captures[0].capturedAt.slice(0, 10),
92
- lastSeen: captures.at(-1).capturedAt.slice(0, 10),
93
- occurrences: ids.length,
94
- });
95
- }
96
- }
97
- // Motion trends — easing curves in 3+ captures
98
- const easingMap = new Map();
99
- for (const inspo of sorted) {
100
- const easings = new Set(inspo.analysis.motion.flatMap((m) => (m.transitions ?? []).map((t) => t.timingFunction)).filter(Boolean));
101
- for (const easing of easings) {
102
- const list = easingMap.get(easing) ?? [];
103
- list.push(inspo.id);
104
- easingMap.set(easing, list);
105
- }
106
- }
107
- for (const [easing, ids] of easingMap) {
108
- if (ids.length >= 3) {
109
- const captures = sorted.filter((i) => ids.includes(i.id));
110
- trends.push({
111
- title: `Easing "${easing}" in ${ids.length} captures`,
112
- signal: determineSignal(ids, allIds),
113
- domain: 'motion',
114
- evidence: ids.map((id) => `[[${id}]]`),
115
- firstSeen: captures[0].capturedAt.slice(0, 10),
116
- lastSeen: captures.at(-1).capturedAt.slice(0, 10),
117
- occurrences: ids.length,
118
- });
119
- }
120
- }
121
- return trends;
122
- }
123
- function renderTrendNote(trend, today) {
124
- return `---
125
- type: trend
126
- title: "${trend.title}"
127
- signal: ${trend.signal}
128
- domain: ${trend.domain}
129
- evidence: [${trend.evidence.map((e) => `"${e}"`).join(', ')}]
130
- first_seen: ${trend.firstSeen}
131
- last_seen: ${trend.lastSeen}
132
- occurrences: ${trend.occurrences}
133
- created: ${today}
134
- updated: ${today}
135
- ---
136
-
137
- # ${trend.title}
138
-
139
- **Signal:** ${trend.signal}
140
- **Domain:** ${trend.domain}
141
- **Occurrences:** ${trend.occurrences}
142
- **First seen:** ${trend.firstSeen}
143
- **Last seen:** ${trend.lastSeen}
144
-
145
- ## Evidence
146
-
147
- ${trend.evidence.map((e) => `- ${e}`).join('\n')}
148
- `;
149
- }
150
- function slugifyTrend(title) {
151
- return title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '').slice(0, 80);
152
- }
153
- export async function writeTrendNotes(rootDir, trends) {
154
- const root = brainRoot(rootDir);
155
- const trendDir = path.join(root, 'notes', 'trends');
156
- await fs.ensureDir(trendDir);
157
- const today = new Date().toISOString().slice(0, 10);
158
- let written = 0;
159
- for (const trend of trends) {
160
- const filename = `${slugifyTrend(trend.title)}.md`;
161
- const filepath = path.join(trendDir, filename);
162
- await fs.writeFile(filepath, renderTrendNote(trend, today));
163
- written++;
164
- }
165
- // Update trends MOC
166
- const mocPath = path.join(root, 'notes', 'mocs', 'trends.md');
167
- const mocLines = [
168
- '# Trends Map of Content\n',
169
- `Updated: ${today}\n`,
170
- `## Active Trends (${trends.length})\n`,
171
- ];
172
- for (const trend of trends) {
173
- mocLines.push(`- **${trend.signal}** ${trend.title} (${trend.occurrences} occurrences)`);
174
- }
175
- await fs.writeFile(mocPath, mocLines.join('\n') + '\n');
176
- return written;
177
- }
178
- //# sourceMappingURL=trends.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trends.js","sourceRoot":"","sources":["../src/trends.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAYvC,SAAS,eAAe,CAAC,QAAkB,EAAE,WAAqB;IAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,IAAI,WAAW,GAAG,UAAU;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,UAAU,GAAG,WAAW;QAAE,OAAO,WAAW,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAiC;IAC5D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,iDAAiD;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS,GAAG,qBAAqB,GAAG,CAAC,MAAM,WAAW;gBAC7D,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;gBACpC,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;gBACtC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9C,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,WAAW,EAAE,GAAG,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACvH,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,SAAS,MAAM,aAAa,GAAG,CAAC,MAAM,WAAW;gBACxD,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;gBACpC,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;gBACtC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9C,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,WAAW,EAAE,GAAG,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,mBAAmB,IAAI,QAAQ,GAAG,CAAC,MAAM,WAAW;gBAC3D,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;gBACpC,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;gBACtC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9C,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,WAAW,EAAE,GAAG,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClI,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,WAAW,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW;gBACrD,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;gBACpC,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;gBACtC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9C,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,WAAW,EAAE,GAAG,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,KAAgB,EAAE,KAAa;IACtD,OAAO;;UAEC,KAAK,CAAC,KAAK;UACX,KAAK,CAAC,MAAM;UACZ,KAAK,CAAC,MAAM;aACT,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;cAC7C,KAAK,CAAC,SAAS;aAChB,KAAK,CAAC,QAAQ;eACZ,KAAK,CAAC,WAAW;WACrB,KAAK;WACL,KAAK;;;IAGZ,KAAK,CAAC,KAAK;;cAED,KAAK,CAAC,MAAM;cACZ,KAAK,CAAC,MAAM;mBACP,KAAK,CAAC,WAAW;kBAClB,KAAK,CAAC,SAAS;iBAChB,KAAK,CAAC,QAAQ;;;;EAI7B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC/C,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,MAAmB;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG;QACf,2BAA2B;QAC3B,YAAY,KAAK,IAAI;QACrB,qBAAqB,MAAM,CAAC,MAAM,KAAK;KACxC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,eAAe,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAExD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/wiki.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { ProjectRecord } from './types.js';
2
- export interface WikiResult {
3
- projectPages: number;
4
- sharedTokens: number;
5
- wikiDir: string;
6
- }
7
- export declare function generateProjectWiki(project: ProjectRecord, allProjectIds: string[]): string;
8
- export declare function generateSharedContextWiki(projects: ProjectRecord[]): string;
9
- export declare function generateWikiIndex(projects: ProjectRecord[], sharedTokenCount: number): string;
10
- export declare function countSharedTokens(projects: ProjectRecord[]): number;