ai-dev-analytics 1.0.2 → 1.0.4

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 (50) hide show
  1. package/README.md +52 -0
  2. package/README.zh-CN.md +52 -0
  3. package/dist/cli/commands/init.d.ts.map +1 -1
  4. package/dist/cli/commands/init.js +124 -4
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/commands/reindex.d.ts +4 -0
  7. package/dist/cli/commands/reindex.d.ts.map +1 -1
  8. package/dist/cli/commands/reindex.js +48 -3
  9. package/dist/cli/commands/reindex.js.map +1 -1
  10. package/dist/cli/commands/rules.d.ts.map +1 -1
  11. package/dist/cli/commands/rules.js +12 -10
  12. package/dist/cli/commands/rules.js.map +1 -1
  13. package/dist/cli/commands/start.d.ts.map +1 -1
  14. package/dist/cli/commands/start.js +1 -5
  15. package/dist/cli/commands/start.js.map +1 -1
  16. package/dist/cli/commands/status.d.ts.map +1 -1
  17. package/dist/cli/commands/status.js +1 -5
  18. package/dist/cli/commands/status.js.map +1 -1
  19. package/dist/cli/commands/update.d.ts.map +1 -1
  20. package/dist/cli/commands/update.js +14 -0
  21. package/dist/cli/commands/update.js.map +1 -1
  22. package/dist/mcp/server.d.ts.map +1 -1
  23. package/dist/mcp/server.js +110 -64
  24. package/dist/mcp/server.js.map +1 -1
  25. package/dist/schemas/run-json.d.ts +1 -0
  26. package/dist/schemas/run-json.d.ts.map +1 -1
  27. package/dist/schemas/run-json.js.map +1 -1
  28. package/dist/utils/fs.d.ts +9 -0
  29. package/dist/utils/fs.d.ts.map +1 -1
  30. package/dist/utils/fs.js +39 -0
  31. package/dist/utils/fs.js.map +1 -1
  32. package/dist/utils/git.d.ts +10 -1
  33. package/dist/utils/git.d.ts.map +1 -1
  34. package/dist/utils/git.js +76 -8
  35. package/dist/utils/git.js.map +1 -1
  36. package/dist/utils/guide.d.ts +17 -1
  37. package/dist/utils/guide.d.ts.map +1 -1
  38. package/dist/utils/guide.js +97 -6
  39. package/dist/utils/guide.js.map +1 -1
  40. package/dist/utils/run-data.d.ts +2 -2
  41. package/dist/utils/run-data.d.ts.map +1 -1
  42. package/dist/utils/run-data.js +22 -19
  43. package/dist/utils/run-data.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/dashboard/assets/index-B8QcPcg7.css +1 -0
  46. package/src/dashboard/assets/{index-bJ8lm9pR.js → index-DcAl6lhS.js} +35 -35
  47. package/src/dashboard/demo/run.en.json +1169 -0
  48. package/src/dashboard/demo/run.zh.json +1169 -0
  49. package/src/dashboard/index.html +2 -2
  50. package/src/dashboard/assets/index-C-E7m3g4.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAc,QAAgB;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAa;IACvD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IACzD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAClB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CACvC,CAAC;QACF,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
+ export declare function isGitRepo(): boolean;
2
+ export declare function isSvnRepo(): boolean;
3
+ /**
4
+ * Get the current branch / working copy name.
5
+ * Priority: git → svn → AIDA_BRANCH env → "main"
6
+ */
1
7
  export declare function getBranchName(): string;
8
+ /**
9
+ * Get the current developer name.
10
+ * Priority: git config user.name → svn Last Changed Author → AIDA_DEV env → OS username
11
+ */
2
12
  export declare function getDevName(): string;
3
- export declare function isGitRepo(): boolean;
4
13
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAOnC"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAID,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAsBD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAiBnC"}
package/dist/utils/git.js CHANGED
@@ -1,18 +1,86 @@
1
1
  import { execSync } from 'node:child_process';
2
- export function getBranchName() {
3
- return execSync('git branch --show-current', { encoding: 'utf-8' }).trim();
4
- }
5
- export function getDevName() {
6
- const name = execSync('git config user.name', { encoding: 'utf-8' }).trim();
7
- return name.toLowerCase().replace(/\s+/g, '-');
8
- }
2
+ import { userInfo } from 'node:os';
3
+ // ─── Git ─────────────────────────────────────────────────
9
4
  export function isGitRepo() {
10
5
  try {
11
- execSync('git rev-parse --is-inside-work-tree', { encoding: 'utf-8' });
6
+ execSync('git rev-parse --is-inside-work-tree', { encoding: 'utf-8', stdio: 'pipe' });
12
7
  return true;
13
8
  }
14
9
  catch {
15
10
  return false;
16
11
  }
17
12
  }
13
+ // ─── SVN ─────────────────────────────────────────────────
14
+ export function isSvnRepo() {
15
+ try {
16
+ execSync('svn info', { encoding: 'utf-8', stdio: 'pipe' });
17
+ return true;
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
23
+ function getSvnBranchName() {
24
+ try {
25
+ const info = execSync('svn info', { encoding: 'utf-8', stdio: 'pipe' });
26
+ const urlMatch = info.match(/^URL:\s*(.+)$/m);
27
+ if (urlMatch) {
28
+ const url = urlMatch[1].trim();
29
+ // branches/feature-x → feature-x
30
+ const branchMatch = url.match(/\/branches\/([^/]+)/);
31
+ if (branchMatch)
32
+ return branchMatch[1];
33
+ // trunk → trunk
34
+ if (/\/trunk(\/|$)/.test(url))
35
+ return 'trunk';
36
+ // fall back to last path segment
37
+ return url.split('/').filter(Boolean).pop() || 'main';
38
+ }
39
+ }
40
+ catch { /* ignore */ }
41
+ return 'main';
42
+ }
43
+ // ─── VCS-agnostic ────────────────────────────────────────
44
+ /**
45
+ * Get the current branch / working copy name.
46
+ * Priority: git → svn → AIDA_BRANCH env → "main"
47
+ */
48
+ export function getBranchName() {
49
+ try {
50
+ const name = execSync('git branch --show-current', { encoding: 'utf-8', stdio: 'pipe' }).trim();
51
+ if (name)
52
+ return name;
53
+ }
54
+ catch { /* fall through */ }
55
+ try {
56
+ if (isSvnRepo())
57
+ return getSvnBranchName();
58
+ }
59
+ catch { /* fall through */ }
60
+ return process.env.AIDA_BRANCH || 'main';
61
+ }
62
+ /**
63
+ * Get the current developer name.
64
+ * Priority: git config user.name → svn Last Changed Author → AIDA_DEV env → OS username
65
+ */
66
+ export function getDevName() {
67
+ try {
68
+ const name = execSync('git config user.name', { encoding: 'utf-8', stdio: 'pipe' }).trim();
69
+ if (name)
70
+ return name.toLowerCase().replace(/\s+/g, '-');
71
+ }
72
+ catch { /* fall through */ }
73
+ try {
74
+ const info = execSync('svn info', { encoding: 'utf-8', stdio: 'pipe' });
75
+ const authorMatch = info.match(/^Last Changed Author:\s*(.+)$/m);
76
+ if (authorMatch) {
77
+ const name = authorMatch[1].trim();
78
+ if (name)
79
+ return name.toLowerCase().replace(/\s+/g, '-');
80
+ }
81
+ }
82
+ catch { /* fall through */ }
83
+ const osUser = process.env.AIDA_DEV || userInfo().username;
84
+ return osUser.toLowerCase().replace(/\s+/g, '-');
85
+ }
18
86
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,aAAa;IAC3B,OAAO,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,QAAQ,CAAC,qCAAqC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,24 @@ export declare function guidePath(projectRoot: string): string;
11
11
  */
12
12
  export declare function ensureGuide(projectRoot: string): void;
13
13
  /**
14
- * Add guide reference to AI tool instruction files.
14
+ * Always overwrite .aidevos/aida-guide.md with the latest template content.
15
+ * Called by `aida rules build` to keep the guide in sync with the package version.
16
+ */
17
+ export declare function updateGuide(projectRoot: string): void;
18
+ /**
19
+ * Add guide reference to AI tool instruction files (create-if-not-exists).
15
20
  * Called by init (with explicit tool list) or ensureRunJson (auto-detect).
16
21
  */
17
22
  export declare function syncGuideReference(projectRoot: string, tools?: string[]): void;
23
+ /**
24
+ * Update guide content in all detected AI tool instruction files with latest template.
25
+ * Called by `aida rules build` — always overwrites so content stays in sync.
26
+ */
27
+ export declare function updateGuideReferences(projectRoot: string, tools?: string[]): void;
28
+ /**
29
+ * Ensure the AIDA guide reference sits near the top of CLAUDE.md with up-to-date content.
30
+ * Moves the section if it's buried lower in the file, and updates stale content.
31
+ * Called by `aida rules build` so the AI always encounters it first.
32
+ */
33
+ export declare function ensureGuideAtTop(projectRoot: string): void;
18
34
  //# sourceMappingURL=guide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/utils/guide.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkIH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAKrD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAe9E"}
1
+ {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/utils/guide.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwIH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAKrD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAe9E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAqBjF;AAuBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAqC1D"}
@@ -15,9 +15,16 @@ const GUIDE_CONTENT = `# AIDA 数据采集与规则沉淀指南
15
15
  > 此文件引导 AI 在开发过程中采集结构化数据并沉淀项目规则。由 AIDA 自动生成,请勿删除。
16
16
  > **这是强制规范,不是可选建议。**
17
17
 
18
- ## 零、已沉淀的项目规则(开发前必读)
18
+ ## 零、强制前置动作(严禁跳过)
19
19
 
20
- **在开始任何开发任务之前**,如果存在 \`.aidevos/rules/_all.md\` 文件,必须先读取该文件了解已沉淀的项目规则,并在后续开发中严格遵守。这些规则是从历次开发偏差中提炼出来的项目级规范,遵守它们可以避免重复犯错。
20
+ **⚠️ 你正在读取本文件(aida-guide.md)。这是强制规范,严禁跳过任何步骤。**
21
+
22
+ **开始任何开发任务前,必须按顺序完成以下两步:**
23
+
24
+ 1. **读取项目规则** → 使用 Read 工具读取 \`.aidevos/rules/_all.md\`,了解已沉淀的项目规则并严格遵守(文件不存在则跳过此步)
25
+ 2. **执行数据采集流程** → 严格按照第一节规定的顺序调用 MCP 工具:\`aida_task_start\` → \`aida_log_files\` → \`aida_log_review\` → \`aida_task_done\`
26
+
27
+ 不得以任何理由跳过上述步骤。
21
28
 
22
29
  ## 一、数据采集
23
30
 
@@ -101,10 +108,9 @@ category 可选值:
101
108
  // ─── CLAUDE.md reference ────────────────────────────────
102
109
  const CLAUDE_MARKER = '.aidevos/aida-guide.md';
103
110
  const CLAUDE_REFERENCE = `
104
-
105
111
  ## AIDA
106
112
 
107
- 本项目使用 AIDA 进行开发数据采集与规则沉淀,开发过程中必须遵循 \`.aidevos/aida-guide.md\` 中的数据采集和规则沉淀规范。如果存在 \`.aidevos/rules/_all.md\`,请在开始开发前读取该文件了解已沉淀的项目规则。
113
+ **⚠️ 严禁跳过:开始任何开发任务前,必须通过 Read 工具读取 \`.aidevos/aida-guide.md\` 的完整内容,并严格按照其中的规范执行。不得以任何理由跳过。**
108
114
  `;
109
115
  // ─── Cursor rule frontmatter ────────────────────────────
110
116
  const CURSOR_FRONTMATTER = `---
@@ -135,7 +141,15 @@ export function ensureGuide(projectRoot) {
135
141
  writeText(p, GUIDE_CONTENT);
136
142
  }
137
143
  /**
138
- * Add guide reference to AI tool instruction files.
144
+ * Always overwrite .aidevos/aida-guide.md with the latest template content.
145
+ * Called by `aida rules build` to keep the guide in sync with the package version.
146
+ */
147
+ export function updateGuide(projectRoot) {
148
+ ensureDir(aidevosDir(projectRoot));
149
+ writeText(guidePath(projectRoot), GUIDE_CONTENT);
150
+ }
151
+ /**
152
+ * Add guide reference to AI tool instruction files (create-if-not-exists).
139
153
  * Called by init (with explicit tool list) or ensureRunJson (auto-detect).
140
154
  */
141
155
  export function syncGuideReference(projectRoot, tools) {
@@ -154,6 +168,32 @@ export function syncGuideReference(projectRoot, tools) {
154
168
  }
155
169
  }
156
170
  }
171
+ /**
172
+ * Update guide content in all detected AI tool instruction files with latest template.
173
+ * Called by `aida rules build` — always overwrites so content stays in sync.
174
+ */
175
+ export function updateGuideReferences(projectRoot, tools) {
176
+ const detected = tools || detectAiTools(projectRoot);
177
+ for (const tool of detected) {
178
+ switch (tool) {
179
+ case 'claude-code':
180
+ ensureGuideAtTop(projectRoot);
181
+ break;
182
+ case 'cursor': {
183
+ const rulesDir = resolve(projectRoot, '.cursor', 'rules', 'aidevos');
184
+ ensureDir(rulesDir);
185
+ writeText(resolve(rulesDir, 'aida-guide.md'), CURSOR_FRONTMATTER + GUIDE_CONTENT);
186
+ break;
187
+ }
188
+ case 'lingma': {
189
+ const rulesDir = resolve(projectRoot, '.lingma', 'rules');
190
+ ensureDir(rulesDir);
191
+ writeText(resolve(rulesDir, 'aida-guide.md'), LINGMA_FRONTMATTER + GUIDE_CONTENT);
192
+ break;
193
+ }
194
+ }
195
+ }
196
+ }
157
197
  // ─── Internal ───────────────────────────────────────────
158
198
  function detectAiTools(projectRoot) {
159
199
  const tools = [];
@@ -171,12 +211,63 @@ function addClaudeReference(projectRoot) {
171
211
  const content = readText(file);
172
212
  if (content.includes(CLAUDE_MARKER))
173
213
  return;
174
- writeText(file, content + CLAUDE_REFERENCE);
214
+ writeText(file, insertAtTop(content, CLAUDE_REFERENCE.trimStart()));
175
215
  }
176
216
  else {
177
217
  writeText(file, CLAUDE_REFERENCE.trim() + '\n');
178
218
  }
179
219
  }
220
+ /**
221
+ * Ensure the AIDA guide reference sits near the top of CLAUDE.md with up-to-date content.
222
+ * Moves the section if it's buried lower in the file, and updates stale content.
223
+ * Called by `aida rules build` so the AI always encounters it first.
224
+ */
225
+ export function ensureGuideAtTop(projectRoot) {
226
+ if (!detectAiTools(projectRoot).includes('claude-code'))
227
+ return;
228
+ const file = resolve(projectRoot, 'CLAUDE.md');
229
+ if (!fileExists(file))
230
+ return;
231
+ const content = readText(file);
232
+ const newSection = CLAUDE_REFERENCE.trimStart();
233
+ // Not present yet — insert at top
234
+ if (!content.includes(CLAUDE_MARKER)) {
235
+ writeText(file, insertAtTop(content, newSection));
236
+ return;
237
+ }
238
+ // Find the existing ## AIDA section boundaries
239
+ const aidaStart = content.indexOf('\n## AIDA\n');
240
+ if (aidaStart === -1)
241
+ return;
242
+ const afterAida = content.indexOf('\n## ', aidaStart + 5);
243
+ const aidaEnd = afterAida !== -1 ? afterAida : content.length;
244
+ // Check if already in the first 10 lines
245
+ const lines = content.split('\n');
246
+ const markerLine = lines.findIndex((l) => l.includes(CLAUDE_MARKER));
247
+ if (markerLine >= 0 && markerLine <= 10) {
248
+ // At top already — just update the content in place
249
+ const before = content.slice(0, aidaStart);
250
+ const after = content.slice(aidaEnd);
251
+ writeText(file, (before + '\n' + newSection + after).replace(/\n{3,}/g, '\n\n'));
252
+ return;
253
+ }
254
+ // Buried — remove from current position and re-insert at top with latest content
255
+ const without = (content.slice(0, aidaStart) + content.slice(aidaEnd))
256
+ .replace(/\n{3,}/g, '\n\n')
257
+ .trim();
258
+ writeText(file, insertAtTop(without, newSection) + '\n');
259
+ }
260
+ /** Insert a block right after the first heading line of a file. */
261
+ function insertAtTop(content, block) {
262
+ const trimmedBlock = block.trim();
263
+ const firstNewline = content.indexOf('\n');
264
+ if (firstNewline !== -1 && content.trimStart().startsWith('#')) {
265
+ const head = content.slice(0, firstNewline + 1);
266
+ const rest = content.slice(firstNewline + 1).replace(/^\n+/, '');
267
+ return head + '\n' + trimmedBlock + '\n\n' + rest;
268
+ }
269
+ return trimmedBlock + '\n\n' + content;
270
+ }
180
271
  function addCursorReference(projectRoot) {
181
272
  const rulesDir = resolve(projectRoot, '.cursor', 'rules', 'aidevos');
182
273
  ensureDir(rulesDir);
@@ -1 +1 @@
1
- {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/utils/guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/utils/guide.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,14 @@ import type { RunData } from '../schemas/run-json.js';
8
8
  export declare function now(): string;
9
9
  export declare function nextId(arr: any[], prefix: string): string;
10
10
  export declare function addEvent(data: RunData, type: string, eventData: Record<string, any>): void;
11
- export declare function addTimeline(data: RunData, type: string, title: string): void;
11
+ export declare function addTimeline(data: RunData, type: string, title: string, prdPhase?: string): void;
12
12
  export declare function loadConfig(projectRoot: string): Record<string, any>;
13
13
  export declare function recalcMetrics(data: RunData, projectRoot?: string): void;
14
14
  export declare function updateRequirement(data: RunData, projectRoot: string): void;
15
15
  export declare function saveRunData(path: string, data: RunData, projectRoot: string): void;
16
16
  export declare function normalizeRunData(data: RunData): RunData;
17
17
  /**
18
- * Load existing run.json for current git branch/dev.
18
+ * Load existing run.json for current branch/dev.
19
19
  * Returns null if not found.
20
20
  */
21
21
  export declare function loadRunJson(projectRoot: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"run-data.d.ts","sourceRoot":"","sources":["../../src/utils/run-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,OAAO,EAIR,MAAM,wBAAwB,CAAC;AAIhC,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE1F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5E;AAID,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMnE;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAmHvE;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAwE1E;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAKlF;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAUvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAYvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAsDT;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CA4DlF"}
1
+ {"version":3,"file":"run-data.d.ts","sourceRoot":"","sources":["../../src/utils/run-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,OAAO,EAIR,MAAM,wBAAwB,CAAC;AAIhC,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE1F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAI/F;AAID,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMnE;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CA4HvE;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAwE1E;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAKlF;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAUvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAWvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAsDT;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAwDlF"}
@@ -5,7 +5,7 @@
5
5
  * Single source of truth for data manipulation.
6
6
  */
7
7
  import { resolve } from 'node:path';
8
- import { getBranchName, getDevName, isGitRepo } from './git.js';
8
+ import { getBranchName, getDevName } from './git.js';
9
9
  import { runDir, branchDir, configPath, aidevosDir } from './paths.js';
10
10
  import { ensureDir, fileExists, readJson, writeJson, writeText } from './fs.js';
11
11
  import { ensureGuide, syncGuideReference } from './guide.js';
@@ -28,8 +28,11 @@ export function nextId(arr, prefix) {
28
28
  export function addEvent(data, type, eventData) {
29
29
  data.events.push({ type, time: now(), data: eventData });
30
30
  }
31
- export function addTimeline(data, type, title) {
32
- data.timeline.push({ type, title, timestamp: now() });
31
+ export function addTimeline(data, type, title, prdPhase) {
32
+ const item = { type, title, timestamp: now() };
33
+ if (prdPhase)
34
+ item.prdPhase = prdPhase;
35
+ data.timeline.push(item);
33
36
  }
34
37
  // ─── Config ──────────────────────────────────────────────
35
38
  export function loadConfig(projectRoot) {
@@ -83,16 +86,16 @@ export function recalcMetrics(data, projectRoot) {
83
86
  nodeTimes[stage] = (nodeTimes[stage] || 0) + sec;
84
87
  }
85
88
  }
86
- let codeGenTotal = 0;
87
- for (const t of data.tasks) {
88
- if (t.startedAt && t.completedAt) {
89
- const sec = (new Date(t.completedAt).getTime() - new Date(t.startedAt).getTime()) / 1000;
90
- if (sec > 0)
91
- codeGenTotal += sec;
92
- }
89
+ // Use span (max completedAt - min startedAt) instead of sum to avoid
90
+ // overcounting when multiple tasks are started simultaneously during task-splitting.
91
+ const timedTasks = data.tasks.filter(t => t.startedAt && t.completedAt);
92
+ if (timedTasks.length > 0) {
93
+ const minStart = Math.min(...timedTasks.map(t => new Date(t.startedAt).getTime()));
94
+ const maxEnd = Math.max(...timedTasks.map(t => new Date(t.completedAt).getTime()));
95
+ const codeGenSpan = (maxEnd - minStart) / 1000;
96
+ if (codeGenSpan > 0)
97
+ nodeTimes['Code Generation'] = codeGenSpan;
93
98
  }
94
- if (codeGenTotal > 0)
95
- nodeTimes['Code Generation'] = codeGenTotal;
96
99
  let bugFixTotal = 0;
97
100
  for (const b of data.bugs) {
98
101
  if (b.reportedAt && b.fixedAt) {
@@ -114,7 +117,12 @@ export function recalcMetrics(data, projectRoot) {
114
117
  if (devFixTotal > 0)
115
118
  nodeTimes['Deviation Fix'] = devFixTotal;
116
119
  m.nodeTimeBreakdown = nodeTimes;
117
- m.actualWorkSeconds = Math.round(Object.values(nodeTimes).reduce((a, b) => a + b, 0));
120
+ // actualWorkSeconds = only active AI coding stages (excludes requirement/analysis phases
121
+ // which contain human review wait time)
122
+ const activeStages = new Set(['Code Generation', 'Bug Fix', 'Deviation Fix', 'Self Review']);
123
+ m.actualWorkSeconds = Math.round(Object.entries(nodeTimes)
124
+ .filter(([stage]) => activeStages.has(stage))
125
+ .reduce((a, [, sec]) => a + sec, 0));
118
126
  // Efficiency multiplier
119
127
  const actualHours = (m.actualWorkSeconds || 0) / 3600;
120
128
  if (data.cost?.estimatedManualHours && actualHours > 0) {
@@ -251,14 +259,12 @@ export function normalizeRunData(data) {
251
259
  return data;
252
260
  }
253
261
  /**
254
- * Load existing run.json for current git branch/dev.
262
+ * Load existing run.json for current branch/dev.
255
263
  * Returns null if not found.
256
264
  */
257
265
  export function loadRunJson(projectRoot) {
258
266
  if (!fileExists(configPath(projectRoot)))
259
267
  return null;
260
- if (!isGitRepo())
261
- return null;
262
268
  const branch = getBranchName();
263
269
  const dev = getDevName();
264
270
  const dir = runDir(projectRoot, branch, dev);
@@ -332,9 +338,6 @@ let _guideSynced = false;
332
338
  * Creates .aidevos/, config.json, run.json, branch-level files if missing.
333
339
  */
334
340
  export function ensureRunJson(projectRoot) {
335
- if (!isGitRepo()) {
336
- throw new Error('Not a git repository. AIDevOS requires git.');
337
- }
338
341
  // Ensure .aidevos/config.json exists
339
342
  const dir = aidevosDir(projectRoot);
340
343
  if (!fileExists(resolve(dir, 'config.json'))) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-data.js","sourceRoot":"","sources":["../../src/utils/run-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-data.js","sourceRoot":"","sources":["../../src/utils/run-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAQ7D,4DAA4D;AAE5D,MAAM,UAAU,GAAG;IACjB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAU,EAAE,MAAc;IAC/C,MAAM,IAAI,GAAG,GAAG;SACb,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;QACjB,MAAM,EAAE,GAAW,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACvG,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa,EAAE,IAAY,EAAE,SAA8B;IAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,IAAY,EAAE,KAAa,EAAE,QAAiB;IACvF,MAAM,IAAI,GAA0E,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;IACtH,IAAI,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,4DAA4D;AAE5D,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAsB,OAAO,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,4DAA4D;AAE5D,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,WAAoB;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IACvB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IACvB,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IAEvC,CAAC,CAAC,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC,CAAC,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,cAAc,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,mBAAmB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9E,CAAC,CAAC,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,mBAAmB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,sBAAsB;IACtB,uEAAuE;IACvE,MAAM,cAAc,GAA2B;QAC7C,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,oBAAoB;KAC7B,CAAC;IACF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YACrF,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YACjD,IAAI,GAAG,GAAG,CAAC;gBAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QAChE,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,qFAAqF;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC/C,IAAI,WAAW,GAAG,CAAC;YAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC;IAClE,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YACtF,IAAI,GAAG,GAAG,CAAC;gBAAE,WAAW,IAAI,GAAG,CAAC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,WAAW,GAAG,CAAC;QAAE,SAAS,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;IAExD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YACtF,IAAI,GAAG,GAAG,CAAC;gBAAE,WAAW,IAAI,GAAG,CAAC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,WAAW,GAAG,CAAC;QAAE,SAAS,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC;IAE9D,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAEhC,yFAAyF;IACzF,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACtB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CACtC,CAAC;IAEF,wBAAwB;IACxB,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACtD,IAAI,IAAI,CAAC,IAAI,EAAE,oBAAoB,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC9F,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,oBAAoB,IAAI,CAAC,CAAC;IAClE,MAAM,MAAM,GAAI,IAAI,CAAC,IAAY,EAAE,WAAW,CAAC;IAE/C,0FAA0F;IAC1F,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClH,+FAA+F;QAC/F,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC;QAC/D,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;QAC7E,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;QACvE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACnG,CAAC;SAAM,IAAI,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACrD,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACzF,CAAC;IAED,oEAAoE;IACpE,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,UAAU,GAAG,oBAAoB,CAAC;IACtC,CAAC;IAED,gDAAgD;IAChD,IAAI,oBAAoB,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,oBAAoB,GAAG,UAAU,CAAC;QACrD,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3E,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACnE,CAAC;AACH,CAAC;AAED,4DAA4D;AAE5D,MAAM,UAAU,iBAAiB,CAAC,IAAa,EAAE,WAAmB;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5C,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,GAAoB,CAAC;QACzB,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,QAAQ,CAAkB,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,GAAG,GAAG;gBACJ,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE;gBAC1F,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;gBAC/G,SAAS,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,EAAS,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,EAAS,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAqB;YACnC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;YACjF,KAAK,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YACxB,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC;YACrC,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC;YACjC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;YAC7B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;YACjC,aAAa,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1F,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,CAAC;YAC3C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC;SACzC,CAAC;QAEF,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC;YAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;;YAC1C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,GAAG,CAAC,MAAM,GAAG;YACX,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACtD,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;YACxE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YACpE,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;SACnE,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QACtB,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,2DAA2D;AAE3D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAa,EAAE,WAAmB;IAC1E,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,4DAA4D;AAE5D,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;QAC/H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,IAAY,CAAC,GAAG,CAAC,CAAC;YAAG,IAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,EAAS,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAU,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,GAAW,EACX,MAA2B;IAE3B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;IACjB,OAAO;QACL,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,SAAS,EAAE,GAAG;YACd,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,EAAE;SACd;QACD,OAAO,EAAE;YACP,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC;YACX,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB;QACD,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP,eAAe,EAAE,SAAS;YAC1B,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,EAAE;SAChB;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,CAAC;YACd,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,EAAE;SACnB;QACD,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAED,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,qCAAqC;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC7C,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACjC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAChC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE;YACrC,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,6FAA6F;IAC7F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,WAAW,CAAC,WAAW,CAAC,CAAC;QACzB,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAChC,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEhD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAU,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,cAAc;IACd,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5C,SAAS,CAAC,IAAI,CAAC,CAAC;IAChB,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1D,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhC,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,SAAS,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACjB,SAAS,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE;YAC1F,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC/G,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-dev-analytics",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "AI Development Analytics Platform - Track what AI actually does in your codebase",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-900:oklch(41.4% .112 45.904);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-900:oklch(38.1% .176 304.987);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-80{height:calc(var(--spacing) * 80)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[420px\]{max-height:420px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-\[90vw\]{width:90vw}.w-full{width:100%}.max-w-\[800px\]{max-width:800px}.min-w-\[80px\]{min-width:80px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[130px\]{min-width:130px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[250px\]{min-width:250px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[\#1e2d3d\]{border-color:#1e2d3d}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.bg-\[\#0f1923\]{background-color:#0f1923}.bg-\[\#1e2d3d\]{background-color:#1e2d3d}.bg-\[\#1e3a5f\]{background-color:#1e3a5f}.bg-\[\#4a5a6a\]{background-color:#4a5a6a}.bg-\[\#162231\]{background-color:#162231}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-900\/30{background-color:#7b33064d}@supports (color:color-mix(in lab,red,red)){.bg-amber-900\/30{background-color:color-mix(in oklab,var(--color-amber-900) 30%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900) 30%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-900\/30{background-color:#0d542b4d}@supports (color:color-mix(in lab,red,red)){.bg-green-900\/30{background-color:color-mix(in oklab,var(--color-green-900) 30%,transparent)}}.bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab,red,red)){.bg-purple-900\/30{background-color:color-mix(in oklab,var(--color-purple-900) 30%,transparent)}}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-\[18px\]{padding-block:18px}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[22px\]{font-size:22px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-\[\#3d4f5f\]{color:#3d4f5f}.text-\[\#6b7b8d\]{color:#6b7b8d}.text-\[\#60a5fa\]{color:#60a5fa}.text-\[\#94a3b8\]{color:#94a3b8}.text-\[\#e0e6ed\]{color:#e0e6ed}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-red-500{color:var(--color-red-500)}.text-teal-500{color:var(--color-teal-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-60{opacity:.6}.shadow-\[0_0_8px_\#22c55e\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#22c55e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-3:before{content:var(--tw-content);top:calc(var(--spacing) * 3)}.before\:left-\[-6px\]:before{content:var(--tw-content);left:-6px}.before\:h-2\.5:before{content:var(--tw-content);height:calc(var(--spacing) * 2.5)}.before\:w-2\.5:before{content:var(--tw-content);width:calc(var(--spacing) * 2.5)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-green-500:before{content:var(--tw-content);background-color:var(--color-green-500)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-\[\#2a4a6b\]:hover{border-color:#2a4a6b}.hover\:bg-\[\#1a2e40\]:hover{background-color:#1a2e40}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}@media not all and (min-width:64rem){.max-lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width:48rem){.max-md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media not all and (min-width:40rem){.max-sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:bg-\[\#162231\] code{background-color:#162231}.\[\&_code\]\:px-2 code{padding-inline:calc(var(--spacing) * 2)}.\[\&_code\]\:py-0\.5 code{padding-block:calc(var(--spacing) * .5)}.\[\&_code\]\:text-\[13px\] code{font-size:13px}}body{color:#e0e6ed;background:#0f1923;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}